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

基于XMPP協議的XML數據流壓縮模型研究

2016-04-13 09:52:42鋮,吳
網絡安全與數據管理 2016年1期
關鍵詞:模型

齊 鋮,吳 靜

(1.西南科技大學 信息工程學院,四川 綿陽 621010;2.特殊環境機器人技術四川省重點實驗室,四川 綿陽 621010)

基于XMPP協議的XML數據流壓縮模型研究

齊 鋮1,2,吳 靜1,2

(1.西南科技大學 信息工程學院,四川 綿陽 621010;2.特殊環境機器人技術四川省重點實驗室,四川 綿陽 621010)

XMPP協議作為基于XML數據流的即時通信協議,可用于構建統一、高效的智能家居監控消息推送方案。針對XMPP協議存在的流量冗余較大的不足,提出了一種基于容器模型和BWT變換思想的XMPP數據流壓縮模型。該模型通過對XML數據流的容器劃分、前綴編碼和預處理,在單次掃描數據流的基礎上達到壓縮率的最大化。實驗證明,該模型方案能有效節約XMPP協議通信過程產生的網絡流量,并具有可行性。

XMPP協議;流壓縮;容器模型;BWT

0 引言

在智能家居系統的應用背景中,通過手機等移動終端對設備進行遠程控制、監測是基本需求。XMPP協議(Extensible Messaging and Presence Protocol)是基于XML的開放可擴展協議,用于在兩個或多個網絡實體之間進行結構化和可擴展的實時信息交流。將該協議引入智能家居控制領域,可以為異構設備群組成的家居體系提供統一的通信標準。但是XML格式數據流中大量的結構信息造成了較大的流量冗余,給移動控制終端造成了較大的網絡流量消耗。因此,基于提高協議的運行效率、消除其流量冗余的考慮,應該對協議雙方通信過程中產生的數據流進行有效的壓縮[1]。

現有的XML壓縮工具,如XMill、XGrind、Xpress等都是針對靜態XML文檔,對動態數據流的支持不理想[2]。王騰蛟等提出了一種XSC壓縮算法,該方法借助DTD和字典壓縮思想構建高效的索引完成對數據流的實時壓縮[3]。張曉琳等提出了一種基于動態Huffman編碼的XML數據流壓縮技術,該算法利用XML Schema和動態樹結構進行編碼,達到壓縮目的[4]。本文根據XMPP協議數據流傳輸的特點,結合容器劃分理念和BWT的思想,構建了一種基于容器模型和BWT預處理的非對稱XML數據流壓縮方法。該方法單次掃描數據流,不用借助DTD和XML Schema等格式定義文檔,并有較好的壓縮效率。

1 XML數據流壓縮算法的設計和實現

1.1 XML數據流壓縮算法的原理

本算法針對實時傳輸的XML數據流,結合XML數據格式的特點,考慮將數據流中的相關節點利用SAX解析器解析形成觸發事件流,并觸發對應的處理程序,處理程序結合靜態存儲的字典,利用前綴索引編碼將數據分別存放到對應結構的結構容器和對應內容的內容容器中,達到結構與內容分離的目的。然后,將分離的每個容器中的內容進行BWT變換的預處理,變換的目的是將容器內相關語義的編碼盡量靠攏,減小信息熵,這樣可以有效地提高對內容進行字典壓縮的壓縮率。

算法的整體框架圖如圖1所示。

圖1 整體框架圖

1.2 基于改進的字典編碼的容器劃分模型

1.2.1 數據流容器劃分思想

容器劃分模型參考了標準XMill壓縮器的思想,XML數據流經過SAX解析器后,數據流被解析成觸發事件流,根據傳輸的XML流中的結構和數據部分觸發事件的不同,將數據流中的結構部分和數據部分[5]按靜態字典與前綴索引結合的方式進行編碼,分別進行收集和壓縮。考慮到XMPP協議是基于規范性和統一性格式的,即協議傳遞的數據包中的XML元素標簽和屬性標簽是固定的,一段通信過程的協議格式為:

