论文部分内容阅读
伴随着Internet的普及和Web服务的不断发展,传统的、把专家指定的网络应用按照事先制订的方案组合起来,完成一定任务的应用集成模式已经不再适应当前的Web环境:而把现有的、可用的Web服务自动的组合起来,形成功能更加强大的、增值的、满足用户需求的业务流程成为研究的热点。目前Web服务的数量正以爆炸式的速度增长,完成相同或相似功能的Web服务比比皆是,相互之间也存在着竞争。因此需要对可以完成指定任务的Web服务进行进一步的挑选。随着选择范围的扩大,用户不再仅关心业务流程能否满足其功能上的要求,还会关注其他一些非功能属性,诸如服务价格、执行时间、服务可用性、执行的可靠性等因素。因此,如何在保证流程满足用户功能需求的前提下,选择合适的Web服务进行组合,以使其能够满足用户非功能性的约束,便成为亟待解决的问题。针对这个问题,本文首先采用服务质量(Quality of Service,简称QoS)来描述单个Web服务的非功能性属性,并作为Web服务选择的重要依据;然后,采用组合服务的QoS模型计算整个业务流程的QoS值,作为算法中适应度函数的计算基础。本文把Web服务组合问题看成组合优化问题,提出了一种基于遗传算法的方法对Web服务进行选择。采用进化稳定策略,对标准的遗传算法进行了扩展,在对问题进行染色体编码时,增加了突变算子;以业务流程的QoS值为基础定义了染色体的适应度函数;并定义了算法的终止条件。这样,我们便可以借助于染色体来描述QoS敏感的Web服务组合问题实例,并通过对初始群体反复执行选择、交叉、变异和突变操作,来不断对结果进行优化,直至算法终止,便可以得到QoS敏感的Web服务组合问题的最优解。在实际应用中,如果用户不希望花费大量时间去寻求最优解,而希望可以快速的得到满意的解,可以通过改变算法的终止条件来满足用户的需求。本文提出的基于遗传算法的QoS敏感的服务组合方法,不要求目标函数和约束条件具有线性特征,因此可以处理更多形式的约束,拥有更广的适用场景。