摘要:
1.本文的创新点
组合服务是SOA领域一个重要的研究方向,服务选择算法已经引起了足够的重视,大部分算法均假定QoS需求已经存在。但由于服务之间的松耦合和相互独立特性,服务请求者不可能了解各个服务的QoS信息,了解什么是最好的服务,什么是最差(最经济)的服务,什么是平均的服务,更不知道各个服务组合后能提供什么样的QoS。因此,如何为用户产生合适的SLA需求也是一个值得研究的问题。另外,对于已有的算法,很少有论文讨论如何将SLA需求与用户希望的算法实现相绑定。由于不同的算法会产生不同的组合结果,花费不同的代价,如获得“最好”和“足够好”的服务实现算法必然不同。因此还需要设计相应的机制允许用户选择适合自己的SLA需求的组合算法。
因此,本文提出了基于QoS参考向量的组合服务SLA需求生成与实现算法选择研究,解决组合服务的QoS需求生成和组合算法选择问题。
2.实现方法
为了实现基于参考向量的服务组合,论文首先提出必须扩充现有的SOA架构,如下图:
然后讨论了通用的QoS模型和组合计算问题。QoS模型包括服务费用(price),时间(time),可靠性(reliability),信任度(Trust)和安全(security),对这些元素的选取考虑了三个方面的原因:第一,这些QoS是通用的大多服务需要关心的QoS,具有一定的普遍性;第二,它们代表了两种不同的评价方式,其一,数值越大QoS越好,如可靠性,其二,数值越小QoS越好,如服务时间;第三,在计算组合QoS时具有一定的代表性,如组合服务的费用是求和,时间是求关键路径的长度等。基于QoS模型,论文详细探讨了如何得到组合服务中各个QoS元素的最差值、最好值以及平均值。
根据QoS模型的定义和组合计算方法,就可以为用户产生不同的QoS参考向量:
最好的组合QoS:CHV=<
chv1,
chv2, … ,
chvk>, 其中,
chvi=
fQoS参数(best | 1£
j£
m , best | 1£
j£
m ,......,best | 1£
j£
m )
最差的组合QoS:CLV=<
clv1,
clv2, … ,
clvk>,其中,
clvi=
fQoS参数(worst | 1£
j£
m , worst | 1£
j£
m ,......,worst | 1£
j£
m )
平均的组合QoS:CAV =<
cav1,
cav2, … ,
cavk>,其中,
cavj=,且
Gi是第
i个构造的组合服务。
基于这些参考向量,用户就可以生成自己的QoS需求参考向量:CRV=<
crv1,
crv2, … ,
crvk>,其中,
crvi表示第
i个QoS值。CRV就可以作为组合服务实现的SLA定义。
完成SLA的生成后,论文引用了两种通用的选择算法:全局搜索和整数规划,来验证不同的算法对运行代价,组合服务的QoS与CRV的误差大小的影响。
3.结论及未来待解决的问题
结论:
(1)基于QoS参考向量的方法能够解决组合服务的QoS需求生成问题。
(2)registry有必要提供一定的机制允许用户选择组合服务实现算法,因为不同的服务选择算法对运行代价,组合服务的QoS与用户的QoS需求间的误差大小存在确实影响:全局搜索的运行代价高,但生成的组合服务与用户需求间的误差小;整数规划运行代价低,但生成的组合服务与用户需求间的误差大。
未来待解决的问题:
本文的方法可以解决的问题是,根据用户的业务逻辑生成QoS需求,进行服务选择和组合。但在组合服务运行的过程中,往往会遭遇类似于Hot-Spot的过载请求,大量突发的请求负载会给组合服务的QoS带来严峻挑战,以后将开展相关问题的研究。
4.实用价值或应用前景
能够在服务组合过程中解决服务请求者的QoS需求生成和组合算法的选择问题。