基于QoS优化的面向服务流程分解方法

时间:2022-10-13 05:41:49

基于QoS优化的面向服务流程分解方法

摘要: 面向服务的业务流程分解是构建面向服务系统的前提。文章分析了复杂业务过程的QoS因素及其计算,提出一种基于qos的服务流程分解方法。该方法首先应用OWL-S(Ontology Web Language for Services)进行流程建模,再对OWL-S模块进行归并、组合,将复杂业务流程转化成由几种典型结构构成的服务组合形式,通过服务组合和流程QoS约束的计算,实现流程分解的优化。最后通过一个汽车贷款审批的实例验证了分解方法的有效性。

Abstract: Service-Oriented Business Process Decomposition is the premise of building a service-oriented system. This paper analyzes the complex business processes QoS factors and computing, proposes a QoS-based service process decomposition method. This method firstly applies OWL-S (Ontology Web Language for Services) for process modeling, and then groupes and combines OWL-S modules, transfers complex business processes into combination of services constituted by several typical structures, through calculation of service combination and process Qos constraint to achieve the optimization of process decomposition. Finally,it is demonstrated by an example of a car loan approval.

关键词: 流程分解;面向服务;QoS

Key words: process decomposition;service-oriented;QoS

中图分类号:TP393文献标识码:A文章编号:1006-4311(2010)08-0129-03

0引言

面向服务的架构(service oriented architecture,SOA)是当前信息系统的主流架构。SOA以服务为基本单元,通过对服务组合与合成(orchestration),以松耦合的方式构造业务流程,实现IT系统对企业业务快速变化的反映,最终形成能够动态组织的可组合以及可交互操作的网络服务软件架构[1]。面向服务的流程分解是面向服务架构分析的关键步骤,通过从管理业务到服务的映射,把业务流程分解为服务,从而实现SOA的松耦合,可重用等目标,满足管理业务多变的需求。

在面向服务架构系统的执行过程中服务质量(QoS)是关键因素。QoS是衡量服务流程好坏的重要指标,在业务流程分解中考虑QoS约束的影响,有利于从整体上保证流程分解的合理,高效。目前对于QoS的研究主要从单个服务的QoS出发,围绕服务的组合,优化等方面进行研究,对面向过程的QoS研究也逐步引起了研究者的重视。

本文提出一种基于OWL-S描述的考虑流程QoS的流程分解方法。应用OWL-S对流程分析,将复杂流程分解成若干个结构简单的子流程,并按照服务特点将流程转化成若干个服务。根据面向服务的要求,通过QoS分析对服务进行重组,构造松耦合,可重用的服务。在流程分解过程中考虑单个服务的QoS以及服务组合的QoS影响,通过定量化计算,对不同服务组合进行评价,寻找有效组合。

1业务流程中的QoS因素分析

1.1 服务的QoS影响因素在SOA中,service不只是满足功能要求,根据应用领域的不同特点,还需要满足成本,服务时间,可靠性,信誉等质量和性能要求。在不同业务环境中,用户的QoS要求具有独特性[2]。在本文中选取服务时间,服务费用,可靠性,信誉,构成服务的QoS因素进行分析。选择这四个方面进行描述是因为这四个方面是服务使用中对服务的基本要求,其他要求与这些因素有一定相似,可用相同方法处理。

定义1:将QoS表示成一组属性集合QoS=,其中qi表示具体的QoS因素,每一个因素都对应一个取值域dom(qi),各项的具体值表示为V(qi)。由于本文选取了服务时间,服务费用,可靠性,信誉作为QoS的属性,则QoS可表示成QoS=,C表示服务费用,T表示服务时间,R表示可靠性,CD表示信誉。

服务费用:是描述用户在使用服务时支付的费用。用来表示服务的费用。

服务时间:是描述用户从提出服务请求到得到满意的服务结果所用的时间。一般包括服务请求,服务等待,服务处理等部分。在本文将时间表示为T=Twait+Thandle+Tcom+Twait,为响应时间(等待时间),Thandle为处理时间,Tcom通信时间。

服务可靠性:是描述服务的可用性。是一个概率指标因素。每个服务的可靠性是根据以往服务在使用过程中,统计计算得到的,一般描述成分服务成功次数与服务总次数之比,用R来表述服务可靠性,即R=nsuccess/Nsum。

信誉:是描述服务提供商给出信息的可靠性。在网络中,服务是不可见的,利用信誉对服务加以约束。信誉计算的主要指标是通过长期对用户的评价进行统计计算得到。用CD表示。

1.2 服务组合的QoS计算由于各因素的特点不同,对整个服务组合的影响不同,以及组合结构的复杂性,无法简单的通过对服务QoS的加和形式得到服务组合的QoS。本文将根据服务流程的结构特点提出服务组合的QoS计算方法。

