一种工作流管理平台及工作流管理系统技术方案

技术编号:26689423 阅读:45 留言:0更新日期:2020-12-12 02:38
本发明专利技术公开一种工作流管理平台及工作流管理系统,工作流管理平台中的展现层基于用户的流程实例化操作调用接入层的API接口生成流程实例化指令,业务逻辑层获取流程实例化指令的业务ID和与流程实例化指令对应的流程模板,利用流程引擎从存储层中读取存储的与流程模板对应的流程定义数据和运行配置数据,并根据业务ID、流程模板和与流程模板对应的流程定义数据和运行配置数据生成流程实例,从而创建多个流程实例,并在利用流程引擎启动多个流程实例时,根据各流程实例的实例标识与线程的线程标识之间的对应关系,利用与每个流程实例的实例标识对应的线程标识所属的线程执行该流程实例,可以有效避免脏数据现象,并有效提高流程实例执行时的性能。

【技术实现步骤摘要】
一种工作流管理平台及工作流管理系统
本专利技术涉及通信
,具体而言,涉及一种工作流管理平台及工作流管理系统。
技术介绍
随着Web技术的普及,基于Web的工作流技术得到充分的发展。工作流可以通过Web扩展到多个企业,并将实现多个基于Web的工作流服务器之间的协同工作。经过多年的发展,工作流管理系统的结构已经由原来的只能支持单一的工作组环境,发展到现在可以支持企业级(甚至企业间)的工作流环境。一个工作流实例可以通过局域网、广域网分布在不同的服务器和客户端,而且服务器的故障所造成的影响将被减少到最小。因而,大大提高了系统的可扩展性、实用性和管理能力。面向复杂企业应用的工作流管理系统,早期的工作流技术和产品难以支持复杂的企业应用,对已有企业应用的集成能力也显然不足,例如,在企业应用中,工作流管理系统中通常存在工作流业务并发的情况,但在工作流管理系统中并行执行多个工作流业务时,由于各个工作流业务在执行时存在数据交叉,因而可能会存在脏数据现象,并在执行时系统性能较差。专利技术内本专利技术实施例提供的一种工作流管理平台及工作流管理系统,可以有效避免脏数据现象,且可以有效提高流程实例执行时的性能。第一方面,本专利技术实施例提供一种工作流管理平台,该工作流管理平台包括自上而下依次设置的接入层、展现层、业务逻辑层以及存储层;所述存储层,用于存储数据,其中,该数据包括流程定义数据和运行配置数据;所述展现层,用于基于用户的流程实例化操作调用接入层的API接口生成流程实例化指令,其中,该流程实例化指令中包括业务ID;所述接入层,用于发布所述展现层生成的流程实例化指令;所述业务逻辑层,用于在监控到所述展现层发布的流程实例化指令时,获取该流程实例化指令的业务ID和与该流程实例化指令对应的流程模板,利用流程引擎从所述存储层中读取存储的与该流程模板对应的流程定义数据和运行配置数据,并根据所述业务ID、流程模板和与该流程模板对应的流程定义数据和运行配置数据生成流程实例,从而创建多个流程实例;所述业务逻辑层还用于在利用流程引擎启动所述多个流程实例时,根据各流程实例的实例标识与线程的线程标识之间的对应关系,利用与每个所述流程实例的实例标识对应的线程标识所属的线程执行该流程实例。可选的,在上述工作流管理平台中,针对每个流程实例,该流程实例中包括至少一个流程节点,当该至少一个流程节点中包括流程执行操作节点时,所述业务逻辑层在利用与该流程实例的实例标识对应的线程标识所属的线程执行该流程实例的流程操作节点时,向所述展现层发送流程执行操作界面;所述展现层还用于获取用户基于流程执行操作界面输入的流程执行操作,并基于所述流程执行操作调用接入层的API接口生成执行指令,其中,所述执行指令包括业务ID和租户ID;所述接入层还用于发布所述执行指令,并基于所述执行指令中的业务ID获取与该业务ID对应的目标流程实例,并获取所述目标流程实例中与所述执行指令中的租户ID对应的流程节点;所述业务逻辑层还用于在监控到所述展现层发布的执行指令时查找与目标流程实例的实例标识对应的线程标识,并利用该线程标识所属的线程执行所述执行指令,以调节所述执行指令中的租户ID对应的流程节点流的工作状态。可选的,在上述工作流管理平台中,所述执行指令包括通过指令、拒绝指令、选择指令、退回指令或加签指令。可选的,在上述工作流管理平台中,针对每个流程实例,该流程实例中包括至少一个流程节点,当该至少一个流程节点中包括回调节点时,所述展现层还用于基于用户的流程回调操作调用接入层的API接口生成回调指令,其中,所述回调指令包括业务ID;所述接入层还用于发布所述回调指令,并基于所述回调指令中的业务ID获取与该业务ID对应的目标流程实例;所述业务逻辑层还用于在监控到所述展现层发布的回调指令时,基于所述回调指令中的业务ID获取与该业务ID对应的目标流程实例,利用与该目标流程实例对应的线程在所述回调节点处调用与所述回调指令对应的回调函数并执行。可选的,在上述工作流管理平台中,针对每个流程实例,该流程实例中包括至少一个流程节点,当该至少一个流程节点中包括事件节点时,所述展现层还用于基于用户的事件执行操作调用接入层的API接口生成事件指令,其中,所述事件指令包括业务ID;所述接入层还用于发布所述事件指令,并基于所述事件指令中的业务ID获取与该业务ID对应的目标流程实例;所述业务逻辑层还用于在监控到所述展现层发布的事件指令时,基于所述事件指令中的业务ID获取与该业务ID对应的目标流程实例,利用与该目标流程实例对应的线程在所述事件节点处处理该事件指令。可选的,在上述工作流管理平台中,所述存储层还用于在存储数据时,利用分布式数据库技术对存储的数据进行分库和分表后存储。可选的,在上述工作流管理平台中,所述业务逻辑层还用于在利用流程引擎启动所述多个流程实例时,创建多个线程,为每个所述线程分配一个线程标识,为每个流程实例分配一个实例标识,并建立每个流程实例的实例标识与每个线程的线程标识之间的对应关系,利用与每个所述流程实例的实例标识对应的线程标识所属的线程执行该流程实例。可选的,在上述工作流管理平台中,所述展现层还用于利用SVG技术和流程实例生成工作流程图。可选的,在上述工作流管理平台中,所述业务逻辑层包括Spring组件、SpringMVC组件、MyBatis组件及队列组件中的至少一种。可选的,在上述工作流管理平台中,所述展现层包括html组件、css组件、jquery组件以及Bootstrap组件。第二方面,本申请还提供一种工作流管理系统,包括电子设备和上述的工作流管理平台,所述电子设备用于运行所述工作流管理平台。与现有技术相比,上述方案中的实施例可以具有如下优点或有益效果:本专利技术实施例公开一种流工作流管理平台及工作流管理系统,工作流管理平台中的展现层基于用户的流程实例化操作调用接入层的API接口生成流程实例化指令,业务逻辑层获取流程实例化指令的业务ID和与流程实例化指令对应的流程模板,利用流程引擎从存储层中读取存储的与流程模板对应的流程定义数据和运行配置数据,并根据业务ID、流程模板和与流程模板对应的流程定义数据和运行配置数据生成流程实例,从而创建多个流程实例,并在利用流程引擎启动多个流程实例时,根据各流程实例的实例标识与线程的线程标识之间的对应关系,利用与每个流程实例的实例标识对应的线程标识所属的线程执行该流程实例,可以有效避免脏数据现象,且可以有效提高流程实例执行时的性能。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1是本申请专利技术实施例提供的一种工作流管理平台的功能架构图;图2是本申请本文档来自技高网...

