主权项 |
一种支持工作流活动实例成批处理执行的方法,具有工作流引擎的工作流服务模块建立在支持成批处理的工作流模型上,其特征在于,工作流服务模块包括一个分组批处理调度引擎,采用事件触发机制来组织活动实例成批处理的执行过程,事件被送入事件队列,由分组批处理调度引擎中的ECA规则解释器监控事件队列,当事件队列长度发生变化,由ECA规则解释器对事件队列中的新到事件进行处理;所述的ECA规则解释器为事件-条件-动作规则解释器;所述的事件包括正常事件、缓冲区长度低于阈值事件、定时器事件和执行者空闲事件;所述的正常事件、缓冲区长度低于阈值事件、定时器事件产生过程如下:步骤1:产生活动实例:工作流引擎检测到工作流模型中当前要处理的活动为可成批处理的工作流活动,则产生活动实例并送往分组批处理调度引擎;步骤2:由分组批处理调度引擎中的缓冲区管理器将接收到的活动实例分配到对应的成批服务区缓冲区,引起成批服务区缓冲区的长度变化,当成批服务区缓冲区的长度变化达到预设的阈值,则由缓冲区管理器触发正常事件;当缓冲区管理器监测到某一个成批服务区缓冲区长度发生变化但又未达到预设阈值时,则触发缓冲区长度低于阈值事件;缓冲区长度低于阈值事件被ECA规则解释器解释完,由分组批处理调度引擎启动定时器定时Δt1时间,当Δt1时间到,而正常事件没有被触发时,则由定时器产生定时器事件;执行者空闲事件的产生过程为:执行者执行完,由执行者产生执行者空闲事件;由执行者将该执行者空闲事件送入到事件队列中;活动实例与成批服务区缓冲区具有一一对应关系; 事件名称 处理过程 第i个执行者对应的执 行者空闲事件 1、将由第i个成批服务区缓冲区产生的定时器清 零; 2、清除事件队列中与第i个成批服务区缓冲区有 关的所有事件; 3、开启缓冲区管理器对第i个成批服务区缓冲区 监控; 4、将ECA规则解释器复位以使下一次调度得以 进行。 来自于第i个缓冲区的 定时器事件 1、关闭缓冲区管理器对第i个成批服务区缓冲区 监控; 2、从第i个成批服务区缓冲区提取一组符合成批 处理条件的活动实例送给第i个执行者进行批处 理; 3、将ECA规则解释器复位以使下一次调度得以 进行; 正常事件(来自于第i 个缓冲区) 1、关闭缓冲区管理器对第i个成批服务区缓冲区 监控; 2、从第i个成批服务区缓冲区提取一组符合成批 处理条件的活动实例送给第i个执行者进行批处 理; 3.将ECA规则解释器复位以使下一次调度得以 进行; 缓冲区长度低于阈值事 件(来自于第i个缓冲区) 启动定时器,设置定时器的等待时间为Δt1,定 时器开始工作。所述的对新到事件进行处理的过程为根据上表执行处理。 |