一种基于轻量级流程引擎的流程程序开发方法及装置与流程

文档序号:18099540发布日期:2019-07-06 11:16阅读:247来源:国知局
一种基于轻量级流程引擎的流程程序开发方法及装置与流程

本发明实施例涉及供应链管理技术领域,尤其是涉及一种基于轻量级流程引擎的流程程序开发方法及装置。



背景技术:

供应链金融需要全面获取生态圈内各参与方的商流、物流、资金流等信息,并进行快速的决策,捕获市场商机。供应链管理系统需要提供灵活可配置的流程引擎,以根据业务需要快速定制流程,实现业务的快速办理。现有的流程软件,例如,activiti或者jdpm(javabusinessprocessmanagement,业务流程管理),均是针对特定流程编写的程序,虽然功能都很强大,但比较复杂,学习和二次开发的难度大、门槛高,支持的开发语言也以java为主,存在一定的局限性。

举例来说,activiti需要针对业务流程通过eclipse插件编写业务流程图,由业务流程图生成程序。activiti是当前流行的开源工作流引擎,具有强大功能和灵活的配置能力,但activiti仅支持java,且需要引入的数据模型比较复杂,二次开发难度大、门槛高,扩展需要与很多的event来实现。因此,在供应链管理这样服务小微企业,需要快速进行决策的场景,并不十分适合。jbpm是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jbpm与activiti一样是当前流行的开源工作流引擎,应用也十分广泛而成熟。jbpm与activiti一样仅支持java,同样需要引入的数据模型比较复杂,而且持久化引擎仅支持hibernate,有一定局限性。

在实现本发明实施例的过程中,发明人发现现有的开发流程程序的软件比较复杂,学习和二次开发的难度大,存在局限性。



技术实现要素:

本发明所要解决的技术问题是如何解决现有的开发流程程序的软件比较复杂,学习和二次开发的难度大,存在局限性的问题。

针对以上技术问题,本发明的实施例提供了一种基于轻量级流程引擎的流程程序开发方法,包括:

获取欲创建的目标流程所属的目标流程类型,并获取与所述目标流程类型对应的步骤配置信息;

获取用户根据所述步骤配置信息配置的流程步骤,根据配置的流程步骤和预先创建的与所述目标流程类型对应的程序框架生成流程程序;

将生成的流程程序作为所述目标流程,存储所述目标流程以在接收到调用所述目标流程的信息后,执行所述目标流程。

本发明的实施例提供了一种基于轻量级流程引擎的流程程序开发装置,包括:

获取模块,用于获取欲创建的目标流程所属的目标流程类型,并获取与所述目标流程类型对应的步骤配置信息;

生成模块,用于获取用户根据所述步骤配置信息配置的流程步骤,根据配置的流程步骤和预先创建的与所述目标流程类型对应的程序框架生成流程程序;

存储模块,用于将生成的流程程序作为所述目标流程,存储所述目标流程以在接收到调用所述目标流程的信息后,执行所述目标流程。

本发明的实施例提供了一种电子设备,包括:

至少一个处理器、至少一个存储器、通信接口和总线;其中,

所述处理器、存储器、通信接口通过所述总线完成相互间的通信;

所述通信接口用于该电子设备和其它电子设备的通信设备之间的信息传输;

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行以上任一项所述的方法。

本实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行以上任一项所述的方法。

本发明的实施例提供了一种基于轻量级流程引擎的流程程序开发方法及装置,流程引擎在生成目标流程的流程程序时,先获取该目标流程所属的目标流程类型。然后获取与该目标流程类型对应的步骤配置信息,以使得用户能够根据这些步骤配置信息配置流程步骤。流程引擎根据用户配置好的流程步骤和预先存储的与目标流程类型对应的程序框架生成该目标流程的流程程序。流程引擎提供步骤配置信息,用户只需要通过少量的代码便可对流程步骤进行配置,二次开发难度低。用户配置流程步骤所使用的语言可以不同于流程引擎生成的流程程序所使用的语言,这种对流程程序的开发降低了流程软件的开发难度。本发明提供的流程引擎便于实现二次开发、对开发者的要求低,流程规范性更好,突破了传统流程程序开发的局限性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种基于轻量级流程引擎的流程程序开发方法的流程示意图;

图2是本发明另一个实施例提供的流程引擎中数据关系示意图;

图3是本发明另一个实施例提供的创建“放款审核”这一流程的流程程序开发示意图;

图4是本发明另一个实施例提供的基于轻量级流程引擎的流程程序开发装置的结构框图;

图5是本发明另一个实施例提供的电子设备的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1示出了本实施例提供的一种基于轻量级流程引擎的流程程序开发方法的流程示意图,参见图1,该基于轻量级流程引擎的流程程序开发方法包括:

101:获取欲创建的目标流程所属的目标流程类型,并获取与所述目标流程类型对应的步骤配置信息;

102:获取用户根据所述步骤配置信息配置的流程步骤,根据配置的流程步骤和预先创建的与所述目标流程类型对应的程序框架生成流程程序;

103:将生成的流程程序作为所述目标流程,存储所述目标流程以在接收到调用所述目标流程的信息后,执行所述目标流程。

本实施例提供的方法由安装有通过上述方法实现流程程序开发的流程引擎的设备执行。该流程引擎中预先存储有不同流程类型对应的步骤配置信息,当需要开发某一流程程序时,流程引擎调出与该流程的流程类型对应的步骤配置信息。用户根据流程引擎提供的步骤配置信息配置流程步骤,流程引擎根据配置的流程步骤生成流程程序,提供调用该流程程序的接口。当需要使用该流程时,通过流程引擎提供的接口便可实现对该流程的调用。其中,流程引擎获取到与目标流程类型对应的步骤配置信息后,需显示该步骤配置信息或者将该步骤配置信息发送给用户,例如,流程引擎通过与用户交互的显示界面显示步骤配置信息,以使得用户根据该步骤配置信息配置流程步骤。

流程类型可以是根据流程执行的过程中调用的逻辑划分的类别,例如,审批类的流程或者记录类的流程。步骤配置信息是用户在补充流程步骤过程中所需要的信息。不同的流程类型对应的步骤配置信息不同。例如,对于审批类的流程,步骤配置信息包括每一流程步骤中进行审核的审核人信息。对于记录类的流程,步骤配置信息包括执行流程步骤中需要依照的标准,例如,进行判断运算时的阈值。流程框架为使得流程步骤能够顺利执行的程序,不同的流程类型对应不同的流程框架。在用户配置好流程步骤后,流程引擎需要将用户配置的步骤带入流程框架实现流程的运行。可理解的是,由于用户配置的流程步骤相当于仅配置了流程各个步骤中的参数,因此用户可以使用任一种类的语言进行流程步骤的配置,也就是说,用户配置流程步骤所使用的语言可以与流程框架的语言不相同,这大大降低了流程程序开发的难度。

本实施例提供了一种基于轻量级流程引擎的流程程序开发方法,流程引擎在生成目标流程的流程程序时,先获取该目标流程所属的目标流程类型。然后获取与该目标流程类型对应的步骤配置信息,以使得用户能够根据这些步骤配置信息配置流程步骤。流程引擎根据用户配置好的流程步骤和预先存储的与目标流程类型对应的程序框架生成该目标流程的流程程序。流程引擎提供步骤配置信息,用户只需要通过少量的代码便可对流程步骤进行配置,二次开发难度低。用户配置流程步骤所使用的语言可以不同于流程引擎生成的流程程序所使用的语言,这种对流程程序的开发降低了流程软件的开发难度。本发明提供的流程引擎便于实现二次开发、对开发者的要求低,流程规范性更好,突破了传统流程程序开发的局限性。

进一步地,在上述实施例的基础上,还包括:

在执行所述目标流程的过程中,记录本次调用所述目标流程的流程申请信息、流程操作信息和流程附件;

其中,所述流程申请信息包括本次调用所述目标流程对应的申请标识和发起人信息;所述流程操作信息包括本次调用所述目标流程中每一流程步骤的操作人和业务执行状态;所述流程附件包括与本次调用所述目标流程有关的业务表单数据。

在执行目标流程的过程中,通过记录本次调用所述目标流程的流程申请信息、流程操作信息和流程附件,将流程和业务关联,便于对目标流程的调用情况和每一次业务执行的记录进行查询。图2为本实施例提供的流程引擎中数据关系示意图,参见图2,在流程引擎中通过“流程类型”表来定义不同种类的流程,如审批类流程,并将每一类审批流所需要的步骤记录到“流程步骤”表中。当需要创建某一目标流程时,流程引擎通过“流程类型”和“流程步骤”提供用户创建目标流程的步骤配置信息,通过用户配置好的流程步骤结合存储的流程框架生成流程程序。

如图2所示,流程引擎中包括分别用于存储流程申请信息、流程操作信息和流程附件的表。当目标流程运行起来时,为本次运行该目标流程分配一个申请标识(即申请id),将本次执行目标流程的信息和申请id关联地存储起来。在目标流程运行的过程中,并将流转过程和环节记录到“流程操作”表中。在执行目标流程过程中,各个环节需要查看的业务表单数据,则统一记录到一张“流程附件”表,该表仅记录业务表单的类型、对应的数据表和主键值。

当需要调阅表单信息时,通过流程引擎的解析,将相应业务表中的记录提取并进行展示,实现对流程的灵活定制,并保证在流程各个环节都能查看任意业务表单的数据。需要说明的是,由于本方案中的数据模型和解析引擎均具有通用性,因此并不限定编程语言、数据库和持久化引擎。

