一种组合服务执行方法及执行引擎的制作方法_3

文档序号:9202697阅读:来源:国知局
合服务流程Pi中,在已经完成的n 个流程实例中,活动a。和a,执行平均间隔时间。
[0077] 预先定义;活动输出数据量,表示服务调用活动绑定服务的输出数据量,记为DA (Pu,3k),表示组合服务流程实例Pu中,服务调用活动ak的输出数据量,并用^(p,表 示活动平均输出数据量,并由公式(1. 2)而得:
[0078]
[0079]公式(1. 2)表示组合服务流程Pi中活动ak,在已经完成的n个组合服务流程实例 中的活动平均输出数据量。
[0080] 预先定义活动的数据依赖数据两指的是服务调用活动数据依赖的数据量的大小, 记为DR(p。,a。,a,),表示组合服务流程实例P。中,服务调用活动a。与服务调用活动a,数据 依赖数据量,服务调用活动的第k个数据依赖的数据量记为03,(口。3。),用石吞(1:),导.)表示 活动第k个数据依赖的平均数据量,可由公式(1. 3)而得:
[0081]
[0082]公式(1. 3)表示组合服务Pi中,服务调用活动a。,在已经完成的n个流程实例的第 k个数据依赖的平均数据量。
[0083] 预先定义;TW表示CCCD执行模式的执行时间,TH表示CCDD执行模式的执行时间, 两个执行模式的执行时间之差TD=TW-TH。
[0084] 本发明实施例中,考虑到组合服务流程中活动可能有一个或多个数据依赖,并且 活动的数据依赖活动之间可能是串行关系,也可能是并行关系,所W,服务的CCCD模式执 行时间和CCDD模式执行时间的计算公式也不同,具体请参见W下说明。
[0085] 1)单一数据依赖情况下,
[0086]
[0087]其中,Cl表示活动a。绑定服务的服务协议消息的数据量;C,表示活动a,绑定服务 的服务协议消息的数据量;bi表示执行引擎与服务之间的网络带宽;bi表示a。绑定服务的 代理服务与a,绑定服务的代理服务之间的网络带宽。
[0088] 2)多数据依赖串行结构,假设在此结构下调用活动a。分别与af和ag之间存在数 据依赖,并且af和ag之间是顺序执行关系。
[0089]
[0090]其中,Cl表示活动a。绑定服务S。的服务协议消息的数据量;C2表示活动a,绑定服 务Sf的服务协议消息的数据量;b表示执行引擎与服务之间的网络带宽;bi表示活动a。绑 定服务S。和活动a,绑定服务Sf之间的网络带宽也表示活动a。绑定服务S。和活动ag绑 定服务Sg之间的网络带宽。
[0091]3)多数据依赖并行结构,在此结构下服务调用活动a。分别与af和ag之间存在数 据依赖,并且af和ag之间是并行执行关系。
[0092]
[0093]其中,Cl表示活动a。绑定服务的服务协议消息的数据量;C,表示活动a,绑定服务 的服务协议消息的数据量;b表示执行引擎与服务之间的网络带宽;bi表示活动a。绑定服 务S。和a,绑定服务Sf之间的网络带宽。
[0094] 在公式(1. 4)~公式(1. 6),如果确定为TD<0,则服务采用CCCD执行模式的执行效 率比较高,则不需要进行执行模式的切换;如果确定为TD〉0,则服务采用CC孤执行模式的 执行效率比较高,则需要从CCCD执行模式切换至CC孤执行模式,并利用CC孤执行模式继 续执行剩余的流程实例。
[0095] 由此可见,本发明实施例中,可根据执行模式的执行时间的大小动态的选择执行 模式,与现有技术中固定的执行模式相比较,提高了执行引擎的执行效率,减少执行引擎的 负载,使得引擎资源得到有效利用。
[0096]本发明实施例还记载了一种执行引擎,图4为本发明实施例提供的执行引擎的组 成结构示意图,如图4所示,所述执行引擎包括;第一接收单元401、第一创建单元402、执行 单元403、监控单元404、执行单元405、确定单元400 ;其中,
[0097] 所述第一接收单元401,用于接收用户的组合服务请求消息;
[0098] 所述第一创建单元402,用于创建组合服务的流程实例;
[0099] 所述执行单元403,用于依据预设的执行模式执行所述流程实例;
[0100] 所述监控单元404,用于对所述组合服务的相关参数进行监控;
[0101] 所述确定单元400,用于依据监控结果,确定是否进行执行模式的切换,并在确定 为进行执行模式切换时,触发执行单元405 ;
[0102] 所述执行单元405,用于利用切换后的执行模式继续执行当前剩余的流程实例,并 输出。
[0103] 如图4所示,所述执行引擎还包括;第二接收单元406、解析单元407、第二创建单 元 408 ;
[0104] 用户对组合服务流程部署文件进行编写,并将编写好的流程部署文件输入至执行 引擎,所述执行引擎、具体是所述第二接收单元406接收流程部署文件,并将流程部署文件 传输至所述解析单元407,所述解析单元407利用对流程部署文件进行解析,所述第二创建 单元408依据所述解析单元407的解析结果创建流程模板;所述执行引擎的部署单元(图4 中未示意出)将所述第二创建单元408创建的流程模板进行部署,并对外发布流程服务。当 执行引擎、具体是所述第一接收单元401通过接收到用户的组合服务请求消息时,触发所 述第一创建单元402 ;所述第一创建单元402将该消息格式转换为自身可识别的格式,并查 找流程模板,依据所查找到的流程模板,为当前接收到的组合服务创建流程实例。其中,所 述流程部署文件包括;BP化文件、WS化文件。
[0105] 该里,在当前组合服务的流程实例的执行过程中,所述监控单元404对组合服务 的相关参数进行监控,所述确定单元400依据监控结果,确定是否发起执行模式的切换;女口 果确定发起执行模式的切换,则触发所述执行单元405利用切换后的执行模式执行流程实 例;如果确定不发起执行模式的切换,触发所述执行单元403继续按照预先设置的执行模 式执行流程实例。其中,所述相关参数包括:服务输出数据量、网络带宽、服务协议消息数据 量、服务调用活动的数据依赖量等,所述网络带宽包括:执行引擎与服务之间的网络带宽、 服务与服务之间的网络带宽等。
[0106]在本发明实施例中,所述执行引擎的设置单元(图4中未示意出)将CCCD执行模式 设置为初始执行模式即预设的执行模式为CCCD执行模式,在流程实例执行过程中,所述确 定单元400可根据监控结果及在初始模式下的执行结果,确定是否发起模式切换,如;所述 监控单元404将监控到的当前服务的服务输出数据量及服务协议消息数据量发送至所述 确定单元400,所述确定单元400能够判断出所述服务输出数据量与服务协议消息数据量 的大小且所述服务输出数据量小于所述服务协议消息数据量时,触发所述执行单元403仍 然按照预设的CCCD执行模式执行流程实例;所述确定单元400如果能判断出所述服务输出 数据量与服务协议消息数据量的大小且所述服务输出数据量大于等于所述服务协议消息 数据量,或者所述确定单元400不能够判断出服务输出数据量与服务协议消息数据量的大 小,则执行模式的切换即切换CCCD执行模式为CC孤执行模式,并触发所述执行单元405,所 述执行单元405将CCDD执行模式作为切换后的执行模式,继续执行剩余的流程实例,所述 执行引擎的输出单元(图4中未示意出)输出执行结果。所述初始执行模式的设置可由人工 完成;当然,初始执行模式还可W设置为CC孤执行模式,初始执行模式具体选择为哪个模 式可根据实际应用而决定。本发明实施例中的初始模式选择也可视为服务执行模式预选择 过程,该过程中,依据服务消息的类型来判断服务数据数据量的大小,此判断过程具体请参 见相关技术说明,该里不再费述。
[0107]其中,对组合服务的执行过程实质上是是组合服务调用Receive、Assi
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1