• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于XML描述的動態(tài)可擴展數(shù)據(jù)報文的模型構(gòu)建方法

      2020-04-29 13:03:14
      計算機測量與控制 2020年4期
      關(guān)鍵詞:子幀報文動態(tài)

      李 智

      (中國電子科技集團(tuán)公司 第十研究所信息中心,成都 610036)

      0 引言

      在航空、通訊、航天等綜合電子系統(tǒng)中數(shù)據(jù)總線接口格式差異較大,如:端序方面即有大端序,也有小端序的接口格式;長度方面既存在長度固定的接口定義,又存在長度動態(tài)變化的定義。因此,為了匹配不同設(shè)備的接口,控制類、接口類、測試類等應(yīng)用軟件代碼需要定義較多類型接口。當(dāng)某一設(shè)備接口發(fā)生變化后,需要修改軟件代碼,從而導(dǎo)致軟件適應(yīng)性以及通用性降低。如果軟件代碼與接口設(shè)計解耦,可降低軟件因接口變更的代碼修改,提升軟件的適應(yīng)性和通用性[1]。本文提出基于XML語言統(tǒng)一描述多類型并適用動態(tài)可擴展接口的方法,全文首先分析了常規(guī)數(shù)據(jù)報文、動態(tài)可擴展數(shù)據(jù)報文結(jié)構(gòu),然后提出了適應(yīng)動態(tài)可擴展報文的模型,最后給出了基于XML語言對動態(tài)可擴展報文的模型的實現(xiàn)方法。

      1 數(shù)據(jù)報文結(jié)構(gòu)分析

      1.1 常規(guī)數(shù)據(jù)報文

      常規(guī)數(shù)據(jù)報文一般由幀頭、長度、數(shù)據(jù)類型、數(shù)據(jù)內(nèi)容、校驗位、幀尾等結(jié)構(gòu)組成(如圖1所示)。接收系統(tǒng)根據(jù)幀頭、長度或幀尾接收完整的數(shù)據(jù)幀,并通過校驗位判斷接收的數(shù)據(jù)是否正確,校驗類型包括奇偶校驗、異或校驗及循環(huán)校驗等。接收系統(tǒng)根據(jù)數(shù)據(jù)報文中的數(shù)據(jù)類型調(diào)用對應(yīng)的計算邏輯,將數(shù)據(jù)報文中的數(shù)據(jù)內(nèi)容作為計算邏輯的輸入[2-3]。

      圖1 常規(guī)數(shù)據(jù)報文結(jié)構(gòu)

      常規(guī)數(shù)據(jù)報文中具體的數(shù)據(jù)類型確定了報文的長度,以及數(shù)據(jù)內(nèi)容區(qū)所攜帶的信息種類,因此,數(shù)據(jù)報文的封裝和解析邏輯較簡單,但一幀數(shù)據(jù)所攜帶的信息相對較少,可擴展性和適應(yīng)性較差[4-5]。

      1.2 動態(tài)可擴展數(shù)據(jù)報文

      為適應(yīng)復(fù)雜綜合電子系統(tǒng)信息量大、靈活擴展等需求,出現(xiàn)大量動態(tài)可擴展數(shù)據(jù)報文的設(shè)計,具體表現(xiàn)為:一幀數(shù)據(jù)攜帶較多信息種類,并且數(shù)據(jù)種類可動態(tài)增減。

      例如某信號分析系統(tǒng),信號處理設(shè)備向頻譜處理軟件輸出信號處理結(jié)果,數(shù)據(jù)幀除攜帶信號頻率、帶寬、幅度等參數(shù)外,可選擇攜帶頻譜數(shù)據(jù)、信號結(jié)果數(shù)據(jù)等,其數(shù)據(jù)報文結(jié)構(gòu)如圖2所示。當(dāng)主偵功能項的值為“0001H”,數(shù)據(jù)內(nèi)容中附加頻譜數(shù)據(jù)子幀,為“0000H”不附加該頻譜數(shù)據(jù)子幀。當(dāng)頻譜子幀中擴展標(biāo)志為1時嵌套接收機頻譜特性子子幀,為0則不嵌套。

      圖2 動態(tài)可擴展數(shù)據(jù)報文

      1.3 常規(guī)和動態(tài)可擴展數(shù)據(jù)報文分析

      通過對常規(guī)數(shù)據(jù)報文、動態(tài)可擴展數(shù)據(jù)報文分析發(fā)現(xiàn),數(shù)據(jù)報文具有以下特性:

      1)數(shù)據(jù)報文具有可逐層分解到基本單元的特性:無論是常規(guī)數(shù)據(jù)報文,還是動態(tài)可擴展數(shù)據(jù)報文,均具有可逐層分解到基本信息單元的特性,如:圖1慣導(dǎo)數(shù)據(jù)分解為高度、角速度、加速度等信息,形成基本的信息單元存放于慣導(dǎo)數(shù)據(jù)報文;圖2信號處理結(jié)果報文可分解為頻率信息單元、頻譜子幀等,頻譜子幀可繼續(xù)分解為頻率、帶寬等基本信息單元。

      2)基本信息單元具有應(yīng)用信息表達(dá)或報文結(jié)構(gòu)表達(dá)作用:應(yīng)用信息用于物理信號量、系統(tǒng)參數(shù)等數(shù)據(jù)表達(dá),如圖1數(shù)據(jù)報文中的元素1信息單元表示高度物理量。信息單元結(jié)構(gòu)信息用于數(shù)據(jù)報文結(jié)構(gòu)的邏輯控制,如圖1幀頭、幀尾、數(shù)據(jù)長度、校驗值等,該部分結(jié)構(gòu)信息用于接收系統(tǒng)根據(jù)幀頭、長度或幀尾接收完整的數(shù)據(jù)幀,并通過校驗位判斷接收的數(shù)據(jù)是否正確。報文結(jié)構(gòu)表達(dá)主要實現(xiàn)發(fā)送系統(tǒng)和接收系統(tǒng)之間如何編譯和解譯信息。

      3)動態(tài)可擴展數(shù)據(jù)報文中結(jié)構(gòu)表達(dá)類型增多:動態(tài)可擴展數(shù)據(jù)報文為適應(yīng)報文長度變化,增加了數(shù)據(jù)結(jié)構(gòu)表達(dá)的信息,如:圖2信號處理結(jié)果中功能項用于確定是否附加頻譜數(shù)據(jù)子幀,頻譜子幀中擴展標(biāo)識用于確定是否附加接收機頻譜特性子子幀。

      2 構(gòu)建適應(yīng)動態(tài)可擴展報文的模型

      常規(guī)數(shù)據(jù)報文可一次分解到基本信息單元。動態(tài)可擴展數(shù)據(jù)報文在主幀中包含子幀,甚至子幀繼續(xù)嵌套子幀,通過逐級分解,仍然可分解到基本信息單元。因此,根據(jù)可逐級分解的特點,可將數(shù)據(jù)報文形式化為樹形模型,如圖3所示。

      圖3 適應(yīng)動態(tài)可擴展報文的模型

      信息單元具有應(yīng)用信息表達(dá)或報文結(jié)構(gòu)表達(dá)作用的特性。通過分析大量采用動態(tài)可擴展報文的項目,發(fā)現(xiàn)表達(dá)結(jié)構(gòu)信息的信息單元越多,報文結(jié)構(gòu)形式越多。進(jìn)一步分析結(jié)構(gòu)信息表達(dá)的邏輯與報文動態(tài)擴展形式的關(guān)系,發(fā)現(xiàn)其邏輯控制類型可歸納為4類:選擇控制、位開關(guān)控制、循環(huán)控制、占位鏈接控制等4種。

      綜上研究,如圖4所示,基本信息單元可歸納為應(yīng)用信息和結(jié)構(gòu)信息兩大類,結(jié)構(gòu)信息可分為幀結(jié)構(gòu)信息、邏輯控制信息。其中,邏輯控制信息包括:選擇控制、位開關(guān)控制、循環(huán)控制、占位鏈接控制等,各類控制定義和擴展方式如下:

      圖4 基本信息單元分類歸納

      2.1 選擇控制

      選擇控制是指數(shù)據(jù)報文中所附加的子幀由邏輯控制信息單元的數(shù)值確定,即每一個數(shù)值對應(yīng)一種具體的子幀。例如圖5所示,主幀中功能項即為選擇控制信息單元,當(dāng)功能項值為1時,主幀動態(tài)擴展子幀1;當(dāng)功能項值為2時,主幀動態(tài)擴展子幀2;圖5當(dāng)功能項值為n時,主幀動態(tài)擴展子幀n。

      圖5 選擇控制抽象示例

      2.2 位開關(guān)控制

      位開關(guān)控制是指數(shù)據(jù)報文中邏輯控制信息單元的二進(jìn)制比特位對應(yīng)一個具體的子幀,二進(jìn)制比特位值為1表示動態(tài)附加某對應(yīng)子幀,0表示不附加。例如圖6所示,主幀中功能項即為位開關(guān)控制信息單元,功能項的二進(jìn)制比特位對應(yīng)一個具體的子幀,如Bit0對應(yīng)子幀1,Bit7對應(yīng)子幀k。當(dāng)Bit0值為1時,附加子幀1,為0時不附加;當(dāng)Bit1為1時,附加子幀2,為0時不附加;當(dāng)Bit2為1時,附加子幀3,為0時不附加。

      圖6 位開關(guān)控制抽象示例

      2.3 循環(huán)控制

      循環(huán)控制是指數(shù)據(jù)報文中邏輯控制信息單元的值確定了子幀重復(fù)添加的次數(shù)。例如圖7所示,主幀中功能項即為循環(huán)控制信息單元,功能項的值為1時子幀在主幀中重復(fù)1次;功能項的值為2時子幀在主幀中重復(fù)2次;功能項的值為k時子幀在主幀中重復(fù)k次。

      圖7 循環(huán)控制抽象示例

      2.4 占位鏈接控制

      占位鏈接控制信息單元是一個虛擬的邏輯控制信息單元,在實際數(shù)據(jù)報文中不占空間,主要用于標(biāo)記子幀在主幀中動態(tài)擴展的位置,與選擇控制、位開關(guān)控制、循環(huán)控制搭配使用,如圖5、圖6、圖7中灰色底紋信息單元。

      3 XML語言實現(xiàn)動態(tài)可擴展報文模型

      數(shù)據(jù)報文可分解到基本信息單元的特性使其可形式化為樹形表達(dá)結(jié)構(gòu),XML語言恰好具備樹形結(jié)構(gòu)的展現(xiàn)形式,而且XML節(jié)點屬性化描述方式可表述信息單元的大量信息,如:信息單元名稱、類型、值、數(shù)據(jù)類型、長度等等。同時,XML語言便于計算機對模型的識別,以及跨平臺之間信息傳遞。因此,XML語言是對動態(tài)可擴展報文的模型的最佳實現(xiàn)方式之一[6-7]。

      3.1 動態(tài)可擴展報文XML框架結(jié)構(gòu)

      框架結(jié)構(gòu)如下所示,Message為根節(jié)點,表示數(shù)據(jù)報文集合,多個數(shù)據(jù)報文并列作為兄弟節(jié)點,構(gòu)成Message的子節(jié)點集合。數(shù)據(jù)報文MsgData是由多個信息單元集合構(gòu)成,多個信息單元MsgDataElement并列作為兄弟節(jié)點。數(shù)據(jù)報文、信息單元所具有的特性通過XML節(jié)點屬性表述。如下所示:

      ……

      ……

      ……

      子幀報文與主幀報文描述方式一樣,并作為主幀報文的兄弟節(jié)點。主幀報文中邏輯控制信息單元與占位鏈接控制信息單元配合使用,LinkTo屬性表示映射、鏈接關(guān)系。占位鏈接控制信息單元也通過其LinkTo屬性建立與具體子幀的映射關(guān)系[8]。

      3.2 信息單元的XML節(jié)點定義

      信息單元節(jié)點定義為MsgDataElement,是數(shù)據(jù)報文MsgData的子節(jié)點,多個信息單元并列作為兄弟節(jié)點。信息單元具有的特性通過XML節(jié)點的屬性進(jìn)行表達(dá),如:名稱、長度、信息單元類型、值類型、值、最小值、最大值、大小端、擴展標(biāo)識等。如下所示[9-10]:

      Name表示信息單元名稱。NodeType表示信息單元類型,其值有應(yīng)用信息DataNode、選擇控制SelectCtrNode、位開關(guān)控制BitCtrlNode、循環(huán)控制CycleCtrlNode、占位鏈接控制LinkNode等。Length表示信息單元長度。Type表示信息單元數(shù)據(jù)值Value的數(shù)據(jù)類型,包括:整型Int、字符串String、布爾型Bool、IP地址型IP、浮點型Float、高精度Double、日期DataTime等等。Extend表示信息單元是否為擴展,邏輯控制類型信息單元值為True,應(yīng)用信息類型值為False。Endian表示信息單元大小端屬性。LValue、HValue表示信息單元值Value的取值范圍。LinkTo表示與其匹配的占位鏈接控制信息單元[8]。

      3.3 XML語言描述對動態(tài)可擴展報文控制邏輯

      根據(jù)動態(tài)可擴展報文模型,占位鏈接控制標(biāo)記子幀在主幀中的擴展位置,子幀動態(tài)添加方式主要通過選擇控制、位開關(guān)控制、循環(huán)控制等信息單元表示,并與占位鏈控制信息單元配合使用。

      3.3.1 XML語言描述選擇控制邏輯

      選擇控制信息單元與占位鏈接信息單元共同實現(xiàn)多個子幀的選擇添加。如下代碼片段所示,Name屬性為“選擇控制信息單元|【選擇控制】”的XML節(jié)點表示子幀在主幀中擴展的位置,Name屬性為“選擇控制信息單元”的XML節(jié)點和其子節(jié)點決定在占位鏈接中擴展的具體子幀。EnumElement節(jié)點集合通過LinkTo屬性與被選擇的子幀映射,當(dāng)Value屬性值為1時,表示EnumElement節(jié)點中“子幀1”被選中,其LinkTo屬性所指向的“子幀1”子報文動態(tài)添加到占位鏈接節(jié)點。如下所示:

      ……

      ……

      3.3.2 XML語言描述位開關(guān)控制邏輯

      位開關(guān)控制信息單元與占位鏈接信息單元共同實現(xiàn)多個子幀在指定位置是否添加的控制。如下代碼片段所示,Name屬性為“位控制節(jié)點|子消息1”的占位鏈接控制節(jié)點表示子幀1在主幀中擴展的位置,子幀2、子幀3在主幀中的位置描述與上類似。Name屬性為“位控制節(jié)點”的XML節(jié)點和其子節(jié)點決定對應(yīng)占位鏈接控制節(jié)點的子幀是否添加。Name屬性為“位控制節(jié)點”的XML節(jié)點按位拆分成ExtendElement節(jié)點集合,其每一個節(jié)點對應(yīng)一個子節(jié)點控制,例如:“子消息1”ExtendElement節(jié)點,其Start和End屬性代表在字節(jié)中的啟始BIT位置,LinkTo屬性指向其對應(yīng)的占位控制節(jié)點,當(dāng)“子消息1”ExtendElement節(jié)點Value值為0時表示不添加子幀1,否則添加子幀。如下所示:

      ……

      ……

      3.3.3 XML語言描述循環(huán)控制邏輯

      循環(huán)控制信息單元與占位鏈接信息單元共同實現(xiàn)子幀在指定位置重復(fù)添加次數(shù)。如下代碼片段所示,Name屬性為“循環(huán)控制信息單元|【循環(huán)控制】”的占位鏈接控制節(jié)點表示子幀1在主幀中重復(fù)添加的位置。Name屬性為“循環(huán)控制信息單元”的XML節(jié)點決定對應(yīng)占位鏈接控制節(jié)點所指向的子幀重復(fù)添加的次數(shù)。例如:當(dāng)“循環(huán)控制信息單元”的XML節(jié)點Value屬性值為2時,表示其LinkTo屬性指向的占位鏈接控制對應(yīng)子幀重復(fù)添加2次。

      ........

      ........

      3.3.4 XML語言描述占位鏈接控制邏輯

      占位鏈接控制信息單元是一個虛擬的信息單元,在實際數(shù)據(jù)報文中不占空間,無具體值。它表示對應(yīng)子幀在主幀中出現(xiàn)的位置,需要與選擇控制、位開關(guān)控制、循環(huán)控制等信息單元配對使用。選擇控制、位開關(guān)控制、循環(huán)控制等信息單元的LinkTo屬性指向?qū)?yīng)的占位鏈接控制信息單元。

      ........

      4 總結(jié)

      本文通過分析常規(guī)數(shù)據(jù)報文格式以及動態(tài)可擴展數(shù)據(jù)報文格式,歸納出基本信息單元的類型和用途,以及具有的3種特性: 數(shù)據(jù)報文具有可逐層分解到基本單元的特性;基本信息單元具有應(yīng)用信息表達(dá)或報文結(jié)構(gòu)表達(dá)作用;動態(tài)可擴展數(shù)據(jù)報文中結(jié)構(gòu)表達(dá)類型增多等。根據(jù)分析結(jié)果,提出了適應(yīng)動態(tài)可擴展的數(shù)據(jù)報文描述模型。最后,使用XML語言給出了模型的框架描述方法,以及選擇控制、位開關(guān)控制、循環(huán)控制、占位鏈接控制的描述方法。以上方法已在配套多個型號工程的總線接口測試軟件中應(yīng)用,可有效實現(xiàn)軟件代碼與接口定義的解耦,提高軟件代碼的通用性和適應(yīng)性。

      猜你喜歡
      子幀報文動態(tài)
      基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      國內(nèi)動態(tài)
      國內(nèi)動態(tài)
      國內(nèi)動態(tài)
      CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
      動態(tài)
      淺析反駁類報文要點
      中國外匯(2019年11期)2019-08-27 02:06:30
      LAA系統(tǒng)在非授權(quán)頻段上的動態(tài)子幀配置策略
      ATS與列車通信報文分析
      用于針對LTE中的eIMTA有效使用DAI比特的方法和裝置
      武隆县| 盈江县| 交口县| 韩城市| 昂仁县| 弋阳县| 古浪县| 麦盖提县| 德州市| 潼关县| 达尔| 普兰店市| 铜鼓县| 茶陵县| 色达县| 会泽县| 彭水| 西乌| 基隆市| 廊坊市| 鄂尔多斯市| 界首市| 黄浦区| 祁门县| 定襄县| 宜兰市| 东乌| 谷城县| 永兴县| 枝江市| 赤壁市| 清新县| 汤原县| 湟源县| 泾川县| 吉首市| 收藏| 永顺县| 南部县| 额尔古纳市| 扶沟县|