业务流程处理方法、装置、电子设备和计算机可读介质
文献发布时间:2023-06-19 11:42:32
技术领域
本公开的实施例涉及计算机技术领域,具体涉及业务流程处理方法、装置、电子设备和计算机可读介质。
背景技术
随着计算机技术的普及,越来越多的业务流程逐渐开始朝着电子化、系统化和自动化的方向发展。目前,在对业务流程处理中,通常采用的方式是:将业务流程转换成工作流,以此实现业务流程的自动化。
然而,当采用上述方式时,经常会存在如下技术问题:
在业务流中,往往难以处理业务流程中较为复杂的业务逻辑,从而,可能导致业务流程中的处理步骤无法正常执行,影响业务流程的执行效率。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了业务流程处理方法、装置、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种业务流程处理方法,该方法包括:获取节点信息集合,其中,上述节点信息集合中的节点信息包括:节点执行信息;确定上述节点信息集合中的每个节点信息对应的校验信息,得到校验信息集合;对于上述节点信息集合中的每个节点信息,响应于确定上述节点信息对应的校验信息表征对节点信息更新,对上述节点信息包括的节点执行信息进行更新;根据节点信息集合和初始业务流程信息,生成业务流程信息。
可选地,上述对上述节点信息包括的节点执行信息进行更新,包括:向目标终端发送节点信息更新请求信息;响应于接收到上述目标终端发送的更新信息,根据上述更新信息,对上述节点信息包括的节点执行信息进行更新。
可选地,上述业务流程信息包括:首节点信息、末节点信息、中间节点信息集合和节点连线信息集合;以及上述根据节点信息集合和初始业务流程信息,生成业务流程信息,包括:根据上述初始业务流程信息,对上述节点信息集合中的各个节点信息对应的节点进行连接处理,以生成业务流程线;将上述业务流程线的首节点对应的节点信息,确定为上述首节点信息;将上述业务流程线的末节点对应的节点信息,确定为上述末节点信息;将上述业务流程线中每个目标节点对应的节点信息确定为中间节点信息,得到上述中间节点信息集合,其中,上述目标节点为上述业务处理过程流程中非上述首节点和上述末节点的节点;将上述业务流程线中每两个相邻节点对应的连线信息,确定为节点连线信息,得到上述节点连线信息集合。
可选地,上述方法还包括:根据上述业务流程信息包括的首节点信息,生成候选任务信息;根据上述候选任务信息,执行以下处理步骤:确定候选任务信息对应的节点的节点类型;响应于确定上述节点类型为第一节点类型或第二节点类型,执行目标节点执行信息对应的业务逻辑,其中,上述目标节点执行信息为候选任务对应的节点信息包括的节点执行信息;响应于确定业务逻辑执行完毕,且候选任务信息为末节点信息对应的任务信息,结束上述处理步骤。
可选地,上述方法还包括:响应于确定业务逻辑执行完毕,且上述节点类型为上述第一节点类型,根据业务逻辑的返回值和与上述候选任务信息对应的连线信息,重新确定候选任务信息,再次执行上述处理步骤。
可选地,在上述响应于确定上述节点类型为第一节点类型或第二节点类型,执行目标节点执行信息对应的业务逻辑之前,上述方法还包括:响应于确定上述节点类型为第三节点类型,且接收到任务触发信号,执行目标节点执行信息对应的业务逻辑。
可选地,上述方法还包括:响应于确定业务逻辑执行完毕,且上述节点类型为上述第二节点类型或上述第三节点类型,根据上述候选任务信息对应的连线信息,重新确定候选任务信息,再次执行上述处理步骤。
第二方面,本公开的一些实施例提供了一种业务流程处理装置,装置包括:获取单元,被配置成获取节点信息集合,其中,上述节点信息集合中的节点信息包括:节点执行信息;确定单元,被配置成确定上述节点信息集合中的每个节点信息对应的校验信息,得到校验信息集合;更新单元,被配置成对于上述节点信息集合中的每个节点信息,响应于确定上述节点信息对应的校验信息表征对节点信息更新,对上述节点信息包括的节点执行信息进行更新;生成单元,被配置成根据节点信息集合和初始业务流程信息,生成业务流程信息。
可选地,上述更新单元被配置成:向目标终端发送节点信息更新请求信息;响应于接收到上述目标终端发送的更新信息,根据上述更新信息,对上述节点信息包括的节点执行信息进行更新。
可选地,上述业务流程信息包括:首节点信息、末节点信息、中间节点信息集合和节点连线信息集合;以及上述生成单元被配置成:根据上述初始业务流程信息,对上述节点信息集合中的各个节点信息对应的节点进行连接处理,以生成业务流程线;将上述业务流程线的首节点对应的节点信息,确定为上述首节点信息;将上述业务流程线的末节点对应的节点信息,确定为上述末节点信息;将上述业务流程线中每个目标节点对应的节点信息确定为中间节点信息,得到上述中间节点信息集合,其中,上述目标节点为上述业务处理过程流程中非上述首节点和上述末节点的节点;将上述业务流程线中每两个相邻节点对应的连线信息,确定为节点连线信息,得到上述节点连线信息集合。
可选地,上述装置还包括:根据上述业务流程信息包括的首节点信息,生成候选任务信息;根据上述候选任务信息,执行以下处理步骤:确定候选任务信息对应的节点的节点类型;响应于确定上述节点类型为第一节点类型或第二节点类型,执行目标节点执行信息对应的业务逻辑,其中,上述目标节点执行信息为候选任务对应的节点信息包括的节点执行信息;响应于确定业务逻辑执行完毕,且候选任务信息为末节点信息对应的任务信息,结束上述处理步骤。
可选地,上述装置还包括:响应于确定业务逻辑执行完毕,且上述节点类型为上述第一节点类型,根据业务逻辑的返回值和与上述候选任务信息对应的连线信息,重新确定候选任务信息,再次执行上述处理步骤。
可选地,在上述响应于确定上述节点类型为第一节点类型或第二节点类型,执行目标节点执行信息对应的业务逻辑之前,上述装置还包括:响应于确定上述节点类型为第三节点类型,且接收到任务触发信号,执行目标节点执行信息对应的业务逻辑。
可选地,上述装置还包括:响应于确定业务逻辑执行完毕,且上述节点类型为上述第二节点类型或上述第三节点类型,根据上述候选任务信息对应的连线信息,重新确定候选任务信息,再次执行上述处理步骤。
第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面任一实现方式所描述的方法。
第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现上述第一方面任一实现方式所描述的方法。
本公开的上述各个实施例中具有如下有益效果:通过本公开的一些实施例的业务流程处理方法提高了业务流程的执行效率。具体来说,造成业务流程的执行效率较低的原因在于:在业务流中,往往难以处理业务流程中较为复杂的业务逻辑。基于此,本公开的一些实施例的业务流程处理方法,首先,获取节点信息集合。实际情况中,业务流程中往往包含至少一个处理节点,且上述至少一个处理节点中的处理节点往往都对应有至少一个处理步骤。因此,通过获取与业务流程相关的节点信息集合。为后续的业务流程信息生成,提供数据支撑。此外,确定上述节点信息集合中的每个节点信息对应的校验信息,得到校验信息集合。进一步,对于上述节点信息集合中的每个节点信息,响应于确定上述节点信息对应的校验信息表征对节点信息更新,对上述节点信息包括的节点执行信息进行更新。实际情况中,处理步骤对应的业务逻辑可能会存在异常(例如,代码段的输出异常)。因此,需要对处理节点对应的节点信息进行校验。当处理节点对应的业务逻辑出现异常时,需要及时的对节点信息包括的节点执行信息进行更新,从而保证后续生成的业务流程包括的各个处理节点对应的处理逻辑能够正常执行。最后,根据节点信息集合和初始业务流程信息,生成业务流程信息。实际情况中,节点信息集合中的节点信息对应的处理节点,执行顺序往往存在着先后次序,通过初始业务流程信息,对节点信息集合中节点信息对应的处理节点进行连接,以生成业务流程对应的业务流程信息。本公开通过在业务流程中加入了每个处理节点对应的执行逻辑,使得可以处理较为复杂的业务逻辑。此外,通过对每个处理节点对应的节点信息进行校验,保证了业务流程的正常执行。进而,提高了业务流程的执行效率。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1是本公开的一些实施例的业务流程处理方法的一个应用场景的示意图;
图2是根据本公开的业务流程处理方法的一些实施例的流程图;
图3是业务流程线的示意图;
图4是根据本公开的业务流程处理方法的另一些实施例的流程图;
图5是根据本公开的业务流程处理装置的一些实施例的结构示意图;
图6是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是本公开的一些实施例的业务流程处理方法的一个应用场景的示意图。
在图1的应用场景中,首先,计算设备101可以获取节点信息集合,其中,上述节点信息集合中的节点信息包括:节点执行信息;其次,计算设备101可以确定上述节点信息集合中的每个节点信息对应的校验信息(例如,[异常标示值:“0”,异常类型:“NULL”,异常位置:“NULL”]),得到校验信息集合;进一步,计算设备101可以对于上述节点信息集合中的每个节点信息,响应于确定上述节点信息对应的校验信息表征对节点信息更新,对上述节点信息包括的节点执行信息进行更新;最后,计算设备101可以根据节点信息集合和初始业务流程信息,生成业务流程信息。
需要说明的是,上述计算设备101可以是硬件,也可以是软件。当计算设备为硬件时,可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。当计算设备体现为软件时,可以安装在上述所列举的硬件设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的计算设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的计算设备。
继续参考图2,示出了根据本公开的业务流程处理方法的一些实施例的流程200。该业务流程处理方法,包括以下步骤:
步骤201,获取节点信息集合。
在一些实施例中,业务流程处理方法的执行主体(例如图1所示的计算设备101)可以通过有线连接或无线连接的方式,获取上述节点信息集合。其中,上述节点信息集合中的节点信息可以包括:节点执行信息。上述节点信息集合中的节点信息与目标业务流程包含的至少一个处理节点中的处理节点一一对应。上述节点执行信息可以表征节点信息对应的处理节点的节点执行逻辑。上述目标业务流程可以是目标业务场景对应的工作流程。上述目标业务流程可以包含至少一个处理节点。上述至少一个处理节点中的处理节点可以表征业务流程中的处理事件。上述处理事件可以包括至少一个处理步骤。
作为示例,上述节点执行逻辑可以是处理节点对应处理事件包括的至少一个处理步骤对应的逻辑代码。
作为又一示例,上述业务场景可以是“用户下单”场景。上述“用户下单”场景可以包括:“订单信息获取节点”,“订单校验节点”和“仓库调配节点”。其中。“订单信息获取节点”可以包括:获取订单信息步骤。“订单校验节点”可以包括:订单合法性校验步骤。“仓库调配节点”可以包括:响应于订单合法,从仓库调配订单对应物品步骤。
可选地,上述节点信息集合中的节点信息还包括:节点名称,节点作用描述信息,节点类型和节点参数。其中,节点作用描述信息用于描述节点作用。节点参数可以是用于在节点信息包括的节点执行信息对应的节点执行逻辑中传递的参数。
步骤202,确定节点信息集合中的每个节点信息对应的校验信息,得到校验信息集合。
在一些实施例中,上述执行主体可以确定节点信息集合中的每个节点信息对应的校验信息,得到校验信息集合。其中,上述校验信息集合中的校验信息可以表征节点信息包括的节点执行信息对应的节点执行逻辑是否异常。上述执行主体可以通过目标测试方法,对节点信息包括的节点执行信息对应的节点执行逻辑进行测试,以生成校验信息。上述目标测试方法可以是但不限于以下任意一项:等价类划分法,边界值分析法,错误推测方法和因果图法。上述校验信息可以包括:异常标识值,异常类型和异常位置。上述异常标识值可以表征节点执行信息对应的节点执行逻辑是否存在异常。上述异常类型可以表征异常的类型。上述异常位置可以表征节点执行逻辑出现异常的位置。
作为示例,上述校验信息可以是[异常标示值:“1”,异常类型:“类型1”,异常位置:“322行”]。“1”可以表征节点执行信息对应的节点执行逻辑存在异常,需要进行更新。
作为又一示例,上述校验信息可以是[异常标示值:“0”,异常类型:“NULL”,异常位置:“NULL”]。其中,“0”可以表征节点执行信息对应的节点执行逻辑不存在异常,不需要进行更新。当异常标识值为“0”时,校验信息包括的异常类型和异常位置可以为空值上述空值可以用“NULL”表示。
步骤203,对于节点信息集合中的每个节点信息,响应于确定节点信息对应的校验信息表征对节点信息更新,对节点信息包括的节点执行信息进行更新。
在一些实施例中,上述执行主体对于节点信息集合中的每个节点信息,响应于确定节点信息对应的校验信息表征对节点信息更新,对节点信息包括的节点执行信息进行更新,可以包括以下步骤:
第一步,确定目标节点信息对应的异常等级。
其中,上述目标节点信息可以是需要进行节点信息更新的节点信息。上述执行主体可以根据目标节点信息对应的校验信息包括的异常类型,通过查询异常等级对照数据表,以此获取上述异常等级。上述异常等级对照数据表可以是用于存储异常类型和对应异常等级的数据表。上述执行主体可以通过SQL(Structured Query Language,结构化查询语言)语句,从上述异常等级对照数据表,获取上述目标节点信息对应的异常等级。
作为示例,上述执行主体可以通过以下SQL语句从上述异常等级对照数据表,获取上述目标节点信息对应的异常等级:
SELECT异常等级FROM异常等级对照数据表WHERE ErrorType=“异常类型”。
第二步,根据上述目标节点信息对应的异常等级,将上述目标节点信息作为异常信息,添加至异常信息处理队列。
其中,上述执行主体首先,可以采用目标排序算法,按照目标顺序,根据异常信息处理队列中异常信息对应的异常等级,对异常信息处理队列中的异常信息进行排序,以生成排序后的异常信息处理队列。其次,将上述目标节点信息作为异常信息插入上述排序后的异常信息处理队列中的目标位置。其中,上述目标排序算法可以是但不限于以下任意一项:冒泡排序算法,希尔排序算法,快速排序算法和插入排序算法。上述目标顺序可以是由大到小的顺序。上述目标顺序也可以是由小到大的顺序。上述目标位置可以是上述排序后的异常信息处理队列中,前一个异常信息对应的异常等级小于等于上述目标节点信息对应的异常等级,且后一个异常信息对应的异常等级大于上述目标节点信息对应的异常等级的位置。
第三步,从版本信息库中获取与上述更新后的异常信息处理队列中的每个异常信息对应的最新版本的节点执行信息。
其中,上述版本信息库可以是用于存储异常信息对应的各个版本的节点执行信息的数据库。
第四步,通过上述目标测试方法对上述最新版本的节点执行信息,进行测试。
第五步,响应于上述最新版本的节点执行信息通过测试,将上述最新版本的节点执行信息确定为异常信息对应的节点信息包括的节点执行信息,以实现对待更新节点执行信息进行更新。
其中,上述待更新节点执行信息可以是对应的校验信息表征对节点信息更新的节点信息包括的节点执行信息。
在一些实施例的一些可选地实现方式中,上述执行主体对于节点信息集合中的每个节点信息,响应于确定节点信息对应的校验信息表征对节点信息更新,对节点信息包括的节点执行信息进行更新,可以包括以下步骤:
第一步,向目标终端发送节点信息更新请求信息。
其中,上述执行主体可以通过有线连接或无线连接的方式,向上述目标终端发送上述节点信息更新请求信息。上述目标终端可以是排障人员用于对需要进行更新的节点信息进行排障处理的终端。上述节点信息更新请求信息可以包括:异常标示值,异常类型,异常位置和上述节点信包括的节点执行信息。
第二步,响应于接收到上述目标终端发送的更新信息,根据上述更新信息,对上述节点信息包括的节点执行信息进行更新。
其中,上述更新信息可以表征对上述节点执行信息消除异常后的新的节点执行信息。上述执行主体可以将上述更新信息确定为上述节点信息包括的节点执行信息,以实现对上述节点信息包括的节点执行信息的更新。
步骤204,根据节点信息集合和初始业务流程信息,生成业务流程信息。
在一些实施例中,上述执行主体可以根据节点信息集合和初始业务流程信息,生成业务流程信息。其中,上述初始业务流程信息可以表征上述目标业务流程中各个处理节点之间的执行顺序关系。上述执行主体可以根据上述初始业务流程信息,对上述节点信息集合按次序进行组合,以生成上述业务流程信息。
可选地,上述业务流程信息可以包括:首节点信息、末节点信息、中间节点信息集合和节点连线信息集合。其中,上述首节点信息可以是上述业务流程信息对应的业务流程的首节点对应的节点信息。上述末节点信息可以是上述业务流程信息对应的业务流程的末节点对应的节点信息。上述中间节点信息集合中的中间节点信息可以是上述业务流程信息对应的业务流程的非首节点和非末节点的节点对应的节点信息。上述节点连线信息集合中的节点连线信息可以表征两个相邻节点之间的连接关系。
作为示例,上述初始业务流程信息可以是[A节点-B节点,B节点-C节点,C节点-D节点]。上述节点信息集合可以是[C节点对应的节点信息,B节点对应的节点信息,D节点对应的节点信息,A节点对应的节点信息]。上述业务流程信息可以是[A节点对应的节点信息,B节点对应的节点信息,C节点对应的节点信息,D节点对应的节点信息]。
可选地,上述执行主体根据节点信息集合和初始业务流程信息,生成业务流程信息,可以包括以下步骤:
第一步,根据初始业务流程信息,对节点信息集合中的各个节点信息对应的节点进行连接处理,以生成业务流程线。
作为示例,上述业务场景可以是“供应链”场景。如图3所示。可以为上述“供应链”场景对应的业务流程线。上述“供应链”场景可以是当接收到用户订单后,根据收货地址选择最近的仓库发货。当最近的仓库库存不足时,选择从其它仓库调货或者从供应商处采购。上述“供应链”场景可以包括:“接受订单活动节点301”,“审核事件节点302”,“库存网关节点303”,“调拨活动节点304”,“调拨完成事件节点307”,“仓库发货节点305”,“采购活动节点306”和“采购完成事件节点308”。上述“审核事件节点302”可以用于对接受的订单进行审核。上述“库存网关节点303”用于对库存状态进行判断。例如,当最近的仓库的库存能够满足订单需求时,可以继续执行“仓库发货节点305”。当最近的仓库的库存不能够满足订单需求,但其它仓库存有订单需求的物品时,可以继续执行“调拨活动节点304”。当所有仓库都未包含订单所需物品时,可以继续执行“采购活动节点306”。
第二步,将上述业务流程线的首节点对应的节点信息,确定为上述首节点信息。
作为示例,上述执行主体可以将“接受订单活动节点301”对应的节点信息,确定为上述首节点信息。
第三步,将上述业务流程线的末节点对应的节点信息,确定为上述末节点信息。
作为示例,上述执行主体可以将“仓库发货节点305”对应的节点信息,确定为上述末节点信息。
第四步,将上述业务流程线中每个目标节点对应的节点信息确定为中间节点信息,得到上述中间节点信息集合。
作为示例,上述执行主体可以将“审核事件节点302”,“库存网关节点303”,“调拨活动节点304”,“调拨完成事件节点307”,“采购活动节点306”和“采购完成事件节点308”对应的节点信息确定为中间节点信息,得到上述中间节点信息集合。
第五步,将上述业务流程线中每两个相邻节点对应的连线信息,确定为节点连线信息,得到上述节点连线信息集合。
其中,上述连线信息可以包括:开始节点名称和结束节点名称。
作为示例,上述节点连线信息集合可以是[(接收订单活动节点,审核事件节点),(审核事件节点,库存网关节点),(库存网关节点,调拨活动节点),(库存网关节点,仓库发货节点),(库存网关节点,采购活动节点),(调拨活动节点,调拨完成事件节点),(调拨完成事件节点,仓库发货节点),(采购活动节点,采购完成事件节点)]。
可选地,设置流程实例参数。
在一些实施例中,上述执行主体可以设置流程实例参数。其中,上述流程实例参数可以用于在目标节点信息包括的节点执行信息对应的业务逻辑中传递,上述目标节点信息可以为目标业务流程包括的节点对应的节点信息,上述目标业务流程可以为上述业务流程信息对应的业务流程。
本公开的上述各个实施例中具有如下有益效果:通过本公开的一些实施例的业务流程处理方法提高了业务流程的执行效率。具体来说,造成业务流程的执行效率较低的原因在于:在业务流中,往往难以处理业务流程中较为复杂的业务逻辑。基于此,本公开的一些实施例的业务流程处理方法,首先,获取节点信息集合。实际情况中,业务流程中往往包含至少一个处理节点,且上述至少一个处理节点中的处理节点往往都对应有至少一个处理步骤。因此,通过获取与业务流程相关的节点信息集合。为后续的业务流程信息生成,提供数据支撑。此外,确定上述节点信息集合中的每个节点信息对应的校验信息,得到校验信息集合。进一步,对于上述节点信息集合中的每个节点信息,响应于确定上述节点信息对应的校验信息表征对节点信息更新,对上述节点信息包括的节点执行信息进行更新。实际情况中,处理步骤对应的业务逻辑可能会存在异常(例如,代码段的输出异常)。因此,需要对处理节点对应的节点信息进行校验。当处理节点对应的业务逻辑出现异常时,需要及时的对节点信息包括的节点执行信息进行更新,从而保证后续生成的业务流程包括的各个处理节点对应的处理逻辑能够正常执行。最后,根据节点信息集合和初始业务流程信息,生成业务流程信息。实际情况中,节点信息集合中的节点信息对应的处理节点,执行顺序往往存在着先后次序,通过初始业务流程信息,对节点信息集合中节点信息对应的处理节点进行连接,以生成业务流程对应的业务流程信息。本公开通过在业务流程中加入了每个处理节点对应的执行逻辑,使得可以处理较为复杂的业务逻辑。此外,通过对每个处理节点对应的节点信息进行校验,保证了业务流程的正常执行。进而,提高了业务流程的执行效率。
进一步参考图4,其示出了业务流程处理方法的另一些实施例的流程400。该业务流程处理方法的流程400,包括以下步骤:
步骤401,获取节点信息集合。
步骤402,确定节点信息集合中的每个节点信息对应的校验信息,得到校验信息集合。
步骤403,对于节点信息集合中的每个节点信息,响应于确定节点信息对应的校验信息表征对节点信息更新,对节点信息包括的节点执行信息进行更新。
在一些实施例中,步骤401-403的具体实现及其所带来的技术效果,可以参考图2对应的那些实施例中的步骤201-203,在此不再赘述。
步骤404,根据业务流程信息包括的首节点信息,生成候选任务信息。
在一些实施例中,上述执行主体可以将上述首节点信息,确定为上述候选任务信息。
步骤405,根据候选任务信息,执行以下处理步骤:
步骤4051,确定候选任务信息对应的节点的节点类型。
在一些实施例中,上述执行主体可以确定候选任务信息对应的节点的节点类型。其中,上述节点类型可以包括:第一节点类型,第二节点类型和第三节点类型。上述第一节点类型可以是网关节点类型。上述第二节点类型可以是活动节点类型。上述第三节点类型可以是事件节点类型。上述事件节点类型,上述网关节点类型和上述活动节点类型可以分别对应BPMN(Business Process Model and Notation,业务流程模型和标记法)中的流对象包含的事件,活动和关口三种节点类型。
作为示例,上述候选任务信息对应的节点的节点名称可以是“调拨活动节点”,则上述候选任务信息对应的节点类型可以是“第二节点类型”。
步骤4052,响应于确定节点类型为第三节点类型,且接收到任务触发信号,执行目标节点执行信息对应的业务逻辑。
其中,上述任务触发信号可以是由目标用户发送的。上述目标用户可以是与上述业务流程信息对应的业务流程对应的相关人员。
作为示例,如图3所示。对于“接收订单活动节点301”,上述任务触发信号可以下单用户发送的下单请求。
步骤4053,响应于确定节点类型为第一节点类型或第二节点类型,执行目标节点执行信息对应的业务逻辑。
其中,目标节点执行信息可以为候选任务对应的节点信息包括的节点执行信息。上述执行主体可以通过执行业务逻辑对应的代码,以实现执行目标节点执行信息对应的业务逻辑。
步骤4054,响应于确定业务逻辑执行完毕,且候选任务信息为末节点信息对应的任务信息,结束处理步骤。
其中,上述执行主体可以通过创建线程监听,当业务逻辑对应的线程消亡时,即可确定上述业务逻辑执行完毕。
作为示例,如图3所示。“供应链”场景对应的业务流程的末节点可以是“仓库发货节点305”。候选任务信息可以是“仓库发货节点305”对应的任务信息。当上述“仓库发货节点305”的业务逻辑执行完毕时,即可结束上述处理步骤。
步骤4055,响应于确定业务逻辑执行完毕,且节点类型为第一节点类型,根据业务逻辑的返回值和与候选任务信息对应的连线信息,重新确定候选任务信息,再次执行处理步骤。
作为示例,如图3所示,“库存网关节点303”分别与“调拨活动节点304”,“仓库发货节点305”和“采购活动节点306”存在连线关系。当“库存网关节点303”对应的业务逻辑的返回值为“1”时,可以将“调拨活动节点304”对应的节点信息确定为候选任务信息。当“库存网关节点303”对应的业务逻辑的返回值为“2”时,可以将“仓库发货节点305”对应的节点信息确定为候选任务信息。当“库存网关节点303”对应的业务逻辑的返回值为“3”时,可以将“采购活动节点306”对应的节点信息确定为候选任务信息。
步骤4056,响应于确定业务逻辑执行完毕,且节点类型为第二节点类型或第三节点类型,根据候选任务信息对应的连线信息,重新确定候选任务信息,再次执行处理步骤。
作为示例,如图3所示。“审核事件节点302”对应的业务逻辑执行完毕后,可以将“库存网关节点303”对应的节点信息确定为候选任务信息。
作为又一示例,如图3所示。“调拨活动节点304”对应的业务逻辑执行完毕后,可以将“调拨完成事件节307点对应的节点信息确定为候选任务信息。”
从图4可以看出,与图2对应的一些实施例的描述相比,本公开增加了业务流程信息对应的业务流程的执行方法。在实际情况中,一个业务流程往往包含较多处理节点,且不同的处理节点的节点类型不同,执行方式也不尽相同。例如,当处理节点的节点类型为第一节点类型时,实际情况中,第一节点类型的处理节点往往连接了至少一个处理节点,因此需要根据业务逻辑的返回值和节点连线信息,确定下个待执行节点。此外,当处理节点的节点类型为第三节点类型时,此种类型的处理节点往往需要被触发后,才能够执行对应的业务逻辑。因此本公开当接收到任务触发信号,才执行第三节点类型的处理节点对应的业务逻辑。通过此种方式确保了业务流程的正常且稳定的执行。保证了业务流程的执行效率。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种业务流程处理装置的一些实施例,这些装置实施例与图2所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,一些实施例的业务流程处理装置500包括:获取单元501、确定单元502、更新单元503和生成单元504。其中,获取单元501,被配置成获取节点信息集合,其中,上述节点信息集合中的节点信息包括:节点执行信息;确定单元502,被配置成确定上述节点信息集合中的每个节点信息对应的校验信息,得到校验信息集合;更新单元503,被配置成对于上述节点信息集合中的每个节点信息,响应于确定上述节点信息对应的校验信息表征对节点信息更新,对上述节点信息包括的节点执行信息进行更新;生成单元504,被配置成根据节点信息集合和初始业务流程信息,生成业务流程信息。
在一些实施例的一些可选地实现方式中,上述更新单元503被配置成:向目标终端发送节点信息更新请求信息;响应于接收到上述目标终端发送的更新信息,根据上述更新信息,对上述节点信息包括的节点执行信息进行更新。
可选地,上述业务流程信息包括:首节点信息、末节点信息、中间节点信息集合和节点连线信息集合;以及上述生成单元504被配置成:根据上述初始业务流程信息,对上述节点信息集合中的各个节点信息对应的节点进行连接处理,以生成业务流程线;将上述业务流程线的首节点对应的节点信息,确定为上述首节点信息;将上述业务流程线的末节点对应的节点信息,确定为上述末节点信息;将上述业务流程线中每个目标节点对应的节点信息确定为中间节点信息,得到上述中间节点信息集合,其中,上述目标节点为上述业务处理过程流程中非上述首节点和上述末节点的节点;将上述业务流程线中每两个相邻节点对应的连线信息,确定为节点连线信息,得到上述节点连线信息集合。
可选地,上述装置500还包括:根据上述业务流程信息包括的首节点信息,生成候选任务信息;根据上述候选任务信息,执行以下处理步骤:确定候选任务信息对应的节点的节点类型;响应于确定上述节点类型为第一节点类型或第二节点类型,执行目标节点执行信息对应的业务逻辑,其中,上述目标节点执行信息为候选任务对应的节点信息包括的节点执行信息;响应于确定业务逻辑执行完毕,且候选任务信息为末节点信息对应的任务信息,结束上述处理步骤。
可选地,上述装置还包括:响应于确定业务逻辑执行完毕,且上述节点类型为上述第一节点类型,根据业务逻辑的返回值和与上述候选任务信息对应的连线信息,重新确定候选任务信息,再次执行上述处理步骤。
可选地,在上述响应于确定上述节点类型为第一节点类型或第二节点类型,执行目标节点执行信息对应的业务逻辑之前,上述装置500还包括:响应于确定上述节点类型为第三节点类型,且接收到任务触发信号,执行目标节点执行信息对应的业务逻辑。
可选地,上述装置500还包括:响应于确定业务逻辑执行完毕,且上述节点类型为上述第二节点类型或上述第三节点类型,根据上述候选任务信息对应的连线信息,重新确定候选任务信息,再次执行上述处理步骤。
下面参考图6,其示出了适于用来实现本公开的一些实施例的电子设备(如图1所示的计算设备101)600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例中记载的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取节点信息集合,其中,上述节点信息集合中的节点信息包括:节点执行信息;确定上述节点信息集合中的每个节点信息对应的校验信息,得到校验信息集合;对于上述节点信息集合中的每个节点信息,响应于确定上述节点信息对应的校验信息表征对节点信息更新,对上述节点信息包括的节点执行信息进行更新;根据节点信息集合和初始业务流程信息,生成业务流程信息。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、确定单元、更新单元和生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取节点信息集合的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
- 业务流程处理方法、装置、电子设备和计算机可读介质
- 一种业务流程配置方法、装置、电子设备及计算机可读介质