说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202210972026.7 (22)申请日 2022.08.15 (65)同一申请的已公布的文献号 申请公布号 CN 115080247 A (43)申请公布日 2022.09.20 (73)专利权人 科来网络技 术股份有限公司 地址 610000 四川省成 都市中国 (四川) 自 由贸易试验区成都高新区天府大道北 段966号4栋1单元12楼、 13楼、 14楼 (72)发明人 童跃 张学亮 唐华  (74)专利代理 机构 成都行之智 信知识产权代理 有限公司 5125 6 专利代理师 宋海霞 (51)Int.Cl. G06F 9/50(2006.01)(56)对比文件 CN 114579323 A,202 2.06.03 CN 106980546 A,2017.07.25 审查员 苗文娟 (54)发明名称 一种高可用线程池切换方法及装置 (57)摘要 本发明公开了一种高可用线程池切换方法 及装置, 包括: 从动态线程池工厂获取主线程池, 并检测主线程池的状态; 根据主线程池的状态, 切换至不同的线程池执行新接收的任务, 包括: 当主线程池的状态为确定阻塞状态时, 则从主线 程池切换至备用线程池为新接收的任务提供服 务, 同时启动主线程池脏任务识别机制进行脏任 务识别, 并将识别出的脏任务置于脏任务资源受 限线程池中执行; 当脏任务识别完成后, 开启定 时任务; 根据定时任务检测主线程池的最新状 态, 如果主线程池的最新状态为恢复完成状态, 则由备用线程池切换至原主线程池为新接收的 任务提供服务。 本发明能够解决当多个任务共用 一个线程池时, 其中某个任务耗时拖延, 从而导 致整体卡顿的问题。 权利要求书2页 说明书7页 附图2页 CN 115080247 B 2022.11.04 CN 115080247 B 1.一种高可用线程池切换 方法, 其特 征在于, 该 方法包括: 从动态线程池工厂获取主 线程池, 并检测所述主 线程池的状态; 根据所述主 线程池的状态, 切换至不同的线程池执 行新接收的任务, 包括: 当所述主线程池的状态为确定阻塞状态时, 则从主线程池切换至备用线程池为新接收 的任务提供服务, 同时启动主线程池脏任务识别机制进行脏任务识别, 并将识别出 的脏任 务置于脏任务资源受限线程池中执 行; 当所述脏任务识别完成后, 开启定时任务; 根据所述定时任务检测所述主线程池的最 新状态, 如果所述主线程池的最新状态为恢复完成状态, 则由备用线程池切换至原主线程 池为新接收的任务 提供服务; 所述主线程池的状态包括正常状态、 疑似阻塞状态、 确定阻塞状态、 恢 复中状态和恢复 完成状态; 所述主线程池的状态的判断依据为: 如果所述主线程池中的 阻塞块大小为0或者使用的 阻塞块在阻塞队列总容量中的占比 不超过第一预设值时, 那么所述主 线程池为 正常状态; 如果所述主线程池中的阻塞块大小不为0, 且使用的阻塞块在阻塞队列总容量中的占 比超过第一预设值时, 所述主 线程池陷入繁忙, 将所述主 线程池状态置为疑似阻塞状态; 每次获取所述主线程池时, 对所述主线程池的疑似阻塞状态进行记录, 记录累计繁忙 次数; 当所述累计繁忙次数达 到第二预设值时, 将所述主 线程池状态置为确定阻塞状态; 根据确定阻塞状态后, 启动主线程池脏任务识别机制进行脏任务识别, 当所述脏任务 识别完成后, 开启定时任务, 那么所述主线程池处于恢复中, 将所述主线程池状态置为恢复 中状态; 直至恢复完成, 将所述主 线程池状态置为恢复完成状态; 所述脏任务指的是在主 线程池中占比最多且耗时最多的任务。 2.根据权利要求1所述的一种高可用线程池切换方法, 其特征在于, 该方法还包括动态 线程池工厂的初始化, 具体为: 设置动态线程池工厂, 线程池获取必须经过统一调度入口; 所述动态线程池工厂为多 任务共用线程池; 初始化备用线程池, 初始化脏任务资源受限线程池; 内置主线程池的状态为 正常状态。 3.根据权利要求1所述的一种高可用线程池切换方法, 其特征在于, 所述主线程池脏任 务识别机制的识别步骤为: 根据获取的主 线程池, 记录所述主 线程池中每 个任务的执 行时长; 根据每个任务的执行时长, 获取所述主线程池中的堆栈, 分析所述堆栈里占比最多的 前若干任务和所述 堆栈里耗时最长的前若干任务; 对所述堆栈里占比最多的前若干任务和所述堆栈里耗时最长的前若干任务的集合取 交集, 并从所述交集中选取 得到占比最多且耗时最多的第一个作为脏任务。 4.根据权利要求1所述的一种高可用线程池切换方法, 其特征在于, 每个所述主线程池 配置有一个备用线程池, 所述备用线程池在使用时新建, 用完时进行回收。 5.根据权利要求1所述的一种高可用线程池切换方法, 其特征在于, 所述主线程池中分 配最多的资源进行任务执行, 所述脏任务资源受限线程池中分配最少的资源进行任务执权 利 要 求 书 1/2 页 2 CN 115080247 B 2行。 6.根据权利要求1所述的一种高可用线程池切换方法, 其特征在于, 所述的根据 所述主 线程池的状态, 切换至不同的线程池执 行新接收的任务, 还 包括: 当所述主 线程池的状态为 正常状态时, 返回原主 线程池为 新接收的任务 提供服务; 当所述主线程池的状态为疑似阻塞状态时, 返回原主线程池为新接收的任务提供服 务; 当所述主 线程池的状态为恢复中状态时, 返回备用线程池为 新接收的任务 提供服务。 7.一种高可用线程池切换装置, 其特征在于, 该装置支持如权利要求1至6中任一所述 的一种高可用线程池切换 方法; 该装置包括: 获取主线程池单 元, 用于从动态线程池工厂获取主 线程池; 检测状态单 元, 用于检测从动态线程池工厂获取的主 线程池的状态; 线程池切换单元, 用于根据所述主线程池的状态, 切换至不同的线程池执行新接收的 任务。权 利 要 求 书 2/2 页 3 CN 115080247 B 3

.PDF文档 专利 一种高可用线程池切换方法及装置

文档预览
中文文档 12 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种高可用线程池切换方法及装置 第 1 页 专利 一种高可用线程池切换方法及装置 第 2 页 专利 一种高可用线程池切换方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:11:34上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。