CN112053137A - 流程预测方法、电子设备和服务器集群 - Google Patents
流程预测方法、电子设备和服务器集群 Download PDFInfo
- Publication number
- CN112053137A CN112053137A CN202010950060.5A CN202010950060A CN112053137A CN 112053137 A CN112053137 A CN 112053137A CN 202010950060 A CN202010950060 A CN 202010950060A CN 112053137 A CN112053137 A CN 112053137A
- Authority
- CN
- China
- Prior art keywords
- target
- node
- simulation
- data
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 453
- 230000008569 process Effects 0.000 claims abstract description 394
- 230000000977 initiatory effect Effects 0.000 claims abstract description 15
- 238000004088 simulation Methods 0.000 claims description 260
- 230000002776 aggregation Effects 0.000 claims description 51
- 238000004220 aggregation Methods 0.000 claims description 51
- 238000012367 process mapping Methods 0.000 claims description 12
- 230000004931 aggregating effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 17
- 239000003999 initiator Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种流程预测方法、电子设备和服务器集群,该方法包括:响应审批预测请求,基于所述审批预测请求对应的流程编码和申请单号,从所有流程中确定目标流程和目标任务节点,所述目标任务节点是所述目标流程中的一个任务节点;在检测到目标数据库中存在所述目标任务节点的后续节点预测数据时,从所述目标数据库中获取得到所述后续节点预测数据,所述后续节点预测数据中包括预测得到的所述目标任务节点之后的所有任务节点的审批节点数据;将所述后续节点预测数据作为流程预测结果,发送给所述审批预测请求对应的发起设备。
Description
技术领域
本申请涉及互联网技术领域,具体而言,涉及一种流程预测方法、电子设备和服务器集群。
背景技术
在常规的工作流程、业务流程实现过程中,企业采用的大部分流程处理过程为:先进行流程定义,定义整个流程中会涉及到的所有节点的内容。然后进行流程部署,将流程中当前最新定义的文件中的信息进行一些校验,生成全新的流程版本,以供后续发起流程和审批时使用部署完成的流程。然后进入流程使用阶段,对于已经成功部署的流程,当审批内容流转到流程中的某个节点时,在常规的流程信息中仅展示当前审批节点和已经审批过的节点的内容,会使得当前环节的用户难以得知当前环节的流程审批后续过程中会流转到哪里。
目前有一些流程预测方式是针对较为简单的流程进行预测,例如基于固定的审批节点找到对应的上级、部门负责人进行审批的流程,每次预测时,通过提取这些固定审批节点或这些固定审批节点对应的上级、部门负责人的信息进行展示,这种预测方式较为单一。
发明内容
本申请的目的在于提供一种流程预测方法、电子设备和服务器集群,能够改善现有的流程预测方式较为单一的问题。
第一方面,本发明实施例提供一种流程预测方法,所述方法包括:
响应审批预测请求,基于所述审批预测请求对应的流程编码和申请单号,从所有流程中确定目标流程和目标任务节点,所述目标任务节点是所述目标流程中的一个任务节点;
在检测到目标数据库中存在所述目标任务节点的后续节点预测数据时,从所述目标数据库中获取得到所述后续节点预测数据,所述后续节点预测数据中包括预测得到的所述目标任务节点之后的所有任务节点的审批节点数据;
将所述后续节点预测数据作为流程预测结果,发送给所述审批预测请求对应的发起设备。
在上述方法中,在每次响应审批预测请求时,根据审批预测请求确定目标流程、目标任务节点,并基于目标任务节点从目标数据库中查找后续节点预测数据并进行反馈。在检测到目标数据库中存在目标任务节点的后续节点预测数据时,获取目标任务节点的后续节点预测数据,并将获取到的目标任务节点的后续节点预测数据作为流程预测结果快速反馈给审批预测请求对应的发起设备,可实现快速预测反馈。由于后续节点预测数据中包括预测得到的目标任务节点之后的所有任务节点的审批节点数据,相较于每次仅对根据当前节点查找该节点的上级、部门负责人的方式,上述方法具有较高的可扩展性,可以支持对包含并行任务、多实例任务的复杂流程进行快速预测反馈。
在可选的实施方式中,所述方法还包括:
在所述目标数据库中不存在所述目标任务节点的后续节点预测数据时,检测所述目标数据库中是否存储有所述目标流程的流程模拟数据,所述流程模拟数据中包括所述目标流程中的每个任务节点分别对应的仿真审批路径,所述流程模拟数据是仿真服务器生成的数据;
在所述目标数据库中存储有所述目标流程的流程模拟数据时,从所述目标数据库中获取所述目标流程的流程模拟数据,以及通过执行服务器获取所述目标任务节点的前序节点数据,所述前序节点数据包括所述目标任务节点之前的所有任务节点的审批节点数据;
通过聚合服务器对所述前序节点数据与所述流程模拟数据进行聚合处理,得到所述目标任务节点的后续节点预测数据。
通过上述实现方式,在目标数据库中没有直接存储目标任务节点的后续节点预测数据时,从目标数据库中获取整个目标流程的流程模拟数据,以得到整个目标流程中的每个任务节点分别对应的仿真审批路径,然后基于这些从目标数据库中得到的仿真审批路径,以及实际已经执行过的前序节点数据,聚合生成目标任务节点的后续节点预测数据。基于此实现方式,可以在无法直接从目标数据库中得到目标任务节点的后续节点预测数据时,基于对流程的整个模拟结果进行存储得到的流程模拟数据,动态预测得到目标任务节点的后续流程走向。同一个流程实例只需完整模拟一次即可满足流程中的各个任务节点的预测需求,即使目标任务节点被驳回,下一次也不需要在该流程的相同节点重复进行流程模拟。
在可选的实施方式中,在通过聚合服务器对所述前序节点数据与所述流程模拟数据进行聚合处理,得到所述目标任务节点的后续节点预测数据之后,所述方法还包括:
将所述后续节点预测数据写入所述目标数据库,以供所述目标数据库对所述后续节点预测数据进行存储,所述目标数据库是缓存数据库。
通过上述实现方式,可以将每次聚合生成的目标任务节点的后续节点预测数据存储到缓存数据库中,以便下一次对该目标任务节点进行预测反馈时可以快速从缓存中得到流程预测结果,无需在下一次对相同的节点重复进行聚合处理。
在可选的实施方式中,所述通过聚合服务器对所述前序节点数据与所述流程模拟数据进行聚合处理,得到所述目标任务节点的后续节点预测数据,包括:
将所述前序节点数据与所述流程模拟数据发送给所述聚合服务器,以供所述聚合服务器对所述前序节点数据和所述流程模拟数据进行聚合处理,得到所述目标任务节点的后续节点预测数据;
接收所述聚合服务器发送的所述后续节点预测数据。
通过上述实现方式,提供了一种可以聚合生成流程预测结果的实现方式。
在可选的实施方式中,所述方法还包括:
在所述目标数据库中不存在所述目标流程的流程模拟数据时,通过所述仿真服务器模拟所述目标流程中的所有任务节点分别对应的审批过程,得到所述目标流程中的每个任务节点分别对应的仿真审批路径;
在所述仿真服务器的本次流程模拟过程结束时,将所述仿真服务器本次模拟得到的所有仿真审批路径作为所述目标流程的流程模拟数据,写入所述目标数据库,以供所述目标数据库对所述目标流程的流程模拟数据进行存储。
通过上述实现方式,可以在无法直接从目标数据库中得到流程预测结果,且无法从目标数据库中得到整个流程的流程模拟数据时,通过仿真服务器进行流程模拟,以模拟仿真的方式得到目标流程中的每个任务节点分别对应的仿真审批路径,以此可以通过仿真服务器模拟流程的实际发布过程、流程发起人在发起流程后的所有节点的实际执行过程,实现仿真预测。在模拟结束时,将模拟得到的整个流程中的所有节点对应的流程模拟数据写入目标数据库进行存储,基于该实现方式,可以使得目标数据库存在目标流程的流程模拟数据,进而可以通过聚合生成流程预测结果的方式快速进行预测反馈。
在可选的实施方式中,所述通过所述仿真服务器模拟所述目标流程中的所有任务节点分别对应的审批过程,得到所述目标流程中的每个任务节点分别对应的仿真审批路径,包括:
通过所述仿真服务器获取所述目标流程的流程部署信息,所述流程部署信息中包括所述目标流程的整个流程中的所有任务节点的审批节点数据、各个节点之间的先后顺序以及各个节点之间的流转条件;
通过所述仿真服务器根据所述目标流程的流程部署信息,模拟所述目标流程中的所有任务节点分别对应的审批过程,得到所述目标流程中的每个任务节点分别对应的仿真审批路径。
在上述实现方式中,提供了一种可以得到整个流程的流程模拟数据的实现方式。
在可选的实施方式中,所述通过所述仿真服务器获取所述目标流程的流程部署信息,包括:
通过所述仿真服务器检测内存数据库中是否存储有所述目标流程的流程部署信息;
通过所述仿真服务器确定所述内存数据库中存储有所述目标流程的流程部署信息时,通过所述仿真服务器从所述内存数据库中获取所述目标流程的流程部署信息。
通过上述实现方式,当检测到流程部署信息部署在内存数据库中时,通过仿真服务器从内存数据库中获取流程部署信息,然后基于内存数据库中的流程部署信息进行流程模拟,可以加快流程模拟运行速度。基于内存数据库中存储的内容进行流程模拟并得到流程预测结果的情况下,相同流程的流程模拟数据可以在不同任务节点的预测过程中重复使用,可有效提高每次预测的效率。
在可选的实施方式中,在通过所述仿真服务器检测内存数据库中是否存储有所述目标流程的流程部署信息之后,所述方法还包括:
在通过所述仿真服务器确定所述内存数据库中不存在所述目标流程的流程部署信息时,通过所述仿真服务器从所述执行服务器处获取所述目标流程的流程定义信息,所述目标流程的流程定义信息是存放在所述执行服务器对应的磁盘数据库中的数据;
从所述目标数据库中获取流程映射关系,所述流程映射关系用于反映所述磁盘数据库中的流程定义信息与所述内存数据库中的流程部署信息之间的关联关系;
通过所述仿真服务器基于所述目标流程的流程定义信息,以及所述流程映射关系,确定所述内存数据库中是否存储有所述目标流程的流程定义信息对应的流程部署信息;
在通过所述仿真服务器确定所述内存数据库中存储有与所述目标流程的流程定义信息对应的流程部署信息时,将与所述目标流程的流程定义信息对应的流程部署信息作为所述目标流程的流程部署信息。
通过上述实现方式,在通过仿真服务器无法直接从内存数据库中获取到目标流程的流程部署信息时,获取存放在磁盘数据库中的流程定义信息以得到整个流程的完整定义信息,并获取磁盘数据库中的流程定义信息与内存数据库中的流程部署信息之间的关联关系,以该流程关联关系反映基于实际流程和仿真流程之间的映射关系,从内存数据库中确定与目标流程的流程定义信息对应的流程部署信息作为目标流程的流程部署信息,基于此得到的目标流程的流程部署信息可模拟整个目标流程的实际发布、各个节点的实际执行过程,可以快速得到流程预测结果。
在可选的实施方式中,在得到所述目标任务节点的后续节点预测数据之后,所述方法还包括:
基于所述后续节点预测数据,确定所述后续节点预测数据对应的审批设备;
向所述审批设备发送待办提示消息。
通过上述实现方式,除了可以向审批预测请求对应的发起设备反馈流程预测结果以外,还可以基于流程预测结果向后续节点预测数据对应的审批设备进行提示,以此有利于提升复杂流程的处理效率。
第二方面,本发明实施例提供一种电子设备,包括:
存储器;
处理器;
所述存储器上存储有所述处理器可执行的计算机程序,所述计算机程序被所述处理器执行时执行前述第一方面所述的方法。
第三方面,本发明实施例提供一种服务器集群,包括:预测服务器、仿真服务器、执行服务器以及聚合服务器;
所述预测服务器用于执行前述第一方面所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种流程定义原理示意图。
图2为本申请实施例提供的一种流程预测应用场景示意图。
图3为本申请实施例提供的另一种流程预测应用场景示意图。
图4为本申请实施例提供的再一种流程预测应用场景示意图。
图5为本申请实施例提供的一种服务器集群系统的示意图。
图6为本申请实施例提供的一种电子设备的示意图。
图7为本申请实施例提供的一种流程预测方法的示意图。
图8为本申请实施例提供的另一种流程预测方法的示意图。
图9为本申请实施例提供的一种流程预测方法的部分示意图。
图10为本申请实施例提供的另一种流程预测方法的部分示意图。
图11为本申请实施例提供的再一种流程预测方法的部分示意图。
图12为本申请实施例提供的一个实例中的流程预测方法的交互流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为了便于理解,下面将对本申请实施例中的一些概念进行介绍。
流程定义:是指定义整个流程中会涉及到的审批节点信息,包括流程中所有的节点名、节点审批人和各个节点的流转条件。示例性地,一个简单的报销流程可以定义为如图1所示的流程定义结果。
流程部署:是指将各流程中当前最新定义的文件中的信息做一些校验处理,并生成持久化快照,生成一个全新的流程版本。流程部署结果可供后续发起流程时调用、流程审批过程中使用。
流程预测:常规的流程使用场景是:当员工小王发起一个已经成功部署的报销流程后,当该报销流程流转到该员工小王的直属上级A处进行审批时,该员工小王可通过发起流程的设备查看当前审批节点和已经审批节点的人员信息,但无法看到未来节点的审批信息(即,无法得知直属上级A审批之后该由谁继续审批或者后续的其他审批节点)。简单的流程预测方式是可以展示当前审批节点(直属上级A)之后的未来节点的信息(例如图2中的部门领导B、财务经理C、出纳D以及该三者之间的顺序)。这种能够得到当前审批节点之后的后续节点的审批人信息的方式,在本申请实施例中称为流程预测。
在本申请实施例中,一个流程中包括多个任务节点,可简称节点。
如果是在流程定义过程中已经固定了各个节点的审批人,即,在每次进行流程审批时都是给固定的几个审批人、固定的审批顺序进行审批,由于不论是谁发起审批都是给固定的几个审批人进行依序审批,流程本身较为简单,预测方式也较为容易实现,每次预测时提取这几个审批人的信息即可,但这种方式比较适合人员较少的小企业,对于企业结构复杂、业务流程繁多、涉及并行审批、多实例业务审批的场景并不适用。
如果在流程审批时,不论由谁发起审批都是给审批发起者的上级进行审批,这种场景下的预测方式是基于固定的节点查找相应节点的上级负责人信息,以此提取这些固定节点对应的上级负责人信息的审批数据进行展示,从而进行预测。但是这种预测反馈方式可扩展性较弱,当前节点如果需要多方进行并行审批,或者,当前节点的发起者发起了同一个流程中的不同业务线审批,那么单纯通过查找审批发起者的上级负责人信息进行反馈的方式将难以进行正确的流程预测,难以支持复杂审批流程。
在本申请实施例中,为了支持复杂流程的审批预测,为了能够在流程中涉及业务分支、多实例、并行审批等情况时仍然能够实现高效的流程预测,提供了以下实施例。通过本申请实施例提供的原理,可以对图3所示的多业务流程、图4所示的并行处理流程等流程进行高效预测,即使在流程定义环节定义了一个流程中存在不同的业务线、不同的业务线以不同的审批分支线进行审批、不同分支的节点对应的审批逻辑不固定,也可以进行高效的流程预测,可以让审批发起者快速得知接下来的审批情况。
请参阅图5,图5为本申请实施例的一种服务器集群10的示意图。
该服务器集群10可用于实现本申请实施例提供的流程预测方法。
如图5所示,该服务器集群10包括:预测服务器110、目标数据库120、仿真服务器130、执行服务器140以及聚合服务器150。该预测服务器110可用于执行本申请实施例提供的流程预测方法中与预测服务器有关的内容。
其中,预测服务器110用于与用户侧的移动端或计算机进行数据交互。例如,预测服务器110可以获取用户发起的审批预测请求,并基于审批预测请求向该审批预测请求对应的发起设备发送流程预测结果。用户侧的移动端或计算机与预测服务器110之间可以通过指定的路径进行数据交互。预测服务器110可以是该服务器集群10中的一个或多个服务器。
该预测服务器110还可以与该服务器集群10中的其他服务器进行数据交互。
其中,目标数据库120可以部署在服务器集群10中的任一个或多个服务器中,当然,目标数据库120还可部署在其他公共存储空间中,对此不做赘述。目标数据库120可与预测服务器110进行数据交互。
在一个实例中,目标数据库120是缓存数据库,缓存数据库可以是Redis、Mysql等数据库。
在本申请实施例中,目标数据库120可用于存储单个任务节点的后续节点预测数据,还可用于存储整个流程中的每个任务节点分别对应的仿真审批路径,即,可用于存储整个流程的流程模拟数据。该目标数据库120还可用于存储流程映射关系,流程映射关系用于反映磁盘数据库中的流程定义信息与内存数据库中的流程部署信息之间的关联关系。目标数据库120可实现缓存功能。
仿真服务器130可用于进行流程模拟,在流程模拟过程中可模拟整个流程的发布、流程中的各个任务节点的实际执行过程,流程模拟结束后得到的整个流程的流程模拟数据可存放在目标数据库120中。仿真服务器130在模拟过程中使用和生成的模拟过程数据可存储在内存数据库中。
执行服务器140可用于获取当前节点之前的各个节点的数据,可用于获取目标任务节点的前序节点数据,前序节点数据包括目标任务节点之前的所有任务节点的审批节点数据。执行服务器140可从磁盘数据库中获取当前节点之前的各个节点的数据。
审批节点数据主要包括:该节点的审批人对应的账号名、工号、部门名称等,当然,在对安全性要求更高的场景中,还可包括审批人的身份证号码、职务、电话号码、邮箱等,对此不做赘述。
聚合服务器150可执行聚合运算,可用于根据整个流程的流程模拟数据以及来源于执行服务器140的前序节点数据进行聚合处理,为当前的目标任务节点生成当前的目标任务节点对应的后续节点预测数据。目标任务节点对应的后续节点预测数据包括预测得到的目标任务节点之后的所有任务节点的审批节点数据。
可选的,在上述服务器集群10中,不同服务器的功能可以集成,图5所示系统中的预测服务器110、目标数据库120、仿真服务器130、执行服务器140或聚合服务器150本身可以是包含多个服务器的集群。
关于服务器集群10中的各个服务器在用于实现本申请实施例提供的流程预测方法时,各个服务器之间的交互配合关系可以参阅图12。
如图6所示,本申请实施例还提供一种电子设备200。该电子设备200可用于实现本申请实施例提供的流程预测方法。该电子设备200可以是前述服务器集群中的任一服务器。
如图6所示,该电子设备200包括:存储器201、处理器202和通信组件203。
通信组件203包括通信总线,通信总线用于实现电子设备200中各个组件之间的直接或间接连接。
存储器201是一种存储介质,可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory)。
处理器202具有运算处理能力,可以是但不限于中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等通用处理器;还可以是专用处理器或者其他可编程逻辑器件搭建的处理器。处理器202可以实现本申请实施例提供的方法、步骤及逻辑框图。
存储器201上存储有处理器202可执行的计算机程序,处理器202用于执行存储器201中存储的计算机程序,从而实现本申请实施例提供的方法中的部分或全部步骤。
需要说明的是,图6所示结构仅作为示意,具体应用时可以有更多的组件,或具有不同于图6所示的其他配置方式。
请参阅图7,图7为本申请实施例提供的一种流程预测方法的示意图。该方法可以应用前述的服务器集群,例如,可应用于服务器集群中的预测服务器。
如图7所示,该方法包括步骤S31-S34。
S31:响应审批预测请求,基于审批预测请求对应的流程编码和申请单号,从所有流程中确定目标流程和目标任务节点,目标任务节点是目标流程中的一个任务节点。
其中,在接收到用户发起的一次审批预测请求时,可获取此次审批预测请求中携带的流程编码、申请单号,或根据此次审批预测请求生成该审批预测请求对应的流程编码和申请单号。根据流程编码可确定当前要预测的是哪个流程中的内容(目标流程),根据申请单号可以确定当前处于哪个流程中的哪个节点(得知当前节点处于哪个位置,确定出目标任务节点)。
用户在每一次提交审批预测请求时,例如当用户通过客户端打开目标流程的待办理界面时,或,当用户执行关于目标流程的业务流程审批操作时,可生成一次流程实例和任务实例。一个流程实例对应一个流程编码,一个任务实例对应一个申请单号。
目标流程可以理解为当前流程,目标任务节点可以理解为当前节点。
S32:检测目标数据库中是否存在目标任务节点的后续节点预测数据。
后续节点预测数据中包括预测得到的目标任务节点之后的所有任务节点的审批节点数据。
示例性地,目标数据库可以是缓存数据库,例如可以是Redis数据库。目标数据库中可以存储内存映射表,内存映射表中可以存储将当前节点的任务实例编号与后续的各个任务节点的集合之间的第一映射关系。通过当前节点对应的任务实例编号与内存映射表中存储的第一映射关系进行匹配,即可检测出目标数据库中是否存在与当前节点对应的后续节点集合,该后续节点集合中可包括目标任务节点之后的所有任务节点的审批节点数据。
其中,根据S32的检测结果执行S33或S35。
S33:在检测到目标数据库中存在目标任务节点的后续节点预测数据时,从目标数据库中获取得到后续节点预测数据。
在能够基于S33从目标数据库中获取得到后续节点预测数据时,执行S34。
S34:将后续节点预测数据作为流程预测结果,发送给审批预测请求对应的发起设备。
在上述S31-S34的方法中有效利用了缓存技术进行快速预测反馈,在每次响应审批预测请求时,根据审批预测请求确定目标流程、目标任务节点,并基于目标任务节点从目标数据库中查找后续节点预测数据并进行反馈。在检测到目标数据库中存在目标任务节点的后续节点预测数据时,获取目标任务节点的后续节点预测数据并将获取到的目标任务节点的后续节点预测数据作为流程预测结果快速反馈给审批预测请求对应的发起设备。由于后续节点预测数据中包括预测得到的目标任务节点之后的所有任务节点的审批节点数据,相较于每次仅对根据当前节点查找该节点的上级、部门负责人的方式,上述方法具有较高的可扩展性,可以支持对包含并行任务、多实例任务的复杂流程进行预测反馈。
可选的,如图8所示,基于S32,在无法从目标数据库中获取得到后续节点预测数据时,执行S35。通过S35-S38可以在目标数据库中还未存入目标任务节点的后续节点预测数据时,通过聚合生成的方式得到目标任务节点的后续节点预测数据并将聚合生成的结果存储到目标数据库中,以便下一次快速调用。
S35:在目标数据库中不存在目标任务节点的后续节点预测数据时,检测目标数据库中是否存储有目标流程的流程模拟数据。
流程模拟数据中包括目标流程中的每个任务节点分别对应的仿真审批路径。流程模拟数据是仿真服务器生成的数据。
示例性地,目标数据库中还可以采用内存映射表存储第二映射关系,第二映射关系是当前流程的流程实例编号与每个流程对应的审批节点数据集合之间的映射关系。通过将当前流程的流程实例编号与第二映射关系进行匹配,即可检测出目标数据库中是否存在与当前流程对应的审批节点数据集合,该审批节点数据集合即为流程模拟数据。
假设以一个4号流程作为目标流程,该流程中总共定义/部署了5个节点:节点1、节点2、节点3、节点4和节点5。如果当前节点是节点2,在通过S32-S33无法根据缓存数据得知节点2之后的审批节点顺序是什么时,执行步骤S35来获取缓存的整个4号流程中的每个节点的模拟数据(但此时不一定能够从目标数据库中获取到),该4号流程的流程模拟数据包括该流程中的所有节点对应的模拟结果:节点1的模拟数据(节点2-3-4-5的审批路径)、节点2的模拟数据(节点3-4-5的审批路径)、节点3的模拟数据(节点4-5的审批路径)、节点4的模拟数据(节点5的审批路径)和节点5的模拟数据(流程终点),这些节点对应的所有模拟数据合起来作为该4号流程的整个流程的流程模拟数据。
基于S35,在目标数据库中存储有目标流程的流程模拟数据时,执行S36。在目标数据库中不存在目标流程的流程模拟数据时,执行S41。
S36:在目标数据库中存储有目标流程的流程模拟数据时,从目标数据库中获取目标流程的流程模拟数据,以及通过执行服务器获取目标任务节点的前序节点数据,前序节点数据包括目标任务节点之前的所有任务节点的审批节点数据。
关于S36,通过执行服务器获取目标任务节点的前序节点数据的过程可以包括:通过执行服务器从磁盘数据库中获取目标任务节点的前序节点数据。
在一个实例中,磁盘数据库可以是Mysql数据库。
在S36之后执行S37。
S37:通过聚合服务器对前序节点数据与流程模拟数据进行聚合处理,得到目标任务节点的后续节点预测数据。
需要说明的是,在本申请实施例中,句式“通过……得到(获取)……”,并非限定必须是预测服务器下发指示后才使得接收到指示的服务器(例如聚合服务器、仿真服务器)根据指示执行一些操作,在服务器集群中的各个服务器能够数据同步的情况下,也可以是服务器集群中的这些服务器主动执行一些操作并将操作得到的相应数据写入特定的数据库中,在预测服务器需要得到这些数据时,可直接或间接地从特定的数据库中读取其他服务器(例如聚合服务器、仿真服务器)执行一些操作后得到的数据。
示例性的,关于S37,可以是预测服务器在得到流程模拟数据和前序节点数据后,向聚合服务器发送聚合指令,以使聚合服务器根据聚合指令对流程模拟数据和前序节点数据进行聚合处理,并将聚合得到的后续节点预测数据反馈给预测服务器,也可以是聚合服务器主动根据流程模拟数据和前序节点数据进行聚合处理,并将聚合得到的后续节点预测数据存入特定的数据库中,当预测服务器需要后续节点预测数据时,从特定的数据库中获取聚合服务器聚合得到的后续节点预测数据。
其中,通过S35可以得知目标数据库是否已经存在整个流程的模拟运算数据(即流程模拟数据),如果目标数据库存在整个流程的模拟运算数据则执行S36,并执行S37以匹配出当前节点的后续节点路径信息(即以聚合生成方式得到目标任务节点的后续节点预测数据),在通过S37聚合得到目标任务节点的后续节点预测数据后,可将目标任务节点的后续节点预测数据发送给审批预测请求对应的发起设备。
作为S37的一种实现方式,S37可包括:S371-S372。
S371:将前序节点数据与流程模拟数据发送给聚合服务器,以供聚合服务器对前序节点数据和流程模拟数据进行聚合处理,得到目标任务节点的后续节点预测数据。
S372:接收聚合服务器发送的后续节点预测数据。
以此可以在目标数据库中还未存入目标任务节点的后续节点预测数据时,以聚合生成的方式生成流程预测结果,基于此进行高效流程预测。
可选的,在S37之后可执行S38。
S38:将后续节点预测数据写入目标数据库,以供目标数据库对后续节点预测数据进行存储。
在S38之后,在下一次收到关于该目标任务节点的审批预测请求时,可基于本次存到目标数据库中的后续节点预测数据进行预测反馈。通过该实现方式,可以将每次聚合生成的目标任务节点的后续节点预测数据存储到目标数据库中,以便下一次对该目标任务节点进行预测反馈时可以根据缓存到目标数据库中的内容得到流程预测结果,无需在下一次对相同的节点重复进行聚合处理。
可选的,如图9所示,基于S35的检测结果,在目标数据库中不存在目标流程的流程模拟数据时,可执行S41-S42。基于S41-S42可以在目标数据库中还未存入目标流程的流程模拟数据时、实际还未发生后续节点的审批触发动作时,以流程模拟、流程仿真的方式预先得到整个流程的流程模拟数据,为流程中的每个节点进行仿真审批,并将流程模拟过程结束时得到的关于同一个流程的流程模拟数据存入目标数据库中,以便下一次可以快速调用。在S41-S42之后,可以重新执行S35。
S41:在目标数据库中不存在目标流程的流程模拟数据时,通过仿真服务器模拟目标流程中的所有任务节点分别对应的审批过程,得到目标流程中的每个任务节点分别对应的仿真审批路径。
作为S41的一种实现方式,如图10所示,S41可包括S411-S412。
S411:通过仿真服务器获取目标流程的流程部署信息。
流程部署信息中包括目标流程的整个流程中的所有任务节点的审批节点数据、各个节点之间的先后顺序以及各个节点之间的流转条件。
在一个实例中,流程部署信息是一个xml格式的文件,流程部署信息中定义了流程编码、该流程中的节点信息(可包括节点名、审批人账号)、该流程中的各节点之间的先后顺序以及各节点之间的流转条件。
在一个流程应用场景下,对于一个请假单的流程审批申请,请1天的假只需要直属领导节点审批,请2天的假则还需要部门领导节点审批。对于请假流程,在流程定义/部署环节只是定义了这个请假流程的各审批节点的属性,但并未规定每个节点必须由具体的哪个人来审批。在用户提交具体的请假申请后,会为该次申请生成具体的流程实例,并启动流程预测过程,执行S31、S32。
作为S411的一种实现方式,如图11所示,S411可以包括:S4111-4112。
S4111:通过仿真服务器检测内存数据库中是否存储有目标流程的流程部署信息。
基于S4111,在通过仿真服务器确定内存数据库中存储有目标流程的流程部署信息时,执行S4112,在通过仿真服务器确定内存数据库中不存在目标流程的流程部署信息时,执行S4113-S4116。
S4112:通过仿真服务器确定内存数据库中存储有目标流程的流程部署信息时,通过仿真服务器从内存数据库中获取目标流程的流程部署信息。
通过上述S4111-4112的实现方式,当检测到流程部署信息部署在内存数据库中时,通过仿真服务器从内存数据库中获取程部署信息,然后基于内存数据库中的流程部署信息进行流程模拟,可以加快流程模拟运行速度。在基于内存数据库中存储的内容进行流程模拟并得到流程预测结果的情况下,相同流程的流程模拟数据可以在不同任务节点的预测过程中重复使用,可有效提高每次预测的效率。
S4113:在通过仿真服务器确定内存数据库中不存在目标流程的流程部署信息时,通过仿真服务器从执行服务器处获取目标流程的流程定义信息,目标流程的流程定义信息是存放在执行服务器对应的磁盘数据库中的数据。
关于S4113,通过仿真服务器从执行服务器处获取目标流程的流程定义信息的过程,可以包括:通过仿真服务器从执行服务器对应的磁盘数据库(例如Mysql)中获取目标流程的流程定义信息。例如,可以通过仿真服务器向执行服务器发送数据获取指令,以使执行服务器根据该数据获取指令从磁盘数据库中获取目标流程的流程定义信息,并将目标流程的流程定义信息发送给仿真服务器。仿真服务器得到目标流程的流程定义信息后,可基于目标流程的流程定义信息确定目标流程的流程部署信息。
S4114:从目标数据库中获取流程映射关系,流程映射关系用于反映磁盘数据库中的流程定义信息与内存数据库中的流程部署信息之间的关联关系。
S4115:通过仿真服务器基于目标流程的流程定义信息,以及流程映射关系,确定内存数据库中是否存储有目标流程的流程定义信息对应的流程部署信息。
S4116:在通过仿真服务器确定内存数据库中存储有与目标流程的流程定义信息对应的流程部署信息时,将与目标流程的流程定义信息对应的流程部署信息作为目标流程的流程部署信息。
其中,在通过仿真服务器确定内存数据库中不存在与目标流程的流程定义信息对应的流程部署信息时,可通过仿真服务器对目标流程进行流程部署,并将目标流程的部署结果存放在内存数据库中,以使内存数据库得到并存储目标流程的流程部署信息。在通过仿真服务器完成部署后,可以将部署结果与目标流程之间的映射关系作为流程映射关系,存入目标数据库中。
在一个实例中,以一个Redis作为缓存数据库(目标数据库),以一个Mysql数据库作为磁盘数据库,可从缓存Redis中获取Mysql数据库中的流程和内存表H2中的流程之间的流程映射关系,若能获取到流程映射关系,则可执行S4116,若获取不到流程映射关系(即缓存中没有存储流程映射关系的情况下),则可通过流程部署的方式向内存表H2中部署目标流程的流程部署信息。
作为一种流程部署方式,可以通过仿真服务器从部署服务器中获取目标流程的流程定义信息,并将目标流程的流程定义信息作为目标流程的部署内容,将目标流程的流程定义信息部署在内存数据库中,以便仿真服务器下一次能够快速从内存数据库中得到目标流程的流程部署信息,并基于内存数据库中的目标流程的流程部署信息进行流程模拟、流程仿真,得到目标流程的整个流程的流程模拟数据。其中,部署是指将流程的定义信息对应的快照存放在数据库中,以使数据库中具有该流程的部署信息。
在一些实施例中,流程部署方式可以是通过仿真服务器获取当前录入的部署信息,将当前录入的部署信息作为目标流程的流程部署信息。
通过上述S4113-S4116的实现方式,在通过仿真服务器无法直接从内存数据库中获取到目标流程的流程部署信息时,获取存放在磁盘数据库中的流程定义信息以得到整个流程的完整定义信息,并获取磁盘数据库中的流程定义信息与内存数据库中的流程部署信息之间的关联关系,以该流程关联关系反映实际流程和仿真流程之间的映射关系,从内存数据库中确定与目标流程的流程定义信息对应的流程部署信息作为目标流程的流程部署信息,基于此得到的目标流程的流程部署信息可模拟整个目标流程的实际发布、各个节点的实际执行过程,可以快速得到流程预测结果。
在通过上述的任意实施方式得到目标流程的流程部署信息之后,执行S412。
S412:通过仿真服务器根据目标流程的流程部署信息,模拟目标流程中的所有任务节点分别对应的审批过程,得到目标流程中的每个任务节点分别对应的仿真审批路径。
其中,关于S412,模拟的过程可理解为根据部署完成的流程部署信息仿真触发各个节点的实际审批过程。模拟过程可以是仿真启动流程,模拟流程启动后在可以在内存数据库(例如内存表H2)中根据当前任务(当前任务节点对应的任务)生成下一个任务节点的审批信息,然后从内存中拿到该下一个任务作为新的当前任务(新任务),依据该原理,再为该新的当前任务继续生成新任务对应的下一个任务,依次类推,直到流程中的各个节点都模拟结束,每通过一个任务的模拟过程则可缓存该任务对应的一组仿真审批路径信息,流程结束时可缓存整个流程实例的所有任务节点对应的所有仿真审批路径的信息(任务集合)。其中,仿真审批路径中的路径是指节点之间的先后顺序关系。
在上述S411-S412的实现方式中,通过仿真服务器在获取流程部署信息后,模拟流程的实际发布以及流程发起人在发起流程后的所有节点的实际执行过程,得到目标流程中的每个任务节点分别对应的仿真审批路径,实现仿真预测,提供了一种可以得到整个流程的流程模拟数据的实现方式。
S42:在仿真服务器的本次流程模拟过程结束时,将仿真服务器本次模拟得到的所有仿真审批路径作为目标流程的流程模拟数据,写入目标数据库,以供目标数据库对目标流程的流程模拟数据进行存储。
其中,基于S42得到的流程模拟数据可以执行S37。
通过上述S41-S42的实现方式,可以在无法直接从缓存中得到流程预测结果,且无法从缓存中得到整个流程的流程模拟数据时,通过仿真服务器进行流程模拟,以模拟仿真的方式得到目标流程中的每个任务节点分别对应的仿真审批路径,以此可以通过仿真服务器模拟流程的实际发布过程、流程发起人在发起流程后的所有节点的实际执行过程,实现仿真预测。在模拟结束时,将模拟得到的整个流程中的所有节点对应的流程模拟数据写入目标数据库进行存储,基于该实现方式,可以使得目标数据库存在目标流程的流程模拟数据,进而可以通过聚合生成流程预测结果的方式快速进行预测反馈。
其中,当缓存中没有直接存储目标任务节点的后续节点预测数据时,从缓存中获取整个目标流程的流程模拟数据,以得到整个目标流程中的每个任务节点分别对应的仿真审批路径,然后基于这些从缓存中得到的仿真审批路径,以及实际已经执行过的前序节点数据,聚合生成目标任务节点的后续节点预测数据。基于此实现方式,可以在无法直接从缓存中得到目标任务节点的后续节点预测数据时,基于对流程的整个模拟结果进行缓存的流程模拟数据,动态预测得到目标任务节点的后续流程走向。同一个流程实例只需完整模拟一次即可满足流程中的各个任务节点的预测需求,即使目标任务节点被驳回,下一次也不需要在每该流程的相同节点重复进行流程模拟。
可选的,在从目标数据库中得到目标任务节点的后续节点预测数据之后或以聚合生成的实现方式得到目标任务节点的后续节点预测数据之后,流程预测方法还可包括:S391-S392。
S391:基于后续节点预测数据,确定后续节点预测数据对应的审批设备。
S392:向审批设备发送待办提示消息。
通过上述S391-S392的实现方式,除了可以向审批预测请求对应的发起设备反馈流程预测结果以外,还可以基于流程预测结果向后续节点预测数据对应的审批设备进行提示,以此有利于提升复杂流程的处理效率。
在本申请实施例中,关于S36,一个流程实例如果有节点1、节点2、节点3、节点5、节点9共5个任务节点,如果节点1和节点2已审批,且当前节点是节点3,已经审批的节点是节点1和节点2,后续节点是节点5、节点9,则通过S36得到的前序节点数据包括节点1和节点2的审批节点数据,通过S33或S37得到的后续节点预测数据包括节点5和节点9的审批节点数据。如果无法从缓存中得到当前节点2对应的后续节点预测数据,也无法从缓存中得到该流程中的5个节点组合的整体流程模拟数据,则通过仿真服务器基于预先得到的流程部署信息(可视为与目标流程相同的流程模板),将该流程中的5个节点先仿真审批触发一次(实际流程的审批环节保持在当前节点不变),得到整个流程模拟结束后的5组模拟数据(每个节点有一组)作为该流程的流程模拟数据,并将流程模拟数据存入缓存中,下一次则无需再为相同用户的相同审批预测请求进行重复模拟过程。
在一个应用场景下,当对一个流程X进行首次预测时,由于目标数据库中还未写入该流程X的内容,所以可能执行S32、S35的步骤时,会出现无法从目标数据库中得到该流程X中的任何节点的数据的情况,在该情况下,即可执行S41、S42,通过仿真数据库进行流程模拟,以得到该流程X的整个流程中各个节点的仿真审批路径,得到整个流程的流程模拟数据,并将流程模拟数据存入目标数据库中,以便下一次预测时快速调用缓存服务器中存储的数据。
下面将结合图12介绍一个能够应用于服务器集群的交互流程,以实现本申请实施例提供的一种流程预测方法。
如图12所示,在一个实例中,当用户通过发起设备向服务器集群发起审批预测请求后,服务器集群中的预测服务器根据该审批预测请求确定出目标流程Y和目标任务节点Z。基于确定出目标流程Y和目标任务节点Z,预测服务器根据当前目标数据库中的不同存储状态,采用不同的处理方式实现流程预测反馈。
其中,图12中标记有“①”、“②”、“③”的步骤分别对应三种情况下的处理流程。
标记有“①”的处理流程(可对应前述的图7、步骤S31-S34)是:预测服务器根据确定出的目标任务节点Z,访问目标数据库后,确定目标数据库中存在该节点Z的后续节点数据时执行的内容。如图12所示,当目标数据库中存在节点Z的后续节点数据时,可直接从该目标数据库中获取节点Z的后续节点数据,并将获取到的内容作为流程预测结果反馈给审批预测请求对应的发起设备。
标记有“②”的处理流程(可对应图8、步骤S35-S38)是:预测服务器根据确定出的目标流程Y和目标任务节点Z,访问目标数据库后,确定目标数据库中不存在该节点Z的后续节点数据,但存在该流程Y的流程模拟数据时执行的内容。如图12所示,当目标数据库中不存在该节点Z的后续节点数据,但目标数据库中存在该流程Y的流程模拟数据时,预测服务器先获取该流程Y的流程模拟数据,再请求从执行服务器中获取该节点Z的前序节点数据。执行服务器根据该预测服务器的此次请求,从磁盘数据库中获取该节点Z的前序节点数据,并反馈给预测服务器。预测服务器接收到执行服务器发送的前序节点数据后,将流程Y的流程模拟数据和节点Z的前序节点数据一并发送给聚合服务器,聚合服务器根据预测服务器发送的内容进行聚合处理,得到节点Z的后续节点数据并反馈给预测服务器。然后预测服务器将聚合服务器发送的节点Z的后续节点数据存入目标数据库,并将此时得到的节点Z的后续节点数据作为流程预测结果反馈给审批预测请求对应的发起设备。
标记有“③”的处理流程(对应图8-图11)是:预测服务器在访问目标数据库后,确定目标数据库中没有节点Z的后续节点数据,且没有流程Y的流程模拟数据时执行的内容。如图12所示,在无法从目标数据库中得到流程Y的流程模拟数据时,预测数据库请求从仿真服务器处得到流程Y的流程模拟数据。仿真服务器根据该预测服务器的此次请求,基于内存数据库中存储的关于流程Y的流程部署信息,进行流程模拟(仿真),得到流程Y中每个节点分别对应的仿真审批路径,模拟过程结束时,得到流程Y的流程模拟数据并反馈给预测服务器。预测服务器接收到流程Y的流程模拟数据后,基于与标记有“②”的处理流程中相对应的内容,按照相同的原理从执行服务器处获取节点Z的前序节点数据,以及从聚合服务器处获取节点Z的后续节点数据,最后进行结果反馈,向审批预测请求对应的发起设备发送流程预测结果。
综上所述,在本申请实施例提供的流程预测方法、电子设备和服务器集群中,以流程映射关系定义了实际流程和预测流程之间的映射关系,通过该流程映射关系在仿真服务器对应的模拟流程(存在内存表H2中)和执行服务器的真实流程之间建立对应关系,在获取了流程的完整定义信息后,通过仿真服务器模拟整个流程的实际发布过程、模拟流程发起者在发起流程后的各个节点的实际执行过程,得到整个流程模拟执行结束后的流程模拟数据,实现流程仿真,达到预测目的。并且,流程模拟的结果、模拟过程数据存放在内存数据库(内存表H2)中,可以加快流程模拟运行速度。在整个流程预测方法的应用阶段,有效利用了缓存技术,对整个流程中的所有节点对应的流程模拟数据进行缓存,同时动态地对任意任务节点的后续流程走向数据也进行了缓存,使得同一个流程实例只需完整模拟一次即可满足该流程的后续所有节点的预测需求,无论这些节点的审批请求是否被驳回,都不需要在相同流程中的每一个任务节点重复进行预测。此外,在使用H2内存数据库的预测引擎(对应仿真服务器)进行预测的情况下,预测引擎在预测完成后不会被销毁,能够在其他流程实例的预测过程中进行复用,可以有效提高每次预测的效率。通过上述的方法不仅能满足对于简单流程进行预测的需求,还可以对复杂流程(包括并行、多实例的流程)进行正确预测、快速预测,可以为流程的发起者、审批者进行流程预测,快速预测出当前流程中当前节点的后续审批路线和后续审批人员的信息,可有效提高工作流程在各个环节中的透明度,有利于提高流程中涉及的各个相关人员之间的沟通效率。
在本申请所提供的实施例中,应该理解到,上述方法可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,服务器的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个服务器可以结合或者可以集成到另一个系统。
另外,系统中的各个服务器可以是或者也可以不是物理上分开的,可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
需要说明的是,上述方法、系统中的功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以用软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备执行本申请各个实施例方法的全部或部分步骤。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种流程预测方法,其特征在于,所述方法包括:
响应审批预测请求,基于所述审批预测请求对应的流程编码和申请单号,从所有流程中确定目标流程和目标任务节点,所述目标任务节点是所述目标流程中的一个任务节点;
在检测到目标数据库中存在所述目标任务节点的后续节点预测数据时,从所述目标数据库中获取得到所述后续节点预测数据,所述后续节点预测数据中包括预测得到的所述目标任务节点之后的所有任务节点的审批节点数据;
将所述后续节点预测数据作为流程预测结果,发送给所述审批预测请求对应的发起设备。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到目标数据库中不存在所述目标任务节点的后续节点预测数据时,检测所述目标数据库中是否存储有所述目标流程的流程模拟数据,所述流程模拟数据中包括所述目标流程中的每个任务节点分别对应的仿真审批路径,所述流程模拟数据是仿真服务器生成的数据;
在所述目标数据库中存储有所述目标流程的流程模拟数据时,从所述目标数据库中获取所述目标流程的流程模拟数据,以及通过执行服务器获取所述目标任务节点的前序节点数据,所述前序节点数据包括所述目标任务节点之前的所有任务节点的审批节点数据;
通过聚合服务器对所述前序节点数据与所述流程模拟数据进行聚合处理,得到所述目标任务节点的后续节点预测数据。
3.根据权利要求2所述的方法,其特征在于,所述通过聚合服务器对所述前序节点数据与所述流程模拟数据进行聚合处理,得到所述目标任务节点的后续节点预测数据,包括:
将所述前序节点数据与所述流程模拟数据发送给所述聚合服务器,以供所述聚合服务器对所述前序节点数据和所述流程模拟数据进行聚合处理,得到所述目标任务节点的后续节点预测数据;
接收所述聚合服务器发送的所述后续节点预测数据。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述目标数据库中不存在所述目标流程的流程模拟数据时,通过所述仿真服务器模拟所述目标流程中的所有任务节点分别对应的审批过程,得到所述目标流程中的每个任务节点分别对应的仿真审批路径;
在所述仿真服务器的本次流程模拟过程结束时,将所述仿真服务器本次模拟得到的所有仿真审批路径作为所述目标流程的流程模拟数据,写入所述目标数据库,以供所述目标数据库对所述目标流程的流程模拟数据进行存储。
5.根据权利要求4所述的方法,其特征在于,所述通过所述仿真服务器模拟所述目标流程中的所有任务节点分别对应的审批过程,得到所述目标流程中的每个任务节点分别对应的仿真审批路径,包括:
通过所述仿真服务器获取所述目标流程的流程部署信息,所述流程部署信息中包括所述目标流程的整个流程中的所有任务节点的审批节点数据、各个节点之间的先后顺序以及各个节点之间的流转条件;
通过所述仿真服务器根据所述目标流程的流程部署信息,模拟所述目标流程中的所有任务节点分别对应的审批过程,得到所述目标流程中的每个任务节点分别对应的仿真审批路径。
6.根据权利要求5所述的方法,其特征在于,所述通过所述仿真服务器获取所述目标流程的流程部署信息,包括:
通过所述仿真服务器检测内存数据库中是否存储有所述目标流程的流程部署信息;
通过所述仿真服务器确定所述内存数据库中存储有所述目标流程的流程部署信息时,通过所述仿真服务器从所述内存数据库中获取所述目标流程的流程部署信息。
7.根据权利要求6所述的方法,其特征在于,在通过所述仿真服务器检测内存数据库中是否存储有所述目标流程的流程部署信息之后,所述方法还包括:
在通过所述仿真服务器确定所述内存数据库中不存在所述目标流程的流程部署信息时,通过所述仿真服务器从所述执行服务器处获取所述目标流程的流程定义信息,所述目标流程的流程定义信息是存放在所述执行服务器对应的磁盘数据库中的数据;
从所述目标数据库中获取流程映射关系,所述流程映射关系用于反映所述磁盘数据库中的流程定义信息与所述内存数据库中的流程部署信息之间的关联关系;
通过所述仿真服务器基于所述目标流程的流程定义信息,以及所述流程映射关系,确定所述内存数据库中是否存储有所述目标流程的流程定义信息对应的流程部署信息;
在通过所述仿真服务器确定所述内存数据库中存储有与所述目标流程的流程定义信息对应的流程部署信息时,将与所述目标流程的流程定义信息对应的流程部署信息作为所述目标流程的流程部署信息。
8.根据权利要求1-7任一项所述的方法,其特征在于,在得到所述目标任务节点的后续节点预测数据之后,所述方法还包括:
基于所述后续节点预测数据,确定所述后续节点预测数据对应的审批设备;
向所述审批设备发送待办提示消息。
9.一种电子设备,其特征在于,包括:
存储器;
处理器;
所述存储器上存储有所述处理器可执行的计算机程序,所述计算机程序被所述处理器执行时执行权利要求1-8任一项所述的方法。
10.一种服务器集群,其特征在于,包括:预测服务器、仿真服务器、执行服务器以及聚合服务器;
所述预测服务器用于执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950060.5A CN112053137A (zh) | 2020-09-10 | 2020-09-10 | 流程预测方法、电子设备和服务器集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950060.5A CN112053137A (zh) | 2020-09-10 | 2020-09-10 | 流程预测方法、电子设备和服务器集群 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112053137A true CN112053137A (zh) | 2020-12-08 |
Family
ID=73610286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010950060.5A Pending CN112053137A (zh) | 2020-09-10 | 2020-09-10 | 流程预测方法、电子设备和服务器集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112053137A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749949A (zh) * | 2021-01-13 | 2021-05-04 | 杭州天谷信息科技有限公司 | 基于easyRule规则引擎配置化预测flowable工作流审批路径的方法 |
-
2020
- 2020-09-10 CN CN202010950060.5A patent/CN112053137A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749949A (zh) * | 2021-01-13 | 2021-05-04 | 杭州天谷信息科技有限公司 | 基于easyRule规则引擎配置化预测flowable工作流审批路径的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10489283B2 (en) | Software defect reporting | |
CN102542367B (zh) | 基于领域模型的云计算网络工作流处理方法、装置和系统 | |
US7328134B1 (en) | Enterprise integration test tool | |
JP2017514218A (ja) | サードパーティアプリケーションの実行 | |
CN107862425B (zh) | 风控数据采集方法、设备、系统及可读存储介质 | |
CN112463154A (zh) | 页面生成方法、装置、系统和电子设备 | |
CN112182089B (zh) | 基于数据仓库模型的报表生成方法、装置和设备 | |
US20230043882A1 (en) | Method for assisting launch of machine learning model | |
CN111143391A (zh) | 一种数据共享交换方法及系统 | |
CN111367792A (zh) | 一种测试方法、装置、存储介质及电子设备 | |
CN111124528A (zh) | 页面加载方法、装置、电子设备及计算机可读存储介质 | |
CN113971075A (zh) | 事务和消息的一致性实现方法、装置、设备及存储介质 | |
CN112053137A (zh) | 流程预测方法、电子设备和服务器集群 | |
CN116257226A (zh) | 数据校验方法、装置、电子设备及存储介质 | |
CN115801873A (zh) | 服务发布方法、系统、电子设备及存储介质 | |
CN115330171A (zh) | 业务流程控制方法、装置、计算机设备及可读存储介质 | |
CN114936152A (zh) | 应用测试方法及设备 | |
CN113360365A (zh) | 一种流程测试方法和流程测试系统 | |
CN111859985A (zh) | Ai客服模型测试方法、装置、电子设备及存储介质 | |
JP2001350650A (ja) | ソフトウェアプログラム同等性検証方法及びソフトウェアプログラム同等性検証装置並びにその記録媒体 | |
CN108920182A (zh) | 一种新型源代码统计分析方法和系统 | |
CN113360387B (zh) | 银行支付结算模拟器 | |
US11488123B2 (en) | Blockchain payment notification system | |
CN115422029A (zh) | 接口日志文档生成方法、装置及计算机设备 | |
CN115687130A (zh) | 金融业务测试方法以及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |