数据跑批方法、装置、电子设备及存储介质与流程

文档序号:34966645发布日期:2023-08-01 11:19阅读:35来源:国知局
数据跑批方法、装置、电子设备及存储介质与流程

本公开涉及数据处理领域,尤其涉及一种数据跑批方法、装置、电子设备及存储介质。


背景技术:

1、相关技术中,通常通过简单的串行调度或者并行多线程调度管理内大规模数据跑批任务。但是,串行调度需要消耗大量时间,并行多线程调度会可能会导致跑批任务的执行难以保证跑批任务的顺序。


技术实现思路

1、本公开提供一种数据跑批方法、装置、电子设备及存储介质。本公开的技术方案如下:

2、根据本公开实施例的第一方面,提供一种数据跑批方法,包括:

3、获取每条预设跑批任务的第一任务执行特征信息;其中,所述第一任务执行特征信息包括资源占用信息、耗时信息;

4、接收参数配置指令;其中,所述参数配置指令包括执行所述预设跑批任务的线程数、每个所述线程的最大允许内存,所述线程数为多个;

5、响应于所述参数配置指令,通过预设任务安排方法根据所述线程数、每个所述线程的最大允许内存、每条所述预设跑批任务的第一任务执行特征信息,以及每条所述预设跑批任务的执行顺序,将所有所述预设跑批任务安排至所述线程数个所述线程;

6、创建所述线程数个线程,通过所述线程数个所述线程执行所有所述预设跑批任务。

7、在一种可能的实施方式中,所述获取每条预设跑批任务的第一任务执行特征信息之前,还包括:

8、单线程执行每条所述预设跑批任务;

9、采集每条所述预设跑批任务的任务执行信息;

10、基于每条所述预设跑批任务的任务执行信息,确定每条所述预设跑批任务的第一任务执行特征信息。

11、在一种可能的实施方式中,所述预设任务安排方法包括子集树回溯算法和剪枝操作。

12、在一种可能的实施方式中,所述每条所述预设跑批任务存储于数据库服务器中,所述通过多个所述线程执行所有所述预设跑批任务,包括:

13、在通过多个所述线程执行所有所述预设跑批任务时,监测跑批服务器和所述数据库服务器的吞吐量;

14、在监测到所述跑批服务器的吞吐量大于或等于第一预设吞吐量、所述数据库服务器的吞吐量大于或等于第二预设吞吐量中的至少一种的情况下,通过预设缓冲函数调整所述跑批服务器的跑批参数。

15、在一种可能的实施方式中,在所述预设跑批任务为写入操作的情况下,所述跑批参数包括写入块的大小和缓冲值;

16、所述在监测到所述跑批服务器的吞吐量大于或等于第一预设吞吐量、所述数据库服务器的吞吐量大于或等于第二预设吞吐量中的至少一种的情况下,通过预设缓冲函数调整所述跑批服务器的跑批参数,包括:

17、在监测到所述跑批服务器的吞吐量大于或等于第一预设吞吐量的情况下,减小所述跑批服务器中写入块的大小;

18、在监测到所述数据库服务器的吞吐量大于或等于第二预设吞吐量的情况下,增加所述跑批服务器中写入块的大小;

19、在监测到所述跑批服务器的吞吐量大于或等于第一预设吞吐量,且所述数据库服务器的吞吐量大于或等于第二预设吞吐量的情况下,调整所述跑批服务器的缓冲值。

20、在一种可能的实施方式中,所述通过多个所述线程执行所有所述预设跑批任务之后,还包括:

21、采集每条所述预设跑批任务的第二任务执行特征信息;

22、基于所述第二任务执行特征信息调整所述第一任务执行特征信息。

23、根据本公开实施例的第二方面,提供一种数据跑批装置,包括:

24、信息获取模块,用于获取每条预设跑批任务的第一任务执行特征信息;其中,所述第一任务执行特征信息包括资源占用信息、耗时信息;

25、指令接收模块,用于接收参数配置指令;其中,所述参数配置指令包括执行所述预设跑批任务的线程数、每个所述线程的最大允许内存,所述线程数为多个;

