首页> 中国专利> 自适应组合服务优化方法和装置

自适应组合服务优化方法和装置

摘要

本发明提供一种自适应组合服务优化方法和装置。该方法包括:根据组合服务的历史执行记录获取组合服务的业务流程中的目标变迁和目标变迁路径,其中,目标变迁为影响可用性指标下降的变迁,目标变迁路径为执行频率最高的变迁路径;在目标变迁路径中截取包括所有目标变迁的基本变迁序列;根据业务流程中变迁之间的选择关系和并发关系扩展所述基本变迁序列,以获取冗余路径;将冗余路径添加到业务流程中。本发明的技术方案,由于采用了冗余处理这一演化策略,使演化逻辑与业务流程逻辑相互独立,既不影响原有业务流程的执行,保证了业务流程的正确性,又可以通过冗余处理来降低不可用的概率,从而提高组合服务整体的可用性。

著录项

  • 公开/公告号CN101776995A

    专利类型发明专利

  • 公开/公告日2010-07-14

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN201010033673.9

  • 发明设计人 李建欣;孙海龙;纪一鹏;曾晋;

    申请日2010-01-04

  • 分类号G06F9/44;

  • 代理机构北京同立钧成知识产权代理有限公司;

  • 代理人刘芳

  • 地址 100191 北京市海淀区学院路37号

  • 入库时间 2023-12-18 00:05:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-16

    未缴年费专利权终止 IPC(主分类):G06F9/44 授权公告日:20130213 终止日期:20170104 申请日:20100104

    专利权的终止

  • 2013-02-13

    授权

    授权

  • 2010-09-15

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20100104

    实质审查的生效

  • 2010-07-14

    公开

    公开

说明书

技术领域

本发明实施例涉及组合服务演化技术,尤其涉及一种自适应组合服务优化方法和装置。

背景技术

随着因特网(Internet)的广泛应用和网络技术的快速发展,面向服务的软件体系结构(Service Oriented Architecture,简称SOA)作为一种新型的网络化软件应用模式已经被工业界和学术界广为接受。所谓服务,即能够执行一项业务逻辑的软件实体,可以由网络侧提供。

特别的是,作为实现SOA的重要技术,Web服务极大地推动了SOA在电子商务、金融、电信等领域的应用。在实际应用中,单个的Web服务功能有限,往往难以满足复杂的业务需求,因此服务组合成为网络化软件开发的主要方法,基于这种方法所开发的软件在技术形态上体现为组合服务。目前,组合服务的实现方式已经被广泛研究,其中借鉴工作流技术,并以业务流程为核心的组合服务是主流的研究和实现方法。

由于软件本身和软件环境的复杂性日益增加,基于服务组合的网络化软件面临着很多挑战,特别是软件可信性保障成为一个重要的研究问题。通常,软件的可信性是指软件的行为、结果和用户的预期是一致的,其外延包括软件的可用性、可靠性、完整性、可维护性和可生存性等。因特网的开放性、分布自治性和无中心控制,以及软件系统本身的异构性和动态性等特征进一步增加了保障软件可信性的难度。特别是,受到应用需求、软件运行环境以及用户请求的动态变化的影响,网络化软件的功能和非功能属性是动态变化的。例如电子商务应用动态的增加新型的第三方支付服务、网络拥塞导致在线客户关系管理(Customer RelationshipManagement,简称CRM)系统执行效率降低等,仅仅依靠软件开发期模型分析、软件验证和测试等保障软件可信性的静态方法已经难以适应网络化软件的可信性保障需求,因此必须研究一种能够动态地保障网络化软件可信性的方法。

组合服务演化是指组合服务的业务流程结构可以根据应用需求和网络环境变化而进行动态调整,主要表现在其组件服务数目的可变性、结构关系的可调节性和结构形态的动态可配置性上。一般来说,业务流程结构调整和组件服务的选择是组合服务演化的两种主要形式。

当前对于组合服务演化的研究主要涉及以下方面:根据用户的需求自动化生成可执行的组合服务软件;组合服务运行时的动态演化技术;演化动作类别以及演化管理;支持业务过程动态演化的可反射框架,该框架利用反射机制来完成过程实例和过程定义的演化。当前比较主流的柔性工作流系统有“ADPET1”、“YAWL”、“FLOWer”和“Declare”,其中“ADEPT1”关注于流程的变化,“YAWL”注重设计和规范的变化,“FLOWer”关注实例操作的演化,“Declare”适合处理业务领域的变更。

