本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體涉及一種具備可達(dá)性驗(yàn)證機(jī)制的服務(wù)組合方法。
背景技術(shù):
Web服務(wù)作為面向服務(wù)架構(gòu)的基石,在消除“信息孤島”和集成異構(gòu)資源方面具有巨大優(yōu)勢(shì)。隨著Web服務(wù)技術(shù)的流行,互聯(lián)網(wǎng)上的Web服務(wù)數(shù)量不斷涌現(xiàn),然而服務(wù)的質(zhì)量信息卻各不相同,單一服務(wù)的功能有限,難以滿足復(fù)雜的任務(wù)需求。因此,如何從大規(guī)模服務(wù)集中高效地優(yōu)選出滿足用戶需求和全局QoS約束的組合服務(wù)成為面向服務(wù)系統(tǒng)的一個(gè)重要任務(wù),也是亟待解決的領(lǐng)域關(guān)鍵問(wèn)題。傳統(tǒng)的Web服務(wù)組合系統(tǒng)采用的是一種節(jié)點(diǎn)綁定的手段,即為每個(gè)流程節(jié)點(diǎn)綁定服務(wù),而不考慮服務(wù)質(zhì)量信息。這種組合方式的優(yōu)勢(shì)在于:實(shí)現(xiàn)簡(jiǎn)單、實(shí)時(shí)性高,對(duì)服務(wù)資源的訪問(wèn)非常便捷。但這種節(jié)點(diǎn)綁定式組合也存在明顯的弊端:由于忽略服務(wù)的QoS信息,導(dǎo)致組合系統(tǒng)不能滿足用戶對(duì)服務(wù)質(zhì)量的需求;由于缺乏驗(yàn)證模塊,無(wú)法保證服務(wù)的可用性,導(dǎo)致組合系統(tǒng)的可靠性較低。
技術(shù)實(shí)現(xiàn)要素:
基于上述背景,本發(fā)明提供一種具備可達(dá)性驗(yàn)證機(jī)制的服務(wù)組合方法,利用AHP算法和遺傳算法實(shí)現(xiàn)基于QoS感知的服務(wù)組合,并建立服務(wù)可達(dá)性驗(yàn)證機(jī)制,實(shí)現(xiàn)服務(wù)組合系統(tǒng)的高效可靠運(yùn)行。系統(tǒng)采用層次分析法對(duì)海量原始服務(wù)進(jìn)行局部?jī)?yōu)選,在組合過(guò)程中采用智能方法快速高效的優(yōu)選滿足全局QoS約束的最優(yōu)組合服務(wù),并由組合重觸發(fā)機(jī)制與Membrane SOA Model框架分別保證組合系統(tǒng)的高效性、高可靠性和高可用性。
本發(fā)明的技術(shù)方案主要步驟如下所述:獲取服務(wù)的QoS信息并寫入U(xiǎn)DDI服務(wù)注冊(cè)中心;根據(jù)前臺(tái)JBPM流程節(jié)點(diǎn)信息,系統(tǒng)從UDDI查找與節(jié)點(diǎn)匹配的Web服務(wù);根據(jù)服務(wù)的QoS信息,運(yùn)用AHP算法和遺傳算法求解候選服務(wù)的適應(yīng)度大小;根據(jù)所述適應(yīng)度大小對(duì)各候選服務(wù)排序,返回最優(yōu)的服務(wù)組合;運(yùn)用Membrane SOA Model框架生成反向代理,向最優(yōu)的服務(wù)組合發(fā)送請(qǐng)求,根據(jù)返回的狀態(tài)碼判斷服務(wù)是否可達(dá);根據(jù)WSDL地址,系統(tǒng)調(diào)用后臺(tái)返回的服務(wù)組合,并解析服務(wù)返回的數(shù)據(jù)。
附圖說(shuō)明
圖1為本發(fā)明的網(wǎng)絡(luò)模型圖。
圖2為本發(fā)明的流程框圖。
具體實(shí)施方式
系統(tǒng)使用加拿大圭爾夫大學(xué)Al-Masri博士和Mahmoud博士收集并在互聯(lián)網(wǎng)上公開的 QWS數(shù)據(jù)集作為原始數(shù)據(jù)。如圖2所示,展示了整個(gè)系統(tǒng)的服務(wù)組合與驗(yàn)證過(guò)程,服務(wù)組合引擎在收到用戶請(qǐng)求后,首先從組合路徑模板庫(kù)查找符合用戶需求的組合路徑;然后根據(jù)服務(wù)的QoS約束在UDDI查找滿足用戶質(zhì)量需求的服務(wù);其次運(yùn)用AHP算法和遺傳算法對(duì)組合服務(wù)進(jìn)行優(yōu)化,選擇滿足全局QoS約束的最優(yōu)服務(wù)組合;再次,服務(wù)驗(yàn)證模塊對(duì)服務(wù)是否可達(dá),進(jìn)行驗(yàn)證,如果服務(wù)不可達(dá),則替換該服務(wù);最后將最優(yōu)組合服務(wù)返回給用戶。
實(shí)施例具體包括如下步驟:
(1)獲取服務(wù)的QoS信息并寫入U(xiǎn)DDI服務(wù)注冊(cè)中心。
(2)服務(wù)組合引擎根據(jù)流程節(jié)點(diǎn)信息從UDDI查詢與之匹配的候選服務(wù)。
(3)根據(jù)服務(wù)的QoS信息,運(yùn)用AHP算法和遺傳算法求解候選服務(wù)的適應(yīng)度大小。
(4)根據(jù)所述適應(yīng)度大小對(duì)各候選服務(wù)排序,返回最優(yōu)的服務(wù)組合。最優(yōu)服務(wù)組合的求解方法已有公開,不予累敘,本實(shí)施例在此提供一種獨(dú)創(chuàng)的求解方法,主要步驟為:首先利用AHP算法對(duì)候選服務(wù)進(jìn)行局部?jī)?yōu)選,過(guò)濾掉QoS較差的個(gè)體服務(wù);用優(yōu)選出的局部候選服務(wù)構(gòu)建初始種群,然后對(duì)所述初始種群執(zhí)行交叉、變異等遺傳操作。為了擴(kuò)大種群多樣性,加快算法收斂,采用了精英個(gè)體保留和染色體相似性度量機(jī)制,在遺傳操作結(jié)束后,分別計(jì)算每類個(gè)體的適應(yīng)度值,選擇適應(yīng)度最大的個(gè)體,對(duì)其進(jìn)行解碼操作,得到最優(yōu)的服務(wù)組合。
(5)運(yùn)用Membrane SOA Model框架生成反向代理,向最優(yōu)的服務(wù)組合發(fā)送請(qǐng)求,根據(jù)返回的狀態(tài)碼判斷服務(wù)是否可達(dá)。驗(yàn)證服務(wù)是否可達(dá)已存在現(xiàn)有技術(shù),本實(shí)施例在此提供一種獨(dú)創(chuàng)的驗(yàn)證方法,主要步驟為:獲取服務(wù)組合的WSDL地址,用Membrane SOA Model生成的反向代理向服務(wù)發(fā)送請(qǐng)求,獲取服務(wù)返回的狀態(tài)碼;根據(jù)狀態(tài)碼判斷服務(wù)的可達(dá)性,如狀態(tài)碼為200,則服務(wù)可達(dá),否則 ,不可達(dá),并觸發(fā)服務(wù)組合重計(jì)劃?rùn)C(jī)制,重新優(yōu)選服務(wù)。
(6)根據(jù)WSDL地址,系統(tǒng)調(diào)用后臺(tái)返回的服務(wù)組合,并解析服務(wù)返回的數(shù)據(jù)。