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

文档序号:6597415阅读:141来源:国知局
专利名称:自适应组合服务优化方法和装置的制作方法
技术领域
本发明实施例涉及组合服务演化技术,尤其涉及一种自适应组合服务优化方法和
装置。
背景技术
随着因特网(Internet)的广泛应用和网络技术的快速发展,面向服务的软件体 系结构(Service Oriented Architecture,简称SOA)作为一种新型的网络化软件应用模式 已经被工业界和学术界广为接受。所谓服务,即能够执行一项业务逻辑的软件实体,可以由 网络侧提供。 特别的是,作为实现SOA的重要技术,Web服务极大地推动了 SOA在电子商务、金 融、电信等领域的应用。在实际应用中,单个的Web服务功能有限,往往难以满足复杂的业 务需求,因此服务组合成为网络化软件开发的主要方法,基于这种方法所开发的软件在技 术形态上体现为组合服务。目前,组合服务的实现方式已经被广泛研究,其中借鉴工作流技 术,并以业务流程为核心的组合服务是主流的研究和实现方法。 由于软件本身和软件环境的复杂性日益增加,基于服务组合的网络化软件面临着
很多挑战,特别是软件可信性保障成为一个重要的研究问题。通常,软件的可信性是指软
件的行为、结果和用户的预期是一致的,其外延包括软件的可用性、可靠性、完整性、可维护
性和可生存性等。因特网的开放性、分布自治性和无中心控制,以及软件系统本身的异构
性和动态性等特征进一步增加了保障软件可信性的难度。特别是,受到应用需求、软件运
行环境以及用户请求的动态变化的影响,网络化软件的功能和非功能属性是动态变化的。
例如电子商务应用动态的增加新型的第三方支付服务、网络拥塞导致在线客户关系管理
(Customer RelationshipManagement,简称CRM)系统执行效率降低等,仅仅依靠软件开发
期模型分析、软件验证和测试等保障软件可信性的静态方法已经难以适应网络化软件的可
信性保障需求,因此必须研究一种能够动态地保障网络化软件可信性的方法。 组合服务演化是指组合服务的业务流程结构可以根据应用需求和网络环境变化
而进行动态调整,主要表现在其组件服务数目的可变性、结构关系的可调节性和结构形态
的动态可配置性上。 一般来说,业务流程结构调整和组件服务的选择是组合服务演化的两
种主要形式。 当前对于组合服务演化的研究主要涉及以下方面根据用户的需求自动化生成可 执行的组合服务软件;组合服务运行时的动态演化技术;演化动作类别以及演化管理;支 持业务过程动态演化的可反射框架,该框架利用反射机制来完成过程实例和过程定义的演 化。当前比较主流的柔性工作流系统有"ADPETl"、"YAWL"、"FLOWer"和"Declare",其中 "ADEPT 1"关注于流程的变化,"YAWL"注重设计和规范的变化,"FL0Wer"关注实例操作的演 化,"Declare"适合处理业务领域的变更。 上述研究成果的基本思想都是通过演化逻辑直接修改组合服务的业务逻辑。所谓 演化逻辑,是指在原有组合服务上实施的演化操作的集合;所谓业务逻辑,是指业务流程定移后,可能会破坏组合 服务功能的正确性和一致性, 一旦演化逻辑出现错误,整个组合服务也会执行失败。
如前所述,可信性作为软件的一个综合属性,具体表现为可用性、可靠性和响应时 间等。传统的方法是在流程结构确定的情况下通过规划方法进行组件服务的选择以动态地 保障组合服务的可信性,单纯依靠这种方法在某些情况下难以奏效。例如,在所有组件服务 的可用性都很低的情况下,无法单一通过选择不同的组件服务来保障组合服务的整体可用 性。因此,在保证组合服务演化正确性的基础上,如何通过动态演化保障组合服务的可信性 是当前关注的热点问题之一。

