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

?

大型園區(qū)網(wǎng)絡(luò)下基于EXI的移動數(shù)據(jù)交換模型

2015-08-02 01:03于春燕王匯彬黃曉玲趙生慧
滁州學(xué)院學(xué)報 2015年5期
關(guān)鍵詞:服務(wù)器端報文文檔

于春燕,王匯彬,黃曉玲,趙生慧

大型園區(qū)網(wǎng)絡(luò)中,用戶數(shù)以萬計,同一用戶可能擁有多臺移動設(shè)備,計算及服務(wù)均有可能引發(fā)大量的異構(gòu)系統(tǒng)之間的互操作與數(shù)據(jù)交換,造成網(wǎng)絡(luò)使用高峰期帶寬資源的緊缺。Web服務(wù)是目前廣泛應(yīng)用的異構(gòu)數(shù)據(jù)交換形式,主要采用XML(eX-tensible Markup Language)實現(xiàn)服務(wù)的描述、數(shù)據(jù)共享和交換。由于XML文檔采用文本表示數(shù)據(jù),在數(shù)據(jù)量較大及移動智能設(shè)備訪問Web Services時,由于移動設(shè)備存在計算、存儲、電量及網(wǎng)絡(luò)訪問等限制,效率明顯降低[1],同時帶來了較大的數(shù)據(jù)流量和費用,影響了用戶體驗。EXI是由W3C(World Wide Web Consortium)組織推薦、針對帶寬受限等環(huán)境發(fā)布的數(shù)據(jù)交換標準,是對XML文檔的高度壓縮形式,比Gzip的壓縮率要高10倍[2]。

本文在現(xiàn)有研究的基礎(chǔ)上,分析了面向大型園區(qū)網(wǎng)絡(luò)的移動數(shù)據(jù)交換系統(tǒng)組成,進而提出了一種適用于移動智能設(shè)備的數(shù)據(jù)交換模型,該模型在客戶端和服務(wù)器端均加入EXI處理、實現(xiàn)對Web服務(wù)交換數(shù)據(jù)的壓縮。在對模型的形式化分析的基礎(chǔ)上,設(shè)計了一個校園移動學(xué)習(xí)系統(tǒng),通過實驗分析了加入EXI處理前后的Web服務(wù)數(shù)據(jù)量、服務(wù)調(diào)用時間及移動設(shè)備的電量損耗等。

1 相關(guān)工作

研究人員對基于XML的數(shù)據(jù)交換開展了諸多研究,并有相關(guān)產(chǎn)品。Marcelo[3]等對XML與關(guān)系數(shù)據(jù)庫間的轉(zhuǎn)換進行了深入研究。Hossam[4]等人設(shè)計了一種框架,實現(xiàn)將數(shù)據(jù)庫模型轉(zhuǎn)換為XML Schema并成功應(yīng)用于某醫(yī)療系統(tǒng)。彭濤[5]等將XML Schema中的結(jié)構(gòu)與本體中的概念對應(yīng),使得XML數(shù)據(jù)模型具有結(jié)構(gòu)信息和語義信息。

近年來,研究人員在Web服務(wù)的移動數(shù)據(jù)交換、移動網(wǎng)絡(luò)和物聯(lián)網(wǎng)等情景下提高Web效率等方面開展了研究,并有少量關(guān)于EXI應(yīng)用的文獻。Lars[6]等人研究了移動網(wǎng)絡(luò)中的Web服務(wù)壓縮技術(shù),對GZIP等通用壓縮技術(shù)和針對XML的壓縮技術(shù)進行了比較試驗,并在實際的GPRS等網(wǎng)絡(luò)中進行了測試。芬蘭阿爾托大學(xué)的研究者[7]試驗了移動優(yōu)化、HTTP壓縮、緩存、代理等節(jié)約手機能耗的方案。Sebastian[8]等人研究了傳感器網(wǎng)絡(luò)中的數(shù)據(jù)交換技術(shù),設(shè)計了EXI處理器將XML文檔與EXI數(shù)據(jù)流進行互相轉(zhuǎn)換,并在微處理器設(shè)備上測試運行一個真實的基于XML的Web服務(wù)。Joana[9]等針對軍事網(wǎng)絡(luò)不穩(wěn)定、低帶寬等特點,比較了Gzip、EXI等方法壓縮SOAP消息、壓縮JPEG圖片等空間和時間性能。Angelo[10]等人在溫濕度等傳感器節(jié)點上運行用于數(shù)據(jù)收集的Web服務(wù),具有較好的內(nèi)存利用率。李建興[11]研究了優(yōu)化 Web Service性能的方法,對 Web service的SOAP報文進行EXI編碼,對Web服務(wù)的Servlet進行EXI編碼和解碼進行了分析,并在模擬環(huán)境中進行了測試。在基于XML的數(shù)據(jù)交換模型及形式化描述方面,文獻[12-13]采用了有限狀態(tài)機、UML模型、進程代數(shù)等方式對Web數(shù)據(jù)交換模型分析。

上述研究對于改善基于XML的數(shù)據(jù)交換開展了有益探索,但對移動及嵌入式環(huán)境下采用EXI進行數(shù)據(jù)交換的模型及具體應(yīng)用的效率等問題,還需要進一步研究其實現(xiàn)模型,基于EXI的實際應(yīng)用系統(tǒng)也仍不多見。

2 移動服務(wù)實現(xiàn)框架與模型

2.1 大型園區(qū)網(wǎng)絡(luò)移動數(shù)據(jù)交換系統(tǒng)架構(gòu)

基于上述園區(qū)網(wǎng)絡(luò)及應(yīng)用的特點,大型園區(qū)網(wǎng)絡(luò)環(huán)境下,移動數(shù)據(jù)交換系統(tǒng)主要包括通信網(wǎng)絡(luò)、網(wǎng)絡(luò)設(shè)備、移動智能設(shè)備、基于云的服務(wù)器群、存儲設(shè)備五個部分,如圖1所示。其中服務(wù)器群由數(shù)據(jù)庫服務(wù)器、Web服務(wù)器、UDDI(Universal Description Discovery and Integration)注冊服務(wù)器等組成。每臺服務(wù)器為物理服務(wù)器或虛擬機,UDDI服務(wù)器提供簡單的服務(wù)注冊服務(wù)。

圖1 大型園區(qū)網(wǎng)絡(luò)的移動數(shù)據(jù)交換系統(tǒng)組成

當(dāng)前Web服務(wù)的主要實現(xiàn)方法為SOAP(Simple Object Access Protocol,簡單對象訪問協(xié)議 )方 式 和 REST (Representational Service Transfer)方式,都采用XML描述消息,其移動數(shù)據(jù)交換的完整過程為:(1)Web服務(wù)提供者(表現(xiàn)為Web服務(wù)器)通過有線網(wǎng)絡(luò)向Web服務(wù)代理發(fā)布服務(wù),并在UDDI注冊;(2)移動智能設(shè)備通過園區(qū)無線網(wǎng)絡(luò)向UDDI中心請求特定的服務(wù),或者通過鏈接等直接獲取服務(wù)地址;(3)UDDI向Web服務(wù)請求者返回滿足條件的Web服務(wù)描述信息WSDL文檔;(4)移動智能設(shè)備根據(jù)服務(wù)描述信息生成SOAP消息,發(fā)送給 Web服務(wù)提供者;(5)Web服務(wù)提供者根據(jù)SOAP消息運行相應(yīng)的Web服務(wù),如進行數(shù)據(jù)庫處理等,并將服務(wù)響應(yīng)結(jié)果返回給Web服務(wù)請求者。

2.2 基于EXI的移動數(shù)據(jù)交換模型ECMDE

基于EXI的移動數(shù)據(jù)交換模型ECMDE(EXI-based Campus Mobile Data Exchange),描述了移動智能設(shè)備與Web服務(wù)提供者之間的數(shù)據(jù)交換過程。模型包括資源管理層、SOAP消息處理層、EXI處理層、HTTP處理層和傳輸層,如圖2所示。與傳統(tǒng)的Web服務(wù)交換模型不同,該模型在服務(wù)器端和移動智能設(shè)備上增加EXI處理器,對XML格式的Web請求和響應(yīng)數(shù)據(jù)進行EXI編碼壓縮后傳輸,接收方收到EXI數(shù)據(jù)后再解壓為XML格式的數(shù)據(jù)。

