技术新讯 > 计算推算,计数设备的制造及其应用技术 > 线程资源的获取方法和装置与流程  >  正文

线程资源的获取方法和装置与流程

  • 国知局
  • 2024-09-11 14:24:16

本发明涉及计算机,尤其涉及一种线程资源的获取方法和装置。

背景技术:

1、为了提升系统的并发性能,很多系统框架都设置有业务线程池。业务线程池通过提供多个线程资源,负责对各请求进行业务逻辑处理及响应。但当某个接口的请求发生运行异常,执行时间过长时,将会大量占用线程池的线程资源,导致其它正常接口的请求被拒绝,使其它正常接口无法及时得到响应。

技术实现思路

1、有鉴于此,本发明实施例提供一种线程资源的获取方法和装置,能够识别执行时间过长的异常请求,并且对异常请求对应的请求任务进行资源隔离,减少对其它正常接口的请求任务的不良影响,保证其它正常接口的正常响应。

2、第一方面,本发明实施例提供了一种线程资源的获取方法,包括:接收目标请求,并生成目标请求对应的请求任务;根据请求任务的任务信息,确定请求任务对应的预估执行时间;根据预估执行时间,从多个备选线程池组中,确定出请求任务对应的目标线程池组;将请求任务提交给目标线程池组,以从目标线程池组中获取用于执行请求任务的线程资源。

3、可选地,生成目标请求对应的请求任务,包括:确定目标请求对应的请求信息;其中,请求信息包括以下至少之一:资源标识符、接口标识及方法标识;生成目标请求对应的请求任务;其中,请求任务的任务信息包括:请求信息。

4、可选地,将请求任务提交给目标线程池组之后,还包括:获取请求任务的实际执行时间;生成请求任务对应的监控信息,监控信息包括:请求任务的任务信息及实际执行时间。

5、可选地,还包括:获取统计时段内的多个监控信息;对多个监控信息进行统计处理,得到多个统计记录;其中,统计记录包括:任务信息及执行时间统计值;根据请求任务的任务信息,确定请求任务对应的预估执行时间,包括:响应于根据任务信息确定多个统计记录中存在请求任务对应的目标记录,根据目标记录中的执行时间统计值,确定请求任务对应的预估执行时间。

6、可选地,还包括:响应于根据任务信息确定多个统计记录中不存在目标记录,获取默认执行时间;根据默认执行时间,确定请求任务对应的预估执行时间。

7、可选地,根据预估执行时间,从多个备选线程池组中,确定出请求任务对应的目标线程池组之前,还包括:获取用户输入的多组配置信息;针对各配置信息,确定配置信息对应的线程池标识及时间区间;生成线程池组标识与时间区间的映射关系记录。

8、可选地,根据预估执行时间,从多个备选线程池组中,确定出请求任务对应的目标线程池组,包括:根据预估执行时间,从多个映射关系记录中,确定出请求任务对应的目标关系记录;其中,预估执行时间处于目标关系记录中的时间区间内;将目标关系记录中的线程池组标识对应的线程池组,确定为请求任务对应的目标线程池组。

9、可选地,多个备选线程池组中包括:超时线程池组,超时线程池组对应的时间区间的下限为超时阈值;根据预估执行时间,从多个备选线程池组中,确定出请求任务对应的目标线程池组,包括:响应于预估执行时间大于超时阈值,确定超时线程池组为请求任务对应的目标线程池组;其中,预估执行时间由与目标请求具有相同请求信息的其它请求的实际执行时间确定;将请求任务提交给目标线程池组之后,还包括:以预设间隔,从超时线程池组中,获取请求任务的执行信息;响应于执行信息表征执行异常,生成针对目标请求的异常提示信息。

10、第二方面,本发明实施例提供了一种线程资源的获取装置,包括:任务生成模块,用于接收目标请求,并生成目标请求对应的请求任务;时间确定模块,用于根据请求任务的任务信息,确定请求任务对应的预估执行时间;线程池组确定模块,用于根据预估执行时间,从多个备选线程池组中,确定出请求任务对应的目标线程池组;任务提交模块,用于将请求任务提交给目标线程池组,以从目标线程池组中获取用于执行请求任务的线程资源。

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

12、第四方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。

13、第五方面,本发明实施例提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一实施例所述的方法。

14、上述发明中的一个实施例具有如下优点或有益效果:系统中设置有多个备选线程池组,各备选线程池组对应于不同的时间区间,用于为不同的预估执行时间的请求任务提供线程资源。多个备选线程池组中包括超时线程池组。可根据需求,设置超时阈值,并将超时线程池组对应的时间区间设置为大于超时阈值。

15、在接收目标请求之后,生成目标请求对应的请求任务。确定请求任务对应的预估执行时间,根据预估执行时间,从多个备选线程池组中,确定出请求任务对应的目标线程池组。将请求任务提交给目标线程池组,以从目标线程池组中获取用于执行请求任务的线程资源。请求任务对应的预估执行时间位于目标线程池组中的时间区间内。

16、如果某个接口的请求发生运行异常,会造成该接口对应的请求任务的实际执行时间过长,从而将该异常接口的请求任务都提交到超时线程池组。其它正常接口对应的请求任务的实际执行时间小于超时阈值,从而被提交到超时线程池组以外的线程池组。因此,本发明实施例的方案能够识别执行时间过长的异常请求,并且对异常请求对应的请求任务进行资源隔离,减少对其它正常接口的请求任务的不良影响,保证其它正常接口的正常响应。

17、此外,请求任务对应的预估执行时间位于目标线程池组中的执行时间区间内。将具有相似的实际执行时间的多个请求任务提交给同一线程池组,便于制定各线程池组的资源分配策略、回收策略等,提高系统整体执行效率的同时,为系统整体运维提供方便。

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

技术特征:

1.一种线程资源的获取方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述生成所述目标请求对应的请求任务,包括:

3.根据权利要求2所述的方法,其特征在于,所述将所述请求任务提交给所述目标线程池组之后,还包括:

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

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

6.根据权利要1-5任一所述的方法,其特征在于,所述根据所述预估执行时间,从多个备选线程池组中,确定出所述请求任务对应的目标线程池组之前,还包括:

7.根据权利要6所述的方法,其特征在于,所述根据所述预估执行时间,从多个备选线程池组中,确定出所述请求任务对应的目标线程池组,包括:

8.根据权利要1-7任一所述的方法,其特征在于,所述多个备选线程池组中包括:超时线程池组,所述超时线程池组对应的时间区间的下限为超时阈值;

9.一种线程资源的获取装置,其特征在于,包括:

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

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

12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一所述的方法。

技术总结本发明公开了一种线程资源的获取方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收目标请求,并生成目标请求对应的请求任务;根据请求任务的任务信息,确定请求任务对应的预估执行时间;根据预估执行时间,从多个备选线程池组中,确定出请求任务对应的目标线程池组;将请求任务提交给目标线程池组,以从目标线程池组中获取用于执行请求任务的线程资源。该实施方式能够识别执行时间过长的异常请求,并且对异常请求对应的请求任务进行资源隔离,减少对其它正常请求的不良影响,保证其它正常接口的正常响应。技术研发人员:马文涛受保护的技术使用者:北京京东远升科技有限公司技术研发日:技术公布日:2024/9/9

本文地址:https://www.jishuxx.com/zhuanli/20240911/290587.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。