CN101488843A - 一种基于冗余机制的高可用服务组合实现方法 - Google Patents
一种基于冗余机制的高可用服务组合实现方法 Download PDFInfo
- Publication number
- CN101488843A CN101488843A CNA2008100563400A CN200810056340A CN101488843A CN 101488843 A CN101488843 A CN 101488843A CN A2008100563400 A CNA2008100563400 A CN A2008100563400A CN 200810056340 A CN200810056340 A CN 200810056340A CN 101488843 A CN101488843 A CN 101488843A
- Authority
- CN
- China
- Prior art keywords
- service
- availability
- state
- method based
- redundancy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种基于冗余机制的高可用服务组合实现方法。该方法采用可用性价格比最优算法,其基本思想为:引入选择因子,即用服务组合的可用度增量和相应成本增量的比值作为选择增加哪个冗余服务的准则。每次迭代将选择因子最大的服务,增加到相应的活动上。同时,该方法还采用了基于事件的监控方法。与现有技术相比,本发明通过冗余机制选择网络中存在的相同功能的服务,并将它们组织起来,提高服务组合的可用性,降低不可用情况的发生概率。
Description
技术领域
本发明涉及一种基于冗余机制的高可用服务组合实现方法,属于Web服务组合技术领域。
背景技术
近年来,随着互联网技术的不断发展,网络上聚集了越来越多的资源,而且资源的数目和类型日益增长,从而为基于服务的网络软件开发提供了重要的基础。同时,SOAP、WSDL、UDDI和BPEL等标准的制定进一步促进了Web服务技术及面向服务的软件结构SOA的快速发展,使得异构信息、异构平台的共享与集成成为可能。在此背景下,基于服务的分布式应用系统开发成为一个重要的方向。
目前,Web服务技术得到广泛的接受,存在大量商用、开放源码及独立开发的服务软件。此外,Google、Amazon等公司已开始对外提供商用Web服务。Web服务技术可以用于解决不同的平台/系统之间应用的整合问题,为跨组织边界的业务流程的自动化提供技术基础,但由于服务提供者的分工越来越细,并且为了保证重用性和可维护性等,一般不将复杂的业务逻辑封装到单个的Web服务中。为了满足用户多样性的需求,实现完整的业务功能,需要把分布的独立Web服务组合起来,形成增值服务。因此,服务组合技术成为构建网络化软件的一种重要方法。
基于工作流的web服务组合是指把网络上已经存在的多个Web服务按正确的结构组合起来,即通过使用Web服务工作流语言定义使用这些Web服务的业务流程。一般使用工作流语言描述Web服务组合形成的业务流程:指定一组Web服务操作的执行顺序,确定服务共享的数据、业务流程涉的伙伴和各伙伴在业务流程中的角色,以及多个服务和组织是如何参与等。其中,业务流程是指为实现一个特定业务目标通过web服务组合能完成的各项活动集合。活动为业务流程中实现特定业务目标的步骤,伙伴是业务流程的参与者。因此,根据Web服务工作流语言定义出Web服务组合的工作流模型,工作流模型可以被工作流执行引擎执行。
通常,基于服务组合的网络软件开发要按照需求(功能和非功能需求)集成不同服务供应商提供的软件服务实体。这些服务实体位于不同的管理域,具有异构性、自治性和动态性等特点,如服务运行在不同系统平台之上、具有不同的自治策略(如访问控制、事务处理策略等),服务的状态和性质动态变化等等;同时,网络应用的多样性和复杂性增加,许多应用不仅对软件核心功能需求增多,而且对非功能的需求(如可用性、可靠性和可信性等)也越来越高。因此,对服务组合系统的构造、部署、管理、演化等机制,都提出了诸多挑战。
在提高服务组合系统可用性方面,冗余技术是经常采用的方法。在服务器集群技术中,通过使用备用服务器或多台服务器的并发执行实现系统容错,提高服务器系统的可用性。在传统的软件技术中,也提出了N版本程序设计和恢复块等技术。但它们需要专门进行设计,在很大程度上提高了软件开发的成本。基于服务组合的软件开发处于开放的互联网环境下,自然存在多个服务满足相同的服务需求,可以通过发现相同功能的服务节点为每个活动建立备选服务的队列。通过配置冗余服务(即为完成同一活动而选择的多个功能相同的Web服务)改进服务组合的可用性。
基于服务组合的网络软件开发需要集成不同服务者提供的软件服务实体,这些服务实体具有异构性、自治性和动态性等特点。它们运行于不同的系统平台,位于不同的管理域内,采用不同的业务策略,并且服务的状态和性质不断变化等等。在这种情况下,如何利用已经存在的web服务,通过服务组合技术构造高可用的网络化软件,达到提供商业应用需要的可用性水平是仍然是一个需要解决的重要问题。
发明内容
本发明的目的是提供一种基于冗余机制的高可用服务组合实现方法。该方法通过冗余机制选择网络中存在的相同功能的服务,并将它们组织起来,提高服务组合的可用性,降低不可用情况的发生概率。
为实现上述的发明目的,本发明采用下述的技术方案:
一种基于冗余机制的高可用服务组合实现方法,其特征在于:
(1)排除可用度不满足基本要求的服务;
(2)排序、选择可用性和价格比值最好的服务作为每个活动的第一个服务;
(3)计算服务组合的可用度值和花费,计算选择因子并选该值最大的服务添加到相应的活动上;
(4)如果添加后违反约束,则取消最后选的服务,添加选择因子次之的服务;如果未违反约束,则迭代继续选择选择因子最大的服务添加到所述活动上;
(5)所述活动接收到服务请求后,采用主动冗余方式进行响应,并运行后续的服务。
其中,在所述步骤(1)中,所述可用度通过下式进行计算:
在所述步骤(3)中,所述选择因子通过下式进行计算:
所述步骤(5)中,在运行后续的服务时,处于等待状态的可用性管理模块由定时触发事件触发,进入检测状态;
如果被检测的服务状态没有变化,则由检测状态回到等待状态,等待其他事件触发;
如果服务可用状态发生变化,则触发进入通知修复状态,通知冗余服务优化部件和构件服务管理部件查找并选择新服务替换失效的构件服务;
通知完成信息返回后,重新回到等待状态,等待其他事件触发。
另外,可用性管理模块也接收执行引擎的出错信息和服务信息管理器统计的其它用户的反馈信息;
所述可用性管理模块接收到所述出错信息后,由监控状态进入通知修复状态以实施失效服务的更换,通知完成信息返回后回到等待状态;
所述可用性管理模块接收到所述反馈信息后,由监控状态进入检测状态,检测用户关于服务失效的信息是否属实,完成后回到等待状态。
本发明提高了服务组合方法开发跨域应用软件的可用性和可靠性。通过选择网络中存在的相同功能的服务,组织、构造服务冗余机制,提高服务组合的可用性,降低不可用情况的发生概率。
附图说明
下面结合附图和具体实施方式对本发明作进一步的说明。
图1显示了服务冗余的三种方式;
图2是进行可用性维护的状态转移图。
具体实施方式
实现基于冗余机制的高可用服务组合需要解决的问题包括如下的六个方面:
1.如何定义服务的可用性?
2.如何计算基于冗余机制的不同的组合模式的可用性?
3.如何确定服务组合可用性目标?
4.如何确定服务选择的约束条件?
5.如何通过算法实现服务的选择?
6.如何维护冗余服务的可用性?
下面分别进行详细的说明。
1.定义服务的可用性
目前,web服务及服务组合的相关规范没有给出如何度量web服务及其组合的可用性,也未提供改进服务组合可用性的机制。在系统可靠性研究中,提出了不同的特征量从多方面描述部件或系统的质量性质,如可靠度、失效平均间隔时间(MTBF,Mean Time Between Failure)、平均失效时间(MTTF,Mean Time To Failure)、可用度及故障频度等,这些特征量从不同的角度反映了部件或系统提供所需功能的能力。本发明人考虑到实用和可量测性,定义了服务可用度来描述服务的可用情况。
服务的可用度是指服务在一定条件下、在特定的时间内能够提供所需要的功能的能力,具体定义为服务可以提供服务的时间与总的时间的比率:
2.基于冗余机制的不同的组合模式的可用性计算
参见图1所示,服务冗余一共有三种方式:主动冗余、被动冗余和混合冗余。在主动冗余中,接收到服务请求后,所有的服务都参与执行,输出执行结果,根据可靠性要求水平确定收到一个、大部分还是全部的响应后,继续运行后续的服务。该方法在只要有一个服务不出现故障时,对客户的响应就不会中断,如果选择收到一个响应就继续运行可以改善服务组合的性能,使得服务组合的执行时间缩短。被动冗余中只有服务是一个主服务,处理服务请求,当主服务出现故障时,由一个备用服务替换主服务运行。由于需要更换服务、重发请求,导致响应会有一定的延迟,并且故障对用户不是透明的。混合冗余中可以有一个以上的服务是活动的,处理用户请求,同时还有备用服务,这样既可以改善服务组合的性能,还能避免服务出现故障时的延迟。
在基于流程的服务组合过程中,一般采用四种基本组合方式,即顺序(sequence)、并行(parallel)、选择(choice)和循环(iteration),构成服务或活动间的基本控制逻辑关系集合。原则上所有流程都可由这四种基本结构来建模。
若活动t1,t2,...,tm之间分别为顺序、并行、选择组合或自循环的关系,相应服务组合的可用度分别为 AIteration=(1-p)*A(tj)/(1-p*A(tj)),其中A(tj)表示各个活动的可用度,由选中服务的可用度计算可得。设活动tj分别选用了nj个备选服务,得 按上述四种基本组合方式组合形成的基于冗余机制的服务组合的可用度计算公式见表1所示(此处假设服务冗余机制中的消息复制、切换和表决部件一直可用,即可用度为1。此时三种冗余方式可用度计算公式相同)。
表1
3.确定服务组合可用性目标
设完成活动tj的候选服务的数目分别为Nj,相交互的服务之间协议顺序和接口可以匹配,用si j表示完成活动tj的第i个服务,相应的可用度表示为i=1,2,...,j=1,2,...,7。本发明通过对每个活动选用主动冗余方式提高服务组合的可用度,将该问题建模为一个整数规划问题,使所选用的服务的访问价格之和满足价格约束的条件下极大化服务组合的综合可用性Agc。
4.确定服务选择的约束条件
则费用约束: 其中:
5.实现冗余服务选择的算法
在本发明中,实现服务选择的算法有两种:可用度增加贪婪算法(Availability Increase Greedy,简称AIG算法)和可用性价格比最优(Availability/Price Best Algorithm,简称APB算法)。下面分别进行详细的说明。
AIG算法的输入信息包括候选服务的可用度、价格,服务组合中的活动及活动之间的控制逻辑关系;输出为选中的服务和服务组合的可用度。AIG算法首先对各活动的候选服务按可用度从大到小排序,然后选择可用性最好的服务作为每个活动的第一个服务,计算服务组合的可用度值,接着从剩余未选的服务中选择可用度最高的服务添加给相应的活动,比较服务组合可用度的增加情况,选择可用度增量最大的服务添加到服务组合中;如果添加后违反约束,则选择可用度增加次之的服务;如果未违反约束,则继续迭代,再次选择可用度增加最大的服务,最后计算并输出最终的选择结果。
AIG算法可以适用于具有各种约束的服务选择问题,并且具有较好的时间效率。但是当服务的可用度相差不多,而费用却相差很大时,AIG算法就难以得出令人满意的结果。
为此,本发明人设计了另一种冗余服务选择算法,称为APB算法。该算法的基本思想如下:引入选择因子,即用服务组合的可用度增量和相应成本增量的比值作为选择增加哪个冗余服务的准则。每次迭代将选择因子最大的服务,增加到相应的活动上。
选择因子计算如下:
其中:—当第i个活动选择的服务数目从ni变化到ni+1时引起的系统可用度变化,即 与之对应,ΔC(ni)反映总价格约束的变化,ΔC(ni)=C(ni+1)-C(ni)。
APB算法的输入、输出信息和AIG算法一样。APB算法首先排除可用度不满足基本要求的服务;然后排序、选择可用性和价格比值最好服务作为每个活动的第一个服务;下一步计算服务组合的可用度值和花费,计算选择因子并选该值最大的服务添加到相应的活动上;如果添加后违反约束,则取消最后选的服务,添加选择因子次之的服务;如果未违反约束,则迭代继续选择选择因子最大的服务添加到相应活动上,最后计算输出最终的选择结果。
APB算法适用于候选服务的可用度相差不多,而费用却相差较大时,选择性价比最好的服务以改善服务组合整体的可用性。
6.冗余服务的可用性维护
在冗余服务的可用性维护方面,本发明人采用基于事件的监控方法。在收到执行引擎发送的服务失效报告后,根据设定的策略,实施相应的维护动作,构件服务管理部件将搜索和选择替代的服务,服务构造模块更新受影响的BPEL文档或重新构造流程。监控部件还接收服务信息管理器综合的服务反馈消息,如其它用户发现使用的服务出现不可用或服务质量下降,将信息反馈给信息管理器,管理器收集、综合这些信息后,根据要求(类似发布/订阅机制)通知监控部件实施相应的维护动作。
备用服务检测部件负责检查备用服务的可用状态。由于服务提供者发布服务信息后很少更新,因此服务检测模块通过检测备用服务的状态,及时替换失效备用服务,提高服务组合的可用性。检测服务状态会产生一定的开销(费用、负载等),影响系统效率,需要根据策略设定适当的检测频率,本发明支持为不同的服务设定不同的检测频率。对于业务功能重要,愿意多付费的关键服务,可设置较高的检测频率;而对于不重要或不愿多支付费用的服务,可设置较低的检测频率。
综合应用监控和检测的状态转移机制如图2所示,其中等待状态(Waiting)指可用性管理模块等待触发的状态;检测状态(Detect)指可用性管理模块向服务提供者发起检测请求的状态;通知修复状态(Recovery Notify)指可用性管理模块根据返回的服务失效信息通知服务组合构造器替换失效服务的状态。监控状态(Monitor)指可用性管理模块监控服务组合执行引擎的错误事件和用户反馈信息的状态。处于等待状态的可用性管理模块由定时触发事件触发,进入检测状态,运行检测算法,如果被检测的服务状态没有变化,则由检测状态回到等待状态,等待其他事件触发;如果服务可用状态发生变化,则触发进入通知修复状态,通知冗余服务优化部件和构件服务管理部件查找并选择新服务替换失效的构件服务,通知完成信息返回后,重新回到等待状态,等待其他事件触发。可用性管理模块还接收执行引擎的出错信息,以及服务信息管理器统计的其它用户的反馈信息。接收到出错信息后,由监控状态进入通知修复状态,实施失效服务的更换,通知完成后返回等待状态。接收到反馈信息,由监控状态进入检测状态,检测用户关于服务失效的信息是否属实,完成后返回等待状态。
以上对本发明所述的基于冗余机制的高可用服务组合实现方法进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
Claims (5)
1.一种基于冗余机制的高可用服务组合实现方法,其特征在于:
(1)排除可用度不满足基本要求的服务;
(2)排序、选择可用性和价格比值最好的服务作为每个活动的第一个服务;
(3)计算服务组合的可用度值和花费,计算选择因子并选该值最大的服务添加到相应的活动上;
(4)如果添加后违反约束,则取消最后选的服务,添加选择因子次之的服务;如果未违反约束,则迭代继续选择选择因子最大的服务添加到所述活动上;
(5)所述活动接收到服务请求后,采用主动冗余方式进行响应,并运行后续的服务。
4.如权利要求1所述的基于冗余机制的高可用服务组合实现方法,其特征在于:
所述步骤(5)中,在运行后续的服务时,处于等待状态的可用性管理模块由定时触发事件触发,进入检测状态;
如果被检测的服务状态没有变化,则由检测状态回到等待状态,等待其他事件触发;
如果服务可用状态发生变化,则触发进入通知修复状态,通知冗余服务优化部件和构件服务管理部件查找并选择新服务替换失效的构件服务;
通知完成信息返回后,重新回到等待状态,等待其他事件触发。
5.如权利要求1所述的基于冗余机制的高可用服务组合实现方法,其特征在于:
所述步骤(5)中,在运行后续的服务时,可用性管理模块接收执行引擎的出错信息和服务信息管理器统计的其它用户的反馈信息;
所述可用性管理模块接收到所述出错信息后,由监控状态进入通知修复状态以实施失效服务的更换,通知完成信息返回后回到等待状态;
所述可用性管理模块接收到所述反馈信息后,由监控状态进入检测状态,检测用户关于服务失效的信息是否属实,完成后回到等待状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100563400A CN101488843A (zh) | 2008-01-16 | 2008-01-16 | 一种基于冗余机制的高可用服务组合实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100563400A CN101488843A (zh) | 2008-01-16 | 2008-01-16 | 一种基于冗余机制的高可用服务组合实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101488843A true CN101488843A (zh) | 2009-07-22 |
Family
ID=40891538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100563400A Pending CN101488843A (zh) | 2008-01-16 | 2008-01-16 | 一种基于冗余机制的高可用服务组合实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101488843A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015052722A1 (en) * | 2013-10-09 | 2015-04-16 | Hewlett-Packard Development Company, L.P. | Information technology resource planning |
CN106161417A (zh) * | 2015-06-01 | 2016-11-23 | 上海红神信息技术有限公司 | 一种异构功能等价体调度装置及其方法 |
CN106161419A (zh) * | 2015-06-01 | 2016-11-23 | 上海红神信息技术有限公司 | 一种异构功能等价体同步装置 |
CN106161418A (zh) * | 2015-06-01 | 2016-11-23 | 上海红神信息技术有限公司 | 一种异构功能等价体输出服务响应的装置及方法 |
CN109344013A (zh) * | 2018-10-25 | 2019-02-15 | 龚玉环 | 一种基于多模冗余的云服务可靠性优化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135628A1 (en) * | 2002-01-15 | 2003-07-17 | International Business Machines Corporation | Provisioning aggregated services in a distributed computing environment |
CN1588941A (zh) * | 2004-07-06 | 2005-03-02 | 中国科学院计算技术研究所 | 网络环境下适应性服务连接器及连接方法 |
CN1972217A (zh) * | 2005-10-04 | 2007-05-30 | 阿尔卡特公司 | 组合通信服务中分层通信服务的管理 |
CN101067843A (zh) * | 2006-05-04 | 2007-11-07 | Sap股份公司 | 用于处理自动识别数据的系统和方法 |
-
2008
- 2008-01-16 CN CNA2008100563400A patent/CN101488843A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135628A1 (en) * | 2002-01-15 | 2003-07-17 | International Business Machines Corporation | Provisioning aggregated services in a distributed computing environment |
CN1588941A (zh) * | 2004-07-06 | 2005-03-02 | 中国科学院计算技术研究所 | 网络环境下适应性服务连接器及连接方法 |
CN1972217A (zh) * | 2005-10-04 | 2007-05-30 | 阿尔卡特公司 | 组合通信服务中分层通信服务的管理 |
CN101067843A (zh) * | 2006-05-04 | 2007-11-07 | Sap股份公司 | 用于处理自动识别数据的系统和方法 |
Non-Patent Citations (1)
Title |
---|
李扬 等: "《一个基于服务层叠网的分层服务组合框架》", 《软件学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015052722A1 (en) * | 2013-10-09 | 2015-04-16 | Hewlett-Packard Development Company, L.P. | Information technology resource planning |
CN106161417A (zh) * | 2015-06-01 | 2016-11-23 | 上海红神信息技术有限公司 | 一种异构功能等价体调度装置及其方法 |
CN106161419A (zh) * | 2015-06-01 | 2016-11-23 | 上海红神信息技术有限公司 | 一种异构功能等价体同步装置 |
CN106161418A (zh) * | 2015-06-01 | 2016-11-23 | 上海红神信息技术有限公司 | 一种异构功能等价体输出服务响应的装置及方法 |
CN106161418B (zh) * | 2015-06-01 | 2019-04-30 | 上海红神信息技术有限公司 | 一种异构功能等价体输出服务响应的装置及方法 |
CN106161419B (zh) * | 2015-06-01 | 2019-05-14 | 上海红神信息技术有限公司 | 一种异构功能等价体同步装置 |
CN106161417B (zh) * | 2015-06-01 | 2019-05-14 | 上海红神信息技术有限公司 | 一种异构功能等价体调度装置及其方法 |
CN109344013A (zh) * | 2018-10-25 | 2019-02-15 | 龚玉环 | 一种基于多模冗余的云服务可靠性优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7788375B2 (en) | Coordinating the monitoring, management, and prediction of unintended changes within a grid environment | |
CN101946258B (zh) | 基于计算机的业务过程在专用硬件上的基于模型的部署 | |
Gomaa et al. | Software adaptation patterns for service-oriented architectures | |
US20060150158A1 (en) | Facilitating overall grid environment management by monitoring and distributing grid activity | |
CN101120575B (zh) | 一种用于定位和选择服务以提供处理的方法和网络 | |
CN102509197B (zh) | 一种工作流管理系统及工作流管理方法 | |
CN109445802A (zh) | 基于容器的私有化Paas平台及其发布应用的方法 | |
CN101086778A (zh) | 用于在企业系统中提供策略层级结构的系统和方法 | |
KR100799775B1 (ko) | 무선 그리드 네트워크의 모바일 그리드 게이트웨이리플리케이션 시스템 및 그 방법 | |
CN101488843A (zh) | 一种基于冗余机制的高可用服务组合实现方法 | |
CN101820428A (zh) | 基于协议组合机制的组合服务优化方法和装置 | |
CN101860564A (zh) | 基于协议的服务组合系统和方法 | |
Qian et al. | A workflow-aided Internet of things paradigm with intelligent edge computing | |
CN102088475A (zh) | 控制流集中数据流分布的组合服务执行系统及执行方法 | |
CN107203421A (zh) | 一种云计算环境中自适应的组合工作流方法 | |
CN101697530B (zh) | 基于实时动态服务质量的服务管理系统 | |
Lin et al. | A cost-effective critical path approach for service priority selections in grid computing economy | |
He et al. | Monitoring resources allocation for service composition under different monitoring mechanisms | |
Du et al. | Research on service bus for distributed real-time control systems | |
KR100951093B1 (ko) | 복합 웹 서비스를 자기-치유하기 위한 장치 및 방법 | |
Haddad et al. | Response time analysis for composite Web services | |
CN100373883C (zh) | 网格服务组的建立方法及网格服务的发现方法 | |
Cao et al. | A dynamically self-configurable service process engine | |
Wei | [Retracted] Application of Wireless Sensor Network Computer Technology in Financial Management System | |
Qian et al. | Mobile-agent-based web service composition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20090722 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |