一种数据导入的方法和装置与流程

文档序号:36798276发布日期:2024-01-23 12:22阅读:13来源:国知局
一种数据导入的方法和装置与流程

本发明涉及计算机,尤其涉及一种数据导入的方法和装置。


背景技术:

1、目前在将线上产生的业务数据加工后导入到数据库中进行存储时,多是根据待导入的数据生成数据导入任务,然后按照数据导入任务的提交时间将其保存到任务队列。任务管理平台依次从任务队列中取出数据导入任务然后按照其提交时间进行数据导入处理。

2、在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

3、不同业务的数据导入任务的实时性要求和数据量是不同的,按照任务提交时间的先后顺序来依次进行任务处理时,会出现任务队列中排在靠后位置但实时性要求高的任务无法及时处理,以及由于数据量大的任务占用系统资源较多而导致实时性要求高的任务无法及时处理的情况,严重影响了数据处理的实时性。


技术实现思路

1、有鉴于此,本发明实施例提供一种数据导入的方法和装置,能够将数据导入任务分配到不同的任务队列中,并使用各个任务队列对应的线程池进行任务处理,从而可以实现任务的分级处理,防止重要任务无法及时处理,保证对实时性要求高的任务能够优先完成,同时保证对实时性要求不太高的任务也能有机会执行,不至于一直处于停滞状态。

2、为实现上述目的,根据本发明实施例的一个方面,提供了一种数据导入的方法,包括:

3、响应于接收到数据导入请求,根据所述数据导入请求判断是否已指定数据导入任务对应的任务队列;

4、在未指定任务队列的情况下,获取所述数据导入任务的任务信息,所述任务信息包括所述数据导入任务对应的目标表名和导入数据量;

5、根据所述目标表名获取目标表对应的任务历史优先级,以根据所述任务历史优先级确定所述数据导入任务对应的任务队列;

6、在未能获取所述目标表对应的任务历史优先级的情况下,根据所述导入数据量确定所述数据导入任务对应的任务队列;

7、将所述数据导入任务添加到所述对应的任务队列中,并使用所述对应的任务队列的线程池对所述数据导入任务进行处理以进行数据导入。

8、可选地,根据所述导入数据量确定所述数据导入任务对应的任务队列,包括:根据所述导入数据量和各个任务队列对应的导入数据量阈值确定所述数据导入任务对应的任务队列。

9、可选地,使用所述对应的任务队列的线程池对所述数据导入任务进行处理以进行数据导入,包括:获取所述对应的任务队列的线程池中正在执行的任务数量和所述对应的任务队列的任务数量阈值;在所述正在执行的任务数量未达到所述任务数量阈值的情况下,从所述对应的任务队列中取出所述数据导入任务并进行处理以进行数据导入;在所述正在执行的任务数量达到所述任务数量阈值的情况下,等待直至所述对应的任务队列的线程池中正在执行的任务数量减少后,从所述对应的任务队列中取出所述数据导入任务并进行处理以进行数据导入。

10、可选地,所述任务信息还包括所述数据导入任务对应的顺序优先级;将所述数据导入任务添加到所述对应的任务队列中,包括:根据所述数据导入任务对应的顺序优先级和所述对应的任务队列中已有任务的顺序优先级,确定所述数据导入任务在所述对应的任务队列中的目标位置;将所述数据导入任务添加到所述对应的任务队列中的所述目标位置。

11、可选地,所述任务信息还包括任务状态;在使用所述对应的任务队列的线程池对所述数据导入任务进行处理之后,还包括:获取所述数据导入任务的任务状态,并根据所述任务状态判断所述数据导入任务是否执行失败;在所述数据导入任务执行失败的情况下,获取所述数据导入任务前一次执行失败时的执行时长;根据所述数据导入任务前一次执行失败时的执行时长确定所述数据导入任务的第一顺序优先级;根据所述第一顺序优先级和所述对应的任务队列中已有任务的顺序优先级,确定所述数据导入任务在所述对应的任务队列中的第一目标位置;将所述数据导入任务添加到所述对应的任务队列中的所述第一目标位置。

