一种基于分布式缓存的线程调度方法和装置制造方法及图纸

技术编号:30163834 阅读:17 留言:0更新日期:2021-09-25 15:18
本发明专利技术实施例提供了一种基于分布式缓存的线程调度方法和装置,可用于人工智能技术领域,所述方法包括:接收待调度线程发送的资源请求;响应于资源请求,对待调度线程的事务锁状态信息、可访问资源的当前事务锁和线程等级进行判别处理,生成线程调度结果,在保证同一资源的串行化使用的前提下,能够进一步保证重要的、迫切的线程优先获取到资源,且在一定时间内多次申请资源的线程能成功获取到资源,提高线程申请资源的成功率。高线程申请资源的成功率。高线程申请资源的成功率。

【技术实现步骤摘要】
一种基于分布式缓存的线程调度方法和装置


[0001]本专利技术涉及计算机系统
,特别涉及人工智能
,尤其涉及一种基于分布式缓存的线程调度方法和装置。

技术介绍

[0002]在分布式系统中,不同节点、容器之间存在资源争抢,为了避免访问资源出现死锁以及大量线程等待的问题,相关技术中是通过分布式缓存中申请锁的方式来保证同一资源的串行化使用。但上述方案中各线程之间自由争抢锁资源,无法保证重要的、迫切的线程优先获取到资源。此外,若一定时间内同一线程多次申请资源,不能保证多次申请都能申请成功,此类线程申请资源的成功率较低。

技术实现思路