stream標簽標志一段數據流的開始。元素稱為XML節,每個節點下對應、等屬性標簽,設置了一個消息片段的發送方、接收方以及消息實體等信息[6]。協議傳輸的XML數據流的元素/屬性節點類型是固定的,因此可以在通信雙方內存中構建靜態字典,字典的鍵為自定義的索引標號,值為協議對應的XML元素/屬性節點內容。在數據部分,數據以原始形態被分配到字符容器中。利用相應的壓縮算法對每個容器進行處理。容器劃分模型的流程圖如圖2所示。

圖2 容器劃分模塊流程圖

1.2.2 結構索引字典編碼

一般常用的字典編碼壓縮方法,為了算法的實時性,往往選擇動態構建字典的形式,這在處理大型的內容未知的靜態XML文檔時是一種較好的處理方式[7]。但常規字典編碼方案在動態構建字典時會消耗較多時間。對于XMPP協議支持的通信雙方實時傳輸的數據流,基于協議結構節點固定這一特性,考慮采用事先設定好的靜態字典形式,并在編碼字典索引中加入前綴索引以便接受方快速定位每一個XML節中的信息體。通過上一節抓取的實際XMPP數據流闡述改進的字典編碼步驟。該數據流展示了XMPP客戶端test1向test2發送一段消息指令,內容為:“uid=1&devid=2&ordercode=3&ordervalue=26”。數據流經過SAX解析器后,由SAX的事件觸發機制,將數據流按觸發事件的不同分別引入元素、屬性和內容三個容器中。

根據上一節所述,設定一個靜態的結構字典,如表1所示,結構字典中包含有標準XMPP協議中定義的全部XML節。

表1 靜態結構字典

根據表1所示的靜態結構字典,可以方便地將數據流中的“結構信息”進行字典順序編碼并得到如下結果:0a 1a 1d ff 0b 1a 1b 1c 0b 1a 1b 1c 0c 1a 1b 1c 1d 0d ff 0e ff ff;通過對以上結果的分析可以發現,因為協議數據流中元素的嵌套結構較多,而“屬性”結構通過簡單的字典編碼并不能確定其具體屬于哪一個元素。因此,本文考慮在對數據流的結構信息進行基礎的字典編碼時,動態加入與其所屬的元素對應的前綴索引信息,如表2。

表2 前綴索引的字典編碼

包含前綴索引的字典編碼按容器劃分方法依次填入相關容器,以message節點為例,最終容器劃分結果以及各容器中的數據如表3所示。

表3 message節點容器劃分

1.3 BWT變換思想

BWT變換也稱作塊排序,是一種針對一個數據塊的排序壓縮方法,其目的是將數據塊中出現頻率較高、重復出現的數據段盡量整合到一起。其核心思想是對目標數據塊中的內容進行矩陣變換。BWT變換本身并不會減小數據塊的大小,只是改變了排序順序[8]。根據信息論中關于信源信息熵的定義,將一個隨機變量的熵表示為:

(1)

其中P(xi)為信源取第i個符號的概率。

根據數據壓縮的原理,假設一個包含n個字符的字符串,每個字符的出現概率為p1,p2…pn,那么經過任何壓縮算法后的二進制占位至少為:

(2)

式(2)的結果可理解為字符串的壓縮極限:∑log2(1/pn)。可見,對于長度相同的數據,p決定了壓縮極限的大小,p越大表明文件越有規律,其壓縮極限越小[9]。根據實驗可以發現,經過BWT變換的數據塊,相同的字符會趨向于聚集在一起,信息熵比原始數據源小,因此有更小的壓縮極限值。

BWT變換基于字符串矩陣的變換。假設輸入的數據為字符串:“ABCACBBD”,使用BWT變換對該字符串進行預處理,步驟如下:

(1)構造N×N矩陣O,O中每一行是原字符串依次左移構成。

(2)對O矩陣中的行按字典順序遞減重新排列,得到矩陣O′。