发明内容
本发明实施例提供一种自适应组合服务优化方法和装置,以实现在保证组合服务 演化正确性的基础上保障组合服务的可用性。 本发明实施例提供了一种自适应组合服务优化方法,包括 步骤100、根据组合服务的历史执行记录获取所述组合服务的业务流程中的目标 变迁和目标变迁路径,其中,所述目标变迁为影响可用性指标下降的变迁,所述目标变迁路 径为执行频率达到设定门限值的变迁路径; 步骤200、在所述目标变迁路径中截取包括所有目标变迁的基本变迁序列;
步骤300、根据所述业务流程中变迁之间的选择关系和并发关系扩展所述基本变 迁序列,以获取冗余路径; 步骤400、将所述冗余路径添加到所述业务流程中。 本发明实施例还提供了一种自适应组合服务优化装置,包括 目标确定模块,用于根据组合服务的历史执行记录获取所述组合服务的业务流程 中的目标变迁和目标变迁路径,其中,所述目标变迁为影响可用性指标下降的变迁,所述目 标变迁路径为执行频率达到设定门限值的变迁路径; 基本变迁序列截取模块,用于在所述目标变迁路径中截取包括所有目标变迁的基 本变迁序列; 冗余路径获取模块,用于根据所述业务流程中变迁之间的选择关系和并发关系扩 展所述基本变迁序列,以获取冗余路径; 冗余路径添加模块,用于将所述冗余路径添加到所述业务流程中。 采用本发明的技术方案,基于目标变迁和目标变迁路径获取了基本变迁序列,而
后基于基本变迁序列进行扩展使其成为合理的冗余路径,添加到业务流程中。通过对可用
性影响大的变迁序列进行冗余处理,可以降低组合服务整体不可用的概率。并且,由于采用 了冗余处理这一演化策略,对于原有的业务流程实际上没有进行改变,从而使演化逻辑与 业务流程逻辑相互独立,既不影响原有业务流程的执行,保证了业务流程的正确性,又可以 通过冗余处理来降低不可用的概率,从而提高组合服务整体的可用性。