圖2 客戶端根據(jù)Web請求與服務(wù)器端進行數(shù)據(jù)交換

2.2.1 ECMDE模型的形式化描述

為了對系統(tǒng)進行精確描述并進行系統(tǒng)開發(fā),基于代數(shù)理論,將基于ECMDE模型的系統(tǒng)表示為一個代數(shù)系統(tǒng),由對象、對象的操作及操作的約束等組成。為便于分析,對系統(tǒng)定義如下。

定義1:移動數(shù)據(jù)交換系統(tǒng),是一個抽象的代數(shù)系統(tǒng),包括系統(tǒng)中的對象、對象的操作及操作的約束。表示為S(Ob,Op,Cons),其中Ob是對象的集合,Op是對這些對象所進行的操作的集合,Cons是對操作的約束。

定義2:對象,是系統(tǒng)的各組成部分,包括移動智能設(shè)備瀏覽器MClient、HTTP服務(wù)器HServer、UDDI服務(wù)器UServer、無線通信網(wǎng)絡(luò) WNetwork、SOAP 處 理 器 SProcessor,EXI處 理 器EProcessor,SOAP請求文檔SRequest,SOAP響應(yīng)文檔SResponse,HTTP請求文檔 HRequest,HTTP處理器 HProcessor,HTTP響應(yīng)文檔HResponse,EXI流 EStream。表 示 為 Ob={HServer,

MClient,UServer,WNetwork,SProcessor,EProcessor,SRequest,SResponse,HRequest,HResponse,EStream}

定義3:對象的操作,是系統(tǒng)中各對象上的操作的集合,表示為 Op={HServer.Op,Mclient.Op,WNetwork.Op,

UServer.Op,SProcessor.Op,EProcessor.Op},包括操作:

HServer.Op:發(fā)送服務(wù)注冊請求,接收 HTTP報文,緩存,發(fā)送HTTP響應(yīng),接收SOAP請求,發(fā)送SOAP響應(yīng)。

Mclient.Op:發(fā)送服務(wù)查找請求、接收服務(wù)查找結(jié)果,發(fā)送SOAP請求、接收SOAP響應(yīng)、發(fā)送HTTP報文、接收HTTP報文。

WNetwork.Op:傳輸HTTP報文。

UServer.Op:服務(wù)注冊,服務(wù)查找,發(fā)送 WSDL文檔。

SProcessor.Op:接 收 SOAP 請 求,發(fā) 送SOAP響應(yīng)。

EProcessor.Op:接收 XML文檔,發(fā)送 EXI文檔,編碼,解碼,發(fā)送 XML文檔,接收 EXI文檔。

將ECMDE模型定義為一個五元組:CMDE=(S,∑ ,f,S0,Z),其中,S是有限狀態(tài)集;f是轉(zhuǎn)換函數(shù);∑ 是有限輸入信息集,S0是初始狀態(tài),Z是最終狀態(tài),S0,Z∈S,∑ ={SRequest,SResponse,HRequest,HResponse,EDoc};狀態(tài)對象S={S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10},其中:

S0(wait):MClient根據(jù)UServer提供的 Web服務(wù)地址,準備向服務(wù)器端發(fā)送服務(wù)請求。

S1(SOAPRequest):MClient利用 SOAP消息處理中間件,根據(jù) WSDL生成XML格式的SOAP消息。

S2(EXIEncode):MClient將 XML文檔編碼壓縮為EXI文檔。

S3(HttpRequest):MClient將EXI文檔封裝到HTTP報文中,并將HTTP報文向Web服務(wù)器端發(fā)送。

S4(Transmit):無線網(wǎng)絡(luò)傳輸HTTP報文到HServer。

S5(HttpRecieve):從中 HTTP報文解析出EXI文檔。

S6(EXIDecode):HServer解碼 EXI文檔為XML文檔。

S7(SOAPResponse):HServer根據(jù) XML文檔中SOAP信封中的請求信息,進行數(shù)據(jù)庫操作等處理,將響應(yīng)結(jié)果封裝成XML格式的SOAP響應(yīng)文檔。

