CN115222121A - 一种面向工业数据的任务调度优化方法 - Google Patents
一种面向工业数据的任务调度优化方法 Download PDFInfo
- Publication number
- CN115222121A CN115222121A CN202210825304.6A CN202210825304A CN115222121A CN 115222121 A CN115222121 A CN 115222121A CN 202210825304 A CN202210825304 A CN 202210825304A CN 115222121 A CN115222121 A CN 115222121A
- Authority
- CN
- China
- Prior art keywords
- task
- current
- industrial
- tasks
- emergency
- 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
Images
Classifications
-
- 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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- 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
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种面向工业数据的任务调度优化方法,对工业实时场景的任务采用两级队列,其中故障处理工业任务归入紧急优先级就绪队列,其他工业任务一并归入普通优先级就绪队列中,并采用紧急值分别对2个任务队列中的任务进行排序。在资源足够的情况下:对于待处理的紧急任务,直接利用剩余资源处理当前任务;对于待处理的普通任务,采用资源预留机制预留一部分资源作为紧急任务出现时的备用资源;在资源不够的情况下:对于待处理的紧急任务,抢占当前正在执行的任务的资源来执行这一待处理的紧急任务;对于待处理的普通任务,通过等待将资源留给后续紧急任务出现时的备用资源。本发明能够缩短循环判断时长,提高任务处理的实时性。
Description
技术领域
本发明涉及技术领域,具体涉及一种面向工业数据的任务调度优化方法。
背景技术
上位机系统作为工业流水线生产的监控核心,需要对生产过程中的工控指令和任务实现灵活的实时调度,以满足工业控制的低时延、高可靠性要求。工业任务可以分为非周期非实时任务、周期实时任务*非周期实时任务。非周期非实时任务,包括生产过程中需要执行而非实时的任务,如:现场监控视频的存储任务,优先级最低。周期实时任务,包括生产现场按照设定周期执行的任务,例如周期存储任务,周期采集任务。非周期实时任务,包括设备故障的报警、错误、警告等情况发生时的报警任务,优先级最高。一般工业环境下,在非周期实时任务还可以再次细分为故障处理任务、警告处理任务和错误处理工业任务,优先级由高到低。综上,工业任务一般可以分为五个优先级:1级故障处理工业任务,可能会直接导致系统崩溃,极为重要,具有极高的优先权;2级警告处理工业任务;3级错误处理工业任务;4级周期实时工业任务;5级非周期非实时工业任务。针对上位机系统在多优先级的工业实时工业任务请求下,如何优化调度以满足低时延、高可靠的要求是面向工业数据的工业任务调度的研究重点。
针对在线调度的应用场景,主要有基于优化和基于排序两种解决方案。基于优化的解决方案将调度问题建模为最优化问题来搜索待处理任务执行的最优解,但是由于其存在计算量大,调度决策耗时长的问题,因此只适用于非实时调度场景,并不适用于实时调度场景。基于排序的解决方案根据待处理任务优先级调度,只需计算所有待处理任务的优先级并排序,因而更适用于实时调度场景。在基于排序的解决方案中,常用的方法包括先来先服务算法(FCFS)、固定优先级算法(FPS)和最低松弛度算法(LLF)。先来先服务算法按照任务进入系统的先后次序进行调度,有利于长任务,不利于短任务,因为若一个长任务先到达系统,会使许多短任务等待很长时间。固定优先级算法主要用于调度具有固有优先级或自行定义优先级的任务,其单纯考虑任务优先级,但是会导致调度时间长的高优先级任务持续占用资源,优先级低的任务发生饥渴现象而无法得到调度。最低松弛度算法通过计算松弛度时间以判断优先级,但当多个任务松弛度值接近时,会造成任务之间的频繁切换和选择抖动现象,反而增大系统开销,同时随着当前时间的变化,任务松弛度的也需要重新计算,增大系统开销。
发明内容
本发明所要解决的是现有基于排序的实时任务调度算法所存在的问题,提供一种面向工业数据的任务调度优化方法。
为解决上述问题,本发明是通过以下技术方案实现的:
一种面向工业数据的任务调度优化方法,包括步骤如下:
步骤1、判断工业任务执行期间是否有新的工业任务到来:若有,则转至步骤2;若没有,转至步骤5;
步骤2、根据该工业任务的固有优先级将其归入到对应的优先级就绪队列,其中故障处理工业任务归入当前紧急优先级就绪队列,警告处理工业任务、错误处理工业任务、周期实时工业任务和非周期非实时工业任务归入当前普通优先级就绪队列;
步骤3、计算当前紧急优先级就绪队列和当前普通优先级就绪队列中各个工业任务的紧急值;
步骤4、根据工业任务的紧急值,对当前紧急优先级就绪队列和当前普通优先级就绪队列中的工业任务分别进行从大到小的排序,得到当前排序紧急优先级就绪队列和当前排序普通优先级就绪队列;
步骤5、判断当前已执行工业任务数是否小于入队工业任务数:若小于,则转至步骤6;若等于,则工业任务调度结束;
步骤6、判断当前排序紧急优先级就绪队列是否为空:若不为空,则转至步骤7;若为空,则转至步骤9;
步骤7、将当前排序紧急优先级就绪队列的队头任务作为当前工业任务,并判断当前工业任务的截止时间是否小于当前时间与当前工业任务完成所需时间之和:若是,则转至步骤8,否则,丢弃当前工业任务,并将其从当前排序紧急优先级就绪队列中删除;
步骤8、判断当前系统剩余资源是否大于当前工业任务所需资源:若是,则使用剩余资源处理当前工业任务,待当前工业任务处理完成后,将其从当前排序紧急优先级就绪队列中删除,并返回步骤1;若不是,则保留当前工业任务的上下文,并抢占正在执行的工业任务的资源,待当前工业任务处理完成后,将其从当前排序紧急优先级就绪队列中删除,并返回步骤1;
步骤9、将当前排序普通优先级就绪队列的队头任务作为当前工业任务,并判断当前工业任务的截止时间是否小于当前时间与当前工业任务完成所需时间之和:若是,则转至步骤10,否则,丢弃当前工业任务,并将其从当前排序普通优先级就绪队列中删除;
步骤10、判断当前系统剩余资源是否大于当前工业任务所需资源:若是,则使用预留资源机制处理当前工业任务,待当前工业任务处理完成后,将其从当前排序紧急优先级就绪队列中删除,并返回步骤1;若不是,则当前工业任务需要在队列中继续等待,直接返回步骤1。
上述方案中,工业任务xi的紧急值UV(xi)为:
式中,DT(xi)为工业任务xi的截止时间;I(xi)为工业任务xi的固有优先级;i=1,2,…。
上述步骤10中,预留的资源服从泊松分布。
与现有技术相比,本发明具有如下特点:
1、针对现有实时调度算法需要周期性判断任务池中是否有紧急任务,而出现任务池的数量较大,判断耗时多的问题,本发明考虑到工业实时场景下的故障任务对比普通任务具有影响性、随机性和时变性的特点,对工业实时场景的任务采用两级队列,将故障处理工业任务归入紧急优先级就绪队列,并将其他工业任务一并归入普通优先级就绪队列中,这样在任务执行过程中只需要判断2个优先级就绪队列的队头任务,从而缩短循环判断时长,提高任务处理的实时性。
2、考虑到任务队列任务数不止一个时,计算资源可能会不够分配,任务需要排队的问题,本发明采用紧急值(UV)分别对2个任务队列中的任务进行排序,紧急值结合任务的固有优先级和截至时间特点,紧急值高的任务排在队列前面优先执行。
3、在资源足够的情况下:对于待处理的紧急任务,直接利用剩余资源处理当前任务;对于待处理的普通任务,采用资源预留机制预留一部分资源作为紧急任务出现时的备用资源;在资源不够的情况下:对于待处理的紧急任务,抢占当前正在执行的任务的资源来执行这一待处理的紧急任务;对于待处理的普通任务,通过等待将资源留给后续紧急任务出现时的备用资源。一方面,资源预留机制可以保证普通队列任务的完成度。另一方面,预留下来的资源供紧急队列中的任务使用,当突发紧急任务时,这样不仅能够保证紧急资源能够被优先执行,而且能够减少上下文切换频率。最后,考虑突发性任务的到达时间可大致服从泊松分布,本发明设置预留的资源服从泊松分布。一来可以避免预留固定的资源却迟迟未被使用到的资源浪费,二来可以避免突发任务增多时,预留资源总是不够的情况。
附图说明
图1为一种面向工业数据的任务调度优化方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,对本发明进一步详细说明。
参见图1,一种面向工业数据的任务调度优化方法,其包括步骤如下:
步骤1、判断工业任务执行期间是否有新的工业任务到来:若有,则转至步骤2;若没有,转至步骤5。
步骤2、根据该工业任务的固有优先级将其归入到对应的优先级就绪队列,其中故障处理工业任务归入当前紧急优先级就绪队列Q1,警告处理工业任务、错误处理工业任务、周期实时工业任务和非周期非实时工业任务归入当前普通优先级就绪队列Q2;其中当前紧急优先级就绪队列Q1的优先级大于当前普通优先级就绪队列Q1的优先级。
步骤3、计算当前紧急优先级就绪队列和当前普通优先级就绪队列中各个工业任务的紧急值;其中紧急值(UrgentValue)计算公式为:
式中UV(xi)为工业任务xi的紧急值;DT(xi)为工业任务xi的截止时间,取值大于0;I(xi)为工业任务xi的固有优先级,取值不为0;其中i=1,2,…。
步骤4、根据工业任务的紧急值,对当前紧急优先级就绪队列和当前普通优先级就绪队列中的工业任务分别进行从大到小的排序,得到当前排序紧急优先级就绪队列和当前排序普通优先级就绪队列。
步骤5、判断当前已执行工业任务数是否小于入队工业任务数:若小于,则转至步骤6;若等于,则工业任务调度结束;
步骤6、判断当前排序紧急优先级就绪队列是否为空:若不为空,则转至步骤7;若为空,则转至步骤9;
步骤7、将当前排序紧急优先级就绪队列的队头任务作为当前工业任务,并判断当前工业任务的截止时间是否小于当前时间与当前工业任务完成所需时间之和:若是,则转至步骤8,否则,丢弃当前工业任务,并将其从当前排序紧急优先级就绪队列中删除;
步骤8、判断当前系统剩余资源是否大于当前工业任务所需资源:若是,则使用剩余资源处理当前工业任务,待当前工业任务处理完成后,将其从当前排序紧急优先级就绪队列中删除,并返回步骤1;若不是,则保留当前工业任务的上下文,并抢占正在执行的工业任务的资源,待当前工业任务处理完成后,将其从当前排序紧急优先级就绪队列中删除,并返回步骤1;
紧急任务在资源不足的情况下,采用抢占式机制,即如果有一个更高级的任务到达在当前正在执行的任务的执行期间到达,这个更高级的任务就会抢占当前正在执行的任务的资源。抢占式的优点在于实时性好、反应快,可优先保证高优先级任务的时间约束。
步骤9、将当前排序普通优先级就绪队列的队头任务作为当前工业任务,并判断当前工业任务的截止时间是否小于当前时间与当前工业任务完成所需时间之和:若是,则转至步骤10,否则,丢弃当前工业任务,并将其从当前排序普通优先级就绪队列中删除;
步骤10、判断当前系统剩余资源是否大于当前工业任务所需资源:若是,则使用预留资源机制处理当前工业任务,待当前工业任务处理完成后,将其从当前排序紧急优先级就绪队列中删除,并返回步骤1;若不是,则当前工业任务需要在队列中继续等待,直接返回步骤1。
由于资源预留方式具有低网络时延、高链路利用率和适合传送突发性业务等优点,因此本发明在对普通任务进行调度时,采用资源预留机制为紧急任务预留一定资源,以减少故障任务抢占普通任务的上下文切换开销。在本发明优选实施例中,考虑紧急任务的随机突发性特点,离散概率分布中的泊松分布适合于描述单位时间内随机事件发生的次数。泊松分布的概率函数P(X=k)为:
其中,λ是单位时间内紧急任务的平均发生次数,k是系统运行的时间范围内紧急任务发生次数。
因此,本发明所使用预留资源机制为随着单位时间变化,预留出服从泊松分布的资源,其中泊松分布概率函数中的参数λ需由工厂记录数据或专家提供。
由于现有基于优化的调度算法计算量大,决策耗时长,不适用于工业实时场景,因此本发明参考固定优先级算法,针对不同优先级的工业调度工业任务使用分级队列,并分析考虑工业任务的特点:特点①:1级工业任务必须及时处理以免导致工业系统全盘崩溃,因此设置队列Q1存放1级工业任务,并具有执行抢占式算法资格,2级~5级工业任务存放至Q2队列。特点②:非周期实时工业任务(2级和3级工业任务)往往截止时间越早;周期实时工业任务(4级工业任务)截止时间随当前时间的增加而增加;非周期非实时工业任务(5级工业任务)截止时间可为无穷大,因此设置紧急值计算公式,与工业任务固有优先级成反比,与工业任务截止时间成反比。在此分级队列上进一步根据紧急值排序,结合固定优先级算法、抢占式调度算法和资源预留调度算法,克服各自算法的缺点。
需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
Claims (3)
1.一种面向工业数据的任务调度优化方法,其特征是,包括步骤如下:
步骤1、判断工业任务执行期间是否有新的工业任务到来:若有,则转至步骤2;若没有,转至步骤5;
步骤2、根据该工业任务的固有优先级将其归入到对应的优先级就绪队列,其中故障处理工业任务归入当前紧急优先级就绪队列,警告处理工业任务、错误处理工业任务、周期实时工业任务和非周期非实时工业任务归入当前普通优先级就绪队列;
步骤3、计算当前紧急优先级就绪队列和当前普通优先级就绪队列中各个工业任务的紧急值;
步骤4、根据工业任务的紧急值,对当前紧急优先级就绪队列和当前普通优先级就绪队列中的工业任务分别进行从大到小的排序,得到当前排序紧急优先级就绪队列和当前排序普通优先级就绪队列;
步骤5、判断当前已执行工业任务数是否小于入队工业任务数:若小于,则转至步骤6;若等于,则工业任务调度结束;
步骤6、判断当前排序紧急优先级就绪队列是否为空:若不为空,则转至步骤7;若为空,则转至步骤9;
步骤7、将当前排序紧急优先级就绪队列的队头任务作为当前工业任务,并判断当前工业任务的截止时间是否小于当前时间与当前工业任务完成所需时间之和:若是,则转至步骤8,否则,丢弃当前工业任务,并将其从当前排序紧急优先级就绪队列中删除;
步骤8、判断当前系统剩余资源是否大于当前工业任务所需资源:若是,则使用剩余资源处理当前工业任务,待当前工业任务处理完成后,将其从当前排序紧急优先级就绪队列中删除,并返回步骤1;若不是,则保留当前工业任务的上下文,并抢占正在执行的工业任务的资源,待当前工业任务处理完成后,将其从当前排序紧急优先级就绪队列中删除,并返回步骤1;
步骤9、将当前排序普通优先级就绪队列的队头任务作为当前工业任务,并判断当前工业任务的截止时间是否小于当前时间与当前工业任务完成所需时间之和:若是,则转至步骤10,否则,丢弃当前工业任务,并将其从当前排序普通优先级就绪队列中删除;
步骤10、判断当前系统剩余资源是否大于当前工业任务所需资源:若是,则使用预留资源机制处理当前工业任务,待当前工业任务处理完成后,将其从当前排序紧急优先级就绪队列中删除,并返回步骤1;若不是,则当前工业任务需要在队列中继续等待,直接返回步骤1。
3.根据权利要求1所述的一种面向工业数据的任务调度优化方法,其特征是,步骤10中,预留的资源服从泊松分布。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210825304.6A CN115222121A (zh) | 2022-07-13 | 2022-07-13 | 一种面向工业数据的任务调度优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210825304.6A CN115222121A (zh) | 2022-07-13 | 2022-07-13 | 一种面向工业数据的任务调度优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115222121A true CN115222121A (zh) | 2022-10-21 |
Family
ID=83611055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210825304.6A Pending CN115222121A (zh) | 2022-07-13 | 2022-07-13 | 一种面向工业数据的任务调度优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115222121A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509723A (zh) * | 2022-11-01 | 2022-12-23 | 中科雨辰科技有限公司 | 一种获取非目标任务对象的数据处理系统 |
CN117522085A (zh) * | 2024-01-05 | 2024-02-06 | 山东恒远智能科技有限公司 | 基于大数据的智能工厂生产调度优化方法 |
-
2022
- 2022-07-13 CN CN202210825304.6A patent/CN115222121A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509723A (zh) * | 2022-11-01 | 2022-12-23 | 中科雨辰科技有限公司 | 一种获取非目标任务对象的数据处理系统 |
CN115509723B (zh) * | 2022-11-01 | 2023-10-20 | 中科雨辰科技有限公司 | 一种获取非目标任务对象的数据处理系统 |
CN117522085A (zh) * | 2024-01-05 | 2024-02-06 | 山东恒远智能科技有限公司 | 基于大数据的智能工厂生产调度优化方法 |
CN117522085B (zh) * | 2024-01-05 | 2024-04-02 | 山东恒远智能科技有限公司 | 基于大数据的智能工厂生产调度优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111399989B (zh) | 一种面向容器云的任务抢占调度方法及系统 | |
CN115222121A (zh) | 一种面向工业数据的任务调度优化方法 | |
CA2200929C (en) | Periodic process scheduling method | |
JP3306705B2 (ja) | パケット転送制御装置及びそのスケジューリング方法 | |
US20220138012A1 (en) | Computing Resource Scheduling Method, Scheduler, Internet of Things System, and Computer Readable Medium | |
CN103365711B (zh) | 应用于物联网业务平台的任务调度系统和方法 | |
CN112799817A (zh) | 一种微服务资源调度系统和方法 | |
CN114185674A (zh) | 一种cpu任务实时调度方法、装置、设备及存储介质 | |
CN114500401B (zh) | 一种应对突发流量的资源调度方法和系统 | |
Li et al. | Task scheduling algorithm for heterogeneous real-time systems based on deadline constraints | |
CN115220921A (zh) | 资源调度方法及相关装置、图形处理器、摄像器件和介质 | |
Towsley et al. | Optimality of the stochastic earliest deadline policy for the G/M/c queue serving customers with deadlines | |
CN113535387A (zh) | 一种异构感知的gpu资源分配与调度方法及系统 | |
CN112506658B (zh) | 一种服务链中动态资源分配和任务调度方法 | |
CN102546423A (zh) | 队列调度方法、装置及网络设备 | |
CN115695330B (zh) | 嵌入式系统中微程的调度系统、方法、终端及存储介质 | |
Garg | Real-time linux kernel scheduler | |
CN115269157A (zh) | 一种任务处理系统、方法、计算机设备及存储介质 | |
CN114911591A (zh) | 任务调度方法及系统 | |
CN109167713A (zh) | 一种can总线控制网络的混合调度方法 | |
CN111506397B (zh) | 一种基于linux实时操作系统的单调速率优先级调度方法 | |
Amdani et al. | An overview of real-time disk scheduling algorithms | |
AlRababah | Data Flows Management and Control in Computer Networks | |
Lin et al. | Dynamic queue length thresholds for scheduling real-time traffic in ATM networks | |
CN101354763A (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 |