一种线程的调度系统、计算机设备和存储介质技术方案

技术编号:27579086 阅读:22 留言:0更新日期:2021-03-09 22:30
本发明专利技术实施例提供了一种线程的调度系统、计算机设备和存储介质,包括:集群调度模块、数据分发模块、资源管理模块及核心模块;其中,所述集群调度模块用于将业务系统任意节点线程池模型的动态数据实时同步至中间件,再由中间件将变更的数据发送给其它的节点;所述数据分发模块用于从中间件获取节点动态数据实时调整当前节点的线程池模型;所述资源管理模块用于资源管理层对整个系统资源进行池化,将线程池的全部资源统一划分为各种类型的群组;所述核心模块用于核心层负责线程的创建与销毁,当核心线程数量满足需求时,任务将会被空闲的线程执行;当核心线程数不够时,会创建新的线程来执行任务;减少对硬件资源的依赖,为企业节省硬件成本。省硬件成本。省硬件成本。

【技术实现步骤摘要】
一种线程的调度系统、计算机设备和存储介质


[0001]本专利技术涉及机械
,特别是涉及一种线程的调度系统、一种计算机设备和一种存储介质。

技术介绍

[0002]在同一个IT系统中,核心业务对应的接口会比非核心业务接口承受更高的负载。随着业务扩张、用户量越来越大,这种负载差距越来越明显。非核心业务对系统资源的抢占严重影响核心业务的正常运行,当超过平衡阈值时,会出现非核心业务响应正常以及核心业务响应缓慢的情况,最终影响医疗系统的稳定性,给终端带来极差的用户体验。
[0003]当前开源的线程池无法根据业务的优先级进行资源划分,为了解决核心业务接口负载不平衡的问题,业界普遍采用将核心业务拆分成更多的子系统后再对其进行横向扩容。这种做法不仅破坏了系统原有的扩展性令后期难以维护,而且需要加大投入更多的硬件或软件资源,因线程资源分配不均导致核心业务响应缓慢。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种线程的调度系统、一种计算机设备和一种存储介质。
[0005]为了解决上述问题,本专利技术实施例公开了一种线程的调度系统,包括:
[0006]集群调度模块、数据分发模块、资源管理模块及核心模块;
[0007]其中,所述集群调度模块用于将业务系统任意节点线程池模型的动态数据实时同步至中间件,再由中间件将变更的数据发送给其它的节点;
[0008]所述数据分发模块用于从中间件获取节点动态数据实时调整当前节点的线程池模型;
[0009]所述资源管理模块用于资源管理层对整个系统资源进行池化,将线程池的全部资源统一划分为各种类型的群组;
[0010]所述核心模块用于核心层负责线程的创建与销毁,当核心线程数量满足需求时,任务将会被空闲的线程执行;当核心线程数不够时,会创建新的线程来执行任务。
[0011]优选地,所述数据分发模块还用于对外部请求进行参数校验及过滤,将通过后的数据被封装成任务,给任务调度对应的系统资源,同时向资源管理层传递。
[0012]优选地,所述数据分发模块还用于对底层执行完毕的任务进行资源回收以及执行完毕后触发外部回调逻辑。
[0013]优选地,所述数据分发模块还用于当任务对应的群组资源充足时,该任务会被传递给核心层执行,否则会存储到群组的缓存队列中等待执行。群组可以根据业务的需要进行动态变更或销毁,从而实现线程池的弹性伸缩。
[0014]优选地,所述核心模块还用于当线程数量已达到最大限制,则任务进入缓存队列中等待执行。
[0015]优选地,所述线程池群组类型包括公有池、私有池、限制模式私有池、预留模式私有池;
[0016]公有池为初始化线程池所有的线程资源,任何类型的群组资源都来源于公有池,当群组销毁之后资源会被公有池回收;
[0017]私有池为从公有池划分指定数量的线程,独享型,只针对此群组的任务方可使用,当任务数量超过预留数量则进入队列,不能再从公有池竞争;
[0018]限制模式私有池为从公有池划分指定数量的线程,共享型,此组线程的消耗数量不能超过定义的预留数量,当没有此群组的任务时,线程可被公有池使用;
[0019]预留模式私有池为从公有池划分指定数量的线程,独享与共享并存。
[0020]本专利技术实施例还公开了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的线程的调度系统的步骤。
[0021]本专利技术实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的线程的调度系统的步骤。
[0022]本专利技术实施例包括以下优点:
[0023]本专利技术实施例中,线程的调度系统包括:集群调度模块、数据分发模块、资源管理模块及核心模块;其中,所述集群调度模块用于将业务系统任意节点线程池模型的动态数据实时同步至中间件,再由中间件将变更的数据发送给其它的节点;所述数据分发模块用于从中间件获取节点动态数据实时调整当前节点的线程池模型;所述资源管理模块用于资源管理层对整个系统资源进行池化,将线程池的全部资源统一划分为各种类型的群组;所述核心模块用于核心层负责线程的创建与销毁,当核心线程数量满足需求时,任务将会被空闲的线程执行;当核心线程数不够时,会创建新的线程来执行任务;统一管理线程资源,避免因线程滥用导致系统崩溃;能够防止因资源抢占导致核心业务接口负载不平衡的问题从而引发系统不稳定,保障互联网医疗平台提供良好的用户体验;减少对硬件资源的依赖,为企业节省硬件成本。
附图说明
[0024]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图
[0025]图1是本专利技术实施例的一种线程的调度系统实施例的结构框图;
[0026]图2是本专利技术实施例的一种系统层次图;
[0027]图3是本专利技术实施例的一种各个节点的线程池模型的层次划分图;
[0028]图4是本专利技术实施例的一种线程池的转化示意图;
[0029]图5是一个实施例的一种计算机设备的内部结构图。
具体实施方式
[0030]为了使本专利技术实施例所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术实施例进一步详细说明。应当理解,此处所描述的具体实施
例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0031]参照图1,示出了本专利技术实施例的一种线程的调度系统实施例的结构框图,具体可以包括如下模块:
[0032]集群调度模块301、数据分发模块302、资源管理模块303及核心模块304;
[0033]其中,所述集群调度模块用于将业务系统任意节点线程池模型的动态数据实时同步至中间件,再由中间件将变更的数据发送给其它的节点;
[0034]所述数据分发模块用于从中间件获取节点动态数据实时调整当前节点的线程池模型;
[0035]所述资源管理模块用于资源管理层对整个系统资源进行池化,将线程池的全部资源统一划分为各种类型的群组;
[0036]所述核心模块用于核心层负责线程的创建与销毁,当核心线程数量满足需求时,任务将会被空闲的线程执行;当核心线程数不够时,会创建新的线程来执行任务。
[0037]具体应用到本专利技术实施例中,所述数据分发模块还用于对外部请求进行参数校验及过滤,将通过后的数据被封装成任务,给任务调度对应的系统资源,同时向资源管理层传递。
[0038]进一步地,所述数据分发模块还用于对底层执行完毕的任务进行资源回收以及执行完毕后触发外部回调逻辑。
[0039]本专利技术实施例中,所述数据分发模块还用于当任务对应的群组资源充足时,该任务会被传递给核心层执行,否则会存储到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种线程的调度系统,其特征在于,包括:集群调度模块、数据分发模块、资源管理模块及核心模块;其中,所述集群调度模块用于将业务系统任意节点线程池模型的动态数据实时同步至中间件,再由中间件将变更的数据发送给其它的节点;所述数据分发模块用于从中间件获取节点动态数据实时调整当前节点的线程池模型;所述资源管理模块用于资源管理层对整个系统资源进行池化,将线程池的全部资源统一划分为各种类型的群组;所述核心模块用于核心层负责线程的创建与销毁,当核心线程数量满足需求时,任务将会被空闲的线程执行;当核心线程数不够时,会创建新的线程来执行任务。2.根据权利要求1所述的调度系统,其特征在于,所述数据分发模块还用于对外部请求进行参数校验及过滤,将通过后的数据被封装成任务,给任务调度对应的系统资源,同时向资源管理层传递。3.根据权利要求2所述的调度系统,其特征在于,所述数据分发模块还用于对底层执行完毕的任务进行资源回收以及执行完毕后触发外部回调逻辑。4.根据权利要求1所述的调度系统,其特征在于,所述数据分发模块还用于当任务对应的群组资源充足时,该任务会被传递给核心层执行,否则会存储到群组的缓存队列中等待执行。群组可以根据业务的需要进行...

【专利技术属性】
技术研发人员:陈刚
申请(专利权)人:广州海鹚网络科技有限公司
类型:发明
国别省市:

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

1