12、可选地,所述方法还包括:监控各个任务队列中正在执行的数据导入任务的已执行时长;在所述已执行时长超过预先设定的任务最大执行时长的情况下,进行报警,以提示用户对所述正在执行的数据导入任务进行处理。

13、可选地,所述方法还包括:监控各个任务队列中的数据导入任务的等待时长;在所述等待时长超过预先设定的等待时长阈值的情况下,进行报警,以提示用户进行任务优先级调整。

14、根据本发明实施例的另一方面,提供了一种数据导入的装置,包括:

15、第一队列确定模块,用于响应于接收到数据导入请求,根据所述数据导入请求判断是否已指定数据导入任务对应的任务队列;

16、任务信息获取模块,用于在未指定任务队列的情况下,获取所述数据导入任务的任务信息,所述任务信息包括所述数据导入任务对应的目标表名和导入数据量;

17、第二队列确定模块,用于根据所述目标表名获取目标表对应的任务历史优先级,以根据所述任务历史优先级确定所述数据导入任务对应的任务队列;

18、第三队列确定模块,用于在未能获取所述目标表对应的任务历史优先级的情况下,根据所述导入数据量确定所述数据导入任务对应的任务队列;

19、导入任务处理模块,用于将所述数据导入任务添加到所述对应的任务队列中,并使用所述对应的任务队列的线程池对所述数据导入任务进行处理以进行数据导入。

20、根据本发明实施例的又一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的数据导入的方法。

21、根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的数据导入的方法。

22、上述发明中的一个实施例具有如下优点或有益效果:通过响应于接收到数据导入请求,根据数据导入请求判断是否已指定数据导入任务对应的任务队列;在未指定任务队列的情况下,获取数据导入任务的任务信息,任务信息包括数据导入任务对应的目标表名和导入数据量;根据目标表名获取目标表对应的任务历史优先级,以根据任务历史优先级确定数据导入任务对应的任务队列;在未能获取目标表对应的任务历史优先级的情况下,根据导入数据量确定数据导入任务对应的任务队列;将数据导入任务添加到对应的任务队列中,并使用对应的任务队列的线程池对数据导入任务进行处理以进行数据导入的技术方案,可以将数据导入任务分配到不同的任务队列中,并使用各个任务队列对应的线程池进行任务处理,从而可以实现任务的分级处理,防止重要任务无法及时处理,保证对实时性要求高的任务能够优先完成,同时保证对实时性要求不太高的任务也能有机会执行,不至于一直处于停滞状态。

23、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。



技术特征:

1.一种数据导入的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,根据所述导入数据量确定所述数据导入任务对应的任务队列,包括:

3.根据权利要求1所述的方法,其特征在于,使用所述对应的任务队列的线程池对所述数据导入任务进行处理以进行数据导入,包括:

4.根据权利要求1所述的方法,其特征在于,所述任务信息还包括所述数据导入任务对应的顺序优先级;

5.根据权利要求1或4所述的方法,其特征在于,所述任务信息还包括任务状态;

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.一种数据导入的装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。


技术总结
本发明公开了一种数据导入的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:响应于接收到数据导入请求,判断是否已指定数据导入任务对应的任务队列;在未指定任务队列的情况下,获取数据导入任务的任务信息;根据目标表名获取目标表对应的任务历史优先级以确定数据导入任务对应的任务队列;在未能获取任务历史优先级的情况下,根据导入数据量确定数据导入任务对应的任务队列;将数据导入任务添加到对应的任务队列中,并使用对应的任务队列的线程池对数据导入任务进行处理以进行数据导入。该实施方式保证对实时性要求高的任务能够优先完成,同时保证对实时性要求不太高的任务也能有机会执行,不至于一直处于停滞状态。

技术研发人员:杨博文
受保护的技术使用者:北京沃东天骏信息技术有限公司
技术研发日:
技术公布日:2024/1/22
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1