图1为包括选择结构的业务流程图; 图2为包括两组没有选择关系的不同选择结构的业务流程 图3为包括并发结构的业务流程图; 图4为本发明实施例提供的自适应组合服务优化方法的流程图;
图5为本发明实施例中的演化前业务流程图;
图6为本发明实施例中的演化后业务流程图; 图7为本发明实施例提供的自适应组合服务优化装置的结构示意图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,采用工作流语言描述组合服务的业务流程,一个组合服务的 业务流程可以对应一个工作流网(WFN)模型,即每个业务流程可表示为WFN二 (P,T,F,i,o, M。)。其中,P代表库所(Place)p的集合,例如{Pl,p2, ,pn} ;T代表变迁(Transition)
t的集合,例如{tpty……,tn} ;F代表库所与变迁之间关系的集合,每个变迁都需要以特 定的一个或几个库所为执行条件,基于这些库所完成变迁后又可以产生新的库所。库所与
变迁之间关系的形式可以表示为〈Pl, t,、〈tpp, ;i代表业务流程初始的库所;O代表业务
流程终结的库所;M代表运行实例的状态,M的下标0代表业务流程的初始状态。
不同的业务流程设计使得每一次执行业务流程的运行实例可能经历不同的变迁 路径。在业务流程中可能包括选择结构和并发结构。选择结构的业务流程图如图l所示, 当变迁^执行完成之后,可能产生库所p2或产生库所p5,相应地可能继续执行变迁t2和变 迁t3,也可能执行变迁t4,由产生哪个库所来决定。t2和t3组成的分支变迁序列与t4的分 支变迁序列分别为一个选择结构,互为选择关系。所以,图l所示的业务流程的运行实例有 两种变迁路径的可能,即^t^^5和^t4t5。基于上述定义,图2为包括两组没有选择关系的 不同选择结构的业务流程图。并发结构的业务流程图如图3所示,当产生一个有效的库所 p2时,t2和t4均具备了执行条件,可以分别执行,其执行顺序不受限制,则变迁t2和变迁t3 组成的分支变迁序列与变迁t4的分支变迁序列属于两个不同的并发结构。图3所示的业 务流程的运行实例的变迁路径可以包括" 5、、、、、、禾口 1 5,各个并发结构 内的变迁顺序执行,并发结构之间的变迁的执行顺序不限。 对于一个合理的工作流网WFN = (P, T, F, i, o, M。),即能够正常执行的业务流程,
从初始状态M。到终结状态Mend的变迁序列称作该工作流网上的一个变迁路径,记做tp,显
然t p G T气其中,W是T的闭包。另外,将WFN上所有可能的变迁路径的集合称为该工作
流网的日志(Log),记作L。在工作流网WFN中存在如下定义 在工作流网WFN的日志L中,设有两个变迁a和b,且aGT,bGT: 对于变迁路径tp = t山 tn G L,若ti = a, tj = b,且j > i+l,则称在变迁路
径tp上变迁a是变迁b的前驱,或称变迁b是变迁a的后继,记作a > tpb,其中,i, j, n为 自然数; 对日志L中的任意变迁路径tp G L,若变迁路径tp同时包含变迁a和变迁b时 都有a > tDb,则称在日志L上变迁a是变迁b的前驱,或称变迁b仅是变迁a的后继,记作a — Lb 5 对于变迁路径tp,若日志L中存在另外的任一变迁路径tp' G L,在变迁路径tp 和tp '中使得a > tpb并且b > tp, a,则称在日志L上变迁a与变迁b是并发关系,记作 a I |》;如图3所示,tJ |^2,以及^| |山。 对于日志L中的变迁a和变迁b ,若在任意变迁路径tp G L中,均存在变迁a和变 迁不互为前驱后继的关系,即在任意变迁路径中a ^ tpb并且b ^ tpa,则称在日志L上变迁 a与变迁b是选择关系,记作a#》。 本发明即基于上述业务流程所描述的组合服务实现,下面通过具体实施例详细描 述。 图4为本发明实施例提供的自适应组合服务优化方法的流程图,该方法包括如下 步骤 步骤100、根据组合服务的历史执行记录获取组合服务的业务流程中的目标变迁 和目标变迁路径,其中,目标变迁为影响可用性指标下降的变迁,目标变迁路径为执行频率 达到设定门限值的变迁路径,通常可以根据组合服务的历史执行记录选择执行频率最高的 变迁路径作为目标变迁路径; 步骤200、在目标变迁路径中截取包括所有目标变迁的基本变迁序列; 步骤300、根据业务流程中变迁之间的选择关系和并发关系扩展基本变迁序列,以
获取冗余路径; 步骤400、将冗余路径添加到业务流程中。 采用本实施例的技术方案,基于目标变迁和目标变迁路径获取了基本变迁序列,
实际上是对组合服务的可用性影响最显著的变迁序列。基于基本变迁序列进行扩展使其成
为合理的冗余路径,而后添加到业务流程中,通过对可用性影响大的变迁序列进行冗余处
理,可以降低组合服务整体不可用的概率。并且,由于采用了冗余处理这一演化策略,对于
原有的业务流程实际上没有进行改变,不会由于演化而使得原有业务流程无法执行。从而
使演化逻辑与业务流程逻辑相互独立,既不影响原有业务流程的执行,能够保证业务流程
的正确性,又可以通过冗余处理来降低不可用的概率,从而提高组合服务整体的可用性。当
某些服务组件提供的变迁可用性较低时,难以通过单纯的替换服务组件来提高可用性,本
实施例的技术方案有效解决了这一 问题。 下面对各步骤的优选执行方案分别进行介绍 在步骤100中,影响可用性指标下降的变迁可以根据不同的需要采用多种方式获 得,例如,某个业务流程执行了多次运行实例,其历史执行记录中会记录提供变迁的各个服 务节点的出错情况,当某个变迁的出错次数达到设定门限值时即记为目标变迁。据此,步骤 100中根据组合服务的历史执行记录获取组合服务的业务流程中的目标变迁的步骤具体包 括 在组合服务的历史执行记录中获取业务流程中各服务节点的出错计数值; 将出错计数值达到设定门限值的服务节点所执行的变迁记为目标变迁。 影响可用性指标下降或者称未达到预期可用性指标,其并不限于以出错次数或出
错概率等参数来限定,通过对历史执行记录的不同分析策略,或按照特定的设计要求,可以
确定一个或多个目标变迁,这些目标变迁就是影响组合服务整体可用性的较差服务组件。
目标变迁路径是根据历史执行记录得到的执行频率最高的变迁路径,由于运行实 例的总量很大,因此通常目标变迁路径只有一条,本实施例首先以确定一条目标变迁路径 为例进行说明,对于存在多条目标变迁路径的特殊情况,可以各自独立地扩展为冗余路径, 对业务流程进行处理,而后可以根据具体运行情况或者通过分析来确定一条优选的冗余路径。 在步骤200中所截取的基本变迁序列ts,其首先是目标变迁路径的一部分,并且 包括所有的目标变迁,即基本变迁序列ts以目标变迁为首、尾变迁,中间包括了所有其他 的目标变迁和非目标变迁。例如,对于^t^^Js的目标变迁路径而言,当t2、t3和t5为目标 变迁时,应该截取的基本变迁序列ts为t2t3t4t5,当t2和t4为目标变迁时,应该截取的基本
变迁序列tS为t^3t4,若只有一个目标变迁,则基本变迁序列tS即为该目标变迁本身。基 本变迁序列ts包括了显著影响组合服务整体可用性的各个变迁。 具体应用中,若得到的基本变迁序列ts为空则无须增加冗余路径,若基本变迁序 列ts仅包括一个变迁,其作为特殊情况将在后文进行介绍,本实施例中具体介绍基本变迁 序列ts中的变迁为两个以上,S卩Its I > 2的情况。 对于获得的基本变迁序列ts,可以认为其中变迁对应的部分服务组件可用性未达 到预期值,导致整体组合服务可用性降低。但是,如果直接将基本变迁序列ts作为冗余路 径ts'添加成为工作流子网则未必是合理的,这样演化将可能破坏原有组合服务的执行语 义。上述工作流子网即工作流网的子集。因此,需要执行后续流程以确定能够作为合理工 作流子网的冗余路径ts'。 在上述步骤300中,通过一定的演化策略生成了一个冗余路径ts'。根据基本变 迁序列ts求解冗余路径ts'的过程就是一个对基本变迁序列ts进行扩展的过程,通过比 较基本变迁序列ts中相邻两个变迁的关系来进行扩展。由于基本变迁序列ts是一个有向 序列,因此可包括正向扩展和逆向扩展。首先是正向扩展,具体包括下述步骤
在基本变迁序列ts中,当比较得出与第一被比变迁tm存在并发关系的变迁集合 Se^和与第二被比变迁tm+1存在并发关系的变迁集合Set2不相同时,说明相邻的第一被比 变迁tm和第二被比变迁tm+1属于两个不同的并发结构,则将第一被比变迁tm和第二被比变 迁t^所在的两个并发结构中的变迁以及并发结构的开始变迁和汇合变迁均添加至基本变 迁序列ts中。上述下标m为自然数,且m从1递增至基本变迁序列ts中的变迁个数最大 值减一。 如图3所示,假设确定的基本变迁序列ts = t2t4。则从第一个变迁^作为第一被 比变迁开始比较,此时t4作为第二被比变迁,与变迁t2存在并发关系的变迁集合包括t4,与 变迁t4存在并发关系的变迁集合包括t2和t3。显然两个变迁集合不相同,则将t2所在并 发结构中的变迁t3添加至基本变迁序列ts中,t4所在并发结构没有其他变迁就无须添加。 另外,变迁^该两个并发结构的开始变迁,变迁t5为两个并发结构的汇合变迁,也应该添加
至基本变迁序列tS中,扩展后的基本变迁序列tS为ti^^^t^若该基本变迁序列tS中还
有其他变迁,均可以按照上述方式逐一、顺序的比较和扩展。 在基本变迁序列ts中,当比较得出与第三被比变迁tk存在选择关系的变迁集合 Set3和与第四被比变迁tk+1存在选择关系的变迁集合Set4不相同时,说明相邻的第三被比 变迁tk和第四被比变迁tw属于不同的选择结构,则将第三被比变迁tk和第四被比变迁tw所在的两个选择结构中的变迁添加至基本变迁序列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所在选择 结构包括的变迁为^,需要引入冗余路径;^所在选择结构包括的变迁为^,需要引入冗余 路径。这样扩展后则重复引入了^和^,增加了相同的冗余节点。经过上述比较之后,由
于与变迁t2和t3存在选择关系的变迁集合均为^,是相同的变迁集合,所以不需要引入该
变迁所在选择结构内的变迁,不会发生引入相同变迁的情况。 类似的对基本变迁序列ts进行关于并发结构和选择结构的逆向扩展,逆向扩展 的方法与正向扩展的方法一致,区别在于,上述m和k从基本变迁序列中的变迁个数最大值 递减至2。 正向扩展和逆向扩展可以分别进行,得到正向扩展变迁序列tsF。KWAKD和逆向扩展
变迁序列ts直K丽D,而后将两者合并即可得到冗余路径。经过上述的添加变迁操作和合并变
迁序列的操作,所得到的冗余路径中各变迁的顺序与目标变迁路径变迁的顺序一致,或者
说,在进行添加和合并操作时依据目标变迁路径中的变迁顺序进行添加和合并。 采用上述具体实现方案可以确定合适的冗余路径ts',即求解出的是一个最小的
合理变迁序列作为冗余路径ts',使得冗余路径ts'包含的变迁在工作流网WFN中能够组
成一个合理的子工作流网WFN'。 前述提及的基本变迁序列ts仅包括一个变迁的特殊情况,没有可比较的相邻变 迁,可以直接将基础变迁序列ts作为冗余路径。 在上述步骤400中,将冗余路径ts'添加到业务流程中即是对业务流程进行冗余 处理。步骤400可以基于面向方面编程(Aspect OrientedProgramming,简称AOP)技术,采 用静态横切将冗余路径添加到业务流程中来修改业务流程的工作流网,或采用动态横切将 冗余路径添加到业务流程的运行实例中以继续执行运行实例。 由于在业务流程中的各变迁均设置有对应的唯一标识,本实施例可以利用此标识 进行冗余处理,采用动态横切将冗余路径添加到业务流程的运行实例中以继续执行运行实 例具体可以执行下述操作 在业务流程的运行实例执行过程中,当识别到当前待执行变迁的标识与冗余路径 中起始变迁的标识一致时,基于当前待执行变迁的库所同时执行当前待执行变迁和冗余路 径的起始变迁。 以图5和图6所示的业务流程为例进行说明,假设演化前业务流程如图5所示,经 分析历史执行记录可确定目标变迁和目标变迁路径,进而确定出基础变迁序列,再扩展为冗余路径。假设扩展得到的冗余路径为tS'为^^^^^,变迁^作为冗余路径的起始变
迁,应作为切入点,演化后业务流程如图6所示。在运行实例的执行过程中,当进行到变迁
t5时,则基于变迁t5的库所P6同时执行原变迁t5和冗余路径的启示变迁t5。由于P6为变
迁ts提供了执行的条件,所以原业务流程的路径和冗余路径ts'可以同时执行。当执行至
变迁t9时,无论原业务流程和冗余路径中的哪个t9先执行完,都会形成有效的库所Pl。,只
要形成了库所Pi。,运行实例就会继续进行下去,或者如图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技术,通过增加冗余路径自适应地来提高组合服 务的可用性。本发明所提出的自适应组合服务优化方法,将流程演化逻辑和流程业务逻辑 分解为两个正交的需求,对业务流程进行演化时并没有对原有业务流程进行改变,流程建 模人员能够自由定义演化的方式而不影响到原有的组合服务业务流程。基于A0P技术,业 务人员也可动态地决定是否对一个业务流程或一个运行实例织入(Weave) —个演化逻辑。
根据上述方法流程,若采用具体算法来实现上述方法,需要作为输入的数据包括 描述一个组合服务业务流程结构的合理工作流网WFW、经过对历史执行记录分析后得到的 执行频率最高的目标变迁路径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识别到一致的标识时,基于当前待执行变迁的 库所同时执行当前待执行变迁和冗余路径的起始变迁。 本发明的技术方案,由于采用了冗余处理这一演化策略,使演化逻辑与业务流程 逻辑相互独立,既不影响原有业务流程的执行,保证了业务流程的正确性,又可以通过冗余 处理来降低不可用的概率,从而提高组合服务整体的可用性。 本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、 RAM、磁碟或者 光盘等各种可以存储程序代码的介质。 最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种自适应组合服务优化方法,其特征在于,包括步骤100、根据组合服务的历史执行记录获取所述组合服务的业务流程中的目标变迁和目标变迁路径,其中,所述目标变迁为影响可用性指标下降的变迁,所述目标变迁路径为执行频率达到设定门限值的变迁路径;步骤200、在所述目标变迁路径中截取包括所有目标变迁的基本变迁序列;步骤300、根据所述业务流程中变迁之间的选择关系和并发关系扩展所述基本变迁序列,以获取冗余路径;步骤400、将所述冗余路径添加到所述业务流程中。
2. 根据权利要求1所述的自适应组合服务优化方法,其特征在于,所述步骤300包括在所述基本变迁序列中,当比较得出与第一被比变迁tm存在并发关系的变迁集合和与第二被比变迁tm+1存在并发关系的变迁集合不相同时,将所述第一被比变迁tm和所述第二被比变迁、+1所在的两个并发结构中的变迁以及所述并发结构的开始变迁和汇合变迁均添加至所述基本变迁序列中;在所述基本变迁序列中,当比较得出与第三被比变迁tk存在选择关系的变迁集合和与第四被比变迁tk+1存在选择关系的变迁集合不相同时,将所述第三被比变迁tk和所述第四被比变迁tk+1所在的两个选择结构中的变迁添加至所述基本变迁序列中;其中,下标m和k为自然数,分别按照m禾P k从1递增至所述基本变迁序列中的变迁个数最大值减一的顺序来逐一且顺序执行上述步骤,以得到正向扩展变迁序列,分别按照m和k从所述基本变迁序列中的变迁个数最大值递减至2的顺序来逐一且顺序执行上述步骤,以得到逆向扩展变迁序列,而后将所述正向扩展变迁序列和逆向扩展变迁序列进行合并,以得到所述冗余路径。
3. 根据权利要求1或2所述的自适应组合服务优化方法,其特征在于,所述步骤400包括基于面向方面编程技术,采用静态横切将所述冗余路径添加到所述业务流程中来修改所述业务流程的工作流网,或采用动态横切将所述冗余路径添加到所述业务流程的运行实例中以继续执行运行实例。
4. 根据权利要求3所述的自适应组合服务优化方法,其特征在于,所述采用动态横切将所述冗余路径添加到所述业务流程的运行实例中以继续执行运行实例包括在所述业务流程的运行实例执行过程中,当识别到当前待执行变迁的标识与所述冗余路径中起始变迁的标识一致时,基于当前待执行变迁的库所同时执行所述当前待执行变迁和所述冗余路径的起始变迁。
5. 根据权利要求1或2所述的自适应组合服务优化方法,其特征在于,步骤100中根据组合服务的历史执行记录获取所述组合服务的业务流程中的目标变迁包括在组合服务的历史执行记录中获取业务流程中各服务节点的出错计数值;将出错计数值达到设定门限值的服务节点所执行的变迁记为所述目标变迁。
6. 根据权利要求1或2所述的自适应组合服务优化方法,其特征在于,步骤100中根据组合服务的历史执行记录获取所述组合服务的业务流程中的目标变迁路径包括根据组合服务的历史执行记录选择所述组合服务的业务流程中执行频率最高的变迁路径为所述目标变迁路径。
7. —种自适应组合服务优化装置,其特征在于,包括目标确定模块,用于根据组合服务的历史执行记录获取所述组合服务的业务流程中的 目标变迁和目标变迁路径,其中,所述目标变迁为影响可用性指标下降的变迁,所述目标变 迁路径为执行频率达到设定门限值的变迁路径;基本变迁序列截取模块,用于在所述目标变迁路径中截取包括所有目标变迁的基本变 迁序列;冗余路径获取模块,用于根据所述业务流程中变迁之间的选择关系和并发关系扩展所 述基本变迁序列,以获取冗余路径;冗余路径添加模块,用于将所述冗余路径添加到所述业务流程中。
8. 根据权利要求7所述的自适应组合服务优化装置,其特征在于,所述冗余路径获取 模块包括并发关系处理单元,用于在所述基本变迁序列中,当比较得出与第一被比变迁tm存在 并发关系的变迁集合和与第二被比变迁tm+1存在并发关系的变迁集合不相同时,将所述第 一被比变迁tm和所述第二被比变迁t^所在的两个并发结构中的变迁以及所述并发结构的 开始变迁和汇合变迁均添加至所述基本变迁序列中;选择关系处理单元,用于在所述基本变迁序列中,当比较得出与第三被比变迁tk存在 选择关系的变迁集合和与第四被比变迁tk+1存在选择关系的变迁集合不相同时,将所述第 三被比变迁tk和所述第四被比变迁tk+1所在的两个选择结构中的变迁添加至所述基本变迁 序列中;在所述并发关系处理单元和选择关系处理单元中,下标m和k为自然数,分别按照m和 k从1递增至所述基本变迁序列中的变迁个数最大值减一的顺序来逐一且顺序执行上述操 作,以得到正向扩展变迁序列,分别按照m和k从所述基本变迁序列中的变迁个数最大值递 减至2的顺序来逐一且顺序执行上述操作,以得到逆向扩展变迁序列;合并处理单元,用于将所述并发关系处理单元和选择关系处理单元产生的所述正向扩 展变迁序列和逆向扩展变迁序列进行合并,以得到所述冗余路径。
9. 根据权利要求7或8所述的自适应组合服务优化装置,其特征在于,所述冗余路径添 加模块包括识别单元,用于在所述业务流程的运行实例执行过程中,识别当前待执行变迁的标识 与所述冗余路径中起始变迁的标识是否一致;添加单元,当所述识别单元识别到一致的标识时,基于当前待执行变迁的库所同时执 行所述当前待执行变迁和所述冗余路径的起始变迁。
全文摘要
本发明提供一种自适应组合服务优化方法和装置。该方法包括根据组合服务的历史执行记录获取组合服务的业务流程中的目标变迁和目标变迁路径,其中,目标变迁为影响可用性指标下降的变迁,目标变迁路径为执行频率最高的变迁路径;在目标变迁路径中截取包括所有目标变迁的基本变迁序列;根据业务流程中变迁之间的选择关系和并发关系扩展所述基本变迁序列,以获取冗余路径;将冗余路径添加到业务流程中。本发明的技术方案,由于采用了冗余处理这一演化策略,使演化逻辑与业务流程逻辑相互独立,既不影响原有业务流程的执行,保证了业务流程的正确性,又可以通过冗余处理来降低不可用的概率,从而提高组合服务整体的可用性。
文档编号G06F9/44GK101776995SQ20101003367
公开日2010年7月14日 申请日期2010年1月4日 优先权日2010年1月4日
发明者孙海龙, 曾晋, 李建欣, 纪一鹏 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1