上述研究成果的基本思想都是通过演化逻辑直接修改组合服务的业务逻辑。所谓演化逻辑,是指在原有组合服务上实施的演化操作的集合;所谓业务逻辑,是指业务流程定义或描述。但是,基于上述思想对组合服务部分组件进行了替换或迁移后,可能会破坏组合服务功能的正确性和一致性,一旦演化逻辑出现错误,整个组合服务也会执行失败。

如前所述,可信性作为软件的一个综合属性,具体表现为可用性、可靠性和响应时间等。传统的方法是在流程结构确定的情况下通过规划方法进行组件服务的选择以动态地保障组合服务的可信性,单纯依靠这种方法在某些情况下难以奏效。例如,在所有组件服务的可用性都很低的情况下,无法单一通过选择不同的组件服务来保障组合服务的整体可用性。因此,在保证组合服务演化正确性的基础上,如何通过动态演化保障组合服务的可信性是当前关注的热点问题之一。

发明内容

本发明实施例提供一种自适应组合服务优化方法和装置,以实现在保证组合服务演化正确性的基础上保障组合服务的可用性。

本发明实施例提供了一种自适应组合服务优化方法,包括:

步骤100、根据组合服务的历史执行记录获取所述组合服务的业务流程中的目标变迁和目标变迁路径,其中,所述目标变迁为影响可用性指标下降的变迁,所述目标变迁路径为执行频率达到设定门限值的变迁路径;

步骤200、在所述目标变迁路径中截取包括所有目标变迁的基本变迁序列;

步骤300、根据所述业务流程中变迁之间的选择关系和并发关系扩展所述基本变迁序列,以获取冗余路径;

步骤400、将所述冗余路径添加到所述业务流程中。

本发明实施例还提供了一种自适应组合服务优化装置,包括:

目标确定模块,用于根据组合服务的历史执行记录获取所述组合服务的业务流程中的目标变迁和目标变迁路径,其中,所述目标变迁为影响可用性指标下降的变迁,所述目标变迁路径为执行频率达到设定门限值的变迁路径;

基本变迁序列截取模块,用于在所述目标变迁路径中截取包括所有目标变迁的基本变迁序列;

冗余路径获取模块,用于根据所述业务流程中变迁之间的选择关系和并发关系扩展所述基本变迁序列,以获取冗余路径;

冗余路径添加模块,用于将所述冗余路径添加到所述业务流程中。

采用本发明的技术方案,基于目标变迁和目标变迁路径获取了基本变迁序列,而后基于基本变迁序列进行扩展使其成为合理的冗余路径,添加到业务流程中。通过对可用性影响大的变迁序列进行冗余处理,可以降低组合服务整体不可用的概率。并且,由于采用了冗余处理这一演化策略,对于原有的业务流程实际上没有进行改变,从而使演化逻辑与业务流程逻辑相互独立,既不影响原有业务流程的执行,保证了业务流程的正确性,又可以通过冗余处理来降低不可用的概率,从而提高组合服务整体的可用性。

附图说明

图1为包括选择结构的业务流程图;

图2为包括两组没有选择关系的不同选择结构的业务流程图;

图3为包括并发结构的业务流程图;

图4为本发明实施例提供的自适应组合服务优化方法的流程图;

图5为本发明实施例中的演化前业务流程图;

图6为本发明实施例中的演化后业务流程图;

图7为本发明实施例提供的自适应组合服务优化装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中,采用工作流语言描述组合服务的业务流程,一个组合服务的业务流程可以对应一个工作流网(WFN)模型,即每个业务流程可表示为WFN=(P,T,F,i,o,M0)。其中,P代表库所(Place)p的集合,例如{p1,p2,……,pn};T代表变迁(Transition)t的集合,例如{t1,t2,……,tn};F代表库所与变迁之间关系的集合,每个变迁都需要以特定的一个或几个库所为执行条件,基于这些库所完成变迁后又可以产生新的库所。库所与变迁之间关系的形式可以表示为<p1,t1>、<t1,p2>;i代表业务流程初始的库所;o代表业务流程终结的库所;M代表运行实例的状态,M的下标0代表业务流程的初始状态。

