CN107273206A - 一种基于业务及数据量控制的优先级调度方法 - Google Patents
一种基于业务及数据量控制的优先级调度方法 Download PDFInfo
- Publication number
- CN107273206A CN107273206A CN201710356552.XA CN201710356552A CN107273206A CN 107273206 A CN107273206 A CN 107273206A CN 201710356552 A CN201710356552 A CN 201710356552A CN 107273206 A CN107273206 A CN 107273206A
- Authority
- CN
- China
- Prior art keywords
- thread
- priority
- subtask
- thread pool
- task
- 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
- 238000000034 method Methods 0.000 title claims abstract description 13
- 238000002360 preparation method Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- Tourism & Hospitality (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Computer And Data Communications (AREA)
Abstract
一种基于业务及数据量控制的优先级调度方法,涉及电力系统信息技术应用领域。目前,每接到一个业务系统接入需求就定制开发一个接口,造成接口技术单一但接口数量繁多。本发明收到外部业务系统的请求后,统一接口平台划分为多个子任务进行查询,并定义每一个子任务优先级;优先级为最高级的子任务进入特殊线程池执行,非最高级的子任务进入普通池执行,当特殊线程池的执行线程达到最大值时,最高优先级的任务可进入普通池执行,若此时普通线程池的执行线程也达到最大值,则这个最高优先级的任务进入应急线程池执行,若三个线程池都达到最大执行数量,后续任务处于等待状态。本技术方案避免系统拥塞,确保关键业务优先执行、低优先级业务平稳完成。
Description
技术领域
本发明涉及电力系统信息技术应用领域,尤其涉及一种基于业务及数据量控制的优先级调度方法。
背景技术
在电力行业的数据交互领域,相关的业务系统数据交互接口发展各有特点,用电信息采集系统同对用电信息采集系统有数据需求的外部业务系统数据交互接口在技术路线方面主要采用中间库、WebService或两者混合搭配的方式,由于接口建设前期缺乏总体规划,未充分考虑接口服务复用问题,每接到一个业务系统接入需求就定制开发一个接口,最终造成接口技术单一但接口数量繁多。为了解决这些问题,用电信息采集系统建设了一套适用于多业务需求的统一接口平台。由于用电信息采集系统为外部业务系统提供数据服务时,统一接口平台的资源有限,不可能同时处理所有数据请求。而各个业务系统发起的连接数和要获取数据量完全不同,统一接口平台无法预知将要发起的交互业务请求数量。为解决这些矛盾亟需一种基于流量控制的动态优先级调度方法。
发明内容
本发明要解决的技术问题和提出的技术任务是对现有技术方案进行完善与改进,提供一种基于业务及数据量控制的优先级调度方法,以达到合理分配有限资源的目的。为此,本发明采取以下技术方案。
一种基于业务及数据量控制的优先级调度方法,其特征在于包括以下步骤:
1)准备步骤:给外部业务系统的需求制定等级,分为重要、一般两个级别;给统一接口平台划分线程池,分为特殊线程池、普通线程池、应急线程池,并设定各线程池的最高并发数;
2)收到外部业务系统的请求后,统一接口平台根据此次调用的数据类型、数据量划分为多个子任务进行查询,并定义每一个子任务优先级,每个外部业务系统的需求至少包含一个优先级最高的子任务,若外部业务系统的需求级别为重要,则所有子任务的优先级都是最高级,每个子任务占用一个线程池的并发线程;
3)优先级为最高级的子任务进入特殊线程池执行,非最高级的子任务进入普通池执行,当特殊线程池的执行线程达到最大值时,最高优先级的任务可进入普通池执行,若此时普通线程池的执行线程也达到最大值,则这个最高优先级的任务进入应急线程池执行,若三个线程池都达到最大执行数量,后续任务处于等待状态。
本技术方案通过对线程池进行等级划分,按实时流量对线程进行分配和调度,避免系统拥塞,确保关键业务优先执行、低优先级业务平稳完成。对外部业务系统的请求优先级排序,并设计多类别的线程池分别进行管理,线程池之间互不干扰;其次根据接口任务量动态调整任务优先级,限制一个任务请求能同时开启的线程数量,避免线程池被单次请求占用过多,堵塞其它业务请求。同时,每个外部业务系统的需求至少包含一个优先级最高的子任务,使得每个外部业务系统的查询得到及时响应,提高响应速度,即便在系统繁忙的时候,也能及时告诉对应的外部业务系统,查询需求正在处理。
作为对上述技术方案的进一步完善和补充,本发明还包括以下附加技术特征。
进一步的,特殊线程池执行任务级别为最高级的任务,并发数量设为100;普通线程池执行所有级别的任务,并发数量设为200;当普通线程池和特殊线程池都达到最高并发数,应急线程池只执行最高级别的任务,并发数设为50。并发数量根据实际情况进行设定。
进一步的,当多个同级外部业务系统同时请求时,创建的线程并列,使得多个外部业务系统所创建的子任务线程交叉执行。以避免等待时间过长的情况发生。
进一步的,一般查询在创建具有优先级的任务线程时,每次请求的第一个子任务优先级最高,后续子任务优先级次之。使平台及时响应每一外部业务系统的请求,同时执行先来后到的原则,避免等待、执行时间过长。
有益效果:
(1) 使得接口服务平台有限的资源合理利用。根据业务重要性的不同,优先满足重要性高的系统数据需求。
(2) 将请求按数据类型或数据量划分,使得任务可并发执行。
(3) 给每一个子任务指定线程优先级,解决了平台资源容易被一个或几个大数据量请求占用,后续其它系统请求长时间得不到响应问题,极大提高了统一接口平台的资源利用率和需求响应速度。
附图说明
图1是本发明的流程图。
具体实施方式
以下结合说明书附图对本发明的技术方案做进一步的详细说明。
本技术方案为一种基于流量控制的动态优先级调度方法,通过对线程池进行等级划分,按实时流量对线程进行分配和调度,避免系统拥塞,确保关键业务优先执行、低优先级业务平稳完成。
本发明首先对外部业务系统的请求优先级排序,并设计多类别的线程池分别进行管理,线程池之间互不干扰;其次根据接口任务量动态调整任务优先级,限制一个任务请求能同时开启的线程数量,避免线程池被单次请求占用过多,堵塞其它业务请求。
本发明包括准备步骤及后序的优级级调度步骤:
一、准备步骤为:
11)给外部业务系统的需求制定等级,分为重要、一般两个级别。其中重要级别的需求为数据实时性要求比较高的系统需求,可以在业务系统向平台提出需求时进行标记;非重要级别的业务系统需求即为一般级别。
12)给统一接口平台划分线程池,分为特殊线程池、普通线程池、应急线程池。特殊线程池执行任务级别为最高级的任务,并发数量设为100;普通线程池执行所有级别的任务,并发数量设为200;当普通线程池和特殊线程池都达到最高并发数,应急线程池只执行最高级别的任务,并发数设为50。
二、优级级调度步骤,如图1所示:
21)收到外部业务系统的请求后,判断外部业务系统需求等级;
22)当外部业务系统需求等级为重要时,统一接口平台根据此次调用的数据类型、数据量划分为多个子任务,所有子任务的优先级都是最高级,每个子任务占用一个线程池的并发线程;
23)当外部业务系统需求等级为一般时,统一接口平台根据此次调用的数据类型、数据量划分为多个子任务,并定义每一个子任务优先级,每个外部业务系统的需求至少包含一个优先级最高的子任务;
24)判断子任务的优先级是否为最高级;若为最高级的子任务进入特殊线程池执行,若非最高级的子任务进入普通池执行;
25)当特殊线程池的执行线程达到最大值时,最高优先级的任务可进入普通池执行,若此时普通线程池的执行线程也达到最大值,则这个最高优先级的任务进入应急线程池执行,若三个线程池都达到最大执行数量,后续任务处于等待状态。
为了使多个外部业务系统都能及时响应,当多个同级外部业务系统同时请求时,创建的线程并列,使得多个外部业务系统所创建的子任务线程交叉执行。
为了使平台及时响应每一外部业务系统的请求,避免等待、执行时间过长。一般查询在创建具有优先级的任务线程时,每次请求的第一个子任务优先级最高,后续子任务优先级次之。
以上图1所示的一种基于业务及数据量控制的优先级调度方法是本发明的具体实施例,已经体现出本发明实质性特点和进步,可根据实际的使用需要,在本发明的启示下,对其进行形状、结构等方面的等同修改,均在本方案的保护范围之列。
Claims (4)
1.一种基于业务及数据量控制的优先级调度方法,其特征在于包括以下步骤:
1)准备步骤:给外部业务系统的需求制定等级,分为重要、一般两个级别;给统一接口平台划分线程池,分为特殊线程池、普通线程池、应急线程池,并设定各线程池的最高并发数;
2)收到外部业务系统的请求后,判断外部业务系统需求的等级,统一接口平台根据此次调用的数据类型、数据量划分为多个子任务进行查询,并定义每一个子任务优先级,每个外部业务系统的需求至少包含一个优先级最高的子任务,若外部业务系统的需求为重要等级,则所有子任务的优先级都是最高级,每个子任务占用一个线程池的并发线程;
3)优先级为最高级的子任务进入特殊线程池执行,非最高级的子任务进入普通池执行,当特殊线程池的执行线程达到最大值时,最高优先级的任务可进入普通池执行,若此时普通线程池的执行线程也达到最大值,则这个最高优先级的任务进入应急线程池执行,若三个线程池都达到最大执行数量,后续任务处于等待状态。
2.根据权利要求1所述的一种基于业务及数据量控制的优先级调度方法,其特征在于:特殊线程池执行任务级别为最高级的任务,并发数量设为100;普通线程池执行所有级别的任务,并发数量设为200;当普通线程池和特殊线程池都达到最高并发数,应急线程池只执行最高级别的任务,并发数设为50。
3.根据权利要求2所述的一种基于业务及数据量控制的优先级调度方法,其特征在于:当多个同级外部业务系统同时请求时,创建的线程并列,使得多个外部业务系统所创建的子任务线程交叉执行。
4.根据权利要求1所述的一种基于业务及数据量控制的优先级调度方法,其特征在于:一般查询在创建具有优先级的任务线程时,每次请求的第一个子任务优先级最高,后续子任务优先级次之。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710356552.XA CN107273206A (zh) | 2017-05-19 | 2017-05-19 | 一种基于业务及数据量控制的优先级调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710356552.XA CN107273206A (zh) | 2017-05-19 | 2017-05-19 | 一种基于业务及数据量控制的优先级调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107273206A true CN107273206A (zh) | 2017-10-20 |
Family
ID=60065398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710356552.XA Pending CN107273206A (zh) | 2017-05-19 | 2017-05-19 | 一种基于业务及数据量控制的优先级调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273206A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108206841A (zh) * | 2016-12-16 | 2018-06-26 | 北京酷我科技有限公司 | 一种数据处理方法和系统 |
CN109062513A (zh) * | 2018-08-06 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种控制处理写操作的方法及装置 |
CN109150957A (zh) * | 2018-06-29 | 2019-01-04 | 中译语通科技股份有限公司 | 一种微服务并发控制系统 |
CN110837401A (zh) * | 2018-08-16 | 2020-02-25 | 苏宁易购集团股份有限公司 | 一种java线程池分级处理方法和装置 |
CN111181951A (zh) * | 2019-12-26 | 2020-05-19 | 浙江华云信息科技有限公司 | 基于物联设备的事务智能调度方法 |
CN111209099A (zh) * | 2019-12-31 | 2020-05-29 | 苏州浪潮智能科技有限公司 | 基于ganesha服务的多线程池调度方法及调度终端 |
CN113220441A (zh) * | 2021-07-01 | 2021-08-06 | 北京轻松筹信息技术有限公司 | 任务调度方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441580A (zh) * | 2008-12-09 | 2009-05-27 | 华北电网有限公司 | 分布式并行计算平台系统及其计算任务分配方法 |
CN102402423A (zh) * | 2010-09-19 | 2012-04-04 | 百度在线网络技术(北京)有限公司 | 一种在网络设备中进行多任务处理的方法和设备 |
CN102541653A (zh) * | 2010-12-24 | 2012-07-04 | 新奥特(北京)视频技术有限公司 | 一种多任务线程池调度方法和系统 |
CN104821958A (zh) * | 2015-04-17 | 2015-08-05 | 国家电网公司 | 基于WebService的用电数据分组交互接口方法 |
CN105354656A (zh) * | 2015-10-09 | 2016-02-24 | 珠海许继芝电网自动化有限公司 | 基于分区解耦的配电网状态估计的分布式并行计算方法及系统 |
US9495199B2 (en) * | 2013-08-26 | 2016-11-15 | International Business Machines Corporation | Management of bottlenecks in database systems |
-
2017
- 2017-05-19 CN CN201710356552.XA patent/CN107273206A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441580A (zh) * | 2008-12-09 | 2009-05-27 | 华北电网有限公司 | 分布式并行计算平台系统及其计算任务分配方法 |
CN102402423A (zh) * | 2010-09-19 | 2012-04-04 | 百度在线网络技术(北京)有限公司 | 一种在网络设备中进行多任务处理的方法和设备 |
CN102541653A (zh) * | 2010-12-24 | 2012-07-04 | 新奥特(北京)视频技术有限公司 | 一种多任务线程池调度方法和系统 |
US9495199B2 (en) * | 2013-08-26 | 2016-11-15 | International Business Machines Corporation | Management of bottlenecks in database systems |
CN104821958A (zh) * | 2015-04-17 | 2015-08-05 | 国家电网公司 | 基于WebService的用电数据分组交互接口方法 |
CN105354656A (zh) * | 2015-10-09 | 2016-02-24 | 珠海许继芝电网自动化有限公司 | 基于分区解耦的配电网状态估计的分布式并行计算方法及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108206841A (zh) * | 2016-12-16 | 2018-06-26 | 北京酷我科技有限公司 | 一种数据处理方法和系统 |
CN108206841B (zh) * | 2016-12-16 | 2021-05-14 | 北京酷我科技有限公司 | 一种数据处理方法和系统 |
CN109150957A (zh) * | 2018-06-29 | 2019-01-04 | 中译语通科技股份有限公司 | 一种微服务并发控制系统 |
CN109062513A (zh) * | 2018-08-06 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种控制处理写操作的方法及装置 |
CN109062513B (zh) * | 2018-08-06 | 2021-10-15 | 郑州云海信息技术有限公司 | 一种控制处理写操作的方法及装置 |
CN110837401A (zh) * | 2018-08-16 | 2020-02-25 | 苏宁易购集团股份有限公司 | 一种java线程池分级处理方法和装置 |
CN111181951A (zh) * | 2019-12-26 | 2020-05-19 | 浙江华云信息科技有限公司 | 基于物联设备的事务智能调度方法 |
CN111209099A (zh) * | 2019-12-31 | 2020-05-29 | 苏州浪潮智能科技有限公司 | 基于ganesha服务的多线程池调度方法及调度终端 |
CN111209099B (zh) * | 2019-12-31 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 基于ganesha服务的多线程池调度方法及调度终端 |
CN113220441A (zh) * | 2021-07-01 | 2021-08-06 | 北京轻松筹信息技术有限公司 | 任务调度方法、装置及电子设备 |
CN113220441B (zh) * | 2021-07-01 | 2021-10-08 | 北京轻松筹信息技术有限公司 | 任务调度方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273206A (zh) | 一种基于业务及数据量控制的优先级调度方法 | |
CN103870314B (zh) | 一种单节点同时运行不同类型虚拟机的方法及系统 | |
CN104021040B (zh) | 基于时间约束条件下的云计算关联任务调度方法和装置 | |
CN104331321B (zh) | 基于禁忌搜索和负载均衡的云计算任务调度方法 | |
CN102761469B (zh) | 一种资源池的分配方法和装置 | |
CN108701059A (zh) | 多租户资源分配方法和系统 | |
US20120331476A1 (en) | Method and system for reactive scheduling | |
CN107357661A (zh) | 一种针对混合负载的细粒度gpu资源管理方法 | |
CN103019859B (zh) | 一种对服务请求调度的方法和系统 | |
CN102387173A (zh) | 一种MapReduce系统及其调度任务的方法和装置 | |
CN103942098A (zh) | 一种任务处理系统和方法 | |
CN109542608B (zh) | 一种基于混合排队网络的云仿真任务调度方法 | |
CN104657207B (zh) | 远程授权请求的调度方法、业务服务器和调度系统 | |
CN105373426B (zh) | 一种基于Hadoop的车联网内存感知实时作业调度方法 | |
CN109783225B (zh) | 一种多租户大数据平台的租户优先级管理方法及系统 | |
CN101271405A (zh) | 基于QoS约束的双向分级网格资源调度方法 | |
CN102799467A (zh) | 一种任务分配的方法及系统 | |
CN106326003A (zh) | 一种作业调度和计算资源分配方法 | |
CN102495804A (zh) | 软件自动化测试方法 | |
CN109766171B (zh) | 任务处理方法、装置、设备以及存储介质 | |
CN106095581B (zh) | 一种私有云条件下的网络存储虚拟化调度方法 | |
CN109587217A (zh) | 一种大规模分布式系统的智能监控与管理方法及系统 | |
CN108572872B (zh) | 一种基于fpga可重构技术的资源管理方法 | |
CN112084140A (zh) | 一种异构系统中细粒度流数据处理方法和系统 | |
CN103473848B (zh) | 一种基于高并发的网络发票查验构架及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171020 |