999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XML遠程數據傳輸協議的研究與實現

2016-02-24 05:07:22焦東來吳子杰
計算機技術與發展 2016年5期
關鍵詞:程序結構

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

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

基于XML遠程數據傳輸協議的研究與實現

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

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

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

可擴展標記語言;遠程數據傳輸協議;解析程序;重用性

0 引 言

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

對此,文中提出一種以結構化方式來描述數據傳輸協議的方案。該方案可在不改動通信程序的基礎上適應企業提出的協議修改建議,從而使通信程序對數據的管理與傳輸通用化,提高了軟件的重用性。

1 物聯網應用層數據傳輸協議的特征

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

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

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

2 基于XML的通訊規約描述方法

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

表1 數據傳輸協議的標簽描述

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

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

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

Structure是數據傳輸協議中的數據結構塊,條件值指向的屬性為id,即結構塊對應的結構號,根據該結構號可以找到任何一個Structure結構。數據傳輸協議中當條件值為1時,即id=“1”的結構塊可用如下方式描述:

3 國內電能計量表數據傳輸協議分析

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

表2 《國電規約》通信幀結構及映射關系

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

結合電能表數據傳輸協議,將其中的順序、選擇等結構化特征轉化成XML標簽約束。電能表中的某一子協議用XML描述如下:

4 基于XML的數據傳輸協議的解析

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

4.1 基于XML的數據傳輸協議解析模型

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

圖1 XML數據傳輸協議的解析模型

4.2 基于XML的數據傳輸協議解析過程

文中采用節點遞歸調用的解析方式。當MINA通信程序收到請求后,通過接口將消息轉發給StructureManage類,該類通過id標記Structure結構,將遍歷得到的值存入Hashtable表中。有三種類與StructureManage關聯,最后將數據返回給MINA通信程序,XML文檔解析的邏輯模型如圖1所示。

XML解析程序集成在MINA通信程序中。通信程序運行后,XML解析程序將XML文檔讀入內存,當有數據傳來,解析程序調用類StructureManage接收一幀數據,數據接收完畢后,首先判斷一幀數據是否完整,若不完整則重新接收數據,完整則進行解析。數據解析時首先調用Util工具類遍歷XML文檔,當遍歷的標簽分別為“Structure”、“Sequence”、“element”、“choice”時則分別調用“P_Structure”、“P_Sequence”、“P_element”、“P_choice”類進行相應的解析,最后將解析結果通過元素節點Evalue返回給類“StructureManage”,該類再通過接口將數據值傳送給MINA通信程序,通信程序對其進行后續處理。XML文檔的解析流圖如圖2所示。

圖2 XML數據傳輸協議解析流圖

5 不同XML文件的解析結果

當數據傳輸協議改變時,MINA通信程序不變,只需修改XML文件,即可實現對不同數據幀的解析和回應。

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

請求協議幀:

68001607010000150000050000000015012711420068000104ff00000002f211102001000001010201100001201016

通信程序回應幀:

68001607010000150000050000000015012711420068000104FF00000001F211102001000001010201100001201016

圖3 XML1的通信結果

請求協議幀:68081234567890111234567890116801FF000000010102070116

通信程序回應幀:6800081234567890111234567890116801FF000000010102070116

圖4 XML2的通信結果

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

6 結束語

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

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

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

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

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

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

[6] 宋青山.JSON數據格式在企業數據交換中的應用[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] 聶曉旭,于鳳芹,欽道理.可配置協議轉換方法的設計與實現[J].計算機技術與發展,2015,25(4):80-84.

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

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

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

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

[13] 蔚曉娟,冉 靜,李愛華,等.基于DOM的XML解析與應用[J].計算機技術與發展,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-),女,碩士研究生,研究方向為電路與系統;焦東來,碩士生導師,博士,研究方向為空間信息可視化和數據共享與互操作。

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

猜你喜歡
程序結構
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結構的應用
模具制造(2019年3期)2019-06-06 02:10:54
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
論《日出》的結構
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
主站蜘蛛池模板: 国产一级无码不卡视频| 婷婷99视频精品全部在线观看 | 成人毛片免费观看| 国产亚洲欧美日韩在线观看一区二区| 99久久精品国产麻豆婷婷| 国产成人禁片在线观看| 日韩在线第三页| 亚洲日韩精品无码专区| 在线日韩一区二区| 欧美激情第一欧美在线| 欧美激情伊人| 国产日韩欧美在线视频免费观看| 欧美伦理一区| 国产福利在线观看精品| 欧美激情第一欧美在线| 欧美精品黑人粗大| 国内精品久久久久久久久久影视 | 农村乱人伦一区二区| 日韩中文无码av超清 | 亚洲精品国偷自产在线91正片| 亚洲 日韩 激情 无码 中出| 亚洲天堂日韩av电影| 国产成熟女人性满足视频| 日韩人妻精品一区| 免费看美女毛片| 美女被狂躁www在线观看| 国产高潮视频在线观看| 亚洲bt欧美bt精品| 91成人精品视频| 夜精品a一区二区三区| 91久久精品国产| www.亚洲一区二区三区| 亚洲第一黄片大全| 久久五月天综合| 正在播放久久| 亚洲最黄视频| 日本午夜视频在线观看| 精品国产91爱| 蜜桃臀无码内射一区二区三区 | 538精品在线观看| 午夜小视频在线| 亚洲乱码视频| 国产精品污污在线观看网站| 亚洲大尺度在线| 国产屁屁影院| 一区二区三区在线不卡免费| 永久在线精品免费视频观看| 久久亚洲美女精品国产精品| 激情综合婷婷丁香五月尤物| 一区二区无码在线视频| 日韩毛片免费| 黄色不卡视频| 国产亚洲精品资源在线26u| 亚洲三级色| 国产女人爽到高潮的免费视频| 亚洲女同一区二区| 高清久久精品亚洲日韩Av| 日韩成人在线网站| 欧美成人A视频| 超碰免费91| 亚洲AV成人一区国产精品| 高清国产在线| 综合久久五月天| 99这里精品| 亚洲水蜜桃久久综合网站 | 亚洲成人网在线观看| 在线亚洲小视频| 综合社区亚洲熟妇p| 亚洲性色永久网址| 国产一区二区精品高清在线观看 | 四虎永久在线| 91午夜福利在线观看精品| 久久久久久久久18禁秘| 亚洲中文字幕在线精品一区| 欧美在线国产| 亚洲无码37.| 综合色亚洲| 天堂亚洲网| 亚洲av日韩av制服丝袜| 91毛片网| 日韩a级毛片| 精品视频免费在线|