不同的业务流程设计使得每一次执行业务流程的运行实例可能经历不同的变迁路径。在业务流程中可能包括选择结构和并发结构。选择结构的业务流程图如图1所示,当变迁t1执行完成之后,可能产生库所p2或产生库所p5,相应地可能继续执行变迁t2和变迁t3,也可能执行变迁t4,由产生哪个库所来决定。t2和t3组成的分支变迁序列与t4的分支变迁序列分别为一个选择结构,互为选择关系。所以,图1所示的业务流程的运行实例有两种变迁路径的可能,即t1t2t3t5和t1t4t5。基于上述定义,图2为包括两组没有选择关系的不同选择结构的业务流程图。并发结构的业务流程图如图3所示,当产生一个有效的库所p2时,t2和t4均具备了执行条件,可以分别执行,其执行顺序不受限制,则变迁t2和变迁t3组成的分支变迁序列与变迁t4的分支变迁序列属于两个不同的并发结构。图3所示的业务流程的运行实例的变迁路径可以包括:t1t2t3t4t5、t1t2t4t3t5和t1t4t2t3t5,各个并发结构内的变迁顺序执行,并发结构之间的变迁的执行顺序不限。

对于一个合理的工作流网WFN=(P,T,F,i,o,M0),即能够正常执行的业务流程,从初始状态M0到终结状态Mend的变迁序列称作该工作流网上的一个变迁路径,记做tp,显然t p∈T*,其中,T*是T的闭包。另外,将WFN上所有可能的变迁路径的集合称为该工作流网的日志(Log),记作L。在工作流网WFN中存在如下定义:

在工作流网WFN的日志L中,设有两个变迁a和b,且a∈T,b∈T:

对于变迁路径tp=t1t2……tn∈L,若ti=a,tj=b,且j≥i+1,则称在变迁路径tp上变迁a是变迁b的前驱,或称变迁b是变迁a的后继,记作a>tpb,其中,i,j,n为自然数;

对日志L中的任意变迁路径tp∈L,若变迁路径tp同时包含变迁a和变迁b时都有a>tpb,则称在日志L上变迁a是变迁b的前驱,或称变迁b仅是变迁a的后继,记作a→Lb;

对于变迁路径tp,若日志L中存在另外的任一变迁路径tp′∈L,在变迁路径tp和tp′中使得a>tpb并且b>tp’a,则称在日志L上变迁a与变迁b是并发关系,记作a||Lb;如图3所示,t4||Lt2,以及t4||Lt3

对于日志L中的变迁a和变迁b,若在任意变迁路径tp∈L中,均存在变迁a和变迁不互为前驱后继的关系,即在任意变迁路径中a≯tpb并且b≯tpa,则称在日志L上变迁a与变迁b是选择关系,记作a#Lb。

本发明即基于上述业务流程所描述的组合服务实现,下面通过具体实施例详细描述。

图4为本发明实施例提供的自适应组合服务优化方法的流程图,该方法包括如下步骤:

步骤100、根据组合服务的历史执行记录获取组合服务的业务流程中的目标变迁和目标变迁路径,其中,目标变迁为影响可用性指标下降的变迁,目标变迁路径为执行频率达到设定门限值的变迁路径,通常可以根据组合服务的历史执行记录选择执行频率最高的变迁路径作为目标变迁路径;

步骤200、在目标变迁路径中截取包括所有目标变迁的基本变迁序列;

步骤300、根据业务流程中变迁之间的选择关系和并发关系扩展基本变迁序列,以获取冗余路径;

步骤400、将冗余路径添加到业务流程中。

采用本实施例的技术方案,基于目标变迁和目标变迁路径获取了基本变迁序列,实际上是对组合服务的可用性影响最显著的变迁序列。基于基本变迁序列进行扩展使其成为合理的冗余路径,而后添加到业务流程中,通过对可用性影响大的变迁序列进行冗余处理,可以降低组合服务整体不可用的概率。并且,由于采用了冗余处理这一演化策略,对于原有的业务流程实际上没有进行改变,不会由于演化而使得原有业务流程无法执行。从而使演化逻辑与业务流程逻辑相互独立,既不影响原有业务流程的执行,能够保证业务流程的正确性,又可以通过冗余处理来降低不可用的概率,从而提高组合服务整体的可用性。当某些服务组件提供的变迁可用性较低时,难以通过单纯的替换服务组件来提高可用性,本实施例的技术方案有效解决了这一问题。

