一种并行任务的处理方法、装置、终端设备及存储介质与流程

未命名 10-18 阅读:98 评论:0


1.本发明涉及并行执行技术领域,尤其涉及一种并行任务的处理方法、装置、终端设备及存储介质。


背景技术:

2.现有技术在存在多任务待处理时,通常需等待上一任务执行结束后才能执行当前任务,例如:在侵水报警器发生渗漏时,需要向管理员发送短信告知,同时需控制侵水报警器发出告警警报;即在上述列举的场景中,需执行短信告知任务和发出告警警报任务,而在现有技术对上述场景进行处理时,通常需先执行完向管理员发送短信告知或控制侵水报警器发出告警警报中任意一个任务后再执行下一任务,从而使得任务执行效率较低。


技术实现要素:

3.本发明实施例提供一种并行任务的处理方法、装置、终端设备及存储介质,能提高对待处理业务处理中各可并行任务处理的效率。
4.本发明一实施例提供一种并行任务的处理方法,包括:
5.获取待处理业务的所有任务节点及各任务节点的执行顺序;
6.根据所有任务节点的执行顺序提取出可并行执行的任务节点;
7.在可并行执行的任务节点处构建一并发汇聚容器,将可并行执行的各任务节点放入并发汇聚容器中;
8.在检测到待处理任务执行到并发汇聚容器时,控制并发汇聚容器为并发汇聚容器中的各任务节点分配独立线程,以使并发汇聚容器中的各任务节点并行执行。
9.进一步地,所述并发汇聚容器包括:并发网关及汇聚网关;
10.所述将可并行执行的各任务节点放入并发汇聚容器中,包括:
11.将并发汇聚容器中的并发网关分别与可并行执行的各任务节点连接,将可并行执行的各任务节点连接至并发汇聚容器中的汇聚网关,以使所述汇聚网关在检测到与汇聚网关连接的任务节点执行完成后,执行待处理任务的下一任务节点。
12.进一步地,所述控制并发汇聚容器为并发汇聚容器中的各任务节点分配独立线程,包括:
13.控制并发汇聚容器中的并发网关为并发汇聚容器中的各任务节点分配独立线程。
14.进一步地,在获取待处理业务的所有任务节点及各任务节点的执行顺序之前,还包括:
15.构建一业务数据存储文件,并向所述业务数据存储文件写入各待处理业务的任务节点及任务节点的执行顺序;
16.所述获取待处理业务的所有任务节点及各任务节点的执行顺序,包括:
17.从所述业务数据存储文件中获取待处理业务的所有任务节点及各任务节点的执行顺序。
18.进一步地,所述业务数据存储文件的文件格式为json文件格式。
19.在上述方法项实施例的基础上,本发明对应提供了装置项实施例;
20.本发明一实施例对应提供了一种并行任务的处理装置,包括:数据获取模块、并行任务提取模块及并行任务处理模块;
21.所述数据获取模块,用于获取待处理业务的所有任务节点及各任务节点的执行顺序;
22.所述并行任务提取模块,用于根据所有任务节点的执行顺序提取出可并行执行的任务节点;
23.所述并行任务处理模块,用于在可并行执行的任务节点处构建一并发汇聚容器,将可并行执行的各任务节点放入并发汇聚容器中;在检测到待处理任务执行到并发汇聚容器时,控制并发汇聚容器为并发汇聚容器中的各任务节点分配独立线程,以使并发汇聚容器中的各任务节点并行执行。
24.本发明另一实施例提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述发明实施例所述的一种并行任务的处理方法。
25.本发明另一实施例提供了一种存储介质,所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述存储介质所在设备执行上述发明实施例所述的一种并行任务的处理方法。
26.通过实施本发明具有如下有益效果:
27.本发明提供了一种并行任务的处理方法、装置、终端设备及存储介质,该方法通过获取待处理任务中所有任务节点及执行顺序,通过执行顺序提取可并行执行的任务节点,并在检测到可并行执行的各任务节点时,将可并行执行的各任务节点通过构建一并发汇聚容器包裹,以使在待处理任务按执行顺序处理时,检测执行到并发汇聚容器时,控制并发汇聚容器为可并行执行的各任务节点分配独立线程,使可并行执行的各任务节点无需按原执行顺序依次顺序执行,提高了对待处理业务处理中各可并行任务处理的效率。
附图说明
28.图1是本发明一实施例提供的一种并行任务的处理方法的流程示意图。
29.图2是本发明一实施例提供的构建有并发汇聚容器的待处理业务的执行链路示意图。
30.图3是本发明一实施例提供的待处理业务处理的流程示意图。
31.图4是本发明一实施例提供删除离职员工权限业务中各任务节点的执行链路示意图。
32.图5是本发明一实施例提供的一种并行任务的处理装置的结构示意图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
34.如图1所示,是本发明一实施例提供的一种并行任务的处理方法,包括:
35.步骤s1:获取待处理业务的所有任务节点及各任务节点的执行顺序;
36.步骤s2:根据所有任务节点的执行顺序提取出可并行执行的任务节点;
37.步骤s3:在可并行执行的任务节点处构建一并发汇聚容器,将可并行执行的各任务节点放入并发汇聚容器中;
38.步骤s4:在检测到待处理任务执行到并发汇聚容器时,控制并发汇聚容器为并发汇聚容器中的各任务节点分配独立线程,以使并发汇聚容器中的各任务节点并行执行。
39.对于步骤s1、在一个优选的实施例中,在获取待处理业务的所有任务节点及各任务节点的执行顺序之前,还包括:构建一业务数据存储文件,并向所述业务数据存储文件写入各待处理业务的任务节点及任务节点的执行顺序;所述获取待处理业务的所有任务节点及各任务节点的执行顺序,包括:从所述业务数据存储文件中获取待处理业务的所有任务节点及各任务节点的执行顺序。
40.具体的,本发明所描述的待处理业务可代表在软件系统中需执行或需处理的一种或多种业务问题,所描述的任务节点可代表在软件系统中的一个独立的业务功能或任务;每一待处理业务中均包含多个任务节点,每一待处理业务中的所有任务节点按照任务执行顺序可构成待处理业务的执行链路;为便于获取待处理业务的所有任务节点及各节点在待处理业务中的执行顺序,本技术构建一业务数据存储文件在获取待处理业务所对应的信息前,将所有待处理业务写入到业务数据存储文件中,在对任意一待处理业务进行并行处理时,可通过上述业务数据存储文件直接获取当前待处理业务中所有的任务节点及对应的执行顺序。
41.在一个优选的实施例中,所述业务数据存储文件的文件格式为json文件格式。
42.具体的,可将上述业务数据存储文件中所对应的业务信息通过json格式的语法进行封装,继而构建一个json文件格式的业务数据存储文件;使用json格式使得在解析业务数据存储文件获取待处理业务的所有任务节点及各任务节点的执行顺序时更为便捷;此外,业务数据存储文件中还可存储业务编码信息,业务编码信息作为指示对应业务操作的唯一标识;
43.需要补充的是,在解析业务数据存储文件获取到待处理业务的所有任务节点时,每一任务节点附带有其对应的运行参数,每一任务节点的运行参数用于实现对应任务节点的业务功能,因此,对于不同业务功能所指代的任务节点其所携带的运行参数也有所不同;例如:在一用于表数据删除功能的任务节点时,该表删除功能的任务节点的运行参数包括该删除节点的表名称,在执行到该任务节点时,根据表删除功能的任务节点根据表名称删掉对应的表。此外,在获取到运行参数时,还可结合用于验证json的数据结构的jsonschema语法作为规范对运行参数进行验证。
44.对于步骤s2、根据待处理业务中所有任务节点的执行顺序确定有哪些任务节点是可并行执行的任务节点。
45.对于步骤s3、在待处理业务的执行链路中确定了若干顺序连接的可并行执行的任务节点时,在不改变执行链路中可并行执行的任务节点前后关联的需顺序执行的任务节点的执行顺序的情况下,在可并行执行的任务节点处构建一并发汇聚容器,并将可并行执行
的各任务节点放置于并发汇聚容器中。
46.优选的,在软件系统中,并发汇聚容器可为一画布容器,待处理任务中的各任务节点可为软件系统提供的可拖拽任务节点组件,在处理器执行上述软件系统在显示器中按待处理业务中各任务节点的执行顺序渲染出各任务节点组件及并发汇聚容器画布时,可通过处理器响应用户将任务节点组件拖拽至并发汇聚容器画布的操作。
47.在一个优选的实施例中,所述并发汇聚容器包括:并发网关及汇聚网关;所述将可并行执行的各任务节点放入并发汇聚容器中,包括:将并发汇聚容器中的并发网关分别与可并行执行的各任务节点连接,将可并行执行的各任务节点连接至并发汇聚容器中的汇聚网关,以使所述汇聚网关在检测到与汇聚网关连接的任务节点执行完成后,执行待处理任务的下一任务节点。
48.具体的,并发网关汇聚容器包括一并发网关及一汇聚网关,且在并发网关汇聚容器中,并发网关与汇聚网关是成对出现的;本发明通过构建并发网关使待处理业务中可并行执行的各任务节点在并发网关的作用下可并行执行;同时由于现有业务中存在任意两个或以上的任务节点需相互等待关联任务节点执行完成后才可执行后续任务节点,因此,本发明提出一汇聚网关,将与并发网关连接的可并行执行的各任务节点中需等待关联任务节点执行完成的任务节点将其接入到一汇聚网关中,使在关联任务节点中任意一任务节点执行完成后,需等待关联任务节点均执行完成,才执行与并发汇聚容器连接的待处理任务的下一任务节点。
49.对于步骤s4、在一个优选的实施例中,所述控制并发汇聚容器为并发汇聚容器中的各任务节点分配独立线程,包括:控制并发汇聚容器中的并发网关为并发汇聚容器中的各任务节点分配独立线程。
50.具体的,如图2所示是本发明一实施例提供的构建有并发汇聚容器的待处理业务的执行链路示意图;如图3所示是本发明一实施例提供的待处理业务处理的流程示意图;在执行如图2所示的待处理业务时,根据图2所示的执行顺序执行各任务节点,在未检测到并发网关汇聚容器时,根据该任务节点所包含的运行参数执行该任务节点所对应的任务;在检测到执行到并发汇聚容器时,并发网关为任务节点1、任务节点2及任务节点3(即图中的功能节点1、功能节点2及功能节点3)分配线程,线程池为每个节点提供独立的运行单元;每个节点开启独立线程后,各节点所需的公共变量和运行参数可以在执行时上下文中获取;在并发汇聚容器中任务节点1在并行异步执行时不需要等待任务节点2和任务节点3执行完成后再向下一任务节点执行,因此任务节点1无需与汇聚网关连接;而任务节点2和任务节点3需同时执行完成后才可执行下一任务节点,因此任务节点2和任务节点3需接入汇聚网关,在汇聚网关检测到任务节点2和任务节点3均执行完成后,向后执行下一功能节点;且在每次执行下一任务节点时,需检测下一任务节点是否为并发汇聚容器,若是并发汇聚容器,则执行如上述并发汇聚容器相同操作为并发汇聚容器中的任务节点分配独立线程,此处不再赘述。
51.需要说明的是,公共变量是在程序或系统的整个范围内可访问和使用的变量,本发明系统的公共变量定义在配置文件中,在系统启动时加载到内存中,在每个任务节点执行各自任务时系统会为其建立执行时上下文,并把内存中的公共变量取出赋值到上下文中。优选的本发明系统中公共变量有节点最大执行超时时间、文件系统参数等。运行参数是
指任务节点运行时,节点执行准备阶段需要使用到的参数,本发明系统中节点的启动参数可以从两个渠道获取,一方面可从上述业务数据存储文件中已定义或写入好的参数内容中获取,另一方面可从执行待处理业务时业务操作产生的http请求产生的获取实时参数中获取。
52.需要补充的是,并发网关的并行执行能力是由系统中的功能引擎和运行引擎提供的;功能引擎并行执行每个与并发网关连接的任务节点中的功能单元,运行引擎负责功能单元之间的节点流转,由功能引擎和运行引擎交互完成一个任务节点执行。其中,功能引擎为每个节点提供独立线程允许绑定的功能单元,从而支持多任务节点并行执行。
53.为更好说明本发明所能达到的技术效果,通过以下实施例对一待处理业务场景进行说明。
54.现有一业务场景为员工离职,需要删除其关联信息。需要删除的内容为员工公司内部信息、员工上网权限信息、公司门禁权限信息、邮箱权限信息。已知删除邮箱权限信息需要通过跳板机访问某内网设备,相比其余删除操作耗费更多的时间。公司门禁权限信息外,其余三个删除操作,不需要等待彼此操作完成,因此可并行执行。公司门禁权限信息需要等待员工公司内部信息、员工上网权限信息删除成功后才能进行删除操作。根据此业务场景可知,删除邮件权限信息任务节点、删除员工上网权限信息任务节点和删除员工内部信息任务节点为可并行执行任务节点,且删除员工上网权限信息任务节点和删除员工内部信息任务节点为关联任务节点;删除公司门禁权限信息为需顺序执行的任务节点;通过获取上述节点的执行顺序构建如图4所示的删除离职员工权限业务中各任务节点的执行链路;开始执行该权限删除业务时,获取各节点的运行参数并对运行参数进行校验,以使每一任务节点可完成各自任务;在执行到并发汇聚容器时,并发网关向删除邮件权限信息任务节点、删除员工上网权限信息任务节点和删除员工内部信息任务节点分别分配独立运行单元,使各单元独立执行各自的删除任务;且在删除员工上网权限信息任务节点和删除员工内部信息任务节点中任意一任务节点执行完成后需等待另一任务节点也执行完成后,控制汇聚网关向删除公司门禁权限信息任务节点发送可向下一节点执行的信号,继而再执行删除公司门禁权限信息任务节点,在执行完删除公司门禁权限信息任务节点后返回权限删除业务的处理结果。
55.通过实施本发明的技术方案,可提高可并行执行任务节点执行效率,同时可保证并行执行的任务节点有各自的生命周期。
56.在上述方法项实施例的基础上,本发明对应提供了装置项实施例。
57.如图5所示,本发明一实施例提供了一种并行任务的处理装置,包括:数据获取模块、并行任务提取模块及并行任务处理模块;
58.所述数据获取模块,用于获取待处理业务的所有任务节点及各任务节点的执行顺序;
59.所述并行任务提取模块,用于根据所有任务节点的执行顺序提取出可并行执行的任务节点;
60.所述并行任务处理模块,用于在可并行执行的任务节点处构建一并发汇聚容器,将可并行执行的各任务节点放入并发汇聚容器中;在检测到待处理任务执行到并发汇聚容器时,控制并发汇聚容器为并发汇聚容器中的各任务节点分配独立线程,以使并发汇聚容
器中的各任务节点并行执行。
61.需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
62.所述领域的技术人员可以清楚地了解到,为了方便和简洁,上述描述的装置的具体工作过程,可参考前述方法实施例中对应的过程,在此不再赘述。
63.在上述方法项实施例的基础上,本发明对应提供了终端设备项实施例。
64.本发明一实施例提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现本发明中任意一项所述的一种并行任务的处理方法。
65.终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
66.所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
67.所述存储器可用于存储所述计算机程序,所述处理器通过运行或执行存储在所述存储器内的计算机程序,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
68.在上述方法项实施例的基础上,本发明对应提供了存储介质项实施例。
69.本发明一实施例提供了一种存储介质,所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述存储介质所在设备执行本发明中任意一项所述的一种并行任务的处理方法。
70.所述存储介质为计算机可读存储介质,所述计算机程序存储在所述计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储
器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
71.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

