国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種可定制的異構(gòu)網(wǎng)絡(luò)協(xié)議解析器的設(shè)計(jì)

2021-10-09 23:26蔣錁沅李曉明
軟件工程 2021年10期

蔣錁沅 李曉明

摘? 要:異構(gòu)網(wǎng)絡(luò)(Heterogeneous Network)中包含多種使用不同網(wǎng)絡(luò)協(xié)議的設(shè)備,因此設(shè)計(jì)一種可定制化的網(wǎng)絡(luò)協(xié)議解析器是解決各設(shè)備之間信息交互,降低硬件設(shè)備更新和替換成本的重要課題。本文提出使用XML(可擴(kuò)展性標(biāo)記語(yǔ)言)作為網(wǎng)絡(luò)協(xié)議解析器的協(xié)議描述文件,利用XML文件的可擴(kuò)展性、異構(gòu)性和標(biāo)簽之間的父子層級(jí)關(guān)系,實(shí)現(xiàn)該網(wǎng)絡(luò)協(xié)議解析器的通用性,達(dá)到更新或更換網(wǎng)絡(luò)協(xié)議時(shí)無(wú)須重新編寫(xiě)代碼,只需更改或替換XML文件即可;同時(shí),支持用戶可選當(dāng)前解析器解析的最小顆粒度為bit或byte,滿足更多設(shè)備協(xié)議的數(shù)據(jù)要求。通過(guò)實(shí)驗(yàn)表明,本文提出的網(wǎng)絡(luò)協(xié)議解析器滿足協(xié)議解析的要求。

關(guān)鍵詞:網(wǎng)絡(luò)協(xié)議解析器;XML文件;異構(gòu)網(wǎng)絡(luò)

中圖分類(lèi)號(hào):TP311.5? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

A Design of a Customizable Heterogeneous Network Protocol Parser

JIANG Keyuan, LI Xiaoming

(Faculty of Mechanical Engineering and Automation, Zhejiang Sci-Tech University, Hangzhou 310000, China)

1393621017@qq.com; lxmzist@zstu.edu.cn

Abstract: Heterogeneous Network contains a variety of devices that use different network protocols. Therefore, designing a customizable network protocol parser is an important issue to realize information interaction between devices and reduce the cost of hardware equipment update and replacement. This paper proposes to use XML (Extensible Markup Language) as the protocol description file of the network protocol parser. Based on its scalability, heterogeneity, and parent-child hierarchy between nodes, the XML file can be used to achieve the generality of the network protocol parser, so that there is no need to rewrite the code when updating or replacing the network protocol, just change or replace the XML file. At the same time, the minimum granularity of the current parser users can choose is bit or byte, which can meet the data requirements of more device protocols. Experiments show that the network protocol parser proposed in this paper meets the requirements of protocol parsing.

Keywords: network protocol parser; XML file; heterogeneous network

1? ?引言(Introduction)

異構(gòu)融合網(wǎng)絡(luò)的研究最早由美國(guó)加州大學(xué)伯克利分校的BARWAN(Bay Area Research Wireless Access Network)項(xiàng)目提出,并首次將不同類(lèi)型的網(wǎng)絡(luò)組合構(gòu)成異構(gòu)網(wǎng)絡(luò)以支持不同運(yùn)行網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)設(shè)備[1]。目前互聯(lián)網(wǎng)和物聯(lián)網(wǎng)產(chǎn)業(yè)的繁榮發(fā)展也催生了大量的新型協(xié)議,如MPLS、1553總線協(xié)議和IP-in-IP等。異構(gòu)網(wǎng)絡(luò)為了支持這些新的網(wǎng)絡(luò)協(xié)議,必須持續(xù)不斷地更新中轉(zhuǎn)設(shè)備的協(xié)議解析能力,以滿足不同設(shè)備之間的通信需求[2]。

