【技术实现步骤摘要】
一种可进行数据批量处理的工作流引擎
本专利技术涉及自动化控制
,特别涉及一种可进行数据批量处理的工作流引擎。
技术介绍
工作流最早起源于生产组织和办公自动化领域,它是针对平时工作中的业务流程活动而提出的一个概念,目的是根据将工作分解成定义良好的任务或角色,根据一定的原则和过程来实施这些任务并加以监控,从而达到提高效率、控制过程、提升客户服务、增强有效管理业务流程等目的。国际上主流工作流引擎有IBMBPM、OracleBPM、JbossBPMN和Activiti等,这些主流工作流引擎都是遵循BPMN2.0规范的,BPMN2.0将业务流程的可视化和底层的XML表示进行了标准化,利用标准的图元去描述真实的业务发生过程,保证相同的流程在不同的流程引擎得到的执行结果一致。现在的主流工作流引擎对于多任务的操作方式上没有采用批量进行操作的方式,本质上还是一条一条的去执行任务,所以在数据量较大时,等待时间非常长,当数据量达到上千条时,等待时间是几何级增长的。
技术实现思路
本专利技术提供了一种可进行数据批量处理的工作流引擎,用以解决现有的主流工作流引擎处理速度不够快的问题,所采取的技术方案如下:一种可进行数据批量处理的工作流引擎,所述工作流引擎包括:流程图构建模块,用于针对工作流引擎接收的批量的任务流程,分别构建每个任务流程对应的流程图;任务流程执行模块,用于接收流程图构建模块生成的流程图,并针对所述流程图进行前置任务和后置任务的批量数据处理,以及前置任务和后置任务的 ...
【技术保护点】
1.一种可进行数据批量处理的工作流引擎,其特征在于,所述工作流引擎包括:/n流程图构建模块,用于针对工作流引擎接收的批量的任务流程,分别构建每个任务流程对应的流程图;/n任务流程执行模块,用于接收流程图构建模块生成的流程图,并针对所述流程图进行前置任务和后置任务的批量数据处理,以及前置任务和后置任务的批量执行;/n批量处理结果筛选模块,用于对前置任务批量处理和后置任务批量处理的数据处理结果进行筛选,并获得数据处理失败的流程图;/n筛选结果通知模块,用于向流程图构建模块发送数据处理失败的流程图对应的任务流程,并启动流程图构建模块对数据处理失败的流程图所对应的任务流程重新构建流程图;/n存储空间检测模块,用于检测任务流程执行模块中是否存在任务存储空间,所述存储空间用于存储前置批量处理和后置批量处理过程中数据处理失败的流程图对应的任务流程经由流程图构建模块重新生成的同一任务对应的流程图;/n任务切换模块,用于查找此前处理失败的流程图在任务流程执行模块中的数据处理位置,并将处理失败的流程图与任务存储空间中的同一任务对应的重新生成的流程图进行切换,其中,所述数据处理位置是指前置批量处理和后置批量 ...
【技术特征摘要】
1.一种可进行数据批量处理的工作流引擎,其特征在于,所述工作流引擎包括:
流程图构建模块,用于针对工作流引擎接收的批量的任务流程,分别构建每个任务流程对应的流程图;
任务流程执行模块,用于接收流程图构建模块生成的流程图,并针对所述流程图进行前置任务和后置任务的批量数据处理,以及前置任务和后置任务的批量执行;
批量处理结果筛选模块,用于对前置任务批量处理和后置任务批量处理的数据处理结果进行筛选,并获得数据处理失败的流程图;
筛选结果通知模块,用于向流程图构建模块发送数据处理失败的流程图对应的任务流程,并启动流程图构建模块对数据处理失败的流程图所对应的任务流程重新构建流程图;
存储空间检测模块,用于检测任务流程执行模块中是否存在任务存储空间,所述存储空间用于存储前置批量处理和后置批量处理过程中数据处理失败的流程图对应的任务流程经由流程图构建模块重新生成的同一任务对应的流程图;
任务切换模块,用于查找此前处理失败的流程图在任务流程执行模块中的数据处理位置,并将处理失败的流程图与任务存储空间中的同一任务对应的重新生成的流程图进行切换,其中,所述数据处理位置是指前置批量处理和后置批量处理过程中流程图的数据处理位置。
2.根据权利要求1所述工作流引擎,其特征在于,所述流程图构建模块包括:
判断子模块,用于判断是否存在任务流程版本更新需求,如果存在,则向版本更新模块发送更新请求,如果不存在,则向流程流程图绘制模块发送流程图绘制请求;
版本更新子模块,用于在判断模块判断存在任务版本更新需求后,进行流程的版本更新;
流程图绘制子模块,用于在判断模块判断出不存在流程版本更新需求后,或者版本更新模块更新完流程版本后,绘制流程图;
流程发布子模块,用于发布流程图绘制模块绘制好的流程图,并将绘制好的流程图发送至缓存区;
反馈信息接收子模块,用于接收任务流程执行模块发出的前置任务批量处理和后置任务批量处理过程中数据处理失败的任务流程信息。
3.根据权利要求2所述工作流引擎,其特征在于,所述缓存区设有:
流程图更新确定子模块,用于针对缓存区内存放的已完成绘制的流程图,向判断模块发出再次确认是否存在任务流程版本更新需求的指令,由判断模块确定已完成绘制的流程图所对应的同一任务在流程图绘制完成后是否存在任务流程版本更新需求,如果判断模块再次判断后确定已完成绘制的流程图对应的任务流程没有更新需求,则保存该任务对应的流程图;如果判断模块再次判断后确定已完成绘制的流程图对应的任务存在任务流程版本更新的需求,则向标记子模块发出标记指令;
标记子模块,用于在接收到流程图更新确定子模块发出的标记指令后,对缓存区内的存在任务流程版本更新的已完成绘制的流程图进行标记;
请求子模块,用于标记子模块对缓存区内的存在任务流程版本更新的已完成绘制的流程图进行标记后,向流程图绘制模块提出流程图发送请求,使流程图绘制模块在绘制完任务流程版本更新的流程图后将更新后的流程图直接发送至缓存区;
删除子模块,用于缓存区收到更新的流程图后删除被标记的流程图。
4.根据权利要求2所述工作流引擎,其特征在于,所述流程图绘制模块包括:
指令收发子模块,用于检测缓存区内部的请求子模块是否向流程图绘制模块提出流程图发送请求,当检测到流程图发送请求后,接收该指令并向流程图发送子模块发出允许将更新后的流程图直接发送至缓存区的指令;
流程图发送子模块,用于在收到指令收发子模块发出的允许将更新后的流程图直接发送至缓存区的指令后,将绘制完成的存在任务流程版本更新的流程图直接发送至缓存区和流程发布模块;
随后,流程发布模块只对更新后的流程图进行发布,不再将更新后的流程图发送至缓存区。
5.根据权利要求1所述工作流引擎,其特征在于,所述任务流程执行模块包括:
流程图获取子模块,用于设置流程图提取时间间隔,并从流程图构建模块的缓存区中提取当前时间见过的所有流程图,计算流程图的节点关联度和任务关联度,根据节点关联度和任务关联度对流程图进行打包,形成流程图任务包和预留任务包;
前置批量处理子模块,用于以流程图任务包和预留任务包为单位,按照流程图任务包和预留任务包的发送顺序,对流程图任务包和预留任务包中的多个流程图的前置任务进行批量处理;
批量执行子模块,用于在前置批量处理子模块进行前置任务批量处理后,根据任务处理数据批量执行前置任务;
后置批量处...
【专利技术属性】
技术研发人员:金震,张京日,耿金帅,
申请(专利权)人:北京三维天地科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。