下面对各步骤的优选执行方案分别进行介绍:

在步骤100中,影响可用性指标下降的变迁可以根据不同的需要采用多种方式获得,例如,某个业务流程执行了多次运行实例,其历史执行记录中会记录提供变迁的各个服务节点的出错情况,当某个变迁的出错次数达到设定门限值时即记为目标变迁。据此,步骤100中根据组合服务的历史执行记录获取组合服务的业务流程中的目标变迁的步骤具体包括:

在组合服务的历史执行记录中获取业务流程中各服务节点的出错计数值;

将出错计数值达到设定门限值的服务节点所执行的变迁记为目标变迁。

影响可用性指标下降或者称未达到预期可用性指标,其并不限于以出错次数或出错概率等参数来限定,通过对历史执行记录的不同分析策略,或按照特定的设计要求,可以确定一个或多个目标变迁,这些目标变迁就是影响组合服务整体可用性的较差服务组件。

目标变迁路径是根据历史执行记录得到的执行频率最高的变迁路径,由于运行实例的总量很大,因此通常目标变迁路径只有一条,本实施例首先以确定一条目标变迁路径为例进行说明,对于存在多条目标变迁路径的特殊情况,可以各自独立地扩展为冗余路径,对业务流程进行处理,而后可以根据具体运行情况或者通过分析来确定一条优选的冗余路径。

在步骤200中所截取的基本变迁序列ts,其首先是目标变迁路径的一部分,并且包括所有的目标变迁,即基本变迁序列ts以目标变迁为首、尾变迁,中间包括了所有其他的目标变迁和非目标变迁。例如,对于t1t2t3t4t5的目标变迁路径而言,当t2、t3和t5为目标变迁时,应该截取的基本变迁序列ts为t2t3t4t5,当t2和t4为目标变迁时,应该截取的基本变迁序列ts为t2t3t4,若只有一个目标变迁,则基本变迁序列ts即为该目标变迁本身。基本变迁序列ts包括了显著影响组合服务整体可用性的各个变迁。

具体应用中,若得到的基本变迁序列ts为空则无须增加冗余路径,若基本变迁序列ts仅包括一个变迁,其作为特殊情况将在后文进行介绍,本实施例中具体介绍基本变迁序列ts中的变迁为两个以上,即|ts|≥2的情况。

对于获得的基本变迁序列ts,可以认为其中变迁对应的部分服务组件可用性未达到预期值,导致整体组合服务可用性降低。但是,如果直接将基本变迁序列ts作为冗余路径ts′添加成为工作流子网则未必是合理的,这样演化将可能破坏原有组合服务的执行语义。上述工作流子网即工作流网的子集。因此,需要执行后续流程以确定能够作为合理工作流子网的冗余路径ts′。

在上述步骤300中,通过一定的演化策略生成了一个冗余路径ts′。根据基本变迁序列ts求解冗余路径ts′的过程就是一个对基本变迁序列ts进行扩展的过程,通过比较基本变迁序列ts中相邻两个变迁的关系来进行扩展。由于基本变迁序列ts是一个有向序列,因此可包括正向扩展和逆向扩展。首先是正向扩展,具体包括下述步骤:

在基本变迁序列ts中,当比较得出与第一被比变迁tm存在并发关系的变迁集合Set1和与第二被比变迁tm+1存在并发关系的变迁集合Set2不相同时,说明相邻的第一被比变迁tm和第二被比变迁tm+1属于两个不同的并发结构,则将第一被比变迁tm和第二被比变迁tm+1所在的两个并发结构中的变迁以及并发结构的开始变迁和汇合变迁均添加至基本变迁序列ts中。上述下标m为自然数,且m从1递增至基本变迁序列ts中的变迁个数最大值减一。