(3)輸出O′矩陣的最后一列以及原字符串在O′矩陣中的行數,即(L,index)=([DCCABBAB],1),可方便進行反變換以還原原字符串。

BWT變換將出現頻率較高的字母排列在一起。以常規LZW編碼為例,一段160 B的數據的原字符串與BWT變換后的字符經過LZW編碼后的壓縮率分別為80%和71.25%,有明顯提升。XMPP協議傳輸的數據流具有較多的重復字符,適合將BWT變換引入其中作為常規數據壓縮前的預處理。在接收實體接收到經過BWT變換的內容后,根據前序查找的方法,以原字符串末尾為起始,可以還原字符串。

2 算法的測試和應用

對上述容器劃分模型在Intel Core i5/3.1 GHz的PC上進行試驗驗證,運行環境為Windows7旗艦版操作系統。實驗使用的服務器端為openfire3.9.3,使用的客戶端為基于Smack開發包開發的模擬用戶端。數據源為抓包軟件采集的智能空調設備與手機App之間的監測、控制數據流。

通過表4對比可見,采用了本文所述的壓縮方案后,網絡中傳輸的一個完整通信過程所需的數據流大小與原始數據流相比有了明顯減小。

表4 一段通信數據大小

模擬用戶對智能設備進行控制并接收設備上報的監測信息,設備每10 s上報一次實時數據,用戶每分鐘對設備發送一條控制指令。通過“科來”網絡流量監測軟件對一個時段內流經協議端口5222的數據流量在不經過壓縮處理、經過基本LZW編碼壓縮處理和經過本文壓縮模型處理后的統計如圖3所示。

圖3 流量統計對比圖

可見經過本文設計的壓縮模型改進的服務器端,通信協議產生的網絡流量與原始服務器和啟用了默認LZW壓縮方案的服務器端相比有了一定的減少,且隨著時間的增加,流量節約更加明顯。

3 結論

本文針對XMPP協議數據流量冗余的問題,提出了一種使用于XML數據流的基于改進的字典編碼的容器劃分模型算法,該算法可以在不破壞協議實時性的基礎上,對XMPP協議通信雙方的XML流進行結構索引字典編碼,分結構和內容分別進行壓縮,同時針對信息體中重復字符較多的特點對信息體采用BWT編碼預處理。實驗證明,基于改進的字典編碼的容器劃分模型可以有效減少XML數據流的冗余,達到節約網絡流量的目的。適用于需要長連接的智能家居檢測、控制系統中。

[1] 劉涌,張彥功,梁崑濤. 移動設備上 XMPP 功耗與帶寬的研究[J]. 小型微型計算機系統,2013,34(2):272-276.

[2] 鐘世明,邵銳,張勝,等. 基于位置服務系統中XML數據流壓縮方法[J]. 武漢理工大學學報,2006,30(1):29-32.

[3] 王騰蛟,高軍,楊冬青,等. 面向 XPath 執行的 XML 數據流壓縮方法[J]. 軟件學報,2005,16(5):870-877.

[4] 張曉琳,翟國峰,譚躍生,等. 基于動態哈夫曼編碼的XML數據流壓縮技術[J]. 內蒙古科技大學學報,2007,26(4):332-336.

[5] 李瑞. XMLPre:一種基于預處理的XML壓縮算法[D]. 西安:西安電子科技大學,2014.

[6] 周文瓊,王樂球,周桐,等. 基于XMPP 的企業即時通信系統研究與應用[J]. 吉林大學學報,2010,28(1):108-111.

[7] 許霞,馬光思,魚濤. LZW 無損壓縮算法的研究與改進[J]. 計算機技術與發展,2009,19(4):126-127.

[8] 王磊,孟昭鵬,劉亞瓊. 一種基于LFU置換的BWT壓縮算法的改進[J]. 微計算機應用,2008,29(3):80-83.

[9] 鄧宏貴,王晉秀,曹莉凌,等. 基于 BWT 改進的 LZW 算法在傳感器網絡中的應用[J].傳感技術學報,2008,21(6):1048-1051.