由于設(shè)備來(lái)自不同的設(shè)備制造商,且每個(gè)設(shè)備制造商有著自己獨(dú)有的網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)協(xié)議隨著產(chǎn)品的更新?lián)Q代也在不斷地更新。而硬件開(kāi)發(fā)周期長(zhǎng)和部署成本較高的問(wèn)題,也意味著異構(gòu)網(wǎng)絡(luò)的部署和設(shè)計(jì)具有實(shí)驗(yàn)困難、更新成本高和硬件升級(jí)周期長(zhǎng)的特點(diǎn)。本文以屏蔽硬件底層協(xié)議構(gòu)建信息交互層的設(shè)計(jì)思路,利用軟件的定義協(xié)議的思想[3]提出了一種基于XML的異構(gòu)網(wǎng)絡(luò)協(xié)議解析器;設(shè)計(jì)了解析方式及其對(duì)應(yīng)的XML文件結(jié)構(gòu),達(dá)到只需用戶配置XML文件中的標(biāo)簽描述信息就可以實(shí)現(xiàn)使用不同網(wǎng)絡(luò)協(xié)議的設(shè)備之間的信息交互。本文使用Java語(yǔ)言對(duì)解析器進(jìn)行代碼實(shí)現(xiàn),一方面是Java具有平臺(tái)無(wú)關(guān)性;另一方面是Java擁有性能穩(wěn)定且高效的XML解析工具庫(kù)[4]。最后通過(guò)實(shí)驗(yàn)驗(yàn)證了該解析器可以正常工作并具備對(duì)不同網(wǎng)絡(luò)協(xié)議設(shè)備的數(shù)據(jù)解析能力。

2? 異構(gòu)網(wǎng)絡(luò)協(xié)議解析器方案設(shè)計(jì)(Solution design of heterogeneous network protocol parser)

網(wǎng)絡(luò)協(xié)議是為完成計(jì)算機(jī)網(wǎng)絡(luò)通信而制定的規(guī)則、約定和標(biāo)準(zhǔn)。一個(gè)完善的網(wǎng)絡(luò)協(xié)議由語(yǔ)法、語(yǔ)義和時(shí)序這三大要素組成。而網(wǎng)絡(luò)協(xié)議解析技術(shù)就是按照事先配置的網(wǎng)絡(luò)協(xié)議將數(shù)據(jù)信息從數(shù)據(jù)幀中解析出來(lái)。

現(xiàn)有的網(wǎng)絡(luò)協(xié)議解析方式可以分為兩類(lèi),一類(lèi)是依靠硬件底層對(duì)其進(jìn)行解析;另一類(lèi)則是依靠軟件來(lái)實(shí)現(xiàn)數(shù)據(jù)的解析[5]。前者依靠硬件底層直接對(duì)數(shù)據(jù)進(jìn)行解析,優(yōu)點(diǎn)是解析速度快,但是設(shè)備更新周期長(zhǎng),對(duì)異構(gòu)融合網(wǎng)絡(luò)的支持較差;后者則是在應(yīng)用層對(duì)數(shù)據(jù)進(jìn)行解析,底層設(shè)備只涉及數(shù)據(jù)的轉(zhuǎn)發(fā),優(yōu)點(diǎn)是對(duì)異構(gòu)融合網(wǎng)絡(luò)的支持程度高,不同協(xié)議之間只是配置文件的替換,降低了搭建異構(gòu)融合網(wǎng)絡(luò)的門(mén)檻。

針對(duì)異構(gòu)融合網(wǎng)絡(luò)中底層設(shè)備采用不同協(xié)議,不同廠商之間的設(shè)備難以互聯(lián)的問(wèn)題,本文提出的解析器方案為基于軟件的解析方案,用戶只需按照解析器提供的標(biāo)準(zhǔn)XML標(biāo)簽來(lái)描述當(dāng)前設(shè)備需要接收的網(wǎng)絡(luò)協(xié)議,就可以打通多個(gè)設(shè)備在異構(gòu)融合網(wǎng)絡(luò)中的數(shù)據(jù)通信壁壘。

解析文件是使用XML語(yǔ)言來(lái)描述當(dāng)前信源設(shè)備網(wǎng)絡(luò)協(xié)議的描述文檔。該解析文件被應(yīng)用于本文提出的網(wǎng)絡(luò)協(xié)議解析器中,為信宿和信源設(shè)備提供數(shù)據(jù)解析服務(wù)。

