[发明专利]一种基于依赖图模型的Web服务组合结果修复方法有效
申请号: | 201410447326.9 | 申请日: | 2014-09-03 |
公开(公告)号: | CN104166733B | 公开(公告)日: | 2017-07-18 |
发明(设计)人: | 杨育彬;夏永敏 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F17/27 |
代理公司: | 江苏圣典律师事务所32237 | 代理人: | 胡建华 |
地址: | 210023 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本文公开了一种基于依赖图模型的Web服务组合结果修复方法,包含如下步骤步骤1,去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务;步骤2,检验Web服务组合结果的可修复性;步骤3,根据可修复的不同情况对Web服务组合结果进行修复。本发明能够在Web服务组合结果出现问题时,通过对Web服务组合结果进行修复的方式来组合新的Web服务组合结果,相对现有技术重新组合的方式效率要高很多。 | ||
搜索关键词: | 一种 基于 依赖 模型 web 服务 组合 结果 修复 方法 | ||
【主权项】:
一种基于依赖图模型的Web服务组合结果修复方法,其特征在于,包含如下步骤:步骤1,进行Web服务组合结果组合,去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务;步骤2,检验Web服务组合结果的可修复性;步骤3,根据可修复性的不同情况对Web服务组合结果进行修复;步骤1包括以下步骤:1.1Web服务组合结果组合过程包含以下步骤:1.1.1构建Web服务依赖图:将一个Web服务记为WS<Input,Output,QoS>,Input表示Web服务WS能够被激活所必需满足的输入集合,记为Input<in1,in2,…,inn>,其中,ini为单一的输入,i=1,2,…,n,n表示输入的总数量,Output是指执行Web服务WS后能够得到的所有输出集合,记为Output<out1,out2,…,outm>,其中,outj为单一的输出,j=1,2,…,m,m表示输出的总数量,QoS指WS的非功能属性,包括响应时间RT和吞吐量TP;对于用户给定的请求<Rin,Rout>,Rin表示用户给定的输入集合,Rout表示用户需要得到的输出集合;从用户给定的输入集合Rin开始,逐层添加可被调用执行的Web服务,直到得到用户需要的所有的输出集合Rout;当且仅当该Web服务的所有输入参数都已得到,则Web服务可被调用执行;第l层Ll添加的Web服务满足:即在第l层添加的第x个Web服务WSl,x在第l层之前的第k层没有被添加,并且当该Web服务在第l层可被调用执行时必须添加在第l层;其中是指第l层的第x个Web服务输入集合,Outputp是指第p层中所有Web服务的输出集合的并集,2≤p≤l‑1,1<l<C,C为总层数,Lk表示第k层,WSl,x表示第l层的第x个Web服务;对于第l层的每一个Web服务的每一个输出outj,当输出outj跨越一层以上作为后面第h层中Web服务的输入时,l+1≤h≤C,在跨越的每层中都添加一个虚拟Web服务,该虚拟Web服务的输入和输出都设为outj,且具有最高的QoS值,把第一层输入集合Rin和最后一层输出集合Rout也分别作为一个虚拟Web服务;1.1.2计算QoS值:从输入层到输出层,对于第l层的第x个Web服务,WSl,x∈Ll,l=2,3,…,C,该Web服务的输入集合当第l‑1层的第y个Web服务WSl‑1,y∈Ll‑1,如果即输入ini属于集合有且即输入ini属于集合则把Web服务WSl‑1,y加入到alll‑1(ini)集合中,其中,alll‑1(ini)是指在第l‑1层能够输出ini的Web服务集合,初始为空;为第l‑1层的第y个Web服务WSl‑1,y的输出集合;对所有的alll‑1(ini)集合,输入ini能够得到的最小的响应时间为Web服务集合alll‑1(ini)中的Web服务执行完所需的具有最小时间Web服务bestrt(ini),即bestrt(ini)=min{alll‑1(ini)},则从输入开始到执行完Web服务WSl,x所需要的最小时间RT.WSl,x为得到该Web服务所有输入中最大的响应时间max{bestrt(ini)}加上该Web服务本身执行的时间WSl,x.RT,即RT.WSl,x=max{bestrt(ini)}+WSl,x.RT,其中,RT.WSl,x是指从输入开始到执行完Web服务WSl,x所需的最小时间,WSl,x.RT为执行Web服务WSl,x本身需要的时间,bestrt(ini)为Web服务集合alll‑1(ini)中的Web服务执行完所需的具有最小时间Web服务,max{bestrt(ini)}是指WSl,x所有输入参数对应的Web服务中最大响应时间;对所有的alll‑1(ini)集合,输入ini能够得到的具有最大吞吐量的Web服务besttp(ini)=max{alll‑1(ini)},则从输入开始到执行完Web服务WSl,x所能产生的最大吞吐量TP.WSl,x取为得到该Web服务所有输入和Web服务本身执行所产生的吞吐量中最小值,即TP.WSl,x=min{besttp(ini),WSl,x.TP},其中,TP.WSl,x是指从输入开始到执行完Web服务WSl,x所能提供的最大吞吐量,WSl,x.TP为Web服务WSl,x所能提供的吞吐量,besttp(ini)为输入ini能够得到的具有最大吞吐量的Web服务,min{besttp(ini),WSl,x.TP}为取所有besttp(ini)和WSl,x中吞吐量的最小值,由此得到当前Web服务WSl,x能够获得的最高的QoS值;1.1.3约减冗余的Web服务:对于第l层的Web服务WSl,x,其输入集合由步骤1.1.2得到的alll‑1(ini)、bestrt(ini)和besttp(ini)进行如下操作:求最小响应时间,对中所有的输入ini,从i=1到i=n,查看所有的alll‑1(inq),1≤q≤n,如果集合alll‑1(inq)中包含bestrt(ini)中的Web服务,则修改bestrt(inq)=bestrt(ini);由此,Web服务WSl,x保留的第l‑1层的Web服务集为产生该Web服务WSl,x输入的具有最小响应时间的Web服务的并集setrt(WSl,x),即setrt(WSl,x)={bestrt(ini)|i=1,2,…,n};求最大吞吐量,对中所有的输入ini,从i=1到i=n,查看所有的alll‑1(inq),1≤q≤n,如果集合alll‑1(inq)中包含besttp(ini)中的Web服务,则修改besttp(inq)=besttp(ini);由此Web服务WSl,x保留的第l‑1层的Web服务集为产生该Web服务WSl,x输入的具有最大吞吐量的Web服务的并集settp(WSi,j),即settp(WSi,j)={besttp(ini)|i=1,2,…,l};1.1.4选取Web服务:在最后一层输出层选取具有最高QoS值的Web服务,然后选取前面一层相应的Web服务集合,依次进行下去直到第一层输入层;1.2去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务:从Web服务依赖图中去除不可调用的Web服务,并且去除与不可调用的Web服务输入输出对象相连的边;如果去除相连的边后,与不可调用的Web服务相连的Web服务的输入仍然能够得到满足则不作处理,否则去除该服务。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410447326.9/,转载请声明来源钻瓜专利网。
- 上一篇:一种合成氨合成系统优化改进的方法和装置
- 下一篇:一种奥格列汀的合成方法