用于航空應急模擬救援訓練的數據交互方法,包括:創建系統模型文件:將各設備抽象成模型,若干模型組成數據交互系統:請求本地模型文件:發起方在發起數據交換請求前,獲取屬于自身的模型文件;更新本地模型數據結構:發起方在解析對應模型文件,初始化本地模型管理結構;發起數據更新:發起方獲取對應設備的模型參數,放入參數緩存,添加參數索引后放到更新隊列;刷新更新隊列:數據交換發起方對更新隊列中的數據,重新進行編碼并發出;接收數據更新:處理方接收數據,進行解碼,生成參數數據并放入緩存中;轉發數據更新:處理方根據每個模型聲明的參數,重新對數據進行編碼并發送;接收數據:接收方接收數據,更新本地緩存,完成數據交換過程。
【技術實現步驟摘要】
本專利技術涉及航空應急模擬救援訓練領域,具體涉及一種用于航空應急模擬救援訓練的數據交互方法及存儲介質。
技術介紹
1、隨著我國經濟的不斷發展,近年來,通航飛行器無論在數量上還是在質量上都有了極大發展。而目前我國是世界上自然災害較為嚴重的國家,災害種類多,分布地域廣,發生頻率高,造成損失重。航空應急救援是組織救援搶險拯救生命最及時有效的方法之一,目前已經成為發達國家和部分發展中國家應急救援體系的重要組成部分,因此,進行航空應急模擬救援訓練具有十分重要的社會意義,航空應急模擬救援訓練中涉及到很多的設備或系統,會產生大量的數據交互,因此,亟需設計一種用于航空應急模擬救援訓練的數據交互方法,以提升數據交互的可靠性和效率。
技術實現思路
1、鑒于現有技術中存在的技術缺陷和技術弊端,本專利技術實施例提供克服上述問題或者至少部分地解決上述問題的一種用于航空應急模擬救援訓練的數據交互方法及存儲介質,具體方案如下:
2、作為本專利技術的第一方面,提供一種用于航空應急模擬救援訓練的數據交互方法,所述方法包括:
3、步驟1,創建系統模型文件:將航空應急模擬救援訓練中使用的設備都抽象成模型,若干模型組成整個數據交互系統,系統模型文件是進行數據交互的基礎,模型文件定義了每個模型的標識、版本、描述以及模型的參數:
4、步驟2,請求本地模型文件:數據交換發起方在發起數據交換請求之前,先獲取屬于自身的模型文件,從而獲知自身的配置約束、訪問參數的范圍以及訪問參數的特性;
<
p>5、步驟3,更新本地模型數據結構:發起方在獲取到屬于自身的模型文件之后,解析對應模型文件,初始化本地模型管理結構,包括參數緩存、更新隊列、事件觸發器以及橋接器;6、步驟4,發起數據更新:數據交換發起方基于預更新模型參數的索引獲取對應設備的模型參數,放入參數緩存,并添加對應參數索引后放到更新隊列;
7、步驟5,刷新更新隊列:數據交換發起方對更新隊列中的數據,重新進行組織和編碼,編碼完成后通過網絡發送出去;
8、步驟6,接收數據更新:數據交換處理方接收數據交換發起方的數據,進行解碼,生成參數數據,并將對應參數數據放入系統全局參數緩存中;
9、步驟7,轉發數據更新:數據交換處理方對已更新的數據,根據系統模型文件中每個模型聲明的參數,重新對數據進行組包編碼,最后向接收方發送;
10、步驟8,接收數據:接收方接收處理方轉發的數據,更新本地緩存,完成數據交換過程;
11、其中,航空應急模擬救援訓練中的各設備之間基于數據總線實現數據交互;
12、其中,由于設備分布在不同的地理位置,為了便于對設備進行統一配置和管理,所有設備對應的模型配置信息集中在server端,各設備作為數據交換發起方或接收方分布在不同的client端。
13、進一步地,步驟1中,系統模型文件定義了系統內的模型組成、模型屬性、模型參數三方面的信息;
14、其中,模型參數是模型的核心,模型參數分成兩大類:輸入型參數和輸出型參數;若模型含有輸入型參數,則對應模型具備作為接收方,接收其他模型對數據的更新;若模型含有輸出型參數,則對應模型具備作為發起方,向其他模型發送更新數據;
15、其中,模型文件以可擴展描述語言xml進行描述,數據交互系統包含多個模型,每個模型包含一個或多個參數(即模型參數),對參數采用以索引(類似于數組下標)為核心的扁平化管理,每一個參數出現在對應的一個或多個模型中,可以有不同的參數名稱、io類型、分類和描述信息,參數的索引和數據類型全局統一,同一參數運行時對應的參數值相同,系統模型文件在server端創建,每個模型文件預先定義有與對應設備屬性匹配的模型標識。
16、進一步地,步驟2包括:
17、發起方對應的client端啟動時,從server端拉取對應的本地模型文件,從而獲取屬于自身的模型文件,具體實現過程包括:
18、步驟2.1,client端讀取對應設備屬性,根據屬性生成模型標識,并生成包含模型標識的模型請求數據包,其中,模型請求數據包包括包頭和數據區,包頭包括域識別符、包長度、發送方標識、包類型、時間戳以及保留字,對于模型請求數據包,發送方標識即生成的模型標識;
19、步驟2.2,server端收到client端的模型請求數據包后,進行數據的正確性和完整性檢查之后,讀取已載入內存的系統模型文件,從模型文件中選取與模型請求數據包中的模型標識相同的模型文件,所述模型文件包括xml段落,放入模型請求數據包的數據區,修改相關標識信息后,在模型請求數據包中加載server端的時間戳,并將對應數據包返回給對應的client端;
20、步驟2.3,client端接收server端返回的數據包后,檢查數據包中的模型標識與本地模型標識是否匹配,若匹配,則執行步驟2.4;否則返回步驟2.1;
21、步驟2.4,client端基于server端的時間戳數據,計算client端與server端的時間漂移量,根據試驗的時間精度要求,若超出漂移量,則調整client端的系統時鐘;
22、其中,所述模型文件包括xml片段,所述xml片段包括記錄模型屬性信息的xml片段和記錄模型參數信息的xml片段。
23、進一步地,步驟3包括:
24、數據交換發起方:
25、步驟3.1,在獲取到屬于自身的模型文件之后,解析模型屬性信息xml片段,生成模型數據,并將模型標識和網絡連接句柄綁定,便于后續更新操作,所述模型數據包括模型對應信息;
26、步驟3.2,解析模型參數信息xml片段,生成模型參數數組;
27、步驟3.3,根據模型參數數組的位置和模型參數的索引,生成映射表,以通過參數索引關聯對應的模型參數,便于后續快速的根據模型參數索引,查找模型參數數組中的模型參數;
28、步驟3.4,創建更新隊列,根據模型參數的數據類型,創建對應類型的更新隊列,用以記錄數據更新,其中,模型參數的數據類型包括bool類型、int類型、real類型以及buf類型,更新隊列包括bool類型、int類型、real類型以及buf類型的數據更新隊列;
29、步驟3.5,登記事件,將預定義事件和模型參數的索引進行綁定,每個模型參數支持一個綁定事件,在數據更新時,觸發對應事件函數;
30、其中,為解決網絡傳輸造成的數據同步等待,系統采用預分配數據結構的形式保存更新數據,外部接口只需從系統內存中讀取或寫入數據,而由系統自動對內存中的數據進行更新和維護。
31、進一步地,步驟4包括:
32、數據交換發起方:
33、步驟4.1,檢查作為發起方的client端狀態,判斷步驟3是否正確完成;若步驟3正確完成,執行步驟4.2,若步驟3未正確完成,返回更新失敗;
34、步驟4.2,根據預更新模型參數的索引,查找本文檔來自技高網
...
【技術保護點】
1.一種用于航空應急模擬救援訓練的數據交互方法,其特征在于,所述方法包括:
2.根據權利要求1所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟1中,系統模型文件定義了系統內的模型組成、模型屬性、模型參數三方面的信息;
3.根據權利要求2所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟2包括:
4.根據權利要求3所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟3包括:
5.根據權利要求4所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟4包括:
6.根據權利要求5所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟5包括:
7.根據權利要求6所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟6包括:
8.根據權利要求7所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟7包括:
9.根據權利要求8所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟8包括:
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質中存儲有計算機程序,所述計算機程序被計算機執行時,使得計算機執行如權利要求1至9任一項所述的用于航空應急模擬救援訓練的數據交互方法。
...
【技術特征摘要】
1.一種用于航空應急模擬救援訓練的數據交互方法,其特征在于,所述方法包括:
2.根據權利要求1所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟1中,系統模型文件定義了系統內的模型組成、模型屬性、模型參數三方面的信息;
3.根據權利要求2所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟2包括:
4.根據權利要求3所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟3包括:
5.根據權利要求4所述的用于航空應急模擬救援訓練的數據交互方法,其特征在于,步驟4包括:
6.根據權利要求5所述...
【專利技術屬性】
技術研發人員:張磊,黃利華,王長杰,高陽,趙璟溢,李少鵬,
申請(專利權)人:中國船舶集團有限公司第七一九研究所,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。