網(wǎng)絡(luò)協(xié)議解析器軟件由協(xié)議管理器(FrameManager)、可解析節(jié)點(diǎn)(ParseableNode)、解析鏈(ParseableList)和解析結(jié)果鏈(ParsedVarList)四大部分組成。協(xié)議管理器負(fù)責(zé)管理當(dāng)前解析器可解析的所有協(xié)議,可解析節(jié)點(diǎn)是指解析文件中參與解析的表述節(jié)點(diǎn),解析鏈則由多個(gè)可解析節(jié)點(diǎn)組成,而解析結(jié)果鏈則存放了所有解析完成的初始狀態(tài)的數(shù)據(jù)。解析鏈數(shù)據(jù)結(jié)構(gòu)如圖1所示。

3? XML協(xié)議描述文檔的設(shè)計(jì)與實(shí)現(xiàn)(Design and implementation of XML protocol description document)

本文提出的網(wǎng)絡(luò)協(xié)議解析器需要在異構(gòu)融合網(wǎng)絡(luò)中扮演“解釋者”的角色[6]。在異構(gòu)融合網(wǎng)絡(luò)中,設(shè)備與設(shè)備之間往往不是一對(duì)一的關(guān)系,而是一對(duì)多、多對(duì)一的關(guān)系。而作為一個(gè)異構(gòu)融合網(wǎng)絡(luò)往往意味著隨著時(shí)間的流逝,設(shè)備的數(shù)量和種類(lèi)即協(xié)議的種類(lèi)是不斷遞增和更新的,而不同的協(xié)議對(duì)數(shù)據(jù)解析的顆粒度往往不同[7]。除此之外,由于網(wǎng)絡(luò)中數(shù)據(jù)量大且完成一次任務(wù)時(shí)不同協(xié)議切換較頻繁,因此對(duì)解析器和描述文件便有以下要求:協(xié)議可替換和可增減,數(shù)據(jù)解析顆粒度可伸縮,協(xié)議切換要迅速。

為了滿足以上設(shè)計(jì)要求,本文利用XML自身具有的樹(shù)形結(jié)構(gòu)和節(jié)點(diǎn)之間的父子層級(jí)關(guān)系,可以很好地支持協(xié)議的增減替換,并對(duì)設(shè)備本身的協(xié)議按照字段分塊,規(guī)定最小解析單位,由此達(dá)到解析顆粒度的自由選擇。

為了滿足協(xié)議的動(dòng)態(tài)切換和增減,本文利用面向?qū)ο蟮乃枷朐O(shè)計(jì)了一個(gè)協(xié)議管理器,該管理器在內(nèi)存中管理多個(gè)協(xié)議。因?yàn)槟壳坝?jì)算機(jī)中的內(nèi)存大多使用DDR4內(nèi)存,而DDR4的傳輸速率可達(dá)2,133—3,200 MT/s[8]。因此在解析器初始化時(shí),將描述網(wǎng)絡(luò)協(xié)議的XML文件以特定的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在內(nèi)存中可以有效解決計(jì)算機(jī)IO資源的阻塞和浪費(fèi),并采用懶加載的方式對(duì)協(xié)議文件進(jìn)行動(dòng)態(tài)擴(kuò)容。

3.1? ?XML協(xié)議描述文檔設(shè)計(jì)

本文提出的協(xié)議描述文件的XML標(biāo)簽主要有根標(biāo)簽frames、協(xié)議標(biāo)簽frame、塊標(biāo)簽block、最小解析標(biāo)簽seg、可變長(zhǎng)字段標(biāo)簽random、循環(huán)標(biāo)簽loop和時(shí)間標(biāo)簽time。各個(gè)標(biāo)簽的主要功能如表1所示。

XML文件的樹(shù)形關(guān)系和XML協(xié)議描述文檔實(shí)例如圖2、圖3所示。

3.2? ?解析協(xié)議數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

解析協(xié)議的數(shù)據(jù)結(jié)構(gòu)用于映射當(dāng)前XML文件中的標(biāo)簽和標(biāo)簽中的屬性值,并且按照XML文件中的標(biāo)簽順序?qū)馕龉?jié)點(diǎn)進(jìn)行排列組合。程序中有關(guān)解析節(jié)點(diǎn)之間的類(lèi)圖關(guān)系如圖4所示。

