一種分布式試驗運行中間件異構(gòu)網(wǎng)關(guān)的自動生成方法
【專利摘要】一種分布式試驗運行中間件異構(gòu)網(wǎng)關(guān)的自動生成方法,步驟為:(1)開發(fā)異構(gòu)網(wǎng)關(guān)代碼模板;(2)定義網(wǎng)關(guān)交互數(shù)據(jù)描述文件格式;(3)用戶選擇異構(gòu)分布式試驗運行中間件的模型描述文件,然后選擇公布給異構(gòu)中間件的試驗成員及其屬性和消息,或從異構(gòu)中間件訂購的試驗成員及其屬性和消息,按照步驟(2)中所述網(wǎng)關(guān)交互數(shù)據(jù)描述文件的格式定義,生成網(wǎng)關(guān)交互數(shù)據(jù)描述文件;(4)解析網(wǎng)關(guān)交互數(shù)據(jù)描述文件獲得交互數(shù)據(jù),利用模板填充技術(shù)生成網(wǎng)關(guān)代碼;(5)調(diào)用代碼編譯器編譯步驟(4)中所述異構(gòu)網(wǎng)關(guān)代碼,生成異構(gòu)網(wǎng)關(guān)可執(zhí)行文件。本發(fā)明方法提高了大系統(tǒng)跨平臺應(yīng)用的構(gòu)建效率,促進了異構(gòu)中間件上對象模型資源的重用。
【專利說明】一種分布式試驗運行中間件異構(gòu)網(wǎng)關(guān)的自動生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于虛擬試驗【技術(shù)領(lǐng)域】,涉及一種分布式試驗運行中間件的網(wǎng)關(guān)生成方法。
【背景技術(shù)】
[0002]由于虛擬試驗具有多模型、多節(jié)點、廣分布等特點,在各試驗節(jié)點間多采用分布式架構(gòu)。
[0003]常用的分布式試驗運行中間件有TENA(Test Enabling Architecture)>HLA(HighLevel Architecture)>DIS(Distributed Interactive Simulation)^VITA(Virtual Testand evaluation Enabling Architecture)等,各中間件的技術(shù)實現(xiàn)途徑和通信規(guī)則各不相同,為在異構(gòu)中間件上實現(xiàn)大系統(tǒng)跨平臺的應(yīng)用構(gòu)建帶來了很大的困難。對于該問題,傳統(tǒng)解決方法是針對某一特定應(yīng)用,搭建分布式試驗運行中間件網(wǎng)關(guān)。然而,該網(wǎng)關(guān)與應(yīng)用的關(guān)聯(lián)性強,不具備靈活性和廣泛適應(yīng)性;且需要手工編寫網(wǎng)關(guān)代碼,對應(yīng)用人員的編程能力要求較高,耗費大量的時間和物力。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的技術(shù)解決問題是:克服現(xiàn)有技術(shù)的不足,提供了一種分布式試驗運行中間件異構(gòu)網(wǎng)關(guān)的自動生成方法,提高大系統(tǒng)跨平臺應(yīng)用的構(gòu)建效率,促進異構(gòu)中間件上對象模型資源的重用。
[0005]本發(fā)明的技術(shù)解決方案是:一種分布式試驗運行中間件異構(gòu)網(wǎng)關(guān)的自動生成方法,步驟如下:
[0006](I)構(gòu)建異構(gòu)網(wǎng)關(guān)代碼模板;所述的異構(gòu)網(wǎng)關(guān)代碼模板為帶有標(biāo)簽的代碼文件,標(biāo)簽被用戶配置的交互數(shù)據(jù)替換后形成網(wǎng)關(guān)代碼,異構(gòu)網(wǎng)關(guān)代碼模板包括三種,分別是分布式試驗運行中間件代理節(jié)點代碼模板、控制模塊代碼模板、時間同步模塊代碼模板,三種模板的代碼功能分別與異構(gòu)網(wǎng)關(guān)中的代理節(jié)點、控制模塊、時間同步模塊功能相對應(yīng)一致;
[0007](2)定義網(wǎng)關(guān)交互數(shù)據(jù)描述文件格式;所述的網(wǎng)關(guān)交互數(shù)據(jù)描述文件格式包括四個描述區(qū),分別是運行環(huán)境描述區(qū)、公布描述區(qū)、訂購描述區(qū)以及映射關(guān)系描述區(qū);其中運行環(huán)境描述區(qū)描述運行分布式試驗運行系統(tǒng)所需的系統(tǒng)運行參數(shù);公布描述區(qū)描述公布給異構(gòu)的分布式試驗運行系統(tǒng)的試驗運行節(jié)點的屬性與消息;訂購描述區(qū)描述從異構(gòu)的分布式試驗運行系統(tǒng)中訂購的試驗運行節(jié)點的屬性與消息;映射關(guān)系描述區(qū)描構(gòu)異構(gòu)的分布式試驗運行系統(tǒng)之間公布訂購的試驗運行節(jié)點、屬性名、消息名的一一對應(yīng)關(guān)系;
[0008](3)選擇異構(gòu)分布式試驗運行系統(tǒng)的模型描述文件,然后選擇公布給異構(gòu)中間件的試驗運行節(jié)點及其屬性和消息,或從異構(gòu)中間件訂購的試驗成員及其屬性和消息,并按照步驟(2)中所述網(wǎng)關(guān)交 互數(shù)據(jù)描述文件的定義格式,生成實際的網(wǎng)關(guān)交互數(shù)據(jù)描述文件;所述的分布式試驗運行系統(tǒng)的模型描述文件,表示描述一個分布式試驗運行系統(tǒng)中,各個試驗運行節(jié)點所具備的狀態(tài)和消息公布能力;[0009](4)解析網(wǎng)關(guān)交互數(shù)據(jù)描述文件獲得交互數(shù)據(jù),利用該交互數(shù)據(jù)替換異構(gòu)網(wǎng)關(guān)代碼模板中的相應(yīng)標(biāo)簽,生成完整的網(wǎng)關(guān)代碼;
[0010](5)調(diào)用代碼編譯器編譯步驟(4)中生成的完整的網(wǎng)關(guān)代碼,由此得到異構(gòu)網(wǎng)關(guān)可執(zhí)行文件。
[0011]本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于:
[0012](I)本發(fā)明給出的分布式試驗運行中間件網(wǎng)關(guān)自動生成方法,自動生成聯(lián)通異構(gòu)分布式試驗運行中間件的網(wǎng)關(guān)可執(zhí)行文件,實現(xiàn)了大系統(tǒng)跨平臺的應(yīng)用快速構(gòu)建,促進了異構(gòu)系統(tǒng)模型的重用;
[0013](2)本發(fā)明給出的分布式試驗運行中間件網(wǎng)關(guān)自動生成方法,根據(jù)用戶的簡單配置,即可自動生成網(wǎng)關(guān)可執(zhí)行程序,靈活性好,突破了傳統(tǒng)網(wǎng)關(guān)針對某一特定應(yīng)用開發(fā)的局限性,具有廣泛適用性;
[0014](3)本發(fā)明給出的分布式試驗運行中間件網(wǎng)關(guān)自動生成方法,自動生成網(wǎng)關(guān)程序,提高了開發(fā)效率,節(jié)省了應(yīng)用開發(fā)的人力和時間,降低了應(yīng)用人員的技術(shù)門檻。
【專利附圖】
【附圖說明】
[0015]圖1為分布式試驗運行系統(tǒng)信息交互示意圖;
[0016]圖2為本發(fā)明方法的流程框圖。
【具體實施方式】
[0017]如圖1所示,為兩個分布式試驗運行系統(tǒng)通過異構(gòu)網(wǎng)關(guān)進行信息交互的原理圖。
[0018]其中分布式試驗運行中間件是一種在試驗運行期間為試驗對象、試驗資源提供實時通信的平臺,用以實現(xiàn)分布式運行模型或系統(tǒng)間的互聯(lián)、互通、互操作問題。典型的分布式試驗運行中間件有HLA的RTI (Runtime Infrastructure)、TENA的中間件及VITA的中間件等。
[0019]試驗運行節(jié)點是指運行在分布式試驗運行中間件上,表示一個完整邏輯的具有公布和訂購數(shù)據(jù)功能的應(yīng)用單元。比如在HLA應(yīng)用系統(tǒng)中,稱為一個聯(lián)邦成員;在TENA應(yīng)用系統(tǒng)中,稱為一個邏輯靶場對象模型;在VITA應(yīng)用系統(tǒng)中,稱為一個VITA應(yīng)用節(jié)點。
[0020]異構(gòu)網(wǎng)關(guān)主要由控制模塊、代理節(jié)點和時間同步模塊構(gòu)成,其中代理節(jié)點一方面訂購異構(gòu)分布式試驗運行中間件上試驗成員的屬性和消息,并將試驗成員的屬性和消息公布到自身分布式試驗運行中間件上;另一方面訂購自身分布式試驗運行中間件上試驗成員的屬性和消息,并將試驗成員的屬性和消息公布到異構(gòu)分布式試驗運行中間件上。
[0021]以HLA與VITA異構(gòu)網(wǎng)關(guān)為例,VITA代理節(jié)點運行在VITA中間件上,作為HLA聯(lián)邦成員的代理節(jié)點,對HLA運行網(wǎng)絡(luò)中的數(shù)據(jù)進行轉(zhuǎn)發(fā)。其主要包含的功能為:獲取HLA應(yīng)用系統(tǒng)需要的、VITA應(yīng)用系統(tǒng)產(chǎn)生的(公布的)相關(guān)信息,轉(zhuǎn)發(fā)給HLA代理模塊,并通過HLA代理模塊將信息發(fā)送給需要的(訂購的)聯(lián)邦成員。
[0022]VITA代理模塊以循環(huán)隊列的組織形式調(diào)用每個VITA對象管理類的CheckUpdate函數(shù)檢查數(shù)據(jù)更新,若有更新則根據(jù)其VITA實例名取得RTI實例的指針,而后調(diào)用其SetXXX函數(shù)更新屬性值,最后調(diào)用其Update函數(shù),將數(shù)據(jù)公布到RTI,完成數(shù)據(jù)轉(zhuǎn)發(fā)。
[0023]同理,HLA代理節(jié)點運行在HLA RTI上,作為VITA運行節(jié)點的代理節(jié)點,對VITA運行網(wǎng)絡(luò)中的數(shù)據(jù)進行轉(zhuǎn)發(fā)。其主要包含的功能為:獲取VITA應(yīng)用系統(tǒng)需要的、HLA應(yīng)用系統(tǒng)產(chǎn)生的相關(guān)信息,轉(zhuǎn)發(fā)給VITA代理模塊,并通過VITA代理模塊將信息發(fā)送給訂購的VITA運行節(jié)點。
[0024]RTI代理模塊收到對象屬性更新或交互后,根據(jù)對象類或交互類的句柄,調(diào)用相應(yīng)的RTI管理類的DoUpdate函數(shù)。而DoUpdate函數(shù)則首先通過對象實例句柄或交互類句柄得到對應(yīng)的VITA對象實例名,而后調(diào)用相應(yīng)的VITA管理類的GetlnstanceByName用實例名獲取管理類實例指針,再調(diào)用管理類實例的SetXXX函數(shù)更新屬性值,最后調(diào)用其Update函數(shù),將數(shù)據(jù)公布到VITA中間件,完成數(shù)據(jù)轉(zhuǎn)發(fā)。
[0025]控制模塊根據(jù)所需交互的網(wǎng)關(guān)交互數(shù)據(jù)信息創(chuàng)建并初始化代理節(jié)點,并響應(yīng)用戶輸入的命令,完成開始、暫停、停止等功能。
[0026]時間同步模塊通過轉(zhuǎn)印異構(gòu)分布式試驗運行中間件上代理節(jié)點收到數(shù)據(jù)的時間戳,從而保證異構(gòu)分布式試驗運行中間件之間的數(shù)據(jù)轉(zhuǎn)發(fā)保持時間同步推進。
[0027]如圖2所示,為本發(fā)明方法的流程框圖,主要步驟如下:
[0028](I)構(gòu)建異構(gòu)網(wǎng)關(guān)代碼模板;這里的異構(gòu)網(wǎng)關(guān)代碼模板是帶有標(biāo)簽的代碼文件,(網(wǎng)關(guān)的通用功能代碼由固定格式的代碼實現(xiàn),比如控制模塊中的創(chuàng)建代理模塊功能及接收退出命令釋放內(nèi)存結(jié)束網(wǎng)關(guān)進程等;網(wǎng)關(guān)需要配置的功能代碼由標(biāo)簽表示,在用戶進行簡單配置后,由網(wǎng)關(guān)交互數(shù)據(jù)替代,比如代理模塊的公布訂購等。)在用戶選擇和配置完異構(gòu)網(wǎng)關(guān)交互數(shù)據(jù)后,由交互數(shù)據(jù)替換模板中的標(biāo)簽,生成最終的網(wǎng)關(guān)代碼。
[0029]異構(gòu)網(wǎng)關(guān)代碼模板包括三種,分別是分布式試驗運行中間件代理節(jié)點代碼模板、控制模塊代碼模板、時間同步模塊代碼模板,三個模板的代碼功能分別與異構(gòu)網(wǎng)管中的三個組成部分,即代理節(jié)點、控制模塊、時間同步模塊功能相對應(yīng)一致。
[0030](2)定義網(wǎng)關(guān)交互數(shù)據(jù)描述文件格式;
[0031]網(wǎng)關(guān)交互數(shù)據(jù)采用網(wǎng)關(guān)交互數(shù)據(jù)描述文件來描述,文件包括四個描述區(qū):運行環(huán)境描述區(qū)、公布描述區(qū)、訂購描述區(qū)以及映射關(guān)系描述區(qū)。
[0032]運行環(huán)境描述區(qū)描述分布式試驗運行系統(tǒng)的試驗域名、服務(wù)器IP地址和端口等運行分布式試驗運行系統(tǒng)所需的系統(tǒng)運行參數(shù);公布描述區(qū)描述異構(gòu)的分布式試驗運行系統(tǒng)中公布的試驗運行節(jié)點的屬性與消息,主要包括公布的試驗運行節(jié)點的名稱、屬性名、消息名、是否同步等;訂購描述區(qū)描述異構(gòu)的分布式試驗運行系統(tǒng)中訂購的試驗運行節(jié)點的屬性與消息,主要包括訂購的試驗運行節(jié)點的名稱、屬性名、消息名、是否同步等;映射關(guān)系描述區(qū)描構(gòu)異構(gòu)的分布式試驗運行系統(tǒng)之間公布訂購的試驗運行節(jié)點、屬性名、消息名的一一對應(yīng)關(guān)系,主要包括異構(gòu)的分布式試驗運行系統(tǒng)之間公布訂閱的試驗運行節(jié)點名公布訂購對應(yīng)關(guān)系、屬性的公布訂購對應(yīng)關(guān)系、消息的公布訂購對應(yīng)關(guān)系。
[0033](3)選擇異構(gòu)分布式試驗運行系統(tǒng)的模型描述文件,然后選擇公布給異構(gòu)中間件的試驗運行節(jié)點及其屬性和消息,或從異構(gòu)中間件訂購的試驗成員及其屬性和消息,按照步驟(2)中所述網(wǎng)關(guān)交互數(shù)據(jù)描述文件的格式定義,生成實際的網(wǎng)關(guān)交互數(shù)據(jù)描述文件;
[0034]分布式試驗運行系統(tǒng)的模型描述文件,表示描述一個分布式試驗運行系統(tǒng)中,各個試驗運行節(jié)點所具備的狀態(tài)和消息公布能力,比如在HLA應(yīng)用系統(tǒng)中,稱為聯(lián)邦成員對象描述文件(FED);在TENA應(yīng)用中,稱為TENA對象模型定義語言;在VITA應(yīng)用中,稱為VITA對象模型定義語言。[0035](4)解析網(wǎng)關(guān)交互數(shù)據(jù)描述文件獲得交互數(shù)據(jù),利用該交互數(shù)據(jù)替換異構(gòu)網(wǎng)關(guān)代碼模板中的相應(yīng)標(biāo)簽,生成完整的網(wǎng)關(guān)代碼;
[0036](5)調(diào)用代碼編譯器編譯步驟(4)中生成的完整的網(wǎng)關(guān)代碼,由此得到異構(gòu)網(wǎng)關(guān)可執(zhí)行文件。
[0037]本發(fā)明說明書中未作詳細描述的內(nèi)容屬本領(lǐng)域技術(shù)人員的公知技術(shù)。
【權(quán)利要求】
1.一種分布式試驗運行中間件異構(gòu)網(wǎng)關(guān)的自動生成方法,其特征在于步驟如下: (1)構(gòu)建異構(gòu)網(wǎng)關(guān)代碼模板;所述的異構(gòu)網(wǎng)關(guān)代碼模板為帶有標(biāo)簽的代碼文件,標(biāo)簽被用戶配置的交互數(shù)據(jù)替換后形成網(wǎng)關(guān)代碼,異構(gòu)網(wǎng)關(guān)代碼模板包括三種,分別是分布式試驗運行中間件代理節(jié)點代碼模板、控制模塊代碼模板、時間同步模塊代碼模板,三種模板的代碼功能分別與異構(gòu)網(wǎng)關(guān)中的代理節(jié)點、控制模塊、時間同步模塊功能相對應(yīng)一致; (2)定義網(wǎng)關(guān)交互數(shù)據(jù)描述文件格式;所述的網(wǎng)關(guān)交互數(shù)據(jù)描述文件格式包括四個描述區(qū),分別是運行環(huán)境描述區(qū)、公布描述區(qū)、訂購描述區(qū)以及映射關(guān)系描述區(qū);其中運行環(huán)境描述區(qū)描述運行分布式試驗運行系統(tǒng)所需的系統(tǒng)運行參數(shù);公布描述區(qū)描述公布給異構(gòu)的分布式試驗運行系統(tǒng)的試驗運行節(jié)點的屬性與消息;訂購描述區(qū)描述從異構(gòu)的分布式試驗運行系統(tǒng)中訂購的試驗運行節(jié)點的屬性與消息;映射關(guān)系描述區(qū)描構(gòu)異構(gòu)的分布式試驗運行系統(tǒng)之間公布訂購的試驗運行節(jié)點、屬性名、消息名的一一對應(yīng)關(guān)系; (3)選擇異構(gòu)分布式試驗運行系統(tǒng)的模型描述文件,然后選擇公布給異構(gòu)中間件的試驗運行節(jié)點及其屬性和消息,或從異構(gòu)中間件訂購的試驗成員及其屬性和消息,并按照步驟(2)中所述網(wǎng)關(guān)交互數(shù)據(jù)描述文件的定義格式,生成實際的網(wǎng)關(guān)交互數(shù)據(jù)描述文件;所述的分布式試驗運行系統(tǒng)的模型描述文件,表示描述一個分布式試驗運行系統(tǒng)中,各個試驗運行節(jié)點所具備的狀態(tài)和消息公布能力; (4)解析網(wǎng)關(guān)交互數(shù)據(jù)描述文件獲得交互數(shù)據(jù),利用該交互數(shù)據(jù)替換異構(gòu)網(wǎng)關(guān)代碼模板中的相應(yīng)標(biāo)簽,生成完整的網(wǎng)關(guān)代碼; (5)調(diào)用代碼編譯器編譯步驟(4)中生成的完整的網(wǎng)關(guān)代碼,由此得到異構(gòu)網(wǎng)關(guān)可執(zhí)行文件。
【文檔編號】G06F17/30GK103593416SQ201310525250
【公開日】2014年2月19日 申請日期:2013年10月30日 優(yōu)先權(quán)日:2013年10月30日
【發(fā)明者】蔡斐華, 李鑫, 廖建, 郭晶, 賈長偉, 張麗曄, 王長慶, 趙雯 申請人:中國運載火箭技術(shù)研究院