CN104111877A - 一种基于线程调配引擎的线程资源动态调配系统和方法 - Google Patents
一种基于线程调配引擎的线程资源动态调配系统和方法 Download PDFInfo
- Publication number
- CN104111877A CN104111877A CN201410367792.6A CN201410367792A CN104111877A CN 104111877 A CN104111877 A CN 104111877A CN 201410367792 A CN201410367792 A CN 201410367792A CN 104111877 A CN104111877 A CN 104111877A
- Authority
- CN
- China
- Prior art keywords
- thread
- task
- allotment
- engine
- method based
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种基于线程调配引擎的线程资源动态调配系统和方法,该系统包括主线程、任务列表、线程调配引擎、线程池管理器和线程池,该方法包括以下步骤:A、主线程传输任务请求至任务列表;B、任务列表根据请求创建多个任务队列;C、线程池管理器创建包含多个线程的线程池;D、线程调配引擎动态调配线程池的线程资源以执行所述任务。本发明线程资源动态调配方法和系统对任务进行分类,管控,保证优先级高的优先进行,优先级低的也有一定的资源运行,从而提高线程突发事件的处理,使高峰期可以充分利用服务器资源,空闲期释放服务器资源。
Description
技术领域
本发明设计操作系统,尤其是一种基于线程调配引擎的线程资源动态调配方法和系统。
背景技术
传统多线程方案中采用的服务器模型是一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执行完毕后,线程退出,这就是“即时创建,即时销毁”的策略。尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务是执行时间较短,而且执行次数极其频繁,那么服务器将处于不停的创建线程,销毁线程的状态。
传统线程池方案采用预创建的技术,在应用程序启动之后,将立即创建一定数量的线程(N1),放入空闲队列中。这些线程都是处于阻塞状态,不消耗CPU,但占用较小的内存空间。当任务到来后,线程池选择一个空闲线程,把任务传入此线程中运行。当N1个线程都在处理任务后,任务会加入等待队列,等待超时后线程池自动创建一定数量的新线程,用于处理更多的任务。在任务执行完毕后线程也不退出,而是继续保持在池中等待下一次的任务。当系统比较空闲时,大部分线程都一直处于暂停状态,线程池自动销毁一部分线程,回收系统资源。
传统线程池有以下缺点,任务队列只有一个队列,没有对多个队列作轮询,无法设定任务优先级,无法限制任务执行速度等。工作线程数量相对限制,运行过程不能动态变化工作线程数量。
发明内容
为解决上述技术问题,本发明的目的是提供一种基于线程调配引擎的线程资源动态调配方法和系统。
本发明采用的技术方案是:
一种基于线程调配引擎的线程资源动态调配系统和方法,其特征在于:该系统包括主线程、任务列表、线程调配引擎、线程池管理器和线程池,该方法包括以下步骤:
A、主线程传输任务请求至任务列表;
B、任务列表根据请求创建多个任务队列;
C、线程池管理器创建包含多个线程的线程池;
D、线程调配引擎动态调配线程池的线程资源以执行所述任务。
进一步的,所述步骤B中任务列表根据配置文件或者创建者设定任务优先级,并附带入队时间,根据任务优先级划分多个任务队列。
更进一步的,所述任务列表根据优先级和等待时间的权值确定最终任务队列的排队权值,排队权值高的任务队列优先供线程调配引擎动态调配。
作为本方案的优化,该系统还包括一监控模块,该监控模块用于对任务队列,线程池情况进行实时监控,以便于任务动态调配,即用户在界面对任务提高权值,实现紧急任务优先执行。
其中,所述优先级权值为80%,时间权值为20%。
进一步的,所述步骤C中,线程池的工作线程在没有饱和的情况下,任务可直接委派给空闲的工作线程;而当线程池工作线程饱和的情况下,线程池管理器动态增加的工作线程数目,以适应突发性的请求;一旦任务请求变少线程池管理器将逐步减少线程池中工作线程的数目。
所述线程增加采用一种超前方式,即批量增加一批工作线程,而不是来一个请求才建立创建一个线程。
此外,所述线程池管理器还配置有限制线程池中工作线程数目的上限和下限。
本发明的有益效果:
本发明线程资源动态调配方法和系统对任务进行分类,管控,保证优先级高的优先进行,优先级低的也有一定的资源运行,从而提高线程突发事件的处理,使高峰期可以充分利用服务器资源,空闲期释放服务器资源。
附图说明
下面结合附图对本发明的具体实施方式做进一步的说明。
图1是本发明的系统架构图;
图2是本发明的流程图;
图3是本发明线程池工作流程图。
具体实施方式
如图1-图2所示,为本发明的一种基于线程调配引擎的线程资源动态调配系统和方法,该系统包括主线程、任务列表、线程调配引擎、监控模块、线程池管理器和线程池;
本发明的线程资源动态调配方法包括以下步骤:
A、在应用程序启动之后,主线程传输任务请求至任务列表;
B、任务列表根据请求创建多个任务队列,队列中由N个任务组成;具体的,任务列表根据配置文件或者创建者设定任务优先级,并附带入队时间,根据任务优先级划分多个任务队列;
任务列表根据优先级和等待时间的权值确定最终任务队列的排队权值,排队权值高的任务队列优先供线程调配引擎动态调配。其中,所述优先级权值为80%,时间权值为20%,当然该权值比例按需设计,亦可为其他比例。
C、线程池管理器创建包含多个线程的线程池;
其中,如图3所示,该步骤中,线程池的工作线程在没有饱和的情况下,任务可直接委派给空闲的工作线程;而当线程池工作线程饱和的情况下,线程池管理器动态增加的工作线程数目,以适应突发性的请求;一旦任务请求变少线程池管理器将逐步减少线程池中工作线程的数目。工作线程是指线程池中实际执行的线程。
所述线程增加采用一种超前方式,即批量增加一批工作线程,而不是来一个请求才建立创建一个线程。此外,所述线程池管理器还配置有限制线程池中工作线程数目的上限和下限。
D、线程调配引擎动态调配线程池的线程资源以执行所述任务。
作为本方案的优化,该系统还包括一监控模块,该监控模块用于对任务队列,线程池情况进行实时监控,以便于任务动态调配,即用户在界面对任务提高权值,实现紧急任务优先执行。
本发明线程资源动态调配方法和系统解决在高峰期,任务队列排队等待时间会与任务数成正比问题,使用线程池工作线程的动态增减,解决程序不同时期对服务器资源的增减或释放的问题,保证优先级高的优先进行,优先级低的也有一定的资源运行,从而提高线程突发事件的处理,使高峰期可以充分利用服务器资源,空闲期释放服务器资源,最终达到提高系统整体的性能与资源利用率。
以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。
Claims (8)
1.一种基于线程调配引擎的线程资源动态调配系统和方法,其特征在于:该系统包括主线程、任务列表、线程调配引擎、线程池管理器和线程池,该方法包括以下步骤:
A、主线程传输任务请求至任务列表;
B、任务列表根据请求创建多个任务队列;
C、线程池管理器创建包含多个线程的线程池;
D、线程调配引擎动态调配线程池的线程资源以执行所述任务。
2.根据权利要求1所述的一种基于线程调配引擎的线程资源动态调配系统和方法,其特征在于:所述步骤B中任务列表根据配置文件或者创建者设定任务优先级,并附带入队时间,根据任务优先级划分多个任务队列。
3.根据权利要求2所述的一种基于线程调配引擎的线程资源动态调配系统和方法,其特征在于: 所述任务列表根据优先级和等待时间的权值确定最终任务队列的排队权值,排队权值高的任务队列优先供线程调配引擎动态调配。
4.根据权利要求3所述的一种基于线程调配引擎的线程资源动态调配系统和方法,其特征在于:该系统还包括一监控模块,该监控模块用于对任务队列,线程池情况进行实时监控,以便于任务动态调配,即用户在界面对任务提高权值,实现紧急任务优先执行。
5.根据权利要求3所述的一种基于线程调配引擎的线程资源动态调配系统和方法,其特征在于:所述优先级权值为80%,时间权值为20%。
6.根据权利要求1所述的一种基于线程调配引擎的线程资源动态调配系统和方法,其特征在于: 所述步骤C中,线程池的工作线程在没有饱和的情况下,任务可直接委派给空闲的工作线程;而当线程池工作线程饱和的情况下,线程池管理器动态增加的工作线程数目,以适应突发性的请求;一旦任务请求变少线程池管理器将逐步减少线程池中工作线程的数目。
7.根据权利要求6所述的一种基于线程调配引擎的线程资源动态调配系统和方法,其特征在于:所述线程增加采用一种超前方式,即批量增加一批工作线程。
8.根据权利要求6所述的一种基于线程调配引擎的线程资源动态调配系统和方法,其特征在于:所述线程池管理器还配置有限制线程池中工作线程数目的上限和下限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410367792.6A CN104111877A (zh) | 2014-07-29 | 2014-07-29 | 一种基于线程调配引擎的线程资源动态调配系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410367792.6A CN104111877A (zh) | 2014-07-29 | 2014-07-29 | 一种基于线程调配引擎的线程资源动态调配系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104111877A true CN104111877A (zh) | 2014-10-22 |
Family
ID=51708675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410367792.6A Pending CN104111877A (zh) | 2014-07-29 | 2014-07-29 | 一种基于线程调配引擎的线程资源动态调配系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104111877A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117284A (zh) * | 2015-09-09 | 2015-12-02 | 厦门雅迅网络股份有限公司 | 一种基于优先级比例队列的工作线程的调度方法 |
CN103024388B (zh) * | 2012-12-17 | 2016-05-25 | 广东威创视讯科技股份有限公司 | 多画面的视频实时解码方法及系统 |
CN105630455A (zh) * | 2016-01-29 | 2016-06-01 | 山东鲁能智能技术有限公司 | 多数据源的数据队列存储有序控制方法及系统 |
CN105760231A (zh) * | 2016-02-19 | 2016-07-13 | 珠海迈科智能科技股份有限公司 | 一种基于嵌入式的网络资源预览管理方法 |
CN105975346A (zh) * | 2016-05-25 | 2016-09-28 | 大唐网络有限公司 | 调度线程资源的方法、装置及系统 |
CN105991669A (zh) * | 2015-01-28 | 2016-10-05 | 中国移动通信集团公司 | 一种多模态体征数据的处理方法和系统 |
CN106325977A (zh) * | 2015-06-19 | 2017-01-11 | 北京京东尚科信息技术有限公司 | 基于线程池执行任务的方法和系统 |
CN106861182A (zh) * | 2017-04-05 | 2017-06-20 | 天津卓越互娱科技有限公司 | 一种高效利用服务器资源的方法和服务器管理系统 |
CN106970874A (zh) * | 2017-01-22 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种任务处理方法、装置及电子设备 |
CN108810557A (zh) * | 2017-07-10 | 2018-11-13 | 北京视联动力国际信息技术有限公司 | 一种视频处理方法、装置、电子设备和存储介质 |
CN109660569A (zh) * | 2017-10-10 | 2019-04-19 | 武汉斗鱼网络科技有限公司 | 一种多任务并发执行方法、存储介质、设备及系统 |
CN109766131A (zh) * | 2017-11-06 | 2019-05-17 | 上海宝信软件股份有限公司 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
CN109804351A (zh) * | 2016-10-11 | 2019-05-24 | 微软技术许可有限责任公司 | 对异步计算作业的增强治理 |
CN110515713A (zh) * | 2019-08-13 | 2019-11-29 | 北京安盟信息技术股份有限公司 | 一种任务调度方法、设备和计算机存储介质 |
WO2020114142A1 (zh) * | 2018-12-03 | 2020-06-11 | 中兴通讯股份有限公司 | 应用热补丁监控方法、装置及存储介质 |
CN112068937A (zh) * | 2020-07-29 | 2020-12-11 | 苏州浪潮智能科技有限公司 | 一种基于负荷效率和优先级的软件自适应多线程控制方法 |
CN113467933A (zh) * | 2021-06-15 | 2021-10-01 | 济南浪潮数据技术有限公司 | 分布式文件系统线程池优化方法、系统、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739293A (zh) * | 2009-12-24 | 2010-06-16 | 航天恒星科技有限公司 | 一种基于多线程的卫星数据产品生产任务并行调度方法 |
US20100153957A1 (en) * | 2008-12-16 | 2010-06-17 | Sensormatic Electronics Corporation | System and method for managing thread use in a thread pool |
CN102591721A (zh) * | 2011-12-30 | 2012-07-18 | 北京新媒传信科技有限公司 | 一种分配线程执行任务的方法和系统 |
CN102722417A (zh) * | 2012-06-07 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 一种扫描任务的分配方法和装置 |
CN103473138A (zh) * | 2013-09-18 | 2013-12-25 | 柳州市博源环科科技有限公司 | 基于线程池的多任务队列调度方法 |
-
2014
- 2014-07-29 CN CN201410367792.6A patent/CN104111877A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100153957A1 (en) * | 2008-12-16 | 2010-06-17 | Sensormatic Electronics Corporation | System and method for managing thread use in a thread pool |
CN101739293A (zh) * | 2009-12-24 | 2010-06-16 | 航天恒星科技有限公司 | 一种基于多线程的卫星数据产品生产任务并行调度方法 |
CN102591721A (zh) * | 2011-12-30 | 2012-07-18 | 北京新媒传信科技有限公司 | 一种分配线程执行任务的方法和系统 |
CN102722417A (zh) * | 2012-06-07 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 一种扫描任务的分配方法和装置 |
CN103473138A (zh) * | 2013-09-18 | 2013-12-25 | 柳州市博源环科科技有限公司 | 基于线程池的多任务队列调度方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024388B (zh) * | 2012-12-17 | 2016-05-25 | 广东威创视讯科技股份有限公司 | 多画面的视频实时解码方法及系统 |
CN105991669A (zh) * | 2015-01-28 | 2016-10-05 | 中国移动通信集团公司 | 一种多模态体征数据的处理方法和系统 |
CN105991669B (zh) * | 2015-01-28 | 2019-03-26 | 中国移动通信集团公司 | 一种多模态体征数据的处理方法和系统 |
CN106325977B (zh) * | 2015-06-19 | 2020-05-01 | 北京京东尚科信息技术有限公司 | 基于线程池执行任务的方法和系统 |
CN106325977A (zh) * | 2015-06-19 | 2017-01-11 | 北京京东尚科信息技术有限公司 | 基于线程池执行任务的方法和系统 |
CN105117284A (zh) * | 2015-09-09 | 2015-12-02 | 厦门雅迅网络股份有限公司 | 一种基于优先级比例队列的工作线程的调度方法 |
CN105117284B (zh) * | 2015-09-09 | 2020-09-25 | 厦门雅迅网络股份有限公司 | 一种基于优先级比例队列的工作线程的调度方法 |
CN105630455B (zh) * | 2016-01-29 | 2018-10-02 | 山东鲁能智能技术有限公司 | 多数据源的数据队列存储有序控制方法及系统 |
CN105630455A (zh) * | 2016-01-29 | 2016-06-01 | 山东鲁能智能技术有限公司 | 多数据源的数据队列存储有序控制方法及系统 |
CN105760231A (zh) * | 2016-02-19 | 2016-07-13 | 珠海迈科智能科技股份有限公司 | 一种基于嵌入式的网络资源预览管理方法 |
CN105760231B (zh) * | 2016-02-19 | 2019-04-16 | 珠海迈科智能科技股份有限公司 | 一种基于嵌入式的网络资源预览管理方法 |
CN105975346B (zh) * | 2016-05-25 | 2019-06-18 | 大唐网络有限公司 | 调度线程资源的方法、装置及系统 |
CN105975346A (zh) * | 2016-05-25 | 2016-09-28 | 大唐网络有限公司 | 调度线程资源的方法、装置及系统 |
CN109804351A (zh) * | 2016-10-11 | 2019-05-24 | 微软技术许可有限责任公司 | 对异步计算作业的增强治理 |
CN106970874A (zh) * | 2017-01-22 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种任务处理方法、装置及电子设备 |
CN106861182A (zh) * | 2017-04-05 | 2017-06-20 | 天津卓越互娱科技有限公司 | 一种高效利用服务器资源的方法和服务器管理系统 |
CN108810557A (zh) * | 2017-07-10 | 2018-11-13 | 北京视联动力国际信息技术有限公司 | 一种视频处理方法、装置、电子设备和存储介质 |
CN109660569A (zh) * | 2017-10-10 | 2019-04-19 | 武汉斗鱼网络科技有限公司 | 一种多任务并发执行方法、存储介质、设备及系统 |
CN109766131A (zh) * | 2017-11-06 | 2019-05-17 | 上海宝信软件股份有限公司 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
WO2020114142A1 (zh) * | 2018-12-03 | 2020-06-11 | 中兴通讯股份有限公司 | 应用热补丁监控方法、装置及存储介质 |
CN110515713A (zh) * | 2019-08-13 | 2019-11-29 | 北京安盟信息技术股份有限公司 | 一种任务调度方法、设备和计算机存储介质 |
CN112068937A (zh) * | 2020-07-29 | 2020-12-11 | 苏州浪潮智能科技有限公司 | 一种基于负荷效率和优先级的软件自适应多线程控制方法 |
CN112068937B (zh) * | 2020-07-29 | 2022-07-12 | 苏州浪潮智能科技有限公司 | 一种基于负荷效率和优先级的软件自适应多线程控制方法 |
CN113467933A (zh) * | 2021-06-15 | 2021-10-01 | 济南浪潮数据技术有限公司 | 分布式文件系统线程池优化方法、系统、终端及存储介质 |
CN113467933B (zh) * | 2021-06-15 | 2024-02-27 | 济南浪潮数据技术有限公司 | 分布式文件系统线程池优化方法、系统、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104111877A (zh) | 一种基于线程调配引擎的线程资源动态调配系统和方法 | |
CN104866374B (zh) | 基于多任务的离散事件并行仿真及时间同步方法 | |
CN104750543A (zh) | 线程创建方法、业务请求处理方法及相关设备 | |
CN102541653B (zh) | 一种多任务线程池调度方法和系统 | |
CN109684060B (zh) | 一种多类型时间关键任务的混合调度方法 | |
CN104598426B (zh) | 用于异构多核处理器系统的任务调度方法 | |
CN110413391A (zh) | 基于容器集群的深度学习任务服务质量保证方法和系统 | |
CN102521055B (zh) | 一种虚拟机资源分配方法及其系统 | |
CN104021044A (zh) | 一种作业调度方法及装置 | |
WO2013126415A3 (en) | Method and system for scheduling requests in a portable computing device | |
CN108334409B (zh) | 一种细粒度的高性能云资源管理调度方法 | |
CN103064657B (zh) | 单个处理器上实现多应用并行处理的方法及装置 | |
CN104021040A (zh) | 基于时间约束条件下的云计算关联任务调度方法和装置 | |
CN101599026A (zh) | 一种具有弹性架构的集群作业调度系统 | |
CN109660569B (zh) | 一种多任务并发执行方法、存储介质、设备及系统 | |
CN105975049B (zh) | 一种任务同步偶发任务低能耗调度方法 | |
CN107491346A (zh) | 一种应用的任务处理方法、装置及系统 | |
Lai et al. | Sol: Fast distributed computation over slow networks | |
US20090113440A1 (en) | Multiple Queue Resource Manager | |
CN104820616B (zh) | 一种任务调度的方法及装置 | |
CN107357641A (zh) | 一种云计算中任务调度方法 | |
CN103023980A (zh) | 一种云平台处理用户服务请求的方法和系统 | |
CN115454589A (zh) | 一种任务调度方法、装置及Kubernetes调度器 | |
CN107292419A (zh) | 一种混合云环境中动态多工作流调度执行的费用优化策略 | |
CN107391244A (zh) | 一种基于混合调度模型的物联网操作系统调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141022 |
|
RJ01 | Rejection of invention patent application after publication |