面向用户需求Deadline的云代理预约分配方法

文档序号:7814154阅读:234来源:国知局
面向用户需求Deadline的云代理预约分配方法
【专利摘要】本发明公开了一种面向用户需求Deadline的云代理预约分配方法,属于云计算领域。云代理商申请预留服务实例;用户向云代理商给出需求量和Deadline;将服务实例按用户优先级的高低顺序分配;将每个用户的需求量作为整体,按到达时间顺序堆放在服务实例的处理周期内,计算得到每个处理周期的任务量均值,将每个处理周期的任务量调整为计算出的均值,并从第一个处理周期开始堆放量;将处理结果反馈给用户或者付诸实施。本发明降低了云代理对用户的约束条件,使得其对用户更加友好,使资源分配更加合理,贴近实际,简化申请步骤和程序;为云代理对用户需求整合提供了更大空间,进一步整合用户需求,节约资源。
【专利说明】面向用户需求Deadl ine的云代理预约分配方法

【技术领域】
[0001]本发明涉及是一种云代理预约分配方法,特别是一种面向用户需求Deadline的云代理预约分配方法,属于云计算领域。

【背景技术】
[0002]云计算是以商业应用为背景结合了之前学术界所提到的如网格计算、互联网计算、按需计算等概念发展而来的一种分布式计算模式。云计算作为一种全新的应用模式,是今后一段时为人们进行存储数据、数据挖掘等应用和研究的主要方式。
[0003]云代理构建在IaaS服务端和用户之间,用以接受用户的需求,并将其整合,再统一向云服务端发送请求,从而达到节省开支,节约资源的目的。
[0004]现有的云代理构想,要求用户提前确切提出其在未来每一时刻的实际需求量,并据此来制定实例分配计划,其在实际应用中以实现,导致那些无法提前预知自己需求量的用户无法接受云代理服务,阻碍了云计算的推广使用;此外,现有云代理做法过于简单,仅单纯依靠其服务实例使用的历史记录来进行分配计划的制定,导致服务实例分配不合理,影响了用户的正常使用。


【发明内容】

[0005]本发明所要解决的技术问题要于克服现有技术缺陷,提供一种面向用户需求Deadline的云代理预约分配方法,让用户在向云代理申请服务时,只需提出自己需求总量以及截止时间,而不必确切的给出未来每时刻的具体需求量。
[0006]为了解决上述技术问题,本发明提供的面向用户需求Deadline的云代理预约分配方法,包括以下步骤:
1)、云代理商向云服务提供者申请预留服务实例,每个服务实例设有若干个处理周期;
2)、用户向云代理商提出使用申请,并给出各自的需求量和Deadline;
3)、云代理商通过EDF算法判定用户的优先级,并将服务实例按用户优先级的高低顺序依次分配给用户;
4)、云代理商分别对每个服务实例中的用户需求采用静态调度算法进行调度:
41)、将一个用户的需求量作为一个整体,按照到达时间顺序依次堆放在服务实例的处理周期内;
42)、用服务实例中的总需求量除以服务实例处理周期数得到每个处理周期的任务量均值;
43)、按照时间顺序将每个处理周期的任务量调整为步骤42)计算出的均值,并从第一个处理周期开始堆放任务量;
5)、将处理结果反馈给用户或者付诸实施。
[0007]本发明中,所述步骤3)中,若预留的服务实例无法满足当前用户的需求量,则减掉已分配到服务实例的需求量后向下一时间段推移,直至用户的Deadline。
[0008]本发明中,所述步骤41)中,若服务实例中所有处理周期都已堆放有用户需求,对于新到达的用户需求,则按照新用户需求的Deadline范围,优先堆放在已使用量最少的处理周期中;若所有处理周期使用量相同,则按照新用户的需求Deadline范围,堆放在允许时间范围内最早的处理周期中。
[0009]本发明中,所述步骤42)中,若某一用户在一个处理周期内需求量超过其他用户需求量均值的2倍时,则将该用户的需求量剔除,重新计算任务量均值;若前一个用户的需求已经处理完成而后一个用户需求还未到达,则等待后一个用户到达后,重新计算任务量均值;如果有一个或几个处理周期用户需求量很小,小于剩余用户均值的1/3时,则将这些处理周期剔除,重新计算任务量均值。
[0010]本发明有益效果在于:(I)、由于用户在申请服务时仅需提出了自己的需求总量和使用截止时间,云代理商可以根据实际情况向Iaas申请服务实例,使资源分配更加合理,贴近实际应用;(2)、deadline的加入为实例的调配留出更多空间,丰富了调配方式,进一步整合用户需求,节约资源;(3)、由于任务量是根据总需求量平均分配的,因此可以有效减少使用高峰时Iaas的处理压力,提高了运行效率;(4)、采用EDF算法调度可以确保任务紧迫的用户优先得到响应;(5)、简化用户申请云资源的步骤和程序,提高效率。