26、任务分配模块,用于响应于所述参数配置指令,通过预设任务安排方法根据所述线程数、每个所述线程的最大允许内存、每条所述预设跑批任务的第一任务执行特征信息,以及每条所述预设跑批任务的执行顺序,将所有所述预设跑批任务安排至所述线程数个所述线程;

27、任务跑批模块,用于创建所述线程数个线程,通过所述线程数个所述线程执行所有所述预设跑批任务。

28、在一种可能的实施方式中,还包括:

29、单线程跑批模块,用于单线程执行每条所述预设跑批任务;

30、第一信息采集模块,用于采集每条所述预设跑批任务的任务执行信息;

31、信息确定模块,用于基于每条所述预设跑批任务的任务执行信息,确定每条所述预设跑批任务的第一任务执行特征信息。

32、在一种可能的实施方式中,所述预设任务安排方法包括子集树回溯算法和剪枝操作。

33、在一种可能的实施方式中,所述每条所述预设跑批任务存储于数据库服务器中,所述任务跑批模块,包括:

34、监测模块,用于在通过多个所述线程执行所有所述预设跑批任务时,监测跑批服务器和所述数据库服务器的吞吐量;

35、参数调整模块,用于在监测到所述跑批服务器的吞吐量大于或等于第一预设吞吐量、所述数据库服务器的吞吐量大于或等于第二预设吞吐量中的至少一种的情况下,通过预设缓冲函数调整所述跑批服务器的跑批参数。

36、在一种可能的实施方式中,在所述预设跑批任务为写入操作的情况下,所述跑批参数包括写入块的大小和缓冲值;

37、所述参数调整模块,包括:

38、第一调整单元,用于在监测到所述跑批服务器的吞吐量大于或等于第一预设吞吐量的情况下,减小所述跑批服务器中写入块的大小;

39、第二调整单元,用于在监测到所述数据库服务器的吞吐量大于或等于第二预设吞吐量的情况下,增加所述跑批服务器中写入块的大小;

40、第三调整单元,用于在监测到所述跑批服务器的吞吐量大于或等于第一预设吞吐量,且所述数据库服务器的吞吐量大于或等于第二预设吞吐量的情况下,调整所述跑批服务器的缓冲值。

41、在一种可能的实施方式中,还包括:

42、第二信息采集模块,用于采集每条所述预设跑批任务的第二任务执行特征信息;

43、信息调整模块,用于基于所述第二任务执行特征信息调整所述第一任务执行特征信息。

44、根据本公开实施例的第三方面,提供一种电子设备,包括:

45、处理器;

46、用于存储所述处理器可执行指令的存储器;

47、其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的数据跑批方法。

48、根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面中任一项所述的数据跑批方法。

49、根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的数据跑批方法。

50、本公开的实施例提供的技术方案至少带来以下有益效果:

51、在本公开实施例中,通过获取每条预设跑批任务的第一任务执行特征信息;其中,第一任务执行特征信息包括资源占用信息、耗时信息;接收参数配置指令;其中,参数配置指令包括执行预设跑批任务的线程数、每个线程的最大允许内存,线程数为多个;响应于参数配置指令,通过预设任务安排方法根据线程数、每个线程的最大允许内存、每条预设跑批任务的第一任务执行特征信息,以及每条预设跑批任务的执行顺序,将所有预设跑批任务安排至线程数个线程;创建线程数个线程,通过线程数个线程执行所有预设跑批任务。这样,可以在各跑批任务的资源占用信息、耗时信息等性能的基础上,结合各跑批任务的执行顺序,进行跑批任务至各线程的安排分配。如此,可以在符合业务要求的情况下,更加安全、快速的完成所有跑批任务的跑批,从而不仅可以避免相关技术中串行调度时间过长的问题,还可以避免并行多线程调度无法保证跑批任务执行顺序的问题,进而不仅可以减少任务的总执行时间,提高执行效率,还可以保证跑批任务的执行顺序。

52、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1