[0003]本专利技术的一个目的在于提供一种基于分布式缓存的线程调度方法,在保证同一资源的串行化使用的前提下,能够进一步保证重要的、迫切的线程优先获取到资源,且在一定时间内多次申请资源的线程能成功获取到资源,提高线程申请资源的成功率。本专利技术的另一个目的在于提供一种基于分布式缓存的线程调度装置。本专利技术的再一个目的在于提供一种计算机可读介质。本专利技术的还一个目的在于提供一种计算机设备。
[0004]为了达到以上目的,本专利技术一方面公开了一种基于分布式缓存的线程调度方法,包括:
[0005]接收待调度线程发送的资源请求;
[0006]响应于资源请求,对待调度线程的事务锁状态信息、可访问资源的当前事务锁和线程等级进行判别处理,生成线程调度结果。
[0007]优选的,事务锁状态信息包括获取状态和获取时长,获取状态包括已获取或未获取;<br/>[0008]对待调度线程的事务锁状态信息、可访问资源的当前事务锁和线程等级进行判别处理,生成线程调度结果,包括:
[0009]若获取状态为已获取且获取时长小于或等于预设的时长阈值,生成请求资源成功的线程调度结果;
[0010]若获取状态为已获取且获取时长大于预设的时长阈值,或者获取状态为未获取,判断是否已存在可访问资源的当前事务锁;
[0011]若已存在可访问资源的当前事务锁,对待调度线程的线程等级和当前事务锁进行判别处理,生成线程调度结果;
[0012]若不存在可访问资源的当前事务锁,对当前事物锁进行第二判别处理,生成线程调度结果。
[0013]优选的,对待调度线程的线程等级和当前事务锁进行判别处理,生成线程调度结果,包括:
[0014]根据待调度线程的线程等级,对当前事物锁进行第一判别处理,生成待调度线程的加锁结果,加锁结果包括加锁成功结果或加锁失败结果;
[0015]若加锁结果为加锁成功结果,对当前事物锁进行第二判别处理,生成线程调度结果;
[0016]若加锁结果为加锁失败结果,生成请求资源失败的线程调度结果。
[0017]优选的,线程等级包括第一等级或第二等级,第一等级优于第二等级;加锁成功结果包括第一加锁成功结果或第二加锁成功结果;
[0018]根据待调度线程的线程等级,对当前事物锁进行第一判别处理,生成待调度线程的加锁结果,包括:
[0019]若待调度线程的线程等级为第一等级,判断是否存在获取时长小于或等于预设的时长阈值的第一等级的当前事务锁;
[0020]若存在,生成加锁失败结果;
[0021]若不存在,生成第一加锁成功结果,第一加锁成功结果为对待调度线程添加第一等级的目标事务锁;
[0022]若待调度线程的线程等级为第二等级,判断是否存在获取时长小于或等于预设的时长阈值的第一等级的当前事务锁或获取时长小于或等于预设的时长阈值的第二等级的当前事务锁;
[0023]若存在,生成加锁失败结果;
[0024]若不存在,生成第二加锁成功结果,第二加锁成功结果为对待调度线程添加第二等级的目标事务锁。
[0025]优选的,若加锁结果为加锁成功结果,对当前事物锁进行第二判别处理,生成线程调度结果,包括:
[0026]若加锁成功结果为第一加锁成功结果,判断是否存在第二等级的当前事务锁;
[0027]若存在,控制待调度线程等待,并按照预设等待时间周期记录等待次数;
[0028]若等待次数大于预设等待阈值,控制待调度线程释放第一等级的目标事务锁,并生成请求资源失败的线程调度结果;
[0029]若等待次数小于或等于预设等待阈值,重复执行控制待调度线程等待,并按照预设等待时间周期记录等待次数的步骤;
[0030]若不存在,生成请求资源成功的线程调度结果。
[0031]优选的,若加锁结果为加锁成功结果,对当前事物锁进行第二判别处理,生成线程调度结果,包括:
[0032]若加锁成功结果为第二加锁成功结果,判断是否存在第一等级的当前事务锁;
[0033]若存在,生成请求资源失败的线程调度结果;
[0034]若不存在,生成请求资源成功的线程调度结果。
[0035]优选的,在响应于资源请求,对待调度线程的事务锁状态信息、可访问资源的当前事务锁和线程等级进行判别处理,生成线程调度结果之后,还包括:
[0036]若线程调度结果为请求资源成功,判断是否接收到待调度线程发送的资源请求;
[0037]若接收到待调度线程发送的资源请求,重复执行响应于资源请求,对待调度线程的事务锁状态信息、可访问资源的当前事务锁和线程等级进行判别处理,生成线程调度结
果的步骤;
[0038]若未接收到待调度线程发送的资源请求,控制待调度线程释放目标事务锁。
[0039]本专利技术还公开了一种基于分布式缓存的线程调度装置,包括:
[0040]接收单元,用于接收待调度线程发送的资源请求;
[0041]第一生成单元,用于响应于资源请求,对待调度线程的事务锁状态信息、可访问资源的当前事务锁和线程等级进行判别处理,生成线程调度结果。
[0042]本专利技术还公开了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。
[0043]本专利技术还公开了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述处理器执行所述程序时实现如上所述方法。
[0044]本专利技术接收待调度线程发送的资源请求;响应于资源请求,对待调度线程的事务锁状态信息、可访问资源的当前事务锁和线程等级进行判别处理,生成线程调度结果,在保证同一资源的串行化使用的前提下,能够进一步保证重要的、迫切的线程优先获取到资源,且在一定时间内多次申请资源的线程能成功获取到资源,提高线程申请资源的成功率。
附图说明
[0045]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0046]图1为本专利技术实施例提供的一种基于分布式缓存的线程调度方法的流程图;
[0047]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分布式缓存的线程调度方法,其特征在于,所述方法包括:接收待调度线程发送的资源请求;响应于所述资源请求,对所述待调度线程的事务锁状态信息、可访问资源的当前事务锁和线程等级进行判别处理,生成线程调度结果。2.根据权利要求1所述的基于分布式缓存的线程调度方法,其特征在于,所述事务锁状态信息包括获取状态和获取时长,所述获取状态包括已获取或未获取;所述对所述待调度线程的事务锁状态信息、可访问资源的当前事务锁和线程等级进行判别处理,生成线程调度结果,包括:若所述获取状态为已获取且所述获取时长小于或等于预设的时长阈值,生成请求资源成功的线程调度结果;若所述获取状态为已获取且所述获取时长大于预设的时长阈值,或者所述获取状态为未获取,判断是否已存在可访问资源的当前事务锁;若已存在可访问资源的当前事务锁,对所述待调度线程的线程等级和所述当前事务锁进行判别处理,生成线程调度结果;若不存在可访问资源的当前事务锁,对所述当前事物锁进行第二判别处理,生成线程调度结果。3.根据权利要求2所述的基于分布式缓存的线程调度方法,其特征在于,所述对所述待调度线程的线程等级和所述当前事务锁进行判别处理,生成线程调度结果,包括:根据所述待调度线程的线程等级,对所述当前事物锁进行第一判别处理,生成所述待调度线程的加锁结果,所述加锁结果包括加锁成功结果或加锁失败结果;若所述加锁结果为加锁成功结果,对所述当前事物锁进行第二判别处理,生成线程调度结果;若所述加锁结果为加锁失败结果,生成请求资源失败的线程调度结果。4.根据权利要求3所述的基于分布式缓存的线程调度方法,其特征在于,所述线程等级包括第一等级或第二等级,所述第一等级优于所述第二等级;所述加锁成功结果包括第一加锁成功结果或第二加锁成功结果;所述根据所述待调度线程的线程等级,对所述当前事物锁进行第一判别处理,生成所述待调度线程的加锁结果,包括:若所述待调度线程的线程等级为第一等级,判断是否存在获取时长小于或等于预设的时长阈值的第一等级的当前事务锁;若存在,生成加锁失败结果;若不存在,生成第一加锁成功结果,所述第一加锁成功结果为对所述待调度线程添加第一等级的目标事务锁;若所述待调度线程的线程等级为第二等级,判断是否存在获取时长小于或等于预设的时长阈值的第一等级的当前事务锁或获取时长小于或等于预设的时长阈值的第二等级的当前事务锁;若存在,生成加锁失败结果;若不存在,生成第二加锁成功结果,所述第二加锁成功结果为对所述待...

【专利技术属性】
技术研发人员:苏宇苏泽华阳理理欧乾君
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1