两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種跨兩個中間件的系統(tǒng)及其編譯方法

文檔序號:6381866閱讀:585來源:國知局
專利名稱:一種跨兩個中間件的系統(tǒng)及其編譯方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種跨兩個中間件的系統(tǒng)及其編譯方法,為軟件系統(tǒng)各服務(wù)提供統(tǒng)一接口調(diào)用格式,屬于軟件服務(wù)領(lǐng)域。
背景技術(shù)
最初我們的后臺服務(wù)都是運行在TUXEDO上,隨著廣電業(yè)務(wù)的發(fā)展,移植到T0NGEASY上,同時兼容TUXED0,于是服務(wù)內(nèi)出現(xiàn)了很多為了兼容不得不寫的代碼,給開發(fā)工作帶來一定的負擔(dān),我們需要一種方法來屏蔽中間件平臺差異。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)的不足,提供一種可屏蔽平臺差異的跨兩個中間件的系統(tǒng)編譯方法。本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下一種跨兩個中間件的系統(tǒng)編譯方法,具體步驟如下步驟1:封裝模塊將文件中存在中間件差異的中間件代碼,封裝在頭文件中;步驟2 :替換模塊調(diào)用封裝模塊發(fā)送至的封裝后的中間件代碼,將存在差異的中間件代碼替換為宏定義變量;步驟3 :編譯模塊開始預(yù)編譯,解析從替換模塊發(fā)送至的宏定義變量,轉(zhuǎn)換成可編譯的中間件代碼,完成跨兩個中間件的系統(tǒng)的編譯。本發(fā)明的有益效果是本發(fā)明所述的方法采用宏定義的方式,將服務(wù)長/短數(shù)據(jù)庫連接、服務(wù)聲明、參數(shù)輸入、輸出等采用宏定義的方式包裝,這樣開發(fā)人員則不必關(guān)心中間件平臺差異,只編寫和關(guān)注具體的程序邏輯實現(xiàn)代碼即可;屏蔽平臺差異,不僅減少了開發(fā)人員的工作量,也使程序變得更加穩(wěn)定,給系統(tǒng)提供了一個穩(wěn)定保障。在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進。進一步,所述步驟I中封裝模塊用于定義文件中的頭文件,在頭文件中使用預(yù)編譯宏定義的方式,將存在中間件差異的中間件代碼,封裝在頭文件中。進一步,所述步驟3中預(yù)編譯中間件的過程根據(jù)中間件的不同,進行預(yù)編譯不同的中間件下的代碼。進一步,不同中間件之間差異的代碼,主要體現(xiàn)在數(shù)據(jù)庫連接方式、服務(wù)的聲明方式、服務(wù)輸入?yún)?shù)獲取方式、服務(wù)輸出參數(shù)打包方式。本發(fā)明所要解決的另一個技術(shù)問題是,針對現(xiàn)有技術(shù)的不足,提供一種可屏蔽平臺差異的跨兩個中間件的系統(tǒng)。本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下一種跨兩個中間件的系統(tǒng),包括封裝模塊、替換模塊和編譯模塊;所述封裝模塊用于將文件中存在中間件差異的中間件代碼,封裝在頭文件中;所述替換模塊調(diào)用封裝模塊發(fā)送至的封裝后的中間件代碼,將存在差異的中間件代碼替換為宏定義變量,并將替換后的服務(wù)程序文件發(fā)送至編譯模塊;所述編譯模塊接收從替換模塊發(fā)送至的服務(wù)程序文件,并解析從替換模塊發(fā)送至的宏定義變量,轉(zhuǎn)換成可編譯的中間件代碼,完成跨兩個中間件的系統(tǒng)的編譯。本發(fā)明的有益效果是本發(fā)明所述的系統(tǒng)采用宏定義的方式,將服務(wù)長/短數(shù)據(jù)庫連接、服務(wù)聲明、參數(shù)輸入、輸出等采用宏定義的方式包裝,這樣開發(fā)人員則不必關(guān)心中間件平臺差異,只編寫和關(guān)注具體的程序邏輯實現(xiàn)代碼即可;屏蔽平臺差異,不僅減少了開發(fā)人員的工作量,也使程序變得更加穩(wěn)定,給系統(tǒng)提供了一個穩(wěn)定保障。在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進。進一步,所述封裝模塊用于定義文件中的頭文件,在頭文件中使用預(yù)編譯宏定義的方式,將存在中間件差異的中間件代碼,封裝在頭文件中。 進一步,所述編譯模塊根據(jù)中間件的不同,進行預(yù)編譯不同的中間件下的代碼。進一步,不同中間件之間差異的代碼,主要體現(xiàn)在數(shù)據(jù)庫連接方式、服務(wù)的聲明方式、服務(wù)輸入?yún)?shù)獲取方式、服務(wù)輸出參數(shù)打包方式。


