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