CN106326378A - 一种实时数据库的截止期分配方法 - Google Patents
一种实时数据库的截止期分配方法 Download PDFInfo
- Publication number
- CN106326378A CN106326378A CN201610671127.5A CN201610671127A CN106326378A CN 106326378 A CN106326378 A CN 106326378A CN 201610671127 A CN201610671127 A CN 201610671127A CN 106326378 A CN106326378 A CN 106326378A
- Authority
- CN
- China
- Prior art keywords
- task
- period
- deadline
- cycle
- distribution
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实时数据库的截止期分配方法,其步骤包括:获取单位执行长度Csum,将任务按照有效时间间隔长度递增的顺序排序,并为每个任务分配截止期;判断是否每个任务均满足给定的条件;若是,则判定分配的周期和截止期有效;若否,则采用MLDM方法按照排序对每个任务进行周期、截止期分配;根据调用MLDM方法是否成功分为两种情况,若成功,则计算每个任务的截止期取值区间,并在该区间内找到每个任务的截止期,否则,对前(k-1)个任务采用MLDM方法分配截止期,从第k个任务开始采用确定取值区间的方法计算截止期;本发明提供的实时数据库的截止期分配方法具有高效性,当快速计算失败时,通过降低开销保证截止期分配的完备性。
Description
技术领域
本发明属于实时数据库任务调度技术领域,更具体地,涉及一种实时数据库的截止期分配方法。
背景技术
实时数据库系统已被广泛应用于需要处理大量的实时数据的应用环境中,一个实时数据库是由一组实时数据对象集合组成,每个数据对象代表着外部环境中一个现实世界的实体当前的状态,实时数据对象仅在给定的有效时间间隔(V)内有效,每个实时数据对象必须在其有效期内被传感器中的更新任务刷新,以保持时间的有效性。
针对时序一致性要求,实时数据库系统必须在保证数据一致性的前提下,分配传感器更新任务的采样周期(T)和截止期(D),使得处理器的工作量(U)最小。
现有技术中的截止期分配技术是固定优先级调度的截止期分配,譬如均等分配(简称HH),不均等分配(MLDM)和固定优先级任务延迟的调度算法(DS-FP),以及在EDF调度下的不均等分配(MLEDF);MLEDF是线性时间EDF(Earliest Deadline First)算法,可以解决截止期大于周期的情况下的截止期分配问题。MLEDF在时间上是有效的,但可能不会产生最优的解决方案。另一种基于分支定界的搜索算法,能够处理任意截止期的情况;然而该算法的问题在于不能有效的评估问题的规模;为解决该问题提出的基于启发式的搜索算法,则是以增加处理器的工作量为代价来实现效率的提高。因此,对实时数据库环境下在动态优先级调度策略下维持时序一致性的低负载截止期分配方法具有需求。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种实时数据库的截止期分配方法,其目的在于在保证可调度性的同时降低处理器负载。
为实现上述目的,按照本发明的一个方面,提供了一种实时数据库的截止期分配方法,包括如下步骤:
(1)对给定的任务集合,将任务集合中各任务的执行时间相叠加,得到单位执行长度Csum;
(2)将任务集合中的任务按照有效时间间隔长度递增的顺序进行排序;并依照该顺序依次为每个任务分配截止期、周期;
第i个任务的截止期Di的大小为第一个任务到第i个任务的执行时间之和;
第i个任务的周期Ti=Vi-Di;Vi是指有效时间间隔;
(3)判断是否每个任务均满足Di≤Vi/2、Dmax≤Vi且处理器利用率不大于1;其中,任务截止期的最大值Dmax与单位执行长度Csum相等;
若是,则判定分配的周期和截止期有效;若否,则进入步骤(4);
(4)采用不均等截止期递增分派(More-less deadline monotonic,MLDM)算法按照上述排序依次对每个任务
当第i个任务的周期、截止期预分配完成,判断第i个任务的预分配结果是否满足EDF调度的条件,若是,则计算第(i+1)个任务的截止期,直到最后一个任务,并进入步骤(5);若否,则进入步骤(6);
(5)根据预分配结果计算获取各任务的截止期的上界和下界,并根据所述上界和下界确定各任务的截止期;
(6)对前(k-1)个任务,根据预分配结果计算获取各任务的截止期的取值区间,并根据该截止期取值区间确定每个任务的截止期;
对于第k个及其之后的任务,计算获取各任务的截止期的下界与上界;并根据所述下界与上界计算获取各任务的截止期;其中,k=i;第k个任务是任务集合中第一个不满足EDF调度条件的任务。
优选的,上述实时数据库的截止期分配方法,其步骤(4)具体为:
(4.1)采用MLDM算法按照排序依次对每个任务进行周期、截止期预分配;
截止期
周期Ti=Vi-Di;
其中,j是指集合中任务按照有效时间间隔长度递增的顺序进行排序后的第j个任务,Tj是指第j个任务的周期,Cj是指第j个任务的最大执行时间;
(4.2)当第i个任务的周期和截止期预分配完成,判断是否满足第i个任务的周期
若是,则计算获取第(i+1)个任务的截止期,直到最后一个任务,并进入步骤(5);
若否,则进入步骤(6)。
优选地,上述实时数据库的截止期分配方法,其步骤(5)具体包括如下子步骤:
(5.1)获取任务i的截止期的上界Di up,Di up为第一个任务到第i个任务的执行时间之和;
(5.2)获取任务i的截止期的下界Di lo,Di lo为任务i的上一个任务截止期与该任务执行时间之和;
(5.3)判断截止期范围[Di lo,Di up]内的所有任务的绝对截止期是否都满足h(t)不大于t;若是,则将下界Di lo作为该任务的截止期,令i=i+1,并进入步骤(5.1);若否,则进入步骤(5.4);
其中,h(t)是指在时刻t处的任务集合的最大处理器占用时间(DBF);
(5.4)将第一个不满足h(t)不大于t条件的时刻的DBF作为任务的新截止期下界Di lo,获得新的截止期范围,并重复步骤(5.3),直到满足h(t)不大于t或者上、下界取值相同。
优选地,上述实时数据库的截止期分配方法,其步骤(6)具体包括如下子步骤:
(6.1)采用MLDM算法按照步骤(2)的排序从前向后依次对每个任务进行周期、截止期分配,直到不能分配的时刻;
对(k-1)个已经成功分配的任务构成的任务集合,重复步骤(5.1)~(5.4),获取各任务的截止期;
(6.2)对未能成功进行周期、截止期分配的任务,从第k个任务开始,计算各任务的截止期的下界与上界;由所述上界与下界构成截止期范围,并重复步骤(5.3)~(5.4);
其中,任务的截止期的上界为有效时间间隔与执行时间之差;截止期的下界为本任务执行时间与其上一个任务截止期之和。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的实时数据库的截止期分配方法,由于提出了能够快速判断任务集合是否EDF可调度的充分条件,因此该方法可以快速的计算出每个任务的周期截止期,使得任务集合EDF可调度;
(2)本发明提供的实时数据库的截止期分配方法在快速条件失效的情况下,能够通过缩小每个任务的截止期取值范围的方法来降低计算截止期的开销,在计算时间和计算负载上要由于已有的算法。
(3)本发明提供的实时数据库的截止期分配方法,首先利用快速计算的方法计算出大多数情况下每个任务的截止期,保证了高效性;当快速计算失败时,采用确定取值区间的方法降低开销来保证算法的完备性。
附图说明
图1是实施例提供的实时数据库的截止期分配方法的流程示意图;
图2是实施例中步骤(5)的流程示意图;
图3是实施例中步骤(6)的流程示意图;
图4是实施例中任务数量与CPU负载之间的关系曲线;
图5是实施例中任务数量与分配方法的迭代次数之间的关系示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例提供的实时数据库的截止期分配方法,其流程如图1所示,具体包括以下步骤:
(1)对给定的任务集合,将各任务的执行时间相叠加,得到单位执行长度Csum;
(2)将任务集合中的任务按照有效时间间隔长度递增的顺序进行排序;并依照该顺序依次为每个任务分配截止期、周期;
第i个任务的截止期Di的大小为第一个任务到第i个任务的执行时间之和;
第i个任务的周期Ti=Vi-Di;Vi是有效时间间隔;
(3)判断是否每个任务均满足Di≤Vi/2Dmax≤Vi且处理器利用率不大于1;其中,任务截止期的最大值Dmax与单位执行长度Csum相等;
若是,则判定分配的周期和截止期有效;若否,则进入步骤(4);
(4)采用MLDM算法按照上述排序从前向后依次对每个任务进行周期、截止期预分配;
具体地,截止期
周期为有效时间长度与截止期的差;
在分配的过程中,当第i个任务分配完,判断第i个任务的截止期若是,则令i=(i+1),计算第(i+1)个任务的截止期,直到最后一个任务,并进入步骤(5);
若否,则将i的值赋予k,并进入步骤(6);
(5)根据预分配结果计算获取各任务的截止期的上界和下界,并根据所述上界和下界确定各任务的截止期;
(6)对前(k-1)个任务,根据预分配结果计算获取各任务的截止期的取值区间,并根据该截止期取值区间确定每个任务的截止期;
从第k个任务开始,计算获取各任务的截止期的下界与上界;并根据所述下界与上界计算获取各任务的截止期;
其中,第k个任务是任务集合中第一个使得(4)中的判断条件不成立的任务;
其中,步骤(5)的流程如图2所示意的,包括以下步骤:
(5.1)获取任务i的截止期的上界Di up,Di up为第一个任务到第i个任务的执行时间之和;
(5.2)获取任务i的截止期的下界Di lo,Di lo为任务i的上一个任务截止期与该任务执行时间之和;
(5.3)判断截止期范围[Di lo,Di up]内的所有任务的绝对截止期是否都满足h(t)不大于t;若是,则将下界Di lo作为该任务的截止期,令i=i+1,并进入步骤(5.1);若否,则进入步骤(5.4);
其中,h(t)是指在时刻t处的任务集合的最大处理器占用时间(DBF);
(5.4)将第一个不满足h(t)不大于t条件的时刻的DBF作为任务的新截止期下界Di lo,获得新的截止期范围,并重复步骤(5.3),直到满足h(t)不大于t或者上、下界取值相同;
如果上、下界相等,则表明找不到合适的截止期使得任务集合EDF可调度,判定分配失败。
实施例中步骤(6)的流程如图3所示意的,包括以下步骤:
(6.1)采用MLDM算法按照步骤(2)的排序从前向后依次对每个任务进行周期、截止期分配,直到不能分配的时刻;
对(k-1)个已经成功分配的任务构成的任务集合,重复步骤(5.1)~(5.4),获取各任务的截止期;
(6.2)从第k个任务开始,计算各任务的截止期的下界与上界;由所述上界与下界构成截止期范围;
其中,任务的截止期的上界为有效时间间隔与执行时间之差;截止期的下界为上一个任务截止期与该任务执行时间之和;
(6.3)重复步骤(5.3)~(5.4)。
实施例中,在以下环境下对实施例提供的实时数据库的截止期分配方法进行测试验证:处理器CPU为2.7GHz Intel Core i5;内存为8G;操作系统为OS X EI Capitan10.11.5;
以下将实施例的这种分配方法与几种传统的算法相比较,比较所采用的数据是真实的交通控制平台的数据,数据的参数如下:
实时数据对象的个数:[50,300];
实时数据对象的有效期长度均匀分布在区间[4000,8000],单位为毫秒;
更新任务的执行时间均匀分布在区间[5,15],单位为毫秒;
从CPU负载和执行时间两方面来进行测试;测试结果如图4和图5所示意,图4是任务数量与CPU负载之间的关系,CPU负载越低表明本方法分配给任务的截止期越小;在同样保证任务集合是EDF可调度的情况下,本发明提出的截止期分配方法与MLDM相比,可以为每个任务分配一个更小的截止期,消耗更小的CPU负载;当任务量超过350以后,MLDM的CPU利用率已经超过了1,意味着MLDM已经不能得到EDF可调度的集合。而本专利的算法FDA的利用率始终小于1,该算法在任务量较大的时候仍然可以成功的得到EDF可调度的任务集合。图5是任务数量与分配方法的迭代次数之间的关系示意图,迭代次数越多表明截止期分配所需要的执行时间越久;从测试结果图可以看出本发明所提出的截止期分配方法在任务数量较大的时候,迭代次数远小于MLDM算法,因此够节约大量的计算时间。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种实时数据库的截止期分配方法,其特征在于,包括如下步骤:
(1)对给定的任务集合,将任务集合中各任务的执行时间相叠加,得到单位执行长度Csum;
(2)将任务集合中的任务按照有效时间间隔长度递增的顺序进行排序;并依照排序依次为各任务分配截止期、周期;
第i个任务的截止期Di的大小为第一个任务到第i个任务的执行时间之和;
第i个任务的周期Ti=Vi-Di;Vi是指有效时间间隔;
(3)判断是否每个任务均满足Di≤Vi/2、Dmax≤Vi且处理器利用率不大于1,若是,则判定分配的周期和截止期有效;若否,则进入步骤(4);
其中,任务截止期的最大值Dmax与所述单位执行长度Csum相等;
(4)按照所述排序依次对每个任务进行周期、截止期预分配;
当第i个任务的周期、截止期预分配完成,判断第i个任务的预分配结果是否满足EDF调度的条件,若是,则计算第(i+1)个任务的截止期,直到最后一个任务,并进入步骤(5);若否,则进入步骤(6);
(5)根据预分配结果计算获取各任务的截止期的上界和下界,并根据所述上界和下界确定各任务的截止期;
(6)对前(k-1)个任务,根据预分配结果计算获取各任务的截止期的取值区间,并根据该截止期取值区间确定各任务的截止期;
对于第k个及其之后的任务,计算获取各任务的截止期的下界与上界;并根据所述下界与上界计算获取各任务的截止期;其中,k=i。
2.如权利要求1所述的截止期分配方法,其特征在于,所述步骤(4)包括如下子步骤:
(4.1)按照排序依次对每个任务进行周期、截止期预分配;
截止期
周期Ti=Vi-Di;
其中,j是指集合中任务按照有效时间间隔长度递增的顺序进行排序后的第j个任务,Tj是指第j个任务的周期,Cj是指第j个任务的最大执行时间;
(4.2)当第i个任务的周期和截止期预分配完成,判断是否满足第i个任务的周期
若是,则计算获取第(i+1)个任务的截止期,直到最后一个任务,并进入步骤(5);
若否,则进入步骤(6)。
3.如权利要求1或2所述的截止期分配方法,其特征在于,所述步骤(5)包括如下子步骤:
(5.1)获取任务i的截止期的上界Di up,Di up为第一个任务到第i个任务的执行时间之和;
(5.2)获取任务i的截止期的下界Di lo,Di lo为任务i的上一个任务截止期与该任务执行时间之和;
(5.3)判断截止期范围[Di lo,Di up]内的所有任务的绝对截止期是否都满足h(t)不大于t;
若是,则将下界Di lo作为该任务的截止期,Di=Di lo;令i=i+1,并进入步骤(5.1);若否,则进入步骤(5.4);
其中,h(t)是指在时刻t处的DBF;
(5.4)将第一个不满足h(t)不大于t的时刻的DBF作为任务的新截止期下界Di lo,获得新的截止期范围,并重复步骤(5.3),直到满足h(t)不大于t或者截止期的上界、下界取值相同。
4.如权利要求3所述的截止期分配方法,其特征在于,所述步骤(6)包括如下子步骤:
(6.1)采用不均等分配方法按照步骤(2)的排序依次对各任务进行周期、截止期分配,直到不能分配的时刻;
对由已成功分配的(k-1)个任务构成的任务集合,重复步骤(5.1)~(5.4),获取各任务的截止期;
(6.2)对未能成功进行周期、截止期分配的任务,从第k个任务开始,计算各任务的截止期的下界与上界;由所述上界与下界构成截止期范围,并重复步骤(5.3)~(5.4);
其中,任务的截止期的上界为有效时间间隔与执行时间之差;截止期的下界为本任务执行时间与其上一个任务截止期之和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610671127.5A CN106326378B (zh) | 2016-08-16 | 2016-08-16 | 一种实时数据库的截止期分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610671127.5A CN106326378B (zh) | 2016-08-16 | 2016-08-16 | 一种实时数据库的截止期分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106326378A true CN106326378A (zh) | 2017-01-11 |
CN106326378B CN106326378B (zh) | 2018-05-11 |
Family
ID=57740889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610671127.5A Expired - Fee Related CN106326378B (zh) | 2016-08-16 | 2016-08-16 | 一种实时数据库的截止期分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106326378B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107305614A (zh) * | 2017-08-12 | 2017-10-31 | 西安电子科技大学 | 一种基于满足二次聚集的mldm算法处理大数据的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499019A (zh) * | 2009-03-24 | 2009-08-05 | 武汉烽火网络有限责任公司 | 电信级以太网系统及用于该系统的实时任务调度方法 |
CN103163870A (zh) * | 2013-04-07 | 2013-06-19 | 沈阳化工大学 | 一种极大容忍时延无线网络化控制系统调度的方法 |
CN103810026A (zh) * | 2012-11-09 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于实时系统周期任务的混合调度方法 |
CN104834556A (zh) * | 2015-04-26 | 2015-08-12 | 西北工业大学 | 一种多态实时任务与多态计算资源的映射方法 |
-
2016
- 2016-08-16 CN CN201610671127.5A patent/CN106326378B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499019A (zh) * | 2009-03-24 | 2009-08-05 | 武汉烽火网络有限责任公司 | 电信级以太网系统及用于该系统的实时任务调度方法 |
CN103810026A (zh) * | 2012-11-09 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于实时系统周期任务的混合调度方法 |
CN103163870A (zh) * | 2013-04-07 | 2013-06-19 | 沈阳化工大学 | 一种极大容忍时延无线网络化控制系统调度的方法 |
CN104834556A (zh) * | 2015-04-26 | 2015-08-12 | 西北工业大学 | 一种多态实时任务与多态计算资源的映射方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107305614A (zh) * | 2017-08-12 | 2017-10-31 | 西安电子科技大学 | 一种基于满足二次聚集的mldm算法处理大数据的方法 |
CN107305614B (zh) * | 2017-08-12 | 2020-05-26 | 西安电子科技大学 | 一种基于满足二次聚集的mldm算法处理大数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106326378B (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391749A (zh) | 一种资源分配方法及装置 | |
CN110166282A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN103064745B (zh) | 一种任务分配处理的方法及系统 | |
CN102254246A (zh) | 一种工作流管理方法及其系统 | |
CN104915251A (zh) | 任务调度方法及装置 | |
CN107766140B (zh) | 一种带抢占点实时任务的可调度性分析方法 | |
CN105491117B (zh) | 面向实时数据分析的流式图数据处理系统及方法 | |
CN102855293A (zh) | 一种电动汽车及充换电设施系统海量数据处理方法 | |
CN103645961B (zh) | 计算密集型并行任务的异常检测方法及系统 | |
Bateni et al. | Scheduling to minimize staleness and stretch in real-time data warehouses | |
CN110311965A (zh) | 一种云计算环境下的任务调度方法及系统 | |
CN103077083A (zh) | 一种任务处理的方法及系统 | |
CN110502517A (zh) | 一种用于存储电网实时运行数据的分布式存储系统 | |
CN108509280A (zh) | 一种基于推送模型的分布式计算集群本地性调度方法 | |
CN113553175A (zh) | 面向交通数据流的最优排序算法选择方法 | |
CN102081624B (zh) | 一种数据查询的方法及装置 | |
Fan et al. | A heterogeneity-aware data distribution and rebalance method in Hadoop cluster | |
CN106802825A (zh) | 一种基于实时系统的动态任务调度方法与系统 | |
CN106326378A (zh) | 一种实时数据库的截止期分配方法 | |
CN106534312B (zh) | 一种面向移动设备的服务请求选择与调度方法 | |
CN112527872A (zh) | 数据查询方法及装置、存储介质及电子设备 | |
Xu et al. | Stochastic customer order scheduling to minimize long-run expected order cycle time | |
CN109450672B (zh) | 一种识别带宽需求突发的方法和装置 | |
CN104008178A (zh) | 一种数据的动态加载处理方法及系统 | |
CN109857547A (zh) | 一种线程分配方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180511 Termination date: 20190816 |