首页> 中国专利> 一种基于XCFG的组合服务可信性演化影响分析方法

一种基于XCFG的组合服务可信性演化影响分析方法

摘要

本发明公布了一种基于XCFG的组合服务可信性演化影响分析方法。首先,将演化前的组合服务建模为XCFG,并根据组件服务间的数据依赖关系建立组件服务之间的数据依赖图;其次,将演化后的组合服务转换为XCFG及对应的组件服务数据依赖图;根据组合服务可信性计算方法识别出演化操作对哪些组件服务的可信性产生影响并确定需要重新计算可信性的流程片段;最后,计算整个组合服务演化后的可信性并评估该演化操作对组合服务可信性的影响。本发明所提出的组合服务可信性演化影响分析方法能够准确评估该演化对组合服务可信性的影响。

著录项

  • 公开/公告号CN102902521A

    专利类型发明专利

  • 公开/公告日2013-01-30

    原文格式PDF

  • 申请/专利权人 东南大学;

    申请/专利号CN201210306508.5

  • 申请日2012-08-14

  • 分类号G06F9/44(20060101);

  • 代理机构32112 南京天翼专利代理有限责任公司;

  • 代理人王鹏翔;朱戈胜

  • 地址 211103 江苏省南京市江宁区润发路5号

  • 入库时间 2024-02-19 17:13:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-02

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

    专利权的终止

  • 2015-09-30

    授权

    授权

  • 2013-03-13

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

    实质审查的生效

  • 2013-01-30

    公开

    公开

说明书

技术领域

本发明提出了一种基于XCFG的组合服务可信性演化影响分析方法,主要是利用扩展的控制流图解决组合服务演化过程中可信性影响分析问题,属于可信软件演化影响分析的技术领域。

背景技术

随着Web服务技术的日趋成熟,越来越多稳定易用的Web服务共享在网络上供服务消费者使用。服务组合逐渐成为构建分布式应用和电子商务解决方案的主要方法。面对众多的服务,服务集成者如何选择可信的组件服务并保障组合服务的可信性成为一个挑战。

组合服务的可信性是由组件服务及其交互模式共同决定的。目前已有大量的文献研究组合服务可信性的计算方法,主要可以分为约减法、乘积法、概率法。本文采用的组合服务可信性的计算方法基于组件服务之间的数据依赖。组合服务通常运行于动态多变的网络环境下,用户需求的改变以及环境的改变都要求组合服务能够快速的演化以适应改变。组合服务面临的演化操作可以分为组件服务的替换(绑定的变化)和流程结构的调整,其中流程结构的调整又可以分为组件服务的增加、删除和组件服务执行顺序的调整等。当组合服务演化后如何识别这些演化带来的影响并评估该演化对组合服务可信性的影响显得格外重要。

BPEL(Business Process Execution Language)是一种供服务生产者或消费者进行流程设计的服务组合语言。BPEL得到工业界和学术界的广泛支持逐渐成为事实上的标准。因此本文的方法是基于BPEL语言进行的。

本文提出了一种基于扩展控制流程图(XCFG)的组合服务可信性演化影响分析方法,该方法的特点在于不仅可以很好地描述BPEL流程中的控制流还有助于分析BPEL流程中的数据流,从而可以为组合服务可信性的演化影响分析提供必要的帮助。

发明内容

本发明的目的是提出一种基于XCFG来分析各种演化操作对组合服务可信性的影响程度的方法。

为了实现上述目的,采用如下技术方案:基于XCFG的组合服务可信性演化影响分析方法,包括如下步骤:

1)将演化前的BPEL流程建模为XCFG即基于扩展控制流图,并根据控制结构将流程划分为若干片段;

2).根据XCFG构建组件服务之间的数据依赖图,并计算组件服务在该组合服务中的实际可信性;

3).在步骤1与步骤2的基础上,计算每个流程片段的可信性进而计算整个组合服务的可信性;

4).构造演化后的XCFG及对应的组件服务数据依赖图;

5)根据组件服务数据依赖图找出受影响的组件服务,并且重新计算其可信性;根据受影响的组件服务重新计算受影响的流程片段的可信性,进而计算整个组合服务的可信性;

6).在步骤3)与步骤5)的基础之上,比较演化前后组合服务可信性的值,从而计算出演化对整个组合服务的影响程度。

有益效果:本发明方法提出了一种基于XCFG的组合服务可信性演化影响分析方法,通过比较演化前后的BPEL流程识别修改影响的数据流和控制流,进而找出需要重新计算可信性的流程片段,主要用于解决组合服务演化中可信性影响分析问题。主要有以下一些优点:

(1)在信息丰富的模型层面进行修改分析,能够较准确识别出受演化操作影响的部分。利用数据流和控制流可以有效识别出和演化操作相关的BPEL流程部分。这些部分都有可能使得组合服务的可信性产生变化。本发明的演化影响分析方法基于信息丰富的XCFG,所以综合考虑了数据流和控制流,提高了演化影响分析的精确性。

(2)利用组件服务之间的数据依赖图,能够直观地、高效地得出组件服务之间的数据依赖关系。将演化前后的数据依赖图进行对比可以方便地计算出哪些组件服务的可信性需要重新估算。

(3)将整个组合服务流程划分为若干片段并分别计算可信性。演化发生后,首先根据数据依赖图找到需要重新计算可信性的组件服务;其次,找出该组件服务所在的流程片段并重新计算该流程片段的可信性。其余未受影响的流程片段可以不再计算其可信性,这样的处理方法可以有效地减少了计算量。

附图说明

图1是本发明对组合服务进行可信性演化影响分析的流程图。

图2是本发明所使用的BPEL流程的可信性计算方法。

图3是本发明所采用的组合服务流程划分片段示意图。

图4是本发明所使用的XCFG模型中各种元素的示意图。

图5是本发明所使用的针对BPEL流程的XCFG模型。

图6是本法明所构建的组件服务之间的数据依赖图。

图7、图8、图9、图10、图11、图12都是实施例中用到的用来说明组合服务演化的示意图,详细内容将在实施例部分给出。

具体实施方式

下面结合附图对本发明的具体实施方式进行详细说明。

基于XCFG的组合服务可信性演化影响分析方法,包括如下步骤:

1)将演化前的BPEL流程建模为XCFG即基于扩展控制流图,并根据控制结构将流程划分为若干片段;(现有技术不进一步描述)

2).根据XCFG构建组件服务之间的数据依赖图,并计算组件服务在该组合服务中的实际可信性;(现有技术不进一步描述)

3).在步骤1与步骤2的基础上,计算每个流程片段的可信性进而计算整个组合服务的可信性;(现有技术不进一步描述)

4).构造演化后的XCFG及对应的组件服务数据依赖图;(现有技术不进一步描述)

5)根据组件服务数据依赖图找出受影响的组件服务,并且重新计算其可信性;根据受影响的组件服务重新计算受影响的流程片段的可信性,进而计算整个组合服务的可信性;(现有技术不进一步描述)

6).在步骤3)与步骤5)的基础之上,比较演化前后组合服务可信性的值,从而计算出演化对整个组合服务的影响程度。

图1描述了本发明对组合服务进行可信性演化影响分析方法的流程图:首先,确定组合服务可信性的计算方法是基于数据依赖和控制结构的,这是进行分析的前提;其次,将演化前后的BPEL流程建模为XCFG及其对应的数据依赖图;然后,根据演化前后的数据依赖图找出需要重新计算可信性的组件服务集合并由此确定需要重新进行可信性计算的最小流程片段有哪些;最后,根据组合服务可信性计算方法重新计算找出的受影响的集合并计算其可信性并评估该演化操作对组合服务可信性的影响。

下面给出几个部分的具体说明。

一、组合服务可信性的特点及计算方法

组合服务的可信性是由组件服务及其交互模式共同决定的。目前已有大量的文献研究组合服务可信性的计算方法,主要可以分为约减法、乘积法和概率法(公知技术不进一步说明)。

如图2所示,首先根据组件服务之间的数据依赖以及每个组件服务之间的原始可信性计算出每个组件服务在该组合服务中的可信性(我们把参与组合前每个组件服务的可信性称为原始可信性,参与组合后每个组件服务的可信性称为实际可信性);然后,根据不同的控制结构约减规则计算每个控制结构的可信性;最后,计算出整个组合服务的可信性。

假设S1,S2是BPEL流程中的2个组件服务,T1和T2分别表示2个组件服务根据信任模型计算出来的可信性(也称为原始可信性),t1和t2分别表示2个组件服务在该组合服务中的可信性(也称为实际可信性),如果S1的输出是S2的输入,则称S2数据依赖于S1。如果S2数据依赖于S1,则t1=T1,t2=T1*T2。

在计算出每个组件服务在该组合服务中的实际可信性之后,根据BPEL流程的控制结构分别计算每种控制结构的可信性。通常,BPEL的控制结构可以分为:顺序、选择、并发和循环,相应的计算方法如下表所示。

由此可以将整个BPEL流程划分为若干流程片段并根据上表中列出的方法计算每个流程片段的可信性。

对流程的划分如图3所示,三个流程片段是Seg1、Seg2和Seg3。

二、构建XCFG

我们提出的XCFG是根据组合服务可信性的特点及计算方法构建的。由于组合服务的可信性是由与流程交互的组件服务的可信性及其交互模型决定的,因此XCFG中并不包含BPEL流程中的所有活动,只是包含与组合服务可信性计算有关的活动。此外,该模型不仅包含控制流还包含数据流。

XBFG是一个三元组<N,CE,DE>,其中:N为节点集合,分为服务节点集SN和控制节点集CN,服务节点中包含2个特殊的用户节点,分别表示BPEL流程的开始和结束;CE是控制流集合;DE是数据流集合。节点集合、控制流集合和数据流集合统称为元素。每种元素的详细信息在此不具体给出。

图4是本发明建立的XCFG模型。此外,为了方便地、高效地得出组件服务之间的依赖关系,在XCFG模型的基础上构建组件服务之间的数据依赖图,如图5所示。

三、可信性影响分析

方法流程

由背景技术部分对BPEL组合服务演化特点的分析可以看出,BPEL组合服务的2种演化类型对可信性的影响都可以通过XCFG图形的比较体现出来。比如,如果组合服务发生了绑定变化,那么对应的组件服务节点的endpoint域(对应组件服务节点的一个属性)的值一定不相等,此时,需要比较被替换组件服务与现组件服务的可信性,如果可信性不相等就需要进行演化影响分析。如果组合服务发生了流程变化,那么2个XCFG图形的元素将会有差别。具体的可信性演化影响分析步骤如下:

1)对比演化前后的数据流集合发生了哪些变化。对于组件服务S的替换这一演化操作,从数据依赖图中根据组件服务之间的数据依赖关系找出受影响的组件服务集合ISet(S),该集合中既包括数据依赖于S的组件服务也包括发生替换的组件服务本身。根据组合服务可信性计算的特点,需要重新计算依赖于S的组件服务的可信性。对于流程结构上的演化,对比演化前后的数据依赖图,找出新增加的数据流集合ADFSet、删掉的数据流集合DDFSet和改变的数据流集合CDFSet。

2)对于新增加的数据流集合ADFSet中的每一个元素,分别找出该数据流对应的源组件服务SS和目标组件服务TS,如果该数据流的源和目标组件服务都是源BPEL中的服务,则重新计算目标组件服务的可信性,源组件服务SS的可信性不变。否则就表明新增加了组件服务,首先需要计算该组件服务在组合服务中的可信性。

3)对于删除的数据流集合DDFSet,找出该数据流对应的目标组件服务TS,并重新计算组件服务的可信性。

4)对于改变的数据流集合,一般是数据流的源组件服务SS和目标组件服务TS交换了执行顺序,此时需要重新计算源组件服务SS和目标组件服务TS的可信性。

由步骤1)可以得到受影响的组件服务集合并得到它们在演化后BPEL流程中的可信性。根据控制结构找到集合ISet(S)中每个组件服务对应的最小可信性可计算流程片段并重新计算该片段的可信性。

实施例:

为了方便描述,我们假定有如下简化的应用实例:

如图5与图6(数据依赖图)所示,假定演化前的BPEL流程图中,组件服务S1,S2,S3,S4,S5,S6的原始可信性分别是T1,T2,T3,T4,T5,T6。根据组合服务可信性的计算方法,S1,S2,S3,S4,S5,S6的实际可信性分别是t1=T1,t2=T2,t3=T2*T3,t4=T1*T2*T3,t5=T4*T5,t6=T4*T6。流程片段的划分如图3所示,每个片段的可信性分别为ts1=p1*t1+p2*((t2+t3))/2,ts2=t4,ts3=(t5+t6)/2。其中,p1和p2分别表示两条路径执行的概率。整个组合服务的可信性tcs=(ts1+ts2+ts3)/3。(其中ts1、ts2、ts3依次是流程片段Seg1、Seg2和Seg3的可信性)。

假设第一种演化操作是组件服务的替换:组件服务S2被S7替换掉,组件服务S7的原始可信性是T7,如图7所示(图中加粗的组件服务表示演化的部分):

相应地,组件服务之间的数据依赖图也发生了变化,如图8所示(虚线表示的组件服务表示发生的演化,加粗的表示受该演化影响的组件服务):

此时,组件服务S3和S4的可信性需要重新计算,分别为t3’=T7*T3,t4’=T7*T4*T1。

上述3个组件服务的可信性发生了变化,由此,3个组件服务所属的流程片段也需要重新计算可信性,需要重新计算的流程片段包括Seg1和Seg2如图9所示:ts1’=p1*t1+p2*((t2+t3’))/2,ts2’=t4’。此时tcs’=(ts1’+ts2’+ts3)/3。那么该演化操作对组合服务可信性的影响可以量化为tcs-tcs’。

假设第二种演化操作是流程演化中的组件服务增加操作:组件服务S7被顺序增加在组件服务S4之后,S7的原始可信性是T7,结果如图10:

相应地,组件服务之间的数据依赖图也发生了变化,如图11所示:

此时,组件服务S5和S6的可信性需要重新计算,分别为t5’=T7*T5,t6’=T7*T6。

上述3个组件服务的可信性发生了变化,由此,3个组件服务所属的流程片段也需要重新计算可信性,需要重新计算的流程片段是Seg2和Seg3。如图12所示:ts2’=(t4+t7)/2,ts3’=(t5’+t6’)/2。此时tcs’=(ts1+ts2’+ts3’)/3。那么该演化操作对组合服务可信性的影响可以量化为tcs-tcs’。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号