多任务资源冲突分段检测方法技术

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

【技术实现步骤摘要】

本专利技术涉及一种。
技术介绍
在工程项目中,诸如工程设备、仪器、场地等资源,可以轮流分配给多个项目使用,且在使用中其负荷能力是一定的。这类资源不像劳动カ资源一样可以通过增加劳动强度等方式来增大负荷能力,从而压缩エ期;也不像材料等消耗性资源ー经使用就不可再用于其他项目,可以称之为可重复使用的“刚性资源”。在ー些大型项目执行过程中,由于项目的动态性,多个任务同时竞争某些刚性资源的情况经常发生,当资源的需求数量超出资源现有总量吋,即产生资源冲突,影响项目中的实际进展,因此需要对项目执行中的资源冲突进行检測。 资源冲突检测属于冲突检测的研究范围,在冲突检测领域已有较为深入的研究。经典的冲突检测方法有以下4类基于Petri网一致性的冲突检测;基于真值的冲突检测;基于约束不可满足的冲突检测;基于启发式分类的冲突检测。在实际应用中,冲突检测的方法常是基于真值的检测与基于约束的检测的结合,但是针对项目资源尤其是可重用的刚性资源的冲突检测,相关研究还较少,也没有成熟的理论和算法作为支持。对于ー些周期较长,任务较多,控制粒度较细的项目,可能出现冲突的资源种类和冲突位置较多,存在冲突检测方法效率不高,定位不够精确的问题。
技术实现思路
为解决上述问题,本专利技术提出一种检测多任务执行过程中已分配项目资源是否存在冲突的方法,它用于动态的检测项目资源的冲突情况,可以快速精确定位项目资源冲突,并针对存在冲突的时间段对管理者进行提示,此检测方法主要针对可重复使用的刚性资源进行检測。为实现上述目的,本专利技术采用的技术方案如下一种,其包括以下步骤I)给定以下数据资源名称及其总量;各项任务占用资源的开始时间、结束时间、数量;2)根据各项任务占用资源的时间构建资源使用的时间区间,形成各项任务占用资源的时间点的集合{M1},{M1}的数据结构模型为=Mi1ItiSThRl^typeI ;其中ti表示时间点,Tk表示第k个任务,Rk表示任务k占用的资源数量,type表示时间点ti对应的任务Tk占用资源的时间类型,该时间类型为开始时间或结束时间;3)将{M1}中重合的时间点合并,并按时间的先后顺序排列,形成新的时间点序列的集合{M2},集合{Μ2}数据结构模型为=Mi2 Ui27Ma1, Mb1, Mc1,……};其中ti表示排序并去除重复节点后的时间点,Mk1表示ti时刻集合{M1}的模型;此时,{M2}中每两个相邻的时间点都构成一个资源使用时间区间;4)记录{M2}中的各节点的类型是某项任务占用资源的开始时间还是结束时间;5)计算{M2}中每个资源使用时间区间内的占用资源量;在以上分析的基础上,得到以下数据各个时间区间的资源使用量;最大资源使用量以及使用量最大的区间;最少资源使用量以及使用量最少的区间;是否存在资源冲突,以及存在冲突的时间区间。本专利技术的有益效果是1.算法复杂度较低,是线性复杂度,可支持较大数据量的应用。2.算法实现简单,根据应用可删减过程。比如如果只需要知道分析区间内是否有冲突,则检测到冲突即可中断。3.可获得资源冲突区间的全面检测数据。4.对每个资源实现分别分析,因此支持并行处理技术同时对多个资源进行分析。附图说明图1为资源分析图; 图2为资源分配记录图;图3为分配数据的拆分图;图4为数据按照时间的顺序进行排序图;图5为使用列表和图形共同展示冲突情况图;图6为展示的冲突的时间及任务。具体实施例方式本专利技术为一种检测多任务执行过程中已分配项目资源是否存在冲突的方法,用于动态的检测项目资源的冲突情况,可以快速精确定位项目资源冲突,并针对存在冲突的时间段对管理者进行提示,此检测方法主要针对可重复使用的刚性资源进行检测。本专利技术包括以下步骤I)给定以下数据资源名称及其总量;各项任务占用资源的开始时间、结束时间、数量;2)根据各项任务占用资源的时间构建资源使用的时间区间,形成各项任务占用资源的时间点的集合{M1},{M1}的数据结构模型为=Mi1ItiST^Rhtypei ;其中ti表示时间点,Tk表示第k个任务,Rk表示任务k占用的资源数量,type表示时间点ti对应的任务Tk占用资源的时间类型,该时间类型为开始时间或结束时间;3)将{M1}中重合的时间点合并,并按时间的先后顺序排列,形成新的时间点序列的集合{M2},集合{M2}数据结构模型为=Mi2 Ui27Ma1, Mb1, Mc1,……};其中ti表示排序并去除重复节点后的时间点,Mk1表示ti时刻集合{M1}的模型;此时,{Μ2}中每两个相邻的时间点都构成一个资源使用时间区间;4)记录{Μ2}中的各节点的类型是某项任务占用资源的开始时间还是结束时间;5)计算{Μ2}中每个资源使用时间区间内的占用资源量;在以上分析的基础上,得到以下数据各个时间区间的资源使用量;最大资源使用量以及使用量最大的区间;最少资源使用量以及使用量最少的区间; 是否存在资源冲突,以及存在冲突的时间区间。在所述步骤4)中,如果{Μ2}的某个时间点由{Μ1}的多个点组成,则要分别记录这些{Μ1}中的点的类型和资源占用量,在所述步骤5)中,计算{Μ2}中每个资源使用时间区间内的占用资源量的方法是如果{Μ2}中的某个时间点包括{Μ1}中的某个或某几个开始时间点,则{Μ2}中的该时间点之后的那个时间区间内占用资源量为前一区间占用量加上这几个时间点的资源使用量;如果{Μ2}中的某个时间点包括{Μ1}中的某个或某几个结束时间点,则{Μ2}中的该时间点之后的那个时间区间内占用资源量为前一区间占用量减去这几个时间点的资源使用量。下面结合附图详细说明。资源冲突检测具体实现过程一.构建数据模型对每种资源分别进行分析,记待分析资源总量为R。如图1所示[ta,tb]为冲突分析的时间区间,数轴节点上方表示任务占用资源的开始节点或结束节点,ta时刻已分配资源总量记为Ra。数轴节点下方表示该时刻任务占用资源的情况,记任务Tk占用资源数量为Rk,任务Tk占用资源的时间区间用[T(k,s),T(k,e)] (k表不任务序号,s表不占用资源开始,e表不占用资源结束)。以图中节点为例,h时刻为任务T1占用资源的开始时间;t2时刻为任务T2占用资源的开始时间;t3时刻为任务T1占用资源的结束时间,同时也是任务T3占用资源的开始时间;其他节点含义可以此类推。二.根据各项任务占用资源的时间构建资源使用的时间区间选取待分析时间段内的所有任务对资源占用的开始时间点和完成时间点,对某个任务Tk,其开始时间点记为T(k,s),结束时间点记为T(k,e)。记这些时间点的集合为{M1},数据结构模型为Mi1 {ti1, Tk, Rk, type} (ti表示时间,Tk表示第k个任务,Rk表示任务k占用的资源数量,type表示时间ti对应任务Tk占用资源的时间类型(开始时间或完成时间))。三.将{M1}中重合的时间点合并,并按时间的先后顺序排列如图1所示,排列后形成新的时间点序列{M2}。此时,{M2}中相邻两个时间点构成一个资源使用时间区间。四·记录{Μ2}中的各节点的类型是某项任务占用资源的开始时间(S)还是结束时间(e);如果{M2}的某个时间点由{M1}的多个点组成,则要分别记录这些{M1}中的点的类型和资源占用量。集合{M2}数据结构1吴型为Mi2 本文档来自技高网...

【技术保护点】
一种多任务资源冲突分段检测方法,其特征在于包括以下步骤:1)给定以下数据:资源名称及其总量;各项任务占用资源的开始时间、结束时间、数量;2)根据各项任务占用资源的时间构建资源使用的时间区间,形成各项任务占用资源的时间点的集合{M1},{M1}的数据结构模型为:Mi1{ti1,Tk,Rk,type};其中:ti表示时间点,Tk表示第k个任务,Rk表示任务k占用的资源数量,type表示时间点ti对应的任务Tk占用资源的时间类型,该时间类型为开始时间或结束时间;3)将{M1}中重合的时间点合并,并按时间的先后顺序排列,形成新的时间点序列的集合{M2},集合{M2}数据结构模型为:Mi2{ti2,Ma1,Mb1,Mc1,……};其中:ti表示排序并去除重复节点后的时间点,Mk1表示ti时刻集合{M1}的模型;此时,{M2}中每两个相邻的时间点都构成一个资源使用时间区间;4)记录{M2}中的各节点的类型是某项任务占用资源的开始时间还是结束时间;5)计算{M2}中每个资源使用时间区间内的占用资源量;在以上分析的基础上,得到以下数据:各个时间区间的资源使用量;最大资源使用量以及使用量最大的区间;最少资源使用量以及使用量最少的区间;是否存在资源冲突,以及存在冲突的时间区间。...

【技术特征摘要】
1.一种多任务资源冲突分段检测方法,其特征在于包括以下步骤 1)给定以下数据资源名称及其总量;各项任务占用资源的开始时间、结束时间、数量; 2)根据各项任务占用资源的时间构建资源使用的时间区间,形成各项任务占用资源的时间点的集合{M1},{M1}的数据结构模型为=Mi1ItiST^Rhtypei ; 其中ti表示时间点,Tk表示第k个任务,Rk表示任务k占用的资源数量,type表示时间点ti对应的任务Tk占用资源的时间类型,该时间类型为开始时间或结束时间; 3)将{M1}中重合的时间点合并,并按时间的先后顺序排列,形成新的时间点序列的集合{M2},集合{M2}数据结构模型为=Mi2ItAMaSMbSMe1,……}; 其中ti表示排序并去除重复节点后的时间点,Mk1表示ti时刻集合{M1}的模型; 此时,{M2}中每两个相邻的时间点都构成一个资源使用时间区间; 4)记录{M2}中的各节点的类型是某项任务占用资源的开始时间还是结束时间; 5)计算{M2}...

【专利技术属性】
技术研发人员:单承方赵鹏飞王俊陈凡
申请(专利权)人:北京神舟航天软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1