S8(EXIEncode):HServer編碼 XML文檔為EXI文檔。

S9(HttpResponse):HServer將 EXI文檔封裝到HTTP報文中,并將HTTP報文向Mclient發(fā)送。

S10(EXIEncode):Mclient從 HTTP報文中解析出EXI文檔。

S11(EXIEncode):Mclient將EXI文檔轉(zhuǎn)換為XML文檔并添加樣式進行顯示。

采用UML行為圖中的序列圖[15]描述一次Web服務(wù)調(diào)用過程中,該模型中的 MClient和WServer的行為、工作流及消息傳遞。如圖3、圖4所示。

圖3 MClient發(fā)送Web服務(wù)請求的序列圖

圖4 HServer接收Web請求并發(fā)回響應(yīng)的序列圖

可以得出ECMDE模型中與EXI處理相關(guān)的約束包括:EProcessor的編碼方式、編碼時間和解碼時間、Web服務(wù)中的數(shù)據(jù)庫操作時間、XML解析時間、EDoc的傳輸時間和 MClient的電量損耗。表示為:Cons={EncodeOptions,TimeEncode,TimeDecode,TimeTransmit,TimeDataP-roc,TimeXMLPrase,Power,error}

ECMDE模型的一次的Web服務(wù)調(diào)用時間為以上各時間的和,即TimeEncode+TimeDecode+TimeTrAnsmit+TimeDataProc+TimeXMLPrase。

2.3 EXI處理過程

ECMDE模型的核心是EXI處理層,部署在移動智能終端和服務(wù)器端,能將XML文檔無損地編碼為EXI文檔,以及從EXI文檔解碼為XML文檔。EXI解碼過程為編碼過程的逆序,包括編碼為事件流、預(yù)壓縮和壓縮三個步驟[1]。圖5為某SOAP請求文檔,以該文檔說明編碼過程。

圖5 示例SOAP消息的XML文檔內(nèi)容

(1)根據(jù)EXI語法,將XML文檔編碼為head流和boady流。XML文檔可采用Shema informed語法和builted-in(適用于無schema的XML)語法模式。Shema informed語法模式中對屬性進行了排序等優(yōu)化策略,處理效率更高。

EXI文檔包括EXI Header和EXI Body兩個部分。EXI Header是關(guān)于EXI的描述信息,由EXI Cookie(可選,用于區(qū)分EXI流與其他數(shù)據(jù)流)、Distinguishing Bits(表示為“10”,用于區(qū)分于 XML文檔)、Presence Bit for EXI Options、EXI Format Version(EXI數(shù)據(jù)流的版本)、EXI Options(編碼時的選項,如是否保留注釋等),Padding

Bits(可選,字節(jié)壓縮模式時填充為N個字節(jié))等組成。

EXI Body是XML文檔壓縮后的部分,由一系列事件流和相關(guān)數(shù)據(jù)內(nèi)容組成。XML文檔中的標記、標記的屬性為結(jié)構(gòu)信息,屬性值、值為內(nèi)容信息。將結(jié)構(gòu)信息編碼為事件流,如XML文檔開始標記表示為SD,文檔結(jié)束標記表示為EE,元素起始標記表示為SE,元素結(jié)束標記表示為EE,屬性表示為AT。屬性值和值的內(nèi)容信息存儲在臨時數(shù)組中,編碼時用相應(yīng)的地址表示。圖6為圖5所示SOAP響應(yīng)文檔編碼為事件流的示意圖,包括編碼過程中的臨時表、編碼后的EXI事件流。

圖6 示例文檔編碼過程產(chǎn)生的臨時數(shù)組及生成的事件流

(2)預(yù)壓縮。將事件流中的結(jié)構(gòu)信息與內(nèi)容信息分開,以位對齊或字節(jié)對齊的方式重新排列,以便快速壓縮。

(3)壓縮。將body流壓縮為二進制信息。壓縮后的EXI文檔中標記名稱、元素值均只出現(xiàn)一次。

預(yù)壓縮和壓縮的過程示意圖如圖7所示。

圖7 SOAP文檔預(yù)壓縮、壓縮過程示意圖