【专利附图】

【附图说明】
[0011]图1为本发明面向用户需求Deadline的云代理预约分配方法的流程图;
图2为本发明面向用户需求Deadline的云代理预约分配方法静态调度算法的流程图;
图3为本发明中正常情况进行静态调度时用户需求堆放示意图,(a)为调整堆放前示意图,(b)为调整堆放后示意图;
图4为本发明中某一处理周期内某用户需求量较大的情况下进行静态调度用户需求堆放示意图,(a)为调整堆放前示意图,(b)为调整堆放后示意图;
图5为本发明中一部分用户需求处理之后,后一用户需求仍未到达进行静态调度时用户需求堆放示意图1,(a)为调整堆放前示意图,(b)为调整堆放后示意图;
图6为本发明中一部分用户需求处理之后,后一用户需求仍未到达进行静态调度时用户需求堆放示意图2,(a)为调整堆放前示意图,(b)为调整堆放后示意图;
图7是本发明中某些处理周期需求量很少时进行静态调度用户需求堆放示意图,(a)为调整堆放前示意图,(b)为调整堆放后示意图。

【具体实施方式】
[0012]下面结合附图和实施例对本发明作详细说明。
[0013]如图1所示,为面向用户需求deadline (截止期限)的云代理预约分配方法的流程图,其具体过程为:
1、云代理商在开始时刻以学习训练得到的数值为经验值,向云服务提供者申请预留服务实例,设预留服务实例中共有6个处理周期,分别为cl、c2、c3、c4、c5、c6,每个处理周期的最大处理能力为4个单位。
[0014]2、用户向云代理商提出自己的使用申请,云代理商获取各用户需求al、a2、a3、a4、a5,各用户需求对应的deadline分别为bl、b2、b3、b4、b5,在此次设deadline先后顺序排序为bl、b2、b3、b4、b5。云代理根据自己的处理能力依次处理用户需求al、a2、a3、a4、a5,如云代理商申请的服务实例能完全满足当前各用户需求al、a2、a3、a4、a5则进行按正常的时间先后顺序进行处理;如云代理商申请的服务实例只能满足各用户需求中的al、a2、a3和a4的一部分,则将需求将排序靠后的a4分为可在预留服务范围内处理的部分a41和在下一时间段内处理的部分a42,以保证服务实例的正常处理。
[0015]3、云代理商通过EDF算法(最早期限优先调度算法)判定用户的优先级的高低,并将服务实例按用户优先级的高低顺序依次分配给用户使用,在每一时段确保将服务实例分配给优先级最高的用户。本实施例中,优先选取用户需求al、a2、a3、a41进行处理,用户需求对应的deadline为al早于a2早于a3早于a41,排序后的优先级顺序为al、a2、a3、a41 ;如步骤2所述,由于预留的服务实例数量无法满足用户的用量需求,因此将用户的需求a4减掉已分配的服务实例数量后向下一时间段推移,即将a42向下一时间段推移。
[0016]4、此时一个预留的服务实例内有多个用户需求,采用以下静态调度算法进行调度,如图2所示:
I)、根据用户的需求到达时间以及deadline进行初步分配后,将一个用户的需求量作为一个整体,按照用户需求到达顺序依次堆放在处理周期分别为Cl、c2、c3、c4中,此时的堆放顺序为al、a2、a3、a41,其分别对应的需求具体数量为4、2、3、4 ;
对于新到达的用户,在其允许的时间范围内,优先堆放在已使用量最少的处理周期中。如本服务实例中各处理周期中堆放的用户需求量分别为4、2、3、4,此时一个新的用户需求到达本服务实例,其需求量为1,为了充分利用每个处理周期,此新的用户需求可以添加到处理周期c2中(其已使用处理能力为2)或者处理周期c3中(其已使用处理能力为3),加上新到达用户的需求其处理总量依然小于/等于最大处理能力4个单位;但如果根据新用户deadline,该用户需求必须在处理周期c2结束前处理完,则只添加在处理周期c2。
[0017]若所有处理周期使用量相同,则按照新用户的Deadline范围,堆放在允许时间范围内最早的处理周期中。假设本服务实例中堆放的用户需求量均为2、2、2、2,则新到达用户I个需求放在c3至c4任意一个处理周期都不会超出处理能力,但如果根据新用户需求的deadline,该用户需求必须在处理周期c2结束前处理完,则只能添加在处理周期cl或c2中,又由于需要选择最早处理周期,则最终添加在处理周期Cl中。
[0018]2)、依次将用户需求al放在处理周期Cl,用户需求a2堆放在处理周期c2 ;用户需求a3堆放在c3处理周期,用户需求a41堆放在c4处理周期,如图3 (a)所示;
3)、用所有用户的总需求量除以处理周期数M得到每个处理周期的任务量E均值:
E= (al+a2+a3+a41) /M= (4+2+3+4) /6 ^ 2.1
4)、按照计算出来的任务量E均值重新从服务实例中的第一个处理周期开始依次堆放任务量,堆放顺序为2、2、2、2、2、2,剩余部分再从第一个处理周期开始依次堆放,最终堆放顺序为3、2、2、2、2、2,如图3 (b)所示;
如果某用户在一个处理周期内需求量超过其他用户需求量均值的2倍时,则将该用户的需求量剔除计算公式,重新计算任务量E均值,其他处理周期使用该均值分配任务量,而该超量用户放在原处理周期中采用其他方式满足其需求。各用户需求al、a2、a3、a41,其分别对应的需求具体数量为4、2、4、8,如图4 (a)所示;其中a41的需求具体数量最高8,则将(al+a2+a3)/3= (4+2+4)/3 ^ 3.3求得al、a2、a3用户需求的均值,由此可见a41的需求量已超过al、a2、a3的需求量均值的2倍,需将用户需求a41剔除,a41剔除后继续占用原来的处理周期c4 ;用al、a2、a3总需求量除以剩余处理周期数5得到每个处理周期的任务量E均值:E= (al+a2+a3)/M= (4+2+4)/5=2,按照计算出来的任务量均值从服务实例中的第一个处理周期开始依次堆放任务量,由于处理周期c4被a41占用,因此cl、c2、c3、c5、c6处理周期的对应堆放顺序为2、2、2、2、2,如图4 (b)所示。
[0019]如果前一个用户的需求已经处理完成而后一个用户需求还未到达,则等待后一个用户到达后,重新计算任务量均值。各用户需求31、&2、&3、&41,其分别对应的需求具体数量为4、2、4、8,如图5 (a)所示;其中a3、a41最早于处理周期c4到达(a41晚于a3),对于al、a2,只将其任务量均分到处理周期cl_c3,每个处理周期的任务量E均值为:(al+a2)/3=(4+2)/3=2.对于a3、a41,将其任务量分配到处理周期c4_c6中,本例中由于a41需求量超过a3的2倍,需将用户需求a41剔除,a41剔除后继续占用原来的处理周期c4 ;用a3总需求量除以剩余处理周期数2得到每个处理周期的任务量E均值:E=a3/M=4/2=2,按照计算出来的任务量均值从服务实例中的第一个处理周期开始依次堆放任务量,由于处理周期c5被a41占用,因此(:1、02、03、04、05、06的对应堆放顺序为2、2、2、2、8、2,如图5 (b)所示;若此时a41的需求量为4,则不需要单独剔除计算a41,将(a3+a41)/3= (4+4)/3?2.6,求得c4、c5、c6每个处理周期的均值,因此Cl、c2、c3、c4、c5、c6的对应堆放顺序为2、2、2、3、3、2,如图6所示。
[0020]如果有一个或几个处理周期用户需求量很小,小于剩余用户均值的1/3,则将这些处理周期剔除,重新计算任务量均值。如图7 (a)所示,各用户需求al、a2、a3、a41,其分别对应的需求具体数量为4、l、4、5JU(al+a3+a41)/3=(4+4+5)/3?4.3,由于a2的需求量已小于al、a3、a41的需求量均值的1/3,需将用户需求a2剔除,a2剔除后继续占用原来的处理周期c2 ;用al、a3、a41总需求量除以剩余处理周期数6得到每个处理周期的任务量E均值:E= (al+a3+a41)/M= (4+4+5)/6?2.16,按照计算出来的任务量均值从服务实例中的第一个处理周期开始依次堆放任务量,由于处理周期a2仍然在处理周期c2,因此Cl、c2、c3、c4、c5、c6的对应堆放顺序为3、3、2、2、2、2,如图7 (b)所示。
[0021]5、将以上处理结果反馈给用户或者付诸实施。
[0022]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下还可以做出若干改进,这些改进也应视为本发明的保护范围。
【权利要求】
1.一种面向用户需求Deadline的云代理预约分配方法,其特征在于包括以下步骤: 1)、云代理商向云服务提供者申请预留服务实例,每个服务实例设有若干个处理周期; 2)、用户向云代理商提出使用申请,并给出各自的需求量和Deadline; 3)、云代理商通过EDF算法判定用户的优先级,并将服务实例按用户优先级的高低顺序依次分配给用户; 4)、云代理商分别对每个服务实例中的用户需求采用静态调度算法进行调度: 41)、将一个用户的需求量作为一个整体,按照到达时间顺序依次堆放在服务实例的处理周期内; 42)、用服务实例中的总需求量除以服务实例处理周期数得到每个处理周期的任务量均值; 43)、按照时间顺序将每个处理周期的任务量调整为步骤42)计算出的均值,并从第一个处理周期开始堆放任务量; 5)、将处理结果反馈给用户或者付诸实施。
2.根据权利要求1所述的面向用户需求Deadline的云代理预约分配方法,其特征在于:所述步骤3)中,若预留的服务实例无法满足当前用户的需求量,则减掉已分配到服务实例的需求量后向下一时间段推移,直至用户的Deadline。
3.根据权利要求1所述的面向用户需求Deadline的云代理预约分配方法,其特征在于:所述步骤41)中,若服务实例中所有处理周期都已堆放有用户需求,对于新到达的用户需求,则按照新用户需求的Deadline范围,优先堆放在已使用量最少的处理周期中; 若所有处理周期使用量相同,则按照新用户的需求Deadline范围,堆放在允许时间范围内最早的处理周期中。
4.根据权利要求1、2或3所述的面向用户需求Deadline的云代理预约分配方法,其特征在于:所述步骤42)中,若某一用户在一个处理周期内需求量超过其他用户需求量均值的2倍时,则将该用户的需求量剔除,重新计算任务量均值; 若前一个用户的需求已经处理完成而后一个用户需求还未到达,则等待后一个用户到达后,重新计算任务量均值; 如果有一个或几个处理周期用户需求量很小,小于剩余用户均值的1/3时,则将这些处理周期剔除,重新计算任务量均值。
【文档编号】H04L29/08GK104270418SQ201410465324
【公开日】2015年1月7日 申请日期:2014年9月15日 优先权日:2014年9月15日
【发明者】李志刚, 陈卫卫, 刘钊, 李涛, 王真, 李文, 丁科 申请人:中国人民解放军理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1