李金鳳
【摘 要】為了解決民用服務(wù)總線技術(shù)在Ad Hoc網(wǎng)絡(luò)環(huán)境的局限性問題,采用結(jié)合終端呈現(xiàn)能力的寬帶服務(wù)緩存與離線服務(wù)、自適應(yīng)內(nèi)容分發(fā)與數(shù)據(jù)自適應(yīng)壓縮技術(shù),提出了適用于Ad Hoc網(wǎng)絡(luò)環(huán)境自適應(yīng)的服務(wù)總線架構(gòu)方案,并通過實(shí)驗(yàn)驗(yàn)證了設(shè)計(jì)的有效性。
【關(guān)鍵詞】Ad Hoc網(wǎng)絡(luò) 服務(wù)總線 數(shù)據(jù)內(nèi)容自適應(yīng)
doi:10.3969/j.issn.1006-1010.2016.20.007 中圖分類號:TP393 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-1010(2016)20-0036-05
1 引言
針對日益增長的信息共享和業(yè)務(wù)整合的需求,基于SOA(Service Oriented Architecture,面向服務(wù)的體系架構(gòu))的企業(yè)應(yīng)用集成已是大勢所趨。基于SOA的ESB(Enterprise Service Bus,企業(yè)服務(wù)總線)可屏蔽各類異構(gòu)網(wǎng)絡(luò)環(huán)境、操作系統(tǒng)、編程語言的差異,在固定網(wǎng)絡(luò)環(huán)境得以有效應(yīng)用。若將其應(yīng)用于Ad Hoc網(wǎng)絡(luò),則需考慮其適應(yīng)性?,F(xiàn)有的SOA關(guān)鍵技術(shù)XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)、Web Service等均建立在具備可靠通信、高帶寬能力的TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議)網(wǎng)絡(luò)之上,而Ad Hoc網(wǎng)絡(luò)具有通信不穩(wěn)定、帶寬受限、終端性能低下等特點(diǎn)[1],如果無線用戶想要獲取固定網(wǎng)絡(luò)的服務(wù)資源,必然受到無線環(huán)境的約束,無法忍受固定網(wǎng)絡(luò)服務(wù)技術(shù)帶來的負(fù)荷影響。因此,需要對目前現(xiàn)有的服務(wù)技術(shù)進(jìn)行改進(jìn),以解決無線環(huán)境的適應(yīng)性難題,提高無線用戶訪問固定網(wǎng)絡(luò)服務(wù)的可行性和效率,從而實(shí)現(xiàn)Ad Hoc網(wǎng)絡(luò)環(huán)境的信息共享和業(yè)務(wù)整合需求。
鑒于國外的研究經(jīng)驗(yàn)以及國內(nèi)的技術(shù)基礎(chǔ)[2-3],本文提出一種適用于Ad Hoc網(wǎng)絡(luò)的環(huán)境自適應(yīng)服務(wù)總線架構(gòu),通過數(shù)據(jù)內(nèi)容自適應(yīng)技術(shù)來解決Ad Hoc網(wǎng)絡(luò)環(huán)境的約束。
2 系統(tǒng)結(jié)構(gòu)
在Ad Hoc網(wǎng)絡(luò)環(huán)境中搭建基于SOA的系統(tǒng)框架,實(shí)現(xiàn)服務(wù)共享與協(xié)作,需要增加適應(yīng)于無線受限環(huán)境的設(shè)計(jì)技術(shù),以減輕其約束影響,如圖1所示??梢詮膬蓚€(gè)角度來考慮設(shè)計(jì)方法:
(1)與服務(wù)相關(guān)的:將設(shè)計(jì)方法作為服務(wù)的一部分,直接在服務(wù)中增加對環(huán)境的適應(yīng)性處理;
(2)獨(dú)立于服務(wù)的:將設(shè)計(jì)置于服務(wù)總線之中,既減輕服務(wù)的復(fù)雜性,也便于重用[4-6]。
本文選用方法(2),提出一種適用于Ad Hoc網(wǎng)絡(luò)的環(huán)境自適應(yīng)服務(wù)總線架構(gòu)。
本文提出的Ad Hoc網(wǎng)絡(luò)環(huán)境自適應(yīng)服務(wù)總線包括兩大組件:業(yè)務(wù)邏輯組件和數(shù)據(jù)訪問組件。其系統(tǒng)結(jié)構(gòu)如圖2所示:
2.1 業(yè)務(wù)邏輯組件
業(yè)務(wù)邏輯組件由四大功能部件組成,包括:Ad Hoc網(wǎng)絡(luò)接口、固定網(wǎng)絡(luò)接口、服務(wù)代理和數(shù)據(jù)內(nèi)容自適應(yīng)。數(shù)據(jù)內(nèi)容自適應(yīng)作為核心功能部件,可進(jìn)一步分解為:寬帶服務(wù)緩存、離線服務(wù)、自適應(yīng)內(nèi)容分發(fā)、數(shù)據(jù)自適應(yīng)壓縮和協(xié)議轉(zhuǎn)換。
◆Ad Hoc網(wǎng)絡(luò)接口:為服務(wù)總線提供與Ad Hoc網(wǎng)絡(luò)的通信接口,實(shí)現(xiàn)無線環(huán)境消息的接收和發(fā)送功能。考慮到帶寬有限,根據(jù)終端呈現(xiàn)能力的不同,本系統(tǒng)選擇靈活、標(biāo)準(zhǔn)、輕量級的消息格式,包括VMF(Variable Message Format,二進(jìn)制消息格式)、經(jīng)過高效壓縮的SOAP(Simple Object Access Protocol,簡單對象訪問協(xié)議)消息,為無線用戶提供高效的傳輸服務(wù)。在國內(nèi)外Ad Hoc網(wǎng)絡(luò)研究中,VMF協(xié)議已在無線終端得以有效推廣使用。
◆固定網(wǎng)絡(luò)接口:為服務(wù)總線提供與固定網(wǎng)絡(luò)的通信接口,實(shí)現(xiàn)固定網(wǎng)絡(luò)消息的接收和發(fā)送功能。使用XML/SOAP/Web Service技術(shù),實(shí)現(xiàn)面向服務(wù)架構(gòu)。
◆服務(wù)代理:服務(wù)總線為各服務(wù)提供代理功能,它通過UDDI(Universal Description Discovery and Integration,通用描述、發(fā)現(xiàn)和集成)目錄服務(wù)器獲取待訪問服務(wù)的屬性(包括服務(wù)地址、接口等信息),代理客戶端訪問服務(wù)以獲取服務(wù)應(yīng)答,并向客戶端轉(zhuǎn)發(fā)服務(wù)應(yīng)答。
◆數(shù)據(jù)內(nèi)容自適應(yīng):根據(jù)Ad Hoc網(wǎng)絡(luò)環(huán)境特點(diǎn),以減輕網(wǎng)絡(luò)帶寬占用和終端處理負(fù)荷為目標(biāo),開展針對性設(shè)計(jì)。包括:
寬帶服務(wù)緩存:將遠(yuǎn)端的固定網(wǎng)絡(luò)服務(wù)(簡稱寬帶服務(wù))前端化,提供服務(wù)數(shù)據(jù)的臨時(shí)緩存,以提高訪問效率。在有效期內(nèi),當(dāng)用戶重復(fù)請求該服務(wù)或服務(wù)器離線時(shí),對用戶返回本地緩存的服務(wù)數(shù)據(jù)。
離線服務(wù):為無線用戶的不穩(wěn)定連接提供服務(wù)保證。若無線用戶請求服務(wù)時(shí)發(fā)生連接中斷,則服務(wù)總線為其保存服務(wù)應(yīng)答,并在用戶恢復(fù)連接時(shí)向其推送服務(wù)應(yīng)答。
自適應(yīng)內(nèi)容分發(fā):根據(jù)接收方無線終端的設(shè)備能力(如屏幕大小、計(jì)算能力、內(nèi)存、存儲(chǔ)容量、操作系統(tǒng)、瀏覽器和網(wǎng)絡(luò)帶寬等),自適應(yīng)調(diào)整傳輸內(nèi)容。接收終端能力越差,送達(dá)的數(shù)據(jù)內(nèi)容將越少,以減小終端處理負(fù)荷。
數(shù)據(jù)自適應(yīng)壓縮:根據(jù)用戶終端呈現(xiàn)能力,對服務(wù)數(shù)據(jù)進(jìn)行自適應(yīng)的數(shù)據(jù)壓縮,以實(shí)現(xiàn)Web服務(wù)的輕量化。
協(xié)議轉(zhuǎn)換:提供消息翻譯功能,實(shí)現(xiàn)Ad Hoc網(wǎng)絡(luò)與固定網(wǎng)絡(luò)之間消息的協(xié)議格式轉(zhuǎn)換。例如,無線終端選用輕量級二進(jìn)制協(xié)議VMF技術(shù),服務(wù)總線通過對VMF消息與SOAP/XML消息協(xié)議轉(zhuǎn)換,支持無線用戶對固定網(wǎng)絡(luò)服務(wù)的訪問。
(1)寬帶服務(wù)緩存與離線服務(wù)
Ad Hoc網(wǎng)絡(luò)服務(wù)總線通過將固定網(wǎng)絡(luò)服務(wù)(簡稱寬帶服務(wù))如氣象、地圖服務(wù)等的服務(wù)數(shù)據(jù)在本地緩存,為無線用戶訪問寬帶服務(wù)提供網(wǎng)關(guān)功能,如圖3所示:
◆當(dāng)無線用戶初次成功獲取固定網(wǎng)絡(luò)服務(wù)(如氣象服務(wù))時(shí),將服務(wù)數(shù)據(jù)寫入服務(wù)總線的本地緩存,則有效期內(nèi)當(dāng)用戶再次訪問該服務(wù)時(shí),直接通過本地緩存提供服務(wù)應(yīng)答而無需訪問網(wǎng)絡(luò),以提高訪問效率。
◆當(dāng)服務(wù)器離線或擁塞時(shí),對用戶返回本地緩存,以提高服務(wù)成功率。
◆服務(wù)總線為離線用戶保存服務(wù)數(shù)據(jù),并在用戶恢復(fù)連接時(shí)向其推送服務(wù)應(yīng)答。
(2)自適應(yīng)內(nèi)容分發(fā)
Ad Hoc網(wǎng)絡(luò)服務(wù)總線結(jié)合呈現(xiàn)服務(wù),根據(jù)接收方無線終端的設(shè)備能力(如屏幕分辨率、CPU類型、內(nèi)存、存儲(chǔ)容量、系統(tǒng)軟件特性和網(wǎng)絡(luò)帶寬等特征),自適應(yīng)調(diào)整傳輸內(nèi)容。接收終端能力越差,送達(dá)終端的數(shù)據(jù)內(nèi)容將越少,以減小終端處理負(fù)荷,提高服務(wù)應(yīng)答效率。以訪問氣象服務(wù)為例,實(shí)現(xiàn)流程如圖4所示:
◆無線終端定期向呈現(xiàn)服務(wù)器上報(bào)自身的設(shè)備能力,呈現(xiàn)服務(wù)定期更新終端能力的數(shù)據(jù)信息。
◆當(dāng)用戶請求氣象服務(wù)時(shí),服務(wù)代理結(jié)合呈現(xiàn)服務(wù)提供的終端設(shè)備能力信息,根據(jù)預(yù)設(shè)規(guī)則選擇適合的數(shù)據(jù)內(nèi)容調(diào)整方法,將服務(wù)應(yīng)答數(shù)據(jù)(氣象信息)轉(zhuǎn)換為適用于當(dāng)前用戶接收的數(shù)據(jù)格式后再行分發(fā),從而實(shí)現(xiàn)自適應(yīng)內(nèi)容分發(fā)。
◆數(shù)據(jù)內(nèi)容調(diào)整方法包括內(nèi)容分頁顯示、分層顯示、多媒體格式轉(zhuǎn)換與調(diào)整技術(shù)等。
(3)數(shù)據(jù)自適應(yīng)壓縮
根據(jù)客戶端接入帶寬能力和服務(wù)應(yīng)答數(shù)據(jù)類型,本系統(tǒng)提供一種數(shù)據(jù)自適應(yīng)壓縮的機(jī)制,實(shí)現(xiàn)Web服務(wù)的輕量化。該策略可以降低數(shù)據(jù)傳輸量與響應(yīng)時(shí)間,有效地改善Web服務(wù)性能。
◆根據(jù)“呈現(xiàn)服務(wù)”提供的客戶端接入帶寬信息,服務(wù)總線決定是否對SOAP應(yīng)答消息進(jìn)行壓縮。當(dāng)客戶端為窄帶接入時(shí),則對應(yīng)答消息進(jìn)行壓縮;當(dāng)客戶端為寬帶接入時(shí),則不予壓縮處理,以減少由壓縮、解壓縮帶來的處理性能負(fù)荷。
◆參考文獻(xiàn)[7]至文獻(xiàn)[13]對SOAP/XML壓縮算法的研究,本系統(tǒng)選擇XMill和Gzip壓縮算法。對典型結(jié)構(gòu)的SOAP/XML文本消息,XMill算法能實(shí)現(xiàn)至少20%的壓縮率;Gzip對小于20 kB的文本具有良好的壓縮性能,可以對攜帶圖片、聲音等二進(jìn)制附件的SOAP消息進(jìn)行壓縮。經(jīng)過權(quán)衡這2種算法的優(yōu)缺點(diǎn),服務(wù)總線根據(jù)SOAP應(yīng)答消息的大小和攜帶的附件類型動(dòng)態(tài)來選擇壓縮算法。
2.2 數(shù)據(jù)訪問組件
數(shù)據(jù)訪問組件包括寬帶服務(wù)數(shù)據(jù)庫和離線服務(wù)數(shù)據(jù)庫兩部分,具體如下:
(1)寬帶服務(wù)數(shù)據(jù)庫:用于保存固定網(wǎng)絡(luò)的服務(wù)數(shù)據(jù),由“寬帶服務(wù)緩存”部件負(fù)責(zé)建立與維護(hù);
(2)離線服務(wù)數(shù)據(jù)庫:用于保存用戶因離線無法接收到的服務(wù)數(shù)據(jù),由“離線服務(wù)”部件負(fù)責(zé)建立與維護(hù)。
3 實(shí)驗(yàn)分析
下面將通過實(shí)驗(yàn)具體分析在無線帶寬、鏈路穩(wěn)定性受限因素影響下,該軟件設(shè)計(jì)方案中服務(wù)運(yùn)行的有效性。
3.1 實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)環(huán)境如圖5所示。Ad Hoc網(wǎng)絡(luò)服務(wù)總線、UDDI目錄服務(wù)器、Web服務(wù)器(呈現(xiàn)服務(wù)、氣象服務(wù))和無線終端共同搭建形成SOA平臺(tái),硬件/軟件運(yùn)行環(huán)境如表1所示。
3.2 實(shí)驗(yàn)結(jié)果
無線終端通過SOAP協(xié)議接入服務(wù)總線,發(fā)起氣象預(yù)報(bào)服務(wù)請求。服務(wù)應(yīng)答初始大小4.5 MB,其中攜帶圖片大小2.3 MB。通過Linux系統(tǒng)工具設(shè)置網(wǎng)絡(luò)鏈路帶寬、時(shí)延和丟包率,以模擬無線鏈路。服務(wù)總線設(shè)備分別啟用民用服務(wù)總線、Ad Hoc網(wǎng)絡(luò)服務(wù)總線,開展測試100次,比較在接入側(cè)無線鏈路不同帶寬、時(shí)延、丟包率環(huán)境下,獲取服務(wù)的成功率、響應(yīng)平均時(shí)延和服務(wù)應(yīng)答大小。實(shí)驗(yàn)結(jié)果如表2所示。
由表2可見,在無線網(wǎng)絡(luò)環(huán)境下,通過寬帶服務(wù)緩存與離線推送、數(shù)據(jù)壓縮技術(shù)、圖片內(nèi)容自適應(yīng)分發(fā)技術(shù)的應(yīng)用,本文提出的適用于Ad Hoc網(wǎng)絡(luò)的服務(wù)總線明顯優(yōu)于民用傳統(tǒng)服務(wù)總線,服務(wù)成功率高且服務(wù)響應(yīng)平均時(shí)延、服務(wù)應(yīng)答占用帶寬明顯減小。
4 結(jié)束語
本文在民用企業(yè)服務(wù)總線的基礎(chǔ)上,結(jié)合無線受限環(huán)境特點(diǎn),提出一種適用于Ad Hoc網(wǎng)絡(luò)環(huán)境自適應(yīng)的服務(wù)總線架構(gòu)并進(jìn)行研究。在Ad Hoc網(wǎng)絡(luò)中,通信的不穩(wěn)定性和帶寬有限是實(shí)現(xiàn)SOA架構(gòu)的主要障礙。實(shí)驗(yàn)結(jié)果表明,通過結(jié)合終端的呈現(xiàn)能力,本系統(tǒng)提供的寬帶服務(wù)緩存與離線服務(wù)、自適應(yīng)內(nèi)容分發(fā)與數(shù)據(jù)自適應(yīng)壓縮技術(shù),可減少對網(wǎng)絡(luò)帶寬的占用,實(shí)現(xiàn)服務(wù)輕量化,并提高了服務(wù)訪問效率。由此可見,本文提出的適用于Ad Hoc網(wǎng)絡(luò)的服務(wù)總線技術(shù)可降低無線受限環(huán)境的約束影響,加速實(shí)現(xiàn)服務(wù)共享的進(jìn)程。
參考文獻(xiàn):
[1] THALES Group. Tactical Service Bus: The flexibility of service oriented architectures in constrained theater environments[R]. 2008.
[2] 付建川,吳正午,朱恩成. 柵格服務(wù)總線在戰(zhàn)術(shù)級信息系統(tǒng)中的應(yīng)用研究[A]. 2013中國指揮控制大會(huì)論文集[C]. 北京: 國防工業(yè)出版社, 2013: 1317-1320.
[3] 王均波,郭雷平,王建斌,等. 移動(dòng)戰(zhàn)術(shù)信息柵格的一種消息服務(wù)總線設(shè)計(jì)方法[J]. 火力與指揮控制, 2013,38(12): 79-82.
[4] DISA. Tactical Edge Service: Design Principles and Patterns[R]. 2011.
[5] Johnathan G, Peter G, Brent R, et al. Tactical Service-Oriented Architecture[R]. Defense Transformation and Net-Centric Systems, 2008.
[6] Fatma D. Tactical Edge Characterization Framework Volume 2: Design Patterns for Tactical Environments[R]. MITRE Technical Report, 2007.
[7] 張勝,包曉玲,舒堅(jiān),等. XML壓縮方法的比較分析[J]. 計(jì)算機(jī)工程, 2009,35(11): 26-28.
[8] 郭荷清,劉正喜. 使用壓縮技術(shù)改善Web Service的傳輸性能[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2006,23(6): 102-104.
[9] 楊容. XML壓縮算法的分析與比較[J]. 電腦知識與技術(shù), 2007(7): 32-35.
[10] 熊靜,魏建,張旭,等. 移動(dòng)計(jì)算環(huán)境下Web服務(wù)性能的動(dòng)態(tài)優(yōu)化策略研究[J]. 寧夏大學(xué)學(xué)報(bào): 自然科學(xué)版, 2008,29(1): 52-55.
[11] 余九峰. 差分解析SOAP消息優(yōu)化Web服務(wù)性能關(guān)鍵技術(shù)研究[D]. 濟(jì)南: 山東經(jīng)濟(jì)學(xué)院, 2011.
[12] Sherif Sakr. 調(diào)查最先進(jìn)的XML壓縮技術(shù)[EB/OL]. (2011-09-05). http://www.ibm.com/developerworks/cn/xml/x-datacompression/.
[13] Hartmut L, Dan S. XMill: an efficient compressor for XML data[R]. AT&T Labs-Research, 2004.