如图3所示,假设确定的基本变迁序列ts=t2t4。则从第一个变迁t2作为第一被比变迁开始比较,此时t4作为第二被比变迁,与变迁t2存在并发关系的变迁集合包括t4,与变迁t4存在并发关系的变迁集合包括t2和t3。显然两个变迁集合不相同,则将t2所在并发结构中的变迁t3添加至基本变迁序列ts中,t4所在并发结构没有其他变迁就无须添加。另外,变迁t1该两个并发结构的开始变迁,变迁t5为两个并发结构的汇合变迁,也应该添加至基本变迁序列ts中,扩展后的基本变迁序列ts为t1t2t3t4t5。若该基本变迁序列ts中还有其他变迁,均可以按照上述方式逐一、顺序的比较和扩展。

在基本变迁序列ts中,当比较得出与第三被比变迁tk存在选择关系的变迁集合Set3和与第四被比变迁tk+1存在选择关系的变迁集合Set4不相同时,说明相邻的第三被比变迁tk和第四被比变迁tk+1属于不同的选择结构,则将第三被比变迁tk和第四被比变迁tk+1所在的两个选择结构中的变迁添加至基本变迁序列ts中。上述下标k为自然数,且k从1递增至基本变迁序列中的变迁个数最大值减一。

如图2所示,假设确定的基本变迁序列ts=t3t5t6t8。则从第一个变迁t3作为第三被比变迁tk开始比较,此时t5作为第二被比变迁tk+1,与变迁t3存在选择关系的变迁集合包括t4,与变迁t5存在并发关系的变迁集合为空。显然两个变迁集合不相同,则将t3所在选择结构中的变迁t2添加至基本变迁序列ts中。当比较t5和t6时,其存在并发关系的变迁集合均为空,无须添加。当比较变迁t6和t8时,与变迁t6存在选择关系的变迁集合为空,与t8存在选择关系的变迁集合为t7,t8所在选择结构中无其他变迁,不需进行添加。该基本变迁序列ts中的变迁,可以按照上述方式逐一、顺序的比较和扩展。采用上述比较方式来进行扩展可以避免增加不同选择结构中的冗余变迁,若基本变迁序列ts=t2t3t5t6t8,如果不通过比较而直接将变迁所在选择结构中的其他变迁引入冗余路径中,则t2所在选择结构包括的变迁为t3,需要引入冗余路径;t3所在选择结构包括的变迁为t2,需要引入冗余路径。这样扩展后则重复引入了t2和t3,增加了相同的冗余节点。经过上述比较之后,由于与变迁t2和t3存在选择关系的变迁集合均为t4,是相同的变迁集合,所以不需要引入该变迁所在选择结构内的变迁,不会发生引入相同变迁的情况。

类似的对基本变迁序列ts进行关于并发结构和选择结构的逆向扩展,逆向扩展的方法与正向扩展的方法一致,区别在于,上述m和k从基本变迁序列中的变迁个数最大值递减至2。

正向扩展和逆向扩展可以分别进行,得到正向扩展变迁序列tsFORWARD和逆向扩展变迁序列tsBACKWARD,而后将两者合并即可得到冗余路径。经过上述的添加变迁操作和合并变迁序列的操作,所得到的冗余路径中各变迁的顺序与目标变迁路径变迁的顺序一致,或者说,在进行添加和合并操作时依据目标变迁路径中的变迁顺序进行添加和合并。

采用上述具体实现方案可以确定合适的冗余路径ts′,即求解出的是一个最小的合理变迁序列作为冗余路径ts′,使得冗余路径ts′包含的变迁在工作流网WFN中能够组成一个合理的子工作流网WFN′。

前述提及的基本变迁序列ts仅包括一个变迁的特殊情况,没有可比较的相邻变迁,可以直接将基础变迁序列ts作为冗余路径。

在上述步骤400中,将冗余路径ts′添加到业务流程中即是对业务流程进行冗余处理。步骤400可以基于面向方面编程(Aspect OrientedProgramming,简称AOP)技术,采用静态横切将冗余路径添加到业务流程中来修改业务流程的工作流网,或采用动态横切将冗余路径添加到业务流程的运行实例中以继续执行运行实例。

由于在业务流程中的各变迁均设置有对应的唯一标识,本实施例可以利用此标识进行冗余处理,采用动态横切将冗余路径添加到业务流程的运行实例中以继续执行运行实例具体可以执行下述操作:

