CN109104306A - 流程解析方法、装置、计算机可读存储介质及电子设备 - Google Patents
流程解析方法、装置、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN109104306A CN109104306A CN201810836446.6A CN201810836446A CN109104306A CN 109104306 A CN109104306 A CN 109104306A CN 201810836446 A CN201810836446 A CN 201810836446A CN 109104306 A CN109104306 A CN 109104306A
- Authority
- CN
- China
- Prior art keywords
- flow nodes
- node
- pass node
- pass
- received
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本公开涉及一种流程解析方法、装置、计算机可读存储介质及电子设备,所述方法包括:当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,其中,所述第二流程节点为所述第一流程节点的任一上级流程节点;当所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令时,执行所述第一流程节点对应的操作。通过上述技术方案,可以有效减少控制节点的数量,简化流程拓扑,可以适用于复杂的流程拓扑解析。另一方面,可以有效提高流程拓扑的可维护性,保证流程的解析效率的同时,有效降低工作人员的工作量,提升用户使用体验。
Description
技术领域
本公开涉及流程处理领域,具体地,涉及一种流程解析方法、装置、计算机可读存储介质及电子设备。
背景技术
物理主机、网络设备等IT基础设施存在大量的日常运维任务,这些任务之间通常有顺序关系,一个运维步骤执行完成后才能启动下一个运维步骤,把这些步骤串接起来就形成了运维流程。现有技术中,在流程中通常需要设置多个控制节点以使得流程可以正常流转,然而过多的控制节点会增加流程拓扑的复杂度。同时,在对流程拓扑进行修改时,也会需要工作人员去重新配置信息,增加工作人员的工作量。
发明内容
本公开的目的是提供一种可以简化流程拓扑的流程解析方法、装置、计算机可读存储介质及电子设备。
为了实现上述目的,根据本公开的第一方面,提供一种流程解析方法,所述方法包括:
当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,其中,所述第二流程节点为所述第一流程节点的任一上级流程节点;
当所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令时,执行所述第一流程节点对应的操作。
可选地,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
若所述第一流程节点具有下级流程节点,则所述第一流程节点向待执行的下级流程节点发送触发指令。
可选地,每个流程节点本地存储有该流程节点对应的当前路径计数,其中,所述当前路径计数的初始值为指向该流程节点的路径总数;
所述当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,包括:
当第一流程节点接收到来自第二流程节点的触发指令时,将所述第一流程节点中存储的当前路径计数减一;在所述第一流程节点的所述当前路径计数被减至零时,所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令。
可选地,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
若所述第一流程节点具有禁止执行的下级流程节点,则所述第一流程节点向所述禁止执行的下级流程节点发送禁止执行指令,所述禁止执行指令用于触发从所述禁止执行的下级流程节点起、至所述禁止执行的下级流程节点中的第一个当前路径计数大于一的后级流程节点各自的当前路径计数减一。
可选地,每个流程节点本地存储有该流程节点对应的当前路径计数,其中,所述当前路径计数的初始值为零;
所述当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,包括:
当第一流程节点接收到来自第二流程节点的触发指令时,将所述第一流程节点中存储的当前路径计数加一;在所述第一流程节点的所述当前路径计数被增至指向所述第一流程节点的路径总数时,所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令。
可选地,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
若所述第一流程节点具有禁止执行的下级流程节点,则所述第一流程节点向所述禁止执行的下级流程节点发送禁止执行指令,所述禁止执行指令用于触发从所述禁止执行的下级流程节点起、至所述禁止执行的下级流程节点中的第一个指向该流程节点的路径总数大于一的后级流程节点各自的当前路径计数加一。
可选地,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
在所述第一流程节点不是结束节点、且不具有下级流程节点时,将结束节点确定为所述第一流程节点的下级流程节点;
向所述结束节点发送执行指令,所述执行指令用于使得所述结束节点直接结束流程。
根据本公开的第二方面,还提供一种数据解析装置,所述装置包括:
判断模块,用于当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,其中,所述第二流程节点为所述第一流程节点的任一上级流程节点;
执行模块,用于当所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令时,执行所述第一流程节点对应的操作。
可选地,所述装置还包括:
第一发送模块,用于在所述执行模块执行所述第一流程节点对应的操作之后,若所述第一流程节点具有下级流程节点,则所述第一流程节点向待执行的下级流程节点发送触发指令。
可选地,每个流程节点本地存储有该流程节点对应的当前路径计数,其中,所述当前路径计数的初始值为指向该流程节点的路径总数;
所述判断模块包括:
第一处理子模块,用于当第一流程节点接收到来自第二流程节点的触发指令时,将所述第一流程节点中存储的当前路径计数减一;
第一判定子模块,用于在所述第一流程节点的所述当前路径计数被减至零时,所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令。
可选地,所述装置还包括:
第二发送模块,用于在所述执行模块执行所述第一流程节点对应的操作之后,若所述第一流程节点具有禁止执行的下级流程节点,则所述第一流程节点向所述禁止执行的下级流程节点发送禁止执行指令,所述禁止执行指令用于触发从所述禁止执行的下级流程节点起、至所述禁止执行的下级流程节点中的第一个当前路径计数大于一的后级流程节点各自的当前路径计数减一。
可选地,每个流程节点本地存储有该流程节点对应的当前路径计数,其中,所述当前路径计数的初始值为零;
所述判断模块包括:
第二处理子模块,用于当第一流程节点接收到来自第二流程节点的触发指令时,将所述第一流程节点中存储的当前路径计数加一;
第二判定子模块,用于在所述第一流程节点的所述当前路径计数被增至指向所述第一流程节点的路径总数时,所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令。
可选地,所述装置还包括:
第三发送模块,用于在所述执行模块执行所述第一流程节点对应的操作之后,若所述第一流程节点具有禁止执行的下级流程节点,则所述第一流程节点向所述禁止执行的下级流程节点发送禁止执行指令,所述禁止执行指令用于触发从所述禁止执行的下级流程节点起、至所述禁止执行的下级流程节点中的第一个指向该流程节点的路径总数大于一的后级流程节点各自的当前路径计数加一。
可选地,所述装置还包括:
确定模块,用于在所述执行模块执行所述第一流程节点对应的操作之后,在所述第一流程节点不是结束节点、且不具有下级流程节点时,将结束节点确定为所述第一流程节点的下级流程节点;
第四发送模块,用于向所述结束节点发送执行指令,所述执行指令用于使得所述结束节点直接结束流程。
根据本公开的第三方面,还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面任一所述方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面任一所述方法的步骤。
在上述技术方案中,第一流程节点通过判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,以确定是否可以执行该第一流程节点对应的操作。通过上述技术方案,当前流程节点可以直接根据其上级流程节点发送的触发指令来确定是否执行其对应的操作,从而可以有效减少控制节点的数量,简化流程拓扑,可以适用于复杂的流程拓扑解析。另一方面,在流程拓扑更改时,不需要工作人员配置流程运转的控制节点,可以有效提高流程拓扑的可维护性,保证流程的解析效率的同时,有效降低工作人员的工作量,提升用户使用体验。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是现有流程的示意图;
图2是根据本公开的一种实施方式提供的流程解析方法的流程图;
图3是根据本公开的一种实施方式提供的流程拓扑的示意图;
图4是根据本公开的另一种实施方式提供的流程拓扑的示意图;
图5是根据本公开的另一种实施方式提供的流程拓扑的示意图;
图6是根据本公开的另一种实施方式提供的流程拓扑的示意图;
图7是根据本公开的另一种实施方式提供的流程拓扑的示意图;
图8是根据本公开的另一种实施方式提供的流程拓扑的示意图;
图9是根据本公开的另一种实施方式提供的流程拓扑的示意图;
图10是根据本公开的一种实施方式提供的流程解析装置的框图;
图11是根据本公开的另一种实施方式提供的流程解析装置的判断模块的框图;
图12是根据本公开的另一种实施方式提供的流程解析装置的判断模块的框图;
图13是根据一示例性实施例示出的一种电子设备的框图;
图14是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
如背景技术中所述,图1所示,为现有流程的示意图。其中,开始节点和结束节点用于控制流程的开始和结束,矩形节点为任务节点,表示在该节点所要执行的任务,节点S1、S2、T1、T2为控制节点。更进一步,节点S1为并发开始节点,用于控制并发的任务节点执行对应的任务;节点S2为并发结束节点,用于判断并发的任务节点对应的任务是否完成,并在并发的任务节点对应的任务全部完成时,触发下一流程节点;节点T1为条件开始节点,用于判断流程的当前状态是否满足条件,从而控制触发对应的下一流程节点;节点T2为条件结束节点,用于控制条件流程的结束,并触发下一流程节点。
由此可见,在该简单的流程中就存在多个控制节点,使得流程拓扑的复杂度增加。而当流程复杂时,控制节点就会更多,使得流程拓扑的设计更加复杂。
为了有效减少流程拓扑中的控制节点,本公开提供一种流程解析方法。图2所示,为根据本公开的一种实施方式提供的流程解析方法的流程图。如图2所示,所述方法包括:
在S11中,当第一流程节点接收到来自第二流程节点的触发指令时,第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,其中,所述第二流程节点为所述第一流程节点的任一上级流程节点。
示例地,如图3所示,为根据本公开的一种实施方式提供的流程拓扑的示意图。当第一流程节点为流程节点A时,其上级节点只有开始节点,因此,在流程节点A接收到来自开始节点的触发指令时,可以确定出其接收到全部上级流程节点发送的触发指令。同理,当流程节点B、C、D接收到来自开始节点的触发指令时,也可以分别确定出各个节点接收到其全部上级流程节点发送的触发指令。
在S12中,当所述第一流程节点判定已接收到全部上级流程节点发送的触发指令时,执行第一流程节点对应的操作。
其中,当所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令时,表示该第一流程节点对应的上级流程节点都对第一流程节点进行触发,此时便可执行所述第一流程节点对应的操作。
其中,本领域技术人员所公知的是,流程拓扑中的开始节点没有实质性的执行操作,只是用来开启流程的运转。因此,本公开中所述的第一流程节点为具有上级流程节点的任一流程节点,开始节点可以在开启流程时直接执行,并向其下级流程节点发送触发指令。
因此,在上述技术方案中,第一流程节点通过判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,以确定是否可以执行该第一流程节点对应的操作。通过上述技术方案,当前流程节点可以直接根据其上级流程节点发送的触发指令来确定是否执行其对应的操作,从而可以有效减少控制节点的数量,简化流程拓扑,可以适用于复杂的流程拓扑解析。另一方面,在流程拓扑更改时,不需要工作人员配置流程运转的控制节点,可以有效提高流程拓扑的可维护性,保证流程的解析效率的同时,有效降低工作人员的工作量,提升用户使用体验。
可选地,在所述执行所述第一流程节点对应的操作的步骤S12之后,所述方法还包括:
若所述第一流程节点具有下级流程节点,则所述第一流程节点向待执行的下级流程节点发送触发指令。
在一实施例中,如图3所示,第一流程节点为流程节点A时,流程节点A的待执行的下级流程节点为流程节点E,因此,当流程节点A执行完其对应的操作时,可以向流程节点E发送触发指令,从而可以对流程节点E对应的操作进行触发。
因此,通过上述方案,在当前流程节点执行完其对应的操作时,可以通过向其可执行的下级流程节点发送触发指令,从而使得流程运转,保证用户使用体验。
可选地,每个流程节点本地存储有该流程节点对应的当前路径计数,其中,所述当前路径计数的初始值为指向该流程节点的路径总数。示例地,如图3所示,以第一流程节点为流程节点E为例,该流程节点的当前路径计数的初始值为指向该流程节点的路径总数,其中,如图3所示,流程节点A、B、C指向流程节点E,因此,流程节点E的当前路径计数的初始值为3,其他流程节点的当前路径计数的初始值以同样的方式确定,在此不再赘述。
当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令的步骤S11,可以包括:
当第一流程节点接收到来自第二流程节点的触发指令时,将所述第一流程节点中存储的当前路径计数减一;在所述第一流程节点的所述当前路径计数被减至零时,所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令。
在该实施例中,以图3所示的流程拓扑为例,当流程节点E接收到来自流程节点A的触发指令时,会将流程节点E的当前路径计数减一,即此时流程节点E的当前路径计数为2(即,3-1)。当流程节点E接收到来自流程节点B的触发指令时,会将流程节点E的当前路径计数减一,即此时流程节点E的当前路径计数为1(即,2-1)。当流程节点E接收到来自流程节点C的触发指令时,会将流程节点E的当前路径计数减一,即此时流程节点E的当前路径计数为0(即,1-1),此时流程节点E可以判定已接收到其全部上级流程节点发送的触发指令。
因此,通过上述技术方案,第一流程节点可以通过指向该流程节点的路径总数判定其是否已接收到所述全部上级流程节点发送的触发指令,从而可以快速进行判定,而不需要其他控制节点进行确定,有效简化流程拓扑。
可选地,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
若所述第一流程节点具有禁止执行的下级流程节点,则所述第一流程节点向所述禁止执行的下级流程节点发送禁止执行指令,所述禁止执行指令用于触发从所述禁止执行的下级流程节点起、至所述禁止执行的下级流程节点中的第一个当前路径计数大于一的后级流程节点各自的当前路径计数减一。
其中,当第一流程节点为条件节点时,确定出的不满足其条件的流程节点即为该第一流程节点的禁止执行的下级流程节点。如图3中所示,示例地,流程节点K对应的条件为“result>3”,若运行到流程节点K时,得出的result为5时,此时,流程节点K的下级流程节点G为待执行的下级流程节点,流程节点K的下级流程节点I为禁止执行的下级流程节点。
在该实施例中,流程节点K可以向流程节点I发送禁止执行指令,流程节点I的后级流程节点中第一个当前路径计数大于一的流程节点为流程节点H。因此,该禁止执行指令用于触发流程节点I和流程节点H对应的当前路径计数减一。其中,流程节点I的当前路径计数的初始值为1,流程节点H的当前路径计数的初始值为2,则该禁止执行指令触发后,流程节点I的当前路径计数为0,流程节点H的当前路径计数为1。
可选地,所述方法还包括:将所述禁止执行指令触发的当前路径计数为零的第三流程节点的状态设置为禁止执行状态。
示例地,在流程节点K向流程节点I发送禁止执行指令后,使得流程节点I的当前路径计数为0,流程节点H的当前路径计数为1。此时,则可以将流程节点I的状态设置为禁止执行状态,便于流程节点回溯时该流程节点状态的确定。并且,在流程节点回退时,若流程节点的状态为禁止执行状态,也可以禁止流程回退到该流程节点,从而进一步保证流程运转的高效率和高质量。
可选地,每个流程节点本地存储有该流程节点对应的当前路径计数,其中,所述当前路径计数的初始值为零。
所述当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令的步骤S11,可以包括:
当第一流程节点接收到来自第二流程节点的触发指令时,将所述第一流程节点中存储的当前路径计数加一;在所述第一流程节点的所述当前路径计数被增至指向所述第一流程节点的路径总数时,所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令。
其中,如图3所示,流程节点A、B、C指向流程节点E,因此,指向流程节点E的路径总数为3,指向其他流程节点的路径总数以同样的方式确定,在此不再赘述。
在该实施例中,以图3所示的流程拓扑为例,当流程节点E接收到来自流程节点A的触发指令时,会将流程节点E的当前路径计数加一,即此时流程节点E的当前路径计数为1(即,0+1)。当流程节点E接收到来自流程节点B的触发指令时,会将流程节点E的当前路径计数加一,即此时流程节点E的当前路径计数为2(即,1+1)。当流程节点E接收到来自流程节点C的触发指令时,会将流程节点E的当前路径计数加一,即此时流程节点E的当前路径计数为3(即,2+1),此时流程节点E可以判定已接收到其全部上级流程节点发送的触发指令。
可选地,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
若所述第一流程节点具有禁止执行的下级流程节点,则所述第一流程节点向所述禁止执行的下级流程节点发送禁止执行指令,所述禁止执行指令用于触发从所述禁止执行的下级流程节点起、至所述禁止执行的下级流程节点中的第一个指向该流程节点的路径总数大于一的后级流程节点各自的当前路径计数加一。
在该实施例中,若流程节点I为流程节点K的禁止执行的下级流程节点,则流程节点K可以向流程节点I发送禁止执行指令,流程节点I的后级流程节点中第一个指向该流程节点的路径总数大于一的流程节点为流程节点H。因此,该禁止执行指令用于触发流程节点I和流程节点H对应的当前路径计数加一。其中,流程节点I的当前路径计数的初始值为0,指向该流程节点I的路径总数为1,流程节点H的当前路径计数的初始值为0,指向该流程节点H的路径总数为2,则该禁止执行指令触发后,流程节点I的当前路径计数为1,流程节点H的当前路径计数为1。
可选地,所述方法还包括:将所述禁止执行指令触发的当前路径计数为指向该流程节点的路径总数的第三流程节点的状态设置为禁止执行状态。
示例地,在流程节点K向流程节点I发送禁止执行指令后,使得流程节点I的当前路径计数为1,流程节点H的当前路径计数为1。此时,流程节点I的当前路径计数为指向该流程节点I的路径总数,则可以将流程节点I的状态设置为禁止执行状态,便于流程节点回溯时该流程节点状态的确定。并且,在流程节点回退时,若流程节点的状态为禁止执行状态,也可以禁止流程回退到该流程节点,从而进一步保证流程运转的高效率和高质量。
可选地,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
在所述第一流程节点不是结束节点、且不具有下级流程节点时,将结束节点确定为所述第一流程节点的下级流程节点;
向所述结束节点发送执行指令,所述执行指令用于使得所述结束节点直接结束流程。
示例地,图4所示,为根据本公开的另一种实施方式提供的流程拓扑的示意图。如图4所示,若第一流程节点为流程节点Q时,流程节点Q既不是结束节点也不具有下级流程节点,此时,可以将结束节点确定为流程节点Q的下级流程节点。同时,可以向结束节点发送执行指令,使得结束节点可以结束该流程。因此,通过上述技术方案,可以对流程缺失的部分进行完善,提高流程解析方法的容错能力,使得不完整的流程拓扑也可以被执行。同时,可以使得条件节点增加多个分支,增加流程拓扑的灵活性,进一步提升用户使用体验。
以下,将以流程节点的当前路径计数的初始值为指向该流程节点的路径总数为例,结合图示对应用本公开的流程解析方法的整个流程运转进行说明。
图5所示,为根据本公开的一种实施方式提供的流程拓扑的示意图。其中,每个流程节点的当前路径计数的初始值为指向该流程节点的路径总数。当流程开始时,开始节点可以直接执行。之后,流程节点A、B、C、D接收到来自开始节点的触发指令,分别将其当前路径计数减一,此时,流程节点A、B、C、D的当前路径计数全部为0,如图6所示,流程节点A、B、C、D分别执行其对应的操作。
其中,流程节点A、B、C、D执行其对应的操作的时间可能相同,也可能不同,在执行完其分别对应的操作之后,流程节点A、B、C、D分别向其可执行的下级流程节点发送触发指令。当流程节点E接收到流程节点A、B、C发送的触发指令时,流程节点E的当前路径计数变为0,流程节点E开始执行其对应的操作;流程节点E执行完其对应的操作后,向流程节点K发送触发指令。之后,流程节点K的当前路径计数变为0。当流程节点F接收到流程节点D发送的触发指令时,流程节点F的当前路径计数变为0,流程节点F开始执行其对应的操作,此时,该流程拓扑的示意图如图7所示。
当流程节点K执行完其对应的操作时,确定其可执行的下级流程节点为流程节点G、禁止执行的下级流程节点为流程节点I,此时,流程节点K向流程节点G发送触发指令,流程节点K向流程节点I发送禁止执行指令。之后,流程节点I在接收到禁止执行指令时,该禁止执行指令触发流程节点I的当前路径计数减一,即为0,同时将流程节点I的状态设置为禁止执行状态;同时禁止执行指令还触发流程节点H的当前路径计数减一,此时,流程节点H的当前路径计数为1。流程节点G在接收到来自流程节点K的触发指令时,其当前路径计数变为0,在执行完流程节点G对应的操作之后,流程节点G向其可执行的下级流程节点(即,流程节点J和流程节点H)发送触发指令。另外,流程节点F执行完其对应的操作,向结束节点发送触发指令,此时,结束节点的当前路径计数减一,即结束节点的当前路径计数为2,如图8所示。
当流程节点J和流程节点H接收到流程节点G发送的触发指令之后,其分别对应的当前路径计数变为0。在流程节点J和流程节点H分别执行完其对应的操作之后,分别向结束节点发送触发指令。结束节点在接收到流程节点J和流程节点H发送的触发指令后,其当前路径计数减为0,如图9所示。至此,流程结束。
本公开还提供一种数据解析装置。图10所示,为根据本公开的一种实施方式提供的流程解析装置的框图。如图10所示,所述装置10包括:
判断模块100,用于当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,其中,所述第二流程节点为所述第一流程节点的任一上级流程节点;
执行模块200,用于当所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令时,执行所述第一流程节点对应的操作。
可选地,所述装置10还包括:
第一发送模块,用于在所述执行模块执行所述第一流程节点对应的操作之后,若所述第一流程节点具有下级流程节点,则所述第一流程节点向待执行的下级流程节点发送触发指令。
可选地,每个流程节点本地存储有该流程节点对应的当前路径计数,其中,所述当前路径计数的初始值为指向该流程节点的路径总数;
如图11所示,所述判断模块100可以包括:
第一处理子模块101,用于当第一流程节点接收到来自第二流程节点的触发指令时,将所述第一流程节点中存储的当前路径计数减一;
第一判定子模块102,用于在所述第一流程节点的所述当前路径计数被减至零时,所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令。
可选地,所述装置10还包括:
第二发送模块,用于在所述执行模块200执行所述第一流程节点对应的操作之后,若所述第一流程节点具有禁止执行的下级流程节点,则所述第一流程节点向所述禁止执行的下级流程节点发送禁止执行指令,所述禁止执行指令用于触发从所述禁止执行的下级流程节点起、至所述禁止执行的下级流程节点中的第一个当前路径计数大于一的后级流程节点各自的当前路径计数减一。
可选地,每个流程节点本地存储有该流程节点对应的当前路径计数,其中,所述当前路径计数的初始值为零;
如图12所示,所述判断模块100可以包括:
第二处理子模块103,用于当第一流程节点接收到来自第二流程节点的触发指令时,将所述第一流程节点中存储的当前路径计数加一;
第二判定子模块104,用于在所述第一流程节点的所述当前路径计数被增至指向所述第一流程节点的路径总数时,所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令。
可选地,所述装置10还包括:
第三发送模块,用于在所述执行模块200执行所述第一流程节点对应的操作之后,若所述第一流程节点具有禁止执行的下级流程节点,则所述第一流程节点向所述禁止执行的下级流程节点发送禁止执行指令,所述禁止执行指令用于触发从所述禁止执行的下级流程节点起、至所述禁止执行的下级流程节点中的第一个指向该流程节点的路径总数大于一的后级流程节点各自的当前路径计数加一。
可选地,所述装置10还包括:
确定模块,用于在所述执行模块200执行所述第一流程节点对应的操作之后,在所述第一流程节点不是结束节点、且不具有下级流程节点时,将结束节点确定为所述第一流程节点的下级流程节点;
第四发送模块,用于向所述结束节点发送执行指令,所述执行指令用于使得所述结束节点直接结束流程。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图13是根据一示例性实施例示出的一种电子设备1300的框图。如图13所示,该电子设备1300可以包括:处理器1301,存储器1302。该电子设备1300还可以包括多媒体组件1303,输入/输出(I/O)接口1304,以及通信组件1305中的一者或多者。
其中,处理器1301用于控制该电子设备1300的整体操作,以完成上述的流程解析方法中的全部或部分步骤。存储器1302用于存储各种类型的数据以支持在该电子设备1300的操作,这些数据例如可以包括用于在该电子设备1300上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1303可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1302或通过通信组件1305发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1304为处理器1301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1305用于该电子设备1300与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件1305可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备1300可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的流程解析方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的流程解析方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1302,上述程序指令可由电子设备1300的处理器1301执行以完成上述的流程解析方法。
图14是根据一示例性实施例示出的一种电子设备1400的框图。例如,电子设备1400可以被提供为一服务器。参照图14,电子设备1400包括处理器1422,其数量可以为一个或多个,以及存储器1432,用于存储可由处理器1422执行的计算机程序。存储器1432中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1422可以被配置为执行该计算机程序,以执行上述的流程解析方法。
另外,电子设备1400还可以包括电源组件1426和通信组件1450,该电源组件1426可以被配置为执行电子设备1400的电源管理,该通信组件1450可以被配置为实现电子设备1400的通信,例如,有线或无线通信。此外,该电子设备1400还可以包括输入/输出(I/O)接口1458。电子设备1400可以操作基于存储在存储器1432的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的流程解析方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1432,上述程序指令可由电子设备1400的处理器1422执行以完成上述的流程解析方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种流程解析方法,其特征在于,所述方法包括:
当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,其中,所述第二流程节点为所述第一流程节点的任一上级流程节点;
当所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令时,执行所述第一流程节点对应的操作。
2.根据权利要求1所述的方法,其特征在于,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
若所述第一流程节点具有下级流程节点,则所述第一流程节点向待执行的下级流程节点发送触发指令。
3.根据权利要求1或2所述的方法,其特征在于,每个流程节点本地存储有该流程节点对应的当前路径计数,其中,所述当前路径计数的初始值为指向该流程节点的路径总数;
所述当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,包括:
当第一流程节点接收到来自第二流程节点的触发指令时,将所述第一流程节点中存储的当前路径计数减一;在所述第一流程节点的所述当前路径计数被减至零时,所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令。
4.根据权利要求3所述的方法,其特征在于,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
若所述第一流程节点具有禁止执行的下级流程节点,则所述第一流程节点向所述禁止执行的下级流程节点发送禁止执行指令,所述禁止执行指令用于触发从所述禁止执行的下级流程节点起、至所述禁止执行的下级流程节点中的第一个当前路径计数大于一的后级流程节点各自的当前路径计数减一。
5.根据权利要求1或2所述的方法,其特征在于,每个流程节点本地存储有该流程节点对应的当前路径计数,其中,所述当前路径计数的初始值为零;
所述当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,包括:
当第一流程节点接收到来自第二流程节点的触发指令时,将所述第一流程节点中存储的当前路径计数加一;在所述第一流程节点的所述当前路径计数被增至指向所述第一流程节点的路径总数时,所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令。
6.根据权利要求5所述的方法,其特征在于,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
若所述第一流程节点具有禁止执行的下级流程节点,则所述第一流程节点向所述禁止执行的下级流程节点发送禁止执行指令,所述禁止执行指令用于触发从所述禁止执行的下级流程节点起、至所述禁止执行的下级流程节点中的第一个指向该流程节点的路径总数大于一的后级流程节点各自的当前路径计数加一。
7.根据权利要求1所述的方法,其特征在于,在所述执行所述第一流程节点对应的操作的步骤之后,所述方法还包括:
在所述第一流程节点不是结束节点、且不具有下级流程节点时,将结束节点确定为所述第一流程节点的下级流程节点;
向所述结束节点发送执行指令,所述执行指令用于使得所述结束节点直接结束流程。
8.一种流程解析装置,其特征在于,所述装置包括:
判断模块,用于当第一流程节点接收到来自第二流程节点的触发指令时,所述第一流程节点判断是否已接收到所述第一流程节点的全部上级流程节点发送的触发指令,其中,所述第二流程节点为所述第一流程节点的任一上级流程节点;
执行模块,用于当所述第一流程节点判定已接收到所述全部上级流程节点发送的触发指令时,执行所述第一流程节点对应的操作。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810836446.6A CN109104306A (zh) | 2018-07-26 | 2018-07-26 | 流程解析方法、装置、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810836446.6A CN109104306A (zh) | 2018-07-26 | 2018-07-26 | 流程解析方法、装置、计算机可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109104306A true CN109104306A (zh) | 2018-12-28 |
Family
ID=64847764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810836446.6A Pending CN109104306A (zh) | 2018-07-26 | 2018-07-26 | 流程解析方法、装置、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109104306A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110599005A (zh) * | 2019-08-23 | 2019-12-20 | 东软集团股份有限公司 | 流程解析方法、装置、计算机可读存储介质和电子设备 |
CN111506364A (zh) * | 2019-01-31 | 2020-08-07 | 北京数聚鑫云信息技术有限公司 | 一种构建自动化操作流程的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2493120A1 (en) * | 2011-02-23 | 2012-08-29 | British Telecommunications Public Limited Company | Connectivity monitoring in a communications system |
CN103530740A (zh) * | 2013-10-25 | 2014-01-22 | 金蝶软件(中国)有限公司 | 一种对任务流程进行节点控制的方法及装置 |
CN106990943A (zh) * | 2017-03-30 | 2017-07-28 | 微梦创科网络科技(中国)有限公司 | 并行任务处理方法和装置 |
CN107220811A (zh) * | 2017-05-27 | 2017-09-29 | 杭州迪脉信息科技有限公司 | 流程中节点激活的方法及装置 |
-
2018
- 2018-07-26 CN CN201810836446.6A patent/CN109104306A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2493120A1 (en) * | 2011-02-23 | 2012-08-29 | British Telecommunications Public Limited Company | Connectivity monitoring in a communications system |
CN103530740A (zh) * | 2013-10-25 | 2014-01-22 | 金蝶软件(中国)有限公司 | 一种对任务流程进行节点控制的方法及装置 |
CN106990943A (zh) * | 2017-03-30 | 2017-07-28 | 微梦创科网络科技(中国)有限公司 | 并行任务处理方法和装置 |
CN107220811A (zh) * | 2017-05-27 | 2017-09-29 | 杭州迪脉信息科技有限公司 | 流程中节点激活的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506364A (zh) * | 2019-01-31 | 2020-08-07 | 北京数聚鑫云信息技术有限公司 | 一种构建自动化操作流程的方法及装置 |
CN110599005A (zh) * | 2019-08-23 | 2019-12-20 | 东软集团股份有限公司 | 流程解析方法、装置、计算机可读存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843650A (zh) | 一种智能终端中的应用程序管理方法和装置 | |
CN105338550B (zh) | 一种用于无线网络的连接的管理方法和装置 | |
JP2016519469A (ja) | デュアルsimデュアルスタンバイ(dsds)ハンドセットにおけるページングブロック率制御 | |
CN105335146B (zh) | 管理软件数据流量的方法及便携式电子装置 | |
CN109104306A (zh) | 流程解析方法、装置、计算机可读存储介质及电子设备 | |
CN104519262A (zh) | 获取视频数据的方法、装置及终端 | |
CN109903040A (zh) | 一种消息发送方法、装置和存储介质 | |
CN108647050A (zh) | 应用程序启动方法、装置及移动终端 | |
CN109688574A (zh) | 网络切片选择方法和系统 | |
CN107404740A (zh) | 安全的网络切换方法、装置及终端设备 | |
CN108234293A (zh) | 表情管理方法、表情管理装置及智能终端 | |
WO2019144803A1 (zh) | 流量统计方法、装置、存储介质及电子装置 | |
CN108513361A (zh) | 信道接入方法、装置及存储介质 | |
CN109347938A (zh) | 一种流量监控方法、电话手表、移动终端及服务器 | |
CN105808032B (zh) | 基于android控件的焦点控制方法及装置 | |
CN107678788A (zh) | 应用页面显示方法、装置、计算机装置及存储介质 | |
CN109195149A (zh) | Nan扫描调整方法及相关设备 | |
CN110059518A (zh) | 一种扫码方法、装置及移动终端 | |
van Glabbeek et al. | Progress, fairness and justness in process algebra | |
CN109639416A (zh) | 一种验证人节点确定方法、系统、装置及计算机存储介质 | |
CN104219730A (zh) | 高速移动场景接入控制方法和装置 | |
CN107872363A (zh) | 数据包丢失的处理方法、系统、可读存储介质及电子设备 | |
CN109156025A (zh) | 上行资源获取方法、装置及计算机可读存储介质 | |
CN107172293A (zh) | 终端流量的控制提醒方法及系统 | |
Hou et al. | Modeling and analysis of spectrum handoffs for real-time traffic in cognitive radio networks |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181228 |
|
RJ01 | Rejection of invention patent application after publication |