本实施例提供了一种基于轻量级流程引擎的流程程序开发方法,通过对流程申请信息、流程操作信息和流程附件的记录,方便对流程调用情况和相关业务执行情况的查询。

进一步地,在上述各实施例的基础上,所述记录本次调用所述目标流程的流程申请信息,包括:

生成本次调用所述目标流程对应的申请标识,将本次调用所述目标流程的发起人信息、所述目标流程类型和本次调用所述目标流程所处理的业务的业务状态与所述申请标识关联地存储起来。

如图2所示,每一次调用目标流程,均生成本次调用目标流程对应的申请id,将该目标流程的流程类型id、本次调用目标流程执行的业务的状态信息、本次调用目标流程的操作人,对调用目标流程的意见等与本次调用目标流程相关的信息均与该申请id关联地存储起来。通过该申请id便可查询到与本次调用目标流程相关的信息。

进一步地,在上述各实施例的基础上,所述记录本次调用所述目标流程的流程操作信息,包括:

对所述目标流程中的任一目标流程步骤,生成所述目标流程步骤对应的流程步骤标识,将执行所述目标流程步骤的操作人、所述目标流程步骤对应的业务执行状态和所述目标流程步骤对应的评价信息与所述流程步骤标识关联地存储起来,并建立流程步骤标识和所述申请标识的映射关系。

如图2所示,在执行上述申请id的目标流程时,对每一流程步骤生成流程步骤标识,例如,对目标流程步骤生成操作id,将执行该目标流程步骤过程的相关信息和该操作id关联地存储起来,同时建立该操作id和申请id的映射关系。执行该目标流程步骤过程的相关信息包括执行该目标流程步骤的操作人、该目标流程步骤的执行状态,执行过程中的意见等信息。通过申请id中每一流程步骤对应的流程步骤标识可以查询到与每一流程步骤相关的信息。

进一步地,在上述各实施例的基础上,所述记录本次调用所述目标流程的流程附件,包括:

对所述目标流程步骤,获取执行所述目标流程步骤过程中调用或者创建的每一业务表单数据,将每一业务表单数据和对每一业务表单数据的操作信息与所述流程步骤标识关联地存储起来。

如图2所示,对于某一目标流程步骤,可以将该目标流程步骤中调用或者创建的业务表单数据与该目标流程步骤的流程步骤标识关联地存储起来。通过流程步骤标识便可查询到与该流程步骤标识对应的流程步骤有关的所有业务表单数据。在存储业务表单数据的过程中,还可以将对表单的操作信息进行存储。

本实施例提供的方法将常见的系统流程抽象为流程申请、流程操作、流程步骤、流程类型、流程附件5个对象。流程申请用于记录发起的业务申请信息;流程操作记录每一次业务审批各个中间环节的信息;流程步骤记录每条流程操作记录对应的环节;流程附件记录流程对应的业务表单的id;流程类型记录每一次业务审批的类型,以适应所有类型的业务审批。

进一步地,在上述各实施例的基础上,还包括:

若接收到查看对所述目标流程的调用记录的信息,则显示调用所述目标流程对应的所有申请标识;

若接收到查看所述目标流程步骤的执行记录的信息,则显示与所述流程步骤标识关联存储的操作人、业务执行状态和评价信息;

若接收到查看与所述目标流程步骤有关的业务表单数据的信息,则显示与所述流程步骤标识关联存储的业务表单数据。

通过存储流程申请信息、流程操作信息和流程附件过程中建立的关联关系和映射关系,可以快速查询到每一业务的业务状态、处理业务过程中执行的流程步骤和处理业务过程中设计的表单数据。

进一步地,在上述各实施例的基础上,所述获取欲创建的目标流程所属的目标流程类型,并获取与所述目标流程类型对应的步骤配置信息,包括:

获取欲创建的目标流程所属的目标流程类型,判断预先是否存储有所述目标流程类型对应的步骤配置信息,若是,获取与所述目标流程类型对应的步骤配置信息,否则,存储本次新建的与所述目标流程类型对应的步骤配置信息。

在创建目标流程的过程中,若流程引擎中存储有目标流程所属的目标流程类型,则获取该目标流程类型对应的步骤配置信息。若流程引擎中还没有存储目标流程所属的目标流程类型,则需要用户重新创建目标流程类型对应的步骤配置信息,必要时还需要重新编写该目标流程类型对应的程序框架。流程引擎将创建的与目标流程类型对应的步骤配置信息和程序框架进行存储,以便后续创建与目标流程类型同类型的程序时可以直接调用步骤配置信息和程序框架来生成流程程序,提高流程程序开发的效率。

以审批类流程为例,进行审批类流程开发和存储相关信息的步骤包括:

步骤1:配置该类业务审批流的流程类型、流程步骤等信息;

