专利摘要
本发明为一种基于分层多代理的云计算负载均衡方法,云计算平台经网络连接的多个节点中2个节点为任务监测控代理和资源监控代理,任务监测控代理下任务代理层的1~n个节点为任务子代理,资源监控代理下资源代理层的1~m个节点为资源子代理,各代理共同为云计算平台的管理节点,各管理节点根据负载情况进行任务分配,不同的管理节点分别负责任务监控、资源监控、资源分配等,不同层次的管理节点具有不同的功能,上下层管理节点之间相互通报任务信息和资源信息,协调合作,并发而且高效地处理多个云计算任务,实现云计算平台的负载均衡,提升云计算平台的任务处理能力。
权利要求
1.一种基于分层多代理的云计算负载均衡方法,云计算平台含经网络连接的多个节点,其特征在于:
所述云计算平台中2个节点分别为任务监测控代理和资源监控代理,任务监测控代理下设置任务代理层,任务代理层有1~n个节点为任务子代理,资源监控代理下设置资源代理层,资源代理层有1~m个节点为资源子代理,资源监控代理、任务监测控代理及其下层的1~n个任务子代理,1~m个资源子代理共同为云计算平台的管理节点,物理资源层有1~M个具备计算资源的从节点,任务池中有客户提交的1~N个待处理任务,基于分层多代理的云计算负载均衡方法包括如下步骤:
S1、任务监控代理监视任务池的当前任务信息、各任务子代理的当前负载信息、虚拟资源池当前的虚拟资源信息,定期向所有任务子代理通报当前虚拟资源信息;
S2、任务监控代理将任务池中当前的各待处理任务分别赋予优先级,并将某个待处理任务分发到某个任务子代理;
S3、接收任务的任务子代理根据任务需求创建虚拟机,监控虚拟机运行,并将任务执行信息报告给任务监控代理;
S4、资源监控代理收集各从节点当前负载信息,定期向所有资源子代理通报各从节点当前负载信息,同时资源监控代理监视各资源子代理的当前负载信息;
S5、资源监控代理将从节点资源虚拟化成虚拟资源信息、发送到虚拟资源层的虚拟资源池,并根据任务子代理发来的虚拟机信息,划分虚拟资源;
S6、资源监控代理根据代理选择策略,选择某个资源子代理部署虚拟机;
所述代理选择策略具体为:资源监控代理监视所有资源子代理负载M1、M2…Mm,比较其负载大小,将某任务子代理发送的虚拟机信息发送给负载最低的资源子代理;
S7、被资源监控代理选择的资源子代理部署虚拟机,并监控该虚拟机运行,同时向创建该虚拟机的任务子代理反馈任务执行信息。
2.根据权利要求1所述的基于分层多代理的云计算负载均衡方法,其特征在于:
所述步骤S1中任务监控代理监视任务池当前的任务信息包括任务的截止时间、任务长度、任务需要的内存、硬盘、网络带宽;任务子代理的当前负载信息包括任务子代理当前的CPU使用率、内存使用率、任务队列长度、响应时间;虚拟资源信息包括虚拟化后的CPU频率、内存大小、硬盘大小、网络带宽。
3.根据权利要求1所述的基于分层多代理的云计算负载均衡方法,其特征在于:
所述步骤S2具体包括如下子步骤:
S21、任务监控代理监视任务池,读取任务池中待处理任务,得到各待处理任务截止时间T1;
S22、任务监控代理比较某个待处理任务x的截止时间T1x和当前时间T2决定该任务优先级Gx,x为1~N中的任意数,待处理任务x的优先级具体计算公式为:Gx=T1x-T2,优先级G越小表明该任务优先级别越高;
S23、任务监控代理读取任务池中待处理任务的优先级G1、G2…GN,比较其优先级,优先处理优先级别高的任务;
S24、任务监控代理监视所有任务子代理负载L1、L2…Ln,比较其负载大小,将任务分发给负载最低的任务子代理;
S25、收集任务子代理报告的任务执行信息。
4.根据权利要求3所述的基于分层多代理的云计算负载均衡方法,其特征在于:
所述子步骤S24中某个任务子代理i负载的具体计算公式为:Li=a1*任务子代理i的CPU使用率+a2*任务子代理i的内存使用率+a3*任务子代理i的任务队列长度+a4*任务子代理i的响应时间,其中i为1~n中的任意数,a1、a2、a3、a4为负载计算权值,大于等于0且满足a1+a2+a3+a4=1。
5.根据权利要求1所述的基于分层多代理的云计算负载均衡方法,其特征在于:
所述步骤S3具体包括如下子步骤:
S31、任务子代理根据所收到的任务,计算所需的虚拟机信息,创建虚拟机;
S32、任务子代理根据从任务监控代理收到的虚拟资源信息,判断虚拟资源池中是否有足够虚拟资源满足该虚拟机;如果有,则将该虚拟机信息发送给资源监控代理,如果没有,则等待虚拟资源信息更新后,进行再次判断;
S33、如果任务子代理收到虚拟资源划分成功信息,则执行步骤S34;如果任务子代理收到虚拟资源划分失败信息,则执行步骤S32;
S34、任务子代理监视其创建的虚拟机的运行状态;
S35、任务子代理监测到其创建的虚拟机启动后,将任务发送到该虚拟机上执行;
S36、任务子代理从相应的资源子代理处收集任务执行信息,报告给任务监控代理;
S37、任务子代理在任务执行完毕时撤销其创建的虚拟机。
6.根据权利要求5所述的基于分层多代理的云计算负载均衡方法,其特征在于:
所述子步骤S31中虚拟机信息包括虚拟机CPU频率、内存大小、硬盘大小、网络带宽;虚拟机信息的具体计算公式为:虚拟机CPU频率=任务长度/任务优先级G,虚拟机内存=任务所需内存,虚拟机硬盘=任务所需硬盘,虚拟机网络带宽=任务所需网络带宽;虚拟机资源需求Q=(虚拟机CPU频率,虚拟机内存,虚拟机硬盘,虚拟机网络带宽)。
7.根据权利要求1所述的基于分层多代理的云计算负载均衡方法,其特征在于:
所述步骤S4中某个从节点负载信息包括CPU频率、内存大小、硬盘大小、网络带宽、CPU使用率、内存使用率、硬盘使用率、网络使用率;资源子代理的负载信息包括资源子代理的CPU使用率、内存使用率、虚拟机队列长度、响应时间。
8.根据权利要求1所述的基于分层多代理的云计算负载均衡方法,其特征在于:
所述步骤S5具体包括如下子步骤:
S51、资源监控代理将各从节点负载信息虚拟化成虚拟资源信息,发送到虚拟资源层的虚拟资源池;
S52、资源监控代理收到某任务子代理发送的虚拟机信息,查看虚拟资源信息,为该虚拟机划分虚拟资源;如划分成功,执行步骤S53;如划分失败,执行步骤S54;
S53、资源监控代理将该虚拟机加入虚拟资源池,更新虚拟资源信息,并将虚拟资源划分成功信息发送给创建所述虚拟机任务子代理;
S54、资源监控代理发送虚拟资源划分失败信息给创建所述虚拟机的任务子代理;
S55、资源监控代理收到某个虚拟机撤销信息后,将该虚拟机从虚拟资源池中删除,并更新虚拟资源信息。
9.根据权利要求1所述的基于分层多代理的云计算负载均衡方法,其特征在于:
所述步骤S6中某个资源子代理j负载的具体计算公式为:Mj=b1*资源子代理j的CPU使用率+b2*资源子代理j的内存使用率+b3*资源子代理j的虚拟机队列长度+b4*资源子代理j的响应时间,其中j为1~m的任意数,b1、b2、b3、b4为负载计算权值,大于等于0且满足b1+b2+b3+b4=1。
10.根据权利要求1所述的基于分层多代理的云计算负载均衡方法,其特征在于:
所述步骤S7具体包括如下子步骤:
S71、被资源监控代理选择的资源子代理接收资源监控代理发来的当前从节点负载信息和虚拟机信息;
S72、所述资源子代理根据从节点负载信息计算各个从节点当前负载O1、O2···OM和可用资源P1、P2…PM;
S73、所述资源子代理比较可用资源P1、P2…PM与虚拟机资源需求Q的大小,满足Pk≥Q条件的从节点k称为部署虚拟机的可行从节点;
S74、所述资源子代理比较所有可行从节点的当前负载,选择出负载最小的可行从节点,部署当前的虚拟机;
S75、所述资源子代理启动当前虚拟机,监视该虚拟机运行状态;
S76、所述资源子代理从该虚拟机收集当前任务执行信息,反馈给创建该虚拟机的任务子代理;
S77、所述资源子代理监测到该虚拟机撤销后,释放该虚拟机所部署的从节点资源,并将该虚拟机撤销信息发送给资源监控代理。
11.根据权利要求10所述的基于分层多代理的云计算负载均衡方法,其特征在于:
所述子步骤S72中某个从节点k当前负载的具体计算公式为:Ok=r1*从节点k的CPU使用率+r2*从节点k的内存使用率+r3*从节点k的硬盘使用率+r4*从节点k的网络使用率,其中,k为1~M的任意数,r1、r2、r3、r4为负载计算权值,大于等于0且满足r1+r2+r3+r4=1;某个从节点k当前可用资源的具体计算公式为:Pk={从节点k的CPU频率*(1-从节点k的CPU使用率),从节点k的内存大小*(1-从节点k的内存使用率),从节点k的硬盘大小*(1-从节点k的硬盘使用率),从节点k的网络带宽*(1-从节点k的网络使用率)}。
说明书
技术领域
本发明涉及一种云计算任务调度方法,尤其涉及一种基于分层多代理的云计算负载均衡方法。
背景技术
随着网络规模和速度的爆炸性增长,传统的数据处理和服务方式难以招架,于是云计算应运而生。云计算将数据处理过程从个人计算机或服务器转移到互联网上多个节点构成的云计算集群中,集群由某一中心服务器统一管理,此即中心管理节点,中心管理节点和网络中各从节点组成云计算平台。中心管理节点按客户的提出的任务分配云计算平台的资源,最终能达到与超级计算机相同的效果,有效地解决海量数据处理等问题。
云计算技术的核心问题就是平台的资源管理,其目标就是通过资源的合理调度,使云计算平台能够高效地处理任务。
在云计算环境中,面对海量的任务需求时,会出现资源分配不合理的情况。有的从节点的资源长时间闲置,有的从节点因为其资源频繁被使用、负载过重,各个从节点负载的不均衡严重影响了云计算平台的任务处理能力。因此必须要有合理的负载均衡策略,使资源分配时各个从节点的负载均衡,才能提高云计算平台的运行效率。
现已出现多种云计算平台任务处理的方法,如专利号为201210236332的中国发明专利申请“云计算资源分配方法”、专利号为201210472862.5的中国发明专利申请“云计算系统中的资源分配方法”、专利号为201010199455.2的中国发明专利申请“一种云计算负载均衡方法和设备”、专利号为201110051656.2的中国发明专利申请“基于云计算的网络负载均衡方法”、专利号为201210116060.0的中国发明专利申请“一种云计算环境下负载均衡实现方法”等。以上方法可归纳为:(1)通过获取各从节点的性能参数,计算从节点当前的负载情况,并通过一定的选择策略,选择适当的从节点提供资源处理当前任务;(2)通过虚拟化技术,对虚拟资源进行调度,通过虚拟机的增减和动态迁移,保证各个从节点的负载均衡;(3)基于SLA(服务等级协议)的负载均衡策略,以保证SLA为目的,对各个从节点的负载进行评估和优化。
在云计算平台架构中,中心管理节点集中进行平台的管理,即是一种主从模式的管理方式。中心管理节点作为主节点,平台的其它节点作为从节点,由中心管理节点统一对从节点进行管理。在这种管理方式下,中心管理节点需要不断地监控从节点负载状态、任务的执行情况、对资源进行调度分配等,这些任务所带来的计算开销非常大,导致在云计算平台中,中心管理节点的负载压力很重。上述的解决负载均衡的方法都是仅仅考虑了各从节点之间的负载均衡问题,而忽略了中心管理节点的负载情况。中心管理节点要部署完成上述负载均衡策略,其负担会进一步加重,造成其运行效率变低、甚至瘫痪。
因此,目前需要既能平衡云计算平台各个从节点之间的负载,又能有效分担中心管理节点的负载,适应实际需求的提升任务处理能力的云计算负载均衡方法。
发明内容
本发明的目的是针对现有技术中存在的不足,提供一种基于分层多代理的云计算负载均衡方法,设置分层多个代理承担目前云计算平台的中心管理节点监控从节点负载状态、任务的执行情况、对资源进行调度分配的工作,通过多代理之间相互交流、协同工作,并行高效地处理多个云计算任务,各层代理根据负载情况进行任务的分配,有效分担负载,实现云计算平台的各节点负载均衡,提升云计算平台的任务处理能力。
为了实现上述目的,本发明设计的一种基于分层多代理的云计算负载均衡方法,云计算平台含经网络连接的多个节点,其中2个节点分别为任务监测控代理和资源监控代理,任务监测控代理下设置任务代理层,任务代理层有1~n个节点为任务子代理,资源监控代理下设置资源代理层,资源代理层有1~m个节点为资源子代理,资源监控代理、任务监测控代理及其下层的1~n个任务子代理,1~m个资源子代理共同为云计算平台的管理节点,物理资源层有1~M个具备计算资源的从节点,任务池中有客户提交的1~N个待处理任务,本发明包括如下步骤:
S1、任务监控代理监视任务池的当前任务信息、各任务子代理的当前负载信息、虚拟资源池当前的虚拟资源信息,定期向所有任务子代理通报当前虚拟资源信息;
S2、任务监控代理将任务池中当前的各待处理任务分别赋予优先级,并将某个待处理任务分发到某个任务子代理;
S3、接收任务的任务子代理根据任务需求创建虚拟机,监控虚拟机运行,并将任务执行信息报告给任务监控代理;
S4、资源监控代理收集各从节点当前负载信息,定期向所有资源子代理通报各从节点当前负载信息,同时资源监控代理监视各资源子代理的当前负载信息;
S5、资源监控代理将从节点资源虚拟化成虚拟资源信息、发送到虚拟资源层的虚拟资源池,并根据任务子代理发来的虚拟机信息,划分虚拟资源;
S6、资源监控代理根据代理选择策略,选择某个资源子代理部署虚拟机;
所述代理选择策略具体为:资源监控代理监视所有资源子代理负载M1、M2…Mm,比较其负载大小,将某任务子代理发送的虚拟机信息发送给负载最低的资源子代理;
S7、被资源监控代理选择的资源子代理部署虚拟机,并监控该虚拟机运行,同时向创建该虚拟机的任务子代理反馈任务执行信息。
所述步骤S1中任务监控代理监视任务池当前的任务信息包括任务的截止时间、任务长度、任务需要的内存、硬盘、网络带宽;任务子代理的当前负载信息包括任务子代理当前的CPU使用率、内存使用率、任务队列长度、响应时间;虚拟资源信息包括虚拟化后的CPU频率、内存大小、硬盘大小、网络带宽。
所述步骤S2具体包括如下子步骤:
S21、任务监控代理监视任务池,读取任务池中当前待处理任务,得到各待处理任务截止时间T1;
S22、任务监控代理比较某个待处理任务x的截止时间T1x和当前时间T2决定该任务优先级Gx,x为1~N中的任意数,待处理任务x的优先级具体计算公式为:Gx=T1x-T2,优先级G越小表明该任务优先级别越高;
S23、任务监控代理读取任务池中待处理任务的优先级G1、G2…GN,比较其优先级,优先处理优先级别高的任务;
S24、任务监控代理监视所有任务子代理负载L1、L2…Ln,比较其负载大小,将任务分发给负载最低的任务子代理;
S25、任务监控代理收集各任务子代理报告的任务执行信息;
所述子步骤S24中某个任务子代理i负载的具体计算公式为:Li=a1*任务子代理i的CPU使用率+a2*任务子代理i的内存使用率+a3*任务子代理i的任务队列长度+a4*任务子代理i的响应时间,其中i为1~n中的任意数,a1、a2、a3、a4为负载计算权值,大于等于0且满足a1+a2+a3+a4=1。
所述步骤S3具体包括如下子步骤:
S31、任务子代理根据所收到的任务,计算所需的虚拟机信息,创建虚拟机;
S32、任务子代理根据从任务监控代理收到的虚拟资源信息,判断虚拟资源池中是否有足够虚拟资源满足该虚拟机;如果有,则将该虚拟机信息发送给资源监控代理,如果没有,则等待虚拟资源信息更新后,进行再次判断;
S33、如果任务子代理收到虚拟资源划分成功信息,则执行步骤S34;如果任务子代理收到虚拟资源划分失败信息,则执行步骤S32;
S34、任务子代理监视其创建的虚拟机的运行状态;
S35、任务子代理监测到其创建的虚拟机启动后,将任务发送到该虚拟机上执行;
S36、任务子代理从相应的资源子代理处收集任务执行信息,报告给任务监控代理;
S37、任务子代理在任务执行完毕时撤销其创建的虚拟机。
所述子步骤S31中虚拟机信息包括虚拟机CPU频率、内存大小、硬盘大小、网络带宽;虚拟机信息的具体计算公式为:虚拟机CPU频率=任务长度/任务优先级G,虚拟机内存=任务所需内存,虚拟机硬盘=任务所需硬盘,虚拟机网络带宽=任务所需网络带宽。虚拟机资源需求Q=(虚拟机CPU频率,虚拟机内存,虚拟机硬盘,虚拟机网络带宽)。
所述步骤S4中某个从节点负载信息包括CPU频率、内存大小、硬盘大小、网络带宽、CPU使用率、内存使用率、硬盘使用率、网络使用率;资源子代理的负载信息包括资源子代理的CPU使用率、内存使用率、虚拟机队列长度、响应时间。
所述步骤S5具体包括如下子步骤:
S51、资源监控代理将各从节点负载信息虚拟化成虚拟资源信息,发送到虚拟资源层的虚拟资源池;
S52、资源监控代理收到某任务子代理发送的虚拟机信息,查看虚拟资源信息,为该虚拟机划分虚拟资源;如划分成功,执行步骤S53;如划分失败,执行步骤S54;
S53、资源监控代理将该虚拟机加入虚拟资源池,更新虚拟资源信息,并将虚拟资源划分成功信息发送给创建所述虚拟机任务子代理;
S54、资源监控代理发送虚拟资源划分失败信息给创建所述虚拟机的任务子代理;
S55、资源监控代理收到某个虚拟机撤销信息后,将该虚拟机从虚拟资源池中删除,并更新虚拟资源信息。
所述步骤S6中某个资源子代理j负载的具体计算公式为:Mj=b1*资源子代理j的CPU使用率+b2*资源子代理j的内存使用率+b3*资源子代理j的虚拟机队列长度+b4*资源子代理j的响应时间,其中j为1~m的任意数,b1、b2、b3、b4为负载计算权值,大于等于0且满足b1+b2+b3+b4=1。
所述步骤S7具体包括如下子步骤:
S71、被资源监控代理选择的资源子代理接收资源监控代理发来的当前从节点负载信息和虚拟机信息;
S72、所述资源子代理根据从节点负载信息计算各个从节点当前负载O1、O2…OM和可用资源P1、P2…PM;
S73、所述资源子代理比较可用资源P1、P2…PM与虚拟机资源需求Q的大小,满足Pk≥Q条件的从节点称为部署虚拟机的可行从节点;
S74、所述资源子代理比较所有可行从节点的当前负载,选择出负载最小的可行从节点,部署当前的虚拟机;
S75、所述资源子代理启动当前虚拟机,监视该虚拟机运行状态;
S76、所述资源子代理从该虚拟机收集当前任务执行信息,反馈给创建该虚拟机的任务子代理;
S77、所述资源子代理监测到该虚拟机撤销后,释放该虚拟机所部署的从节点资源,并将该虚拟机撤销信息发送给资源监控代理。
所述子步骤S72中某个从节点k当前负载的具体计算公式为:Ok=r1*从节点k的CPU使用率+r2*从节点k的内存使用率+r3*从节点k的硬盘使用率+r4*从节点k的网络使用率,其中,k为1~M的任意数,r1、r2、r3、r4为负载计算权值,大于等于0且满足r1+r2+r3+r4=1;某个从节点k当前可用资源的具体计算公式为:Pk={从节点k的CPU频率*(1-从节点k的CPU使用率),从节点k的内存大小*(1-从节点k的内存使用率),从节点k的硬盘大小*(1-从节点k的硬盘使用率),从节点k的网络带宽*(1-从节点k的网络使用率)}。
与现有技术相比,本发明一种基于分层多代理的云计算负载均衡方法的优点为:1、采用分层多代理,现有云计算平台中心管理节点的管理工作由多个管理节点共同分担,不同层次的管理节点具有不同的功能,上下层管理节点之间相互通报任务信息和资源信息,多个管理节点之间协调合作,并发而且高效地处理多个云计算任务,提升云计算平台的任务处理能力;2、各管理节点根据负载情况进行任务分配,并由不同的管理节点分别负责任务监控、资源监控、资源分配等,有效分担负载,实现云计算平台的负载均衡。
附图说明
图1是本基于分层多代理的云计算负载均衡方法实施例云计算平台总体结构框图;
图2是图1中任务监控代理工作流程图;
图3是图1中的任务子代理工作流程图;
图4是图1中的资源监控代理工作流程图;
图5是图1中的资源子代理工作流程图;
图6是本基于分层多代理的云计算负载均衡方法实施例与静态负载均衡方法在相同的云计算平台上使用时节点的负载均衡度比较曲线图。
具体实施方式
下面结合附图,给出本发明的具体实施例,对本发明作进一步的详细描述。需要说明的是:本发明不局限于下面的实施例。
本基于分层多代理的云计算负载均衡方法实施例,云计算平台总体结构如图1所示,含经网络连接的多个节点,其中2个节点分别为任务监测控代理和资源监控代理,任务监测控代理下设置任务代理层,任务代理层有1~n个节点为任务子代理,资源监控代理下设置资源代理层,资源代理层有1~m个节点为资源子代理,资源监控代理、任务监测控代理及其下层的1~n个任务子代理,1~m个资源子代理共同为云计算平台的管理节点,物理资源层有1~M个具备计算资源的从节点,任务池中有客户提交的1~N个待处理任务。
为了更明确地说明本基于分层多代理的云计算负载均衡方法,通过云计算仿真平台CloudSim模拟实验环境。本例中n=4,m=4,任务代理监控、资源代理监控、任务子代理、资源子代理的CPU、内存、硬盘、网络带宽参数在一定范围内随机生成。M=30,其CPU、内存、硬盘、网络带宽参数在一定范围内随机生成。N=100,其任务长度、所需内存、硬盘、带宽参数在一定范围内随机生成,指定任务到达任务池的时间t1在范围[0:00—0:15]之间随机生成,任务截止时间t2在时间范围[0:05—0:20]之间随机生成,为了保证t1和t2之间存在执行任务的时间间隔,随机生成t1和t2满足条件:t1+5≦t2。
本例包括如下步骤:
S1、任务监控代理监视任务池的当前任务信息、各任务子代理的当前负载信息、虚拟资源池当前的虚拟资源信息,定期向所有任务子代理通报当前虚拟资源信息;
其中任务监控代理监视任务池当前的任务信息包括任务的截止时间、任务长度、任务需要的内存、硬盘、网络带宽;任务子代理的当前负载信息包括任务子代理当前的CPU使用率、内存使用率、任务队列长度、响应时间;虚拟资源信息包括虚拟化后的CPU频率、内存大小、硬盘大小、网络带宽。
S2、任务监控代理将任务池中当前的各待处理任务分别赋予优先级,并将某个待处理任务分发到某个任务子代理;
具体包括如下子步骤,其工作流程如图2所示,
S21、任务监控代理监视任务池,读取任务池中当前待处理任务,得到各待处理任务截止时间T1;
S22、任务监控代理比较某个待处理任务x的截止时间T1x和当前时间T2决定该任务的优先级Gx,x为1~N中的任意数,待处理任务x的优先级具体计算公式为:Gx=T1x-T2,优先级G越小表明该任务优先级别越高;
假设当前时间T2为0:00,有两个任务A和B,任务A的截止时间T1A为0:05,任务B的截止时间T1B为0:10。那么可以计算得出,任务A的优先级GA=5min,任务B的优先级GB=10min,由于GA<GB,因此任务A的优先级高。
S23、任务监控代理读取任务池中待处理任务的优先级G1、G2…GN,比较其优先级,优先处理优先级别高的任务;
S24、任务监控代理监视所有任务子代理负载L1、L2…Ln,比较其负载大小,将任务分发给负载最低的任务子代理;
S25、任务监控代理收集各任务子代理报告的任务执行信息;
所述子步骤S24中某个任务子代理i负载的具体计算公式为:Li=a1*任务子代理i的CPU使用率+a2*任务子代理i的内存使用率+a3*任务子代理i的任务队列长度+a4*任务子代理i的响应时间,其中i为1~n中的任意数,a1、a2、a3、a4为负载计算权值,大于等于0且满足a1+a2+a3+a4=1。例如权值a1=0.3,a2=0.3,a3=0.2,a4=0.2。
S3、接收任务的任务子代理根据任务需求创建虚拟机,监控虚拟机运行,并将任务执行信息报告给任务监控代理;
所述步骤S3具体包括如下子步骤,其工作流程如图3所示,
S31、任务子代理根据所收到的任务,计算所需的虚拟机信息,创建虚拟机;
所述虚拟机信息包括虚拟机CPU频率、内存大小、硬盘大小、网络带宽;虚拟机信息的具体计算公式为:虚拟机CPU频率=任务长度/任务优先级G,虚拟机内存=任务所需内存,虚拟机硬盘=任务所需硬盘,虚拟机网络带宽=任务所需网络带宽。虚拟机资源需求Q=(虚拟机CPU频率,虚拟机内存,虚拟机硬盘,虚拟机网络带宽)。
假设任务子代理从任务A的任务信息中得知,任务长度为30000百万条指令,所需内存、硬盘、网络带宽分别为512MB、4GB、10Mbit/s,且其优先级由任务监控代理给出GA=5min。则任务所需虚拟机信息通过计算可以得出:虚拟机CPU频率=30000百万条指令/5min=100MIPS(每秒百万条指令),虚拟机内存=512MB,虚拟机硬盘=4GB,虚拟机网络带宽=10Mbit/s,虚拟机资源需求Q=(100MIPS,512MB,4GB,10Mbit/s)
S32、任务子代理根据从任务监控代理收到的虚拟资源信息,判断虚拟资源池中是否有足够虚拟资源满足该虚拟机;如果有,则将该虚拟机信息发送给资源监控代理,如果没有,则等待虚拟资源信息更新后,进行再次判断;
S33、如果任务子代理收到虚拟资源划分成功信息,则执行步骤S34;如果任务子代理收到虚拟资源划分失败信息,则执行步骤S32;
S34、任务子代理监视其创建的虚拟机的运行状态;
S35、任务子代理监测到其创建的虚拟机启动后,将任务发送到该虚拟机上执行;
S36、任务子代理从相应的资源子代理处收集任务执行信息,报告给任务监控代理;
S37、任务子代理在任务执行完毕时撤销其创建的虚拟机。
S4、资源监控代理收集各从节点当前负载信息,定期向所有资源子代理通报各从节点当前负载信息,同时资源监控代理监视各资源子代理的当前负载信息;
某个从节点负载信息包括CPU频率、内存大小、硬盘大小、网络带宽、CPU使用率、内存使用率、硬盘使用率、网络使用率;资源子代理的负载信息包括资源子代理的CPU使用率、内存使用率、虚拟机队列长度、响应时间。
S5、资源监控代理将从节点资源虚拟化成虚拟资源信息、发送到虚拟资源层的虚拟资源池,并根据任务子代理发来的虚拟机信息,划分虚拟资源;
具体包括如下子步骤,其工作流程如图4所示,
S51、资源监控代理将各从节点负载信息虚拟化成虚拟资源信息,发送到虚拟资源层的虚拟资源池;
S52、资源监控代理收到某任务子代理发送的虚拟机信息,查看虚拟资源信息,为该虚拟机划分虚拟资源;如划分成功,执行步骤S53;如划分失败,执行步骤S54;
S53、资源监控代理将该虚拟机加入虚拟资源池,更新虚拟资源信息,并将虚拟资源划分成功信息发送给创建所述虚拟机任务子代理;
S54、资源监控代理发送虚拟资源划分失败信息给创建所述虚拟机的任务子代理;
S55、资源监控代理收到某个虚拟机撤销信息后,将该虚拟机从虚拟资源池中删除,并更新虚拟资源信息。
S6、资源监控代理根据代理选择策略,选择某个资源子代理部署虚拟机;
代理选择策略具体为:资源监控代理监视所有资源子代理负载M1、M2…Mm,比较其负载大小,将某任务子代理发送的虚拟机信息发送给负载最低的资源子代理;某个资源子代理j负载的具体计算公式为:Mj=b1*资源子代理j的CPU使用率+b2*资源子代理j的内存使用率+b3*资源子代理j的虚拟机队列长度+b4*资源子代理j的响应时间,其中j为1~m的任意数,b1、b2、b3、b4为负载计算权值,大于等于0且满足b1+b2+b3+b4=1。
S7、被资源监控代理选择的资源子代理部署虚拟机,并监控该虚拟机运行,同时向创建该虚拟机的任务子代理反馈任务执行信息。
具体包括如下子步骤,其工作流程如图5所示,
S71、被资源监控代理选择的资源子代理接收资源监控代理发来的当前从节点负载信息和虚拟机信息;
S72、所述资源子代理根据从节点负载信息计算各个从节点当前负载O1、O2…OM和可用资源P1、P2…PM;
某个从节点k当前负载的具体计算公式为:Ok=r1*从节点k的CPU使用率+r2*从节点k的内存使用率+r3*从节点k的硬盘使用率+r4*从节点k的网络使用率,其中,k为1~M的任意数,r1、r2、r3、r4为负载计算权值,大于等于0且满足r1+r2+r3+r4=1;某个从节点k当前可用资源的具体计算公式为:Pk={从节点k的CPU频率*(1-从节点k的CPU使用率),从节点k的内存大小*(1-从节点k的内存使用率),从节点k的硬盘大小*(1-从节点k的硬盘使用率),从节点k的网络带宽*(1-从节点k的网络使用率)}。
假设从节点Y,CPU频率为300MIPS、CPU使用率50%、内存为2GB、内存使用率60%、硬盘100GB、硬盘使用率30%、网络带宽为100Mbit/s,使用率20%。由以上从节点信息可以计算出,从节点Y当前负载OY=0.3*50+0.3*60+0.2*30+0.2*20=43,从节点Y当前可用资源PY={150MIPS,800MB,70GB,80Mbit/s}。
S73、所述资源子代理比较可用资源P1、P2…PM与虚拟机资源需求Q的大小,满足Pk≥Q条件的从节点k称为部署虚拟机的可行从节点;
例如比较子步骤72所得PY={150MIPS,800MB,70GB,80Mbit/s}与子步骤37所得虚拟机需求资源Q={100MIPS,512MB,4GB,10Mbit/s},PY为部署虚拟机的可行从节点。
S74、所述资源子代理比较所有可行从节点的当前负载,选择出负载最小的可行从节点,部署当前的虚拟机;
通过比较各个可行从节点当前的负载,可行从节点PY的当前负载OY为最小,那么资源子代理就将虚拟机部署在PY上运行
S75、所述资源子代理启动当前虚拟机,监视该虚拟机运行状态;
S76、所述资源子代理从该虚拟机收集当前任务执行信息,反馈给创建该虚拟机的任务子代理;
S77、所述资源子代理监测到该虚拟机撤销后,释放该虚拟机所部署的从节点资源,并将该虚拟机撤销信息发送给资源监控代理。
为了评估本发明所采用的负载均衡方法的有效性,引入负载均衡度作为评价指标,其定义为时刻t各个节点的负载的方差,其计算公式如下:
上式中m为节点数量,Loadi为节点i的负载,Loadavg为所有节点平均负载,负载均衡度越小,表示节点之间的负载越均衡。
为了便于比较,通过云计算仿真平台CloudSim模拟对比例静态负载均衡方法(Static)的实验环境,其物理层节点数也为30,中心管理节点的CPU、内存、硬盘、网络带宽参数在一定范围内随机生成,任务队列数为100,其任务长度、所需内存、硬盘、带宽参数与本实施例相同。
在时间范围[0:00—0:20]的20分钟内,分层多代理的负载均衡方法(Multi_Agent)和静态负载均衡方法(Static)在云计算平台上使用时,节点的负载均衡度曲线如图6所示,图内横坐标为时间,单位为分钟m,纵坐标为负载均衡度LB,“○”连线为静态负载均衡方法节点的负载均衡度曲线,“米”连线为本分层多代理的负载均衡方法节点的负载均衡度曲线。
由图6可以看出,基于分层多代理的负载均衡方法与静态负载均衡方法相比,其负载均衡度更低,不仅从节点有效地分担了计算负载,而且由于多代理的各管理节点有效地分担了中心管理节点的管理负载,使得整个云计算平台的负载更加均衡。较低的负载均衡度也表明,基于分层多代理的负载均衡方法能使云计算平台在同一时间内还可以接受并处理更多的任务,提升了云计算平台的处理能力。
上述实施例,仅为对本发明的目的、技术方案和有益效果进一步详细说明的具体个例,本发明并非限定于此。凡在本发明的公开的范围之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。
一种基于分层多代理的云计算负载均衡方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0