技术特征:
1.一种并行任务的处理方法,其特征在于,包括:获取待处理业务的所有任务节点及各任务节点的执行顺序;根据所有任务节点的执行顺序提取出可并行执行的任务节点;在可并行执行的任务节点处构建一并发汇聚容器,将可并行执行的各任务节点放入并发汇聚容器中;在检测到待处理任务执行到并发汇聚容器时,控制并发汇聚容器为并发汇聚容器中的各任务节点分配独立线程,以使并发汇聚容器中的各任务节点并行执行。2.如权利要求1所述的一种并行任务的处理方法,其特征在于,所述并发汇聚容器包括:并发网关及汇聚网关;所述将可并行执行的各任务节点放入并发汇聚容器中,包括:将并发汇聚容器中的并发网关分别与可并行执行的各任务节点连接,将可并行执行的各任务节点连接至并发汇聚容器中的汇聚网关,以使所述汇聚网关在检测到与汇聚网关连接的任务节点执行完成后,执行待处理任务的下一任务节点。3.如权利要求2所述的一种并行任务的处理方法,其特征在于,所述控制并发汇聚容器为并发汇聚容器中的各任务节点分配独立线程,包括:控制并发汇聚容器中的并发网关为并发汇聚容器中的各任务节点分配独立线程。4.如权利要求3所述的一种并行任务的处理方法,其特征在于,在获取待处理业务的所有任务节点及各任务节点的执行顺序之前,还包括:构建一业务数据存储文件,并向所述业务数据存储文件写入各待处理业务的任务节点及任务节点的执行顺序;所述获取待处理业务的所有任务节点及各任务节点的执行顺序,包括:从所述业务数据存储文件中获取待处理业务的所有任务节点及各任务节点的执行顺序。5.如权利要求4所述的一种并行任务的处理方法,其特征在于,所述业务数据存储文件的文件格式为json文件格式。6.一种并行任务的处理装置,其特征在于,包括:数据获取模块、并行任务提取模块及并行任务处理模块;所述数据获取模块,用于获取待处理业务的所有任务节点及各任务节点的执行顺序;所述并行任务提取模块,用于根据所有任务节点的执行顺序提取出可并行执行的任务节点;所述并行任务处理模块,用于在可并行执行的任务节点处构建一并发汇聚容器,将可并行执行的各任务节点放入并发汇聚容器中;在检测到待处理任务执行到并发汇聚容器时,控制并发汇聚容器为并发汇聚容器中的各任务节点分配独立线程,以使并发汇聚容器中的各任务节点并行执行。7.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所诉处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的一种并行任务的处理方法。8.一种存储介质,其特征在于,所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述存储介质所在设备执行如权利要求1至5中任意一项所述的一种
并行任务的处理方法。

技术总结
本发明公开了一种并行任务的处理方法、装置、终端设备及存储介质,所述方法,包括:获取待处理业务的所有任务节点及各任务节点的执行顺序;根据所有任务节点的执行顺序提取出可并行执行的任务节点;在可并行执行的任务节点处构建一并发汇聚容器,将可并行执行的各任务节点放入并发汇聚容器中;在检测到待处理任务执行到并发汇聚容器时,控制并发汇聚容器为并发汇聚容器中的各任务节点分配独立线程,以使并发汇聚容器中的各任务节点并行执行;通过实施本发明能提高对待处理业务处理中各可并行任务处理的效率。任务处理的效率。任务处理的效率。


技术研发人员:龙罡 蒙剑 雷洪文 叶剑峰
受保护的技术使用者:浩云科技股份有限公司
技术研发日:2023.06.20
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