资源分配方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:36565211 阅读:19 留言:0更新日期:2023-02-04 17:21
本申请涉及计算机技术领域,公开了一种资源分配方法、装置、计算机设备及存储介质,包括:配置父线程池的资源分配插件;响应于目标业务对应的任务的处理请求,调用资源分配插件按照处理请求中目标业务对应任务的身份信息确定第一预设时段内任务的历史平均耗时和第二预设时段内任务的历史异常次数,并根据历史平均耗时和历史异常次数将处理请求调度至对应的目标子线程池中进行处理,其中,目标子线程池为与目标业务关联的父线程池中的子线程池。本申请的方法,不仅引用插件编写资源分配所需的代码,省去了复杂的业务编码逻辑,而且克服了请求量高时大量线程被阻塞导致的降级线程的利用率的问题,实现了更高效的系统资源使用。使用。使用。

【技术实现步骤摘要】
资源分配方法、装置、计算机设备及存储介质


[0001]本申请涉及计算机
,尤其是涉及到一种资源分配方法、装置、计算机设备及存储介质。

技术介绍

[0002]目前,不管是前端业务还是后端业务,都会存在各种接口调用,系统资源线程池则来服务于接口调用。相关技术中的任务调度方案通常是流量较高的接口分配的线程资源较多、耗时越长的接口占据线程资源越久。当出现任务异常时,系统会立即进行限流,此时,由于多个业务接口调用同一份系统的线程资源,将出现即将完成的流量较低的业务接口因难以分配到线程资源而无法继续执行的问题,严重影响任务执行效率。

技术实现思路