3 EXI處理層的自動化實現(xiàn)

根據(jù)ECMDE模型的序列圖,并利用符合EXI標準的開源軟件OpenEXI[16]的開放接口,開發(fā)服務(wù)器端和智能手機端EXI處理程序。OpenEXI基于Java編寫,提供了GrammarOp-tions、 GrammarCache、 Transmogrifier 和TransmogrifierException等幾個包,可根據(jù)不同壓縮選項、是否有Schema等方式進行EXI編碼等。服務(wù)器端接收 Web請求、進行處理及返回SOAP響應(yīng)的偽代碼如下所示,其中也加入了傳輸時間及編碼時間的計算。

4 實驗與分析

結(jié)合實際應(yīng)用,以校園移動學(xué)習(xí)為應(yīng)用場景,開發(fā)了“基于EXI的移動學(xué)習(xí)管理系統(tǒng)”,提供如下Web服務(wù):登錄、認證;用戶信息修改;瀏覽課程列表、瀏覽指定課程的課程資源列表;下載課程資源,如PPT、DOC、PDF等文檔;對課程資料進行評分等。

測試環(huán)境:服務(wù)器端配置為Intel Xeon2.2G,內(nèi)存4G,JDK1.7,Tomcat6.0.36,RESTeasy;路由器為 TP-link TL-WR745N。移動智能設(shè)備分別采用HTCA810E進行測試。

測試目的和方法:比較普通的 Web服務(wù)、基于ECMDE模型的Web服務(wù)的傳輸文檔大小、時間消耗和手機電量消耗。根據(jù)上述的分析,ECMDE模型的Web服務(wù)調(diào)用過程中需進行EXI編碼和解碼,有一定的時間消耗,但減小了文檔尺寸,縮短了傳輸時間。需要比較縮短的傳輸時間與增加的編碼解碼時間。

實驗過程:手機充滿電后,關(guān)閉服務(wù)器端緩存功能,訪問服務(wù)器端的5個Web服務(wù)。分別對每個Web服務(wù)、EXI處理后的Web服務(wù)連續(xù)重復(fù)測試50次,記錄每次Web服務(wù)調(diào)用的總時間(從發(fā)出訪問請求開始,收到響應(yīng)的SOAP消息結(jié)束)、手機上XML文檔的壓縮時間、手機上EXI文檔的解壓縮時間、傳輸時間,取各項值的平均值,由于數(shù)據(jù)處理時間;50次調(diào)用完畢后的檢查手機電池的剩余電量百分比。編程計算請求時間和響應(yīng)時間,采用電池監(jiān)控軟件Battery Left查看電池剩余電量。

測試結(jié)果如表1所示,其中,SizeX表示SOAP文檔的大小,SizeE表示壓縮后SOAP文檔的大小,TimeX表示W(wǎng)eb服務(wù)調(diào)用的傳輸時間,TimeE表示基于EXI的Web服務(wù)調(diào)用時間,TimeE1為XML文檔編碼時間,TimeE2為EXI文檔解碼時間,TimeE2為文檔傳輸時間,PowerX表示手機調(diào)用 Web服務(wù)后剩余的電量,PowerE表示手機調(diào)用基于EXI的Web服務(wù)后剩余的能量。

表1 智能手機1訪問Web service測試數(shù)據(jù)

實驗表明,采用EXI處理后的Web消息文檔大小顯著減小,實驗采用builted-in壓縮模式,5個文檔的平均壓縮率也達到了55%,對于尤其是含有較多注釋、重復(fù)標記的XML文檔,壓縮率更高。傳輸時間也相應(yīng)縮短,傳輸時間平均減少65.2%,移動智能終端盡管仍需花費時間和能量進行EXI編碼和解碼,但總時間損耗和電量消耗未明顯增加。此外,服務(wù)器端因其計算等資源相對充足,其EXI處理時間均為幾毫秒至十幾毫秒。