按服务组合方式,可分为并行结构和串行结构以及choice结构。并行结构即几个服务一起执行来完成某个功能,与下节的Concurrent组合对应;串行结构指某些服务依次独立执行来完成某个功能,与下节的Sequence组合对应; choice结构则根据前面服务的执行情况动态选择后续服务。

并行结构下服务组合QoS的计算:

服务组合费用:在流程中服务费用为流程中所有服务费用之和。表示为V(C)=■C■。

服务组合时间:在同步结构下服务组合的特征为这些服务都完成才能进行之后的流程,所以服务组的时间取决于服务时间最慢的一个。则服务组合的时间表示为同步服务组中的服务时间最长的那个时间,即V(T)=max{Ti,i=1,2,3…}。

服务组合可靠性:服务组合成功执行的前提是每个服务都可用。在流程中,可靠性表示为所有服务可靠性的乘积,即V(R)■R■。

服务组合信誉:在流程中的信誉与可靠性的计算方式相同, 即V(CD)=■CDi。

串行结构下服务组合QoS的计算:

服务组合费用:计算方式与同步结构相同,因为结构中的服务必须都执行。

服务组合时间:在异步结构中,服务组合按先后次序,逐一完成,服务时间就是各个服务执行时间之和,即V(T)=■T■。

服务组合可靠性:计算方式与同步结构相同,成功执行的前提是每个服务都可用。

服务组合信誉:计算方式与同步结构相同,成功执行的前提是每个服务都可用。

Choice结构下的服务组合QoS的计算:

在服务组合中有一种特殊结构Choice,是根据前面服务执行完所得到的条件,动态选择后续服务。对于Choice的QoS因素的计算,由于其存在动态性,无法精确计算。在此参考文献[3],给每条可能执行的路径一个可执行概率qi,其中概率qi需要通过浏览服务的情况动态修正。 则组合服务的成本V(C)=■qi*Ci,完成时间为V(T)=■qi*Ti,可靠性为V(R)=■qi*Ri,信誉为V(CD)=■qi*CDi。

2面向服务的流程分解

2.1 服务及其组合流程分解实际上是建立从业务流程到服务组合的一个映射。由于服务各自有不同的粒度,使得服务的功能大小各不相同。在实际应用过程中,为满足用户需要,可以是单个服务满足用户,也可以是多个服务组合满足用户需求,还可能是服务的某个部分满足用户需要。服务的基本形式,特点对流程分解的结果有重要影响。因此需要对服务以及服务组合进行有层次的抽象描述,在本文中我们定义操作作为组成服务的基本单元。

定义2:操作记为opi,指服务运行过程中,能够得到某个可视化结果或者中间结果的服务子功能,例如在线购物时首先需要用户登录操作,或者在线支付中需要在后台验证用户余额,这些都可归属于操作。

定义3:原子服务wsr=。原子服务中只包含一个操作,QoS因素与操作对应。则服务也可以用原子服务描述成WS■=。此处的QoS■并非各原子服务qosr之和,需要根据上一节提供的方法计算得到。

定义4:组合服务WScp=,其中ws■■可以是来自不同服务的原子服务。表示服务组合的QoS影响因素,非各个原子服务的QoS之和。

2.2 基于OWL-S的业务流程描述OWL-S分为3个本体类:ServiceProfile描述服务做什么;ServiceModel描述服务如何工作;ServiceGrounding描述如何访问服务。对于流程的描述,我们首先应用ServiceProfile来描述用户需要的服务,之后应用ServiceModel对复杂流程分解。

在本文中,将这些简单流程归并为三类服务组合:

(1)Sequence组合:Sequence类是按顺序进行的,只有在一个服务执行完之后,并且后续服务的执行条件满足,后续服务才能执行。另外Sequence类服务组合中的服务应该是独立完成的。在此我们将Repeat - Until ,Repeat While划为Sequence类。虽然Repeat - Until ,Repeat While是一个循环过程,但是如果将这个循环过程展开,假设其执行了K次,则可以将这个过程看成是包含K个相同服务的Sequence组合。此类的服务组合QoS因素计算可对应1.2节的串行结构计算方法。

(2)Concurrent组合:Concurrent类指几个服务一起执行,只有当这几个服务都执行完毕,并且满足后续服务的执行条件时,后续服务才会执行。在此,我们将Split ,Split+Join,Unordered划分到Concurrent类中,因为无论是否同步执行,最终都必须是各个服务全部执行完,后续服务才能开始,本质上没有变化,所以划分到Concurrent类中。此类的服务组合QoS因素计算可对应1.2节的并行结构计算方法。

