具有QoS关联关系的服务选择方法

文档序号:7802912阅读:228来源:国知局
具有QoS关联关系的服务选择方法
【专利摘要】一种具有QoS关联关系的服务选择方法,包括:对每个任务的候选服务集合作预处理,移除候选服务集合中的冗余服务;判断用户偏好的QoS的关联关系类型;根据用户偏好的QoS的关联关系类型,应用CASP方法进行服务选择。在QoS感知的服务选择问题的基础上,将服务间的关联关系考虑在内,使得产生的组合服务不但能满足用户的功能需求,而且具有最优的全局QoS。
【专利说明】具有QoS关联关系的服务选择方法
【技术领域】
[0001]本发明涉及软件优化技术,尤其涉及一种具有QoS关联关系的服务选择方法。
【背景技术】
[0002]服务组合技术通过将多个Web服务组合成一个组合服务来满足用户复杂的功能需求,具体的,根据已有的工作流程,对流程中的每个任务选择具体的服务,然后将每个任务选择的单个服务组合成一个组合服务,服务选择的目的是使选中的每个服务都能完成对应任务的功能需求。随着网络上可选服务的增多,组合服务的质量(QoS)越来越受到重视。因此,服务选择的目的不仅是使得到的组合服务能够满足用户的功能需求,而且要使组合服务具有最优的QoS,该问题被称为QoS感知的组合服务选择。
[0003]QoS不同的属性具有不同的计算方法,同一属性对不同的流程结构的计算方法也不相同。不同的QoS属性对不同流程结构的计算方法已日渐成熟。因此,目前对QoS感知的服务选择问题的研究集中在研究多维度、多目标、多任务的QoS最优规划问题(MMMKP)。众多不同的服务选择方法被提出,它们大都假设服务的QoS属性是已知的,利用类贪心算法为工作流中的每一个任务选择QoS最优的服务。但是利用现有的算法仍不能达到最优化。

【发明内容】

[0004]本发明解决的问题是提供一种具有QoS关联关系的服务选择方法,产生的组合服务不但能满足用户的功能需求,而且具有最优的全局QoS。
[0005]为解决上述问题,本发明实施例提供了一种具有QoS关联关系的服务选择方法,包括:对每个任务的候选服务集合作预处理,移除候选服务集合中的冗余服务;判断用户偏好的QoS的关联关系类型;根据用户偏好的QoS的关联关系类型,应用CASP方法进行服务选择。
[0006]可选的,在预处理之前,还包括:对所有候选服务集合中服务的关联关系进行建模,获得各个服务之间的关联关系。
[0007]可选的,所述预处理具体包括:对于不存在关联关系的服务,只保留缺省值最优的服务,将其它服务从候选服务集合中移除;对于存在关联关系的服务,根据用户偏好q,若服务Si和~存在关联关系,存在另外两个服务Sk和S1,其中Si和Sk位于同一个候选服务集,Sj和S1位于同一个候选服务集,且满足q(sk.S1) > q(Si.Sj),则将Si和Sj之间的关联关系删除,并分别检查Si和是否还存在其它的关联服务,如果不存在其它的关联服务,则将其从候选服务集合中移除。
[0008]可选的,所述QoS的关联关系类型包括关联关系仅存在于相邻的服务之间和关联关系存在于任意的服务之间。
[0009]可选的,当关联关系仅存在于相邻的服务之间时,应用CASP方法进行服务选择的具体步骤包括:将第一个任务的缺省值最优的服务设为当前最优组合服务,并保留所有具有关联关系的服务到组合服务集中,继续下一个任务;将当前最优组合服务与所有和后续服务存在关联关系的服务进行组合,并将组合后的服务保留在组合服务集中;将当前最优组合服务与当前任务下缺省值最优的服务进行组合,设为新的当前最优组合服务;将上一任务组合服务集中的所有组合服务与其相关联的服务进行组合,并与当前最优服务进行比较,保留较优的组合服务为当前最优组合服务,较差的组合服务移除;继续下一个任务直到终止任务。
[0010]可选的,当关联关系仅存在于相邻的服务之间时,应用CASP方法进行服务选择的具体步骤包括:将第一个任务的缺省值最优服务和有关联关系的服务保存到组合服务集中,继续下一个任务;对上一任务组合服务集中的每个组合服务与当前任务下缺省值最优的服务进行组合并保存到组合服务集中;对上一任务组合服务集中的每个组合服务与当前任务下与后续服务存在关联关系的服务进行组合并保存到组合服务集中;对上一任务组合服务集中的每个组合服务查找是否与当前任务候选服务集中的服务存在关联关系,如果存在则与其进行组合并保存到组合服务集中;每一任务的服务组合完成后,查找是否存在关联服务集相同的组合服务,如果存在,则删除用户偏好QoS属性值较差的组合服务;继续下一个任务直到终止任务。
[0011]与现有技术相比,本技术方案具有以下优点:
[0012]本发明实施例的具有QoS关联关系的服务选择方法在QoS感知的服务选择问题的基础上,将服务间的关联关系考虑在内,使得产生的组合服务不但能满足用户的功能需求,而且具有最优的全局QoS。
【专利附图】