在业务流程的运行实例执行过程中,当识别到当前待执行变迁的标识与冗余路径中起始变迁的标识一致时,基于当前待执行变迁的库所同时执行当前待执行变迁和冗余路径的起始变迁。

以图5和图6所示的业务流程为例进行说明,假设演化前业务流程如图5所示,经分析历史执行记录可确定目标变迁和目标变迁路径,进而确定出基础变迁序列,再扩展为冗余路径。假设扩展得到的冗余路径为ts′为t5t6t7t8t9,变迁t5作为冗余路径的起始变迁,应作为切入点,演化后业务流程如图6所示。在运行实例的执行过程中,当进行到变迁t5时,则基于变迁t5的库所p6同时执行原变迁t5和冗余路径的启示变迁t5。由于p6为变迁t5提供了执行的条件,所以原业务流程的路径和冗余路径ts′可以同时执行。当执行至变迁t9时,无论原业务流程和冗余路径中的哪个t9先执行完,都会形成有效的库所p10,只要形成了库所p10,运行实例就会继续进行下去,或者如图6所示该运行实例即正常结束,无须等待另一条路径执行完。上述结构区别于并发结构和选择结构,属于竞争结构,即起始时可以同时发起执行,但是以任一条路径的执行完成来结束。由此也可以看出,本实施例的方法可以降低不可用发生的概率,提高组合服务的整体可用性。

上述技术方案采用了基于AOP的思想来完成冗余处理。AOP的主要作用是分离关注点,将独立的功能封装在方面(Aspect)中,在运行时将方面的功能动态织入(Weave)到原有的执行流程中,而方面中的切入点(Pointcut)指定了织入的规则。演化逻辑对于业务逻辑来说,可以作为一个典型的横切关注点。AOP提供两种横切执行:静态横切和动态横切。静态横切允许通过引入附加的方法和属性来修改对象的结构;动态横切可以在运行时为一个执行点定义其他行为。

本实施例上述给出的在运行实例中插入冗余路径的方式即为动态横切。如果业务流程在创建时(Entry-time)就需要进行演化,那么可以采用静态横切对业务流程的工作流网定义进行修改;如果业务流程在运行时(on-the-fly)需要进行演化,则可以采用上述动态横切进行处理,根据标识来织入冗余路径。

为业务流程添加冗余路径实际上就是一种演化逻辑,为了将这种演化逻辑抽象为独立的过程,避免直接在业务逻辑中对演化逻辑进行描述,本发明实施例采用了上述特定的演化策略来定义演化逻辑。采用算法来实现演化策略时,具体可以定义该演化策略包含操作元语和演化动作,业务人员通过操作元语指定演化策略,完成演化策略中定义的所有演化动作,进行冗余操作的竞争策略定义如下:

任何一个活动A均可以对其进行冗余操作,并形成竞争结构,记作A′,操作元语为:“competition”,演化动作为复制活动A中的所有信息形成活动A′,在活动A和A′前添加一个并发分支节点,并将活动A和A′作为该分支节点的后继,同时在活动A和A′之后添加一个选择聚合节点。

采用可扩展标记语言(Extensible Markup Language,简称XML)规范定义演化逻辑的配置文件,用以将与演化逻辑相关的部分独立出来,其中,演化(evolution)元素的模式(mode)属性用来选择演化的方式;相关节点(relatedNode)属性描述了演化逻辑织入的位置,策略(policy)属性定义了演化策略。在实施演化时首先要判断演化的类型,若是静态横切“Entry-time”,则运行实例创建时流程定义将会被演化,而若是动态横切“on-the-fly”则在运行实例的执行期间找到可以织入演化逻辑的活动的标识(id),将其作为一个切入点(pointcut)织入演化逻辑。

由于采用了AOP技术,演化逻辑与业务逻辑是完全独立的,可以在流程执行期间改变演化的逻辑,而不必中止流程的执行,使流程执行更具灵活性。一旦演化逻辑存在问题,也不会影响到原有的流程定义,只需修改演化逻辑,使流程执行更具稳定性和可靠性

