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

文档序号:9202697阅读:154来源:国知局
一种组合服务执行方法及执行引擎的制作方法
【技术领域】
[0001] 本发明涉及Web服务技术,具体涉及一种Web组合服务的执行方法及执行引擎。
【背景技术】
[0002] 随着应用功能的不断增加,单一的Web服务已经无法满足广大用户的应用需求。 目前,可通过采用多个Web服务相互组合的方式达到满足用户多方面需求的目的;同时, Web组合服务可使Web服务的功能得W最大程序的发挥。其中,由多个单一Web服务进行组 合而形成的Web服务功能的集合为Web组合服务;组成Web组合服务的每个单一Web服务 称之为原子服务。各种不同功能的原子服务之间的有效联合与协作,实现了大粒度的服务 功能,能够解决更为复杂的问题,从而达到服务增值的目的。
[0003] 在Web组合服务中,如何使得组合服务执行引擎对组合服务执行高效率的处理一 直是研究者追求的目标。目前,组合服务的执行模式包括W下几种:数据流控制流全集中模 式CCCD、控制流集中数据流分散模式CCDD。
[0004] 图1 (a)为数据流控制流全集中模式的示意图。如图1 (a)所示,CCCD执行模式 逻辑上的控制中也即执行引擎,能够对组合服务进行整体控制,负责协调服务之间的控制 流和数据流,所有数据都要经过引擎进行转发,而不是由数据生产者直接将数据发送给数 据消费者。该种执行模式更适合数据量比较小的服务,传输的数据量较大且并发组合服务 流程实例数量较多时,执行引擎很容易形成较大负载,从而成为系统性能的瓶颈,影响组合 服务的执行效率。
[0005] 图1 (b)为控制流集中数据流分散模式的示意图。如图1 (b)所示,CCDD执行模 式既存在逻辑上的控制中也即执行引擎,又能够使数据直接由数据生产者传递给数据消费 者,但是需要协调服务与引擎进行通信,并根据控制消息实现数据流在各个服务之间的传 递。在服务之间的交互数据量与控制消息数据量相差不大时,该执行模式的执行效率较低。
[0006] 由此可见,每种执行模式都有其弊端,此外,由于服务之间传输的数据量是动态变 化的,选择任何一种执行模式,都不能保证执行效率最高,执行结果最优。因此,迫切需要一 种高效率的组合服务执行方法。

【发明内容】

[0007] 为解决现有存在的技术问题,本发明实施例提供一种Web组合服务的执行方法及 执行引擎,可提高执行引擎的执行效率,减少执行引擎的负载。
[0008] 本发明实施例的技术方案是该样实现的:
[0009] 本发明实施例提供了一种组合服务执行方法,所述方法包括:
[0010] 接收用户的组合服务请求消息,创建组合服务的流程实例,依据预设的执行模式 执行所述流程实例,并对所述组合服务的相关参数进行监控;
[0011] 依据监控结果,确定是否进行执行模式的切换;
[0012] 确定为进行执行模式切换时,利用切换后的执行模式继续执行当前剩余的流程实 例。
[0013] 上述方案中,所述方法还包括:
[0014] 接收组合服务流程部署文件,解析流程部署文件;
[0015] 依据所解析出的流程部署文件内容,创建流程模板;
[0016] 相应的,所述接收用户的组合服务请求消息,创建组合服务的流程实例,包括:
[0017] 接收到所述组合服务请求消息时,查找流程模板,并依据所查找出的流程模板,创 建所述流程实例。
[0018] 上述方案中,所述预设的执行模式为数据流控制流全集中CCCD执行模式;
[0019] 相应的,依据监控结果,确定是否进行执行模式的切换,包括:
[0020] 依据所述监控结果,预测所述CCCD执行模式的执行时间及控制流集中数据流分 散CCDD执行模式的执行时间;
[0021] 确定所述执行时间小的执行模式与所述预设的执行模式不同时,确定为进行执行 模式切换;
[0022] 确定所述执行时间小的执行模式与所述预设的执行模式相同时,确定为不进行执 行模式的切换。
[0023] 上述方案中,所述相关参数包括:
[0024] 服务输出数据量、网络带宽、服务协议消息数据量、服务调用活动的数据依赖量。 [00巧]上述方案中,所述依据监控结果,确定是否进行执行模式的切换,包括:
[0026]当确定出所述服务输出数据量小于所述服务协议消息数据量时,确定不进行执行 模式的切换;
[0027]当确定出所述服务输出数据量大于等于所述服务协议消息数据量,或者不能确定 出所述服务输出数据量与所述服务协议消息数据量的大小,确定为进行执行模式切换。
[0028]本发明实施例还提供了一种组合服务执行引擎,所述执行引擎包括:
[0029] 第一接收单元,用于接收用户的组合服务请求消息;
[0030] 第一创建单元,用于创建组合服务的流程实例;
[0031] 执行单元,用于依据预设的执行模式执行所述流程实例;
[0032] 监控单元,用于对所述组合服务的相关参数进行监控;
[0033] 确定单元,用于依据监控结果,确定是否进行执行模式的切换,并在确定为进行执 行模式切换时,触发执行单元;
[0034] 执行单元,用于利用切换后的执行模式继续执行当前剩余的流程实例。
[00巧]上述方案中,所述执行引擎还包括;第二接收单元,用于接收组合服务流程部署文 件;
[0036] 解析单元,用于解析流程部署文件;
[0037] 第二创建单元,用于依据所述解析单元解析出的流程部署文件内容,创建流程模 板;
[00測 相应的,
[0039] 所述第一接收单元,用于接收到所述组合服务请求消息时,触发所述第一创建单 元;
[0040] 所述第一创建单元,用于查找流程模板,并依据所查找出的流程模板,创建所述流 程实例。
[0041] 上述方案中,所述确定单元,用于依据所述监控结果,预测所述CCCD执行模式的 执行时间及控制流集中数据流分散CCDD执行模式的执行时间;
[0042] 确定所述执行时间小的执行模式与所述预设的执行模式不同时,确定为进行执行 模式切换;
[0043] 确定所述执行时间小的执行模式与所述预设的执行模式相同时,确定为不进行执 行模式的切换。
[0044] 上述方案中,所述相关参数还包括:
[0045] 服务输出数据量、网络带宽、服务协议消息数据量、服务调用活动的数据依赖量。
[0046] 上述方案中,所述确定单元,还用于
[0047]当确定出所述服务输出数据量小于所述服务协议消息数据量时,确定不进行执行 模式的切换;
[0048]当确定出所述服务输出数据量大于等于所述服务协议消息数据量,或者不能确定 出所述服务输出数据量与所述服务协议消息数据量的大小,确定为进行执行模式切换。
[0049] 本发明实施例提供的组合服务的执行方法及执行引擎,所述方法包括:接收用户 的组合服务请求消息,创建组合服务的流程实例,依据预设的执行模式执行所述流程实例, 并对所述组合服务的相关参数进行监控;依据监控结果,确定是否进行执行模式的切换; 确定为进行执行模式切换时,利用切换后的执行模式继续执行当前剩余的流程实例。利用 本发明实施例的技术方案,能够依据监控结果对执行模式进行调整,与现有采用固定的执 行模式相比较,提高了执行效率,减少了执行引擎的负载。
【附图说明】
[0050] 图1 (a)为数据流控制流全集中模式的示意图;
[0051]图1 (b)为控制流集中数据流分散模式的示意图;
[0052] 图2为本发明实施例提供的执行引擎与代理服务进行通信的一应用场景示意图;
[005
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1