專(zhuān)利名稱(chēng):一種基于平衡二叉樹(shù)Chord網(wǎng)絡(luò)結(jié)構(gòu)的Web服務(wù)發(fā)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明主要面向大規(guī)模語(yǔ)義Web服務(wù)的快速發(fā)布和發(fā)現(xiàn)問(wèn)題,尤其涉及一種基于平衡二叉樹(shù)Chord網(wǎng)絡(luò)結(jié)構(gòu)的Web服務(wù)發(fā)現(xiàn)方法。
背景技術(shù):
在服務(wù)計(jì)算中,Web服務(wù)是服務(wù)概念的一種具體表現(xiàn)形式和功能載體,它是一種基于Web環(huán)境的具有自適應(yīng)、自描述、模塊化并具有良好互操作能力的應(yīng)用程序。Web服務(wù)作為一種新型的分布式構(gòu)件模型,已經(jīng)在電子商務(wù)、企業(yè)應(yīng)用集成等領(lǐng)域扮演了越來(lái)越重要的角色。隨著互聯(lián)網(wǎng)中Web服務(wù)數(shù)目和種類(lèi)的增加,如何方便有效地進(jìn)行服務(wù)發(fā)現(xiàn)是面向服務(wù)的架構(gòu)SOA所要解決的關(guān)鍵問(wèn)題之一。近年來(lái),國(guó)內(nèi)外學(xué)者紛紛投身于基于語(yǔ)義的Web 服務(wù)發(fā)現(xiàn)方法,通過(guò)使用語(yǔ)義網(wǎng)(Semantic Web)中的本體技術(shù)、語(yǔ)義推理技術(shù)來(lái)提高服務(wù)發(fā)現(xiàn)的能力,這樣的方法被當(dāng)前學(xué)術(shù)界一致公認(rèn)為最有前景的服務(wù)發(fā)現(xiàn)方法,這類(lèi)方法絕大部分以語(yǔ)義Web服務(wù)模型0WL-S、WSM0和WSDL-S等為基礎(chǔ),結(jié)合本體推理、語(yǔ)義匹配等技術(shù)來(lái)達(dá)到服務(wù)發(fā)現(xiàn)過(guò)程的自動(dòng)化和準(zhǔn)確性。傳統(tǒng)的Web服務(wù)發(fā)現(xiàn)方法基本是通過(guò)集中式的解決方案實(shí)現(xiàn)的,例如比較流行的CS架構(gòu)等,但是隨著服務(wù)數(shù)量的不斷豐富增加,這樣的集中式解決方案將會(huì)不可避免的出現(xiàn)服務(wù)器依賴(lài)、效度低下、單點(diǎn)失敗和擴(kuò)展性差等缺陷。當(dāng)海量的注冊(cè)集中到服務(wù)注冊(cè)中心時(shí),必然會(huì)導(dǎo)致服務(wù)注冊(cè)中心的高負(fù)荷運(yùn)作,并且如果服務(wù)注冊(cè)中心一旦中心節(jié)點(diǎn)崩潰,所有注冊(cè)在此服務(wù)中心的Web服務(wù)都將無(wú)法被發(fā)現(xiàn)利用,將導(dǎo)致不可估量的損失。然而P2P技術(shù)的出現(xiàn)突破了原有傳統(tǒng)的集中式網(wǎng)絡(luò)模式,利用分布式的資源,使用分散的方式來(lái)實(shí)現(xiàn)某種功能或是支持某類(lèi)系統(tǒng),P2P網(wǎng)絡(luò)具有分布性、自組織性、可擴(kuò)展性、安全性和互操作性等特點(diǎn)。P2P技術(shù)經(jīng)過(guò)多年的研究與發(fā)展,已經(jīng)產(chǎn)生了許多成熟有效的P2P網(wǎng)絡(luò),如Napster、Gnutella、Chord、CAN、JXTA等,P2P網(wǎng)絡(luò)中的所有節(jié)點(diǎn)地位都是平等的,每個(gè)節(jié)點(diǎn)既作為服務(wù)器為其他節(jié)點(diǎn)提供所需的服務(wù),又作為客戶(hù)端可以使用其他節(jié)點(diǎn)所提供的服務(wù),這樣對(duì)等地位的模式分擔(dān)的服務(wù)器的風(fēng)險(xiǎn),也大大降低了整個(gè)網(wǎng)絡(luò)崩潰的可能。平衡二叉樹(shù)(AVLTree)中任何節(jié)點(diǎn)的兩個(gè)子樹(shù)的高度最大差別為一,在平衡二叉樹(shù)中,查找、插入和刪除在平均和最壞情況下都是0(log n),通過(guò)對(duì)AVLTree中的所有節(jié)點(diǎn)都添加指向根節(jié)點(diǎn)的地址(引用或指針),即可以從任意一點(diǎn)發(fā)起尋找,即可發(fā)現(xiàn)此樹(shù)型結(jié)構(gòu)中的所找節(jié)點(diǎn)。這樣通過(guò)改進(jìn)后的AVLTree (稱(chēng)為Enhanced-AVLTree)也成為一種結(jié)構(gòu)式的P2P計(jì)算模型。
發(fā)明內(nèi)容
針對(duì)傳統(tǒng)的集中式服務(wù)發(fā)現(xiàn)的效率瓶頸、可擴(kuò)展性差等缺陷,本發(fā)明提出一種基于Enhanced-AVLTree和Chord混合的P2P網(wǎng)絡(luò)結(jié)構(gòu)的語(yǔ)義Web服務(wù)發(fā)現(xiàn)方法,利用P2P網(wǎng)絡(luò)的分布性、可擴(kuò)展性、互操作性等優(yōu)勢(shì)為服務(wù)請(qǐng)求者提供一種快速高效的服務(wù)發(fā)現(xiàn)策略方法。為了解決上述技術(shù)問(wèn)題,本發(fā)明的技術(shù)方案如下
一種基于平衡ニ叉樹(shù)Chord網(wǎng)絡(luò)結(jié)構(gòu)的Web服務(wù)發(fā)現(xiàn)方法,包括服務(wù)建網(wǎng)過(guò)程和服務(wù)發(fā)現(xiàn)過(guò)程;所述服務(wù)建網(wǎng)過(guò)程包括如下步驟11)設(shè)定初始狀態(tài),網(wǎng)絡(luò)中有組默認(rèn)的節(jié)點(diǎn)集合Gtl,任何沒(méi)有服務(wù)發(fā)布的節(jié)點(diǎn)都屬于該組,第一個(gè)加入該組的節(jié)點(diǎn)成為該組的樹(shù)節(jié)點(diǎn)Ttl,所述樹(shù)節(jié)點(diǎn)Ttl保存整個(gè)樹(shù)形網(wǎng)絡(luò)的根節(jié)點(diǎn)Rtl的地址;12)對(duì)于新加入網(wǎng)絡(luò)的節(jié)點(diǎn)Pi,首先將其加入到節(jié)點(diǎn)集合Gtl,所述節(jié)點(diǎn)Pi通過(guò)以下步驟發(fā)布Web服務(wù)121)節(jié)點(diǎn)Pi首先將欲發(fā)布的Web服務(wù)Wi所對(duì)應(yīng)的語(yǔ)義范疇Wi.category發(fā)送給該組的樹(shù)節(jié)點(diǎn)Ttl,樹(shù)節(jié)點(diǎn)Ttl將其轉(zhuǎn)發(fā)給根節(jié)點(diǎn)Rtl ; 122)根據(jù)語(yǔ)義范疇進(jìn)行哈希映射得到每個(gè)樹(shù)節(jié)點(diǎn)的服務(wù)類(lèi)別值keyO,即通過(guò)計(jì)算 語(yǔ)義范疇Wi—category的哈希值keyOi;根據(jù)Enhanced-AVLTree樹(shù)的查找規(guī)則在網(wǎng)絡(luò)中找到與語(yǔ)義范疇Wi—catogery語(yǔ)義最近的樹(shù)節(jié)點(diǎn)Rx ;123)計(jì)算樹(shù)節(jié)點(diǎn)Rx所對(duì)應(yīng)的語(yǔ)義范疇Rx—catogery與Wi.catogery的語(yǔ)義相似度Sim (Rx catogory, Wi.catogory),若相似度值大于給定閾值,則認(rèn)為兩者語(yǔ)義相似,節(jié)點(diǎn)Pi作為環(huán)節(jié)點(diǎn)加入到樹(shù)節(jié)點(diǎn)Rx所屬的Chord環(huán),通過(guò)相應(yīng)的Chord協(xié)議,根據(jù)節(jié)點(diǎn)Pi的IP地址計(jì)算出相應(yīng)節(jié)點(diǎn)Pi的哈希值以確定節(jié)點(diǎn)Pi在該Chord環(huán)中的位置,并計(jì)算服務(wù)Wi的查詢(xún)信息所對(duì)應(yīng)的服務(wù)值keyli,通過(guò)Iceyli將服務(wù)的發(fā)布信息〈W” ΙΡ_ ^>發(fā)布到相應(yīng)的節(jié)點(diǎn)Px上;124)若步驟123)計(jì)算出的語(yǔ)義不相似,節(jié)點(diǎn)Pi自己成為樹(shù)節(jié)點(diǎn)Ri,建立新的Chord環(huán)Gi,節(jié)點(diǎn)Ri在Enhanced-AVLTree樹(shù)網(wǎng)絡(luò)中的卩隹一標(biāo)識(shí)根據(jù)語(yǔ)義范疇Wi.catogory進(jìn)行哈希映射得到,隨著節(jié)點(diǎn)Ri的加入,整個(gè)Enhanced-AVLTree網(wǎng)絡(luò)根據(jù)平衡樹(shù)的規(guī)則進(jìn)行更新;13)對(duì)于已經(jīng)加入到某個(gè)環(huán)中的節(jié)點(diǎn)發(fā)布新服務(wù)時(shí),首先將服務(wù)信息發(fā)送到該節(jié)點(diǎn)所在環(huán)的樹(shù)節(jié)點(diǎn),然后按照步驟121Γ124)進(jìn)行發(fā)布;所述服務(wù)發(fā)現(xiàn)過(guò)程包括如下步驟14)服務(wù)請(qǐng)求節(jié)點(diǎn)發(fā)起服務(wù)查詢(xún)請(qǐng)求query,經(jīng)過(guò)語(yǔ)義處理后得到可進(jìn)行語(yǔ)義匹配的查詢(xún)請(qǐng)求query_category ;15)將查詢(xún)請(qǐng)求query_category轉(zhuǎn)發(fā)給請(qǐng)求發(fā)出節(jié)點(diǎn)的所屬環(huán)的樹(shù)節(jié)點(diǎn)Ri,若查詢(xún)請(qǐng)求就來(lái)自于該樹(shù)節(jié)點(diǎn),則可省略此步驟;16)樹(shù)節(jié)點(diǎn)Ri收到查詢(xún)請(qǐng)求query_category后,將對(duì)查詢(xún)請(qǐng)求進(jìn)行處理,具體步驟如下161)將查詢(xún)請(qǐng)求query_category與本地的歷史查詢(xún)緩存進(jìn)行匹配,若命中,貝Ij直接將結(jié)果返回給請(qǐng)求轉(zhuǎn)發(fā)者,否則進(jìn)入步驟162);162)計(jì)算查詢(xún)請(qǐng)求query_category與樹(shù)節(jié)點(diǎn)對(duì)應(yīng)的語(yǔ)義范疇的語(yǔ)義相似度,若語(yǔ)義相似,則在自己所屬的環(huán)中根據(jù)Chord協(xié)議查找與查詢(xún)請(qǐng)求query_category語(yǔ)義相似的Web服務(wù),將結(jié)果查詢(xún)返回給請(qǐng)求發(fā)起者,同時(shí)更新本地歷史查詢(xún)緩存,否則進(jìn)入步驟163);163)將查詢(xún)請(qǐng)求query_category轉(zhuǎn)發(fā)給與查詢(xún)請(qǐng)求query_category語(yǔ)義最相似的集合點(diǎn),根據(jù)Enhanced-AVLTree的規(guī)則,將查詢(xún)請(qǐng)求query_category轉(zhuǎn)發(fā)給根節(jié)點(diǎn)Rtl,然后按照二分捜索樹(shù)的規(guī)則查找到語(yǔ)義相似度符合的樹(shù)節(jié)點(diǎn)Rx,然后在樹(shù)節(jié)點(diǎn)Rx所屬的環(huán)中根據(jù)Chord協(xié)議來(lái)查找查詢(xún)請(qǐng)求query_category所對(duì)應(yīng)的查詢(xún)服務(wù)信息的哈希值keylq,查找到相應(yīng)的服務(wù)發(fā)布信息并發(fā)送給查詢(xún)發(fā)起節(jié)點(diǎn),若超出環(huán)中所設(shè)定的限定跳數(shù),則查詢(xún)失敗,同樣返回查詢(xún)失敗信息。本發(fā)明的有益效果在于通過(guò)ー種混合的方式來(lái)解決相應(yīng)的服務(wù)發(fā)現(xiàn)問(wèn)題,利用上面提到的Enhanced-AVLTree和Chord結(jié)構(gòu)的混合架構(gòu)來(lái)實(shí)現(xiàn)語(yǔ)義Web服務(wù)發(fā)現(xiàn)的解決方案。此網(wǎng)絡(luò)模型分為兩層,上層是針對(duì)服務(wù)類(lèi)型所屬語(yǔ)義范疇的類(lèi)別進(jìn)行分組,利用Enhanced-AVLTree構(gòu)建相應(yīng)的服務(wù)類(lèi)別分組節(jié)點(diǎn)樹(shù)模型,下層利用Chord結(jié)構(gòu)來(lái)構(gòu)建該類(lèi)別服務(wù)的資源發(fā)布與實(shí)現(xiàn),采用Enhanced-AVLTree結(jié)構(gòu)網(wǎng)絡(luò)確保在O (log η)的情況下快速定位到服務(wù)所屬的語(yǔ)義類(lèi)別范疇;利用Enhanced-AVLTree和Chord結(jié)合的方式構(gòu)建出P2P網(wǎng)絡(luò)有利于網(wǎng)絡(luò)負(fù)載的平衡,克服了傳統(tǒng)網(wǎng)絡(luò)的負(fù)載不均的缺點(diǎn);語(yǔ)義Web的加入使得
查詢(xún)更準(zhǔn)確地定位到結(jié)果等優(yōu)點(diǎn)。
圖I為本發(fā)明中所要構(gòu)造的Enhanced-AVLTree和Chord混合的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖2為本發(fā)明中在圖I網(wǎng)絡(luò)進(jìn)行語(yǔ)義Web服務(wù)發(fā)布的流程圖;圖3為本發(fā)明中在圖I網(wǎng)絡(luò)進(jìn)行的語(yǔ)義Web服務(wù)發(fā)現(xiàn)流程具體實(shí)施例方式下面將結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)ー步的說(shuō)明。本發(fā)明提出技術(shù)方案主要包含兩方面內(nèi)容ー是,將參與服務(wù)發(fā)現(xiàn)節(jié)點(diǎn)通過(guò)Enhanced-AVLTree和Chord組建成相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)(簡(jiǎn)稱(chēng)服務(wù)建網(wǎng)階段);ニ是,在構(gòu)建好的網(wǎng)絡(luò)結(jié)構(gòu)中進(jìn)行語(yǔ)義Web的服務(wù)發(fā)現(xiàn)(簡(jiǎn)稱(chēng)服務(wù)發(fā)現(xiàn)階段)?;贓nhanced-AVLTree和Chord所構(gòu)建的混合式P2P網(wǎng)絡(luò)同樣具有P2P網(wǎng)絡(luò)結(jié)構(gòu)的相應(yīng)特點(diǎn),網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)既可以作為服務(wù)注冊(cè)中心為其他節(jié)點(diǎn)提供查詢(xún)服務(wù),也可以作為服務(wù)請(qǐng)求者使用其他節(jié)點(diǎn)所提供的服務(wù),本網(wǎng)絡(luò)結(jié)構(gòu)可以在任意節(jié)點(diǎn)進(jìn)行服務(wù)發(fā)布和發(fā)現(xiàn)操作。所構(gòu)造的網(wǎng)絡(luò)結(jié)構(gòu)如圖I所示,網(wǎng)絡(luò)中的節(jié)點(diǎn)分樹(shù)節(jié)點(diǎn)和環(huán)節(jié)點(diǎn),每個(gè)樹(shù)節(jié)點(diǎn)又屬于某個(gè)環(huán),該環(huán)的樹(shù)節(jié)點(diǎn)是溝通本環(huán)組與整個(gè)網(wǎng)絡(luò)的橋梁,若此樹(shù)節(jié)點(diǎn)離開(kāi)或失效,由此環(huán)中的節(jié)點(diǎn)依次補(bǔ)上成為此環(huán)的樹(shù)節(jié)點(diǎn)。服務(wù)建網(wǎng)階段的具體步驟如下( I)設(shè)定初始狀態(tài)中,網(wǎng)絡(luò)中有組默認(rèn)的節(jié)點(diǎn)集合Gtl,任何沒(méi)有服務(wù)發(fā)布的節(jié)點(diǎn)都屬于該組,第一個(gè)加入該組的節(jié)點(diǎn)成為該組的樹(shù)節(jié)點(diǎn)Ttl,樹(shù)節(jié)點(diǎn)Ttl保存整個(gè)樹(shù)形網(wǎng)絡(luò)的根節(jié)點(diǎn)Rtl的地址;(2)對(duì)于新加入網(wǎng)絡(luò)的節(jié)點(diǎn)Pi,首先將其加入到節(jié)點(diǎn)集合G。,節(jié)點(diǎn)Pi通過(guò)以下步驟發(fā)布Web服務(wù)a)節(jié)點(diǎn)Pi首先將欲發(fā)布的Web服務(wù)Wi所對(duì)應(yīng)的語(yǔ)義范疇Wi.category發(fā)送給該組的樹(shù)節(jié)點(diǎn)Ttl,樹(shù)節(jié)點(diǎn)Ttl將其轉(zhuǎn)發(fā)給根節(jié)點(diǎn)Rtl ;b)根據(jù)語(yǔ)義范疇進(jìn)行哈希映射得到每個(gè)樹(shù)節(jié)點(diǎn)的服務(wù)類(lèi)別值keyO,因此可以通過(guò)計(jì)算語(yǔ)義范疇Wi-category的哈希值IceyOi,根據(jù)Enhanced-AVLTree樹(shù)的查找規(guī)則在網(wǎng)絡(luò)中找到與語(yǔ)義范疇Wi—catogery語(yǔ)義最近的樹(shù)節(jié)點(diǎn)Rx ;c)計(jì)算樹(shù)節(jié)點(diǎn)Rx所對(duì)應(yīng)的語(yǔ)義范疇Rx—catogery與Wi.catogery的語(yǔ)義相似度Sim(Rx catogory, Wi catogory),若相似度值大于給定閾值,則認(rèn)為兩者語(yǔ)義相似,節(jié)點(diǎn)Pi作為環(huán)節(jié)點(diǎn)加入到樹(shù)節(jié)點(diǎn)Rx所屬的Chord環(huán),通過(guò)相應(yīng)的Chord協(xié)議,根據(jù)節(jié)點(diǎn)Pi的IP地址計(jì)算出相應(yīng)節(jié)點(diǎn)Pi的哈希值以確定節(jié)點(diǎn)Pi在該Chord環(huán)中的位置,并計(jì)算服務(wù)Wi的查詢(xún)信息所對(duì)應(yīng)的服務(wù)值keyl”通過(guò)Iceyli將服務(wù)的發(fā)布信息〈W” IP_Wi>發(fā)布到相應(yīng)的節(jié)點(diǎn)Px上;d)若步驟c)計(jì)算出的語(yǔ)義不相似,節(jié)點(diǎn)Pi自己成為樹(shù)節(jié)點(diǎn)Ri,建立新的Chord環(huán)Gi7Ri在Enhanced-AVLTree網(wǎng)絡(luò)中的唯一標(biāo)識(shí)根據(jù)Wi.catogory進(jìn)行哈希映射得到,隨著Ri的加入,整個(gè)Enhanced-AVLTree網(wǎng)絡(luò)根據(jù)平衡樹(shù)的規(guī)則進(jìn)行更新。由于一個(gè)節(jié)點(diǎn)可能發(fā)布不同類(lèi)別的服務(wù),但是其節(jié)點(diǎn)所在的Chord環(huán)則是由第一次發(fā)布服務(wù)的類(lèi)別所決定,而節(jié)點(diǎn)上保存的是服務(wù)Wi的發(fā)布信息〈^,IP_Wi> (3)對(duì)于已經(jīng)加入到某個(gè)環(huán)中的節(jié)點(diǎn)發(fā)布新服務(wù)時(shí),首先將服務(wù)信息發(fā)送到該節(jié)點(diǎn)所在環(huán)的樹(shù)節(jié)點(diǎn),然后按照a)_d)過(guò)程進(jìn)行發(fā)布;通過(guò)上述步驟,可以構(gòu)建出一個(gè)混合結(jié)構(gòu)的P2P網(wǎng)絡(luò),該網(wǎng)絡(luò)分為兩層,上層利用Enhanced-AVLTree進(jìn)行組織管理,下層則利用Chord協(xié)議進(jìn)行管理。本發(fā)明所提出的語(yǔ)義Web服務(wù)發(fā)現(xiàn)過(guò)程即基于該P(yáng)2P網(wǎng)絡(luò),流程圖如圖3所示,具體步驟如下(I)服務(wù)請(qǐng)求節(jié)點(diǎn)發(fā)起服務(wù)查詢(xún)請(qǐng)求query,經(jīng)過(guò)語(yǔ)義處理后得到可進(jìn)行語(yǔ)義匹配的查詢(xún)請(qǐng)求query_category ;(2)將查詢(xún)請(qǐng)求query_category轉(zhuǎn)發(fā)給請(qǐng)求發(fā)出節(jié)點(diǎn)的所屬環(huán)的樹(shù)節(jié)點(diǎn)Ri,若查詢(xún)請(qǐng)求就來(lái)自于該樹(shù)節(jié)點(diǎn),則可省略此步驟;(3)樹(shù)節(jié)點(diǎn)Ri收到查詢(xún)請(qǐng)求query_category后,將對(duì)查詢(xún)請(qǐng)求進(jìn)行處理,具體步驟如下a)將query_category與本地的歷史查詢(xún)緩存進(jìn)行匹配,若命中,貝U直接將結(jié)果返回給請(qǐng)求轉(zhuǎn)發(fā)者,否則進(jìn)入下一步。b)計(jì)算query_category與樹(shù)節(jié)點(diǎn)對(duì)應(yīng)的語(yǔ)義范疇的語(yǔ)義相似度,若語(yǔ)義相似,貝Ij在自己所屬的環(huán)中根據(jù)Chord協(xié)議查找與query_category語(yǔ)義相似的Web服務(wù),將結(jié)果查詢(xún)返回給請(qǐng)求發(fā)起者,同時(shí)更新本地歷史查詢(xún)緩存,否則進(jìn)入下一步。將查詢(xún)請(qǐng)求轉(zhuǎn)發(fā)給與查詢(xún)請(qǐng)求query_category語(yǔ)義最相似的集合點(diǎn),根據(jù)Enhanced-AVLTree的規(guī)則,將查詢(xún)請(qǐng)求轉(zhuǎn)發(fā)給根節(jié)點(diǎn)Rtl,然后按照二分搜索樹(shù)的規(guī)則查找到語(yǔ)義相似度符合的樹(shù)節(jié)點(diǎn)Rx,然后在Rx所屬的環(huán)中根據(jù)Chord協(xié)議來(lái)查找query_category所對(duì)應(yīng)的查詢(xún)服務(wù)信息的哈希值keylq,查找到相應(yīng)的服務(wù)發(fā)布信息并發(fā)送給查詢(xún)發(fā)起節(jié)點(diǎn),若超出環(huán)中所設(shè)定的限定跳數(shù),則查詢(xún)失敗,同樣返回查詢(xún)失敗信息。語(yǔ)義Web服務(wù)建模(I) Web服務(wù)服務(wù):將語(yǔ)義Web服務(wù)表示成三元組s = (n, p, category),其中a) η為服務(wù)名稱(chēng);b)P表示為該服務(wù)提供的操作集合,一個(gè)操作可表示為二元組ρ = (C1, C。),其中C1為操作所有的輸入對(duì)象所對(duì)應(yīng)的語(yǔ)義概念集合,C0為所有輸出對(duì)象所對(duì)應(yīng)的語(yǔ)義概念集合;c) category表示該服務(wù)所屬的語(yǔ)義范疇,是ー種語(yǔ)義概念。(2)語(yǔ)義相似度給定語(yǔ)義概念C1, C2,兩者之間的語(yǔ)義相似度為
權(quán)利要求
1.一種基于平衡二叉樹(shù)Chord網(wǎng)絡(luò)結(jié)構(gòu)的Web服務(wù)發(fā)現(xiàn)方法,其特征在于,包括服務(wù)建網(wǎng)過(guò)程和服務(wù)發(fā)現(xiàn)過(guò)程; 所述服務(wù)建網(wǎng)過(guò)程包括如下步驟 11)設(shè)定初始狀態(tài),網(wǎng)絡(luò)中有組默認(rèn)的節(jié)點(diǎn)集合Gtl,任何沒(méi)有服務(wù)發(fā)布的節(jié)點(diǎn)都屬于該組,第一個(gè)加入該組的節(jié)點(diǎn)成為該組的樹(shù)節(jié)點(diǎn)Ttl,所述樹(shù)節(jié)點(diǎn)Ttl保存整個(gè)樹(shù)形網(wǎng)絡(luò)的根節(jié)點(diǎn)Rtl的地址; 12)對(duì)于新加入網(wǎng)絡(luò)的節(jié)點(diǎn)Pi,首先將其加入到節(jié)點(diǎn)集合Gtl,所述節(jié)點(diǎn)Pi通過(guò)以下步驟發(fā)布Web服務(wù) 121)節(jié)點(diǎn)Pi首先將欲發(fā)布的Web服務(wù)Wi所對(duì)應(yīng)的語(yǔ)義范疇Wi.category發(fā)送給該組的樹(shù)節(jié)點(diǎn)Ttl,樹(shù)節(jié)點(diǎn)Ttl將其轉(zhuǎn)發(fā)給根節(jié)點(diǎn)Rtl ; 122)根據(jù)語(yǔ)義范疇進(jìn)行哈希映射得到每個(gè)樹(shù)節(jié)點(diǎn)的服務(wù)類(lèi)別值keyO,即通過(guò)計(jì)算語(yǔ)義范疇Wi—category的哈希值keyOi;根據(jù)Enhanced-AVLTree樹(shù)的查找規(guī)則在網(wǎng)絡(luò)中找到與語(yǔ)義范疇Wi—catogery語(yǔ)義最近的樹(shù)節(jié)點(diǎn)Rx ; 123)計(jì)算樹(shù)節(jié)點(diǎn)Rx所對(duì)應(yīng)的語(yǔ)義范疇Rx—catogery與Wi.catogery的語(yǔ)義相似度Sim(Rx catogory, Wi catogory),若相似度值大于給定閾值,則認(rèn)為兩者語(yǔ)義相似,節(jié)點(diǎn)Pi作為環(huán)節(jié)點(diǎn)加入到樹(shù)節(jié)點(diǎn)Rx所屬的Chord環(huán),通過(guò)相應(yīng)的Chord協(xié)議,根據(jù)節(jié)點(diǎn)Pi的IP地址計(jì)算出相應(yīng)節(jié)點(diǎn)Pi的哈希值以確定節(jié)點(diǎn)Pi在該Chord環(huán)中的位置,并計(jì)算服務(wù)Wi的查詢(xún)信息所對(duì)應(yīng)的服務(wù)值keyl”通過(guò)Iceyli將服務(wù)的發(fā)布信息〈W” IP_Wi>發(fā)布到相應(yīng)的節(jié)點(diǎn)Px上; 124)若步驟123)計(jì)算出的語(yǔ)義不相似,節(jié)點(diǎn)Pi自己成為樹(shù)節(jié)點(diǎn)Ri,建立新的Chord環(huán)Gi,節(jié)點(diǎn)Ri在Enhanced-AVLTree樹(shù)網(wǎng)絡(luò)中的唯一標(biāo)識(shí)根據(jù)語(yǔ)義范疇Wi.catogory進(jìn)行哈希映射得到,隨著節(jié)點(diǎn)Ri的加入,整個(gè)Enhanced-AVLTree網(wǎng)絡(luò)根據(jù)平衡樹(shù)的規(guī)則進(jìn)行更新; 13)對(duì)于已經(jīng)加入到某個(gè)環(huán)中的節(jié)點(diǎn)發(fā)布新服務(wù)時(shí),首先將服務(wù)信息發(fā)送到該節(jié)點(diǎn)所在環(huán)的樹(shù)節(jié)點(diǎn),然后按照步驟121Γ124)進(jìn)行發(fā)布; 所述服務(wù)發(fā)現(xiàn)過(guò)程包括如下步驟 14)服務(wù)請(qǐng)求節(jié)點(diǎn)發(fā)起服務(wù)查詢(xún)請(qǐng)求query,經(jīng)過(guò)語(yǔ)義處理后得到可進(jìn)行語(yǔ)義匹配的查詢(xún)請(qǐng)求 query_category ; 15)將查詢(xún)請(qǐng)求query_category轉(zhuǎn)發(fā)給請(qǐng)求發(fā)出節(jié)點(diǎn)的所屬環(huán)的樹(shù)節(jié)點(diǎn)Ri,若查詢(xún)請(qǐng)求就來(lái)自于該樹(shù)節(jié)點(diǎn),則可省略此步驟; 16)樹(shù)節(jié)點(diǎn)Ri收到查詢(xún)請(qǐng)求query_category后,將對(duì)查詢(xún)請(qǐng)求進(jìn)行處理,具體步驟如下 161)將查詢(xún)請(qǐng)求query_category與本地的歷史查詢(xún)緩存進(jìn)行匹配,若命中,則直接將結(jié)果返回給請(qǐng)求轉(zhuǎn)發(fā)者,否則進(jìn)入步驟162); 162)計(jì)算查詢(xún)請(qǐng)求query_category與樹(shù)節(jié)點(diǎn)對(duì)應(yīng)的語(yǔ)義范疇的語(yǔ)義相似度,若語(yǔ)義相似,則在自己所屬的環(huán)中根據(jù)Chord協(xié)議查找與查詢(xún)請(qǐng)求query_category語(yǔ)義相似的Web服務(wù),將結(jié)果查詢(xún)返回給請(qǐng)求發(fā)起者,同時(shí)更新本地歷史查詢(xún)緩存,否則進(jìn)入步驟163); 163)將查詢(xún)請(qǐng)求query_category轉(zhuǎn)發(fā)給與查詢(xún)請(qǐng)求query_category語(yǔ)義最相似的集合點(diǎn),根據(jù)Enhanced-AVLTree的規(guī)則,將查詢(xún)請(qǐng)求query_category轉(zhuǎn)發(fā)給根節(jié)點(diǎn)R。,然后按照二分搜索樹(shù)的規(guī)則查找到語(yǔ)義相似度符合的樹(shù)節(jié)點(diǎn)Rx,然后在樹(shù)節(jié)點(diǎn)Rx所屬的環(huán)中根據(jù)Chord協(xié)議來(lái)查找查詢(xún)請(qǐng)求query_category所對(duì)應(yīng)的查詢(xún)服務(wù)信息的哈希值keylq,查找到相應(yīng)的 服務(wù)發(fā)布信息并發(fā)送給查詢(xún)發(fā)起節(jié)點(diǎn),若超出環(huán)中所設(shè)定的限定跳數(shù),則查詢(xún)失敗,同樣返回查詢(xún)失敗信息。
全文摘要
本發(fā)明公開(kāi)了一種基于平衡二叉樹(shù)Chord網(wǎng)絡(luò)結(jié)構(gòu)的Web服務(wù)發(fā)現(xiàn)方法,通過(guò)一種混合的方式來(lái)解決相應(yīng)的服務(wù)發(fā)現(xiàn)問(wèn)題,利用提到的Enhanced-AVLTree和Chord結(jié)構(gòu)的混合架構(gòu)來(lái)實(shí)現(xiàn)語(yǔ)義Web服務(wù)發(fā)現(xiàn)的解決方案。此網(wǎng)絡(luò)模型分為兩層,上層是針對(duì)服務(wù)類(lèi)型所屬語(yǔ)義范疇的類(lèi)別進(jìn)行分組,利用Enhanced-AVLTree構(gòu)建相應(yīng)的服務(wù)類(lèi)別分組節(jié)點(diǎn)樹(shù)模型,下層利用Chord結(jié)構(gòu)來(lái)構(gòu)建該類(lèi)別服務(wù)的資源發(fā)布與實(shí)現(xiàn),采用Enhanced-AVLTree結(jié)構(gòu)網(wǎng)絡(luò)確保在O(logn)的情況下快速定位到服務(wù)所屬的語(yǔ)義類(lèi)別范疇;利用Enhanced-AVLTree和Chord結(jié)合的方式構(gòu)建出P2P網(wǎng)絡(luò)有利于網(wǎng)絡(luò)負(fù)載的平衡,克服了傳統(tǒng)網(wǎng)絡(luò)的負(fù)載不均的缺點(diǎn);語(yǔ)義Web的加入使得查詢(xún)更準(zhǔn)確地定位到結(jié)果等優(yōu)點(diǎn)。
文檔編號(hào)H04L29/08GK102857581SQ201210381298
公開(kāi)日2013年1月2日 申請(qǐng)日期2012年10月9日 優(yōu)先權(quán)日2012年10月9日
發(fā)明者鄧水光, 曹志強(qiáng), 尹建偉, 吳朝暉, 李瑩, 吳健 申請(qǐng)人:浙江大學(xué)