发明内容
有鉴于此,本发明的目的在于提供工作流中间件的流程仿真方法、装置及系统,在启动流程仿真后可以自动完成整个仿真过程,用以解决现有流程仿真方法不适用于非程序员的普通用户问题。
为实现上述目的,本发明提供如下技术方案:
一种工作流中间件的流程仿真方法,包括:
依据用户的请求,从数据库中获取所述用户指定的流程模板;
将所述流程模板按照广度优先算法进行遍历,获得仿真数据;
将所述仿真数据存储于第一可扩展标记语言XML文件;
调用工作流接口,对存储在所述第一XML文件中的仿真数据进行仿真,获得流程运行数据;
将所述流程运行数据进行存储;
对所述流程运行数据进行分析,获得分析结果;
将所述分析结果存储于第二XML文件。
优选的,进一步包括对流程运行数据存储位置的确定,具体为:接收到用户的持久化请求,将所述流程运行数据的存储位置确定为仿真库;未接收到用户的持久化请求,将所述流程运行数据的存储位置确定为内存。
优选的,对所述流程模板进行校验,将通过校验的流程模板按照广度优先算法进行遍历,对未通过校验的流程模板进行分析。
优选的,进一步包括对异常情况进行记录。
一种工作流中间件的流程仿真装置,包括:
流程模板获取单元、仿真数据创建单元、第一存储单元、仿真单元、第二存储单元、分析单元和第三存储单元;
所述流程模板获取单元用于,依据用户的请求,从数据库中获取所述用户指定的流程模板;
所述仿真数据创建单元用于,将所述流程模板按照广度优先算法进行遍历,获得仿真数据;
所述第一存储单元用于,将所述仿真数据存储于第一可扩展标记语言XML文件;
所述仿真单元用于,调用工作流接口,对存储于所述第一XML文件中的仿真数据进行仿真,获得流程运行数据;
所述第二存储单元用于,将所述流程运行数据进行存储;
所述分析单元用于,对所述流程运行数据进行分析,获得分析结果;
所述第三存储单元用于,将所述分析结果存储于第二XML文件。
优选的,进一步包括存储位置确定单元,用于:接收到用户的持久化请求,将运行数据存储位置确定为仿真库;未接收到用户的持久化请求,将运行数据存储位置确定为内存。
优选的,进一步包括流程模板校验单元,用于对所述从数据库中获取的流程模板进行校验,将通过校验的流程模板送入所述仿真数据创建单元,将未通过校验的流程模板送入所述分析单元。
优选的,进一步包括异常记录单元,用于记录异常情况。
一种工作流中间件的流程仿真系统,包括:
客户端,浏览器和服务器端;
所述服务器端中设置有工作流中间件的流程仿真装置,所述流程中间件的流程仿真装置用于,依据用户的请求从数据库中获取所述用户指定的流程模板,将所述流程模板按照广度优先算法进行遍历,获得仿真数据,并将所述仿真数据存储在第一可扩展标记语言XML文件中,调用工作流接口,对存储在所述第一XML文件中的仿真数据进行仿真,获得流程运行数据,并对所述流程运行数据进行存储,对所述流程运行数据进行分析,获得分析结果,并将所述分析结果存储在第二XML文件中。
所述客户端用于,提供远程或本地调用流程仿真装置的接口和仿真界面,所述接口可接收用户的请求,所述仿真界面提供对第一XML文件和第二XML文件的管理功能,并可对所述分析结果进行显示;
所述浏览器,用于提供远程服务,支持客户端对所述流程仿真装置的调用。
由此可见,本发明的有益效果为:本发明公开的工作流中间件的流程仿真方法、装置及系统,将依据用户请求从数据库中获取的流程模板,按照广度优先算法进行遍历,获得仿真数据,该仿真数据可以遍历流程模板全部路径分支,将该仿真数据用于后续的仿真过程,在启动流程之后自动完成整个仿真过程,不需要再输入业务数据,本发明公开的工作流中间件的流程仿真方法、装置及系统不只是程序人员调试工具,它适用于了解公司业务的普通用户,可以提高对流程的调试、优化速度。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明公开了一种工作流中间件的流程仿真方法,在启动仿真后可以自动完成流程仿真。
图1为本发明实施例一公开的工作流中间件的流程仿真方法的流程图,具体为:
步骤S11:依据用户请求,从数据库中获取用户指定的流程模板;
步骤S12:将获得的流程模板按照广度优先算法进行遍历,获得仿真数据;
步骤S13:将获得的仿真数据存储于第一XML文件;
步骤S14:调用工作流接口,对存储在第一XML文件中的仿真数据进行仿真,获得流程运行数据;
步骤S15:将获得的流程运行数据进行存储;
步骤S16:对存储的流程运行数据进行分析,获得分析结果;
步骤S17:将获得的分析结果存储于第二XML文件。
在步骤S12中,对步骤S11中获得的流程模板按照广度优先算法进行遍历,从流程模板的第一个分支节点开始,根据节点间的连接弧的源节点和目标节点的属性判断出最大的闭环,之后循环遍历,确认该流程闭环的全部路径,最终获得可以遍历流程模板中所有可能路径的多组仿真数据,将该仿真数据用于后续的仿真过称,不需要再输入业务数据即可自动完成仿真过程。本发明公开的流程仿真方法适用于普通用户,在用户启动流程仿真并选择流程模板之后,自动完成对该流程模板的仿真及分析。
在步骤S15中,将步骤S14中获得的流程运行数据进行存储,其默认的存储位置为内存,实现流程运行数据的缓存。
图2为本发明实施例二公开的工作流中间件的流程仿真方法的流程图,进一步包括对流程运行数据存储位置的确定。步骤S18判断是否接收到用户的持久化请求,若接收到用户的持久化请求,则执行步骤S801,将流程运行数据的存储位置确定为仿真库;若未接收到用户的持久化请求,则执行步骤S802,将流程运行数据的存储位置确定为内存,步骤S15依据此确定的存储位置对流程运行数据进行存储。
由于流程运行数据的持久化是通过将其存储到仿真库中实现的,不会造成数据的冗余,不会增加数据库的压力。
进一步设置流程模板校验步骤,对步骤S11获取的流程模板进行校验,通过校验的流程模板送入步骤S12进行仿真数据的创建,未通过校验的流程模板送入步骤S16进行分析。此流程模板校验步骤通过在仿真初始阶段对流程模板进行校验,当获得的流程模板不符合校验标准时,直接对其进行分析,而不需要进行仿真,降低了流程仿真过程的复杂度。
还可以在该方法中设置异常记录步骤,在流程仿真的过程中有可能出现某些异常情况,通过异常记录步骤可以将这些异常情况进行记录,为流程仿真方法的改进提供参考数据和理论支持。
本发明公开了一种工作流中间件的流程仿真装置,在启动流程后可以自动完成整个仿真过程。
图3为本发明实施例一所公开的工作流中间件的流程仿真装置的结构示意图,包括:流程模板获取单元11、仿真数据创建单元12、第一存储单元13、仿真单元14、第二存储单元15、分析单元16和第三存储单元17。
其中,流程模板获取单元11用于,接收用户发送的请求,从数据库中获取用户指定的流程模板;仿真数据创建单元12用于,将流程模板获取单元11从数据库中获取的流程模板按照广度优先算法进行遍历,获得能够覆盖模板中所有路径的多组仿真数据;第一存储单元13用于,将仿真数据创建单元12获得的仿真数据存储在第一可扩展标记语言XML文件中;仿真单元14用于,调用工作流接口,将存储在第一XML文件中的仿真数据进行仿真,获得流程运行数据;第二存储单元15用于,将仿真单元14获得的流程运行数据进行存储;分析单元16用于,对流程运行数据进行分析,获得分析结果;第三存储单元17用于,将分析单元16获得的分析结果存储在第二XML文件中。
当流程模板获取单元11依据用户的请求从数据库中取出用户指定的流程模板后,仿真数据创建单元12按照广度优先算法对获得的流程模板进行遍历,从流程模板的第一个分支节点开始,根据节点间的连接弧的源节点和目标节点的属性,判断出最大的闭环,之后循环遍历,确认该部分流程闭环的全部路径,最终获得可以遍历流程模板中所有可能路径的多组仿真数据。
由于仿真数据创建单元12创建的仿真数据遍历了流程模板的全部可能路径,将此仿真数据用于后续的仿真过程中,不需要在仿真过程中输入业务数据,即可以完成全部的仿真过程,这就使得本发明公开的流程仿真装置适用于普通用户,而不是只有程序人员才可运行,普通用户启动流程后只要选择流程模板就可以完成整个仿真,在企业中熟悉业务的是普通用户,普通用户通过此流程仿真装置可以直观的对流程进行判断,提出优化方案,加快了企业的流程优化速度。另外由于仿真数据创建单元12所创建仿真数据的完整性,在分析单元进行分析时,可以得到更优的分析结果。
第二存储单元15默认为将仿真单元14获得的流程运行数据存储于内存,但只是实现了数据的缓存,不能实现数据的持久化。
图4为本发明实施例二所公开的工作流中间件的流程仿真装置的结构示意图,进一步包括:存储位置确定单元18。
存储位置确定单元18用于确定仿真单元14获得的流程运行数据的存储位置,当接收到用户发送的持久化请求后,将流程运行数据的存储位置确定为仿真库,未接收到用户的持久化请求,将流程运行数据的存储位置确定为内存,将流程运行数据存储于仿真库可以实现数据存储的持久化,而且不会造成数据的冗余,增加系统数据库的压力,进而影响系统的运行环境。
可以在本发明公开的装置中进一步设置流程模板校验单元,用于对流程模板获取单元11获取的流程模板进行校验,将通过校验的流程模板送入仿真数据创建单元12,对其进行仿真数据创建及后续的仿真和分析,对于未通过校验的流程模板则直接送入分析单元16,由分析单元16对其进行分析,得到其问题报告,并作为分析结果进行存储。
进一步设置异常记录单元,对流程仿真过程中出现的异常情况进行记录,为流程仿真装置的改进提供支持。
本发明还公开了一种工作流中间件的流程仿真系统,图5示出了该系统的结构,包括:客户端1、浏览器2和服务器端3。
在服务器端3中设置有工作流中间件的流程仿真装置4,流程仿真装置4用于,依据用户在客户端1输入的请求,从数据库中获取用户指定的流程模板,将获取的流程模板按照广度优先算法进行遍历,获得仿真数据,并存储在第一XML文件中,然后调用工作流接口,对存储在第一XML文件中的仿真数据进行仿真,获得流程运行数据并进行存储,对存储的流程运行数据进行分析,获得分析结果,并存储在第二XML文件中。客户端1可提供远程或本地调用流程仿真装置4的接口,该接口可以接收用户的请求,诸如启动流程仿真请求、数据持久化请求,或用户选择流程模板的请求,另外客户端1还提供了仿真界面,该仿真界面提供对第一XML文件和第二XML文件的管理功能,并可对流程仿真装置4获得的分析结果进行显示。浏览器2用于提供远程服务,支持客户端1调用安装于服务器端3的流程仿真装置4。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种来表示信息、消息和信号。例如,上述说明中提到过的消息、信息都可以表示为电压、电流、电磁波、磁场或磁性粒子、光场或以上任意组合。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。