【技术保护点】
1.一种工作流管理平台,其特征在于,该工作流管理平台包括自上而下依次设置的接入层、展现层、业务逻辑层以及存储层;/n所述存储层,用于存储数据,其中,该数据包括流程定义数据和运行配置数据;/n所述展现层,用于基于用户的流程实例化操作调用接入层的API接口生成流程实例化指令,其中,该流程实例化指令中包括业务ID;/n所述接入层,用于发布所述展现层生成的流程实例化指令;/n所述业务逻辑层,用于在监控到所述展现层发布的流程实例化指令时,获取该流程实例化指令的业务ID和与该流程实例化指令对应的流程模板,利用流程引擎从所述存储层中读取存储的与该流程模板对应的流程定义数据和运行配置数据,并根据所述业务ID、流程模板和与该流程模板对应的流程定义数据和运行配置数据生成流程实例,从而创建多个流程实例;/n所述业务逻辑层还用于在利用流程引擎启动所述多个流程实例时,根据各流程实例的实例标识与线程的线程标识之间的对应关系,利用与每个所述流程实例的实例标识对应的线程标识所属的线程执行该流程实例。/n

【技术特征摘要】
1.一种工作流管理平台,其特征在于,该工作流管理平台包括自上而下依次设置的接入层、展现层、业务逻辑层以及存储层;
所述存储层,用于存储数据,其中,该数据包括流程定义数据和运行配置数据;
所述展现层,用于基于用户的流程实例化操作调用接入层的API接口生成流程实例化指令,其中,该流程实例化指令中包括业务ID;
所述接入层,用于发布所述展现层生成的流程实例化指令;
所述业务逻辑层,用于在监控到所述展现层发布的流程实例化指令时,获取该流程实例化指令的业务ID和与该流程实例化指令对应的流程模板,利用流程引擎从所述存储层中读取存储的与该流程模板对应的流程定义数据和运行配置数据,并根据所述业务ID、流程模板和与该流程模板对应的流程定义数据和运行配置数据生成流程实例,从而创建多个流程实例;
所述业务逻辑层还用于在利用流程引擎启动所述多个流程实例时,根据各流程实例的实例标识与线程的线程标识之间的对应关系,利用与每个所述流程实例的实例标识对应的线程标识所属的线程执行该流程实例。


