基于本體的語義Web服務(wù)自動組合方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及Web服務(wù)組合技術(shù),尤其涉及一種基于本體的Web服務(wù)組合方法,具體 來說就是一種基于本體的語義Web服務(wù)自動組合方法。
【背景技術(shù)】
[0002] Web服務(wù)能夠克服系統(tǒng)開發(fā)過程中的異構(gòu)問題,而且能避免重復(fù)功能的多次開發(fā), 提高開發(fā)效率和質(zhì)量。然而,Web服務(wù)的功能通常比較簡單,并不能滿足所有用戶的需求, 通過Web服務(wù)組合技術(shù),能將多個(gè)功能單一的Web服務(wù)組合起來,實(shí)現(xiàn)更強(qiáng)功能。同時(shí),由 于Web服務(wù)數(shù)量眾多,通過手工組合耗時(shí)耗力且靈活性差,因此,很有必要研究Web服務(wù)自 動組合技術(shù)。
[0003] Web服務(wù)自動組合技術(shù)作為一個(gè)研究熱點(diǎn),國內(nèi)外眾多學(xué)者都做了大量的研究工 作。目前,在Web服務(wù)組合技術(shù)中,自動組合技術(shù)還不成熟,一直處于研究實(shí)驗(yàn)階段,并沒有 成熟的真正用于應(yīng)用系統(tǒng)中。主要研究點(diǎn)在組合的成功率、組合質(zhì)量、組合效率和是否能解 決實(shí)際問題等方面。已有的研究工作大多集中在提高組合成功率和組合效率上,也就是在 更短的時(shí)間內(nèi)更大可能的完成Web服務(wù)組合,然而,Web服務(wù)組合成功并不代表Web服務(wù)調(diào) 用成功,研究實(shí)驗(yàn)的組合方法也并不一定適用于具體應(yīng)用中,針對這些問題,如何研發(fā)出一 種能夠真正解決實(shí)際應(yīng)用問題的語義Web服務(wù)自動組合方法勢在必行。
[0004] 此外,在Web服務(wù)自動組合的過程中,有可能會出現(xiàn)"死循環(huán)",這會導(dǎo)致組合既不 會成功,也不會失敗,而是一直在那個(gè)"環(huán)"內(nèi)循環(huán),直至耗盡主機(jī)資源,內(nèi)存溢出后報(bào)錯(cuò),這 種情況破壞了系統(tǒng)的穩(wěn)定性和魯棒性,但是,已有的研究工作中對此鮮有涉及。
[0005] 為了讓W(xué)eb服務(wù)自動組合技術(shù)更具有實(shí)用性,中國人民大學(xué)的李曼等人提出了一 種《基于領(lǐng)域本體的Web服務(wù)動態(tài)組合》。該Web服務(wù)動態(tài)組合在領(lǐng)域本體的支持下,以概 念相似度為基礎(chǔ),計(jì)算Web服務(wù)之間的關(guān)聯(lián)度,形成一個(gè)優(yōu)化的服務(wù)組合圖,然后從服務(wù)組 合圖中查找一條滿足要求的路徑。
[0006] 該Web服務(wù)動態(tài)組合的技術(shù)要點(diǎn)在于:
[0007] (1)當(dāng)兩個(gè)概念在領(lǐng)域本體中存在關(guān)系"equivalentClass"或者"subClassOf" 時(shí),定義這兩個(gè)概念為語義相等。(2)使用相似度計(jì)算公式計(jì)算兩個(gè)概念的相似度。(3)使 用最小服務(wù)組合滿意度閾值來控制服務(wù)組合的質(zhì)量和效率。
[0008] 針對上述技術(shù)要點(diǎn),該基于領(lǐng)域本體的Web服務(wù)動態(tài)組合至少存在如下問題:
[0009] (1)該Web服務(wù)動態(tài)組中Web服務(wù)的輸入?yún)?shù)和輸出參數(shù)的個(gè)數(shù)都是相等,這種情 況太理想化了,在實(shí)際應(yīng)用中可能輸入?yún)?shù)的其中之一與輸出參數(shù)匹配組合,或者其它各 種情況。該缺點(diǎn)是由于該Web服務(wù)動態(tài)組在匹配組合時(shí)只考慮了輸入?yún)?shù)和輸出參數(shù)的個(gè) 數(shù)相等這一種情況導(dǎo)致的,甚至該方法的例子中僅僅是一個(gè)輸入?yún)?shù)和一個(gè)輸出參數(shù)。
[0010] (2)該Web服務(wù)動態(tài)組完全依賴領(lǐng)域本體,如果有些參數(shù)在領(lǐng)域本體中沒有,那么 就無法組合,也就是對于Web服務(wù)參數(shù)處理的范圍太窄。該缺點(diǎn)是由于該方法只考慮了使 用領(lǐng)域本體增加參數(shù)的語義信息來提高組合的質(zhì)量,卻沒有考慮領(lǐng)域本體中概念的數(shù)量很 有限,對于領(lǐng)域本體外的概念力不能及。
[0011] (3)該Web服務(wù)動態(tài)組僅僅對Web服務(wù)的參數(shù)利用領(lǐng)域本體賦予語義信息,并沒有 對Web服務(wù)本身賦予語義信息,如果兩個(gè)不同用途的Web服務(wù)很巧合的輸入?yún)?shù)和輸出參 數(shù)完全相同,那么該方法就無法區(qū)別它們。該缺點(diǎn)是由于該方法只考慮了給Web服務(wù)的參 數(shù)添加語義信息,忽視了 Web服務(wù)自身的語義信息,導(dǎo)致組合的質(zhì)量并沒有那么高。
[0012] 針對Web服務(wù)自動組合時(shí)可能出現(xiàn)的"死循環(huán)"問題,在單個(gè)輸入?yún)?shù)和單個(gè)輸出 單數(shù)的情況下,中南大學(xué)湯益華在《基于OWL-S的語義Web服務(wù)自動組合研究》中的解決辦 法是:匹配組合過的Web服務(wù)不再被匹配組合。
[0013] 該解決辦法的關(guān)鍵點(diǎn)在于:前面被匹配組合過的Web服務(wù),在之后的匹配組合過 程中不會再被選用,這樣就避免了循環(huán)的出現(xiàn)。
[0014] 該辦法最大的缺點(diǎn)是:僅僅考慮了單個(gè)輸入?yún)?shù)和單個(gè)輸出參數(shù)這一種情況,沒 有廣泛的適用性。
[0015] 因此,如何研發(fā)出一種具有廣泛適用性的、前能夠避免了循環(huán)出現(xiàn)的、組合質(zhì)量和 組合效率高的Web服務(wù)組合技術(shù)依然是本領(lǐng)域技術(shù)人員亟待解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0016] 本發(fā)明提供一種基于本體的語義Web服務(wù)自動組合方法,使用了一種"從右向左" 的匹配組合思路,同時(shí)使用了領(lǐng)域本體、類別本體和WordNet這三種本體來增強(qiáng)Web服務(wù)及 其參數(shù)的語義信息;使用了基于WordNet的語義相似度計(jì)算,還使用了優(yōu)先級從高到低的 完全匹配、語義匹配、同義匹配、近義匹配這四種方式。解決了現(xiàn)有技術(shù)中Web服務(wù)組合受 實(shí)際應(yīng)用場景限制,組合質(zhì)量低下的問題。
[0017] 本發(fā)明提供一種組合路徑標(biāo)記方法,對每個(gè)組合的Web服務(wù)標(biāo)記上路徑,利用編 程語言的對象繼承思想,在組合分支處,后面的Web服務(wù)的路徑繼承前面的路徑;規(guī)定本路 徑及其父路徑為同一路徑;同一路徑下匹配組合過的Web服務(wù)不再被匹配組合。解決現(xiàn)有 技術(shù)中避免循環(huán)出現(xiàn)的方法僅能應(yīng)用于單個(gè)輸入?yún)?shù)和單個(gè)輸出參數(shù)的問題。
[0018] 本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法,包括:獲取一 Web請求服 務(wù);從Web服務(wù)列表中查找到出口語義與Web請求服務(wù)的出口語義匹配的所有Web服務(wù)WS ; 使用"從右向左"匹配組合算法,從Web服務(wù)列表中查找出口語義與Web服務(wù)WS的入口語義 匹配的所有Web服務(wù)WS',并將Web服務(wù)WS'和Web服務(wù)WS的組合作為新的Web服務(wù)WS, 直到Web請求服務(wù)的所有入口語義與Web服務(wù)WS匹配。
[0019] 本發(fā)明提供一種基于本體的語義Web服務(wù)自動組合方法,使用了一種"從右向左" 的匹配組合思路,能夠適用于實(shí)際應(yīng)用場景中的〇個(gè)、1個(gè)或多個(gè)輸入?yún)?shù)和1個(gè)輸出參數(shù) 的情況,實(shí)際應(yīng)用的情況大多都包含在內(nèi),適用范圍廣;同時(shí)使用了領(lǐng)域本體、類別本體和 WordNet這三種本體來增強(qiáng)Web服務(wù)及其參數(shù)的語義信息,使組合具有更高的質(zhì)量,使用領(lǐng) 域本體給Web服務(wù)的輸入?yún)?shù)和輸出參數(shù)賦予語義信息,使用類別本體給Web服務(wù)自身賦 予語義信息,使用WordNet的同義詞集替換參數(shù),擴(kuò)展參數(shù)語義匹配的范圍;為了最大限度 地?cái)U(kuò)展參數(shù)匹配的范圍,使用了基于WordNet的語義相似度計(jì)算;為了保證組合質(zhì)量的同 時(shí)擴(kuò)展匹配參數(shù)的范圍,使用了優(yōu)先級從高到低的完全匹配、語義匹配、同義匹配、近義匹 配這四種方式。
[0020] 本發(fā)明提供一種組合路徑標(biāo)記方法,能夠保證在0個(gè)、1個(gè)或多個(gè)輸入?yún)?shù)和一個(gè) 輸出參數(shù)的情況下,組合時(shí)"死循環(huán)"不會發(fā)生。該組合路徑標(biāo)記方法的關(guān)鍵技術(shù)點(diǎn)為:
[0021] (1)對每個(gè)組合的Web服務(wù)標(biāo)記上路徑,利用編程語言的對象繼承思想,在組合分 支處,后面的Web服務(wù)的路徑繼承前面的路徑;規(guī)定本路徑及其父路徑為同一路徑。
[0022] (2)對現(xiàn)有技術(shù)進(jìn)行改進(jìn),該組合路徑標(biāo)記方法為:同一路徑下匹配組合過的Web 服務(wù)不再被匹配組合。
【附圖說明】
[0023] 下面的所附附圖是本發(fā)明的說明書的一部分,其繪示了本發(fā)明的示例實(shí)施例,所 附附圖與說明書的描述一起用來說明本發(fā)明的原理。
[0024] 圖1為本發(fā)明實(shí)施例提供的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)施方 式一的流程圖;
[0025] 圖2為本發(fā)明實(shí)施例提供的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)施方 式二的流程圖;
[0026] 圖3為本發(fā)明實(shí)施例提供的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)施方 式三的流程圖;
[0027] 圖4為本發(fā)明實(shí)施例提供的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)施方 式四的流程圖;
[0028] 圖5為本發(fā)明實(shí)施例提供的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)施方 式五的流程圖;
[0029] 圖6為本發(fā)明實(shí)施例提供的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)施方 式六的流程圖;
[0030] 圖7為本發(fā)明實(shí)施例提供的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)施方 式七的流程圖;
[0031] 圖8為本發(fā)明實(shí)施例提供的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)施方 式八的流程圖;
[0032] 圖9為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例一的 流程圖;
[0033] 圖10為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例二 的流程圖;
[0034] 圖11為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例一 的類別本體示意圖;
[0035] 圖12為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例一 的領(lǐng)域本體示意圖;
[0036] 圖13為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例一 的組合示意圖一;
[0037] 圖14為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例一 的組合示意圖二;
[0038] 圖15為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例一 的組合示意圖三;
[0039] 圖16為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例一 的組合示意圖四;
[0040] 圖17為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例一 的組合示意圖五;
[0041] 圖18為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例一 的組合示意圖六;
[0042] 圖19為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例一 的組合示意圖七;
[0043] 圖20為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例二 的組合示意圖一;
[0044] 圖21為本發(fā)明的一種基于本體的語義Web服務(wù)自動組合方法的實(shí)際應(yīng)用示例二 的組合示意