Research on XML stream compression model based on XMPP protocol

Qi Cheng1,2,Wu Jing1,2

(1.School of Information Engineering, Southwest University of Science and Technology, Mianyang 621010, China;2. Robot Technology Used for Special Environment Key Laboratory of Sichuan Province, Mianyang 621010, China)

As an instant messaging protocol based on XML data stream, Extensible Messaging and Presence Protocol(XMPP) can be used in constructing a unified, efficient smart home monitoring message push program.Aiming at the disadvantage of XMPP on traffic redundancy, a XMPP stream compression model based on container model and BWT transform thought is proposed.According to container division, prefix code and pretreatment of XML stream, this model on the basis of single scanning data stream,reaches the maximization of compression ratio.Experiment proved that the program can effectively save the network traffic of XMPP communication process ,and with feasibility.

XMPP protocol; stream compression; container model; BWT

TP391

A

1674-7720(2016)01-0060-03

齊鋮,吳靜.基于XMPP協議的XML數據流壓縮模型研究[J].微型機與應用,2016,35(1):60-62,66

2015-09-02)

齊鋮(1990-),通信作者,男,碩士研究生,主要研究方向:網絡通信、協議分析。E-mail:15228354495@163.com。

吳靜(1963-),女,副教授,主要研究方向:通信技術、三網融合。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲中文字幕手机在线第一页| 人妻熟妇日韩AV在线播放| 欧美黑人欧美精品刺激| 天堂成人在线视频| 国产精品香蕉在线观看不卡| 亚洲成人精品久久| 国产成人无码AV在线播放动漫 | 久久毛片网| 日本a级免费| 人人妻人人澡人人爽欧美一区| 日韩午夜片| 成人国产免费| 久热re国产手机在线观看| 永久在线精品免费视频观看| 国产99热| 专干老肥熟女视频网站| 国产精品亚洲一区二区在线观看| 欧美精品黑人粗大| 国产无码在线调教| 国产黑丝一区| 亚洲美女视频一区| 少妇精品久久久一区二区三区| 日韩毛片免费| 午夜色综合| 国产农村妇女精品一二区| 99尹人香蕉国产免费天天拍| 国产精品成| 91福利片| jizz国产在线| 国产一在线观看| 无码中文字幕精品推荐| 国产又黄又硬又粗| 精品视频第一页| 国产精品手机在线观看你懂的| 日本午夜三级| 中文字幕首页系列人妻| 欧美成人综合视频| 国产va在线| 91精品啪在线观看国产91| 国产成人无码AV在线播放动漫 | 中文字幕不卡免费高清视频| 亚洲资源在线视频| jizz亚洲高清在线观看| 狠狠色综合网| 日韩国产一区二区三区无码| 亚洲一区网站| 日韩无码精品人妻| 九九热精品视频在线| 色悠久久久| 亚洲国产中文欧美在线人成大黄瓜 | 尤物特级无码毛片免费| 色AV色 综合网站| 国产午夜不卡| 99久久这里只精品麻豆| 日韩欧美视频第一区在线观看| 免费黄色国产视频| yy6080理论大片一级久久| 日本高清有码人妻| 在线观看国产精品日本不卡网| 99免费视频观看| 五月天综合婷婷| 日本成人在线不卡视频| 高清欧美性猛交XXXX黑人猛交 | 日韩色图在线观看| 国产欧美性爱网| 国产成年无码AⅤ片在线| 亚洲第一精品福利| a毛片在线| av免费在线观看美女叉开腿| 久久精品午夜视频| 亚洲不卡av中文在线| 美女被躁出白浆视频播放| 午夜日b视频| 欧美日韩激情在线| 91毛片网| 国产福利不卡视频| 伊人中文网| 91蝌蚪视频在线观看| 欧美一区二区精品久久久| 手机在线免费不卡一区二| 精品乱码久久久久久久| 国产91小视频|