CN114443440A - 一种响应流程实例变更数据的方法及装置 - Google Patents
一种响应流程实例变更数据的方法及装置 Download PDFInfo
- Publication number
- CN114443440A CN114443440A CN202210120475.9A CN202210120475A CN114443440A CN 114443440 A CN114443440 A CN 114443440A CN 202210120475 A CN202210120475 A CN 202210120475A CN 114443440 A CN114443440 A CN 114443440A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- process instance
- event
- target waiting
- 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 253
- 230000008569 process Effects 0.000 title claims abstract description 211
- 230000008859 change Effects 0.000 title claims abstract description 81
- 238000013507 mapping Methods 0.000 claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract description 47
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 abstract description 5
- 230000000875 corresponding effect Effects 0.000 description 75
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/86—Mapping to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供一种响应流程实例变更数据的方法及装置,包括:获取流程实例的流程定义中的等待事件的节点集合;获取节点集合中的目标等待事件的节点;获取目标等待事件的节点对应的流程实例的数据名称;建立目标等待事件的节点与流程实例的数据名称关联的触发映射库;响应于触发映射库内的数据名称对应的数据发生变化,触发与数据名称关联的目标等待事件的节点发生响应。通过获取流程实例中目标等待事件的节点,并获取节点有关的流程实例的数据名称,建立表征两者关系的触发映射库,通过获取流程实例的变化的数据,通过查找触发映射库中的映射关系,触发变化的数据对应的目标等待事件的节点发生响应,从而提高流程实例数据监测效率及响应速度。
Description
技术领域
本公开涉及网络技术领域,尤其涉及一种响应流程实例变更数据的方法及装置。
背景技术
现有工作流系统相关业务中,需要监测某一个流程实例数据的变化,以便做出相应的响应等待事件的动作,现有技术中,通常采用后台按照固定时间间隔轮询所有流程实例数据的方式,只要有数据变化,就进行相应的动作,对于这种数据变化监测方式,对于不经常发生变化的数据,如果按照固定时间间隔轮询,会造成资源浪费,而且影响数据变化监测效率。
发明内容
本公开提供一种响应流程实例变更数据的方法及装置,用以解决现有技术中工作流系统中流程实例的数据变化监测方式效率低,影响响应速度的缺陷,实现高效地监测工作流系统中流程实例的数据变化并及时进行响应。
本公开提供一种响应流程实例变更数据的方法,包括:
获取流程实例的流程定义中的等待事件的节点集合;
获取所述节点集合中的目标等待事件的节点;
获取所述目标等待事件的节点对应的流程实例的数据名称;
建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库;
响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应。
根据本公开提供的一种响应流程实例变更数据的方法,所述获取流程实例的流程定义中的等待事件的节点集合,具体包括:
对流程实例的各节点进行定义,形成流程实例的流程定义;
获取所述流程定义中各等待事件的节点,形成等待事件的节点集合。
根据本公开提供的一种响应流程实例变更数据的方法,所述获取所述节点集合中的目标等待事件的节点,具体包括:
获取所述节点集合中与流程实例的数据变更有关的节点,并将其作为所述目标等待事件的节点;其中,所述目标等待事件的节点的触发与流程实例的数据变更有关。
根据本公开提供的一种响应流程实例变更数据的方法,所述建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库,具体包括:
将目标等待事件的节点与对应的流程实例的数据名称以匹配的形式保存在触发映射库内;其中,一个数据名称匹配至少一个目标等待事件的节点。
根据本公开提供的一种响应流程实例变更数据的方法,所述响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应,具体包括:
执行流程实例,获取变化的数据;
将所述变化的数据对应的数据名称存入第一集合;
根据所述触发映射库获取第一集合中各数据名称对应的预响应的目标等待事件的节点;
分别触发各个预响应的目标等待事件的节点发生响应。
根据本公开提供的一种响应流程实例变更数据的方法,所述执行流程实例,获取变化的数据,具体包括:
获取流程实例启动时的数据的第一快照;
获取流程实例执行完毕时的数据的第二快照;
将所述第一快照与第二快照进行比较,获取变化的数据。
根据本公开提供的一种响应流程实例变更数据的方法,所述根据所述触发映射库获取第一集合中各数据名称对应的预响应的目标等待事件的节点,具体包括:
根据触发映射库获取所述第一集合中各数据名称映射的各个目标等待事件的节点,并将映射的目标等待事件的节点存入第二集合中;
去除所述第二集合中重复的目标等待事件的节点,得到各个预响应的目标等待事件的节点。
本公开还提供一种响应流程实例变更数据的装置,包括:
等待事件节点集合获取单元,用于获取流程实例的流程定义中的等待事件的节点集合;
目标等待事件节点获取单元,用于获取所述节点集合中的目标等待事件的节点;
目标等待事件对应数据名称获取单元,用于获取所述目标等待事件的节点对应的流程实例的数据名称;
触发映射库建立单元,用于建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库;
目标等待事件响应单元,用于响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应。
本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述响应流程实例变更数据的方法的步骤。
本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述响应流程实例变更数据的方法的步骤。
本公开提供的响应流程实例变更数据的方法及装置,通过获取流程实例的流程定义中所有等待事件的节点,形成等待事件的节点集合,在节点集合中确定与流程实例的数据变化有关的目标等待事件的节点,并通过触发映射库建立目标等待事件的节点与对应的数据名称之间的匹配映射关系,采用在流程实例执行完毕后获得变化的数据,再通过查找触发映射库中变化的数据映射对应的目标等待事件的节点,响应对应的目标等待事件,从而提高流程实例数据监测效率及响应速度。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开提供的响应流程实例变更数据的方法的流程图;
图2是本公开的对应图1中步骤110-140的触发映射库建立过程的逻辑执行结构示意图;
图3是本公开的对应图1中步骤150的具体流程示意图;
图4是本公开的对应图3中步骤310的具体流程示意图;
图5是本公开的对应图3中步骤320的具体流程示意图;
图6是本公开的对应图1中步骤150的流程实例数据变化监测及响应过程的逻辑执行结构示意图;
图7是本公开提供的响应流程实例变更数据的装置的结构示意图;
图8是本公开提供的电子设备的结构示意图;
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
现有工作流系统相关业务中,经常需要监测某一个流程实例数据的变化情况,以便做出相应的动作,如:工单流转过程中,如果工单紧急程度为非常重要,则需要启动重大事件处理任务。为了解决此类问题,现有的技术一般采用以下两种方法:
一、后台进行定时任务,间隔一段时间轮询所有流程实例的数据,只要数据发生变化,就执行相应的动作;
二、在流程定义中,应用事件机制,每个可能引起数据变化的任务后设置一个发送事件,然后在另一个分支设置一个等待事件,发送事件触发等待事件的处理任务。
对于上述第一种方法而言,如果对应流程实例中数据不经常发生变化的数据,按照设定的固定时间间隔进行持续重复轮询,会造成明显的系统资源浪费;
对于上述第二种方法而言,如果某一流程实例的数据在多个任务节点中发生变化,那么该数据对应的每个任务节点中,每当该数据发生变化就会触发发送事件节点,从而出现对于同一流程实例的数据发送了多个重复的发送事件节点,这对于流程定义而言是多余的,而且也增加了流程定义的复杂性,使得一些重要逻辑淹没在发送事件节点这样的不重要的小细节中。
如图1所示,本公开实施例提供一种响应流程实例变更数据的方法,包括:
步骤110:获取流程实例的流程定义中的等待事件的节点集合;
本公开实施例中,对应步骤110,所述获取流程实例的流程定义中的等待事件的节点集合,具体包括:
对流程实例的各节点进行定义,形成流程实例的流程定义;
获取所述流程定义中各等待事件的节点,形成等待事件的节点集合。
具体地,遍历流程实例获得其流程定义中的所有节点并筛选出所有等待事件的节点,为下一步做准备。本公开实施例中,流程实例的定义是由流程定义完成的。例如,根据流程定义得到流程实例A中的所有的等待事件的节点分别为等待事件B节点、等待事件C节点及等待事件D节点。
步骤120:获取所述节点集合中的目标等待事件的节点;
在步骤110中获得的节点集合中包括目标流程实例的所有等待事件的节点形成节点集合,本步骤中将节点集合中关注的与流程实例的数据变更相关的节点筛选出来作为目标等待事件的节点。
具体地,获取所述节点集合中与流程实例的数据变更有关的节点,并将其作为所述目标等待事件的节点;其中,所述目标等待事件的节点的触发与流程实例的数据变更有关。
步骤130:获取所述目标等待事件的节点对应的流程实例的数据名称;
具体地,本公开实施例中,根据流程定义确定流程实例中的各个等待事件的调度响应是否与流程实例的数据变更有关,本步骤中只关注与流程实例的数据的变更有关的目标等待事件的节点,本公开实施例中认为目标等待事件的调度响应受流程实例的变更数据的触发。
具体地,对每一个目标等待事件的节点,获取其关联的流程实例的数据名称。实际业务中,有些等待事件是对流程实例中数据的变更有兴趣的,即等待事件的节点的触发响应与流程实例的数据的变更有关,同样有些等待事件是对流程实例的数据的变更不感兴趣的,即等待事件的节点的触发响应与流程实例的数据的变更无关。因此需要由每个具体的等待事件确定其是否关联用到流程实例的数据,如果需要则确定其为目标等待事件,并确定其关注的流程实例的数据的名称,如果不需要则本公开实施例不关注此类等待事件的节点。例如,等待事件B节点关联的流程实例的数据名称为数据E及数据F,等待事件C节点不关联流程实例的数据,等待事件D节点关联的流程实例的数据名称为数据E及数据G。因此将等待事件B节点及等待事件D节点作为目标等待事件的节点。
步骤140:建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库;
具体地,将目标等待事件的节点与对应的流程实例的数据名称以匹配的形式保存在触发映射库内;其中,一个数据名称匹配至少一个目标等待事件的节点。
具体地,注册目标等待事件到触发映射库,也即对于对流程实例的数据变更相关的目标等待事件的节点,要保存下来到触发映射库,其中,触发映射库中数据基本的格式为:{数据名称}->{目标等待事件1、目标等待事件2、…、目标等待事件N},由此可见,数据名称与目标等待事件的节点可能是一对多的关系,即,将与流程实例的数据的变更相关的所有目标等待事件的节点在触发映射库中与流程实例的数据名称对应起来。例如上述举例中,在流程实例A的触发映射库中形成的数据为{数据E}->{目标等待事件B、目标等待事件D};{数据F}->{目标等待事件B};{数据G}->{目标等待事件D}。
如图2所示,描述如步骤110-140所描述的触发映射库的建立过程示意图,如图中所示,通过“获得流程实例中的流程定义中所有等待事件的节点”、“对与流程实例的变更数据相关的目标等待事件节点,获得相关的流程实例的数据名称”以及“注册等待事件到触发映射库”三个过程获得步骤140得到的包含目标等待事件的节点及与其关联的流程实例的数据名称的信息的触发映射库。
步骤150:响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应。
具体地,当后台监测到流程实例的数据发生变化且该数据属于触发映射库内对应的数据时,通过在触发映射库内查询变化数据对应的目标等待事件,触发目标等待事件的节点发生响应。例如,流程实例A在任务执行完毕后,数据E未发生变化,数据F发生变化,数据G未发生变化,在数据E、F、G中只关注数据发生变化的数据,由于数据E及G在流程实例执行完毕后较流程实例启动时未发生变化,因此只关注数据F,由于在触发映射库内的映射对应关系可知,数据F与目标等待事件B节点相关,因此由于数据F发生变化,因此调度器对目标等待事件B节点执行调度响应。
本公开实施例中,对应步骤150,所述响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应,如图3所示,具体包括:
步骤310:执行流程实例,获取变化的数据;将所述变化的数据对应的数据名称存入第一集合;
具体地,在流程实例启动时获取数据,并在流程实例执行完毕时再获取一次数据,将启动时的数据与执行完毕时的数据进行比较,获得变化的数据。
本公开实施例中,对应步骤310,所述执行流程实例,获取变化的数据;将所述变化的数据对应的数据名称存入第一集合,如图4所示,具体包括:
步骤410:获取流程实例启动时的数据的第一快照;
具体地,在流程实例启动时获取该实例所对应的所有数据。例如,在流程实例A启动时获取数据E、数据F、数据G的第一快照也即原始数据的快照;
步骤420:获取流程实例执行完毕时的数据的第二快照;
具体地,在流程实例执行完毕时获取该实例所对应的所有数据。例如,例如获取流程实例A执行完毕时的数据E、数据F、数据G的数据快照。
步骤430:将所述第一快照与第二快照进行比较,获取变化的数据。
例如,将流程实例A的数据E、数据F、数据G的第一快照分别与数据E、数据F、数据G的第二快照进行比较,得出数据F在流程实例执行完毕后发生了变化的结论,因此将将数据F(其中F为名称)存入第一集合中。
步骤320:根据触发映射库获取第一集合中各数据名称对应的预响应的目标等待事件的节点;
具体地,对应第一集合中的各个数据名称在触发映射库内查找获得其对应的目标等待事件的节点,并将其作为预响应的等待事件。例如,在触发映射库内进行查找获知数据F对应目标等待事件B的节点。
步骤330:分别触发各个预响应的目标等待事件的节点发生响应。
具体地,获得各个预响应的目标等待事件的节点后分别对其进行响应执行。例如,调度器执行调度响应目标等待事件B的节点。
本公开实施例中,对应步骤320,所述根据触发映射库获取第一集合中各数据名称对应的预响应的目标等待事件的节点,如图5所示,具体包括:
步骤510:根据触发映射库获取所述第一集合中各数据名称映射的各个目标等待事件的节点,并将映射的目标等待事件的节点存入第二集合中;
具体地,在触发映射库内,对应第一集合中的各个数据名称在触发映射库内进行查找对应的目标等待事件的节点,并将对应的目标等待事件的节点分别存入第二集合中。例如,将等待事件B的节点存入第二集合中。
步骤520:去除所述第二集合中重复的目标等待事件的节点,得到各个预响应的目标等待事件的节点。
具体地,由于会存在一个目标等待事件的节点对应多个流程实例的数据的情况,因此在第二集合中会存在由于对应多个流程实例的数据而查找到的同一目标等待事件的节点并分别存入了第二集合中,因此在本步骤中将第二集合中的重复的目标等待事件的节点去除,以形成不重复的预响应的目标等待事件的节点的名单。
如图6所示,对应步骤140,描述了流程实例的数据变化监测并进行对应的目标等待事件的节点调度响应的过程:
在流程实例启动时,将流程实例的所有数据存储到快照X,也即第一快照;具体地,调度器在调度一个任务之前,把任务可能用到的所有数据先存储起来,保存到一个数据快照X中,为下一步做准备;
执行调度任务;
任务执行完毕后,将流程实例的所有数据存储到快照Y,也即第二快照;具体地,任务执行完毕后,会存在数据发生改变的情况,因此将任务执行完毕后的数据存储起来,保存到一个快照Y中,为下一步做准备。
对比快照Y与快照X,获得变化了的数据的情况;具体地,对比任务执行前后的数据,就会找出变化了数据,并将这些变化了的数据的名称放入集合Z中,也即第一集合中。
对应变化的流程实例的数据获得其相应的目标等待事件的节点;具体地,在触发映射库中,找出集合Z中的数据名称映射的所有目标等待事件的节点,将目标等待事件的节点名称放入集合P中,也即第二集合;
去重等待事件的节点集合;具体地,集合P中,会存在重复的等待事件的节点,即:一个目标等待事件与两个流程实例的数据相关,而这两个数据都发生了变化,因此需要将这两个流程实例的数据对应的同一目标等待事件的节点去掉其中一个节点;
调度各个目标等待事件的节点;具体地,对去重后的集合P中的每一个目标等待事件的节点,调度器会依次进行调度响应。
本公开实施例提供的响应流程实例变更数据的方法,可在不需要通过定时轮询且不增加流程定义复杂度的前提下,可以监测流程实例数据的变化,从而做出相应的动作。
下面对本公开实施例提供的响应流程实例变更数据的装置进行描述,下文描述的响应流程实例变更数据的装置与上文描述的响应流程实例变更数据的方法可相互对应参照。
如图7所示,本公开实施例提供一种响应流程实例变更数据的装置,包括:
等待事件节点集合获取单元710,用于获取流程实例的流程定义中的等待事件的节点集合;
具体地,等待事件节点集合获取单元710遍历流程实例获得其流程定义中的所有等待事件的节点。
本公开实施例中,等待事件节点集合获取单元710,具体包括:
流程实例定义子单元,用于对流程实例的各节点进行定义,形成流程实例的流程定义;
等待事件节点获取子单元,用于在所述流程定义中获取流程实例中的各等待事件的节点,形成等待事件的节点集合。
目标等待事件节点获取单元720,用于获取所述节点集合中的目标等待事件的节点;
在等待事件节点集合获取单元710中获得的节点集合中包括目标流程实例的所有等待事件的节点形成节点集合,在目标等待事件节点获取单元720中将节点集合中关注的与流程实例的数据变更相关的节点筛选出来作为目标等待事件的节点。
目标等待事件节点获取单元720获取所述节点集合中与流程实例的数据变更有关的节点,并将其作为所述目标等待事件的节点;其中,所述目标等待事件的节点的触发与流程实例的数据变更有关。
目标等待事件对应数据名称获取单元730,用于获取所述目标等待事件的节点对应的流程实例的数据名称;
具体地,根据流程定义确定流程实例中的各个等待事件的调度响应是否与流程实例的数据变更有关,本公开实施例中,只关注与流程实例的数据的变更有关的目标等待事件的节点,认为目标等待事件的调度响应受流程实例的变更数据的触发。
具体地,对每一个目标等待事件的节点,获取其关联的流程实例的数据名称。实际业务中,有些等待事件是对流程实例中数据的变更有兴趣的,即等待事件的节点的触发响应与流程实例的数据的变更有关,同样有些等待事件是对流程实例的数据的变更不感兴趣的,即等待事件的节点的触发响应与流程实例的数据的变更无关。因此需要由每个具体的等待事件确定其是否关联用到流程实例的数据,如果需要则确定其为目标等待事件,并确定其关注的流程实例的数据的名称,如果不需要则本公开实施例不关注此类等待事件的节点。
触发映射库建立单元740,用于建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库;
具体地,将目标等待事件的节点与对应的流程实例的数据名称以匹配的形式保存在触发映射库内;其中,一个数据名称匹配至少一个目标等待事件的节点。
具体地,注册目标等待事件到触发映射库,也即对于对流程实例的数据变更相关的目标等待事件的节点,要保存下来到触发映射库,其中,触发映射库中数据基本的格式为:{数据名称}->{目标等待事件1、目标等待事件2、…、目标等待事件N},由此可见,数据名称与目标等待事件的节点可能是一对多的关系,即,将与流程实例的数据的变更相关的所有目标等待事件的节点在触发映射库中与流程实例的数据名称对应起来。
目标等待事件响应单元750,用于响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应。
具体地,当后台监测到流程实例的数据发生变化且该数据属于触发映射库内对应的数据时,通过在触发映射库内查询变化数据对应的目标等待事件,触发目标等待事件的节点发生响应。
本公开实施例中,目标等待事件响应单元750,具体包括:
变化数据获取子单元,用于执行流程实例,获取变化的数据;将所述变化的数据对应的数据名称存入第一集合;具体地,在流程实例启动时获取数据,并在流程实例执行完毕时再获取一次数据,将启动时的数据与执行完毕时的数据进行比较,获得变化的数据。
本公开实施例中,变化数据获取子单元,具体包括:
数据第一快照获取子单元,用于获取流程实例启动时的数据的第一快照;具体地,在流程实例启动时获取该实例所对应的所有数据。
数据第二快照获取子单元,用于获取流程实例执行完毕时的数据的第二快照;具体地,在流程实例执行完毕时获取该实例所对应的所有数据。
快照获取数据变化子单元,用于将所述第一快照与第二快照进行比较,获取变化的数据。
预响应目标等待事件节点获取子单元,用于根据触发映射库获取第一集合中各数据名称对应的预响应的目标等待事件的节点;具体地,对应第一集合中的各个数据名称在触发映射库内查找获得其对应的目标等待事件的节点,并将其作为预响应的目标等待事件。
本公开实施例中,预响应目标等待事件节点获取子单元,具体包括:
第二集合获取子单元,用于在触发映射库中,获取所述第一集合中各数据名称映射的各个目标等待事件的节点,并将映射的目标等待事件的节点存入第二集合中;具体地,在触发映射库内,对应第一集合中的各个数据名称在触发映射库内进行查找对应的目标等待事件的节点,并将对应的目标等待事件的节点分别存入第二集合中。
去重子单元,用于在所述第二集合中,去除重复的目标等待事件的节点,得到各个预响应的目标等待事件的节点。具体地,由于会存在一个目标等待事件的节点对应多个流程实例的数据的情况,因此在第二集合中会存在由于对应多个流程实例的数据而查找到的同一目标等待事件的节点并分别存入了第二集合中,因此在本步骤中将第二集合中的重复的目标等待事件的节点去除,以形成不重复的预响应的目标等待事件的节点的名单。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行响应流程实例变更数据的方法,该方法包括:获取流程实例的流程定义中的等待事件的节点集合;获取所述节点集合中的目标等待事件的节点;获取所述目标等待事件的节点对应的流程实例的数据名称;建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库;响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的响应流程实例变更数据的方法,该方法包括:获取流程实例的流程定义中的等待事件的节点集合;获取所述节点集合中的目标等待事件的节点;获取所述目标等待事件的节点对应的流程实例的数据名称;建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库;响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应。
又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的响应流程实例变更数据的方法,该方法包括:获取流程实例的流程定义中的等待事件的节点集合;获取所述节点集合中的目标等待事件的节点;获取所述目标等待事件的节点对应的流程实例的数据名称;建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库;响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
Claims (10)
1.一种响应流程实例变更数据的方法,其特征在于,包括:
获取流程实例的流程定义中的等待事件的节点集合;
获取所述节点集合中的目标等待事件的节点;
获取所述目标等待事件的节点对应的流程实例的数据名称;
建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库;
响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应。
2.根据权利要求1所述的响应流程实例变更数据的方法,其特征在于,所述获取流程实例的流程定义中的等待事件的节点集合,具体包括:
对流程实例的各节点进行定义,形成流程实例的流程定义;
获取所述流程定义中各等待事件的节点,形成等待事件的节点集合。
3.根据权利要求1所述的响应流程实例变更数据的方法,其特征在于,所述获取所述节点集合中的目标等待事件的节点,具体包括:
获取所述节点集合中与流程实例的数据变更有关的节点,并将其作为所述目标等待事件的节点;其中,所述目标等待事件的节点的触发与流程实例的数据变更有关。
4.根据权利要求3所述的响应流程实例变更数据的方法,其特征在于,所述建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库,具体包括:
将目标等待事件的节点与对应的流程实例的数据名称以匹配的形式保存在触发映射库内;其中,一个数据名称匹配至少一个目标等待事件的节点。
5.根据权利要求4所述的响应流程实例变更数据的方法,其特征在于,所述响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应,具体包括:
执行流程实例,获取变化的数据;
将所述变化的数据对应的数据名称存入第一集合;
根据所述触发映射库获取第一集合中各数据名称对应的预响应的目标等待事件的节点;
分别触发各个预响应的目标等待事件的节点发生响应。
6.根据权利要求5所述的响应流程实例变更数据的方法,其特征在于,所述执行流程实例,获取变化的数据,具体包括:
获取流程实例启动时的数据的第一快照;
获取流程实例执行完毕时的数据的第二快照;
将所述第一快照与第二快照进行比较,获取变化的数据。
7.根据权利要求5所述的响应流程实例变更数据的方法,其特征在于,所述根据所述触发映射库获取第一集合中各数据名称对应的预响应的目标等待事件的节点,具体包括:
根据触发映射库获取所述第一集合中各数据名称映射的各个目标等待事件的节点,并将映射的目标等待事件的节点存入第二集合中;
去除所述第二集合中重复的目标等待事件的节点,得到各个预响应的目标等待事件的节点。
8.一种响应流程实例变更数据的装置,其特征在于,包括:
等待事件节点集合获取单元,用于获取流程实例的流程定义中的等待事件的节点集合;
目标等待事件节点获取单元,用于获取所述节点集合中的目标等待事件的节点;
目标等待事件对应数据名称获取单元,用于获取所述目标等待事件的节点对应的流程实例的数据名称;
触发映射库建立单元,用于建立目标等待事件的节点与所述流程实例的数据名称关联的触发映射库;
目标等待事件响应单元,用于响应于所述触发映射库内的数据名称对应的数据发生变化,触发与所述数据名称关联的目标等待事件的节点发生响应。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述响应流程实例变更数据的方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述响应流程实例变更数据的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210120475.9A CN114443440A (zh) | 2022-02-07 | 2022-02-07 | 一种响应流程实例变更数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210120475.9A CN114443440A (zh) | 2022-02-07 | 2022-02-07 | 一种响应流程实例变更数据的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443440A true CN114443440A (zh) | 2022-05-06 |
Family
ID=81371099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210120475.9A Pending CN114443440A (zh) | 2022-02-07 | 2022-02-07 | 一种响应流程实例变更数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443440A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831122A (zh) * | 2011-06-15 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 工作流表的数据保存方法、查询方法及装置 |
CN107423404A (zh) * | 2017-07-27 | 2017-12-01 | 东软集团股份有限公司 | 流程实例数据同步处理方法和装置 |
CN111708834A (zh) * | 2020-05-25 | 2020-09-25 | 苏州浪潮智能科技有限公司 | 一种业务配置数据同步的方法、系统、设备及介质 |
-
2022
- 2022-02-07 CN CN202210120475.9A patent/CN114443440A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831122A (zh) * | 2011-06-15 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 工作流表的数据保存方法、查询方法及装置 |
CN107423404A (zh) * | 2017-07-27 | 2017-12-01 | 东软集团股份有限公司 | 流程实例数据同步处理方法和装置 |
CN111708834A (zh) * | 2020-05-25 | 2020-09-25 | 苏州浪潮智能科技有限公司 | 一种业务配置数据同步的方法、系统、设备及介质 |
Non-Patent Citations (3)
Title |
---|
刘清华等: "工作流的动态变更处理方法", 计算机辅助设计与图形学学报, vol. 23, no. 02, 15 February 2011 (2011-02-15), pages 331 - 338 * |
李勇;黄海明;刘金刚;: "工作流系统数据触发模块的设计与实现", 计算机工程与设计, no. 08, 28 April 2009 (2009-04-28) * |
陈旭婧: "基于支持动态变更工作流的审判管理系统的设计与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 2016, 15 February 2016 (2016-02-15), pages 138 - 423 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8938421B2 (en) | Method and a system for synchronizing data | |
CN108874558B (zh) | 分布式事务的消息订阅方法、电子装置及可读存储介质 | |
CN111274052A (zh) | 数据分发方法、服务器及计算机可读存储介质 | |
CN112269718A (zh) | 一种业务系统故障分析方法及装置 | |
CN110955506A (zh) | 一种分布式作业调度处理方法 | |
CN110784377A (zh) | 一种多云环境下的云监控数据统一管理的方法 | |
CN111010318A (zh) | 发现物联网终端设备失联的方法、系统和设备影子服务器 | |
CN111355802A (zh) | 信息推送方法和装置 | |
CN114371975A (zh) | 大数据组件参数调整方法、装置、电子设备及存储介质 | |
CN113065779A (zh) | 数据处理方法、装置和电子设备 | |
CN115981950A (zh) | 监控告警方法、装置、设备及计算机可读存储介质 | |
CN112153126A (zh) | 一种针对k8s集群的部署和节点管理方法和系统 | |
CN114510317A (zh) | 虚拟机管理方法、装置、设备及存储介质 | |
CN114020819A (zh) | 一种多系统参数同步方法及装置 | |
CN117149578A (zh) | 一种任务进度监控方法及相关装置 | |
CN114443440A (zh) | 一种响应流程实例变更数据的方法及装置 | |
CN111274032A (zh) | 任务处理系统及方法、存储介质 | |
CN111092956A (zh) | 资源同步方法、装置、存储介质及设备 | |
CN116010388A (zh) | 数据校验方法、数据采集服务端及数据校验系统 | |
CN115794783A (zh) | 数据去重方法、装置、设备和介质 | |
CN115914290A (zh) | 一种车联网微服务自动化接口监控方法及装置 | |
CN115185673A (zh) | 分布式定时任务调度方法、系统、存储介质及程序产品 | |
CN115220992A (zh) | 接口变更监控方法、装置、计算机设备和存储介质 | |
CN110955722B (zh) | 数据同步方法及装置 | |
CN112187543A (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 |