ParseableNode為SegNode、TimeNode、RandomNode和LoopNode的父類(lèi),表示可解析單位。SegNode是最小解析對(duì)象,也是整個(gè)解析鏈的節(jié)點(diǎn)。RandomNode、LoopNode、TimeNode和SegNode之間為聚合關(guān)系。所有的解析方式都由SegNode的實(shí)例對(duì)象完成。一個(gè)Frame對(duì)象表示一條網(wǎng)絡(luò)協(xié)議,并負(fù)責(zé)管理多個(gè)Block對(duì)象;Block對(duì)象則管理著ParseableNode的所有子類(lèi)對(duì)象。因此在解析器加載完XML文件后,可以由此在內(nèi)存中生成一個(gè)多分支解析鏈表,F(xiàn)rameManager對(duì)象管理所有加載的Frame對(duì)象。

3.3? ?解析結(jié)果JavaBean設(shè)計(jì)

數(shù)據(jù)流被解析器成功解析后,所有解析出來(lái)的數(shù)據(jù)都需要打上對(duì)應(yīng)的標(biāo)識(shí),為后續(xù)數(shù)據(jù)的使用提供鍵值映射。得到的數(shù)據(jù)需要經(jīng)過(guò)二次加工或二次內(nèi)部協(xié)議的加工之后才可使用。而當(dāng)兩個(gè)網(wǎng)絡(luò)設(shè)備使用的網(wǎng)絡(luò)協(xié)議不相同時(shí),則需要描述信息來(lái)描述該數(shù)據(jù)的數(shù)據(jù)類(lèi)型、來(lái)源、所屬幀等信息,因此需要設(shè)計(jì)一個(gè)JavaBean作為該數(shù)據(jù)信息的載體。該JavaBean的屬性?xún)?nèi)容如表2所示。

4? ?解析器的設(shè)計(jì)與實(shí)現(xiàn)(Design and implementation of the parser)

本文提出的網(wǎng)絡(luò)協(xié)議解析器作為網(wǎng)絡(luò)協(xié)議的載體,需要從XML協(xié)議解析文檔中得到單向多分支鏈表并對(duì)其進(jìn)行管理。數(shù)據(jù)流到達(dá)解析器時(shí),從多個(gè)協(xié)議中挑選對(duì)應(yīng)的協(xié)議對(duì)數(shù)據(jù)流進(jìn)行解析,因此需要設(shè)計(jì)一個(gè)面向軟件的協(xié)議解析器來(lái)完成協(xié)議的加載和數(shù)據(jù)的解析。本節(jié)將利用前面設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)來(lái)設(shè)計(jì)解析器并描述其解析過(guò)程。

4.1? ?解析器設(shè)計(jì)

解析器的解析功能會(huì)按照當(dāng)前加載的XML協(xié)議描述文檔將數(shù)據(jù)信息從數(shù)據(jù)流中解析出來(lái)。由于數(shù)據(jù)信息在網(wǎng)絡(luò)中的傳遞可能會(huì)出現(xiàn)丟包等問(wèn)題,因此解析器在解析數(shù)據(jù)流時(shí)需要對(duì)收到的數(shù)據(jù)流進(jìn)行校驗(yàn),包括幀頭檢測(cè)、數(shù)據(jù)長(zhǎng)度檢測(cè)、幀尾檢測(cè)、CRC校驗(yàn)等[9],只有檢測(cè)通過(guò)才會(huì)進(jìn)入下一步的數(shù)據(jù)解析工作。檢測(cè)不通過(guò)時(shí)常用的解決方式有兩種:丟棄或緩存。前者直接丟棄不完整的數(shù)據(jù)幀,可能會(huì)導(dǎo)致數(shù)據(jù)的丟失;后者會(huì)存儲(chǔ)不完整的數(shù)據(jù)幀并等待幀完整,但是會(huì)導(dǎo)致解析器因數(shù)據(jù)幀長(zhǎng)時(shí)間沒(méi)有補(bǔ)全而發(fā)生阻塞。由于TCP/IP具有失敗重傳機(jī)制,且為了保證解析器的穩(wěn)定運(yùn)行,因此選用丟棄不完整數(shù)據(jù)幀的失敗機(jī)制。

