一种异步任务执行方法、装置、设备及存储介质与流程

文档序号:32311319发布日期:2022-11-23 11:42阅读:39来源:国知局
一种异步任务执行方法、装置、设备及存储介质与流程

1.本技术属于数据处理技术领域,特别涉及一种异步任务执行方法、装置、设备及存储介质。


背景技术:

2.在银行信贷业务中,经常需要多个联机应用系统共同完成同一业务。因此常需要对多个任务进行并行处理,以提高任务的执行效率。
3.目前,对于异步执行任务过程中,不同任务的并行处理要求有改变时,都需要重复设计开发,过程繁琐,并且需要耗费大量的人力资源用于开发。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种异步任务执行方法、装置、设备及存储介质,无需对并行处理要求改变的任务都进行重复设计开发,减少用于开发的人力资源。
5.为实现上述目的,本技术实施例公开了如下技术方案:
6.第一方面,本技术提供一种异步任务执行方法,所述方法包括:
7.获取用户发送的异步任务指令,所述异步任务指令包括异步任务信息;
8.根据预设的任务模板以及所述异步任务信息,生成异步任务;
9.执行所述异步任务,得到异步任务执行结果。
10.可选的,所述根据预设的任务模板以及所述异步任务信息,生成异步任务,包括:
11.将所述异步任务信息写入任务模板,生成所述异步任务。
12.可选的,所述异步任务信息包括主任务的第一并行标识和子任务的第二并行标识,一个所述主任务包括至少一个所述子任务,并行标识用于确定任务的执行方式,所述执行方式包括并发执行和串行执行,
13.则所述执行所述异步任务,得到异步任务执行结果,包括:
14.根据所述第一并行标识以及所述第二并行标识确定并行处理的最大任务量;
15.根据所述最大任务量确定分布式节点,所述分布式节点的数量等于所述最大任务量;
16.基于所述分布式节点执行所述异步任务,得到所述异步任务执行结果。
17.可选的,所述异步任务信息包括主任务的执行优先级和子任务的执行优先级,所述异步任务包括至少一个主任务,一个主任务包括至少一个子任务,
18.则根据预设的任务模板以及所述异步任务信息,生成异步任务,包括:
19.根据预设的任务模板、所述主任务执行优先级和所述子任务执行优先级,生成异步任务,所述异步任务包括所述主任务的执行顺序和所述子任务的执行顺序,所述主任务的执行顺序根据所述主任务执行优先级确定,所述子任务的执行顺序根据所述子任务执行优先级确定。
20.可选的,所述方法还包括:
21.获取所述子任务对应的数据项的读取次数;
22.若所述读取次数为1,则为所述子任务对应的数据项添加数据库锁,所述数据库锁用于限制分布式节点获取所述子任务对应的数据项。
23.可选的,所述方法还包括:
24.分析所述异步任务执行结果,生成任务结果通知;
25.向所述用户展示所述任务结果通知。
26.第二方面,本技术提供一种异步任务执行装置,所述装置包括:
27.第一获取单元,用于获取用户发送的异步任务指令,所述异步任务指令包括异步任务信息;
28.生成单元,用于根据预设的任务模板以及所述异步任务信息,生成异步任务;
29.执行单元,用于执行所述异步任务,得到异步任务执行结果。
30.可选的,所述生成单元,具体用于将所述异步任务信息写入任务模板,生成所述异步任务。
31.可选的,所述异步任务信息包括主任务的第一并行标识和子任务的第二并行标识,一个所述主任务包括至少一个所述子任务,并行标识用于确定任务的执行方式,所述执行方式包括并发执行和串行执行,
32.则所述执行单元,具体包括:
33.第一确定子单元,用于根据所述第一并行标识以及所述第二并行标识确定并行处理的最大任务量;
34.第二确定子单元,用于根据所述最大任务量确定分布式节点,所述分布式节点的数量等于所述最大任务量;
35.执行子单元,用于基于所述分布式节点执行所述异步任务,得到所述异步任务执行结果。
36.可选的,所述异步任务信息包括主任务的执行优先级和子任务的执行优先级,所述异步任务包括至少一个主任务,一个主任务包括至少一个子任务,
37.则所述执行单元,具体用于根据预设的任务模板、所述主任务执行优先级和所述子任务执行优先级,生成异步任务,所述异步任务包括所述主任务的执行顺序和所述子任务的执行顺序,所述主任务的执行顺序根据所述主任务执行优先级确定,所述子任务的执行顺序根据所述子任务执行优先级确定。
38.可选的,所述装置还包括:
39.第二获取单元,用于获取所述子任务对应的数据项的读取次数;
40.数据库锁添加单元,用于若所述读取次数为1,则为所述子任务对应的数据项添加数据库锁,所述数据库锁用于限制分布式节点获取所述子任务对应的数据项。
41.可选的,所述装置还包括:
42.分析单元,用于分析所述异步任务执行结果,得到任务结果通知;
43.展示单元,用于向所述用户展示所述任务结果通知。
44.第三方面,本技术提供一种异步任务执行设备,包括:
45.存储器,用于存储计算机程序;
46.处理器,用于执行所述存储器中存储的计算机程序以实现如第一方面任一项所述
异步任务执行方法的步骤。
47.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面任一项所述异步任务执行方法的步骤。
48.可见,本技术公开的一种异步任务执行方法、装置、设备及存储介质,获取用户发送的异步任务指令,异步任务指令包括异步任务信息;根据预设的任务模板以及异步任务信息,生成异步任务;执行异步任务,得到异步任务执行结果。可见,上述方法通过预设的任务模板,即可根据用户的需要进行生成异步任务并执行,避免对并行处理要求改变的任务都进行重复设计开发,减少用于开发的人力资源。
附图说明
49.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1是本技术实施例提供的一种异步任务执行方法的流程示意图;
51.图2是本技术实施例提供的一种异步任务执行装置的结构示意图。
具体实施方式
52.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.为便于理解本技术提供的技术方案,下面将先对本技术涉及的背景技术进行说明。
54.在银行信贷业务中,经常需要多个联机应用系统共同完成同一业务。因此常需要对多个任务进行并行处理,以提高任务的执行效率。目前,对于异步执行任务过程中,不同任务的并行处理要求有改变时,都需要重复设计开发,过程繁琐,并且需要耗费大量的人力资源用于开发。
55.基于此,本技术公开的一种异步任务执行方法、装置、设备及存储介质,获取用户发送的异步任务指令,异步任务指令包括异步任务信息;根据预设的任务模板以及异步任务信息,生成异步任务;执行异步任务,得到异步任务执行结果。可见,上述方法通过预设的任务模板,即可根据用户的需要进行生成异步任务并执行,避免对并行处理要求改变的任务都进行重复设计开发,减少用于开发的人力资源。
56.为便于理解本技术提供的技术方案,下面将结合附图对本技术提供的一种异步任务执行方法进行说明。需要说明的是,本技术提供的一种异步任务执行方法、装置、设备及存储介质,可用于分布式领域或金融领域。上述仅为示例,并不对本技术提供的一种异步任务执行方法、装置、设备及存储介质的应用领域进行限定。
57.参见图1,该图为本技术实施例提供的一种异步任务执行方法的流程示意图,如图
1所示,所述方法包括s101-s103。
58.s101:获取用户发送的异步任务指令,所述异步任务指令包括异步任务信息。
59.本技术实施例中,可以去获取用户发送的异步任务指令,该异步任务指令包括有异步任务信息。可以理解的是,异步任务是指包括有并行处理的任务。用户在需要执行相关异步任务时,可以编辑异步任务信息,发送异步任务指令,异步任务信息可以是包括指示异步任务执行方式/过程的数据。
60.s102:根据预设的任务模板以及所述异步任务信息,生成异步任务。
61.本技术实施例中,在接收到异步任务信息之后,则可以根据预设的任务模板以及异步任务信息,进行生成异步任务。
62.作为一种可能的实现方式,根据预设的任务模板以及异步任务信息,生成异步任务,包括:将异步任务信息写入任务模板,生成异步任务。
63.可以理解的是,预设的任务模板可以认为是一段程序代码。该程序代码存在可以填写的参数,当接收到异步任务信息时,将异步任务信息写入任务模板,程序即可自动生成异步任务。
64.s103:执行所述异步任务,得到异步任务执行结果。
65.本技术实施例中,在生成异步任务后,可以执行该异步任务,得到异步任务执行结果。
66.获取用户发送的异步任务指令,异步任务指令包括异步任务信息;根据预设的任务模板以及异步任务信息,生成异步任务;执行异步任务,得到异步任务执行结果。可见,上述方法通过预设的任务模板,即可根据用户的需要进行生成异步任务并执行,避免对并行处理要求改变的任务都进行重复设计开发,减少用于开发的人力资源。
67.作为一种可能的实现方式,异步任务信息包括主任务的第一并行标识和子任务的第二并行标识,异步任务包括至少一个主任务,一个主任务包括至少一个子任务,并行标识用于确定任务的执行方式,执行方式包括并发执行和串行执行,则执行异步任务,得到异步任务执行结果,包括以下步骤:
68.a1:根据所述第一并行标识以及所述第二并行标识确定并行处理的最大任务量。
69.本技术实施例中,一个异步任务可以包括至少一个主任务,一个主任务包括至少一个子任务。可以理解的是,一个异步任务是由一个或多个的主任务构成,每个主任务都是由一个或多个的子任务构成,即异步任务的执行是需要执行完异步任务包括的主任务,每个主任务的执行是去执行主任务所包括的子任务,当该主任务包括的所有子任务执行完毕,则可以认为该主任务执行完毕。用户可以去设置主任务的第一并行标识以及子任务的第二并行标识,从而确定任务的执行方式。
70.通过设置任务的并行标识,可以决定任务是通过并行处理还是串行处理。例如,将可以并行处理的任务设置相同的标识。例如a任务与b任务能够并行处理,则可以为a任务和b任务设置相同的并行标识。若a任务和b任务是不相同的标识,则确定a任务和b任务是串行处理的。若a任务中的a1子任务、a2子任务和a3子任务设置相同的并行标识,则可以确定a1子任务、a2子任务和a3子任务是并行处理的。
71.本技术实施例中会根据第一并行标识以及第二并行标识确定并行处理的最大任务量。可以理解的是,通过相同的并行标识的数量,则可以确定能够并行处理的最大任务
量。例如a任务和b任务设置相同的第一并行标识,a任务包括a1-a5的子任务,其中a1子任务、a2子任务和a3子任务设置相同的第二并行标识,b任务包括b1-b4的子任务,其中b1子任务和b2子任务设置有相同的第二并行标识。则可以确定a1子任务、a2子任务、a3子任务以及中b1子任务和b2子任务可以并行处理。从而确定出最大任务量的数量为5。
72.a2:根据所述最大任务量确定分布式节点,所述分布式节点的数量等于所述最大任务量。
73.在确定出最大任务量后,可以根据最大任务量去确定分布式节点,其中分布式节点的数量等于所述最大任务量。
74.可以理解的是,本技术可以通过分布式节点并行处理多个任务,通过确定能够并行处理的最大任务量,为异步任务分配等于最大任务量的分布式节点。
75.a3:基于所述分布式节点执行所述异步任务,得到所述异步任务执行结果。
76.本技术实施例中,在确定出分布式节点后,可以基于分布式节点执行异步任务,得到异步任务执行结果。通过最大任务量去确定分布式节点,可以保证能够并行处理的任务能够得到及时的处理,提高了异步任务的执行效率。
77.作为一种可能的实现方式,异步任务信息还可以包括主任务的执行优先级和子任务的执行优先级,异步任务包括至少一个主任务,一个主任务包括至少一个子任务,
78.则根据预设的任务模板以及所述异步任务信息,生成异步任务,包括:根据预设的任务模板、所述主任务执行优先级和所述子任务执行优先级,生成异步任务,所述异步任务包括所述主任务的执行顺序和所述子任务的执行顺序,所述主任务的执行顺序根据所述主任务执行优先级确定,所述子任务的执行顺序根据所述子任务执行优先级确定。
79.本技术实施例中,异步任务信息还可以包括主任务的执行优先级和子任务的执行优先级。通过主任务的执行优先级、子任务的执行优先级以及预设的任务模板,进行生成异步任务。
80.可以理解的是,用户还可以设置主任务的执行优先级和子任务的执行优先级,执行优先级高的任务会先执行。通过执行优先级可以决定主任务之间的执行顺序以及子任务之间的执行顺序。
81.例如,异步任务中需要执行a任务、b任务、c任务三个主任务,则用户可以设置a任务和c任务为第一优先级,b任务为第二优先级,第一优先级的优先程度高于第二优先级的优先程度。则生成的异步任务是需要先并行执行a任务和c任务,在a任务和c任务执行完毕后,才去执行b任务。同样的,对于a任务、b任务和c任务中的子任务也可通过同样的优先级设置,将能够并行处理的任务设置成相同的优先级。
82.通过设置主任务的执行优先级和子任务的执行优先级,并通过任务模板可以快速地设置出需要并行处理的任务,避免对并行处理要求改变的任务都进行重复设计开发,减少用于开发的人力资源。
83.作为一种可能的实现方式,本技术提供的一种异步任务执行方法,还包括以下步骤:获取子任务对应的数据项的读取次数;若读取次数为1,则为所述子任务对应的数据项添加数据库锁,所述数据库锁用于限制分布式节点获取所述子任务对应的数据项。
84.可以理解的是,本技术实施例还会去获取子任务对应的数据项的读取次数,当子任务对应的数据项的读取次数为1时,说明该子任务已经有分布式节点进行执行了,此时需
要为子任务对应的数据项添加数据库锁,该数据库锁用于限制分布式节点获取子任务对应的数据项。
85.可以理解的是,当子任务已经有分布式节点进行执行,则限制其他分布式节点进行执行相同的子任务。可见,该方法通过数据库锁保证了子任务不会被不同的分布式节点执行,避免重复执行相同任务造成的资源浪费,提高任务的处理效率。
86.作为一种可能的实现方式,本技术提供的一种异步任务执行方法,还包括以下步骤:分析所述异步任务执行结果,得到任务结果通知;向所述用户展示所述任务结果通知。
87.本技术实施例中,还可以分析异步任务执行结果,得到任务结果通知,向用户展示任务结果通知。例如,异步任务执行结果可以是执行失败,则可以分析该异步任务执行失败的原因,如可以是具体某一子任务的问题,或者是外部执行系统的问题等。
88.通过向用户展示任务结果通知,可以让用户了解异步任务执行的具体情况,使得在任务执行失败时,用户可以更好地了解执行失败的原因,从而能够进行针对性的调整,保证后续异步任务的正常执行。
89.下面对本技术实施例提供的一种异步任务执行装置进行介绍,下文描述的装置与上文描述的一种异步任务执行方法可相互对应参照。
90.本技术实施例还提供了一种异步任务执行的装置结构示意图,该装置包括第一获取单元201、生成单元202和执行单元203。
91.第一获取单元201,用于获取用户发送的异步任务指令,所述异步任务指令包括异步任务信息。
92.生成单元202,用于根据预设的任务模板以及所述异步任务信息,生成异步任务。
93.执行单元203,用于执行所述异步任务,得到异步任务执行结果。
94.获取用户发送的异步任务指令,异步任务指令包括异步任务信息;根据预设的任务模板以及异步任务信息,生成异步任务;执行异步任务,得到异步任务执行结果。可见,上述装置通过预设的任务模板,即可根据用户的需要进行生成异步任务并执行,避免对并行处理要求改变的任务都进行重复设计开发,减少用于开发的人力资源。
95.作为一种可能的实现方式,所述生成单元,具体用于将所述异步任务信息写入任务模板,生成所述异步任务。
96.作为一种可能的实现方式,所述异步任务信息包括主任务的第一并行标识和子任务的第二并行标识,一个所述主任务包括至少一个所述子任务,并行标识用于确定任务的执行方式,所述执行方式包括并发执行和串行执行,
97.则所述执行单元,具体包括:
98.第一确定子单元,用于根据所述第一并行标识以及所述第二并行标识确定并行处理的最大任务量;
99.第二确定子单元,用于根据所述最大任务量确定分布式节点,所述分布式节点的数量等于所述最大任务量;
100.执行子单元,用于基于所述分布式节点执行所述异步任务,得到所述异步任务执行结果。
101.作为一种可能的实现方式,所述异步任务信息包括主任务的执行优先级和子任务的执行优先级,异步任务包括至少一个主任务,一个主任务包括至少一个子任务,
102.则所述执行单元,具体用于根据预设的任务模板、所述主任务执行优先级和所述子任务执行优先级,生成异步任务,所述异步任务包括所述主任务的执行顺序和所述子任务的执行顺序,所述主任务的执行顺序根据所述主任务执行优先级确定,所述子任务的执行顺序根据所述子任务执行优先级确定。
103.作为一种可能的实现方式,所述装置还包括:
104.第二获取单元,用于获取所述子任务对应的数据项的读取次数;
105.数据库锁添加单元,用于若所述读取次数为1,则为所述子任务对应的数据项添加数据库锁,所述数据库锁用于限制分布式节点获取所述子任务对应的数据项。
106.作为一种可能的实现方式,所述装置还包括:
107.分析单元,用于分析所述异步任务执行结果,得到任务结果通知;
108.展示单元,用于向所述用户展示所述任务结果通知。
109.本技术还提供了一种设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述设备还可以包括各种网络接口,电源等组件。
110.需要说明的是,本技术实施例提供的一种设备,具有如上任意一个实施例所具有的技术效果,本技术实施例在此并不作赘述。
111.本技术还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
112.需要说明的是,本技术实施例提供的一种计算机可读存储介质,具有如上任意一个实施例所具有的技术效果,本技术实施例在此并不作赘述。
113.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
114.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
115.本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进
和修饰也落入本技术权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1