針對大型園區(qū)網(wǎng)絡(luò)的特點,在移動終端與服務(wù)器間增加EXI處理器來降低通信的數(shù)據(jù)量和通信時間,通過對移動數(shù)據(jù)交換模型的形式化描述和分析,開發(fā)了移動學(xué)習(xí)系統(tǒng)對該移動數(shù)據(jù)交換模型進行實驗,實驗顯示移動數(shù)據(jù)交換量顯著減少,同時移動智能終端的時間和能量消耗并沒有顯著增加,在高并發(fā)的情況下,將能有效減少網(wǎng)絡(luò)數(shù)據(jù)傳輸量。下一步的工作是進一步降低智能終端的EXI處理時間和能量消耗,通過采用緩存等多種策略進一步提升移動數(shù)據(jù)交換系統(tǒng)的整體性能。

[1] W3C.Efficient XML Interchange(EXI)Format 1.0 [EB/OL]2011-3-10..http://www.w3.org/TR/exi/.

[2] W3C.XML Binary Characterization User Case [EB/OL].2004-11-9.http://www.w3.org/TR/2004/WD-xbc-use-cases-20041109/.

[3] Marcelo Arenas,Pablo Barcelo,Leonid Libkin.First Editon XML-Managing Data Exchange[M].Morgan & Claypool Publishers.2011.

[4] Hossam Jumaa,Paul Rubel,Jocelyne Payn.An XML-Based Framework for Automating Data Exchange in Healthcare[C].e-Health Networking Applications and Services(Healthcom),2010 12th IEEE International Conference.

[5] 彭濤,張力.基于本體和XML的數(shù)據(jù)交換研究[J]計算機工程.2006,32(1):90-92.

[6] LarsJohnsrud,Dinko Hadzic,Trude Hafsoe.Efficient Web Services in Mobile Networks[C].Sixth European Conference on Web Services,pp.197-204,2008.

[7] Le Wang,EdwardMutafungwa,Yeswanth Puvvala,Jukka Manner.Strategies for Energy-Efficient Mobile Web Ac-cess:An East African Case Study[C]//AFRICOMM,Zanzibar Islands,Tanzania:Springer,2011.

[8] Sebastian Kabisch,Daniel Peintner,Jorg Heuer.Efficient and Flexible XML-based Data-Exchange in Microcontrollerbased Sensor Actor Networks[C]//2010IEEE 24th International Conference on Advanced Information Networking and Applicating Workshops.,.IEEE Computer Society Washington,2012.

[9] Joanna S′liwa,Tomasz Podlasek,Marek Amanowicz.Web Services Efficiency in Disadvantaged Environment[J].Journal of Telecommunications and Information Technology.2011.62-68.

[10] Angelo P.Castellani,Nicola Bui,Paolo Casari.etc.Architecture and Protocols for the Internet of Things-A Case Study[C]//Proceedings of 2010 8th IEEE International Conference on Pervasive Computing and Communications Workshops,Mannheim:Germany.IEEE Conference Publications,2010.

[11] 李建興.基于EXI的 WebService性能優(yōu)化研究[D].廣州:華南理工大學(xué)碩士論文.2010.

[12] 石彥華,李蜀瑜.動態(tài)服務(wù)的數(shù)據(jù)交換模型研究[J].計算機應(yīng)用研究.2011,28(12):4576-4580.

[13] 鐘巍.數(shù)據(jù)交換模型研究與實踐[D].武漢:武漢理工大學(xué)碩士論文.2008.

[14] W3C.Efficient XML Interchange(EXI)Primer[EB/OL].2009-12-8.http://www.w3.org/TR/2009/WD-exi-primer-20091208/.

[15] 姚全珠,王江.基于UML的軟件形式化需求分析與驗證[J].計算機工程.2010,36(13):30-33.

[16] OpenEXI.OpenEXI Introduction.[EB/OL].http://openexi.sourceforge.net/.2013-9-15.

猜你喜歡
服務(wù)器端報文文檔
基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
淺談Matlab與Word文檔的應(yīng)用接口
有人一聲不吭向你扔了個文檔
Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設(shè)計
CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
淺析反駁類報文要點
基于Qt的安全即時通訊軟件服務(wù)器端設(shè)計
基于Qt的網(wǎng)絡(luò)聊天軟件服務(wù)器端設(shè)計
基于RI碼計算的Word復(fù)制文檔鑒別
ATS與列車通信報文分析