(3)Choice组合:Choice类指根据前面服务执行完所得到的条件,动态选择后续服务。由于前面服务执行后的结果不同,导致后续服务的选择不同。可以将If - Then Else看成是choice的一个特例。所以将If - Then Else划分到Choice类中。

2.3 复杂流程分解规则在处理复杂流程分解时,既需要将流程合理的分解成若干个服务,同时还需要考虑QoS的影响。不同的流程结构对于整体的QoS有很大影响,需要在流程分解过程中逐层考虑组合服务的QoS。复杂流程的分解规则:通过对流程中各种操作之间的关系分析,按照OWL-S描述方式对流程进行分解,即按照业务分解方法对其中的操作进行分解,之后根据分解后的原子操作之间的关系,以及面向服务的要求对其进行归类,从而把简单原子级的服务归并到业务层次,实现业务流程的面向服务分解。本节结合汽车贷款审批业务流程实例说明分解规则,流程为申请人申请,信贷员接受,并查找用户存贷款记录,评估信用等级,决定是否发放贷款,并又经历审批。

2.3.1 按照OWL-S描述方式识别流程中的原子服务,并将各个部分依次映射转化成一个复杂的服务流程。首先根据ServiceProfile的要求来识别其中的服务,具体方式是在流程中寻找信息处理和状态变化的过程,作为服务的来源。图1为汽车贷款审批业务流程对应的服务组合。

2.3.2 按照2.2节简单流程的分类将复杂流程划分成若干个简单流程部分;根据1.2节的计算方法,计算各个简单流程的组合QoS因素。这个过程中,划分出来的各个简单流程可以与功能相似的服务直接对应。进行QoS因素计算,为服务选择提供更多的参考,有利于选择到最优服务。在图2中,虚线框中的为简单流程。

2.3.3 将Split,Split+Join,Unordered,Choice,If - Then C Else,Repeat C Until,Repeat C While流程看作是原子服务。之后对某些原子服务进行归并。归并是按照面向服务的要求,对上述分析的原子服务进行组合,形成粒度更大的服务。归并后的服务应该具有重用性高,松耦合的特点。符合以下条件的可以进行归并:服务之间具有紧耦合关系;服务之间具有伴随性关系;服务具有可重用性。在本例中将WS3、WS4、WS5归并,作为信用评估模块进出处理,将WS6、WS7、WS8归并作为审批模块。通过归并后将整个流程简化成Sequence(局部可包含Concurrent)或者Concurrent(局部可包含Sequence)。如图3

2.3.4 计算Sequence流程(或者Concurrent)中局部包含的Concurrent流程(或者Sequence)的组合QoS因素,并将其作为原子服务,从而将整个服务组合简化成Sequence流程(或者Concurrent)。此步骤的目为进一步简化流程。

2.3.5 计算Sequence流程(或者Concurrent)的QoS组合。此处的QoS即为业务流程的QoS。在很多情况下,用户会对流程提出整体要求,这时流程QoS就可以为服务选择提供依据。

3结束语

基于OWL-S的业务流程分解为面向服务架构的应用提供了具有可操作性的分析工具。本文通过对成本、时间、可靠性、信誉的QoS指标的计算,给出服务组合优化的思路。提出了操作,原子流程,原子服务等概念对业务流程进行描述,给出了基于OWL-S描述的面向流程分解方法。在这个过程中考虑服务质量(QoS)对于流程的影响,可以更精确的为用户寻找满足的服务,达到优化的目的。

但在面向服务业务流程结构中,服务粒度和层次间的平衡关系,复杂结构下服务组合的优化以及QoS指标的获取等问题都对面向服务的流程分解有重要影响,我们将在后续研究中进一步探索。

参考文献:

[1]郭得科,任彦等.一种基QoS约束的Web服务选择和排序模型[J].上海交通大学学报.2007.41(6):870-875.

[2]蒋哲远,韩江洪,王钊.动态的QoS感知web服务选择和组合优化模型[J].计算机学报.2009.32(5):1014-1025.

[3] 邵凌霜,李田等.一种可扩展的Web Service QoS管理框架[J].计算机学报.2008.31(8):1458-1469.

[4] Bhaskaran, Kumar, Jain, Hemant, Wang, Harry, Zhao, J Leon.Service-Oriented Enterprises and Architectures: State of the Art and Research Opportunities [J].13th Americas Conference on Information Systems .2007.

[5] Minglun Ren, Kalle Lyytinen.Building Enterprise Architecture Agility and Sustenance with SOA [J].Communications of the Association for Information Systems.2008, 22(4):75-86.

上一篇:闸板防喷器橡胶件作用及防止密封失效措施 下一篇:职业院校中体育教育的魅力展示