[0003]有鉴于此,本申请提供了一种资源分配方法、装置、计算机设备及存储介质,以解决系统资源分配不合理导致的系统处理效率降低的问题。
[0004]第一方面,提供了一种资源分配方法,包括:
[0005]配置父线程池的资源分配插件,其中,父线程池包括多个目标子线程池;
[0006]响应于目标业务对应的任务的处理请求,调用资源分配插件按照处理请求中目标业务对应任务的身份信息确定第一预设时段内任务的历史平均耗时和第二预设时段内任务的历史异常次数,并根据历史平均耗时和历史异常次数将处理请求调度至对应的目标子线程池中进行处理,其中,目标子线程池为与目标业务关联的父线程池中的子线程池。
[0007]进一步地,根据历史平均耗时和历史异常次数将处理请求调度至对应的目标子线程池中进行处理,包括:
[0008]若历史平均耗时小于或等于预设耗时,且历史异常次数小于或等于预设次数,将处理请求调度至第一目标子线程池中进行处理;
[0009]若历史平均耗时大于预设耗时,或历史异常次数大于预设次数,将处理请求调度至第二目标子线程池中进行处理;
[0010]其中,第一目标子线程池的线程资源大于第二目标子线程池程资源。
[0011]进一步地,第二目标子线程池包括第三目标子线程池和第四目标子线程池,第三目标子线程池的线程资源大于第四目标子线程池程资源;将处理请求调度至第二目标子线程池中进行处理,包括:
[0012]调用资源分配插件按照身份信息确定第三预设时段内目标业务对应的任务的流量分配概率;
[0013]若流量分配概率大于预设概率,将处理请求调度至第三目标子线程池中进行处理;
[0014]若流量分配概率小于或等于预设概率,将处理请求调度至第四目标子线程池中进行处理。
[0015]进一步地,按照身份信息确定第三预设时段内目标业务的流量分配概率,包括:
[0016]获取第三预设时段内目标业务对应的任务的处理请求次数;
[0017]根据处理请求次数计算流量分配概率。
[0018]进一步地,资源分配方法还包括:
[0019]调用历史平均耗时和历史异常次数对应的目标子线程池中的线程执行目标业务对应的任务;
[0020]通过资源分配插件对目标子线程池进行监测,获取任务的执行结果;
[0021]若执行结果为执行失败,累计任务的异常次数;
[0022]若执行结果为执行成功,按照身份信息存储任务的执行耗时和异常次数,并累计处理请求次数。
[0023]进一步地,资源分配方法还包括:
[0024]若历史平均耗时和历史异常次数对应的目标子线程池中不存在未被占用的空闲线程,将处理请求调度至目标业务关联的父线程池中存在空闲线程的其他子线程池。
[0025]进一步地,配置父线程池的资源分配插件,包括:
[0026]获取目标格式的模板文件和配置代码;
[0027]将配置代码写入模板文件中;
[0028]通过文件流读取模板文件,生成目标格式的代码;
[0029]调取目标格式的代码的文件,生成jar包;
[0030]将jar包安装至插件开发工具,得到资源分配插件。
[0031]第二方面,提供了一种线程管理装置,包括:
[0032]配置模块,用于配置父线程池的资源分配插件,其中,父线程池包括多个目标子线程池;
[0033]调度模块,用于响应于目标业务对应的任务的处理请求,调用资源分配插件按照处理请求中目标业务对应任务的身份信息确定第一预设时段内任务的历史平均耗时和第二预设时段内任务的历史异常次数,并根据历史平均耗时和历史异常次数将处理请求调度至对应的目标子线程池中进行处理,其中,目标子线程池为与目标业务关联的父线程池中的子线程池。
[0034]进一步地,调度模块,具体用于若历史平均耗时小于或等于预设耗时,且历史异常次数小于或等于预设次数,将处理请求调度至第一目标子线程池中进行处理;若历史平均耗时大于预设耗时,或历史异常次数大于预设次数,将处理请求调度至第二目标子线程池中进行处理;其中,第一目标子线程池的线程资源大于第二目标子线程池程资源。
[0035]进一步地,第二目标子线程池包括第三目标子线程池和第四目标子线程池,第三目标子线程池的线程资源大于第四目标子线程池程资源;调度模块,具体用于调用资源分配插件按照身份信息确定第三预设时段内目标业务对应的任务的流量分配概率;若流量分配概率大于预设概率,将处理请求调度至第三目标子线程池中进行处理;若流量分配概率小于或等于预设概率,将处理请求调度至第四目标子线程池中进行处理。
[0036]进一步地,线程管理装置还包括:获取模块,用于获取第三预设时段内目标业务对应的任务的处理请求次数;确定模块,用于根据处理请求次数计算流量分配概率。
[0037]进一步地,资源分配装置还包括:执行模块,用于调用历史平均耗时和历史异常次
数对应的目标子线程池中的线程执行目标业务对应的任务;监测模块,用于通过资源分配插件对目标子线程池进行监测,获取任务的执行结果;存储模块,用于若执行结果为执行失败,累计任务的异常次数;若执行结果为执行成功,按照身份信息存储任务的执行耗时和异常次数,并累计处理请求次数。
[0038]进一步地,调度模块,还用于若历史平均耗时和历史异常次数对应的目标子线程池中不存在未被占用的空闲线程,将处理请求调度至目标业务关联的父线程池中存在空闲线程的其他子线程池。
[0039]进一步地,配置模块,具体用于获取目标格式的模板文件和配置代码;将配置代码写入模板文件中;通过文件流读取模板文件,生成目标格式的代码;调取目标格式的代码的文件,生成jar包;将jar包安装至插件开发工具,得到资源分配插件。
[0040]第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述资源分配方法的步骤。
[0041]第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述资源分配方法的步骤。
[0042]上述资源分配方法、装置、计算机设备及存储介质所实现的方案中,在系统允许使用的线程资源(父线程池)划分为多个目标子线程池本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源分配方法,其特征在于,包括:配置父线程池的资源分配插件,其中,所述父线程池包括多个子线程池;响应于目标业务对应的任务的处理请求,调用所述资源分配插件按照所述处理请求中所述任务的身份信息确定第一预设时段内所述任务的历史平均耗时和第二预设时段内所述任务的历史异常次数,并根据所述历史平均耗时和所述历史异常次数将所述处理请求调度至对应的目标子线程池中进行处理,其中,所述目标子线程池为与所述目标业务关联的父线程池中的子线程池。2.根据权利要求1所述的资源分配方法,其特征在于,所述根据所述历史平均耗时和所述历史异常次数将所述处理请求调度至对应的目标子线程池中进行处理,包括:若所述历史平均耗时小于或等于预设耗时,且所述历史异常次数小于或等于预设次数,将所述处理请求调度至第一目标子线程池中进行处理;若所述历史平均耗时大于预设耗时,或所述历史异常次数大于预设次数,将所述处理请求调度至第二目标子线程池中进行处理;其中,所述第一目标子线程池的线程资源大于所述第二目标子线程池程资源。3.根据权利要求2所述的资源分配方法,其特征在于,所述第二目标子线程池包括第三目标子线程池和第四目标子线程池,所述第三目标子线程池的线程资源大于所述第四目标子线程池程资源;所述将所述处理请求调度至第二目标子线程池中进行处理,包括:调用所述资源分配插件按照所述身份信息确定第三预设时段内所述目标业务对应的所述任务的流量分配概率;若所述流量分配概率大于预设概率,将所述处理请求调度至所述第三目标子线程池中进行处理;若所述流量分配概率小于或等于预设概率,将所述处理请求调度至所述第四目标子线程池中进行处理。4.根据权利要求3所述的资源分配方法,其特征在于,所述按照所述身份信息确定第三预设时段内所述目标业务的流量分配概率,包括:获取所述第三预设时段内所述目标业务对应的任务的处理请求次数;根据所述处理请求次数计算流量分配概率。5.根据权利要求1至4中任一项所述的资源分配方法,其特征在于,所述方法还包括:调用所述历史平均耗时和...

【专利技术属性】
技术研发人员:何辉
申请(专利权)人:平安付科技服务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1