-
随着Web服务应用领域的持续延伸,单个简单的Web服务已经无法满足实际应用需求,人们常常需要将多个Web服务组合起来以完成一个较复杂的任务。用户在关注组合服务功能的同时,往往更加注重服务的QoS (响应时间、信誉度、可靠性、价格等) 是否满足自身的需求。因此,如何为用户提供高效且满足QoS需求的Web服务组合是一个关键问题[1]。QoS感知的服务组合优化问题 (optimizing the QoS-aware service composition, O-QSC) 应运而生。
若不考虑Web语义[2-5],O-QSC的问题可以建模为一个多维多选择背包问题 (multidimensional multiple choice knapsack problem, MMKP)[6],这是众所周知的NP难问题。所以,如何为用户提供一个可信赖且可靠的服务组合是一个重大的挑战。目前,基于工作流的QSC问题已经获得了很多的研究,大体可分为三类:局部优化方法 (local optimization, LO)[6-10],全局优化方法 (global optimization, GO)[11-24]以及质量约束分解方法 (quality constriant decomposition, QCD)[25-28]。
当为工作流中的每个任务选择候选服务时,LO方法通常会对满足组合流程的一组服务的QoS指标进行加权排序,并以此作为选择各个服务实例的依据。由于每个服务都是被独立选择的[6-7],因此该方法表现出较好的性能。文献[8]提出了一种中间件平台,该平台解决了如何选择Web服务的问题,同时描述了一种基于局部选择服务的方法。文献[6]给出了一种启发式算法,它从局部视角寻找接近最优解的解决方案。虽然LO方法具有很好的时间复杂度,但不容易满足全局约束,且不容易获得最优解。
GO方法是以服务组合的整体质量满足全局QoS约束为目标的,因此在对各个服务进行选择时,需要综合考虑各服务组合后的总体质量,从而生成一个最佳组合方案。当该最佳服务组合服从全局约束时,能使聚合效用达到最大值。为了选择出最合适的候选组合,文献[11]讨论了如何确定可考虑不同QoS类别的标准,并开发出一些特定的启发式算法来解决服务组合问题。文献[12]提出了一种采用路径模板编码机制的遗传算法来解决多路径全局优化问题,在算法的收敛性与复杂度方面有所提升。在文献[13]中,O-QSC问题被建模为具有一个多项式数变量和约束的混合整数型线性规划,但它要求目标函数是线性的,且时间复杂度较高。GO方法适应性强,可以获得最优或次优解,容易满足全局约束,但时间复杂度较高。
为了综合LO方法和GO方法的优点,文献[25-26]采用了QCD方法。QCD过程旨在把全局约束分解为与组合服务任务相关联的局部约束集,但其主要思想是全局约束和用户喜好能引导着丢弃那些质量比预期的最小质量还要小的Web服务。文献[25]仅考虑了顺序模式的工作流以及和类型的QoS属性。
可见,当前O-QSC方法存在以下一个或多个不足:1) 算法效率不高或者效用不佳;2) 仅针对顺序工作流或某个具体的工作流;3) 未考虑组合服务运行异常时的自治愈能力。为此,本文提出了一种带有一定自治愈能力的基于Top-k优选的服务组合方法,主要贡献包括:1) 给出了一种正则工作流的形式定义,为自动处理工作流奠定了基础;2) 给出了一种高效的QoS感知的Web服务组合方法,可以以较小的时间复杂度获得较优的组合方案;3) 可以为所选组合方案所涉及的每个服务寻找备用服务集,具备一定的自治愈能力。
-
工作流描述了服务功能的结合方式以满足用户需求[29]。在工作流中,一个任务代表功能相同的一系列Web服务,一种模式代表不同任务之间的依赖关系[13]。与文献[13]一样,本文将考虑顺序模式 (SEQ)、并发模式 (AND) 以及选择模式 (XOR) 等3种常见模式 (如图 1),其中Ai代表某个任务,AND-split、AND-join分别表示并发模式的起点与终点,XOR-split、XOR-join分别表示选择模式的起点与终点。
-
常见的复杂工作流由以上3种模式 (顺序、并发、选择) 经过有限次的连接嵌套而成。如果分别用⊙,⊕和⊗来表示SEQ、AND和XOR模式,那么常见的复杂工作流可递归定义为:
1) 当A和B是任务时,(A⊙B)、(A⊕B) 和 (A⊗B) 是工作流;
2) 当P和Q是工作流时,(P⊙Q)、(P⊕Q) 和 (P⊗Q) 也是工作流;
3) 当A是一个任务,P是一个工作流时,(A⊙P)、(A⊕P) 和 (A⊗P) 是工作流。
由此,一个复杂工作流可以表示为一个符号串。以图 2所描述的旅行规划工作流[13]为例,它可以表示为 (A1⊙((A2⊙(A3⊕A4))⊗A5⊗(A6⊙A7)))。
-
为了描述方便,将一个任务看作一个二元组A < ID, SG > ,ID是一个用来唯一确定A的标识符,SG是执行任务A的所有Web服务的集合。当用一个符号串来表示一个工作流时,串中任何一对小括号可描述该工作流的一个子工作流,可将其看成一个虚拟任务,并描述为一个三元组VA < ID, SG, UA > ,ID是用来唯一确定VA的标识符,SG表示其所有实例的集合,UA表示其所涉及的任务的集合。
用Q(s)= (q1(s), q2(s), …, qr(s)) 表示服务s的QoS属性,其中qi(s) 决定了s的第i个属性的值。设A1、A2为两个任务,@表示某种模式,则 (A1@A2) 可合并成一个虚拟任务VA < ID, SG, UA > ,其中VA.ID=A1.ID +A2.ID;VA.SG={cs1@cs2|cs1∈A1.SG and cs2∈A2.SG},qi(cs1@cs2) = fk(qi(cs1), qi(cs2)),fk(x, y) 是一个聚合函数 (见表 1);VA.UA={A, B}。该合并过程也可以用于两个虚拟任务或一个虚拟任务与一个任务之间。
表 1 聚合函数的定义
QoS属性 顺序 并发 选择 响应时间 q(x)+q(y) max{q(x), q(y)} (q(x)+q(y))/2 吞吐量 min{q(x), q(y)} max{q(x), q(y)} (q(x)+q(y))/2 可靠性 q(x)q(y) q(x)q(y) (q(x)+q(y))/2 VA.UA中的每个元素代表了可完成VA的一个虚拟任务vs,其效用函数可用式 (1) 定义:
$$ U(\text{vs})=\sum\limits_{i=1}^{r}{{{w}_{i}}\times \text{s}{{\text{q}}_{i}}(\text{vs})} $$ (1) 式中,wi≥0且$ \sum\limits_{i=1}^{r}{{{w}_{i}}=1}$,sqi(vs) 为vs的第i个QoS属性的归一化值,由式 (2) 定义:
$$ \begin{align} &\ \ \ \ \ \ \ \ \ \ \ \ \text{s}{{\text{q}}_{i}}(\text{vs})= \\ &\left\{ \begin{matrix} \frac{q\max (\text{VA}, i)-{{q}_{i}}(\text{vs})}{q\max (\text{VA}, i)-q\min (\text{VA}, i)}\text{ }{{q}_{i}}为消极属性 \\ \frac{{{q}_{i}}(\text{vs})-q\min (\text{VA}, i)}{q\max (\text{VA}, i)-q\min (\text{VA}, i)}\text{ }{{q}_{i}}为积极属性 \\ \end{matrix} \right. \\ \end{align} $$ (2) 式中,qmax (VA, i)、qmin (VA, i) 分别为VA.UA中第i个QoS属性的最大值与最小值。当qmax (VA, i) = qmin (VA, i) 时,sqi(vs) 取值为1。
A Self-Healing QoS-Aware Web Service Composition Method
-
摘要: 基于工作流的服务质量(QoS)感知的Web服务组合是Web服务领域的一个研究热点,其目标是选择一个满足QoS约束且QoS效用最大的组合服务。该文给出了常见工作流的一种形式化定义方法及虚拟任务的合成规则,从而提出了一种基于top-k优选策略的Web服务组合方法,其核心思想是递归运用虚拟任务的合成规则将原工作流转换成一个虚拟任务,并在每次合成虚拟任务时,仅为其保留k个优选的服务或组合服务实例。该文还提出了一种新的寻找替换服务的方法以支持自治愈性。仿真实验分析了k值对效用的影响、算法的效用与时间开销以及可替代性能。Abstract: The quality of service (QoS)-aware web service composition problem is a research hotspot. Its objective is to select a composite service which can maximizes the QoS utility while preserving QoS constraints. By giving the definition of usual workflow and the combination rule of virtual tasks, a top-k based web service composition approach is proposed. Its core idea is to transform the original workflow into a virtual task by recursively calling the combination rule of virtual tasks. Moreover, a new scheme is presented to select suitable replaceable services to support the self-healing property. The effectiveness of the k value and the performances of algorithms are analyzed through simulation experiments.
-
Key words:
- QoS-aware /
- self-healing /
- service composition /
- top-k optimization
-
表 1 聚合函数的定义
QoS属性 顺序 并发 选择 响应时间 q(x)+q(y) max{q(x), q(y)} (q(x)+q(y))/2 吞吐量 min{q(x), q(y)} max{q(x), q(y)} (q(x)+q(y))/2 可靠性 q(x)q(y) q(x)q(y) (q(x)+q(y))/2 -
[1] LIU Xuan-zhe, HUANG Gang, HONG Mei. Discovering homogeneous web service community in the user-centric web environment[J]. IEEE Transaction on Services Computing, 2009, 2(2): 167-181. doi: 10.1109/TSC.2009.11 [2] 张佩云, 黄波, 孙亚民.面向服务组合的服务语义匹配机制[J].电子科技大学学报, 2008, 37(6): 917-921. http://www.cnki.com.cn/Article/CJFDTOTAL-DKDX200806033.htm ZHANG Pei-yun, HUANG Bo, SUN Ya-min. Service semantic matching mechanism for web services composition[J]. Journal of University of Electronic Science and Technology of China, 2008, 37(6): 917-921. http://www.cnki.com.cn/Article/CJFDTOTAL-DKDX200806033.htm [3] ZOU Guo-bing, LU Qiang, CHEN Yi-xin, et al. QoS-Aware dynamic composition of web services using numerical temporal planning[J]. IEEE Transactions on Services Computing, 2014, 7(1): 18-31. doi: 10.1109/TSC.2012.27 [4] WANG Peng-wei, DING Zhi-jun, JIANG Chang-jun, et al. Constraint-aware approach to web service composition[J]. IEEE Transactions on Systems Man & Cybernetics Systems, 2014, 44(6): 770-784. http://ieeexplore.ieee.org/document/6637082/ [5] 陈文宇, 张忠全, 向涛, 等.基于相似度的语义Web服务发现技术研究[J].电子科技大学学报, 2010, 39(6): 896-899. http://www.juestc.uestc.edu.cn/CN/abstract/abstract1217.shtml CHEN Wen-yu, ZHANG Zhong-quan, XIANG Tao, et al. Research on similarity-based semantic web services discovery[J]. Journal of University of Electronic Science and Technology of China, 2010, 39(6): 896-899. http://www.juestc.uestc.edu.cn/CN/abstract/abstract1217.shtml [6] YU Tao, ZHANG Yue, LIN Kwei-jay. Efficient algorithms for web services selection with end-to-end QoS constraints[J]. ACM Transactions on the Web Service, 2007, 1(1): 1-26. doi: 10.1145/1232722 [7] ARDAGNA D, PERNICI B. Adaptive service composition in flexible processes[J]. IEEE Transactions on Software Engineering, 2007, 33(6): 369-384. doi: 10.1109/TSE.2007.1011 [8] ZENG Liang-zhao, BENATALLAH B, DUMAS M, et al. QoS-aware middleware for web services composition[J]. IEEE Transactions Software Engineering, 2004, 30(5): 311-327. doi: 10.1109/TSE.2004.11 [9] ALRIFAI M, RISSE T. Combining global optimization with local selection for efficient QoS-aware service composition[C]//Proceedings of the 18th International Conference on World Wide Web. New York: ACM, 2009: 881-890. [10] LUO Yuan-sheng, QI Yong, HOU Di, et al. A novel heuristic algorithm for QoS-aware end-to-end service composition[J]. Computer Communications, 2011, 34(9): 1137-1144. doi: 10.1016/j.comcom.2010.02.028 [11] JAEGER M C, MUHL G, GOLZE S. QoS-aware composition of web services: an evaluation of selection algorithms[C]//OTM Confederated International Conference. Berlin Heidelberg: Springer, 2005: 646-661. [12] 冯建周, 孔立富.基于QoS的Web服务组合中多路径全局优化方法的研究[J].小型微型计算机系统, 2013, 34(7): 1493-1497. http://www.cnki.com.cn/Article/CJFDTOTAL-XXWX201307008.htm FENG Jian-zhou, KONG Li-fu. Research on the method of multi-path global optimization in QoS-based Web service composition[J]. Journal of Chinese Computer Systems, 2013, 34(7): 1493-1497. http://www.cnki.com.cn/Article/CJFDTOTAL-XXWX201307008.htm [13] GABREL V, MANOUVRIER M, MURAT C. Web services composition: Complexity and models[J]. Discrete Applied Mathematics, 2014, 196(2): 67-82. https://www.researchgate.net/publication/268694169_Web_services_composition_Complexity_and_models [14] KLEIN A, ISHIKAWA F, HONIDEN S. Efficient heuristic approach with improved time complexity for QoS-aware service composition[C]//IEEE International Conference on Web Services. Washington, USA: IEEE Computer Society, 2011: 436-443. [15] DING Zhi-jun, LIU Jun-jun, SUN You-qing, et al. A transaction and QoS-aware service selection approach based on genetic algorithm[J]. IEEE Transactions on Systems Man & Cybernetics Systems, 2015, 45(7): 1035-1046. http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7047222&punumber%3D6221021 [16] YU Yang, MA Hui, ZHANG Meng-jie. An adaptive genetic programming approach to QoS-aware web services composition[C]//IEEE Congress on Evolutionary Computation. Cancun: IEEE Computer Society, 2013: 1740-1747. [17] 温涛, 盛国军, 郭权, 等.基于改进粒子群算法的Web服务组合[J].计算机学报, 2013, 36(5): 1031-1046. http://cdmd.cnki.com.cn/Article/CDMD-10357-1016128003.htm WEN Tao, SHENG Guo-jun, GUO Quan, et al. Web service composition based on modified particle swarm optimization[J]. Chinese Journal of Computers, 2013, 36(5): 1031-1046. http://cdmd.cnki.com.cn/Article/CDMD-10357-1016128003.htm [18] YU Qing, CHEN Ling, LI Bin. Ant colony optimization applied to web service compositions in cloud computing[J]. Computer and Electrical Engineering, 2015, 41(1): 18-27. https://www.researchgate.net/publication/270398167_Ant_colony_optimization_applied_to_web_service_compositions_in_cloud_computing [19] YILMAZ A E, KARAGOZ P. Improved genetic algorithm based approach for QoS aware web service composition[C]//IEEE International Conference on Web Services. Anchorage: IEEE Computer Society, 2014: 463-470. [20] 张燕平, 荆紫慧, 张以文, 等.基于离散粒子群算法的动态Web服务组合[J].计算机科学, 2015, 42(6): 71-75. doi: 10.11896/j.issn.1002-137X.2015.06.016 ZHANG Yan-ping, JING Zi-hui, ZHANG Yi-wen, et al. Dynamic web service composition based on discrete particle swarm optimization[J]. Computer Science, 2015, 42(6): 71-75. doi: 10.11896/j.issn.1002-137X.2015.06.016 [21] YIN Hao, ZHANG Chang-sheng, GUO Ying, et al. An improved evolutionary multiobjective service composition algorithm[C]//The International Symposium on Computational Intelligence and Design. Hangzhou, China: IEEE, 2013, 1: 269-272. [22] 苏凯, 马良荔, 郭晓明, 等.一种QoS感知的服务全局优化选择算法[J].华中科技大学学报 (自然科学版), 2014, 42(4): 72-76. http://www.cnki.com.cn/Article/CJFDTOTAL-HZLG201404016.htm SU Kai, MA Liang-li, GUO Xiao-ming, et al. QoS-aware service selection global optimization algorithm[J]. Journal of Huazhong University of Science and Technology. (Natural Science Edition), 2014, 42(4): 72-76. http://www.cnki.com.cn/Article/CJFDTOTAL-HZLG201404016.htm [23] ZHANG Wei, CHANG C K, FENG Tai-ming, et al. QoS-based dynamic web service composition with ant colony optimization[C]//37th Annual IEEE International Computer Software and Applications Conference. Seoul: IEEE Computer Society, 2010: 493-502. [24] 夏亚梅, 程渤, 陈俊亮, 等.基于改进蚁群算法的服务组合优化[J].计算机学报, 2012, 35(2): 270-281. http://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201202009.htm XIA Ya-mei, CHENG Bo, CHEN Jun-liang, et al. Optimizing services composition based on improved ant colony algorithm[J]. Chinese Journal of Computers, 2012, 35(2): 270-281. http://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201202009.htm [25] 王尚广, 孙其博, 杨放春.基于全局QoS约束分解的Web服务动态选择[J].软件学报, 2011, 22(7): 1426-1439. http://www.cnki.com.cn/Article/CJFDTOTAL-RJXB201107001.htm WANG Shang-guang, SUN Qi-bo, YANG Fang-chun. Web service dynamic selection by the decomposition of global QoS constraints[J]. Journal of Software, 2011, 22(7): 1426-1439. http://www.cnki.com.cn/Article/CJFDTOTAL-RJXB201107001.htm [26] MARDUKHI F, NEMATBAKHSH N, ZAMANIFAR K, et al. QoS decomposition for service composition using genetic algorithm[J]. Applied Soft Computing, 2013, 6(5): 3409-3421. https://www.researchgate.net/publication/257636146_QoS_decomposition_for_service_composition_using_genetic_algorithm [27] SUN S X, ZHAO Jing. A decomposition-based approach for service composition with global QoS guarantees[J]. Information Sciences, 2012, 199(15): 138-153. https://www.researchgate.net/publication/256721040_A_Decomposition-based_Approach_for_Service_Composition_with_Global_QoS_Guarantees [28] LIU Zhi-zhong, XUE Xiao, SHEN Ji-quan, et al. Web service dynamic composition based on decomposition of global QoS constraints[J]. Int J Adv Manuf Technol, 2013, 69(9): 2247-2260. https://www.researchgate.net/publication/257337913_Web_service_dynamic_composition_based_on_decomposition_of_global_QoS_constraints [29] TAN Wei, ZHOU Meng-chu. Business and scientific workflow: a web service-oriented approach[M]. IEEE Press Series on Systems Science and Engineering. Wiley: IEEE, 2013. [30] LI Guo-qiang, LIAO Le-jian, SONG Dan-dan, et al. A fault-tolerant framework for QoS-aware web service composition via case-based reasoning[J]. International Journal of Web and Grid Services, 2014, 10(1): 88-99. http://www.inderscience.com/link.php?id=58764 [31] AL-MASRIE E, MAHMOUD Q H. Discovering the best web service[C]//Proceedings of the 16th International Conference on World Wide Web. New York: ACM, 2007: 1257-1258. [32] AL-MASRI E, MAHMOUD Q H. QoS-based discovery and ranking of web services[C]//Proceedings of the 16th International Conference on Computer Communications and Networks. Honolulu: IEEE, 2007: 529-534.