4.2? ?解析器解析流程設(shè)計(jì)

解析器接收到來(lái)自某一設(shè)備發(fā)來(lái)的數(shù)據(jù)流,首先從數(shù)據(jù)流中檢測(cè)是否有幀頭信息,一旦檢測(cè)到幀頭信息就開(kāi)始校驗(yàn)數(shù)據(jù)長(zhǎng)度和幀尾信息是否都符合,如果符合就進(jìn)入數(shù)據(jù)的解析流程;否則就丟棄這一幀頭繼續(xù)等待下一幀數(shù)據(jù)流。解析器在解析過(guò)程中對(duì)應(yīng)的狀態(tài)傳遞如圖5所示。

解析流程將按照本文第3節(jié)中所設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu),以協(xié)議驅(qū)動(dòng)解析器解析數(shù)據(jù)流中的數(shù)據(jù)。解析器會(huì)先從FrameManager中匹配協(xié)議幀頭,匹配成功則開(kāi)始解析;若沒(méi)有匹配成功則會(huì)進(jìn)入懶加載機(jī)制,從文件中搜索對(duì)應(yīng)的數(shù)據(jù)幀頭;若都沒(méi)有則放棄解析數(shù)據(jù)。解析時(shí)以block為單位分塊解析,若block標(biāo)簽的pass屬性的屬性值不為1時(shí),則進(jìn)入解析;否則直接緩存對(duì)應(yīng)字段的原始數(shù)據(jù)。

解析過(guò)程中的數(shù)據(jù)會(huì)使用Parsedvar類(lèi)的對(duì)象存儲(chǔ)到鏈表中,每一個(gè)Parsedvar中都包含基本數(shù)據(jù)信息用于設(shè)備的軟件層對(duì)解析出來(lái)的數(shù)據(jù)進(jìn)行處理。這時(shí)解析器不再關(guān)注當(dāng)前數(shù)據(jù)信息的去向,而是交給運(yùn)行在設(shè)備中的軟件決定。如果需要直接處理就直接處理,如果需要傳輸?shù)较乱粋€(gè)節(jié)點(diǎn)的設(shè)備就通過(guò)當(dāng)前設(shè)備發(fā)送。

5? ?實(shí)例測(cè)試(Example test)

本文實(shí)驗(yàn)使用課題組開(kāi)發(fā)的通用式儀器平臺(tái)和多盒體組合式現(xiàn)場(chǎng)儀器進(jìn)行實(shí)驗(yàn)測(cè)試,使用組合式現(xiàn)場(chǎng)儀器搭建的自動(dòng)測(cè)試設(shè)備。自動(dòng)測(cè)試設(shè)備用于終端設(shè)備模擬和總系統(tǒng)模擬[10]。為了測(cè)試本文提出的解析器的異構(gòu)性和通用性,通過(guò)在模擬總系統(tǒng)上使用該解析器,解析來(lái)自擁有不同網(wǎng)絡(luò)協(xié)議的模擬終端設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)。因此可以將解析器是否成功解析出不同模擬終端設(shè)備發(fā)送的數(shù)據(jù),并成功響應(yīng)該請(qǐng)求作為該解析器是否達(dá)到解析異構(gòu)融合網(wǎng)絡(luò)要求的檢驗(yàn)標(biāo)準(zhǔn)。

實(shí)驗(yàn)設(shè)備:X86架構(gòu)的計(jì)算機(jī)、通用式儀器開(kāi)發(fā)平臺(tái)、多盒體組合式現(xiàn)場(chǎng)儀器。

實(shí)驗(yàn)設(shè)計(jì):計(jì)算機(jī)和多盒體組合式現(xiàn)場(chǎng)儀器使用網(wǎng)口連接,通過(guò)客戶端控制多盒體組合式現(xiàn)場(chǎng)儀器作為模擬總系統(tǒng)向模擬終端設(shè)備發(fā)送命令,接收模擬終端設(shè)備上發(fā)出的數(shù)據(jù)。如果模擬終端設(shè)備可成功接收到來(lái)自模擬總系統(tǒng)的廣播數(shù)據(jù)和指令數(shù)據(jù),模擬總系統(tǒng)可以接收到模擬終端設(shè)備上傳的數(shù)據(jù)且后面板解析成功并將解析的數(shù)據(jù)通過(guò)客戶端展示,則表明本文所提出的解析器符合要求。

