本發(fā)明涉及模擬器聯(lián)網(wǎng),尤其涉及一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法、系統(tǒng)、裝置和介質(zhì)。
背景技術(shù):
1、在模擬器聯(lián)網(wǎng)技術(shù)領(lǐng)域,分布式網(wǎng)絡(luò)通信技術(shù)在多臺(tái)模擬器進(jìn)行飛行編隊(duì)訓(xùn)練和協(xié)同作戰(zhàn)模擬時(shí)扮演著關(guān)鍵角色,能夠確保了數(shù)據(jù)傳輸?shù)牡脱舆t和高可靠性,對(duì)于提升模擬環(huán)境的真實(shí)感和訓(xùn)練的有效性至關(guān)重要?,F(xiàn)行的分布式網(wǎng)絡(luò)通信技術(shù)通常涉及分布式交互仿真(distributed?interactive?simulation,dis)、高層體系結(jié)構(gòu)(high?levelarchitecture,hla)及數(shù)據(jù)分發(fā)服務(wù)(data?distribution?service,dds)等架構(gòu)。然而,由于不同制造商對(duì)dis接口標(biāo)準(zhǔn)和hla接口標(biāo)準(zhǔn)的實(shí)現(xiàn)程度存在差異,不同廠(chǎng)基于這些標(biāo)準(zhǔn)的系統(tǒng)互聯(lián)通常存在挑戰(zhàn)。相較之下,由于dds架構(gòu)的底層統(tǒng)一采用了實(shí)時(shí)發(fā)布/訂閱(realtime?publish?subscribe,rtps)協(xié)議,使得基于dds的聯(lián)網(wǎng)方案能夠更為便捷地實(shí)現(xiàn)模擬器之間的互操作性。
2、現(xiàn)行的基于dds的模擬器聯(lián)網(wǎng)方法主要包括兩種,一種方法是通過(guò)dds中間件轉(zhuǎn)發(fā)軟件對(duì)模擬器進(jìn)行升級(jí),使模擬器具備聯(lián)網(wǎng)能力,另一種方法是將dds數(shù)據(jù)接口直接嵌入到模擬器仿真軟件中,實(shí)現(xiàn)模擬器仿真軟件的功能開(kāi)發(fā)升級(jí),使得模擬器具備聯(lián)網(wǎng)能力。然而,前者增加了網(wǎng)絡(luò)通信的時(shí)間延遲和帶寬消耗,降低了通信的實(shí)時(shí)性,后者則需要重新對(duì)原有平臺(tái)代碼整體升級(jí)編譯,人力和時(shí)間投入都比較大。以上表明,現(xiàn)行的基于dds的模擬器聯(lián)網(wǎng)方法在通信實(shí)時(shí)性或?qū)崿F(xiàn)聯(lián)網(wǎng)功能時(shí)的高效性方面存在不足。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法、系統(tǒng)、裝置和介質(zhì),用以解決現(xiàn)行的基于dds的模擬器聯(lián)網(wǎng)方法在實(shí)現(xiàn)聯(lián)網(wǎng)功能時(shí)的高效性和通信實(shí)時(shí)性方面均存在不足的缺陷,實(shí)現(xiàn)無(wú)需增加dds中間件轉(zhuǎn)發(fā)軟件,也無(wú)需進(jìn)行仿真平臺(tái)代碼整體升級(jí)編譯,僅通過(guò)在根據(jù)接口定義語(yǔ)言文件,生成模擬器接口程序和模擬器接口程序之后,可對(duì)模擬器接口數(shù)據(jù)和數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行映射,實(shí)現(xiàn)模擬器聯(lián)網(wǎng),縮短了聯(lián)網(wǎng)功能實(shí)現(xiàn)時(shí)的開(kāi)發(fā)流程,并減少了時(shí)間延遲和帶寬消耗,進(jìn)而提高了實(shí)現(xiàn)聯(lián)網(wǎng)功能時(shí)的高效性和通信實(shí)時(shí)性。
2、本發(fā)明提供一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法,包括如下步驟。
3、根據(jù)接口定義語(yǔ)言確定規(guī)則,確定模擬器聯(lián)網(wǎng)所需的所有接口數(shù)據(jù),得到接口定義語(yǔ)言文件。
4、根據(jù)接口定義語(yǔ)言文件,結(jié)合接口定義語(yǔ)言模板程序生成工具,在數(shù)據(jù)分發(fā)服務(wù)單元中生成數(shù)據(jù)分發(fā)服務(wù)的發(fā)布訂閱通信模板程序。
5、根據(jù)接口定義語(yǔ)言文件,結(jié)合模擬器接口定義規(guī)則,在數(shù)據(jù)分發(fā)服務(wù)單元中生成模擬器接口程序。
6、根據(jù)發(fā)布訂閱通信模板程序和模擬器接口程序,對(duì)模擬器接口數(shù)據(jù)和數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行映射。
7、根據(jù)本發(fā)明提供的一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法,發(fā)布訂閱通信模板程序包括:訂閱類(lèi)族發(fā)布訂閱通信模板程序和發(fā)布類(lèi)族發(fā)布訂閱通信模板程序;根據(jù)發(fā)布訂閱通信模板程序和模擬器接口程序,對(duì)模擬器接口數(shù)據(jù)和數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行映射,包括:根據(jù)訂閱類(lèi)族發(fā)布訂閱通信模板程序和發(fā)布類(lèi)族發(fā)布訂閱通信模板程序,讀取訂閱類(lèi)族中的數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù),并將數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù)寫(xiě)入至模擬器接口程序中的第一指針位置;根據(jù)訂閱類(lèi)族發(fā)布訂閱通信模板程序和發(fā)布類(lèi)族發(fā)布訂閱通信模板程序,從模擬器接口程序中的第二指針位置讀取模擬器接口數(shù)據(jù),并將模擬器接口數(shù)據(jù)寫(xiě)入至數(shù)據(jù)分發(fā)服務(wù)網(wǎng)絡(luò)中。
8、根據(jù)本發(fā)明提供的一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法,還包括:在數(shù)據(jù)分發(fā)服務(wù)管理器中,實(shí)例化訂閱類(lèi)族為第一類(lèi)對(duì)象并實(shí)例化發(fā)布類(lèi)族為第二類(lèi)對(duì)象;將模擬器接口數(shù)據(jù)對(duì)應(yīng)的第一指針位置傳遞給第一類(lèi)對(duì)象,并將模擬器接口數(shù)據(jù)對(duì)應(yīng)的第二指針位置傳遞給第二類(lèi)對(duì)象;對(duì)第一類(lèi)對(duì)象和第二類(lèi)對(duì)象的網(wǎng)絡(luò)狀態(tài)進(jìn)行初始化;在初始化完成,建立網(wǎng)絡(luò)連接的情況下,更新發(fā)布類(lèi)族中的模擬器接口數(shù)據(jù)。
9、根據(jù)本發(fā)明提供的一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法,映射結(jié)果包括:模擬器與數(shù)據(jù)分發(fā)服務(wù)網(wǎng)絡(luò)之間的映射關(guān)系,以及數(shù)據(jù)分發(fā)服務(wù)單元與模擬器其他功能仿真單元之間的發(fā)布訂閱關(guān)系。
10、根據(jù)本發(fā)明提供的一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法,還包括:在數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù)為狀態(tài)數(shù)據(jù)的情況下,采用定頻調(diào)用方式,對(duì)狀態(tài)數(shù)據(jù)進(jìn)行更新;在數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù)為交互數(shù)據(jù)的情況下,采用中斷處理方式,對(duì)交互數(shù)據(jù)進(jìn)行中斷處理解算,得到解算結(jié)果;根據(jù)解算結(jié)果進(jìn)行仿真。
11、根據(jù)本發(fā)明提供的一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法,采用中斷處理方式,對(duì)交互數(shù)據(jù)進(jìn)行中斷處理解算,得到解算結(jié)果,包括:根據(jù)交互數(shù)據(jù)的相關(guān)信息,確定中斷請(qǐng)求;在中斷請(qǐng)求與中斷注冊(cè)信息匹配的情況下,將交互數(shù)據(jù)賦值為中斷數(shù)據(jù),并生成攜帶有中斷數(shù)據(jù)的目標(biāo)中斷請(qǐng)求,中斷注冊(cè)信息為預(yù)先注冊(cè)到中斷觸發(fā)源系統(tǒng)的;根據(jù)目標(biāo)中斷請(qǐng)求,觸發(fā)對(duì)應(yīng)的中斷注冊(cè)信息處理函數(shù),對(duì)中斷數(shù)據(jù)進(jìn)行解算,得到解算結(jié)果。
12、本發(fā)明還提供一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)系統(tǒng),其特征在于,包括:數(shù)據(jù)分發(fā)服務(wù)的訂閱類(lèi)族、發(fā)布類(lèi)族、數(shù)據(jù)分發(fā)服務(wù)單元和數(shù)據(jù)分發(fā)服務(wù)管理器;其中,訂閱類(lèi)族,用于訂閱數(shù)據(jù)分發(fā)服務(wù)網(wǎng)絡(luò)的數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù);發(fā)布類(lèi)族,用于向數(shù)據(jù)分發(fā)服務(wù)網(wǎng)絡(luò)發(fā)布模擬器接口數(shù)據(jù);數(shù)據(jù)分發(fā)服務(wù)單元,用于確定發(fā)布訂閱通信模板程序和模擬器接口程序,發(fā)布訂閱通信模板程序是基于接口定義語(yǔ)言文件和接口定義語(yǔ)言模板程序生成工具生成的,模擬器接口程序是基于接口定義語(yǔ)言文件和模擬器接口定義規(guī)則生成的;數(shù)據(jù)分發(fā)服務(wù)管理器,用于實(shí)例化訂閱類(lèi)族為第一類(lèi)對(duì)象并實(shí)例化發(fā)布類(lèi)族為第二類(lèi)對(duì)象;將模擬器接口數(shù)據(jù)對(duì)應(yīng)的第一指針位置傳遞給第一類(lèi)對(duì)象,并將模擬器接口數(shù)據(jù)對(duì)應(yīng)的第二指針位置傳遞給第二類(lèi)對(duì)象;對(duì)第一類(lèi)對(duì)象和第二類(lèi)對(duì)象的網(wǎng)絡(luò)狀態(tài)進(jìn)行初始化;在初始化完成,建立網(wǎng)絡(luò)連接的情況下,更新發(fā)布類(lèi)族中的模擬器接口數(shù)據(jù)。其中,訂閱類(lèi)族發(fā)布訂閱通信模板程序和發(fā)布類(lèi)族發(fā)布訂閱通信模板程序是基于接口定義語(yǔ)言文件和接口定義語(yǔ)言模板程序確定的,接口定義語(yǔ)言文件是基于接口定義語(yǔ)言確定規(guī)則確定的。
13、本發(fā)明還提供一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)裝置,包括如下模塊。
14、文件確定模塊,用于根據(jù)接口定義語(yǔ)言確定規(guī)則,確定模擬器聯(lián)網(wǎng)所需的所有接口數(shù)據(jù),得到接口定義語(yǔ)言文件。
15、模板程序確定模塊,用于根據(jù)接口定義語(yǔ)言文件,結(jié)合接口定義語(yǔ)言模板程序生成工具,在數(shù)據(jù)分發(fā)服務(wù)單元中生成數(shù)據(jù)分發(fā)服務(wù)的發(fā)布訂閱通信模板程序。
16、接口程序確定模塊,用于根據(jù)接口定義語(yǔ)言文件,結(jié)合模擬器接口定義規(guī)則,在數(shù)據(jù)分發(fā)服務(wù)單元中生成模擬器接口程序。
17、數(shù)據(jù)映射模塊,用于根據(jù)發(fā)布訂閱通信模板程序和模擬器接口程序,對(duì)模擬器接口數(shù)據(jù)和數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行映射。
18、本發(fā)明還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上述任一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法。
19、本發(fā)明還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法。
20、本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法。
21、本發(fā)明提供的一種基于數(shù)據(jù)分發(fā)服務(wù)的模擬器聯(lián)網(wǎng)方法、系統(tǒng)、裝置和介質(zhì),通過(guò)根據(jù)接口定義語(yǔ)言確定規(guī)則,確定模擬器聯(lián)網(wǎng)所需的所有接口數(shù)據(jù),得到接口定義語(yǔ)言文件;根據(jù)接口定義語(yǔ)言文件,結(jié)合接口定義語(yǔ)言模板程序生成工具,在數(shù)據(jù)分發(fā)服務(wù)單元中生成數(shù)據(jù)分發(fā)服務(wù)的發(fā)布訂閱通信模板程序;根據(jù)接口定義語(yǔ)言文件,結(jié)合模擬器接口定義規(guī)則,在數(shù)據(jù)分發(fā)服務(wù)單元中生成模擬器接口程序;根據(jù)發(fā)布訂閱通信模板程序和模擬器接口程序,對(duì)模擬器接口數(shù)據(jù)和數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行映射。本發(fā)明的技術(shù)方案,用以解決現(xiàn)行的基于dds的模擬器聯(lián)網(wǎng)方法在實(shí)現(xiàn)聯(lián)網(wǎng)功能時(shí)的高效性和通信實(shí)時(shí)性方面均存在不足的缺陷,實(shí)現(xiàn)無(wú)需增加dds中間件轉(zhuǎn)發(fā)軟件,也無(wú)需進(jìn)行仿真平臺(tái)代碼整體升級(jí)編譯,僅通過(guò)在根據(jù)接口定義語(yǔ)言文件,生成模擬器接口程序和模擬器接口程序之后,可對(duì)模擬器接口數(shù)據(jù)和數(shù)據(jù)分發(fā)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行映射,實(shí)現(xiàn)模擬器聯(lián)網(wǎng),縮短了聯(lián)網(wǎng)功能實(shí)現(xiàn)時(shí)的開(kāi)發(fā)流程,并減少了時(shí)間延遲和帶寬消耗,進(jìn)而提高了實(shí)現(xiàn)聯(lián)網(wǎng)功能時(shí)的高效性和通信實(shí)時(shí)性。