CN104166733B - 一种基于依赖图模型的Web服务组合结果修复方法 - Google Patents
一种基于依赖图模型的Web服务组合结果修复方法 Download PDFInfo
- Publication number
- CN104166733B CN104166733B CN201410447326.9A CN201410447326A CN104166733B CN 104166733 B CN104166733 B CN 104166733B CN 201410447326 A CN201410447326 A CN 201410447326A CN 104166733 B CN104166733 B CN 104166733B
- Authority
- CN
- China
- Prior art keywords
- web service
- input
- web
- output
- combination result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本文公开了一种基于依赖图模型的Web服务组合结果修复方法,包含如下步骤:步骤1,去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务;步骤2,检验Web服务组合结果的可修复性;步骤3,根据可修复的不同情况对Web服务组合结果进行修复。本发明能够在Web服务组合结果出现问题时,通过对Web服务组合结果进行修复的方式来组合新的Web服务组合结果,相对现有技术重新组合的方式效率要高很多。
Description
技术领域
本发明涉及计算机互联网Web服务组合领域,特别是一种基于依赖图模型的Web服务组合结果修复方法。
背景技术
虽然Web服务组合支持增值的分布式应用的自动化构建,但目前大多情况是针对静态环境,没有考虑现实是动态的,不断变化的世界。Web服务状态随时都有可能发生变化,QoS属性值的改变,Web服务变得不可被调用等等都会对组合结果产生影响。又或者当用户的需求发生改变时,Web服务组合结果也得发生相应的改变,于是在很多情况下,我们都必须要重新组合Web服务以满足用户的需求。
在组合过程中,我们尽可能地保证在功能需求得到满足并且保持QoS属性值最优的同时最终的Web组合结果有最小数目的Web服务。显然,这样给我们带来的好处就是我们减小了Web服务组合结果的执行开销。近年来,Web服务组合结果恢复问题是Web服务组合中另一个热点研究问题,由于Web服务组合结果中不存在冗余的Web服务,每个Web服务都是必须要执行成功的才能保证整个Web服务组合结果的执行成功。当Web服务组合结果中的某个或着某些Web服务出现不可调用时,由于Web服务组合结果中没有冗余的Web服务可以替代,那么该Web服务组合结果的执行只能以失败告终。
解决这个问题的一个简单的办法便是重新组合一个Web服务组合结果,这个方法虽然可行,但是花费较大。其实,当一个Web服务组合结果中的小部分Web服务状态发生改变时重新组合一个Web服务组合,在新组合的Web服务组合结果中大部分Web服务应该和原来的Web服务组合结果是相同的。这样,我们只需要重新组合那些不相同的Web服务即可。
发明内容
发明目的:本发明索要解决的技术问题是针对现有技术的不足,提供了一种基于依赖图模型的Web服务组合结果修复方法。
发明内容:为了解决上述技术问题,本发明公开了一种能够从Web服务依赖图中恢复Web服务组合结果的Web服务组合结果修复方法,包含如下步骤:
步骤1,去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务:从Web服务依赖图中去除那些不可调用的Web服务,并且去除那些与不可调用的Web服务输入输出对象相连的边。如果去除相连的边后,与不可调用的Web服务相连的Web服务的输入仍然能够得到满足则不作处理,否则去除该服务。
其中,对原有的服务组合结果的组合过程包含以下几个步骤:
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.2 计算QoS值
从输入层到输出层,对于第l层的第x个Web服务,WSl,x∈Ll,l=2,3,...,C,该Web服务的输入集合当第l-1层的第y个Web服务WSl-1,y∈Ll-1,如果ini∈即输入ini属于集合有且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.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.4 选取Web服务
在最后一层输出层选取具有最高QoS值的Web服务,然后选取前面一层相应的Web服务集合,依次进行下去直到第一层输入层。
步骤2,检验Web服务组合结果的可修复性,分为以下三种情况:
情况2.1,当Web服务组合结果出现问题需要进行修复时,在去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务后,能够通过选取其他路径而达到修复目的时,判断所述Web服务组合结果为无需扩展可修复的;
情况2.2,当Web服务组合当Web服务组合结果出现问题需要进行修复时,在去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务后,不能够通过选取其他路径而达到修复目的,但是能够通过扩展Web服务依赖图达到修复的目的时,判断所述Web服务组合结果为需扩展可修复的;
情况2.3,当Web服务组合当Web服务组合结果出现问题需要进行修复时,以上两种方式都行不通时,判断Web服务组合结果为不可修复的。
步骤3,根据可修复的不同情况对Web服务组合结果进行修复:
首先,对于情况2.1,执行如下步骤:
2.1.1,从Web服务依赖图中出去出现问题的Web服务,并且去除那些与出现问题的Web服务的输入/输出对象相连的边;
2.1.2,如果去除相连的边后,与出现问题的Web服务相关的Web服务的输入还能得到满足,则重新计算这些Web服务的QoS属性值;否则,依次去除输入不能得到满足的Web服务;
2.1.3,去除无法再调用的Web服务后,查看用户想要得到的输出对象是否仍然能够得到满足,如果是,则反向遍历Web服务依赖图得到另一个有效的Web服务组合结果;否则,判断Web服务组合结果不属于无需扩展可修复的情况;
其次,对于情况2.2,执行以下步骤:
2.2.1,在Web服务依赖图中去除Web服务组合结果出现问题的Web服务后相应的后继服务集后,在最后一层对Web服务依赖图进行扩展,直到用户所有的出对象都得到满足或者Web服务依赖图不可再扩展;
2.2.2,当扩展Web服务依赖图扩展完成用户所有的输出对象都得到满足后,根据步骤1.1.2和步骤1.1.3对QoS进行优化和对冗余服务进行约减;
2.2.3,通过后向遍历Web服务依赖图得出修复后的Web服务组合结果。
最后,对于情况2.3,如果无法通过扩展来满足用户请求的所有输出对象得到满足,则判断Web服务不可修复。
有益效果:本发明能够在Web服务组合结果出现问题时,通过对Web服务组合结果进行修复的方式来组合新的Web服务组合结果,相对现有技术重新组合的方式效率要高很多。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明Web服务组合结果修复方法流程图。
图2为Web服务组合结果图。
图3为通过需扩展可修复方式进行修复的结果图。
图4为最后修复结果图。
具体实施方式
如图所示,本发明公开了基于依赖图模型的Web服务组合结果修复方法,包含如下步骤:
步骤1,去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务:从Web服务依赖图中去除那些不可调用的Web服务,并且去除那些与不可调用的Web服务输入输出对象相连的边。如果去除相连的边后,与不可调用的Web服务相连的Web服务的输入仍然能够得到满足则不作处理,否则去除该服务。
步骤2,检验Web服务组合结果的可修复性,分为以下三种情况:
情况2.1,当Web服务组合结果出现问题需要进行修复时,在去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务后,能够通过选取其他路径而达到修复目的时,判断所述Web服务组合结果为无需扩展可修复的;
情况2.2,当Web服务组合当Web服务组合结果出现问题需要进行修复时,在去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务后,不能够通过选取其他路径而达到修复目的,但是能够通过扩展Web服务依赖图达到修复的目的时,判断所述Web服务组合结果为需扩展可修复的;
情况2.3,当Web服务组合当Web服务组合结果出现问题需要进行修复时,以上两种方式都行不通时,判断Web服务组合结果为不可修复的。
步骤3,根据可修复的不同情况对Web服务组合结果进行修复:
首先,对于情况2.1,执行如下步骤:
2.1.1,从Web服务依赖图中出去出现问题的Web服务,并且去除那些与出现问题的Web服务的输入/输出对象相连的边;
2.1.2,如果去除相连的边后,与出现问题的Web服务相关的Web服务的输入还能得到满足,则重新计算这些Web服务的QoS属性值;否则,依次去除输入不能得到满足的Web服务;
2.1.3,去除无法再调用的Web服务后,查看用户想要得到的输出对象是否仍然能够得到满足,如果是,则反向遍历Web服务依赖图得到另一个有效的Web服务组合结果;否则,判断Web服务组合结果不属于无需扩展可修复的情况;
其次,对于情况2.2,执行以下步骤:
2.2.1,在Web服务依赖图中去除Web服务组合结果出现问题的Web服务后相应的后继服务集后,在最后一层对Web服务依赖图进行扩展,直到用户所有的出对象都得到满足或者Web服务依赖图不可再扩展;
2.2.2,当扩展Web服务依赖图扩展完成用户所有的输出对象都得到满足后,根据步骤1.1.2和步骤1.1.3对QoS进行优化和对冗余服务进行约减;
2.2.3,通过后向遍历Web服务依赖图得出修复后的Web服务组合结果。
最后,对于情况2.3,如果无法通过扩展来满足用户请求的所有输出对象得到满足,则判断Web服务不可修复。
实施例1
对于用户的一个请求(Rin,Rout),其中Rin={x,y,z},Rout={u,v,w}。根据用户的请求按照Web服务组合方法中的步骤1中服务组合结果组合过程可以组合出图2中的组合结果。
图2中,圆角矩形A~J代表Web服务,圆角矩形A~J内后面的数字代表QoS属性值(图中以响应时间为例),小圆a~z代表Web服务的输入输出,对于当前Web服务而言前面连接的是输入,后面连接的是输出。圆角矩形A、D、H和I为最后被选取的Web服务。
当Web服务H出现问题无法再调用时,我们发现其后继Web服务集I,J也变的不可调用,但是我们可以看出,用户的需求u,v,w仍然能够得到满足。因为用户的输出请求中的w可以有Web服务F得出,此种情况便称之为无需扩展可修复情形。
处理方式为:首先去除Web服务H,与Web服务H相连的边f,g也相应的去除,于是我们发现Web服务I的输入g得不到满足,J的输入f得不到满足,Web服务I,J变得不可调用,因此,我们去除Web服务I,J。输出请求中的w可以由Web服务F得到,于是反向遍历得出新的组合结果。
当Web服务D出现问题时,由于用户的输出请求中的v得不到满足,这时,我们要对Web服务依赖图进行扩展,扩展从最后一层开始,扩展方式如Web服务构建算法一样。如图3所示,服务D变为不可用节点。通过在最后一层扩展后,我们能够得到用户输出请求中的v,这样用户的输出请求都能够得到满足,如图中所示,u由服务E得出,v由服务K得出,w由服务I得出,这种情况便称之为需扩展可修复情形。
处理方式为:在Web服务依赖图中去除Web服务组合结果出现问题的Web服务后相应的后继服务集后,在最后一层对Web服务依赖图进行扩展,直到用户所有的输出对象都得到满足或者Web服务依赖图不可再扩展。如图3所示,Web服务K为扩展后添加的Web服务。用户请求输出参数v可由新添加的Web服务K得到。最后通过QoS优化算法和冗余服务约减算法对QoS进行优化和对冗余服务进行约减,通过后向遍历Web服务依赖图得出修复后的Web服务组合结果,如图4,A、C、E、H、I和J矩形代表最终选取的Web服务。
实施例2
下面以一个简单的互联网旅游服务推荐为例来说明,当用户希望互联网旅游服务软件帮忙推荐景点和预订酒店时,用户的具体请求为(Rin,Rout),其中Rin={x,y,z},Rout={u,v,w}。x代表时间,y代表地点,z代表预算。u代表景点,v代表酒店,w代表花费。根据用户的请求按照Web服务组合方法中的步骤1中服务组合结果组合过程可以组合出图2中的组合结果。
图2中,圆角矩形A~J代表Web服务,A~C、H代表4家旅行社,D~E代表景点推荐系统,F、I~J代表花费预算系统。圆角矩形A~J内后面的数字代表QoS属性值(图中以响应时间为例),小圆a~z代表Web服务的输入输出,对于当前Web服务而言前面连接的是输入,后面连接的是输出。圆角矩形A、D、H和I代表最后被选取的Web服务。
当旅行社H无法代理安排时,我们发现和旅行社有合作关系的I、J预算系统也不可用,但是我们可以看出,用户的需求(景点,酒店,花费)仍然能够得到满足。因为用户的输出请求中的花费可以有Web服务花费预算系统得出,此种情况便称之为无需扩展可修复情形。
处理方式为:首先去除旅行社H,与旅行社H相连的边f,g也相应的去除,于是我们发现花费预算系统I的输入g得不到满足,J的输入f得不到满足,因此,我们去除花费预算系统I,J。输出请求中的预算可以由花费预算系统F得到,于是反向遍历得出新的组合结果。
当景点推荐系统D出现问题时,由于用户的输出请求中的v(酒店)得不到满足,这时,我们要对Web服务依赖图进行扩展,扩展从最后一层开始,扩展方式如Web服务构建算法一样。如图3所示,Web服务D(景点推荐服务)变为不可用节点。通过在最后一层扩展后,执行服务K(酒店预订)后,我们能够得到用户输出请求中的v(酒店),这样用户的输出请求都能够得到满足,如图所示,这种情况便称之为需扩展可修复情形。
处理方式为:在Web服务依赖图中去除Web服务组合结果出现问题的Web服务后相应的后继服务集后,在最后一层对Web服务依赖图进行扩展,直到用户所有的输出对象都得到满足或者Web服务依赖图不可再扩展。如图3所示,酒店预订系统K为扩展后添加的Web服务。用户请求输出参数v(酒店)可由新添加的酒店预订系统K得到。最后通过QoS优化算法和冗余服务约减算法对QoS进行优化和对冗余服务进行约减,通过后向遍历Web服务依赖图得出修复后的Web服务组合结果,如图4,圆角矩形A、C、E、H、I和J代表最终选取的Web服务。
Claims (3)
1.一种基于依赖图模型的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服务的输入仍然能够得到满足则不作处理,否则去除该服务。
2.根据权利要求1所述的方法,其特征在于,步骤2中包括以下步骤:
检验Web服务组合结果的可修复性,可分为以下3种情况:
情况2.1,当Web服务组合结果出现问题需要进行修复时,在去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务后,能够通过选取其他路径而达到修复目的时,判断所述Web服务组合结果为无需扩展可修复的;
情况2.2,当Web服务组合当Web服务组合结果出现问题需要进行修复时,在去除不可调用的Web服务以及相应后继服务集中不可调用的Web服务后,不能够通过选取其他路径而达到修复目的,但是能够通过扩展Web服务依赖图达到修复的目的时,判断所述Web服务组合结果为需扩展可修复的;
情况2.3,当Web服务组合当Web服务组合结果出现问题需要进行修复时,以上两种方式都行不通时,判断Web服务组合结果为不可修复的。
3.根据权利要求2所述的方法,其特征在于,步骤3中包括以下步骤:
首先,对于情况2.1,执行如下步骤:
2.1.1,从Web服务依赖图中除去出现问题的Web服务,并且去除那些与出现问题的Web服务的输入/输出对象相连的边;
2.1.2,如果去除相连的边后,与出现问题的Web服务相关的Web服务的输入还能得到满足,则重新计算这些Web服务的QoS属性值;否则,依次去除输入不能得到满足的Web服务;
2.1.3,去除无法再调用的Web服务后,查看用户想要得到的输出对象是否仍然能够得到满足,如果是,则反向遍历Web服务依赖图得到另一个有效的Web服务组合结果;否则,判断Web服务组合结果不属于无需扩展可修复的情况;
其次,对于情况2.2,执行以下步骤:
2.2.1,在Web服务依赖图中去除Web服务组合结果出现问题的Web服务以及相应的后继服务集后,在最后一层对Web服务依赖图进行扩展,直到用户所有的输出对象都得到满足或者Web服务依赖图不可再扩展;
2.2.2,当扩展Web服务依赖图扩展完成用户所有的输出对象都得到满足后,根据步骤1.1.2和步骤1.1.3对QoS进行优化和对冗余服务进行约减;
2.2.3,通过后向遍历Web服务依赖图得出修复后的Web服务组合结果;
最后,对于情况2.3,如果无法通过扩展来满足用户请求的所有输出对象,则判断Web服务不可修复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410447326.9A CN104166733B (zh) | 2014-09-03 | 2014-09-03 | 一种基于依赖图模型的Web服务组合结果修复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410447326.9A CN104166733B (zh) | 2014-09-03 | 2014-09-03 | 一种基于依赖图模型的Web服务组合结果修复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104166733A CN104166733A (zh) | 2014-11-26 |
CN104166733B true CN104166733B (zh) | 2017-07-18 |
Family
ID=51910546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410447326.9A Active CN104166733B (zh) | 2014-09-03 | 2014-09-03 | 一种基于依赖图模型的Web服务组合结果修复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104166733B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110971683B (zh) * | 2019-11-28 | 2021-06-15 | 海南大学 | 基于强化学习的服务组合方法 |
CN112765407B (zh) * | 2020-12-30 | 2022-11-11 | 重庆邮电大学 | 物联网环境下基于用户偏好的QoS服务组合方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102087664A (zh) * | 2011-01-27 | 2011-06-08 | 深圳市五巨科技有限公司 | 一种移动终端访问网络的优化方法、系统及移动终端 |
CN102546754B (zh) * | 2011-11-23 | 2014-11-26 | 河南理工大学 | 服务质量可定制的Web服务组合方法 |
CN103108044B (zh) * | 2013-02-04 | 2015-08-19 | 南京大学 | 一种基于依赖图约减和QoS保持的Web服务组合方法 |
CN103473100B (zh) * | 2013-09-17 | 2016-08-17 | 中国科学院软件研究所 | 一种基于依赖关系的Web服务替换方法 |
-
2014
- 2014-09-03 CN CN201410447326.9A patent/CN104166733B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104166733A (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032521B (zh) | 存储卷创建方法、装置、服务器及存储介质 | |
CN110430206B (zh) | 基于脚本模板化生成配置防火墙安全策略的方法 | |
CN102456031B (zh) | 一种MapReduce系统和处理数据流的方法 | |
CN104166733B (zh) | 一种基于依赖图模型的Web服务组合结果修复方法 | |
CN107924391A (zh) | 共享协同编辑文档的方法和装置 | |
JP2012157239A (ja) | volt/VAR潮流最適化を加速するためのシステム、方法、および装置 | |
CN102289473A (zh) | 一种多服务器分页查询的装置及方法 | |
CN109583746A (zh) | 设置流程的路由规则的方法及装置、可读存储介质 | |
CN105743946A (zh) | 模板部署方法及装置 | |
CN110083651A (zh) | 一种数据加载的方法和装置 | |
CN105930447A (zh) | 一种将树形嵌套数据转换为平面数据表的方法 | |
Fox et al. | User manual for GingerALE 2.3 | |
JP2010176162A (ja) | 電源設計プログラム、方法並びに装置及びコンピュータネットワーク | |
CN103108044B (zh) | 一种基于依赖图约减和QoS保持的Web服务组合方法 | |
US8996390B2 (en) | Computer readable medium, operation controlling method, and operation control system | |
CN105741155A (zh) | 窗帘订单处理方法 | |
CN111462292B (zh) | 图层化渲染方法、介质、设备及装置 | |
CN110019380A (zh) | 一种数据查询方法、装置、服务器及存储介质 | |
CN106331000A (zh) | 一种确定服务方案的方法及装置 | |
CN115935493B (zh) | 一种二维cad图纸转bim模型方法及系统 | |
JP5854132B2 (ja) | 情報処理方法、装置及びプログラム | |
JP2011076268A (ja) | 会議進行役選出方法、装置及びプログラム | |
CN103279339B (zh) | 一种代码上线系统及方法 | |
CN110211063B (zh) | 一种图像处理方法、装置、电子设备和系统 | |
Gołuńska et al. | A consensus reaching support system based on concepts of ideal and anti-ideal point |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |