CN103019811B - 多任务资源冲突分段检测方法 - Google Patents

多任务资源冲突分段检测方法 Download PDF

Info

Publication number
CN103019811B
CN103019811B CN201210400735.4A CN201210400735A CN103019811B CN 103019811 B CN103019811 B CN 103019811B CN 201210400735 A CN201210400735 A CN 201210400735A CN 103019811 B CN103019811 B CN 103019811B
Authority
CN
China
Prior art keywords
resource
time
task
interval
time point
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.)
Active
Application number
CN201210400735.4A
Other languages
English (en)
Other versions
CN103019811A (zh
Inventor
单承方
赵鹏飞
王俊
陈凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shenzhou Aerospace Software Technology Co.,Ltd.
Original Assignee
BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co Ltd filed Critical BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co Ltd
Priority to CN201210400735.4A priority Critical patent/CN103019811B/zh
Publication of CN103019811A publication Critical patent/CN103019811A/zh
Application granted granted Critical
Publication of CN103019811B publication Critical patent/CN103019811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种多任务资源冲突分段检测方法,其步骤是:根据各项任务占用资源的时间构建各项任务占用资源的时间点的集合{M1};将{M1}中重合的时间点合并后按先后顺序排列成时间点的集合{M2};计算{M2}中每个资源使用时间区间内的占用资源量。得到以下数据:各个时间区间的资源使用量;最大资源使用量以及使用量最大的区间;最少资源使用量以及使用量最少的区间;是否存在资源冲突,以及存在冲突的时间区间。本发明用于动态地检测项目资源的冲突情况,可以快速精确定位项目资源冲突,并针对存在冲突的时间段对管理者进行提示。其优点:算法复杂度较低;可获得资源冲突区间的全面检测数据;对每个资源实现分别分析,支持并行处理技术同时对多个资源进行分析。

Description

多任务资源冲突分段检测方法
技术领域
本发明涉及一种多任务资源冲突分段检测方法。
背景技术
在工程项目中,诸如工程设备、仪器、场地等资源,可以轮流分配给多个项目使用,且在使用中其负荷能力是一定的。这类资源不像劳动力资源一样可以通过增加劳动强度等方式来增大负荷能力,从而压缩工期;也不像材料等消耗性资源一经使用就不可再用于其他项目,可以称之为可重复使用的“刚性资源”。
在一些大型项目执行过程中,由于项目的动态性,多个任务同时竞争某些刚性资源的情况经常发生,当资源的需求数量超出资源现有总量时,即产生资源冲突,影响项目中的实际进展,因此需要对项目执行中的资源冲突进行检测。
资源冲突检测属于冲突检测的研究范围,在冲突检测领域已有较为深入的研究。经典的冲突检测方法有以下4类:
基于Petri网一致性的冲突检测;
基于真值的冲突检测;
基于约束不可满足的冲突检测;
基于启发式分类的冲突检测。
在实际应用中,冲突检测的方法常是基于真值的检测与基于约束的检测的结合,但是针对项目资源尤其是可重用的刚性资源的冲突检测,相关研究还较少,也没有成熟的理论和算法作为支持。对于一些周期较长,任务较多,控制粒度较细的项目,可能出现冲突的资源种类和冲突位置较多,存在冲突检测方法效率不高,定位不够精确的问题。
发明内容
为解决上述问题,本发明提出一种检测多任务执行过程中已分配项目资源是否存在冲突的方法,它用于动态的检测项目资源的冲突情况,可以快速精确定位项目资源冲突,并针对存在冲突的时间段对管理者进行提示,此检测方法主要针对可重复使用的刚性资源进行检测。
为实现上述目的,本发明采用的技术方案如下:
一种多任务资源冲突分段检测方法,其包括以下步骤:
1)给定以下数据:资源名称及其总量;各项任务占用资源的开始时间、结束时间、数量;
2)根据各项任务占用资源的时间构建资源使用的时间区间,形成各项任务占用资源的时间点的集合{M1},{M1}的数据结构模型为:Mi 1{ti1,Tk,Rk,type};
其中:ti表示时间点,Tk表示第k个任务,Rk表示任务k占用的资源数量,type表示时间点ti对应的任务Tk占用资源的时间类型,该时间类型为开始时间或结束时间;
3)将{M1}中重合的时间点合并,并按时间的先后顺序排列,形成新的时间点序列的集合{M2},集合{M2}数据结构模型为:Mi 2{ti2,Ma 1,Mb 1,Mc 1,……};
其中:ti表示排序并去除重复节点后的时间点,Mk 1表示ti时刻集合{M1}的模型;
此时,{M2}中每两个相邻的时间点都构成一个资源使用时间区间;
4)记录{M2}中的各节点的类型是某项任务占用资源的开始时间还是结束时间;
5)计算{M2}中每个资源使用时间区间内的占用资源量;
在以上分析的基础上,得到以下数据:
各个时间区间的资源使用量;
最大资源使用量以及使用量最大的区间;
最少资源使用量以及使用量最少的区间;
是否存在资源冲突,以及存在冲突的时间区间。
本发明的有益效果是:
1.算法复杂度较低,是线性复杂度,可支持较大数据量的应用。
2.算法实现简单,根据应用可删减过程。比如:如果只需要知道分析区间内是否有冲突,则检测到冲突即可中断。
3.可获得资源冲突区间的全面检测数据。
4.对每个资源实现分别分析,因此支持并行处理技术同时对多个资源进行分析。
附图说明
图1为资源分析图;
图2为资源分配记录图;
图3为分配数据的拆分图;
图4为数据按照时间的顺序进行排序图;
图5为使用列表和图形共同展示冲突情况图;
图6为展示的冲突的时间及任务。
具体实施方式
本发明为一种检测多任务执行过程中已分配项目资源是否存在冲突的方法,用于动态的检测项目资源的冲突情况,可以快速精确定位项目资源冲突,并针对存在冲突的时间段对管理者进行提示,此检测方法主要针对可重复使用的刚性资源进行检测。
本发明包括以下步骤:
1)给定以下数据:资源名称及其总量;各项任务占用资源的开始时间、结束时间、数量;
2)根据各项任务占用资源的时间构建资源使用的时间区间,形成各项任务占用资源的时间点的集合{M1},{M1}的数据结构模型为:Mi 1{ti1,Tk,Rk,type};
其中:ti表示时间点,Tk表示第k个任务,Rk表示任务k占用的资源数量,type表示时间点ti对应的任务Tk占用资源的时间类型,该时间类型为开始时间或结束时间;
3)将{M1}中重合的时间点合并,并按时间的先后顺序排列,形成新的时间点序列的集合{M2},集合{M2}数据结构模型为:Mi 2{ti2,Ma 1,Mb 1,Mc 1,……};
其中:ti表示排序并去除重复节点后的时间点,Mk 1表示ti时刻集合{M1}的模型;
此时,{M2}中每两个相邻的时间点都构成一个资源使用时间区间;
4)记录{M2}中的各节点的类型是某项任务占用资源的开始时间还是结束时间;
5)计算{M2}中每个资源使用时间区间内的占用资源量;
在以上分析的基础上,得到以下数据:
各个时间区间的资源使用量;
最大资源使用量以及使用量最大的区间;
最少资源使用量以及使用量最少的区间;
是否存在资源冲突,以及存在冲突的时间区间。
在所述步骤4)中,如果{M2}的某个时间点由{M1}的多个点组成,则要分别记录这些{M1}中的点的类型和资源占用量,
在所述步骤5)中,计算{M2}中每个资源使用时间区间内的占用资源量的方法是:
如果{M2}中的某个时间点包括{M1}中的某个或某几个开始时间点,则{M2}中的该时间点之后的那个时间区间内占用资源量为前一区间占用量加上这几个时间点的资源使用量;
如果{M2}中的某个时间点包括{M1}中的某个或某几个结束时间点,则{M2}中的该时间点之后的那个时间区间内占用资源量为前一区间占用量减去这几个时间点的资源使用量。
下面结合附图详细说明。
资源冲突检测具体实现过程:
一.构建数据模型
对每种资源分别进行分析,记待分析资源总量为R。如图1所示
[ta,tb]为冲突分析的时间区间,数轴节点上方表示任务占用资源的开始节点或结束节点,ta时刻已分配资源总量记为Ra
数轴节点下方表示该时刻任务占用资源的情况,记任务Tk占用资源数量为Rk,任务Tk占用资源的时间区间用[T(k,s),T(k,e)](k表示任务序号,s表示占用资源开始,e表示占用资源结束)。
以图中节点为例,t1时刻为任务T1占用资源的开始时间;
t2时刻为任务T2占用资源的开始时间;
t3时刻为任务T1占用资源的结束时间,同时也是任务T3占用资源的开始时间;
其他节点含义可以此类推。
二.根据各项任务占用资源的时间构建资源使用的时间区间
选取待分析时间段内的所有任务对资源占用的开始时间点和完成时间点,对某个任务Tk,其开始时间点记为T(k,s),结束时间点记为T(k,e)。记这些时间点的集合为{M1},数据结构模型为:
Mi 1{ti1,Tk,Rk,type}(ti表示时间,Tk表示第k个任务,Rk表示任务k占用的资源数量,type表示时间ti对应任务Tk占用资源的时间类型(开始时间或完成时间))。
三.将{M1}中重合的时间点合并,并按时间的先后顺序排列
如图1所示,排列后形成新的时间点序列{M2}。此时,{M2}中相邻两个时间点构成一个资源使用时间区间。
四.记录{M2}中的各节点的类型
是某项任务占用资源的开始时间(s)还是结束时间(e);如果{M2}的某个时间点由{M1}的多个点组成,则要分别记录这些{M1}中的点的类型和资源占用量。集合{M2}数据结构模型为:
Mi 2{ti2,Ma 1,Mb 1,Mc 1,……}(ti表示排序并去除重复节点后的时间,Mk 1表示ti时刻集合{M1}的模型)。
五.计算{M2}中每个时间区间内的占用资源量
如果{M2}中的某个时间点包括{M1}中某个或某几个开始时间点,则{M2}中的该时间点之后的那个时间区间内占用资源量为前一区间占用量加上这几项任务的资源使用量,如果这个时间点包括{M1}中某个或某几个结束时间点,则该时间点之后的那个时间区间内占用资源量需减去这几个时间点的资源使用量。
如图1所示:
t1,t2分别为任务T1,T2的资源使用开始时间;
t3既是任务T3的资源使用开始时间,也是任务T1的资源使用结束时间;
t4是任务T3的资源使用结束时间;
t5是任务T2的资源使用结束时间。
据此可以计算各个时间区间资源的占用数量。如下所示:
[ta,t1]区间资源使用量为Ra,1=Ra
[t1,t2]区间资源使用量为R1,2=Ra,1+R1
[t2,t3]区间资源使用量为R2,3=R1,2+R2
[t3,t4]区间资源使用量为R3,4=R2,3+R3-R1
[t4,t5]区间资源使用量为R4,5=R3,4-R3
六.在以上分析的基础上,可以得到以下的数据:
1.各个时间区间的资源使用量;
2.最大资源使用量以及使用量最大的区间;
3.最少资源使用量以及使用量最少的区间;
4.是否存在资源冲突,以及存在冲突的时间区间。
下面再以一个模拟例子加以说明。
1)模拟数据
资源名称:计算机  数量:5
分配记录如图2所示。
2)分配数据的选择与拆分
有了模拟数据以后,算法的第一步是根据所要检测的资源,从分配记录中筛选出相关的数据。以上面的模拟数据为例,应根据资源名称【计算机】选出前面四条分配记录。
接下来需要将数据中的开始时间和结束时间进行拆分,把时间段分成独立的时间点,这里的时间点数据除了要记录作业名称和需求数量外,还要记录它的类型,即其属于开始时间还是结束时间,拆分后的数据如图3所示。
3)时间点的排序
这一步将图3中的数据按照时间的顺序进行排序,结果如图4。
4)新时间段的构成
在图4中,相邻的每两个时间点将会构成一个新的时间段,这个时间段实际上代表了冲突检测的每一个区间。不过并不是每两个时间点都能构成我们需要的时间段,比如一条分配记录的结束时间和另一条分配记录的开始时间构成的时间段,如果这个时间段内没有使用资源(数量为0),就不能构成一个有效的时间段,它们构成的只是两条记录之间的时间间隔,是没有必要进行冲突检测的。在图4中,第5条记录和第6条记录之间虽然是结束时间和开始时间构成的时间段,但因为数量不为0,所以还是需要进行分析,因此如上数据可以构成7个冲突检测区间。
5)冲突的检测
冲突的检测就是看当前时段资源的分配量是否大于资源的总量,是则发生冲突。那么如何获取当前时段资源的分配量呢?首先设置一个变量A记录当前时刻的资源分配量(初值为0),当一个时段的开始节点是某一分配记录的开始节点时,将该节点对应的需求数量加到A上作为新的A值;当一个时段的开始节点是某一分配记录的结束节点时,将该节点对应的需求数量从A中减去作为新的A值,这样就可获得这一时段的资源分配量。以上图数据为例:
首先设置A=0;
第1个冲突检测时段由第1、2条数据构成,其开始节点为start类型,那么A=A+2=2,这一时段的资源分配量为2,小于资源总量5,不冲突;
第2个冲突检测时段由第2、3条数据构成,其开始节点为start类型,那么A=A+2=4,这一时段的资源分配量为4,小于资源总量5,不冲突;
第3个冲突检测时段由第3、4条数据构成,其开始节点为start类型,那么A=A+2=6,这一时段的资源分配量为6,大于资源总量5,冲突;
第4个冲突检测时段由第4、5条数据构成,其开始节点为end类型,那么A=A-2=4,这一时段的资源分配量为4,小于资源总量5,不冲突;
第5个冲突检测时段由第5、6条数据构成,其开始节点为end类型,那么A=A-2=2,这一时段的资源分配量为2,小于资源总量5,不冲突;
第6个冲突检测时段由第6、7条数据构成,其开始节点为start类型,那么A=A+4=6,这一时段的资源分配量为6,大于资源总量5,冲突;
第7个冲突检测时段由第7、8条数据构成,其开始节点为end类型,那么A=A-4=2,这一时段的资源分配量为2,小于资源总量5,不冲突;
综上,资源【计算机】在时段2008-08-01:12:00:00~2008-08-02:09:00:00和2008-08-02:14:00:00~2008-08-03:12:00:00上发生冲突,相关的作业在检测的过程中可以进行记录。
6)冲突结果展示
使用列表和图形共同展示冲突情况,如图5、图6所示,图5中条纹标记处为出现冲突的位置,图6展示了冲突的时间及任务。
上述的实施例并不对本发明所要求的保护范围构成任何形式的限制,本发明的权利要求书覆盖了所有的修改和变更,因此,针对上述实施例做出种种修改和变化均属于本发明的保护范围内。

Claims (3)

1.一种多任务资源冲突分段检测方法,其特征在于包括以下步骤:
1)给定以下数据:资源名称及其总量;各项任务占用资源的开始时间、结束时间、数量;
2)根据各项任务占用资源的时间构建资源使用的时间区间,形成各项任务占用资源的时间点的集合{M1},{M1}的数据结构模型为:Mi 1{ti1,Tk,Rk,type};
其中:ti1表示时间点,Tk表示第k个任务,Rk表示任务k占用的资源数量,type表示时间点ti1对应的任务Tk占用资源的时间类型,该时间类型为开始时间或结束时间;
3)将{M1}中重合的时间点合并,并按时间的先后顺序排列,形成新的时间点序列的集合{M2},集合{M2}数据结构模型为:Mi 2{ti2,Ma 1,Mb 1,Mc 1,……};
其中:ti2表示排序并去除重复时间点后的时间点,Mk 1表示ti时刻集合{M1}的模型;
此时,{M2}中每两个相邻的时间点都构成一个资源使用时间区间;
4)记录{M2}中的各时间点的类型是某项任务占用资源的开始时间还是结束时间;
5)计算{M2}中每个资源使用时间区间内的占用资源量;
在以上分析的基础上,得到以下数据:
各个时间区间的资源使用量;
最大资源使用量以及使用量最大的区间;
最少资源使用量以及使用量最少的区间;
是否存在资源冲突,以及存在冲突的时间区间,
检测资源冲突的方法是看当前时段资源的分配量是否大于资源的总量,是则发生冲突。
2.如权利要求1所述的多任务资源冲突分段检测方法,其特征在于:
在所述步骤4)中,如果{M2}的某个时间点由{M1}的多个时间点组成,则要分别记录这些{M1}中的时间点的类型和资源占用量。
3.如权利要求2所述的多任务资源冲突分段检测方法,其特征在于:
在所述步骤5)中,计算{M2}中每个资源使用时间区间内的占用资源量的方法是:
如果{M2}中的某个时间点Ts包括{M1}中的某个或某几个开始时间点,则{M2}中的该时间点Ts之后的那个时间区间内占用资源量为前一区间占用量加上这几个时间点的资源使用量;
如果{M2}中的某个时间点Te包括{M1}中的某个或某几个结束时间点,则{M2}中的该时间点Te之后的那个时间区间内占用资源量为前一区间占用量减去这几个时间点的资源使用量。
CN201210400735.4A 2012-10-19 2012-10-19 多任务资源冲突分段检测方法 Active CN103019811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210400735.4A CN103019811B (zh) 2012-10-19 2012-10-19 多任务资源冲突分段检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210400735.4A CN103019811B (zh) 2012-10-19 2012-10-19 多任务资源冲突分段检测方法

