前言:本站為你精心整理了作戰(zhàn)系統(tǒng)網(wǎng)絡(luò)通信描述與方法及實現(xiàn)范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
摘要:基于可擴展標記語言結(jié)構(gòu)化、通用化等特點,文章在分析作戰(zhàn)系統(tǒng)網(wǎng)絡(luò)通信協(xié)議基本組成及描述、驗證需求的基礎(chǔ)上,開發(fā)了一種通用化的網(wǎng)絡(luò)通信協(xié)議編輯軟件,采用圖形化人機界面的方式,方便用戶快速進行作戰(zhàn)系統(tǒng)網(wǎng)絡(luò)通信協(xié)議的制定、編輯和描述,并通過XSD文件進行協(xié)議描述文件的格式校驗,軟件支持將描述的協(xié)議內(nèi)容按照預(yù)定模板,自動生成通信協(xié)議文件,方便系統(tǒng)設(shè)計人員進行通信協(xié)議文件的編制和修改,提高了通信協(xié)議開發(fā)和維護的效率。
關(guān)鍵詞:XML結(jié)構(gòu)化描述;XSD格式校驗;協(xié)議內(nèi)容預(yù)覽;協(xié)議文件生成
0引言
隨著現(xiàn)代艦艇作戰(zhàn)系統(tǒng)的快速發(fā)展,在艦艇作戰(zhàn)系統(tǒng)設(shè)計中存在大量的網(wǎng)絡(luò)通信協(xié)議,這些協(xié)議控制或規(guī)范著網(wǎng)絡(luò)中各節(jié)點間信息傳輸機制和信息內(nèi)容。面對作戰(zhàn)系統(tǒng)通信協(xié)議的日益膨脹,傳統(tǒng)依靠系統(tǒng)設(shè)計人員手動開展文檔化的通信協(xié)議制定方式存在著設(shè)計效率低、易出錯、版本管理困難、不利于格式校驗和錯誤檢查等缺點,已逐漸無法適應(yīng)現(xiàn)代艦艇作戰(zhàn)系統(tǒng)通信協(xié)議的設(shè)計、開發(fā)和維護要求。在作戰(zhàn)系統(tǒng)通信協(xié)議的設(shè)計過程中,往往需要經(jīng)過多輪的驗證和迭代,最終才能形成定稿的通信協(xié)議版本。目前系統(tǒng)通信協(xié)議設(shè)計人員多利用Word工具,以表格和文本形式手動制定并描述網(wǎng)絡(luò)通信協(xié)議,和開展協(xié)議版本更新和維護,自動化程度不高,嚴重影響工作效率,不利于控制系統(tǒng)整體設(shè)計進度和管理協(xié)議文件技術(shù)狀態(tài)。從實際工作角度出發(fā),為提高系統(tǒng)通信協(xié)議設(shè)計開發(fā)效率,便于開展協(xié)議文件的自動化校驗及后續(xù)的基于規(guī)則(協(xié)議內(nèi)容和交互流程)的自動化測試,本文針對網(wǎng)絡(luò)通信協(xié)議的特點,遵循基本協(xié)議制定規(guī)則,提出一種通用化和結(jié)構(gòu)化的協(xié)議描述方法,開發(fā)了基于圖形界面的通信協(xié)議編輯軟件,方便用戶進行協(xié)議內(nèi)容的設(shè)計與編輯,軟件基于XML語言進行協(xié)議規(guī)則化組織、存儲,對于生成的協(xié)議描述文件利用對應(yīng)的XSD文件進行格式校驗,并最終通過模板自動生成通信協(xié)議文件,極大地提高了協(xié)議設(shè)計效率,提升了協(xié)議的可靠性,也為后期的協(xié)議更改和升級維護提供了極大的便利。
1網(wǎng)絡(luò)通信協(xié)議的基本組成分析
通常,艦艇作戰(zhàn)系統(tǒng)的網(wǎng)絡(luò)通信協(xié)議一般為一組協(xié)議集,協(xié)議集中可包含多個協(xié)議,每個協(xié)議中又包含一條或多條報文。一條完整的報文由報文基本屬性、報文頭和用戶自定義報文段三部分構(gòu)成。報文基本屬性包括報文名稱、協(xié)議類型(TCP/UDP)、傳輸頻次、傳輸形式(點對點、組播、廣播)、發(fā)送時機、報文說明等。報文頭一般由報文標識、報文長度(定長或變長)、發(fā)方IP和端口號、收方IP和端口號、發(fā)送時戳等屬性組成。用戶自定義報文段是根據(jù)實際業(yè)務(wù)需求,由用戶自己定義的報文字段內(nèi)容和約束,一般分為按“字節(jié)”和按“位”兩種數(shù)據(jù)描述類型。用戶自定義報文段可以是上述兩種數(shù)據(jù)類型的組合。
2描述語言介紹
XML指可擴展標記語言,用于標記電子文件,使其具有結(jié)構(gòu)性的標記語言。它是一種跨平臺的、依賴于內(nèi)容的技術(shù),也是當今處理分布式結(jié)構(gòu)信息的有效工具,是描述數(shù)據(jù)和交換數(shù)據(jù)的有效手段。XSD指XML結(jié)構(gòu)定義。它描述了XML文檔的數(shù)據(jù)模型、數(shù)據(jù)約束和數(shù)據(jù)內(nèi)容,它定義了可出現(xiàn)在文檔中的元素、屬性、子元素、子元素的次序、數(shù)目、元素是否為空、元素和屬性的數(shù)據(jù)類型、默認值以及固定值等內(nèi)容。
3協(xié)議描述方法
基于通信協(xié)議的標簽自定義、變長、嵌套等特點,考慮其擴展性、易描述性及易修改性等因素,采用XML進行通信協(xié)議的設(shè)計與描述。同時,采用XSD進行協(xié)議格式校驗,確保協(xié)議格式的正確性和符合性。按照通信協(xié)議的基本組成,制定了單個協(xié)議的XSD文件,具體描述了單條報文中的元素組織結(jié)構(gòu)及約束。
3.1創(chuàng)建協(xié)議描述文件
一個協(xié)議描述文件創(chuàng)建包括三種方式,分別為按空模板創(chuàng)建、按基礎(chǔ)模板創(chuàng)建和按類型模板創(chuàng)建描述文件。按空模板創(chuàng)建,用戶需填寫協(xié)議文件名稱、存儲路徑和說明,其中協(xié)議說明內(nèi)容為選填項。按空模板創(chuàng)建方式會產(chǎn)生一個空協(xié)議文件,僅包括協(xié)議文件的基本信息,無報文實質(zhì)內(nèi)容。后期需要用戶手動添加報文基本屬性、報文頭和用戶自定義數(shù)據(jù)段內(nèi)容。按基礎(chǔ)模板創(chuàng)建和按類型模板創(chuàng)建協(xié)議文件,需要用戶選擇對應(yīng)模板,程序按照此模板中已有內(nèi)容創(chuàng)建新的協(xié)議,用戶根據(jù)需要修改特定的元素內(nèi)容或添加自定義數(shù)據(jù)段內(nèi)容,目的是減少設(shè)計工作量,提升協(xié)議設(shè)計和制定的效率。
3.2添加并描述報文信息
首先向協(xié)議中添加報文,協(xié)議中可包含的報文數(shù)量為0~∞。其次按照報文XSD中規(guī)定的協(xié)議基本屬性和報文頭,開展對應(yīng)部分的設(shè)計描述。最后開展用戶自定義報文段的設(shè)計描述。用戶可在報文頭后添加用戶自定義報文段,一條報文中可包含的用戶自定義報文段數(shù)量為0~∞。每個用戶自定義報文段包括報文段屬性和數(shù)據(jù)內(nèi)容,報文段屬性包括字段名稱、類型和長度。根據(jù)實際業(yè)務(wù)需要,用戶自定義報文段可包含“位”或“字段”兩種類型。由于按位描述時一個字段長度可包含多個位段數(shù)據(jù),因此位段數(shù)據(jù)可以是一個或多個,其余未定義位段默認為空。
3.3文件校驗與保存
協(xié)議中包含的報文描述完成后,利用XSD自動進行格式校驗和數(shù)據(jù)檢查,若出現(xiàn)格式或數(shù)據(jù)異常,給出錯誤信息并提示用戶修改,若檢查無誤,將按照自定義XML文件格式自動將協(xié)議信息進行組織轉(zhuǎn)化,并將文件保存在指定路徑下。
4協(xié)議文件格式校驗方法
QT提供了方便XML文件格式校驗的類QxmlSchemaValidator,利用該類提供的validate方法,可完成對指定XML文件的格式校驗。
5協(xié)議描述文件預(yù)覽
為突出協(xié)議描述文件的層次化和結(jié)構(gòu)化,便于預(yù)覽,將協(xié)議文件預(yù)覽分為兩部分,一部分采用樹形結(jié)構(gòu)形式,主要用于編輯、顯示協(xié)議的組織層次結(jié)構(gòu)和內(nèi)容,另一部分采用內(nèi)嵌瀏覽器的方式,瀏覽協(xié)議描述文件(XML)的內(nèi)容。該預(yù)覽方式具有以下優(yōu)點:
(1)支持左右兩側(cè)顯示內(nèi)容的實時對比查看;
(2)保留協(xié)議的層次結(jié)構(gòu),協(xié)議結(jié)構(gòu)一目了然;
(3)支持關(guān)鍵字段高亮或顏色區(qū)分顯示,內(nèi)容顯示更加清晰;
(4)支持顯示內(nèi)容的縮放、段落折疊,方便協(xié)議預(yù)覽。協(xié)議描述文件的預(yù)覽方法是通過訪問COM組件的方式,調(diào)用系統(tǒng)自帶的IE瀏覽器,實現(xiàn)通信協(xié)議文件的內(nèi)容預(yù)覽。QT提供了QaxWidget類幫助訪問COM組件,IE瀏覽器對應(yīng)的COM組件為MicrosoftWebBrowser。程序中插入QaxWidget控件,在QaxWidget控件中選擇MicrosoftWebBrowser的ActiveX控件,設(shè)置MicrosoftWebBrowser的相關(guān)屬性。創(chuàng)建QaxWidget類對象,通過調(diào)用對象的dynamicCall類方法,實現(xiàn)協(xié)議文件在瀏覽器中的加載顯示。
6通信協(xié)議文件的自動生成
QT提供了QaxWidget和QaxObject類幫助訪問COM組件,程序通過COM組件調(diào)用方式訪問word程序,利用word提供的COM接口,自動實現(xiàn)通信協(xié)議文件的創(chuàng)建、內(nèi)容填充、保存等功能,最終自動生成符合模板格式要求的通信協(xié)議文件。供系統(tǒng)設(shè)計人員進行協(xié)議分發(fā)和存檔使用。通信協(xié)議文件自動生成的具體步驟如下:
(1)創(chuàng)建并編輯一個通信協(xié)議文件模板,設(shè)置模板的文檔標簽,保存為template.dot;
(2)初始化COM組件,創(chuàng)建一個QaxObject對象,指定對象與本機安裝的word程序組件相關(guān)聯(lián);
(3)利用QaxObject對象以template.dot為模板新建一個文檔,獲取當前程序中的激活文檔;
(4)遍歷獲取文檔中的自定義標簽,逐個選中標簽,將協(xié)議描述文件中指定元素內(nèi)容插入到對應(yīng)的標簽位置;
(5)通信協(xié)議文件內(nèi)容填充完成后,保存文件至指定路徑,關(guān)閉當前工作文檔,退出word應(yīng)用程序,實現(xiàn)通信協(xié)議文件生成。
7結(jié)論
本文分析了作戰(zhàn)系統(tǒng)網(wǎng)絡(luò)通信協(xié)議的基本組成和層次結(jié)構(gòu),并基于XML語言的優(yōu)勢及特點,設(shè)計開發(fā)了通信協(xié)議描述軟件,創(chuàng)建協(xié)議描述文件并完成作戰(zhàn)系統(tǒng)通信報文內(nèi)容的編輯與描述,利用XSD進行協(xié)議描述文件的格式校驗,最終將協(xié)議描述文件按照預(yù)定模板,自動生成通信協(xié)議文件,方便通信協(xié)議的下發(fā)、存檔等。軟件支持通信協(xié)議文件的導(dǎo)入和再編輯,有效提高了通信協(xié)議的維護效率。未來應(yīng)不斷加強軟件安全保密方面的工作,提升作戰(zhàn)系統(tǒng)網(wǎng)絡(luò)通信協(xié)議設(shè)計開發(fā)及分發(fā)傳輸過程中的信息安全。
參考文獻:
[1]張銳,張璐璐,雷新峰,等.基于XML的安全協(xié)議形式化描述方法[J].軍事通信技術(shù),2009,30(1):21-26.
[2]李華,葉新銘,曾敏,等.基于XML的協(xié)議一致性測試系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機科學(xué),2006(10):275-278.
[3]劉昕鵬,羅英偉,汪小林,等.基于XML的WebGIS通信協(xié)議的設(shè)計與實現(xiàn)[J].軟件學(xué)報,2004(6):899-907.
[4]王娜,王亞弟.安全協(xié)議的形式化說明、設(shè)計及驗證[J].計算機應(yīng)用,2003(10):42-45.
[5]劉政,趙保華,屈玉貴.一種描述安全協(xié)議的形式化規(guī)范語言[J].小型微型計算機系統(tǒng),2004(7):1246-1249.
作者:李俊,李峰綱,高興利 單位:西安泛華科技開發(fā)有限公司