郑婷婷 黄英持 曹伟
摘要:为实现基于历史知识与规则的Web服务组合优化,对于待解决的特定任务和问题,提出了一种Web服务组合优化方法。这种方法把Aprior算法应用于Web服务组合,通过挖掘历史日志中Web服务的关联规则,计算各种历史Web服务组合方案的支持度,生成针对当前问题的频繁项集,并可根据每种组合的置信度,动态地自动选取合适的Web服务,产生推荐的Web服务组合方案。这种方法可应用于流程管理、智能规划等领域。
关键词:Web服务组合;数据挖掘;Aprior算法;关联规则;频繁集
中图分类号:TP31 文献标识码:A 文章编号:1009-3044(2018)32-0011-03
Abstract:To optimize web service composition based on historical knowledge and rules, an approach of web service composition optimization is proposed for solving specific tasks and problems. The algorithm of Aprior is applied for web service composition. The degree of support for various historical web service composition schemes is calculated and the frequent itemsets for current problems are generated by mining association rules of web services in historical logs. According to the confidence of historical web service compositions, the suitable schemes for web service composition can be selected dynamically and automatically. The approach can be applied in the fields of process management, intelligent planning, etc.
Key words: web service composition; data mining; the algorithm of Aprior; association rules;frequent itemsets
1 引言
Web服務是平台独立的、低耦合的、自包含的、基于可编程的Web应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置,能使得运行在不同机器上的不同应用无须借助附加的第三方软件或硬件, 就可相互交换数据或集成,为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制[1]。目前,两种类型的Web服务是最流行和广泛使用的:基于SOAP的Web服务和REST(Representational State Transfer)的Web服务[2]。
随着互联网的快速发展,单个Web 服务有时不能完全解决用户提出的一些请求,而Web服务组合则可以把各个功能单一的Web 服务,按照某些有效的方式进行组合,从而提高工作效率。如何将这些服务有效集成,实现更为复杂的、功能更丰富的大规模流程服务,也成为服务计算领域的研究热点[3]。
本文主要从Web服务之间的关联规则出发,提出一种基于关联知识与关联推荐的服务组合方法,可根据要执行的任务和待解决的问题,动态地自动选取合适的Web服务进行自动组合,使得Web服务组合的实现更加灵活、高效。
2 相关研究
Web 服务组合是将若干成员服务组合成大粒度流程服务的过程,工业界和学术界提出了众多的 Web 服务组合方法,可根据不同的分类标准进行归类:按照Web 服务组合实现方式可以分为服务编制(Orchestration)和服务编排(Choreography);按照Web 服务组合的动态性程度可以分为静态Web 服务组合和动态Web 服务组合;按照自动化程度可以分为手动Web服务组合、半自动Web 服务组合和全自动Web 服务组合方法;按照Web 服务组合方法的技术或理论基础可以分为基于工作流的服务组合和基于人工智能的服务组合等[3]。
Web 服务组合实质为NP 难问题,目前主流算法是智能优化算法。近年来,智能算法在Web服务组合中的应用成为Web服务组合领域的研究热点之一,包括遗传算法与协同过滤[4]、蚁群算法[5]、粒子群算法[6][7]等,这些算法在解决Web 服务组合问题上非常有研究价值。
由于Web服务组合要遵循一定的知识与规则,而传统的协同过滤主要是根据用户的历史反馈信息,但这种反馈不一定适用于解决当前的需求。关联推荐是基于知识的推荐方法。与传统的协同过滤方式不同,基于知识的推荐主要根据知识表示,更容易产生适用于当前问题的解决方案。
3 基于关联推荐的Web Service组合优化
3.1 关联规则
Apriori算法是一种用于关联规则挖掘的代表性算法,现已被广泛用于社交网络[8]、用户行为分析[9]等领域。
首先是Web服务集合及Web服务组合的定义。
定义1 令当前可提供的所有Web服务全集为I。
定义2 令当前所有日志集为D,其包含的所有日志数量为count(D)。
定义3 若某一Web服务组合S包含了k个Web服务,且S?I,则称S为I的k项子集。