本发明实施例的技术方案将冗余路径与原有组合服务的一个合理子流程进行选择增加操作得到新的组合服务业务流程结构,最后利用经典的规划方法重新选择组件服务。本发明采用了错误处理技术以及AOP技术,通过增加冗余路径自适应地来提高组合服务的可用性。本发明所提出的自适应组合服务优化方法,将流程演化逻辑和流程业务逻辑分解为两个正交的需求,对业务流程进行演化时并没有对原有业务流程进行改变,流程建模人员能够自由定义演化的方式而不影响到原有的组合服务业务流程。基于AOP技术,业务人员也可动态地决定是否对一个业务流程或一个运行实例织入(Weave)一个演化逻辑。

根据上述方法流程,若采用具体算法来实现上述方法,需要作为输入的数据包括:描述一个组合服务业务流程结构的合理工作流网WFNO、经过对历史执行记录分析后得到的执行频率最高的目标变迁路径tp和影响可用性指标下降的目标变迁的集合S。经过算法执行后输出的数据是:经过演化后增加了冗余路径的新组合服务的工作流网WFNN

本发明所提供的面向可用性保障的自适应组合服务优化方法,可以看作是对传统基于规划的服务组合方法的延伸和优化,提供了合理性保持的竞争演化操作,通过历史执行记录确定组合服务中对可用性影响较大的活动,根据已有组合服务的历史执行记录和逻辑结构自动化生成一个合适的组件服务冗余路径,该冗余路径的加入不影响原有组合服务的合理性和功能性。

图7为本发明实施例提供的自适应组合服务优化装置的结构示意图,该装置可以执行本发明实施例所提供的自适应组合服务优化方法的技术方案,具体如下功能模块:目标确定模块10、基本变迁序列截取模块20、冗余路径获取模块30和冗余路径添加模块40。其中,目标确定模块10用于根据组合服务的历史执行记录获取组合服务的业务流程中的目标变迁和目标变迁路径,其中,目标变迁为影响可用性指标下降的变迁,目标变迁路径为执行频率达到设定门限值的变迁路径,通常选择执行频率最高的变迁路径为目标变迁路径;基本变迁序列截取模块20用于在目标变迁路径中截取包括所有目标变迁的基本变迁序列;冗余路径获取模块30用于根据业务流程中变迁之间的选择关系和并发关系扩展基本变迁序列,以获取冗余路径;冗余路径添加模块40,用于将冗余路径添加到业务流程中。

在本实施例中,冗余路径获取模块30具体可以包括:并发关系处理单元31、选择关系处理单元32和合并处理单元33。其中,并发关系处理单元31用于在基本变迁序列中,当比较得出与第一被比变迁tm存在并发关系的变迁集合和与第二被比变迁tm+1存在并发关系的变迁集合不相同时,将第一被比变迁tm和第二被比变迁tm+1所在的两个并发结构中的变迁以及并发结构的开始变迁和汇合变迁均添加至基本变迁序列中;选择关系处理单元32用于在基本变迁序列中,当比较得出与第三被比变迁tk存在选择关系的变迁集合和与第四被比变迁tk+1存在选择关系的变迁集合不相同时,将第三被比变迁tk和第四被比变迁tk+1所在的两个选择结构中的变迁添加至基本变迁序列中;在并发关系处理单元和选择关系处理单元中,下标m和k为自然数,分别按照m和k从1递增至基本变迁序列中的变迁个数最大值减一的顺序来逐一且顺序执行上述操作,以得到正向扩展变迁序列,分别按照m和k从基本变迁序列中的变迁个数最大值递减至2的顺序来逐一且顺序执行上述操作,以得到逆向扩展变迁序列;合并处理单元33用于将并发关系处理单元和选择关系处理单元产生的正向扩展变迁序列和逆向扩展变迁序列进行合并,以得到冗余路径。

冗余路径添加模块40具体可以包括:识别单元41和添加单元42。识别单元41用于在业务流程的运行实例执行过程中,识别当前待执行变迁的标识与冗余路径中起始变迁的标识是否一致;添加单元42当识别单元41识别到一致的标识时,基于当前待执行变迁的库所同时执行当前待执行变迁和冗余路径的起始变迁。

本发明的技术方案,由于采用了冗余处理这一演化策略,使演化逻辑与业务流程逻辑相互独立,既不影响原有业务流程的执行,保证了业务流程的正确性,又可以通过冗余处理来降低不可用的概率,从而提高组合服务整体的可用性。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号