随着web服务的出现,企业和个人可以利用面向服务计算(Service Oriented Computing,SOC)的技术将多个具有不同功能的服务组合起来,以构建满足需求的企业应用和软件系统。服务组合是SOC的核心技术之一,它允许灵活地聚合所需的资源,从而实现业务复用。然而,随着大量具有相同功能的web服务的出现,服务质量(QoS)成为了选择服务的关键因素。为了构建一个优质的web服务组合,需要在组合服务的过程中对web服务的多个方面进行评估,包括考虑服务的可用性、可靠性、速度和安全等因素。经过评估,可以确定哪些服务具有较高质量,并利用服务组合技术得到一个最佳的web服务组合来满足用户的业务需求。近年来,研究者们提出了多种基于QoS的web服务组合方法,并且取得了不错的成果。但是,这些方法仍然存在以下问题:(1)研究者过于注重算法的优化,并没有对算法使用数据的预处理过程进行说明,导致算法的实用性较差。(2)由于将服务组合优化问题转化为连续优化问题的方式不当,使得算法容易陷入局部最优。(3)结合实际考虑,服务组合方法应在保证结果接近全局最优的基础上,再努力缩短执行时间。但是,现有的方法普遍存在执行时间短而产生的服务组合质量不高的问题。针对以上的问题,本文主要研究使用烟花算法和全局QoS分解技术完成web服务组合。本文具体的研究内容如下:(1)基于烟花算法的web服务组合为了提升web服务组合方法的实用性和提高web服务组合效率,本文提出了一种基于烟花算法的web服务组合方法(web Service Composition Optimization with the Fireworks Algorithm,FWA-WSC)。该方法首先建立了预处理流程,以此增强整体算法的实用性和准确性。此外,使用优化的烟花算法来提高web服务组合的效率。具体来说,FWA-WSC方法包含以下内容:首先,将web服务的QoS属性信息进行预处理。爬取web服务的WSDL文档,使用正则匹配抽取关键的功能信息,利用自然语言模型将关键功能信息转换为向量,采用K-means算法对向量进行聚类,从而达到对服务分类的目的。在服务分类结果中,同一抽象类中每个QoS属性对应的值是接近的,所以可以减小算法的误差。同时,在分类结果的基础上抽取算法所需QoS属性,本文将每个服务按照QoS属性值之和从小到大排序。与现有算法相比,本文添加的预处理流程增强了算法的实用性和准确性。其次,预处理过程中的排序使得服务内部有序,再结合服务整数编码的方式,使得web服务组合真正成为一个连续性的优化问题,这样可以避免算法得到局部最优解。然后,为了使烟花算法更加适应解决web服务组合的问题,本文对其进行了优化。第一,本文采用随机选择策略为下一代保留N-1个个体,其目的是加快算法的收敛速度和增强算法的搜索能力。第二,在每次迭代过程中,随机化每一代的火花总数和烟花的最大振幅。这样算法的搜索能力和跳出局部最优解的能力在整个算法的执行过程中都是动态平衡的。最后,本文将优化的烟花算法应用到了web服务组合过程中。通过QWS2.0真实数据集验证了本文方法的高效性。(2)基于烟花算法的全局QoS约束分解与web服务组合虽然将优化的烟花算法应用到服务组合的过程中可以保证较高的结果准确度,但是它需要花费较多的计算时间。为了进一步提高算法的执行效率,本文提出了基于烟花算法的全局QoS约束分解与web服务组合方法(Global QoS-Constrained Decomposition and web Service Composition with the Fireworks Algorithm,FWA-WSDC)。该方法首先建立专家模糊系统来评估服务的可信度值,以此将可信度低的服务提前过滤掉。其次,搭建了预处理流程,先行处理算法需要的数据,以此来提升算法的执行效率。最后,将全局QoS分解技术与优化的烟花算法相结合应用到服务组合的过程中,算法的执行时间进一步缩短。具体来说,FWA-WSDC方法包含以下内容:首先,本文设计了基于模糊专家系统的服务可信度计算方法,通过将QoS属性值输入到模糊专家系统,根据已经确定的推理规则以及隶属函数,得出一个精确的可信度值。将可信度低的服务提前剔除掉,这样减少了算法的计算时间。然后,在服务分类排序的基础上,本文为每个抽象服务的QoS属性生成了对应的质量标尺集合,每个局部最优QoS属性值将会从对应的质量标尺集合中产生。最后,在优化的烟花算法中添加并行化执行程序,使其可以同时运行多个任务。通过将一个全局最优的任务分解成在每个抽象服务中找局部最优QoS的几个子任务,然后几个寻找局部最优QoS的任务同时执行,这样加快了web服务组合的效率。在QWS2.0数据集上验证了本文提出方法的有效性。
暂无评论