一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方法及裝置,通過界面配置的方式生成數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,定義統(tǒng)一消息數(shù)據(jù)發(fā)送接口,根據(jù)工程項目的底層傳輸技術(shù)體制實現(xiàn)消息發(fā)送功能;通過程序加載數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,調(diào)用數(shù)據(jù)發(fā)送接口,實現(xiàn)模擬消息的自動化發(fā)送。本發(fā)明可應(yīng)用于指揮控制系統(tǒng)軟件和系統(tǒng)集成聯(lián)試過程,使集成聯(lián)試人員能夠快速地搭建模擬消息產(chǎn)生環(huán)境,按需要產(chǎn)生和修改擬消息數(shù)據(jù);集成聯(lián)試人員只需要關(guān)注消息數(shù)據(jù)本身,包括其結(jié)構(gòu)、數(shù)值、發(fā)送時序、發(fā)送周期,不需要在具體的編碼細(xì)節(jié)花費過多的人力和時間資源,提高了集成聯(lián)試的效率。
【專利說明】
一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于指揮控制系統(tǒng)軟件和系統(tǒng)集成領(lǐng)域,具體涉及一種指揮控制系統(tǒng)軟件 模擬消息產(chǎn)生方法和裝置。
【背景技術(shù)】
[0002] 指揮控制系統(tǒng)是基于信息技術(shù),輔助指揮員實施指揮與控制的一種技術(shù)系統(tǒng)。指 揮控制系統(tǒng)軟件除必須的系統(tǒng)軟件外,還有完成戰(zhàn)術(shù)功能的應(yīng)用軟件:包括情報處理、文電 處理、顯示控制、輔助決策、武器控制、數(shù)據(jù)通信、圖形處理、戰(zhàn)勤保障等。
[0003] 指揮控制系統(tǒng)各分系統(tǒng)內(nèi)各軟件之間以及各個分系統(tǒng)之間通過收發(fā)消息進(jìn)行信 息交互,這些信息絕大部分是結(jié)構(gòu)化的消息。在指揮控制系統(tǒng)軟件配置項、分系統(tǒng)內(nèi)、系統(tǒng) 間各級集成聯(lián)試實施中,如果缺少外部軟件或系統(tǒng)實物,需要通過軟件模擬方式按照既定 接口產(chǎn)生模擬消息,以驅(qū)動被試軟件或系統(tǒng)運行,驗證接口、功能、性能的正確性。
[0004] 目前,在指揮系統(tǒng)集成聯(lián)試過程中,采用根據(jù)接口協(xié)議通過手動編寫和修改程序 代碼的方法產(chǎn)生模擬消息。這種方法的缺點是:每一個消息的產(chǎn)生都需要編寫相應(yīng)的代碼, 消息數(shù)據(jù)結(jié)構(gòu)、數(shù)值、發(fā)送時序、發(fā)送周期的需求變化均需要通過修改程序代碼來實現(xiàn),導(dǎo) 致了聯(lián)試效率的低下。
【發(fā)明內(nèi)容】
[0005] 發(fā)明目的:針對指揮控制信息系統(tǒng)軟件和系統(tǒng)集成聯(lián)試過程中,需要手動編寫和 修改代碼產(chǎn)生驅(qū)動程序運行的外部模擬消息,效率低下的問題,本發(fā)明目的在于提供一種 通用的,消息數(shù)據(jù)結(jié)構(gòu)、數(shù)值、發(fā)送時序、發(fā)送周期可配置的模擬消息產(chǎn)生方法和裝置,以快 速構(gòu)件模擬消息產(chǎn)生環(huán)境,方便聯(lián)試人員修改模擬數(shù)據(jù),提高聯(lián)試效率。
[0006] 技術(shù)方案:為實現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案是:
[0007] -種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方法,包括如下步驟:
[0008] (1)定義數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,其中數(shù)據(jù)結(jié)構(gòu)文件定義消息的結(jié)構(gòu)信息,數(shù)據(jù) 文件定義多個消息的組合關(guān)系、消息成員數(shù)值、消息發(fā)送時序、消息定時發(fā)送周期;
[0009] (2)定義統(tǒng)一消息數(shù)據(jù)發(fā)送接口,根據(jù)工程項目的底層傳輸技術(shù)體制實現(xiàn)消息發(fā) 送功能;
[0010] (3)通過界面配置的方式生成數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件;
[0011] (4)通過程序加載數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,調(diào)用數(shù)據(jù)發(fā)送接口,實現(xiàn)模擬消息的 自動化發(fā)送。
[0012] 作為優(yōu)選,消息數(shù)據(jù)結(jié)構(gòu)文件使用XML文件格式記錄消息數(shù)據(jù)結(jié)構(gòu)體的結(jié)構(gòu)信息, 所述消息數(shù)據(jù)結(jié)構(gòu)體由多個基本數(shù)據(jù)類型或數(shù)據(jù)結(jié)構(gòu)體組成。
[0013] 作為優(yōu)選,數(shù)據(jù)結(jié)構(gòu)文件的根節(jié)點定義消息的ID以及結(jié)構(gòu)體分配字節(jié)數(shù);每一個 消息數(shù)據(jù)結(jié)構(gòu)的成員作為根節(jié)點的一個節(jié)點元素,其屬性包括數(shù)據(jù)類型、考慮過結(jié)構(gòu)體內(nèi) 存對齊后該類型所占內(nèi)存字節(jié)數(shù)、該類型元素數(shù)量和考慮過結(jié)構(gòu)體內(nèi)存對齊后該元素在父 結(jié)構(gòu)體節(jié)點內(nèi)存中的起始位置。
[0014] 作為優(yōu)選,消息數(shù)據(jù)文件包含消息個數(shù)和每個消息具體數(shù)據(jù)信息,消息具體數(shù)據(jù) 信息包含:消息數(shù)據(jù)結(jié)構(gòu)文件名稱,時延,定時周期,消息數(shù)據(jù)結(jié)構(gòu)內(nèi)存大小和消息數(shù)據(jù)。
[0015] 作為優(yōu)選,將消息數(shù)據(jù)發(fā)送接口的實現(xiàn)封裝為可調(diào)用的動態(tài)庫,由上層消息生成 和發(fā)送程序調(diào)用,屏蔽了底層傳輸技術(shù)體制的差異。
[0016] 作為優(yōu)選,所述步驟(4)中具體包括:
[0017] (4 · 1)通過程序加載數(shù)據(jù)文件;
[0018] (4 · 2)讀取數(shù)據(jù)文件中的消息數(shù)量;
[0019] (4.3)根據(jù)具體消息的數(shù)據(jù)結(jié)構(gòu)文件名稱,解析出數(shù)據(jù)結(jié)構(gòu)信息,分配內(nèi)存加載消 息數(shù)據(jù);
[0020] (4.4)根據(jù)消息的先后順序以及時延、定時周期,調(diào)用發(fā)送接口發(fā)送消息。
[0021] -種實現(xiàn)如上所述模擬消息產(chǎn)生方法的指揮控制系統(tǒng)軟件模擬消息產(chǎn)生裝置,包 括:數(shù)據(jù)結(jié)構(gòu)文件,以XML文件格式定義各消息的結(jié)構(gòu)信息;數(shù)據(jù)文件,以二進(jìn)制文件格式定 義多個消息的組合關(guān)系、消息成員數(shù)值、消息發(fā)送時序、消息定時發(fā)送周期;消息數(shù)據(jù)發(fā)送 接口,實現(xiàn)消息的發(fā)送功能;界面配置單元,通過界面配置的方式生成數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù) 文件;以及消息發(fā)送單元,加載數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,調(diào)用數(shù)據(jù)發(fā)送接口,實現(xiàn)模擬消 息的自動化發(fā)送。
[0022] 有益效果:本發(fā)明可應(yīng)用于指揮控制系統(tǒng)軟件和系統(tǒng)集成聯(lián)試過程,使集成聯(lián)試 人員能夠快速地搭建模擬消息產(chǎn)生環(huán)境,按需要產(chǎn)生和修改擬消息數(shù)據(jù);集成聯(lián)試人員只 需要關(guān)注消息數(shù)據(jù)本身,包括其結(jié)構(gòu)、數(shù)值、發(fā)送時序、發(fā)送周期,不需要在具體的編碼細(xì)節(jié) 花費過多的人力和時間資源,提高了集成聯(lián)試的效率;通過定義統(tǒng)一消息發(fā)送接口,屏蔽了 底層傳輸技術(shù)體制帶來的差異,增加了消息模擬軟件、數(shù)據(jù)文件的復(fù)用性。
【附圖說明】
[0023] 圖1是本發(fā)明實施例的模擬消息產(chǎn)生方法總體流程示意圖。
[0024] 圖2是本發(fā)明實施例中消息數(shù)據(jù)結(jié)構(gòu)文件示意圖。
[0025] 圖3是本發(fā)明實施例中消息數(shù)據(jù)文件組成示意圖。
[0026] 圖4是本發(fā)明實施例中消息結(jié)構(gòu)編輯界面示意圖。
[0027] 圖5是本發(fā)明實施例中消息數(shù)據(jù)編輯界面示意圖。
[0028] 圖6是本發(fā)明實施例中消息數(shù)據(jù)讀取與發(fā)送流程示意圖。
[0029] 圖7是本發(fā)明實施例的模擬消息產(chǎn)生裝置模塊結(jié)構(gòu)示意圖。
【具體實施方式】
[0030] 下面結(jié)合具體實施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實施例僅用于說明本發(fā)明 而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對本發(fā)明的各種等價 形式的修改均落于本申請所附權(quán)利要求所限定的范圍。
[0031]如圖1所示,本發(fā)明實施例公開的一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方 [0032]法,首先定義消息的數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,接著定義并實現(xiàn)統(tǒng)一消息數(shù)據(jù)發(fā) 送接口,然后通過界面配置的方式生成數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,最后通過程序加載數(shù)據(jù) 結(jié)構(gòu)文件和數(shù)據(jù)文件,調(diào)用數(shù)據(jù)發(fā)送接口,實現(xiàn)模擬消息的自動化發(fā)送。具體的實現(xiàn)步驟如 下:
[0033]步驟1:定義消息數(shù)據(jù)結(jié)構(gòu)文件。
[0034] -個消息數(shù)據(jù)結(jié)構(gòu)體由多個基本數(shù)據(jù)類型或數(shù)據(jù)結(jié)構(gòu)體組成,將消息數(shù)據(jù)結(jié)構(gòu)體 的結(jié)構(gòu)信息使用XML文件格式記錄。
[0035] 數(shù)據(jù)結(jié)構(gòu)定義文件的根節(jié)點定義了消息的ID以及結(jié)構(gòu)體內(nèi)存對齊字節(jié)數(shù)。
[0036] 根節(jié)點屬性包括:
[0038]消息數(shù)據(jù)結(jié)構(gòu)成員按照組成結(jié)構(gòu)關(guān)系作為根節(jié)點的子孫節(jié)點,每一個節(jié)點的屬性 包括:
[0041]其中"類型"、"數(shù)組長度"由用戶通過界面手動輸入,"內(nèi)存大小"可由程序根據(jù)結(jié) 構(gòu)體元素類型和結(jié)構(gòu)調(diào)用Sizeof函數(shù)自動計算,"偏移值"可由程序根據(jù)結(jié)構(gòu)體元素類型和 結(jié)構(gòu)調(diào)用off set函數(shù)自動計算。
[0042]消息數(shù)據(jù)結(jié)構(gòu)文件示意參見圖2。
[0043]步驟2:定義數(shù)據(jù)文件。
[0044]數(shù)據(jù)文件使用二進(jìn)制文件形式,其內(nèi)容包含消息個數(shù)和每個消息具體數(shù)據(jù)信息, 消息具體信息包含:消息數(shù)據(jù)結(jié)構(gòu)文件名稱,時延,定時周期,消息數(shù)據(jù)結(jié)構(gòu)內(nèi)存大小,消息 數(shù)據(jù),具體含義如下:
[0047]數(shù)據(jù)文件組成參見圖3。
[0048]步驟3:數(shù)據(jù)發(fā)送接口定義與實現(xiàn)。
[0049]步驟3 - 1:數(shù)據(jù)發(fā)送接口定義 [0050] 定義形參如下:
[0054]步驟3 - 2:數(shù)據(jù)發(fā)送接口實現(xiàn)
[0055] 根據(jù)指揮系統(tǒng)具體采用的技術(shù)體制,按照數(shù)據(jù)發(fā)送接口實現(xiàn)發(fā)送功能,并編譯為 可調(diào)用動態(tài)庫。
[0056] 步驟4:通過配置界面生成數(shù)據(jù)結(jié)構(gòu)文件、數(shù)據(jù)文件。
[0057]步驟4一 1:生成數(shù)據(jù)結(jié)構(gòu)文件
[0058]如圖4所示,用戶在界面輸入消息數(shù)據(jù)結(jié)構(gòu)各元素名稱、數(shù)據(jù)類型;程序根據(jù)消息 數(shù)據(jù)結(jié)構(gòu)和結(jié)構(gòu)體內(nèi)存對齊字節(jié)數(shù)自動計算數(shù)據(jù)結(jié)構(gòu)體內(nèi)各元素的內(nèi)存大小、偏移值,輸 入完成后進(jìn)行保存操作,程序自動生成數(shù)據(jù)結(jié)構(gòu)文件。
[0059]步驟4一 2:生成數(shù)據(jù)文件
[0060]用戶根據(jù)需要按發(fā)送順序加載消息數(shù)據(jù)結(jié)構(gòu)文件,程序在界面顯示數(shù)據(jù)結(jié)構(gòu)內(nèi) 容;如圖5所示,用戶可在界面設(shè)置每一個消息的時延、定時周期、結(jié)構(gòu)體字段具體數(shù)值,設(shè) 置完成后進(jìn)行保存操作,由程序自動生成為數(shù)據(jù)文件并保存。
[0061]步驟5:加載數(shù)據(jù)文件,調(diào)用定時和發(fā)送接口發(fā)送。具體流程如圖6所示,主要包括 如下步驟:
[0062]步驟5 - 1:程序加載數(shù)據(jù)文件
[0063]步驟5 - 2:讀取消息數(shù)量
[0064]步驟5 - 3:讀取每一個消息具體信息
[0065] a)讀取消息數(shù)據(jù)結(jié)構(gòu)文件名稱,據(jù)此讀取消息數(shù)據(jù)文件,解析出數(shù)據(jù)結(jié)構(gòu)信息
[0066] b)讀取消息時延、定時周期
[0067] c)讀取消息數(shù)據(jù)結(jié)構(gòu)內(nèi)存大小,分配動態(tài)內(nèi)存
[0068] d)根據(jù)步驟5 - 3a)中消息數(shù)據(jù)結(jié)構(gòu)各個元素的類型、內(nèi)存大小、數(shù)組長度、起始位 置到內(nèi)存中讀取數(shù)據(jù)并賦值
[0069] 步驟5 - 4:根據(jù)每一消息的先后順序以及時延、定時周期,調(diào)用發(fā)送接口發(fā)送消 息。如果時延值大于〇,則在上一個消息發(fā)送后設(shè)定一次性定時器,定時時間到達(dá)后發(fā)送本 消息;如果定時周期值大于〇,設(shè)定周期性定時器,定時時間到達(dá)后發(fā)送本消息。
[0070] 如圖7所示,本發(fā)明實施例公開的一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生裝置,主要 包括數(shù)據(jù)結(jié)構(gòu)文件、數(shù)據(jù)文件、消息數(shù)據(jù)發(fā)送接口、界面配置單元和消息發(fā)送單元。其中數(shù) 據(jù)結(jié)構(gòu)文件定義了消息的結(jié)構(gòu)信息,數(shù)據(jù)文件定義了多個消息的組合關(guān)系、消息成員數(shù)值、 消息發(fā)送時序、消息定時發(fā)送周期。消息數(shù)據(jù)發(fā)送接口由技術(shù)人員根據(jù)工程項目的底層傳 輸技術(shù)體制實現(xiàn)消息發(fā)送功能,封裝為可調(diào)用的動態(tài)庫。用戶可通過界面配置單元配置生 成數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,消息發(fā)送單元通過程序加載數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,調(diào)用 數(shù)據(jù)發(fā)送接口,實現(xiàn)模擬消息的自動化發(fā)送。
【主權(quán)項】
1. 一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方法,其特征在于:包括如下步驟: (1) 定義數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,其中數(shù)據(jù)結(jié)構(gòu)文件定義消息的結(jié)構(gòu)信息,數(shù)據(jù)文件 定義多個消息的組合關(guān)系、消息成員數(shù)值、消息發(fā)送時序、消息定時發(fā)送周期; (2) 定義統(tǒng)一消息數(shù)據(jù)發(fā)送接口,根據(jù)工程項目的底層傳輸技術(shù)體制實現(xiàn)消息發(fā)送功 能; (3) 通過界面配置的方式生成數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件; (4) 通過程序加載數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,調(diào)用數(shù)據(jù)發(fā)送接口,實現(xiàn)模擬消息的自動 化發(fā)送。2. 根據(jù)權(quán)利要求1所述的一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方法,其特征在于:消息 數(shù)據(jù)結(jié)構(gòu)文件使用XML文件格式記錄消息數(shù)據(jù)結(jié)構(gòu)體的結(jié)構(gòu)信息,所述消息數(shù)據(jù)結(jié)構(gòu)體由 多個基本數(shù)據(jù)類型或數(shù)據(jù)結(jié)構(gòu)體組成。3. 根據(jù)權(quán)利要求2所述的一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方法,其特征在于:數(shù)據(jù) 結(jié)構(gòu)文件的根節(jié)點定義消息的ID以及結(jié)構(gòu)體分配字節(jié)數(shù);每一個消息數(shù)據(jù)結(jié)構(gòu)的成員作為 根節(jié)點的一個節(jié)點元素,其屬性包括數(shù)據(jù)類型、考慮過結(jié)構(gòu)體內(nèi)存對齊后該類型所占內(nèi)存 字節(jié)數(shù)、該類型元素數(shù)量和考慮過結(jié)構(gòu)體內(nèi)存對齊后該元素在父結(jié)構(gòu)體節(jié)點內(nèi)存中的起始 位置。4. 根據(jù)權(quán)利要求1所述的一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方法,其特征在于:消息 數(shù)據(jù)文件包含消息個數(shù)和每個消息具體數(shù)據(jù)信息,消息具體數(shù)據(jù)信息包含:消息數(shù)據(jù)結(jié)構(gòu) 文件名稱,時延,定時周期,消息數(shù)據(jù)結(jié)構(gòu)內(nèi)存大小和消息數(shù)據(jù)。5. 根據(jù)權(quán)利要求1所述的一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方法,其特征在于:將消 息數(shù)據(jù)發(fā)送接口的實現(xiàn)封裝為可調(diào)用的動態(tài)庫,由上層消息生成和發(fā)送程序調(diào)用,屏蔽了 底層傳輸技術(shù)體制的差異。6. 根據(jù)權(quán)利要求1所述的一種指揮控制系統(tǒng)軟件模擬消息產(chǎn)生方法,其特征在于:所述 步驟(4)中具體包括: (4.1)通過程序加載數(shù)據(jù)文件; (4.2 )讀取數(shù)據(jù)文件中的消息數(shù)量; (4.3) 根據(jù)具體消息的數(shù)據(jù)結(jié)構(gòu)文件名稱,解析出數(shù)據(jù)結(jié)構(gòu)信息,分配內(nèi)存加載消息數(shù) 據(jù); (4.4) 根據(jù)消息的先后順序以及時延、定時周期,調(diào)用發(fā)送接口發(fā)送消息。7. -種實現(xiàn)如權(quán)利要求1-6任一項所述模擬消息產(chǎn)生方法的指揮控制系統(tǒng)軟件模擬消 息產(chǎn)生裝置,其特征在于,包括: 數(shù)據(jù)結(jié)構(gòu)文件,以XML文件格式定義各消息的結(jié)構(gòu)信息; 數(shù)據(jù)文件,以二進(jìn)制文件格式定義多個消息的組合關(guān)系、消息成員數(shù)值、消息發(fā)送時 序、消息定時發(fā)送周期; 消息數(shù)據(jù)發(fā)送接口,實現(xiàn)消息的發(fā)送功能; 界面配置單元,通過界面配置的方式生成數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件; 以及消息發(fā)送單元,加載數(shù)據(jù)結(jié)構(gòu)文件和數(shù)據(jù)文件,調(diào)用數(shù)據(jù)發(fā)送接口,實現(xiàn)模擬消息 的自動化發(fā)送。
【文檔編號】G06F9/445GK105843629SQ201610248568
【公開日】2016年8月10日
【申請日】2016年4月20日
【發(fā)明人】黃儒, 程曉雪, 許耀贐, 顧婷婷, 周霞
【申請人】中國電子科技集團(tuán)公司第二十八研究所