【附图说明】
[0013]图1是本发明实施例的具有QoS关联关系的服务选择方法的流程示意图;
[0014]图2是本发明实施例的应用CASP方法进行服务选择的第一选择方法的流程示意图;
[0015]图3是本发明实施例的应用CASP方法进行服务选择的第二选择方法的流程示意图。
【具体实施方式】
[0016]现有的算法仍不能达到组合服务最优化,经过研究发现,主要是因为现有的研究都忽略了服务的QoS之间的关联关系。服务的QoS之间的关联关系对组合服务的QoS具有很大影响。服务的QoS关联关系在现实中广泛存在,比如,如果同时选择一个服务提供商的两个服务,第二个服务可能会在价格上给一个折扣;如果连续调用同一个服务器上的两个服务,由于两个服务间的参数传递可以在服务器内部进行,因此可以大大减小组合服务的响应时间。为此,本发明实施例提供了一种具有QoS关联关系的服务选择方法,在QoS的服务选择问题的基础上,将服务间的关联关系考虑在内,使得产生的组合服务不但能满足用户的功能需求,而且具有最优的全局QoS。
[0017]下面结合附图,通过具体实施例,对本发明的技术方案进行清楚、完整的描述。
[0018]请参考图1,为本发明实施例的具有QoS关联关系的服务选择方法,包括:
[0019]步骤S101,对每个任务的候选服务集合作预处理,移除候选服务集合中的冗余服务;[0020]步骤S102,判断用户偏好的QoS的关联关系类型;
[0021]步骤S103,根据用户偏好的QoS的关联关系类型,应用CASP方法进行服务选择。
[0022]在本实施例中,在预处理之前,还包括:对所有候选服务集合中服务的关联关系进行建模,获得各个服务之间的关联关系。
[0023]对于某一功能需求,现实中可能存在大量的服务能够满足该需求,而大多数服务都可以很容易被确定不是最优的候选服务,这些服务被称为冗余服务。因此在服务选择之前要对候选服务集合进行预处理。预处理的目的是移除候选服务集合中的冗余服务,以减轻冗余服务对服务选择造成的大量开销,提高服务选择的效率。
[0024]每个候选服务集合都需要根据用户要求的QoS属性进行预处理,移除用户偏好(q)较差的服务。在本发明实施例中,QoS(Quality of Service)是一组属性的集合
QoS={q,} ;L,,表示每个服务具有多个不同的QoS属性,每一个属性表示为一个四元组qi =
(d, c, S1, S2),其中d表示该服务的属性qi的缺省值;c表示该服务的属性Qi的关联值A1表示可以影响属性Qi值的服务的集合;S2表示其属性qi受到该服务影响的服务的集合。
[0025]其中,QoS的缺省值表示没有相关联的服务存在时服务的QoS值,关联值表示与该属性相关的服务存在时服务的QoS值。因此,在用户调用一个服务之前,如果已经调用过与该服务相关的服务,则该服务的QoS采用关联值,否则采用缺省值。
[0026]对于不存在关联关系的服务,显然用户偏好q值较优的服务,因此可以将q值较差又不存在关联关系的服务移除。服务间的关联关系可能会使两个q值较差的服务的组合q值较优,因此要保留具有关联关系的服务,但是当两个任务的候选服务集之间存在多个关联关系时,较差的关联关系也可以被移除。
[0027]因此,对每个候选服务集的预处理具体包括:对于不存在关联关系的服务,只保留缺省值最优的服务,将其它服务从候选服务集合中移除;对于存在关联关系的服务,根据用户偏好q,若服务Si和Sj存在关联关系,存在另外两个服务Sk和S1,其中Si和Sk位于同一个候选服务集,Sj和S1位于同一个候选服务集,且满足q(sk.S1) > q(Si.Sj),则将Si和Sj之间的关联关系删除,并分别检查Si和是否还存在其它的关联服务,如果不存在其它的关联服务,则将其从候选服务集合中移除。
[0028]其中,当CS、CS1和CS2是三个组合服务,并且存在关系CS = CS1.CS2,其中“.”表示顺序组合,那么称CS1是CS的一个前缀。服务选择是按照工作流程逐个对任务选择绑定最佳服务的过程,因此该过程可以看作是逐步延长最优组合服务的前缀的过程。
[0029]通过预处理,相当数量的服务被移除,只有缺省值最优的服务和具有较优的关联关系的服务还留在候选服务集中。因此,无论候选服务集中服务量大小,通过预处理过程,只保留以上两类服务,候选服务集合中服务数量不会超过一个上限,该上限与工作流中的任务数有关。因此,预处理过程大大减小了服务搜索空间,降低了服务组合的难度。
[0030]候选服务集合通过预处理之后,运用CASP(Correlation-Aware ServicePruning)方法进行服务选择。首先判断服务QoS的关联关系是哪种关联关系,如果关联关系仅存在于相邻服务中,则采用第一选择方法进行服务选择;如果关联关系仅存在于任意两个服务中,则采用第二选择方法进行服务选择。
[0031]在许多情况下服务的关联关系只存在于相邻的服务之间。比如如果用户期望得到执行时间最短的组合服务,当两个相邻的服务位于同一个服务器上时,参数传递可以在服务器内进行,因此可以节省大量参数传递的时间,因此只有两个相邻的服务才会有时间上的关联关系。在这些情况下,可采用简单的CASP方法进行服务选择。
[0032]在一个任务进行服务选择时,对存在关联关系的服务无法确定其是否为最优候选服务,由于关联关系仅存在相邻的服务中,因此,在对下一个任务进行服务选择时,就可以确定该关联关系包含的两个服务是否为最优的组合服务。此时可以将此服务组合与其它的服务组合相比较,如果较优则保留此组合服务并删除较差的组合服务,否则删除此组合服务。
[0033]因此,当关联关系仅存在于相邻的服务之间时,应用CASP方法进行服务选择的第一选择方法,请参考图2,具体包括:
[0034]步骤S201,将第一个任务的缺省值最优的服务设为当前最优组合服务,并保留所有具有关联关系的服务到组合服务集中,继续下一个任务;
[0035]步骤S202,将当前最优组合服务与所有和后续服务存在关联关系的服务进行组合,并将组合后的服务保留在组合服务集中;
[0036]步骤S203,将当前最优组合服务与当前任务下缺省值最优的服务进行组合,设为新的当前最优组合服务;
[0037]步骤S204,将上一任务组合服务集中的所有组合服务与其相关联的服务进行组合,并与当前最优服务进行比较,保留较优的组合服务为当前最优组合服务,较差的组合服务移除;
[0038]步骤S205,继续下一个任务直到终止任务,最终获得的当前最优组合服务即为算法得到的最优组合服务,反馈给用户。
[0039]在另一些情况下,关联关系也会存在于不相邻的服务之间。比如价格,只要一个组合服务调用了同一个提供商的两个服务,第二个服务会在价格上给一个折扣,这两个服务不必是相邻的服务。在这种情况下,仍然可用CASP方法进行服务选择,但是要比相邻任务的情况要复杂。
[0040]由于关联关系不只存在于相邻的服务之间,因此对于一个顺序的前缀组合服务,其中可能有多个服务与后续任务的服务之间存在关联关系,称这些服务的集合为关联服务集。可以得出结论:对于两个前缀组合服务CS1和CS2,用户偏好q,如果CS1和CS2具有相同的关联服务集并且q (CS1) > q (cs2),其中符号“ > ”表示优于,则CS1可能会是最优组合服务的前缀,而CS2 —定不是最优组合服务的前缀,应当被删除。
[0041]因此,当关联关系不只存在于相邻的服务之间时,应用CASP方法进行服务选择的第二选择方法具体包括:
[0042]步骤S301,将第一个任务的缺省值最优服务和有关联关系的服务保存到组合服务集中,继续下一个任务;
[0043]步骤S302,对上一任务组合服务集中的每个组合服务与当前任务下缺省值最优的服务进行组合并保存到组合服务集中;
[0044]步骤S303,对上一任务组合服务集中的每个组合服务与当前任务下与后续服务存在关联关系的服务进行组合并保存到组合服务集中;
[0045]步骤S304,对上一任务组合服务集中的每个组合服务查找是否与当前任务候选服务集中的服务存在关联关系,如果存在则与其进行组合并保存到组合服务集中;[0046]步骤S305,每一任务的服务组合完成后,查找是否存在关联服务集相同的组合服务,如果存在,则删除用户偏好QoS属性值较差的组合服务;
[0047]步骤S306,继续下一个任务,当服务选择进行到工作流中的最后一个任务时,所有的组合服务的关联服务集都相同,即空集,计算所有组合服务的用户偏好QoS值,保留用户偏好QoS值最优的组合服务即为最优组合服务,返回给用户。
[0048]本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
【权利要求】
1.一种具有QoS关联关系的服务选择方法,其特征在于,包括: 对每个任务的候选服务集合作预处理,移除候选服务集合中的冗余服务;判断用户偏好的QoS的关联关系类型; 根据用户偏好的QoS的关联关系类型,应用CASP方法进行服务选择。
2.如权利要求1所述的具有QoS关联关系的服务选择方法,其特征在于,在预处理之前,还包括:对所有候选服务集合中服务的关联关系进行建模,获得各个服务之间的关联关系O
3.如权利要求2所述的具有QoS关联关系的服务选择方法,其特征在于,所述预处理具体包括:对于不存在关联关系的服务,只保留缺省值最优的服务,将其它服务从候选服务集合中移除;对 于存在关联关系的服务,根据用户偏好q,若服务Si和~存在关联关系,存在另外两个服务Sk和S1,其中Si和Sk位于同一个候选服务集,Sj和S1位于同一个候选服务集,且满足q (Sk.S1) > q(Si.Sj),则将Si和Sj之间的关联关系删除,并分别检查Si和Sj是否还存在其它的关联服务,如果不存在其它的关联服务,则将其从候选服务集合中移除。
4.如权利要求1所述的具有QoS关联关系的服务选择方法,其特征在于,所述QoS的关联关系类型包括两种,具体为关联关系仅存在于相邻的服务之间和关联关系存在于任意的服务之间。
5.如权利要求4所述的具有QoS关联关系的服务选择方法,其特征在于,当关联关系仅存在于相邻的服务之间时,应用CASP方法进行服务选择的具体步骤包括: 将第一个任务的缺省值最优的服务设为当前最优组合服务,并保留所有具有关联关系的服务到组合服务集中,继续下一个任务; 将当前最优组合服务与所有和后续服务存在关联关系的服务进行组合,并将组合后的服务保留在组合服务集中; 将当前最优组合服务与当前任务下缺省值最优的服务进行组合,设为新的当前最优组合服务; 将上一任务组合服务集中的所有组合服务与其相关联的服务进行组合,并与当前最优服务进行比较,保留较优的组合服务为当前最优组合服务,较差的组合服务移除; 继续下一个任务直到终止任务。
6.如权利要求4所述的具有QoS关联关系的服务选择方法,其特征在于,当关联关系仅存在于相邻的服务之间时,应用CASP方法进行服务选择的具体步骤包括: 将第一个任务的缺省值最优服务和有关联关系的服务保存到组合服务集中,继续下一个任务; 对上一任务组合服务集中的每个组合服务与当前任务下缺省值最优的服务进行组合并保存到组合服务集中; 对上一任务组合服务集中的每个组合服务与当前任务下与后续服务存在关联关系的服务进行组合并保存到组合服务集中; 对上一任务组合服务集中的每个组合服务查找是否与当前任务候选服务集中的服务存在关联关系,如果存在则与其进行组合并保存到组合服务集中; 每一任务的服务组合完成后,查找是否存在关联服务集相同的组合服务,如果存在,则删除用户偏好QoS属性值较差的组合服务;继续下一个任务 直到终止任务。
【文档编号】H04L12/24GK103944766SQ201410183917
【公开日】2014年7月23日 申请日期:2014年4月30日 优先权日:2014年4月30日
【发明者】邓水光, 吴洪越, 向正哲, 李莹, 吴健, 尹建伟, 吴朝晖 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1