论文部分内容阅读
Web服务作为目前最新颖的分布式计算模型,有力的整合了Internet上的各种资源。复杂的Web服务可以由Web服务组件和基本服务构成。现有的Web服务组合技术研究重点在于服务的自动组合。服务组合的研究主要关注于如何完全自动的产生Web服务的执行计划,另外由于在Internet上存在众多相同服务,所以需要研究如何选择合适的服务用于组合服务的执行。 对于具有相同语义的服务如何选择用于执行的具体服务就需要涉及到服务的非功能属性。服务的用户可以用QoS参数来描述组合服务必须具有的特征。 在动态的环境中,服务运行可能会失败。这时组合服务就需要将对服务的调用切换到与之具有相同语义的另一服务。所以需要进行服务的重选择,当然选择结果需要综合待选择服务的QoS和选择算法运行时的代价,必须保证选择结果满足用户的要求。 本文研究的重点就是在动态环境中如何进行服务选择,在考虑选择算法运行时间的情况下如何保证服务重选择的结果符合用户限制。 本文提出的保证QoS要求的选择算法(SAAQ,Selection Algorithm of Assuring QoS)基于遗传算法,并对传统的遗传算法进行了改进。它以待选择的服务的QoS作为评估参数,建立了一个评估服务满意度的适应度函数,并作为评估标准。利用遗传算法的交叉、变异、选择算子在解空间进行搜索。 本文中对于不同结构的组合服务执行计划,采用了不同的表达式,通过组合服务的单个服务的QoS进行组合服务QoS的计算。对于不同服务的不同QoS参数数值,由于它们之间常常相差几个数量级,这样需要对这些数据映射到固定长度的区间,以便评估函数能够进行公平的评估。SAAQ算法用来搜索满足QoS要求的最优个体的方法是:在遗传的每一代种群筛选出来符合用户QoS要求的最优个体,将它加入队列,经过多代的遗传进化,保证了在SAAQ队列里面具有相当接近最优解的个体,在经过多代的进化后,根据适应度函数值的变化来判断是否接近了全局最优解,或者判断最优个体已经达到了可接受的程度,这时选择算法的结果和算法自身的运行代价达到平衡。当达到算法的运算时间和运算结果的平衡时终止算法,从而得到一个比较满意的符合用户需要的结果。 在本文最后进行了服务选择和服务执行的仿真实验,实验证明