專利名稱:一種物聯(lián)網(wǎng)中基于soap協(xié)議的多播應(yīng)用方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種物聯(lián)網(wǎng)數(shù)據(jù)消息傳遞方法,具體涉及一種基于SOAP協(xié)議的多播應(yīng)用方法。
背景技術(shù):
物聯(lián)網(wǎng)是繼互聯(lián)網(wǎng)和移動電信網(wǎng)之后,未來網(wǎng)絡(luò)發(fā)展的第三次信息革命的浪潮, 受到了目前學(xué)術(shù)界和企業(yè)界越來越廣泛的關(guān)注。而Web服務(wù)技術(shù)作為物聯(lián)網(wǎng)和泛在計算中至關(guān)重要的技術(shù)領(lǐng)域,其主要是建立在基于S0AP(Simple Object Access Protocol, 簡單對象訪問協(xié)議)的消息傳遞層,基于WSDL(Web Services Description Language,網(wǎng)絡(luò)服務(wù)描述語言)的接口描述,以及基于UDDI (Universal Description, Discovery and Integration,統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議)的服務(wù)發(fā)現(xiàn)機(jī)制,為改進(jìn)未來智慧網(wǎng)絡(luò)中服務(wù)請求與響應(yīng)的性能提供了很好的技術(shù)手段。SOAP作為XML的消息傳遞協(xié)議,主要是因為XML豐富的語義、嚴(yán)格的規(guī)定、靈活的自描述語法特性以及支持XML語言間的自動翻譯和轉(zhuǎn)換,為多服務(wù)和設(shè)備間的交互提供了關(guān)鍵能力,使之適合于描述和查詢服務(wù)。然而隨著網(wǎng)絡(luò)規(guī)模和信息量的不斷擴(kuò)大,尤其是未來的物聯(lián)網(wǎng)和泛在網(wǎng)絡(luò)中面對海量的數(shù)據(jù)描述,加上XML的自描述特性,使得在傳統(tǒng)Web服務(wù)中的SOAP信息數(shù)據(jù)造成了大量的協(xié)議開銷,而處理這些的冗余信息開銷需要占用大量的計算資源,且對于服務(wù)的請求與響應(yīng)的效率也隨之降低。相比于二進(jìn)制協(xié)議,如Java RMI和COBRA等,一些研究人員已經(jīng)提出各種方法來分析和優(yōu)化SOAP性能。Web服務(wù)技術(shù)所面臨的諸多挑戰(zhàn)之一,就是如何能夠基于自身的性能有效地發(fā)現(xiàn)服務(wù)。目前針對SOAP執(zhí)行過程中低效性的原因,分析研究了一些像MS SOAP Toolkit+, SOAP RMI等在使用過程中的延時情況。研究表明,相比于Java RMI和C0BRA, SOAP RMI及微軟的SOAP Toolkit+的延時情況更為嚴(yán)重,其中很重要的原因就是在XML語法分析和格式化上所造成的延時。傳統(tǒng)的Xcast多播機(jī)制,其支持小量多點傳播,通過顯式對數(shù)據(jù)包中的目標(biāo)文件進(jìn)行編碼實現(xiàn),而非通過組播地址完成。這種方法不要求組播樹的任何中介路由節(jié)點存放轉(zhuǎn)發(fā)信息,而把組中所有接收者的地址存放在每個Xcast數(shù)據(jù)包頭中,中間節(jié)點只需簡單地根據(jù)包頭中的路徑信息來決定下一跳,并轉(zhuǎn)發(fā)數(shù)據(jù)包,節(jié)點負(fù)載相對減輕。但是,在組播組接收者很多的情況下,數(shù)據(jù)包頭的信息量就會增大,包處理的時延也會相應(yīng)增加,這種方法就會顯現(xiàn)的不足。因此,適時地引入一種高效的組播機(jī)制成為了提高SOAP性能的關(guān)鍵所在。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對背景技術(shù)中提及的缺陷,提供一種SOAP多播應(yīng)用方法,減少服務(wù)器和中間節(jié)點的時延和協(xié)議的開銷,最終減少了數(shù)據(jù)通信的業(yè)務(wù)量,提高網(wǎng)絡(luò)帶寬的性能。
本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案一種物聯(lián)網(wǎng)中基于SOAP協(xié)議的多播應(yīng)用方法,包括如下步驟步驟A,當(dāng)有兩個客戶端的請求信息Soap1和Soap2經(jīng)中間路由到達(dá)服務(wù)器后,在預(yù)先設(shè)定的等待時間內(nèi),依據(jù)相似性理論計算二者之間的相似性;步驟B,當(dāng)計算所得的相似性值大于或等于之前設(shè)定的相似閾值P,將客戶端的地址以字符串形式存儲在SMAP頭部,生成一個包含Soap1和Soap2內(nèi)容的SMAP響應(yīng)信息;步驟C,將SMAP響應(yīng)信息封包在SOAP信息的包體部分,所述SOAP信息的包體包括兩部分1)〈Common〉包含公共數(shù)據(jù)和發(fā)往所有客戶端信息的結(jié)構(gòu);2)〈Distinctive〉包含每個響應(yīng)信息的各自不同的信息內(nèi)容;步驟D,在預(yù)先設(shè)定的等待時間內(nèi),當(dāng)有新的請求信息到來,計算該請求信息的 SMAP響應(yīng)信息與已有SOAP信息包體中〈Common〉部分的相似度,其計算過程與步驟A的計算過程一致;步驟E,當(dāng)計算的相似度大于上述閾值P,將該請求信息融合到原有SMAP信息中; 否則,將原有SMAP信息發(fā)送出去,將新的請求信息保留在服務(wù)器端等待下一個新請求信肩、ο進(jìn)一步的,本發(fā)明的物聯(lián)網(wǎng)中基于SOAP協(xié)議的多播應(yīng)用方法中,在SOAP封包中, 將目的節(jié)點的列表分割成包含η個目的節(jié)點的子列表,每一個子列表對應(yīng)一個數(shù)據(jù)包中的目的節(jié)點列表。進(jìn)一步的,本發(fā)明的物聯(lián)網(wǎng)中基于SOAP協(xié)議的多播應(yīng)用方法中,在中間路由或指定路由節(jié)點處,進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)時需要調(diào)用事先設(shè)置的數(shù)據(jù)包分裂算法,數(shù)據(jù)包分裂算法就是當(dāng)一個SMAP數(shù)據(jù)包到達(dá)中間路由器時,中間路由器根據(jù)SMAP數(shù)據(jù)包對應(yīng)的下一跳地址選項,將來自不同目的地址客戶端請求信息的差分部分分開,相同部分不變;因此一個 SMAP數(shù)據(jù)包將根據(jù)下一跳路由地址的不同,分為對應(yīng)的多個SMAP數(shù)據(jù)包。后續(xù)的數(shù)據(jù)包分裂算法依次類推。依據(jù)此算法將一個SMAP數(shù)據(jù)包分裂成來自不同用戶的響應(yīng)信息,并轉(zhuǎn)發(fā)至下一跳路由或目的用戶,最后送至業(yè)務(wù)請求的用戶客戶端。進(jìn)一步的,本發(fā)明的物聯(lián)網(wǎng)中基于SOAP協(xié)議的多播應(yīng)用方法中,依據(jù)相似性理論計算兩個請求信息Soap1和Soap2的相似性的具體步驟為元素相似度的計算兩個請求信息Soap1和Soap2之間的元素相似度定義如下
權(quán)利要求
1.一種物聯(lián)網(wǎng)中基于SOAP協(xié)議的多播應(yīng)用方法,其特征在于,包括如下步驟步驟A,當(dāng)有兩個客戶端的請求信息Soap1和Soap2經(jīng)中間路由到達(dá)服務(wù)器后,在預(yù)先設(shè)定的等待時間內(nèi),依據(jù)相似性理論計算二者之間的相似性;步驟B,當(dāng)計算所得的相似性值大于或等于之前設(shè)定的相似閾值P,將客戶端的地址以字符串形式存儲在SMAP頭部,生成一個包含Soap1和Soap2內(nèi)容的SMAP響應(yīng)信息; 步驟C,將SMAP響應(yīng)信息封包在SOAP信息的包體部分,所述SOAP信息的包體包括兩部分1)〈Common〉包含公共數(shù)據(jù)和發(fā)往所有客戶端信息的結(jié)構(gòu);2)〈Distinctive〉包含每個響應(yīng)信息的各自不同的信息內(nèi)容;步驟D,在預(yù)先設(shè)定的等待時間內(nèi),當(dāng)有新的請求信息到來,計算該請求信息的SMAP響應(yīng)信息與已有SOAP信息包體中〈Common〉部分的相似度,其計算過程與步驟A的計算過程一致;步驟E,當(dāng)計算的相似度大于上述閾值P,將該請求信息融合到原有SMAP信息中;否則,將原有SMAP信息發(fā)送出去,將新的請求信息保留在服務(wù)器端等待下一個新請求信息。
2.根據(jù)權(quán)利要求1所述的一種物聯(lián)網(wǎng)中基于SOAP協(xié)議的多播應(yīng)用方法,其特征在于, 在SOAP封包中,將目的節(jié)點的列表分割成包含η個目的節(jié)點的子列表,每一個子列表對應(yīng)一個數(shù)據(jù)包中的目的節(jié)點列表。
3.根據(jù)權(quán)利要求1所述的一種物聯(lián)網(wǎng)中基于SOAP協(xié)議的多播應(yīng)用方法,其特征在于, 在中間路由或指定路由節(jié)點處,進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)時需要調(diào)用事先設(shè)置的數(shù)據(jù)包分裂算法, 具體是當(dāng)一個SMAP數(shù)據(jù)包到達(dá)中間路由器時,中間路由器根據(jù)SMAP數(shù)據(jù)包對應(yīng)的下一跳地址選項,將來自不同目的地址客戶端請求信息的差分部分分開,相同部分不變;依據(jù)此算法將一個SMAP數(shù)據(jù)包分裂成來自不同用戶的響應(yīng)信息,并轉(zhuǎn)發(fā)至下一跳路由或目的用戶,最后送至業(yè)務(wù)請求的用戶客戶端。
4.根據(jù)權(quán)利要求1所述的一種物聯(lián)網(wǎng)中基于SOAP協(xié)議的多播應(yīng)用方法,其特征在于, 所述依據(jù)相似性理論計算兩個請求信息Soap1和Soap2的相似性的具體步驟為①元素相似度的計算兩個請求信息Soap1和Soap2之間的元素相似度定義如下
全文摘要
本發(fā)明公開了一種基于SOAP協(xié)議的多播應(yīng)用方法,針對現(xiàn)有SOAP協(xié)議,不改變SOAP的封包格式,對來自客戶端SOAP請求信息進(jìn)行相似性的判斷,將滿足相似性條件的SOAP請求的信息提取,并按照定義的數(shù)據(jù)匯聚模板形成一個新的融合多用戶信息SOAP響應(yīng)消息后,然后經(jīng)中間路由器根據(jù)設(shè)計的匯聚信息的分裂算法進(jìn)行信息的分包,將不同的消息分別發(fā)送至不同的客戶端。本發(fā)明依據(jù)相似性的方法將多個SOAP消息匯聚在一起,無需每次產(chǎn)生一個SOAP消息就立即發(fā)出去。與傳統(tǒng)的SOAP單播協(xié)議相比,采用多播SOAP機(jī)制的網(wǎng)絡(luò),其服務(wù)器和中間節(jié)點的時延和協(xié)議開銷得到改善,網(wǎng)絡(luò)性能得到提高。
文檔編號H04L29/06GK102387203SQ20111032195
公開日2012年3月21日 申請日期2011年10月21日 優(yōu)先權(quán)日2011年10月21日
發(fā)明者丁一鳴, 暴建民, 龔恩源 申請人:南京郵電大學(xué)