本文提出的協(xié)議解析器已經(jīng)作為jar包嵌入通用式儀器開(kāi)發(fā)平臺(tái)搭建的測(cè)試仿真程序的組件庫(kù)中,并按照當(dāng)前開(kāi)發(fā)平臺(tái)的組件開(kāi)發(fā)要求,將解析器以組件的形式對(duì)其進(jìn)行仿真實(shí)驗(yàn)。

5.1? ?實(shí)驗(yàn)環(huán)境搭建

本實(shí)驗(yàn)使用Java的SWT技術(shù)搭建了一套地測(cè)測(cè)試設(shè)備客戶端,客戶端包含需要發(fā)送命令的命令樹(shù),后面板開(kāi)啟和停止按鈕用于控制后面板程序,協(xié)議解析表單則記錄當(dāng)前實(shí)驗(yàn)中所有通過(guò)本文提出的協(xié)議解析器應(yīng)對(duì)不同網(wǎng)絡(luò)協(xié)議解析出來(lái)的數(shù)據(jù),如圖6所示。

利用通用式儀器開(kāi)發(fā)平臺(tái)搭建后面板程序如圖7所示,其中的ProtoParseModule組件就是由本文提出的協(xié)議解析器提供的解析接口所編寫(xiě)的。

按照本文提出的XML文件標(biāo)簽定義和層級(jí)關(guān)系編寫(xiě)XML協(xié)議描述文件。該協(xié)議描述文件的部分內(nèi)容如圖8、圖9所示,可以看到數(shù)據(jù)遙測(cè)和數(shù)據(jù)注入返回內(nèi)容兩者的協(xié)議格式完全不同,如果可以使用解析器成功解析出數(shù)據(jù)信息則表示解析器具有通用性和異構(gòu)性。

5.2? ?實(shí)驗(yàn)

進(jìn)行異構(gòu)網(wǎng)絡(luò)協(xié)議解析器實(shí)驗(yàn)測(cè)試,流程圖如圖10所示。

按照實(shí)驗(yàn)流程,通過(guò)客戶端依次向后面板程序發(fā)送指令,后面板程序通過(guò)透?jìng)鞯姆绞较蚪M合式儀器發(fā)送指令;組合式儀器模擬各項(xiàng)設(shè)備并產(chǎn)回傳數(shù)據(jù);回傳數(shù)據(jù)按照不同的數(shù)據(jù)幀格式返回給后面板程序;后面板程序利用本文提出的解析器解析該數(shù)據(jù)幀,并將解析后的數(shù)據(jù)鏈返回給客戶端展示。實(shí)驗(yàn)結(jié)果如圖11所示。

客戶端發(fā)送的原始數(shù)據(jù)如圖12所示。

從實(shí)驗(yàn)結(jié)果可以看出,解析器成功解析兩個(gè)不同網(wǎng)絡(luò)協(xié)議的數(shù)據(jù),即數(shù)據(jù)遙測(cè)中的電壓電流數(shù)據(jù)和數(shù)據(jù)注入返回內(nèi)容的溫度值,并在客戶端頁(yè)面中展示得到電壓電流和檢測(cè)點(diǎn)溫度變化數(shù)據(jù)。通過(guò)比對(duì)模擬終端設(shè)備的發(fā)送原始數(shù)據(jù),本文提出的異構(gòu)網(wǎng)絡(luò)協(xié)議解析器解析出的數(shù)據(jù)和發(fā)送端一致。

6? ?結(jié)論(Conclusion)