圖1為本發(fā)明具體實施例1所述一種跨兩個中間件的系統(tǒng)編譯方法流程圖;圖2為本發(fā)明具體實施例2所述一種跨兩個中間件的系統(tǒng)編譯方法編譯圖;圖3為本發(fā)明具體實施例3所述的一種跨兩個中間件的系統(tǒng)的結(jié)構(gòu)圖。附圖中,各標(biāo)號所代表的部件列表如下1、封裝模塊,2、替換模塊,3、編譯模塊。
具體實施例方式以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。如圖1所示,本發(fā)明具體實施例1所述方法一種跨兩個中間件的系統(tǒng)編譯方法,具體步驟如下步驟1:封裝模塊將文件中存在中間件差異的中間件代碼,封裝在頭文件中;步驟2 :替換模塊調(diào)用封裝模塊發(fā)送至的封裝后的中間件代碼,將存在差異的中間件代碼替換為宏定義變量;步驟3 :編譯模塊開始預(yù)編譯,解析從替換模塊發(fā)送至的宏定義變量,轉(zhuǎn)換成可編譯的中間件代碼,完成跨兩個中間件的系統(tǒng)的編譯。所述步驟I中封裝模塊用于定義文件中的頭文件,在頭文件中使用預(yù)編譯宏定義的方式,將存在中間件差異的中間件代碼,封裝在頭文件中。所述步驟3中預(yù)編譯中間件的過程根據(jù)中間件的不同,進行預(yù)編譯不同的中間件下的代碼。不同中間件之間差異的代碼,主要體現(xiàn)在數(shù)據(jù)庫連接方式、服務(wù)的聲明方式、月艮務(wù)輸入?yún)?shù)獲取方式、服務(wù)輸出參數(shù)打包方式。如圖2所示,本方法具體實施例2實現(xiàn)了不同中間件下服務(wù)程序的兼容,目前在TUXED0/T0NGEASY兩種中間件服務(wù)程序中得到實施驗證。實施方式
1、定義公共的頭文件pub_server. h,在頭文件使用預(yù)編譯宏定義的方式,將不同中間件差異的代碼,封裝成統(tǒng)一的宏定義變量DBL0NGC0NNECT :數(shù)據(jù)庫連接方式DECLARE_SERVICE :服務(wù)的聲明BEGIN_SERVICE :服務(wù)輸入?yún)?shù)獲取方式ADD_VALUE32 :服務(wù)輸出參數(shù)打包方式2、編寫某一服務(wù) R1052. cpa)在服務(wù)中,定義數(shù)據(jù)庫連接方式的代碼,使用宏定義DBL0NGC0NNECT。b)服務(wù)的聲明使用宏定義DECLARE_SERVICE:DECLARE_SERVICE(sl052Cfm)c )服務(wù)輸入?yún)?shù)獲取,使用BEGIN_SERVICE();d )服務(wù)輸出參數(shù)打包,使用ADD_VALUE32 (O, sEffDate);ADD_VALUE32(I, sExpDate);3、編譯服務(wù)R1052.Cp,則會根據(jù)中間件的不同,把程序中使用的預(yù)編譯宏定義變量轉(zhuǎn)換成各自中間件下的代碼,完成程序的兼容。如圖3所示,為本發(fā)明具體實施例3所述的一種跨兩個中間件的系統(tǒng),包括封裝模塊1、替換模塊2和編譯模塊3 ;所述封裝模塊I用于將文件中存在中間件差異的中間件代碼,封裝在頭文件中;所述替換模塊2調(diào)用封裝模塊I發(fā)送至的封裝后的中間件代碼,將存在差異的中間件代碼替換為宏定義變量,并將替換后的服務(wù)程序文件發(fā)送至編譯模塊3 ;所述編譯模塊3接收從替換模塊2發(fā)送至的服務(wù)程序文件,并解析從替換模塊發(fā)送至的宏定義變量,轉(zhuǎn)換成可編譯的中間件代碼,完成跨兩個中間件的系統(tǒng)的編譯。所述封裝模塊I用于定義文件中的頭文件,在頭文件中使用預(yù)編譯宏定義的方式,將存在中間件差異的中間件代碼,封裝在頭文件中。所述編譯模塊3根據(jù)中間件的不同,進行預(yù)編譯不同的中間件下的代碼。不同中間件之間差異的代碼,主要體現(xiàn)在數(shù)據(jù)庫連接方式、服務(wù)的聲明方式、月艮務(wù)輸入?yún)?shù)獲取方式、服務(wù)輸出參數(shù)打包方式。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種跨兩個中間件的系統(tǒng)編譯方法,其特征在于,具體步驟如下步驟1:封裝模塊將文件中存在中間件差異的中間件代碼,封裝在頭文件中;步驟2 :替換模塊調(diào)用封裝模塊發(fā)送至的封裝后的中間件代碼,將存在差異的中間件代碼替換為宏定義變量;步驟3 :編譯模塊開始預(yù)編譯,解析從替換模塊發(fā)送至的宏定義變量,轉(zhuǎn)換成可編譯的中間件代碼,完成跨兩個中間件的系統(tǒng)的編譯。
2.根據(jù)權(quán)利要求1所述一種跨兩個中間件的系統(tǒng)編譯方法,其特征在于,所述步驟I中封裝模塊用于定義文件中的頭文件,在頭文件中使用預(yù)編譯宏定義的方式,將存在中間件差異的中間件代碼,封裝在頭文件中。
3.根據(jù)權(quán)利要求2所述一種跨兩個中間件的系統(tǒng)編譯方法,其特征在于,所述步驟3中編譯模塊預(yù)編譯中間件的過程根據(jù)中間件的不同,進行預(yù)編譯不同的中間件下的代碼。
4.根據(jù)權(quán)利要求1-3任一項所述一種跨兩個中間件的系統(tǒng)編譯方法,其特征在于,不同中間件之間差異的代碼,體現(xiàn)在數(shù)據(jù)庫連接方式、服務(wù)的聲明方式、服務(wù)輸入?yún)?shù)獲取方式、服務(wù)輸出參數(shù)打包方式。
5.一種跨兩個中間件的系統(tǒng),其特征在于,包括封裝模塊、替換模塊和編譯模塊;所述封裝模塊用于將文件中存在中間件差異的中間件代碼,封裝在頭文件中;所述替換模塊調(diào)用封裝模塊發(fā)送至的封裝后的中間件代碼,將存在差異的中間件代碼替換為宏定義變量,并將替換后的服務(wù)程序文件發(fā)送至編譯模塊;所述編譯模塊接收從替換模塊發(fā)送至的服務(wù)程序文件,并解析從替換模塊發(fā)送至的宏定義變量,轉(zhuǎn)換成可編譯的中間件代碼,完成跨兩個中間件的系統(tǒng)的編譯。
6.根據(jù)權(quán)利要求5所述一種跨兩個中間件的系統(tǒng),其特征在于,所述封裝模塊用于定義文件中的頭文件,在頭文件中使用預(yù)編譯宏定義的方式,將存在中間件差異的中間件代碼,封裝在頭文件中。
7.根據(jù)權(quán)利要求6所述一種跨兩個中間件的系統(tǒng),其特征在于,所述編譯模塊根據(jù)中間件的不同,進行預(yù)編譯不同的中間件下的代碼。
8.根據(jù)權(quán)利要求5-7任一項所述一種跨兩個中間件的系統(tǒng),其特征在于,不同中間件之間差異的代碼,體現(xiàn)在數(shù)據(jù)庫連接方式、服務(wù)的聲明方式、服務(wù)輸入?yún)?shù)獲取方式、服務(wù)輸出參數(shù)打包方式。
全文摘要
本發(fā)明涉及一種跨兩個中間件的系統(tǒng)及其編譯方法,其編譯方法,具體步驟如下步驟1封裝模塊將文件中存在中間件差異的中間件代碼,封裝在頭文件中;步驟2替換模塊調(diào)用封裝模塊發(fā)送至的封裝后的中間件代碼,將存在差異的中間件代碼替換為宏定義變量;步驟3編譯模塊開始預(yù)編譯,解析從替換模塊發(fā)送至的宏定義變量,轉(zhuǎn)換成可編譯的中間件代碼,完成跨兩個中間件的系統(tǒng)的編譯。本發(fā)明所述的方法采用宏定義的方式,將服務(wù)長/短數(shù)據(jù)庫連接、服務(wù)聲明、參數(shù)輸入、輸出等采用宏定義的方式包裝,這樣開發(fā)人員則不必關(guān)心中間件平臺差異;屏蔽平臺差異,不僅減少了開發(fā)人員的工作量,也使程序變得更加穩(wěn)定,給系統(tǒng)提供了一個穩(wěn)定保障。
文檔編號G06F9/44GK103019686SQ20121047366
公開日2013年4月3日 申請日期2012年11月20日 優(yōu)先權(quán)日2012年11月20日
發(fā)明者尹永興, 鹿林安, 檀敬庭 申請人:北京思特奇信息技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新兴县| 江源县| 高平市| 汕头市| 太白县| 凤山县| 浮梁县| 乐安县| 通榆县| 鸡泽县| 新平| 邵武市| 宜都市| 湘西| 达孜县| 泰来县| 汶川县| 赤峰市| 临颍县| 昌图县| 当雄县| 富川| 枞阳县| 渭南市| 高邑县| 抚远县| 定日县| 咸宁市| 定西市| 庆安县| 扎赉特旗| 大埔区| 阜康市| 新竹县| 大余县| 潢川县| 惠水县| 万荣县| 大埔县| 中阳县| 崇阳县|