2.根据权利要求1所述的工作流管理平台,其特征在于,针对每个流程实例,该流程实例中包括至少一个流程节点,当该至少一个流程节点中包括流程执行操作节点时,所述业务逻辑层在利用与该流程实例的实例标识对应的线程标识所属的线程执行该流程实例的流程操作节点时,向所述展现层发送流程执行操作界面;
所述展现层还用于获取用户基于流程执行操作界面输入的流程执行操作,并基于所述流程执行操作调用接入层的API接口生成执行指令,其中,所述执行指令包括业务ID和租户ID;
所述接入层还用于发布所述执行指令,并基于所述执行指令中的业务ID获取与该业务ID对应的目标流程实例,并获取所述目标流程实例中与所述执行指令中的租户ID对应的流程节点;
所述业务逻辑层还用于在监控到所述展现层发布的执行指令时查找与目标流程实例的实例标识对应的线程标识,并利用该线程标识所属的线程执行所述执行指令,以调节所述执行指令中的租户ID对应的流程节点流的工作状态。


3.根据权利要求2所述的工作流管理平台,其特征在于,所述执行指令包括通过指令、拒绝指令、选择指令、退回指令或加签指令。


4.根据权利要求1所述的工作流管理平台,其特征在于,针对每个流程实例,该流程实例中包括至少一个流程节点,当该至少一个流程节点中包括回调节点时,所述展现层还用于基于用户的流程回调操...

【专利技术属性】
技术研发人员:陈海龙高军伟杨茜
申请(专利权)人:石化盈科信息技术有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1