CN103365728B - 面向硬实时服务组合的主机资源可满足性检测方法 - Google Patents
面向硬实时服务组合的主机资源可满足性检测方法 Download PDFInfo
- Publication number
- CN103365728B CN103365728B CN201310288760.2A CN201310288760A CN103365728B CN 103365728 B CN103365728 B CN 103365728B CN 201310288760 A CN201310288760 A CN 201310288760A CN 103365728 B CN103365728 B CN 103365728B
- Authority
- CN
- China
- Prior art keywords
- real time
- list
- hard real
- service
- time service
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种面向硬实时服务组合的主机资源可满足性检测方法,包括:第一步、系统初始化;第二步、检测列表PS是否为空,若为空则转至第五步;若不为空则转至第三步;第三步、依次针对列表PS中的硬实时服务,检测其是否可以处理;所有硬实时服务检测完毕后转至第四步;第四步、以列表AS为目标,检测面向硬实时服务的主机资源可满足性,若可满足性为真,则将列表AS中的所有服务转移至列表CS中,并设置列表AS为空列表,然后转至第二步;若可满足性为假,则属于异常情况,转至第五步;第五步、根据转至本步的原因返回检测结果;检测结束。本发明方法能很好的适应硬实时服务组合的要求。
Description
技术领域
本发明涉及一种面向硬实时服务组合的主机资源可满足性检测方法,主要是针对物理主机资源动态优化机制的改进,属于计算机网络技术领域。
背景技术
目前,在云计算环境下,面向硬实时服务的物理主机资源可满足性检测方法采用的核心策略有:最大速度策略、最小能量策略以及最近优先保证策略(该策略采用最少能量策略从全局角度诱导每个调度过程都能够优先处理那些必须调度和分配的服务对象)等。
在实际检测过程中,现有物理主机资源可满足性检测方法都立足于所有硬实时服务之间无约束性关系的前提,即在不考虑主机资源利用率的情况下,所有硬实时服务可以同时并发处理。但随着云计算及其相关领域技术的不断发展,硬实时服务的颗粒度日益变小,相互之间的协同更加普适,借助服务组合机制构建硬实时服务处理流程逐渐成为一种必然趋势。显然,当服务组合成为一种资源或服务构建的主要方式时,各参与组合服务之间的约束性关系就不可忽略,而在此情况下,现有物理主机资源可满足性检测方法将失效。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的问题,提供一种面向硬实时服务组合的主机资源可满足性检测方法,能适应硬实时服务组合的要求。
本发明的技术构思如下:申请人认为,检测面向硬实时服务组合的主机资源可满足性是一个典型的动态优化问题,解决该问题的关键在于,针对其硬实时服务组合,建立能准确地检测目标主机资源可满足性的方法。申请人经深入实践研究后终于得出符合上述要求的检测方法。
本发明解决其技术问题的技术方案如下:
一种面向硬实时服务组合的主机资源可满足性检测方法,其特征是,包括以下步骤:
第一步、系统初始化,将当前所有硬实时服务纳入待处理服务列表PS,并设置已处理服务列表CS和可处理服务列表AS为空列表,转至第二步;
第二步、检测待处理服务列表PS是否为空,若为空则转至第五步;若不为空则转至第三步;
第三步、依次针对待处理服务列表PS中的硬实时服务,检测其是否可以处理;所有硬实时服务检测完毕后转至第四步;
第四步、以可处理服务列表AS为目标,检测面向硬实时服务的主机资源可满足性,若可满足性为真,则将可处理服务列表AS中的所有服务转移至已处理服务列表CS中,并设置可处理服务列表AS为空列表,然后转至第二步;若可满足性为假,则属于异常情况,转至第五步;
第五步、若转至本步的原因是出现异常情况,则检测结果是面向硬实时服务组合的主机资源可满足性为假;若转至本步的原因是待处理服务列表PS为空,则检测结果是面向硬实时服务组合的主机资源可满足性为真;检测结束。
本发明进一步完善的技术方案如下:
优选地,第一步的具体过程为:
系统初始化,将各硬实时服务的参数设置为rs=<u,m,d,c,v,p>,其中,u为该硬实时服务对主机的使用率,m为虚拟机的MIPS值,d为截止完成时间,c为记录本次分界点后启动是否不可完成的标记,初始值为假即可完成,v为记录本次处理过程中是否对该硬实时服务进行访问的标记,初始值为假即未访问,p为该硬实时服务的前置服务列表,即只有该列表中所有服务已经完成时该硬实时服务才能启动;将各硬实时服务rs纳入待处理服务列表PS中,即PS={rs1,rs2,...,rsn},其中n为当前所有硬实时服务的总数量;设置已处理服务列表CS和可处理服务列表AS为空列表,即CS={}、AS={};转至第二步。
优选地,第三步的具体过程为:
依次针对待处理服务列表PS中的硬实时服务,检测其是否可以处理:
当针对硬实时服务rsj(1≤j≤n)时,
若或rsj.p为空列表,则将rsj转存至可处理服务列表AS中,并从待处理服务列表PS中删除rsj;然后继续检测下一硬实时服务;
若且rsj.p不为空列表,则直接检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至第四步。
优选地,第四步的具体过程为:
(1)、令分界点L=0,令主机计算资源R1=PE,令主机当前剩余计算资源R2=PE,其中PE为物理主机计算资源总量;按rsj.d数值由小到大对可处理服务列表AS中的各硬实时服务rs进行排序,得到列表RS'={rs′1,rs′2,...,rs′n};转至(2);
(2)、检测列表RS'是否为空,若为空则转至(7);若不为空则令L=rs′1.d、令R1=PE、令R2=PE,并转至(3);
(3)、依次针对列表RS'中的硬实时服务,检测其在分界点L后启动能否完成:
当针对硬实时服务rs′j(1≤j≤n)时,
若rs'j.d=L为真,则直接检测下一硬实时服务;
若rs'j.d=L为假,则检测是否为真,
若为真,则令rs'j.c为真,并令R2=R2-rs'j.u×rs'j.m,
若R2<0为真,则当前硬实时服务的需求已超出主机处理能力,属于异常情况并转至(7),
若R2<0为假,则继续检测下一硬实时服务;
若为假,则直接检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至(4);
(4)、依次针对列表RS'中的硬实时服务,调度分配分界点L后启动无法完成的硬实时服务:
当针对硬实时服务rs'j(1≤j≤n)时,
若rs'j.c为假,则直接检测下一硬实时服务;
若rs'j.c为真,则检测R1<rs'j.u×rs'j.m是否为真,
若R1<rs'j.u×rs'j.m为真,则主机资源已分配完毕,属于异常情况并转至(7),
若R1<rs'j.u×rs'j.m为假,则令R1=R1-rs'j.u×rs'j.m,并检测rs'j.d<L是否为真,
若rs'j.d<L为真,则属于异常情况并转至(7),
若rs'j.d<L为假,则令rs'j.d=rs'j.d-L,令rs'j.v为真,并继续检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至(5);
(5)、依次针对列表RS'中的硬实时服务,调度分配分界点L及分界点L之前必须完成的硬实时服务:
当针对硬实时服务rs'j(1≤j≤n)时,
若rs'j.c为真,则直接检测下一硬实时服务;
若rs'j.c为假,则检测R1<rs'j.u×rs'j.m是否为真,
若R1<rs'j.u×rs'j.m为真,则主机资源已分配完毕,并转至(6),
若R1<rs'j.u×rs'j.m为假,则令R1=R1-rs'j.u×rs'j.m,并检测rs'j.d<L是否为真,
若rs'j.d<L为真,则属于异常情况并转至(7),
若rs'j.d<L为假,则令rs'j.d=rs'j.d-L,令rs'j.v为真,令rs'j.c为真,并继续检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至(6);
(6)、依次针对列表RS'中的硬实时服务,重新初始化列表RS':
当针对硬实时服务rs'j(1≤j≤n)时,
若rs'j.d为零,则从列表RS'中删除硬实时服务rs'j,并继续检测下一硬实时服务;
若rs'j.d不为零,则检测rs'j.v,
若rs'j.v为假,则令令rs'j.d=rs'j.d-L,令rs'j.v为假,令rs'j.c为假,并继续检测下一硬实时服务;
若rs'j.v为真,则令rs'j.v为假,令rs'j.c为假,并继续检测下一硬实时服务;
当所有硬实时服务处理完毕时,转至(2);
(7)、若转至本步的原因是出现异常情况,则检测结果是面向硬实时服务的主机资源可满足性为假,属于异常情况,转至第五步;若转至本步的原因是列表RS'为空,则检测结果是面向硬实时服务的主机资源可满足性为真,将可处理服务列表AS中的所有服务转移至已处理服务列表CS中,并设置可处理服务列表AS为空列表,然后转至第二步。
与现有技术相比,本发明的有益效果如下:
本发明通过设置待处理服务列表、可处理服务列表和已处理服务列表,并比对前置服务列表和已处理服务列表,来实现依据硬实时服务组合的约束条件进行调度分配,使整个检测过程能根据硬实时服务组合的实际情况来展开和实施,更加符合云计算环境下实际的服务构建、处理方式(特别是是大规模服务或资源的优化和整合),有利于云数据中心的运维和管理更加有效。
附图说明
图1为本发明实施例方法的主体流程图。
图2为本发明实施例方法第三步的详细流程图。
图3为本发明实施例方法第四步的主体流程图。
图4为本发明实施例方法第四步(3)的详细流程图。
图5为本发明实施例方法第四步(4)的详细流程图。
图6为本发明实施例方法第四步(5)的详细流程图。
图7为本发明实施例方法第四步(6)的详细流程图。
图8为本发明实施例方法第四步(7)的详细流程图。
图9为本发明实施例方法第五步的详细流程图。
具体实施方式
下面参照附图并结合实施例对本发明作进一步详细描述。但是本发明不限于所给出的例子。
实施例
如图1至图9所示,本实施例面向硬实时服务组合的主机资源可满足性检测方法包括以下步骤:
第一步、系统初始化,将各硬实时服务的参数设置为rs=<u,m,d,c,v,p>,其中,u为该硬实时服务对主机的使用率,m为虚拟机的MIPS值,d为截止完成时间,c为记录本次分界点后启动是否不可完成的标记,初始值为假即可完成,v为记录本次处理过程中是否对该硬实时服务进行访问的标记,初始值为假即未访问,p为该硬实时服务的前置服务列表,即只有该列表中所有服务已经完成时该硬实时服务才能启动;将各硬实时服务rs纳入待处理服务列表PS中,即PS={rs1,rs2,...,rsn},其中n为当前所有硬实时服务的总数量;设置已处理服务列表CS和可处理服务列表AS为空列表,即CS={}、AS={};转至第二步。
第二步、检测待处理服务列表PS是否为空,若为空则转至第五步;若不为空则转至第三步;
第三步、依次针对待处理服务列表PS中的硬实时服务,检测其是否可以处理:
当针对硬实时服务rsj(1≤j≤n)时,
若或rsj.p为空列表,则将rsj转存至可处理服务列表AS中,并从待处理服务列表PS中删除rsj;然后继续检测下一硬实时服务;
若且rsj.p不为空列表,则直接检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至第四步。
第四步、以可处理服务列表AS为目标,检测面向硬实时服务的主机资源可满足性,若可满足性为真,则将可处理服务列表AS中的所有服务转移至已处理服务列表CS中,并设置可处理服务列表AS为空列表,然后转至第二步;若可满足性为假,则属于异常情况,转至第五步。
第五步、若转至本步的原因是出现异常情况,则检测结果是面向硬实时服务组合的主机资源可满足性为假;若转至本步的原因是待处理服务列表PS为空,则检测结果是面向硬实时服务组合的主机资源可满足性为真;检测结束。
其中,第四步既可以采用现有的检测方法来检测面向硬实时服务的主机资源可满足性,也可以采用本发明申请人研发的检测方法,当采用后者时具体过程如下:
(1)、令分界点L=0,令主机计算资源R1=PE,令主机当前剩余计算资源R2=PE,其中PE为物理主机计算资源总量;按rsj.d数值由小到大对可处理服务列表AS中的各硬实时服务rs进行排序,得到列表RS'={rs′1,rs′2,...,rs′n};转至(2);
(2)、检测列表RS'是否为空,若为空则转至(7);若不为空则令L=rs′1.d、令R1=PE、令R2=PE,并转至(3);
(3)、依次针对列表RS'中的硬实时服务,检测其在分界点L后启动能否完成:
当针对硬实时服务rs'j(1≤j≤n)时,
若rs'j.d=L为真,则直接检测下一硬实时服务;
若rs'j.d=L为假,则检测是否为真,
若为真,则令rs'j.c为真,并令R2=R2-rs'j.u×rs'j.m,
若R2<0为真,则当前硬实时服务的需求已超出主机处理能力,属于异常情况并转至(7),
若R2<0为假,则继续检测下一硬实时服务;
若为假,则直接检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至(4);
(4)、依次针对列表RS'中的硬实时服务,调度分配分界点L后启动无法完成的硬实时服务:
当针对硬实时服务rs'j(1≤j≤n)时,
若rs'j.c为假,则直接检测下一硬实时服务;
若rs'j.c为真,则检测R1<rs'j.u×rs'j.m是否为真,
若R1<rs'j.u×rs'j.m为真,则主机资源已分配完毕,属于异常情况并转至(7),
若R1<rs'j.u×rs'j.m为假,则令R1=R1-rs'j.u×rs'j.m,并检测rs'j.d<L是否为真,
若rs'j.d<L为真,则属于异常情况并转至(7),
若rs'j.d<L为假,则令rs'j.d=rs'j.d-L,令rs'j.v为真,并继续检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至(5);
(5)、依次针对列表RS'中的硬实时服务,调度分配分界点L及分界点L之前必须完成的硬实时服务:
当针对硬实时服务rs'j(1≤j≤n)时,
若rs'j.c为真,则直接检测下一硬实时服务;
若rs'j.c为假,则检测R1<rs'j.u×rs'j.m是否为真,
若R1<rs'j.u×rs'j.m为真,则主机资源已分配完毕,并转至(6),
若R1<rs'j.u×rs'j.m为假,则令R1=R1-rs'j.u×rs'j.m,并检测rs'j.d<L是否为真,
若rs'j.d<L为真,则属于异常情况并转至(7),
若rs'j.d<L为假,则令rs'j.d=rs'j.d-L,令rs'j.v为真,令rs'j.c为真,并继续检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至(6);
(6)、依次针对列表RS'中的硬实时服务,重新初始化列表RS':
当针对硬实时服务rs'j(1≤j≤n)时,
若rs'j.d为零,则从列表RS'中删除硬实时服务rs'j,并继续检测下一硬实时服务;
若rs'j.d不为零,则检测rs'j.v,
若rs'j.v为假,则令令rs'j.d=rs'j.d-L,令rs'j.v为假,令rs'j.c为假,并继续检测下一硬实时服务;
若rs'j.v为真,则令rs'j.v为假,令rs'j.c为假,并继续检测下一硬实时服务;
当所有硬实时服务处理完毕时,转至(2);
(7)、若转至本步的原因是出现异常情况,则检测结果是面向硬实时服务的主机资源可满足性为假,属于异常情况,转至第五步;若转至本步的原因是列表RS'为空,则检测结果是面向硬实时服务的主机资源可满足性为真,将可处理服务列表AS中的所有服务转移至已处理服务列表CS中,并设置可处理服务列表AS为空列表,然后转至第二步。
这样可以保证以最少能量策略从全局角度诱导每个调度过程都能够优先处理那些必须调度和分配的硬实时服务对象,进而显著提升目标主机资源对突出资源请求的适应能力,使整个云计算环境中物理主机的平均运行效率和运行稳定性更高。
应用案例:
本案例涉及1台配置2400MIPS的物理主机,4个实时虚拟机服务请求:{1#<0.2,1000,10>,2#<0.8,500,15>,3#<0.5,1200,20>,4#<0.8,2000,10>},其中2#须在1#之后启动,3#须在1#和4#之后启动。若采用现有的检测方法,则无法满足硬实时服务组合的要求。
采用本实施例方法(第四步采用本发明申请人研发的方法)进行检测:
1.第一步、系统初始化,PS={rs1=<0.2,1000,10,False,False,{}>,rs2=<0.8,500,15,False,False,{rs1}>,rs3=<0.5,1200,20,False,False,{rs1,rs4}>,rs4=<0.8,2000,10,False,False,{}>},CS={}、AS={};转至第二步。
2.第二步、待处理服务列表PS不为空则转至第三步。
3.第三步、依次针对待处理服务列表PS中的硬实时服务,检测其是否可以处理:
针对第1个服务rs1,因rs1.p为空列表,则将rs1转存至AS中,并从PS删除rs1,得AS={rs1},PS={rs2,rs3,rs4};继续检测下一硬实时服务;
针对第2个服务rs2,因rs2.p={rs1},而CS={},故则直接检测下一硬实时服务;
针对第3个服务rs3,因rs3.p={rs1,rs4},而CS={},故则直接检测下一硬实时服务;
针对第4个服务rs4,因rs4.p为空列表,则将rs4转存至AS中,并从PS删除rs4,得AS={rs1,rs4},PS={rs2,rs3};继续检测下一硬实时服务;
所有硬实时服务检测完毕,转至第四步。
4.第四步(1)、令L=0,R1=2400,R2=2400;以rsj.d数值由小到大对可处理服务列表AS中的各硬实时服务rs进行排序,得RS'={rs′1=<0.2,1000,10,False,False,{}>,rs'2=<0.8,2000,10,False,False,{}>};转至(2)。
5.第四步(2)、列表RS'不为空,令L=10,R1=2400,R2=2400,转至(3)。
6.第四步(3)、依次针对列表RS'中的硬实时服务,检测其在分界点L后启动能否完成:
针对第1个服务rs′1,因rs′1.d=L,直接检测下一硬实时服务;
针对第2个服务rs'2,因rs'2.d=L,直接检测下一硬实时服务;
所有硬实时服务检测完毕,转至(4)。
7.第四步(4)、依次针对列表RS'中的硬实时服务,调度分配分界点L后启动无法完成的硬实时服务:
针对第1个服务rs′1,因rs′1.c为假,直接检测下一硬实时服务;
针对第2个服务rs'2,因rs'2.c为假,直接检测下一硬实时服务;
所有硬实时服务检测完毕,转至(5)。
8.第四步(5)、依次针对列表RS'中的硬实时服务,调度分配分界点L及分界点L之前必须完成的硬实时服务:
针对第1个服务rs′1,因rs′1.c为假,且rs′1.u×rs′1.m=200<R1,故令R1=R1-rs′1u×rs′1m=2200;又因rs′1.d=L=10,故令rs′1.d=0,rs′1c为真,rs′1v为真;继续检测下一硬实时服务。
针对第2个服务rs'2,因rs'2.c为假,且rs'2.u×rs'2.m=1600<R1,故置R1=R1-rs'2.u×rs'2.m=600;又因rs'2.d=L=10,故令rs'2d=0,rs'2.c为真,rs'2.v为真;继续检测下一硬实时服务。
所有硬实时服务检测完毕,转至(6)。
9.第四步(6)、依次针对列表RS'中的硬实时服务,重新初始化列表RS':
针对第1个服务rs′1,因rs′1.d=0,从列表RS'中删除硬实时服务rs′1,并继续检测下一硬实时服务。
针对第2个服务rs'2,因rs'2.d=0,从列表RS'中删除硬实时服务rs'2,并继续检测下一硬实时服务。
所有硬实时服务处理完毕,列表RS'={},转至(2)。
10.第四步(2)、列表RS'为空,转至(7)。
11.第四步(7)、转至本步的原因是列表RS'为空,则检测结果是面向硬实时服务的主机资源可满足性为真,将可处理服务列表AS中的所有服务转移至已处理服务列表CS中,并设置可处理服务列表AS为空列表,即CS={rs1,rs4},AS={},然后转至第二步。
12.第二步、待处理服务列表PS不为空则转至第三步。
13.第三步、依次针对待处理服务列表PS中的硬实时服务,检测其是否可以处理:
针对第1个服务rs2,因rs2.p={rs1},而CS={rs1,rs4},故则将rs2转存至AS中,并从PS删除rs2,得AS={rs2},PS={rs3};继续检测下一硬实时服务;
针对第2个服务rs3,因rs3.p={rs1,rs4},且CS={rs1,rs4},故则将rs3转存至AS中,并从PS删除rs3,得AS={rs2,rs3},PS={};继续检测下一硬实时服务;
所有硬实时服务检测完毕,转至第四步。
14.第四步(1)、令L=0,R1=2400,R2=2400;以rsj.d数值由小到大对可处理服务列表AS中的各硬实时服务rs进行排序,得RS'={rs′1=<0.8,500,15,False,False,{rs1}>,rs'2=<0.5,1200,20,False,False,{rs1,rs4}>};转至(2)。
15.第四步(2)、列表RS'不为空,令L=15,R1=2400,R2=2400,转至(3)。
16.第四步(3)、依次针对列表RS'中的硬实时服务,检测其在分界点L后启动能否完成:
针对第1个服务rs′1,因rs′1.d=L,直接检测下一硬实时服务;
针对第2个服务rs'2,因rs'2d=20≠L,且故直接检测下一硬实时服务;
所有硬实时服务检测完毕,转至(4)。
17.第四步(4)、依次针对列表RS'中的硬实时服务,调度分配分界点L后启动无法完成的硬实时服务:
针对第1个服务rs′1,因rs′1.c为假,直接检测下一硬实时服务;
针对第2个服务rs'2,因rs'2.c为假,直接检测下一硬实时服务;
所有硬实时服务检测完毕,转至(5)。
18.第四步(5)、依次针对列表RS'中的硬实时服务,调度分配分界点L及分界点L之前必须完成的硬实时服务:
针对第1个服务rs′1,因rs′1.c为假,rs′1m×rs′1u=400<R1,故令R1=R1-rs′1u×rs′1m=2000;又因rs′1.d=L,故令rs′1.d=0,rs′1c为真,rs′1v为真;继续检测下一硬实时服务。
针对第2个服务rs'2,因rs'2.c为假,且rs'2m×rs'2u=600<R1,故令R1=R1-rs'2u×rs'2m=1400;又因rs'2d=20>L,故令rs'2d=20-15=5,rs'2.c为真,rs'2.v为真;继续检测下一硬实时服务。
所有硬实时服务检测完毕,转至(6)。
19.第四步(6)、依次针对列表RS'中的硬实时服务,重新初始化列表RS':
针对第1个服务rs′1,因rs′1.d=0,从列表RS'中删除硬实时服务rs′1,并继续检测下一硬实时服务。
针对第2个服务rs'2,因rs'2d=5,且rs'2.v为真,故令rs'2.v为假,令rs'2.c为假,并继续检测下一硬实时服务。
所有硬实时服务处理完毕,列表RS'={rs'2=<0.5,1200,5,False,False,{rs1,rs4}>},转至(2)。
20.第四步(2)、列表RS'不为空,令L=5,R1=2400,R2=2400,转至(3)。
21.第四步(3)、依次针对列表RS'中的硬实时服务,检测其在分界点L后启动能否完成:
针对第1个服务rs′1,因rs′1.d=L,直接检测下一硬实时服务;
所有硬实时服务检测完毕,转至(4)。
22.第四步(4)、依次针对列表RS'中的硬实时服务,调度分配分界点L后启动无法完成的硬实时服务:
针对第1个服务rs′1,因rs′1.c为假,直接检测下一硬实时服务;
所有硬实时服务检测完毕,转至(5)。
23.第四步(5)、依次针对列表RS'中的硬实时服务,调度分配分界点L及分界点L之前必须完成的硬实时服务:
针对第1个服务rs′1,因rs′1.c为假,rs′1m×rs′1u=600<R1,故令R1=R1-rs′1u×rs′1m=1800;又因rs′1.d=L,故令rs′1.d=0,rs′1c为真,rs′1v为真;继续检测下一硬实时服务。
所有硬实时服务检测完毕,转至(6)。
24.第四步(6)、依次针对列表RS'中的硬实时服务,重新初始化列表RS':
针对第1个服务rs′1,因rs′1.d=0,从列表RS'中删除硬实时服务rs′1,并继续检测下一硬实时服务。
所有硬实时服务处理完毕,列表RS'={},转至(2)。
25.第四步(2)、列表RS'为空,转至(7)。
26.第四步(7)、转至本步的原因是列表RS'为空,则检测结果是面向硬实时服务的主机资源可满足性为真,将可处理服务列表AS中的所有服务转移至已处理服务列表CS中,并设置可处理服务列表AS为空列表,即CS={rs1,rs4,rs2,rs3},AS={},然后转至第二步。
27.第二步、待处理服务列表PS为空则转至第五步。
28.第五步、转至本步的原因是待处理服务列表PS为空,则检测结果是面向硬实时服务组合的主机资源可满足性为真;检测结束。
至此即成功完成面向硬实时服务组合的主机资源可满足性检测,并确保从全局角度以最少能量策略实现硬实时服务对象的调度和分配。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
Claims (4)
1.一种面向硬实时服务组合的主机资源可满足性检测方法,其特征是,包括以下步骤:
第一步、系统初始化,将当前所有硬实时服务纳入待处理服务列表PS,并设置已处理服务列表CS和可处理服务列表AS为空列表,转至第二步;
第二步、检测待处理服务列表PS是否为空,若为空则转至第五步;若不为空则转至第三步;
第三步、依次针对待处理服务列表PS中的硬实时服务,检测其是否可以处理;所有硬实时服务检测完毕后转至第四步;
第四步、以可处理服务列表AS为目标,检测面向硬实时服务的主机资源可满足性,若可满足性为真,则将可处理服务列表AS中的所有服务转移至已处理服务列表CS中,并设置可处理服务列表AS为空列表,然后转至第二步;若可满足性为假,则属于异常情况,转至第五步;
第五步、若转至本步的原因是出现异常情况,则检测结果是面向硬实时服务组合的主机资源可满足性为假;若转至本步的原因是待处理服务列表PS为空,则检测结果是面向硬实时服务组合的主机资源可满足性为真;检测结束。
2.根据权利要求1所述面向硬实时服务组合的主机资源可满足性检测方法,其特征是,第一步的具体过程为:
系统初始化,将各硬实时服务的参数设置为rs=<u,m,d,c,v,p>,其中,u为该硬实时服务对主机的使用率,m为虚拟机的MIPS值,d为截止完成时间,c为记录本次分界点后启动是否不可完成的标记,初始值为假即可完成,v为记录本次处理过程中是否对该硬实时服务进行访问的标记,初始值为假即未访问,p为该硬实时服务的前置服务列表,即只有该列表中所有服务已经完成时该硬实时服务才能启动;将各硬实时服务rs纳入待处理服务列表PS中,即PS={rs1,rs2,...,rsn},其中n为当前所有硬实时服务的总数量;设置已处理服务列表CS和可处理服务列表AS为空列表,即CS={}、AS={};转至第二步。
3.根据权利要求2所述面向硬实时服务组合的主机资源可满足性检测方法,其特征是,第三步的具体过程为:
依次针对待处理服务列表PS中的硬实时服务,检测其是否可以处理:当针对硬实时服务rsj,1≤j≤n时,
若或rsj.p为空列表,则将rsj转存至可处理服务列表AS中,并从待处理服务列表PS中删除rsj;然后继续检测下一硬实时服务;
若且rsj.p不为空列表,则直接检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至第四步。
4.根据权利要求3所述面向硬实时服务组合的主机资源可满足性检测方法,其特征是,第四步的具体过程为:
(1)、令分界点L=0,令主机计算资源R1=PE,令主机当前剩余计算资源R2=PE,其中PE为物理主机计算资源总量;按rsj.d数值由小到大对可处理服务列表AS中的各硬实时服务rs进行排序,得到列表RS'={rs′1,rs'2,...,rs'n};转至(2);
(2)、检测列表RS'是否为空,若为空则转至(7);若不为空则令L=rs′1.d、令R1=PE、令R2=PE,并转至(3);
(3)、依次针对列表RS'中的硬实时服务,检测其在分界点L后启动能否完成:
当针对硬实时服务rsj,1≤j≤n时,
若rs'j.d=L为真,则直接检测下一硬实时服务;
若rs'j.d=L为假,则检测是否为真,
若为真,则令rs'j.c为真,并令R2=R2-rs'j.u×rs'j.m,
若R2<0为真,则当前硬实时服务的需求已超出主机处理能力,属于异常情况并转至(7),
若R2<0为假,则继续检测下一硬实时服务;
若为假,则直接检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至(4);
(4)、依次针对列表RS'中的硬实时服务,调度分配分界点L后启动无法完成的硬实时服务:
当针对硬实时服务rsj,1≤j≤n时,
若rs'j.c为假,则直接检测下一硬实时服务;
若rs'j.c为真,则检测R1<rs'j.u×rs'j.m是否为真,
若R1<rs'j.u×rs'j.m为真,则主机资源已分配完毕,属于异常情况并转至(7),
若R1<rs'j.u×rs'j.m为假,则令R1=R1-rs'j.u×rs'j.m,并检测rs'j.d<L是否为真,
若rs'j.d<L为真,则属于异常情况并转至(7),
若rs'j.d<L为假,则令rs'j.d=rs'j.d-L,令rs'j.v为真,并继续检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至(5);
(5)、依次针对列表RS'中的硬实时服务,调度分配分界点L及分界点L之前必须完成的硬实时服务:
当针对硬实时服务rsj,1≤j≤n时,
若rs'j.c为真,则直接检测下一硬实时服务;
若rs'j.c为假,则检测R1<rs'j.u×rs'j.m是否为真,
若R1<rs'j.u×rs'j.m为真,则主机资源已分配完毕,并转至(6),
若R1<rs'j.u×rs'j.m为假,则令R1=R1-rs'j.u×rs'j.m,并检测rs'j.d<L是否为真,
若rs'j.d<L为真,则属于异常情况并转至(7),
若rs'j.d<L为假,则令rs'j.d=rs'j.d-L,令rs'j.v为真,令rs'j.c为真,
并继续检测下一硬实时服务;
当所有硬实时服务检测完毕时,转至(6);
(6)、依次针对列表RS'中的硬实时服务,重新初始化列表RS':
当针对硬实时服务rsj,1≤j≤n时,
若rs'j.d为零,则从列表RS'中删除硬实时服务rs'j,并继续检测下一硬实时服务;
若rs'j.d不为零,则检测rs'j.v,
若rs'j.v为假,则令令rs'j.d=rs'j.d-L,令rs'j.v为假,令rs'j.c为假,并继续检测下一硬实时服务;
若rs'j.v为真,则令rs'j.v为假,令rs'j.c为假,并继续检测下一硬实时服务;
当所有硬实时服务处理完毕时,转至(2);
(7)、若转至本步的原因是出现异常情况,则检测结果是面向硬实时服务的主机资源可满足性为假,属于异常情况,转至第五步;若转至本步的原因是列表RS'为空,则检测结果是面向硬实时服务的主机资源可满足性为真,将可处理服务列表AS中的所有服务转移至已处理服务列表CS中,并设置可处理服务列表AS为空列表,然后转至第二步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310288760.2A CN103365728B (zh) | 2013-07-10 | 2013-07-10 | 面向硬实时服务组合的主机资源可满足性检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310288760.2A CN103365728B (zh) | 2013-07-10 | 2013-07-10 | 面向硬实时服务组合的主机资源可满足性检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103365728A CN103365728A (zh) | 2013-10-23 |
CN103365728B true CN103365728B (zh) | 2016-09-14 |
Family
ID=49367148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310288760.2A Expired - Fee Related CN103365728B (zh) | 2013-07-10 | 2013-07-10 | 面向硬实时服务组合的主机资源可满足性检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103365728B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1643498A (zh) * | 2002-03-22 | 2005-07-20 | 丰田自动车株式会社 | 任务管理装置和方法、操作判断装置和方法以及被判断的程序 |
CN1764183A (zh) * | 2005-11-03 | 2006-04-26 | 西安交通大学 | 一种基于计算机网络的QoS驱动的提供组合Web服务的计算机系统 |
CN101860564A (zh) * | 2010-04-22 | 2010-10-13 | 北京航空航天大学 | 基于协议的服务组合系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050102675A1 (en) * | 2003-11-10 | 2005-05-12 | Parkyn Nicholas D. | Method for managing execution of a process based on available services |
-
2013
- 2013-07-10 CN CN201310288760.2A patent/CN103365728B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1643498A (zh) * | 2002-03-22 | 2005-07-20 | 丰田自动车株式会社 | 任务管理装置和方法、操作判断装置和方法以及被判断的程序 |
CN1764183A (zh) * | 2005-11-03 | 2006-04-26 | 西安交通大学 | 一种基于计算机网络的QoS驱动的提供组合Web服务的计算机系统 |
CN101860564A (zh) * | 2010-04-22 | 2010-10-13 | 北京航空航天大学 | 基于协议的服务组合系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103365728A (zh) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102739798B (zh) | 具有网络感知功能的云平台资源调度方法 | |
CN105912389B (zh) | 基于数据虚拟化实现混合云环境下的虚拟机迁移系统 | |
CN103841052B (zh) | 一种带宽资源分配系统与方法 | |
CN102270157A (zh) | 一种实现服务器资源分配的系统及方法 | |
CN103281359A (zh) | 云桌面系统及运行方法 | |
CN103365726A (zh) | 一种面向gpu集群的资源管理方法和系统 | |
CN110471766A (zh) | 一种基于cuda的gpu资源调度系统和方法 | |
CN104536832A (zh) | 一种虚拟机部署方法 | |
CN103207965A (zh) | 一种虚拟环境下License认证的方法及装置 | |
CN106210046A (zh) | 一种基于Cinder的卷跨集群挂载方法及系统 | |
CN102801636A (zh) | 云计算平台云主机网络带宽限制的方法 | |
CN104951688A (zh) | 适用于Xen虚拟化环境下的专用数据加密方法及加密卡 | |
CN106354566A (zh) | 一种命令处理的方法以及服务器 | |
CN109347716A (zh) | 消费者vnf的实例化方法及装置 | |
CN108170510A (zh) | 一种基于虚拟化技术的计算资源管理系统 | |
CN103973465B (zh) | 分布式跨平台虚拟化能力管理方法和系统 | |
CN112764909B (zh) | 一种基于云架构工作站的共享方法及系统 | |
CN110377411B (zh) | 一种面向分布式云的工作流任务调度方法和系统 | |
CN103365728B (zh) | 面向硬实时服务组合的主机资源可满足性检测方法 | |
CN105550566B (zh) | 一种多用户共享软件授权usb设备的方法 | |
CN105159784A (zh) | 一种虚拟服务器的部署方法及系统 | |
CN107797870A (zh) | 一种云计算数据资源调度方法 | |
CN106251121A (zh) | 一种基于手机的项目管理系统 | |
CN105991750B (zh) | 一种业务集群的业务调度方法、设备和业务集群 | |
CN106790368A (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 | ||
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: 20160914 Termination date: 20180710 |