Publications (2)

Publication Number Publication Date
CN103019811A CN103019811A (zh) 2013-04-03
CN103019811B true CN103019811B (zh) 2015-07-15

Family

ID=47968442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210400735.4A Active CN103019811B (zh) 2012-10-19 2012-10-19 多任务资源冲突分段检测方法

Country Status (1)

Country Link
CN (1) CN103019811B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019518258A (ja) * 2016-03-29 2019-06-27 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 時間ベース調節可能負荷バランシング
CN105930150B (zh) * 2016-04-15 2020-07-28 北京思特奇信息技术股份有限公司 一种基于时间排序确定资源数量的方法和系统
CN106485419B (zh) * 2016-10-18 2021-01-19 财付通支付科技有限公司 一种二级资源管理方法及装置
CN109242231B (zh) * 2017-07-10 2022-05-06 菜鸟智能物流控股有限公司 耗能设备的调度方法及相关设备
CN111090520B (zh) * 2019-12-09 2023-10-24 腾讯科技(深圳)有限公司 独占资源的用户分配方法、装置、电子设备及存储介质
CN114035910B (zh) * 2020-09-09 2024-05-10 东华大学 一种缩短应急响应时间的双平行机调度方法
CN112527671B (zh) * 2020-12-18 2023-04-21 上海航天计算机技术研究所 一种基于事件流分析的多任务时序冲突检测方法
CN113886051A (zh) * 2021-10-25 2022-01-04 上海航天计算机技术研究所 基于事件流分析的多任务资源冲突检测方法
CN115459867B (zh) * 2022-07-25 2024-06-04 中国电子科技集团公司第二十九研究所 一种频谱监测资源分配优化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101384094A (zh) * 2008-10-28 2009-03-11 中讯邮电咨询设计院 应用于自动交换光网络的资源分配冲突检测方法
CN101770616A (zh) * 2010-02-09 2010-07-07 北京航空航天大学 一种多级协同项目计划管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101384094A (zh) * 2008-10-28 2009-03-11 中讯邮电咨询设计院 应用于自动交换光网络的资源分配冲突检测方法
CN101770616A (zh) * 2010-02-09 2010-07-07 北京航空航天大学 一种多级协同项目计划管理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
多级协同项目执行中的资源冲突检测与管理;乔立红 等;《北京航空航天大学学报》;20081130;第34卷(第11期);1266-1271 *
并行工程中时间约束网络建立及冲突检测研究;徐文胜 等;《系统仿真学报》;20030228;第15卷(第2期);185-189 *
航天产品协同研制过程中的冲突消解技术研究;曹文娟 等;《中国制造业信息化》;20070531(第5期);33-37 *