步骤2:发起业务审批流程,在“流程申请”中记录流程发起信息:如流程的类型、意见、发起人、业务状态等信息;

步骤3:流程不断流转,在“流程操作”表中增加每一个环节的处理人、审批意见、审批状态等信息;

步骤4:“流程附件”会将每次审批、每个环节对应的业务表单指针记录下来,以使在各个环节都能查看对应的业务数据。

为了进一步说明流程程序的开发和应用过程,图3为本实施例提供的创建“放款审核”这一流程的流程程序开发示意图,参见图3,首先,新增审批类型-“放款审核”,然后配置流程环节与步骤。流程引擎根据配置好的流程步骤生成流程程序。当通过流程引擎中对应于“放款审核”的接口调用该流程时,系统记录申请信息流程流转。即系统记录每个环节处理人、处理意见等信息。在“放款审核”流程结束后,需要将“放款审核”的业务信息的状态进行变更。

本实施例提供了一种轻量级、可配置的流程引擎,利用少量的数据表来定义流程类型、配置流程环节、记录流转的阶段,并利用一个通用的数据模型,来记录流程对应的业务表单,通过少量的配置工作,就可以完整地定义一套业务审批流程,并适配所有业务场景的业务元素。该方法大大提高了开发的效率,能够快速通过流程配置和少量代码编写完成业务审批流程的研发,且所有系统流程的规范性、一致性很强,提升了研发的质量。此外,本实施例提供的方法实现了业务处理和流程处理的解耦,使得该方案的通用性大大增强,提高了信息系统审批流程的研发效率和质量。

第二方面,图4为本实施例提供的基于轻量级流程引擎的流程程序开发装置的结构框图,参见图4,该装置包括获取模块401、生成模块402和存储模块403,其中,

获取模块401,用于获取欲创建的目标流程所属的目标流程类型,并获取与所述目标流程类型对应的步骤配置信息;

生成模块402,用于获取用户根据所述步骤配置信息配置的流程步骤,根据配置的流程步骤和预先创建的与所述目标流程类型对应的程序框架生成流程程序;

存储模块403,用于将生成的流程程序作为所述目标流程,存储所述目标流程以在接收到调用所述目标流程的信息后,执行所述目标流程。

本实施例提供的基于轻量级流程引擎的流程程序开发装置适用于上述实施例提供的基于轻量级流程引擎的流程程序开发方法,在此不再赘述。

本实施例提供了一种基于轻量级流程引擎的流程程序开发装置,流程引擎在生成目标流程的流程程序时,先获取该目标流程所属的目标流程类型。然后获取与该目标流程类型对应的步骤配置信息,以使得用户能够根据这些步骤配置信息配置流程步骤。流程引擎根据用户配置好的流程步骤和预先存储的与目标流程类型对应的程序框架生成该目标流程的流程程序。流程引擎提供步骤配置信息,用户只需要通过少量的代码便可对流程步骤进行配置,二次开发难度低。用户配置流程步骤所使用的语言可以不同于流程引擎生成的流程程序所使用的语言,这种对流程程序的开发降低了流程软件的开发难度。本发明提供的流程引擎便于实现二次开发、对开发者的要求低,流程规范性更好,突破了传统流程程序开发的局限性。

第三方面,图5是示出本实施例提供的电子设备的结构框图。

参照图5,所述电子设备包括:处理器(processor)501、存储器(memory)502、通信接口(communicationsinterface)503和总线504;

其中,

所述处理器501、存储器502、通信接口503通过所述总线504完成相互间的通信;

所述通信接口503用于该电子设备和其它电子设备的通信设备之间的信息传输;

所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取欲创建的目标流程所属的目标流程类型,并获取与所述目标流程类型对应的步骤配置信息;获取用户根据所述步骤配置信息配置的流程步骤,根据配置的流程步骤和预先创建的与所述目标流程类型对应的程序框架生成流程程序;将生成的流程程序作为所述目标流程,存储所述目标流程以在接收到调用所述目标流程的信息后,执行所述目标流程。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取欲创建的目标流程所属的目标流程类型,并获取与所述目标流程类型对应的步骤配置信息;获取用户根据所述步骤配置信息配置的流程步骤,根据配置的流程步骤和预先创建的与所述目标流程类型对应的程序框架生成流程程序;将生成的流程程序作为所述目标流程,存储所述目标流程以在接收到调用所述目标流程的信息后,执行所述目标流程。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:获取欲创建的目标流程所属的目标流程类型,并获取与所述目标流程类型对应的步骤配置信息;获取用户根据所述步骤配置信息配置的流程步骤,根据配置的流程步骤和预先创建的与所述目标流程类型对应的程序框架生成流程程序;将生成的流程程序作为所述目标流程,存储所述目标流程以在接收到调用所述目标流程的信息后,执行所述目标流程。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1