本文提出的基于XML的網(wǎng)絡(luò)協(xié)議解析器是一種網(wǎng)絡(luò)數(shù)據(jù)解析的軟件方法。針對(duì)XML文件結(jié)構(gòu)具有異構(gòu)性的特點(diǎn),設(shè)計(jì)了本文提出解析器的XML標(biāo)簽協(xié)議描述文檔,用戶只需要按照指定的格式描述設(shè)備的網(wǎng)絡(luò)協(xié)議即可在異構(gòu)融合網(wǎng)絡(luò)中實(shí)現(xiàn)多個(gè)設(shè)備的信息交互。實(shí)驗(yàn)結(jié)果表明,通過(guò)該解析器可以成功解析出不同設(shè)備的不同應(yīng)用層協(xié)議。通過(guò)對(duì)協(xié)議解析XML文件中標(biāo)簽的組合和標(biāo)簽的屬性修改可以完成解析跳過(guò)、循環(huán)解析和可變長(zhǎng)區(qū)域的數(shù)據(jù)解析等復(fù)雜情況,驗(yàn)證了本文提出解析器的有效性、通用性,以及對(duì)異構(gòu)融合網(wǎng)絡(luò)的支持性高等特點(diǎn)。同時(shí),也表明本文所提出的軟件解析方法可以在工程研究、測(cè)試自動(dòng)化、工業(yè)控制等領(lǐng)域推廣使用。

參考文獻(xiàn)(References)

[1] KATZ R H, BREWER E A. Case for wireless overlay networks[D]. Berkeley: Univ. of California, Berkeley, 1996.

[2] 趙宇,殷樹(shù)娟,李翔宇.一種可重構(gòu)以太網(wǎng)數(shù)據(jù)包解析器中可重構(gòu)單元的設(shè)計(jì)[J].計(jì)算機(jī)工程與科學(xué),2020,42(02):220-228.

[3] 苗力心.軟件定義協(xié)議轉(zhuǎn)換關(guān)鍵技術(shù)研究[D].鄭州:戰(zhàn)略支援部隊(duì)信息工程大學(xué),2020.

[4] 何卓桁,劉志勇,李璐,等.異構(gòu)文本數(shù)據(jù)轉(zhuǎn)換中XML解析方法對(duì)比研究[J].計(jì)算機(jī)工程,2020,46(07):286-293,299.

[5] 盧憲.廣域監(jiān)控系統(tǒng)的可重構(gòu)協(xié)議解析器設(shè)計(jì)與開(kāi)發(fā)[D].南京:南京理工大學(xué),2009.

[6] 王孝龍,劉勤讓?zhuān)稚?一種支持異構(gòu)協(xié)議解析的可配置解析器設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2018,35(06):1830-1833.

[7] 張會(huì)麗.異構(gòu)融合網(wǎng)絡(luò)聯(lián)合資源分配算法研究[D].重慶:重慶郵電大學(xué),2014.

[8] 張瑋.計(jì)算機(jī)內(nèi)存及發(fā)展趨勢(shì)[J].電腦知識(shí)與技術(shù),2018,14? (35):224-225.

[9] 王永娜,趙奎,王鴻亮,等.針對(duì)異構(gòu)協(xié)議的動(dòng)態(tài)解析器模型[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(01):251-254.

[10] 王新亮,陳凱,薛琪琪,等.基于1553B總線的飛控軟件測(cè)試仿真平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2020,28(11):12-15,20.

作者簡(jiǎn)介:

蔣錁沅(1997-),男,碩士生.研究領(lǐng)域:機(jī)電系統(tǒng)集成,軟件開(kāi)發(fā).

李曉明(1976-),男,博士,副教授.研究領(lǐng)域:機(jī)電系統(tǒng)集成,軟件開(kāi)發(fā).本文通訊作者.

张北县| 定结县| 巴林右旗| 孟津县| 德兴市| 泗洪县| 乃东县| 浦城县| 金秀| 蒙阴县| 诸暨市| 天镇县| 色达县| 扎鲁特旗| 临湘市| 涿州市| 抚州市| 耒阳市| 罗山县| 广州市| 柳州市| 年辖:市辖区| 襄垣县| 张北县| 刚察县| 碌曲县| 迭部县| 涟源市| 诸暨市| 玛多县| 远安县| 华安县| 房产| 樟树市| 山阴县| 内江市| 通州区| 海阳市| 屏山县| 静宁县| 灵寿县|