基于本体的语义Web服务自动组合方法_3

文档序号:9399320阅读:来源:国知局
0082] 图6为本发明实施例提供的一种基于本体的语义Web服务自动组合方法的实施方 式六的流程图,如图6所示,步骤S3具体包括:
[0083] S31 :使用"从右向左"匹配组合算法,在Web服务列表中查找出口语义与Web服务 WS的未标记的入口语义匹配的所有Web服务WS' ;
[0084] S32 :如果查找到满足条件的Web服务WS',进行下一步,否则,组合失败;
[0085] S33 :判断满足条件的Web服务WS'的入口语义是否与Web请求服务的未标记的入 口语义全部匹配或者部分匹配;
[0086] S34 :如果全部匹配,组合成功;以及
[0087] S35 :如果部分匹配或者全部不匹配,标记匹配的Web请求服务的入口语义和匹配 的Web服务WS '的入口语义,将具有未标记入口语义的Web服务WS '的出口语义与对应Web 服务WS的未标记的入口语义组合,产生入口语义与Web服务WS'的入口语义相同,出口语 义与Web请求服务的出口语义相同的组合Web服务WSC,利用组合Web服务WSC替代Web服 务WS,从而形成新的Web服务WS,重新执行步骤S3。
[0088] 如图6所示,使用"从右向左"匹配组合算法,如果在Web服务列表中没有查找到 出口语义与Web服务WS的未标记的入口语义匹配的所有Web服务WS',组合失败,如果查找 到,首先判断满足条件的Web服务WS'的入口语义是否与Web请求服务的未标记的入口语 义全部匹配或者部分匹配,如果全部匹配,匹配成功;如果仅部分匹配标记匹配的Web请求 服务的入口语义和匹配的Web服务WS的入口语义;如果全部不匹配或仅部分匹配,将具有 未标记入口语义的Web服务WS'的出口语义与对应Web服务WS的未标记的入口语义组合, 产生入口语义与Web服务WS'的入口语义相同,出口语义与Web请求服务的出口语义相同 的组合Web服务WSC,利用组合Web服务WSC替代Web服务WS,继续查找组合Web服务WS', 直到匹配成功或者匹配失败。
[0089] 图7为本发明实施例提供的一种基于本体的语义Web服务自动组合方法的实施方 式七的流程图,如图7所示,在步骤S32中,否则,组合失败,具体包括:
[0090] S321 :使用WordNet同义词集将Web服务WS的未标记的入口语义替换为其同义 词,按照步骤S31的方式再次查找,如果找到,跳转步骤S33,否则,进行下一步;
[0091] S322 :分别计算Web服务WS的未标记的入口语义与Web服务列表中每个Web服务 的出口语义的语义相似度;以及
[0092] S323 :判断是否至少存在一个语义相似度大于等于相似度阈值的Web服务,如果 是,将所有语义相似度大于等于相似度阈值的Web服务作为Web服务WS',跳转步骤S33,如 果否,组合失败。
[0093] 参照图7,如果在Web服务数据库(Web服务列表)中没有查找到出口语义与Web 服务WS的未标记的入口语义匹配的Web服务WS',此时使用WordNet同义词集将Web服务 WS的未标记的入口语义替换为其同义词,再次查找,如果查找到,跳转到步骤S33;如果没 有查收到,需要分别计算Web服务WS的未标记的入口语义与每个Web服务的出口语义的 语义相似度,并选择语义相似度大于等于相似度阈值的Web服务作为满足条件的Web服务 WS',如果依然没有找到满足条件的Web服务WS'时,才认为Web组合失败。本发明的一具 体实施例中,相似度阈值可以取0. 8、0. 85、0. 875等数值。
[0094] 图8为本发明实施例提供的一种基于本体的语义Web服务自动组合方法的实施方 式八的流程图,如图8所示,在步骤S35中,标记匹配的Web请求服务的入口语义和匹配的 Web服务WS '的入口语义之后,还包括:
[0095] S351 :判断具有未标记入口语义的Web服务WS'的入口语义是否与Web请求服务 的出口语义是否匹配;
[0096] S352 :如果匹配,将Web服务WS'的该入口语义标记为不可用。
[0097] 参照图8,判断具有未标记入口语义的Web服务WS'的入口语义是否与Web请求服 务的出口语义是否匹配,如果匹配,说明如果将Web服务WS'的出口语义与Web请求服务的 出口语义组合,这样的Web服务组合是一个死循环,这样的组合过程永远不会结束,直至耗 尽资源报错,这时需要将Web服务WS'的该入口语义标记为不可用,后继继续组合中将不再 考虑Web服务WS'的该入口语义,这样,Web服务组合时"死循环"不会发生,提高了用户的 体验度。
[0098] 图9为本发明的一种基于本体的语义Web服务自动组合方法的实际应用示例一的 流程图,如图9所示,首先给出基于本体的语义Web服务自动组合方法中用到的一些定义和 规则:
[0099] 定义1,本体:一个本体模型,可以用一个三元组表示:
[0100] ON = (C, P, R)
[0101] 其中,C表不概念的集合,P表不属性的集合,R表不关系的集合。具体的,领域本 体用OND表示,类别本体用ONT表示。
[0102] 定义2,原子服务:一个原子服务是未被组合的简单的Web服务,可以用一个三元 组表示:
[0103] WS = (I, 0, D)
[0104] 其中,I表示该服务的输入参数的集合,0表示该服务的输出参数,D表示该服务所 属的领域类型,并且I e 〇ND,0 e 〇ND,D e 0ΝΤ。如果有多个输入参数,则I = (11,12,···, In),WS为Web Service,即是Web服务的缩写。
[0105] 定义3,服务请求:一个Web服务请求,是服务请求者希望获得的服务或组合服务, 用一个三元组表示:
[0106] WSR = (1,0, D)
[0107] 其中,I表示该服务请求的输入参数的集合,即给出的条件参数,0表示该服务请 求的输出参数,即想要获得的结果,D表示该服务所属的领域类型,并且I e OND,O e OND, D e 0NT。如果有多个输入参数,则I = (I1, I2,…,In),η为正整数。
[0108] 定义4,服务组合:一个Web服务组合,表示的是两个Web服务接口匹配的信息,可 以用一个四元组表示:
[0109] WSC= (WS1, Pn, WSj, Pn)
[0110] 其中,WS^ WS j表示接口匹配的两个Web服务,P "和P η表示这两个Web服务相匹 配的参数。并且PniE WS ρ I或者PniG WS P 0, pne WS I或者pne WS」· 0, i,j,m,η均为正 整数。
[0111] 规则1,对于服务WS1和服务请求WSR k,若满足WSi.O!= WSRkO且 WSRk.D; WSiO,那么服务WS1与服务请求WSR冰口语义匹配,k为正整数。
[0112] 规则2,对于服务请求WSRk和服务WS i,若WSRk. I和WS1. I都有η个输入参数,且满 足\\,8队、.丨士1民太" =1,.",11)和\/8民<丄)5=\^0,那么服务请求吧&与服务吧 1入口 语义匹配,X为正整数。
[0113] 规则3,对于服务请求WSRk和服务WS i,若它们既满足入口语义匹配,又满足出口语 义匹配,那么服务请求WSRk与服务WS i语义匹配。
[0114] 规则4,对于服务请求WSRk和服务WS i,其中WSRk. I有m个输入参数,WS1. I有η个 输入参数,且m>n,若满足V若e η,日tem使得WSRkJiL IRi.U且\VSRk.DL WSiO,那么服 务请求WSRk与服务WS i部分入口语义匹配。
[0115] 规则5,对于服务WS1、服务WSj和服务请求WSR k,若满足WS1OG WSj.I, WSRk.DL WS,.D且WSRk.D!= WSj.D,那么服务WS1与服务WS濟口语义匹配。
[0116] 规则6,对于服务WS1、服务WS j和服务请求WSR k,其中WS1. 0有一个输出参数, WS^n个输入参数,且η>1,若满足3若满e n使得WSi_OLWSj.it,WSRk.DLWSi.D且 WSRk.DL \VSi.D,那么服务WS1与服务WS ;部分接口语义匹配。
[0117] 下面,描述本发明的这种改进的基于本体的语义Web服务自动组合方法的步骤流 程:
[0118] 第一步:查找第一个与服务请求WSR出口语义匹配的服务WS1,若未找到,继续下 一步,否则,跳到第四步;
[0119] 第二步:使用WordNet同义词集把WSR. 0替换为其同义词,按照第一步再次查找, 若未找到,继续下一步,否则,跳到第四步;
[0120] 第三步:分别计算WSR. 0与每个WS. 0的语义相似度,选择第一个相似度大于等于 相似度阈值的服务WS1,继续下一步,否则,服务组合失败;
[0121] 第四步:将WSR.0与WS1. 0组合,并生成服务组合WSC1,继续下一步;
[0122] 第五步:判断WSR. I是否与WS1. I入口语义匹配或者部分入口语义匹配,若匹配, 则将WSR. I中匹配的参数做标记;判断WSR. I的所有输入参数是否都已被匹配,若都已被匹 配,则跳到第十一步,否则,继续下一步;
[0123] 第六步:如果WS1. I只有一个输入参数,则查找第一个与服务WSdi 口语义匹配的 服务WSj,若未找到,继续下一步,否则,跳到第九步;如果WS1. I有多个输入参数,则查找第 一个与服务WS1部分接口语义匹配的服务WS ,,若未找到,继续下一步,否则,跳到第九步;
[0124] 第七步:使用WordNet同义词集把WS1. I替换为其同义词,按照第六步再次查找, 若未找到,继续下一步,否则,跳到第九步;
[0125] 第八步:分别计算WS1. I与每个WS. 0的语义相似度,选择第一个相似度大于等于 相似度阈值的服务WS,,继续下一步,否则,服务组合失败;
[
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1