Also Published As

Publication number Publication date
CN103019811A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
CN103019811B (zh) 多任务资源冲突分段检测方法
CN102214139B (zh) 一种面向分布式系统的自动化测试的执行控制与调度方法
EP2425349B1 (en) Application efficiency engine
CN110046810B (zh) 一种基于赋时Petri网的车间制造系统多目标调度方法
CN106980571B (zh) 一种测试用例集的构建方法和设备
CN103176895A (zh) 一种回归测试方法和系统
CN102664961A (zh) MapReduce环境下的异常检测方法
CN107086929B (zh) 一种基于排队建模的批量流式计算系统性能保障方法
CN106469018A (zh) 分布式存储系统的负载监控方法及设备
CN109582192A (zh) 一种层级菜单显示方法及装置
Kirazli et al. A conceptual approach for identifying Industrie 4.0 application scenarios
CN107679133B (zh) 一种实用于海量实时pmu数据的挖掘方法
Zafarani et al. Behavior analysis in social media
CN103412942B (zh) 一种基于云计算技术的电压暂降数据分析方法
Schuh et al. Module-based release management for technical changes
CN107741905B (zh) 测试用例及其解析模型、执行方法、存储介质和处理器
CN108268379B (zh) 一种分布式自动化测试方法及装置
CN110417621A (zh) 一种轻量级嵌入式系统异常运行状态检测方法
Chhabra Search-based object-oriented software re-structuring with structural coupling strength
Chen et al. Double-crossed step-stress accelerated life testing for pneumatic cylinder
Chahin et al. A practical approach to structure the product development process using network theory
KR101226161B1 (ko) 분배규칙 생성을 위한 방법 및 그를 위한 질의 분석 장치
Rathi et al. Applications of depth first search: a survey
JP2009163378A5 (zh)
CN111061640B (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
C14 Grant of patent or utility model
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Dan Chengfang

Inventor after: Wang Zhiqing

Inventor after: Wang Jun

Inventor after: Chen Fan

Inventor before: Dan Chengfang

Inventor before: Zhao Pengfei

Inventor before: Wang Jun

Inventor before: Chen Fan

COR Change of bibliographic data
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100094 No. 28, Yongfeng Road, Beijing, Haidian District

Patentee after: Beijing Shenzhou Aerospace Software Technology Co.,Ltd.

Address before: 100094 No. 28, Yongfeng Road, Beijing, Haidian District

Patentee before: BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co.,Ltd.