一种基于Flowable的流程管理方法及系统
文献发布时间:2024-04-18 19:58:53
技术领域
本发明属于流程管理技术领域,具体涉及一种基于Flowable的流程管理方法及系统。
背景技术
传统的流程管理方式通常依赖于人工操作,或者传统的工作流引擎存在流程繁琐、效率低下、易出错等问题。随着企业规模的扩大和业务的复杂化,需要一种更灵活、高效的流程管理系统来满足实际需求。
发明内容
本发明的目的在于克服现有技术之缺陷,本发明提供了一种基于Flowable的流程管理方法及系统。本发明能够实现对企业内部各类流程的自动化管理和监控,提高工作效率和质量。通过引入Flowable作为流程引擎,本发明能够灵活适应不同的业务流程,并具备可扩展性和可定制性。同时,本发明还提供了实时监控和数据分析等功能,能够帮助企业实现流程优化和决策支持。本发明可应用于各种业务场景,如项目管理、审批流程、客户服务等领域。
为了到达预期效果,本发明采用了以下技术方案:
本发明公开了一种基于Flowable的流程管理方法,包括:
在Flowable框架中,根据实际业务需求配置相应的流程模型,根据实际业务需求配置相应的表单,根据业务类型将所述流程模型和实际业务进行绑定并发布流程,根据实际业务需求选择相应的业务并发起流程;
当流程任务下发到部门时,将当前任务节点的任务处理人设置为部门用户,所述部门用户通过优先匹配原则优先匹配得到。
进一步地,所述部门用户通过优先匹配原则优先匹配得到具体包括:将当前任务节点所对应的岗位下所有的用户与前一任务节点的部门用户做交集处理,并将交叉用户设置为任务处理人。
进一步地,该方法还包括:在修改流程管理数据时,采用Redis队列进行修改排队以避免触发数据库锁机制。
进一步地,所述采用Redis队列进行修改排队以避免触发数据库锁机制具体包括:
取消Flowable框架锁机制;
通过Java注解方式定义业务类型、数据主键以及锁定时间;
根据任务ID锁定数据,同一业务类型锁定同一数据主键;
建立Redis队列并消费数据。
进一步地,所述根据实际业务需求配置相应的流程模型具体包括:在自定义的流程编辑设计器中根据实际业务需求配置相应的流程模型,所述流程编辑设计器基于VUE框架开发得到,所述流程编辑设计器用于实现动态配置流程节点候选人、处置时效、外部接口。
进一步地,所述根据实际业务需求配置相应的表单具体包括:在表单设计器中根据实际业务需求配置相应的表单,所述表单设计器基于vue、elementui、vant构建得到。
进一步地,所述表单设计器基于容器原理分为设计器和渲染器,所述表单设计器将用户选择的表单通过json格式进行保存,渲染器通过解析json进行页面渲染,同时保存的数据通过vue的双向绑定原理进行数据渲染。
进一步地,该方法还包括:用户通过流程监控页面实时查看当前流程所属的状态、已完成节点的处置信息、未完成节点的待办信息。
本发明还公开了一种基于Flowable的流程管理系统,包括:
Flowable框架,用于提供流程工作引擎;
流程编辑设计器,用于根据实际业务需求配置相应的流程模型;
表单设计器,用于根据实际业务需求配置相应的表单;
管理模块,用于根据业务类型将所述流程模型和实际业务进行绑定并发布流程,根据实际业务需求选择相应的业务并发起流程;当流程任务下发到部门时,将当前任务节点的任务处理人设置为部门用户,所述部门用户通过优先匹配原则优先匹配得到。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。
与现有技术相比,本发明的有益效果是:本发明提供了一种基于Flowable的流程管理方法及系统,本发明能够实现对企业内部各类流程的自动化管理和监控,提高工作效率和质量。通过引入Flowable作为流程引擎,本发明的系统能够灵活适应不同的业务流程,并具备可扩展性和可定制性。同时,本发明的系统还提供了实时监控和数据分析等功能,能够帮助企业实现流程优化和决策支持。本发明的系统可应用于各种业务场景,如项目管理、审批流程、客户服务等领域。本发明还提供了可视化的流程模型设计界面,方便用户进行流程设计和配置。本发明能够自动化处理流程的流转、任务分配和执行,提高了工作效率和质量。本发明还提供了数据安全和权限管理机制,能够保护企业数据的机密性和完整性。本发明简化了流程管理的流程,降低了人工干预和错误的风险。本发明可以快速适应变化的业务需求,提高了企业的应变能力和竞争力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种基于Flowable的流程管理方法的流程图。
图2是本发明实施例提供的一种基于Flowable的流程管理方法的应用示例图。
图3是本发明实施例提供的一种基于Flowable的流程管理方法的流程编辑设计器示意图。
图4是本发明实施例提供的一种基于Flowable的流程管理方法的表单设计器示意图。
图5是本发明实施例提供的一种基于Flowable的流程管理方法的Flowable框架锁机制流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
参见图1至图5,本发明公开了一种基于Flowable的流程管理方法,包括:
在Flowable框架中,根据实际业务需求配置相应的流程模型,根据实际业务需求配置相应的表单,根据业务类型将所述流程模型和实际业务进行绑定并发布流程,根据实际业务需求选择相应的业务并发起流程;
当流程任务下发到部门时,将当前任务节点的任务处理人设置为部门用户,所述部门用户通过优先匹配原则优先匹配得到。
本发明能够实现对企业内部各类流程的自动化管理和监控,提高了工作效率和质量。本发明通过引入Flowable作为流程引擎,能够灵活适应不同的业务流程,并具备可扩展性和可定制性。同时,本发明还提供了实时监控和数据分析等功能,可以帮助企业实现流程优化和决策支持。本发明可应用于各种业务场景,如项目管理、审批流程、客户服务等领域。
优选地,所述根据实际业务需求配置相应的流程模型具体包括:在自定义的流程编辑设计器中根据实际业务需求配置相应的流程模型,所述流程编辑设计器基于VUE框架开发得到,所述流程编辑设计器用于实现动态配置流程节点候选人、处置时效、外部接口。
示例性的,打开流程编辑设计器页面,根据具体的业务需求配置相应的流程模型。用户可以通过拖拽方式选择任务节点,配置节点属性,包括节点类型(签收、反馈、分派、审批等)、人员配置、表单配置、执行监听、任务监听等。Flowable官方提供了一套流程编辑页面,由于页面配置过于繁琐且不易于植入系统。基于此,本发明开发了一套自定义的流程编辑设计器,如图3所示。该流程编辑设计器基于VUE框架开发,可动态配置流程节点候选人、处置时效、外部接口等,也可独立打包成插件植入第三方系统。相比较于官方的流程设计器,此设计器页面更加简洁、配置更加灵活、植入更加方便。
进一步地,所述根据实际业务需求配置相应的表单具体包括:在表单设计器中根据实际业务需求配置相应的表单,所述表单设计器基于vue、elementui、vant构建得到。
进一步地,所述表单设计器基于容器原理分为设计器和渲染器,所述表单设计器将用户选择的表单通过json格式进行保存,渲染器通过解析json进行页面渲染,同时保存的数据通过vue的双向绑定原理进行数据渲染。
示例性的,打开表单设计器,如图4所示,根据具体业务配置相应表单。用户可以通过拖拽方式选择表单元素,表单设计器基于vue+elementui+vant构建,可单独引入,目前适配PC和移动端,界面简洁灵活。本发明可基于不同业务配置任何类型的表单,同时可关联流程模型。表单设计器页面基于容器原理分为设计器和渲染器,用户拖拽后的表单通过json格式进行保存,渲染器通过解析json进行页面渲染,同时保存的数据通过vue的双向绑定原理进行数据渲染。表单设计器支持脚本语言嵌入,可以实现事件外部插入。
用户可以根据业务类型将绘制的模型和业务进行绑定,绑定模型后发布流程,即可进行流程实例的创建。流程发布基于版本控制原理,已经发布的流程不影响以前的流程。
用户可以根据具体需求选择业务进行流程的发起,具体地,可以基于Rete算法和模式匹配原则进行任务选取。假设系统中有N条规则,平均每个规则的条件部分有P个模式,在某个时点有M个事实需要处理,则规则匹配要做的事情就是:对每一个规则r,判断当前的事实o是否满足LHS(r)=True,如果满足,则将规则r的实例r(o)(即规则+满足该规则的事实)加到冲突集中等待处理。通常采取如下过程:从N条规则中取出一条r;从M个事实中取出P个事实的一个组合c;用c测试LHS(r),如果LHS(r(c))=True,将RHS(r(c))加入队列中;如果M个事实还存在其他的组合c,goto 3;取出下一条规则r,goto 2;实际的问题可能更复杂,在规则的执行过程中可能会改变RHS的数据,从而使得已经匹配的规则实例失效或者产生新的满足规则的匹配,形成一种“动态”的匹配链。基于此,本发明又加入了Rete算法,将初始数据(fact)输入Working Memory(工作记忆,是一种对信息进行暂时加工和贮存的容量有限的记忆系统),使用Pattern Matcher比较规则(rule)和数据(fact)。如果执行规则存在冲突(conflict),即同时激活了多个规则,将冲突的规则放入冲突集合,解决冲突后,将激活的规则按顺序放入Agenda,使用规则引擎执行Agenda中的规则。重复以上步骤,直到执行完毕所有Agenda中的规则。
优选的实施例中,所述部门用户通过优先匹配原则优先匹配得到具体包括:将当前任务节点所对应的岗位下所有的用户与前一任务节点的部门用户做交集处理,并将交叉用户设置为任务处理人。
一方面,该方法还包括:在修改流程管理数据时,采用Redis队列进行修改排队以避免触发数据库锁机制。
另一方面,所述采用Redis队列进行修改排队以避免触发数据库锁机制具体包括:
取消Flowable框架锁机制;
通过Java注解方式定义业务类型、数据主键以及锁定时间;
根据任务ID锁定数据,同一业务类型锁定同一数据主键;
建立Redis队列并消费数据。
示例性的,任务处置过程主要涉及到任务处理人的选取和下一节点任务候选人的设置问题。Flowable框架是基于用户设置任务任务处理人,也就是说每一个任务上都是设置的是租户ID,那么当用户岗位或部门发生调动时,任务可能就不该此人处理,需要回退操作。当数据量很大时操作起来就十分繁琐。基于此本发明优化了任务处理人设置逻辑。当任务下发到部门时,当前任务节点设置任务处理人为部门,通过优先匹配原则,部门用户优先匹配,如果任务节点设置了岗位,然后取岗位下所有的用户与之前的部门用户做交集,交叉部分为任务处理人。该方法很好的规避了当用户发生部门或岗位发生改变时,任务节点处理人无法随之改变问题。传统的Flowable框架解决此问题一般是用户手动进行回退或者移交任务,当任务数量庞大时效率十分低且用户体验很差,通过本方法可以有效解决以上问题。Flowable框架对于多用户同时操作同一个任务采用了基于锁定的Lock-Base算法,这种算法使用锁定机制来控制对数据库的访问。当一个开发者想要修改数据时,需要获取一个锁定,其他人则必须等待这个锁定释放才能进行修改。这种方式可以防止多个人同时修改同一条代码,但会引入开发者间的竞争和效率问题。在大数据高并发下显然不是很合理,基于此本发明优化了Flowable框架锁机制,通过Redis队列让用户进去排队,避免触发数据库锁机制。此方法具体实现如图5所示,首先取消框架锁机制,再通过通过Java注解方式定义业务类型、数据主键、锁定时间,同一类型业务跟随同一个主键的数据进入,建立Redis队列进行排队并消费数据。此操作有效解决了高并发下系统崩溃或卡死等问题。
优选的实施例中,该方法还包括:用户通过流程监控页面实时查看当前流程所属的状态、已完成节点的处置信息、未完成节点的待办信息。
具体地,本发明提供了一套友好的流程监控页面,用户可实时查看目前流程所属的状态、已完成节点的处置信息、未完成节点的待办信息等,并且可对数据流程进行溯源分析。
流程结束后,本发明基于流程流转数据适配了一套可视化报表统计功能。用户可以根据业务类型、时间、处置状态、超期状态、处置人、机构等不同维度进行多维度分析,为企业提供了准确的分析和决策依据。
需要说明的是,本发明可应用于任何种类的业务流程,特别用于审批类业务流程。
本发明还公开了一种基于Flowable的流程管理系统,包括:
Flowable框架,用于提供流程工作引擎;
流程编辑设计器,用于根据实际业务需求配置相应的流程模型;
表单设计器,用于根据实际业务需求配置相应的表单;
管理模块,用于根据业务类型将所述流程模型和实际业务进行绑定并发布流程,根据实际业务需求选择相应的业务并发起流程;当流程任务下发到部门时,将当前任务节点的任务处理人设置为部门用户,所述部门用户通过优先匹配原则优先匹配得到。
优选的实施例中,所述基于Flowable的流程管理系统包括以下组件:
流程模型设计器,所示流程模型设计器提供了可视化的界面,方便用户进行流程模型的设计和配置。用户可以根据实际业务需求,通过拖拽和连接的方式构建流程模型,设定各个节点的属性和规则。
Flowable流程引擎,所述Flowable流程引擎负责解析、执行和控制流程模型。Flowable流程引擎能够根据流程模型的定义,自动处理流程的流转、任务的分配和执行、数据的处理等操作。
流程监控组件,所述流程监控组件提供了实时的流程监控和统计功能。用户可以通过监控界面查看各个流程实例的状态、进度和性能指标。
数据分析组件,所述数据分析组件负责对流程数据进行统计和分析,提供数据报表和决策支持。
值得注意的是,本发明方法不限制其执行主体。可选地,本发明方法的执行主体可以为一种基于Flowable的流程管理系统。具体地,本发明方法的执行主体可以为所述基于Flowable的流程管理系统中的服务器。
本流程管理系统可以广泛应用于各种企业和组织的业务流程管理中,以下是一些应用场景的示例:
1.项目管理:通过该系统,项目经理可以设计并进行项目流程的自动化管理,包括任务分配、进度跟踪、报表生成等,提高项目执行的效率和质量。
2.审批流程:企业内部的各类审批流程,如请假、报销等,可以通过该系统进行自动化管理,代替传统的纸质或电子邮件审批方式,简化审批流程,提高审批效率。
3.客户服务:通过该系统,企业可以建立客户服务流程,实现客户需求的及时响应和处理,提升客户满意度和忠诚度。
4.质量管理:在生产流程中,可以利用该系统进行质量管理的流程管理,包括质量检查、异常处理、追溯等,提升产品质量。
5.生产流程优化:通过该系统,企业可以对生产流程进行全面管理和优化。从物料采购到生产上线,再到产品出货,系统可以自动跟踪和监控整个流程,提高生产效率和产品质量。同时,系统还能够自动化处理异常情况,如供应链延迟或质量问题,及时采取相应的措施,减少生产中断和损失。
6.销售流程管理:在销售流程中,该系统可以帮助企业跟踪销售机会、客户需求和订单进度。销售人员可以通过系统获取实时的销售数据和客户信息,了解销售情况并及时调整销售策略。同时,系统能够自动化流程中的各项任务,如报价、合同审批等,提高销售效率和客户满意度。
7.服务支持流程:对于企业提供的服务支持,如维修、售后等,该系统可以协助进行流程管理。通过建立相应的流程模型和任务分配规则,企业可以追踪和管理服务请求、工作派发和服务完成情况。系统可以提供实时的服务状态和工作量统计,帮助企业进行资源调配和服务质量改进。
8.跨部门协作流程:在大型企业或跨部门合作的项目中,该系统能够协助企业进行流程管理和协作。不同部门的员工可以在系统中协同处理任务、共享信息和交流沟通,实现信息的及时传递和工作的协同完成。系统可以提供任务分配和执行的实时监控,确保跨部门协作的顺利进行。
本专利涉及的基于Flowable的流程管理系统具有广泛的实施应用场景,无论是项目管理、审批流程、客户服务,还是生产流程、销售流程和跨部门协作等,该系统都能够提供自动化的流程管理和监控功能,提高工作效率和质量。通过引入Flowable作为流程引擎,并结合流程模型设计、流程监控和数据分析等组件,该系统具备了灵活性、可扩展性和定制性,能够满足企业不同业务流程的需求。该系统的应用将为企业带来巨大的效益和竞争优势,推动业务的持续发展。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。
所述所述计算机可读存储介质的实施例与前述方法实施例一一对应实现,在此不再赘述。
基于同一发明思路,本发明还公开了一种电子设备,该电子设备可以包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口、存储器通过通信总线完成相互间的通信。处理器可以调用存储器中的逻辑指令,以执行一种基于Flowable的流程管理方法,包括:
在Flowable框架中,根据实际业务需求配置相应的流程模型,根据实际业务需求配置相应的表单,根据业务类型将所述流程模型和实际业务进行绑定并发布流程,根据实际业务需求选择相应的业务并发起流程;
当流程任务下发到部门时,将当前任务节点的任务处理人设置为部门用户,所述部门用户通过优先匹配原则优先匹配得到。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的一种基于Flowable的流程管理方法,包括:
在Flowable框架中,根据实际业务需求配置相应的流程模型,根据实际业务需求配置相应的表单,根据业务类型将所述流程模型和实际业务进行绑定并发布流程,根据实际业务需求选择相应的业务并发起流程;
当流程任务下发到部门时,将当前任务节点的任务处理人设置为部门用户,所述部门用户通过优先匹配原则优先匹配得到。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种基于专利分类号的专利文件流程化智能管理方法
- 基于物联网的运输流程管理系统及管理方法
- 一种应用于UPS单片机控制的最小操作系统及基于最小操作系统的多任务管理方法
- 一种基于智慧工地的建筑工程管理方法及系统
- 基于LSTM终端自适应优化的安全策略选择方法、装置及介质
- 基于系统流程图的GO-FLOW自动建模和分析方法、系统及介质