亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于XML遠程數(shù)據(jù)傳輸協(xié)議的研究與實現(xiàn)

        2016-02-24 05:07:22焦東來吳子杰
        計算機技術(shù)與發(fā)展 2016年5期
        關(guān)鍵詞:規(guī)約結(jié)構(gòu)化解析

        張 娜,焦東來,吳子杰,楊 浩

        (南京郵電大學(xué) 電子科學(xué)與工程學(xué)院,江蘇 南京 210009)

        基于XML遠程數(shù)據(jù)傳輸協(xié)議的研究與實現(xiàn)

        張 娜,焦東來,吳子杰,楊 浩

        (南京郵電大學(xué) 電子科學(xué)與工程學(xué)院,江蘇 南京 210009)

        物聯(lián)網(wǎng)應(yīng)用領(lǐng)域中,應(yīng)用層的遠程數(shù)據(jù)傳輸協(xié)議與通信程序往往融為一體,當數(shù)據(jù)傳輸協(xié)議改變時,通信程序一般需要大規(guī)模修改甚至重新編寫,因而大大降低了通信程序的可重用性。針對這一問題,文中提出了一種基于XML(eXtensible Markup Language,可擴展標記語言)結(jié)構(gòu)化方式來描述數(shù)據(jù)傳輸協(xié)議的方案,并探討了基于該方案的解析方法。該方案可以統(tǒng)一數(shù)據(jù)格式,實現(xiàn)異構(gòu)數(shù)據(jù)的通用解析。在不修改通訊程序的情況下,通過修改數(shù)據(jù)傳輸協(xié)議的XML文件,即可實現(xiàn)通信數(shù)據(jù)的接收和解析。最后以電能表數(shù)據(jù)傳輸協(xié)議的某一子協(xié)議為例,對該功能進行測試,驗證了方案的可行性。

        可擴展標記語言;遠程數(shù)據(jù)傳輸協(xié)議;解析程序;重用性

        0 引 言

        在物聯(lián)網(wǎng)應(yīng)用領(lǐng)域中,前臺與后臺之間,硬件與軟件之間都是通過通信程序進行數(shù)據(jù)交互。然而在通信程序發(fā)展的現(xiàn)階段,不同終端和采集設(shè)備標準各異以及數(shù)據(jù)傳輸協(xié)議的千差萬別導(dǎo)致了通信程序應(yīng)用中信息孤島的出現(xiàn)。這使得通信程序的開發(fā)門檻較高,阻礙了企業(yè)業(yè)務(wù)應(yīng)用的創(chuàng)新,降低了面向大眾提供大規(guī)模應(yīng)用的可能性。通過對物聯(lián)網(wǎng)領(lǐng)域數(shù)據(jù)傳輸協(xié)議分析可知,進行交互的大部分數(shù)據(jù)為結(jié)構(gòu)化數(shù)據(jù)。該類數(shù)據(jù)存在內(nèi)部邏輯關(guān)系,數(shù)據(jù)由數(shù)據(jù)項組成,數(shù)據(jù)項的長度、內(nèi)容、順序都具有一定的規(guī)律,是一種模式(schema)強約束的數(shù)據(jù)組織形式[1]。在這種結(jié)構(gòu)化數(shù)據(jù)下,以往程序員都根據(jù)該結(jié)構(gòu)對數(shù)據(jù)進行組織與編寫,在編寫通信程序之前,必須約定好數(shù)據(jù)傳輸協(xié)議,包括采集終端與后臺服務(wù)器的數(shù)據(jù)傳輸協(xié)議、服務(wù)器與PAD顯示端的數(shù)據(jù)傳輸協(xié)議等。程序員充分理解數(shù)據(jù)傳輸協(xié)議后,再根據(jù)相應(yīng)的數(shù)據(jù)結(jié)構(gòu)編寫程序。這樣數(shù)據(jù)傳輸協(xié)議與通信程序已經(jīng)融為一體。然而,一旦數(shù)據(jù)傳輸協(xié)議發(fā)生改變,即使簡單的修改,例如數(shù)據(jù)傳輸協(xié)議中增加或減少功能,都必須大規(guī)模修改甚至重新編寫通信程序,這樣增加開發(fā)人員的工作量,使軟件的可重用性與可維護性變差,降低通信效率。

        對此,文中提出一種以結(jié)構(gòu)化方式來描述數(shù)據(jù)傳輸協(xié)議的方案。該方案可在不改動通信程序的基礎(chǔ)上適應(yīng)企業(yè)提出的協(xié)議修改建議,從而使通信程序?qū)?shù)據(jù)的管理與傳輸通用化,提高了軟件的重用性。

        1 物聯(lián)網(wǎng)應(yīng)用層數(shù)據(jù)傳輸協(xié)議的特征

        國際上,物聯(lián)網(wǎng)行業(yè)中基于TCP層的數(shù)據(jù)傳輸協(xié)議主要包括MODBUS[2-3]和IEC62056體系[4],以及用于遠動系統(tǒng)的IEC60870系列。IEC62056系列標準規(guī)定了設(shè)備間的數(shù)據(jù)交換協(xié)議,其核心部分是設(shè)備語言報文規(guī)范—DLMS(Device Language Message Specification)和能源計量配套規(guī)范—COSEM(COmpanion Specification for Energy Metering),即DLMS/COSEM[5]。MODBUS主要被歐美等發(fā)達國家采用,DLMS/COSEM主要在東南亞國家使用。通過對協(xié)議結(jié)構(gòu)的分析可知,無論數(shù)據(jù)的發(fā)送還是回應(yīng),其數(shù)據(jù)的組織方式都有順序和條件兩種組織形式。在順序組織結(jié)構(gòu)中,具有實際意義的數(shù)據(jù)項以順序方式依次記錄數(shù)據(jù);在條件組織結(jié)構(gòu)中,具有實際意義的數(shù)據(jù)按照數(shù)據(jù)傳輸過程中的具體條件對數(shù)據(jù)項進行描述。因此順序和選擇是數(shù)據(jù)通訊協(xié)議中具有的基本結(jié)構(gòu)特征。

        為了提高通訊軟件的復(fù)用程度,宋青山等提出了基于JSON格式的數(shù)據(jù)描述[6]。JSON格式是一種公開的數(shù)據(jù)交換格式,通過JSON描述通訊數(shù)據(jù)可以實現(xiàn)數(shù)據(jù)共享[7-8];但是該格式不能描述協(xié)議中的順序、選擇等結(jié)構(gòu)化特征,因此在解析過程中不能完全實現(xiàn)通訊程序的重用。

        可擴展標記語言(XML)是一門新興的面向Internet應(yīng)用的標記語言,它是由W3C組織(互聯(lián)網(wǎng)聯(lián)合組織)于1998年2月制定的一種通用語言規(guī)范。XML憑借其良好的擴展性和自描述性、形式與內(nèi)容分離、遵循嚴格的語法要求以及對多語種的支持等特點,給跨平臺、跨地域異構(gòu)應(yīng)用間的協(xié)同工作,基于語義的智能數(shù)據(jù)搜索等重要領(lǐng)域帶來了重大突破[9]。因而,采用基于XML結(jié)構(gòu)化方式來描述數(shù)據(jù)傳輸協(xié)議的方案是提高通信程序重用性的關(guān)鍵。

        2 基于XML的通訊規(guī)約描述方法

        在描述數(shù)據(jù)方面,XML提供了較好的描述結(jié)構(gòu)化數(shù)據(jù)的方法,使用戶可以用自定義的標記來描述數(shù)據(jù)元素,每個元素可以封裝復(fù)雜或者簡單的數(shù)據(jù),甚至可以定義一組無限制的XML標記。XML這種結(jié)構(gòu)的描述不是基于只能由軟件程序去判讀的代碼,而是一種簡單的、能夠用任何編輯器讀取的文本。利用這種機制,可以將原來定義在程序中的數(shù)據(jù)結(jié)構(gòu)按照一定的規(guī)則用XML描述出來。軟件程序只需要完成對XML文件的解釋,并按照XML的描述來組織和管理數(shù)據(jù)。當與數(shù)據(jù)交互的數(shù)據(jù)傳輸協(xié)議發(fā)生變化時,軟件程序不需要改動,只需要修改相應(yīng)的XML文件即可。由于XML文件是文本文件,易讀且說明性強,因此XML的修改并不需要專門軟件人員來完成,而且對于數(shù)據(jù)交互的雙方,修改一次即可。針對數(shù)據(jù)傳輸協(xié)議中的順序、選擇、條件等結(jié)構(gòu)化特征,分別定義相應(yīng)的XML標簽,每類標簽分別定義若干屬性對順序、選擇、條件等結(jié)構(gòu)進行具體約束,如表1所示。

        表1 數(shù)據(jù)傳輸協(xié)議的標簽描述

        Element是數(shù)據(jù)傳輸協(xié)議中的基本數(shù)據(jù)單元。該結(jié)構(gòu)中type表示值的類型,包括:INT,String,float,short,long,unsigned,signed,bit,byte,BCD;name表示值的名稱;value表示屬性值;length表示值的長度;desc表示值在協(xié)議中的作用。例如:定義一個整型數(shù)據(jù)單元。

        Sequence在數(shù)據(jù)傳輸協(xié)議中表示順序約束,它的屬性是repeat,當值為“1”表示數(shù)據(jù)依次出現(xiàn),當值為“unbound”表示數(shù)據(jù)循環(huán)出現(xiàn)。在通訊數(shù)據(jù)中數(shù)據(jù)項順序出現(xiàn)一次,可以用如下方式描述:

        Choice在數(shù)據(jù)傳輸協(xié)議中表示數(shù)據(jù)單元或數(shù)據(jù)塊的選擇約束,它的屬性包括condition和respondref,分別代表選擇的條件和該條件下要執(zhí)行的操作。在數(shù)據(jù)傳輸協(xié)議中條件選擇結(jié)構(gòu)可用如下方式描述:

        Structure是數(shù)據(jù)傳輸協(xié)議中的數(shù)據(jù)結(jié)構(gòu)塊,條件值指向的屬性為id,即結(jié)構(gòu)塊對應(yīng)的結(jié)構(gòu)號,根據(jù)該結(jié)構(gòu)號可以找到任何一個Structure結(jié)構(gòu)。數(shù)據(jù)傳輸協(xié)議中當條件值為1時,即id=“1”的結(jié)構(gòu)塊可用如下方式描述:

        3 國內(nèi)電能計量表數(shù)據(jù)傳輸協(xié)議分析

        文中以國內(nèi)電能計量數(shù)據(jù)傳輸為例展開研究。目前在國內(nèi)數(shù)據(jù)采集終端的應(yīng)用上,除了國家電力部頒布的標準協(xié)議DL/T-645[10]規(guī)約系列外,《浙江省用電現(xiàn)場服務(wù)與管理系統(tǒng)通信規(guī)約》(以下簡稱《浙規(guī)》)和《電力負荷管理系統(tǒng)數(shù)據(jù)傳輸協(xié)議—2004》(以下簡稱《國電規(guī)約》)最具有代表性,受到各電力局的認可,變種非常多。尤其是《國電規(guī)約》,由國家電網(wǎng)公司的規(guī)模和性質(zhì)決定,很有可能成為事實上的國家標準[11],具有代表性的通信幀結(jié)構(gòu)以及與XML標簽之間的映射關(guān)系,如表2所示。

        表2 《國電規(guī)約》通信幀結(jié)構(gòu)及映射關(guān)系

        《國電規(guī)約》通信幀由“幀起始符”、“長度”、“中間幀起始符”、“控制符”、“地址域”、“數(shù)據(jù)域”、“校驗碼”、“結(jié)束碼”組成。而這些組成中,“幀起始符”、“長度”、“中間幀起始符”、“校驗碼”、“結(jié)束碼”映射成順序(Sequence)結(jié)構(gòu);“控制符”、“地址域”和“數(shù)據(jù)域”映射成選擇(Choice)結(jié)構(gòu),其中控制符映射成Choice結(jié)構(gòu)的條件值(Condition),地址域和數(shù)據(jù)域是Choice結(jié)構(gòu)中的選擇結(jié)果。在Choice結(jié)構(gòu)中選擇結(jié)果由Structure索引號標識,不同的索引號標示不同的Structure結(jié)構(gòu),而該結(jié)構(gòu)所對應(yīng)的Element基本數(shù)據(jù)單元即為不同條件值所對應(yīng)的地址和數(shù)據(jù)。

        結(jié)合電能表數(shù)據(jù)傳輸協(xié)議,將其中的順序、選擇等結(jié)構(gòu)化特征轉(zhuǎn)化成XML標簽約束。電能表中的某一子協(xié)議用XML描述如下:

        4 基于XML的數(shù)據(jù)傳輸協(xié)議的解析

        文中采用DOM4J作為XML文檔的解析工具[12],MINA為通訊承載服務(wù)器,在MINA框架下耦合DOM4J實現(xiàn)基于XML的數(shù)據(jù)傳輸協(xié)議的解析[13]。它應(yīng)用于Java平臺,而Java語言是一種具有簡單、跨平臺、面向?qū)ο蟮葍?yōu)點的語言,它的這些特性使它較適合作為XML編程語言。另外,XML和Java技術(shù)還有許多互補特性,兩者的結(jié)合將形成一個強大的數(shù)據(jù)共享和處理平臺。文中在XML文檔解析過程中,一方面采用面向?qū)ο蟮募夹g(shù)建立通訊協(xié)議結(jié)構(gòu)特征(標簽)對應(yīng)的對象,對象包含了數(shù)據(jù)的解析方法;另一方面,在DOM4J解析過程中,根據(jù)標簽的名稱構(gòu)建相應(yīng)的對象,對象的解析方法實現(xiàn)通訊協(xié)議中數(shù)據(jù)塊的解析。

        4.1 基于XML的數(shù)據(jù)傳輸協(xié)議解析模型

        依據(jù)通訊協(xié)議結(jié)構(gòu)特征(標簽),采用面向?qū)ο蟮募夹g(shù)設(shè)計對應(yīng)的對象類,對象類包含了相應(yīng)數(shù)據(jù)的解析方法(見圖1)。通信協(xié)議中結(jié)構(gòu)之間的關(guān)系通過對象類的遞歸耦合實現(xiàn),如P_Structure,P_Sequence和P_element,分別對應(yīng)數(shù)據(jù)結(jié)構(gòu)中的Structure數(shù)據(jù)塊、Sequence順序結(jié)構(gòu)和element基本數(shù)據(jù)單元,類P_choice對應(yīng)數(shù)據(jù)結(jié)中的choice結(jié)構(gòu),它與類P_Sequence依賴。一幀數(shù)據(jù)解析完畢后將結(jié)果存入E_Value中,它與類StructureManage聚合。在應(yīng)用過程中,該模型通過DOM4J實現(xiàn)與MINA的結(jié)合,即在解析基于XML的數(shù)據(jù)傳輸協(xié)議文件的同時,實現(xiàn)對象的構(gòu)建,并提供給MINA解析使用。

        圖1 XML數(shù)據(jù)傳輸協(xié)議的解析模型

        4.2 基于XML的數(shù)據(jù)傳輸協(xié)議解析過程

        文中采用節(jié)點遞歸調(diào)用的解析方式。當MINA通信程序收到請求后,通過接口將消息轉(zhuǎn)發(fā)給StructureManage類,該類通過id標記Structure結(jié)構(gòu),將遍歷得到的值存入Hashtable表中。有三種類與StructureManage關(guān)聯(lián),最后將數(shù)據(jù)返回給MINA通信程序,XML文檔解析的邏輯模型如圖1所示。

        XML解析程序集成在MINA通信程序中。通信程序運行后,XML解析程序?qū)ML文檔讀入內(nèi)存,當有數(shù)據(jù)傳來,解析程序調(diào)用類StructureManage接收一幀數(shù)據(jù),數(shù)據(jù)接收完畢后,首先判斷一幀數(shù)據(jù)是否完整,若不完整則重新接收數(shù)據(jù),完整則進行解析。數(shù)據(jù)解析時首先調(diào)用Util工具類遍歷XML文檔,當遍歷的標簽分別為“Structure”、“Sequence”、“element”、“choice”時則分別調(diào)用“P_Structure”、“P_Sequence”、“P_element”、“P_choice”類進行相應(yīng)的解析,最后將解析結(jié)果通過元素節(jié)點Evalue返回給類“StructureManage”,該類再通過接口將數(shù)據(jù)值傳送給MINA通信程序,通信程序?qū)ζ溥M行后續(xù)處理。XML文檔的解析流圖如圖2所示。

        圖2 XML數(shù)據(jù)傳輸協(xié)議解析流圖

        5 不同XML文件的解析結(jié)果

        當數(shù)據(jù)傳輸協(xié)議改變時,MINA通信程序不變,只需修改XML文件,即可實現(xiàn)對不同數(shù)據(jù)幀的解析和回應(yīng)。

        在實驗測試中,使用不同數(shù)據(jù)傳輸協(xié)議生成兩個配置文件XML1、XML2,它們的數(shù)據(jù)幀通信情況如圖3、4所示。

        請求協(xié)議幀:

        68001607010000150000050000000015012711420068000104ff00000002f211102001000001010201100001201016

        通信程序回應(yīng)幀:

        68001607010000150000050000000015012711420068000104FF00000001F211102001000001010201100001201016

        圖3 XML1的通信結(jié)果

        請求協(xié)議幀:68081234567890111234567890116801FF000000010102070116

        通信程序回應(yīng)幀:6800081234567890111234567890116801FF000000010102070116

        圖4 XML2的通信結(jié)果

        通過測試結(jié)果可以看出,只要按照一定的XML格式對數(shù)據(jù)傳輸協(xié)議進行描述,調(diào)用該解析程序,即可實現(xiàn)數(shù)據(jù)的交互與共享。該解析程序的通用性在國電規(guī)約數(shù)據(jù)傳輸協(xié)議和遠程遙測項目中都得到了驗證。

        6 結(jié)束語

        文中提出的基于XML結(jié)構(gòu)化方式來描述數(shù)據(jù)傳輸協(xié)議的方案,可以實現(xiàn)異構(gòu)數(shù)據(jù)的通用解析。當數(shù)據(jù)傳輸協(xié)議改變時,不必修改解析程序,只需要修改配置文件XML,即可實現(xiàn)數(shù)據(jù)解析。這樣提高了通信程序的復(fù)用程度,加快了系統(tǒng)的整體開發(fā)速度,為企業(yè)業(yè)務(wù)應(yīng)用的創(chuàng)新提供了可能性。但是解析XML文檔時需要從上到下對每個節(jié)點進行遍歷,增加了時間開銷,降低了程序的運行效率,因此在如何提高效率這個問題上仍需要做進一步的研究。

        [1] 張 源,魏冬邦,康 昊.基于XML的測控軟件通信協(xié)議的研究[J].遙測遙控,2010(6):42-46.

        [2] 譚文恕.傳輸協(xié)議現(xiàn)狀及國內(nèi)外相關(guān)標準[J].電力設(shè)備,2004,5(7):11-14.

        [3] 陳德仙,鄭登峰,俞國勇,等.基于MODBUS協(xié)議的智能配電系統(tǒng)設(shè)計[J].江蘇電器,2007(4):25-28.

        [4] 楊 洪.IEC60870-5傳輸規(guī)約的應(yīng)用及試驗[J].電力自動化設(shè)備,2007,27(11):75-78.

        [5] 楊曉西.計量儀表和抄表系統(tǒng)的設(shè)計與IEC62056標準[J].電測與儀表,2005,42(11):37-41.

        [6] 宋青山.JSON數(shù)據(jù)格式在企業(yè)數(shù)據(jù)交換中的應(yīng)用[J].天津冶金,2014(2):114-117.

        [7] Lin B,Chen Y,Chen X,et al.Comparison between JSON and XML in applications based on AJAX[C]//Proc of international conference on computer science & service system.Nanjing:[s.n.],2012:1174-1177.

        [8] 聶曉旭,于鳳芹,欽道理.可配置協(xié)議轉(zhuǎn)換方法的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2015,25(4):80-84.

        [9] 張富國.基于XML的通用數(shù)據(jù)交換平臺的設(shè)計及實現(xiàn)[J].科技廣場,2005,17(1):100-102.

        [10] 劉昕鵬,羅英偉,汪小林,等.基于XML的WebGIS通信協(xié)議的設(shè)計與實現(xiàn)[J].軟件學(xué)報,2004,15(6):899-907.

        [11] 王大宇.電能表及采集終端通信協(xié)議通用解析與生成算法研究[D].長沙:中南大學(xué),2008.

        [12] 張屹峰.DOM4j解析技術(shù)探究[J].現(xiàn)代計算機,2011(15):39-42.

        [13] 蔚曉娟,冉 靜,李愛華,等.基于DOM的XML解析與應(yīng)用[J].計算機技術(shù)與發(fā)展,2007,17(4):86-88.

        Research and Implementation of Remote Data Transmission Based on XML Protocol

        ZHANG Na,JIAO Dong-lai,WU Zi-jie,YANG Hao

        (College of Electronic Science and Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210009,China)

        In the Internet of Things,remote data transmission protocol and the communication program is closely related.When the communication protocol is changed,the communication program is also to be written,so the reusability of communication program is reduced.In order to solve the problem,based on the XML structure,the transmission protocol of data description is proposed,based on which the analytic method is put forward.The unified data format of the scheme can adapt to the data exchange between heterogeneous systems by modifying the transmission protocol text file with no modification on the program.Finally,given the functional testing,the feasibility of this scheme is verified.

        XML;remote data transmission protocol;analytical procedures;reusability

        2015-06-06

        2015-09-15

        時間:2016-05-05

        國家級面上項目(41471329)

        張 娜(1989-),女,碩士研究生,研究方向為電路與系統(tǒng);焦東來,碩士生導(dǎo)師,博士,研究方向為空間信息可視化和數(shù)據(jù)共享與互操作。

        http://www.cnki.net/kcms/detail/61.1450.TP.20160505.0815.030.html

        TP31

        A

        1673-629X(2016)05-0012-05

        10.3969/j.issn.1673-629X.2016.05.003

        猜你喜歡
        規(guī)約結(jié)構(gòu)化解析
        三角函數(shù)解析式中ω的幾種求法
        促進知識結(jié)構(gòu)化的主題式復(fù)習(xí)初探
        結(jié)構(gòu)化面試方法在研究生復(fù)試中的應(yīng)用
        計算機教育(2020年5期)2020-07-24 08:53:00
        電力系統(tǒng)通信規(guī)約庫抽象設(shè)計與實現(xiàn)
        一種在復(fù)雜環(huán)境中支持容錯的高性能規(guī)約框架
        睡夢解析儀
        一種改進的LLL模糊度規(guī)約算法
        電競初解析
        商周刊(2017年12期)2017-06-22 12:02:01
        相機解析
        基于圖模型的通用半結(jié)構(gòu)化數(shù)據(jù)檢索
        計算機工程(2015年8期)2015-07-03 12:20:35
        久久久久久岛国免费网站| 久久精品国产一区二区电影| 日产精品99久久久久久| 伊甸园亚洲av久久精品| 亚洲综合在线一区二区三区| 久久www色情成人免费观看| a亚洲va欧美va国产综合| 亚洲欧美国产日韩制服bt| 91白浆在线视频| 91免费国产| 91成人自拍视频网站| 国产丝袜美腿一区二区三区| 蜜桃a人妻精品一区二区三区| 国精产品一区一区三区有限在线| 奇米影视7777久久精品| 亚洲 另类 日韩 制服 无码| 亚洲日韩国产精品第一页一区| 伊人网视频在线观看| 男女好痛好深好爽视频一区 | 国产精品无码一本二本三本色| 欧美成人三级网站在线观看 | 亚洲中文字幕舔尻av网站| 欧美老肥妇做爰bbww| 激情航班h版在线观看| 精品国产91天堂嫩模在线观看| 777久久| 手机在线免费观看的av| 国产精品一区二区性色| 狠狠人妻久久久久久综合蜜桃| 人妻少妇久久中文字幕一区二区| 精品国产精品久久一区免费式| 精品人妻无码中文字幕在线| 亚洲女同性恋在线播放专区| 精品国产一区二区三区av麻| 日韩av无码中文字幕| 亚瑟国产精品久久| 精品香蕉久久久午夜福利| 少妇无码av无码去区钱| 91久久精品人妻一区二区| 亚洲精品在线97中文字幕| 久久综合狠狠综合久久综合88|