当前位置: 首页 > 专利查询>北京大学专利>正文

一种基于云计算的互联网应用调度方法技术

技术编号:6548620 阅读:204 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种基于云计算的互联网应用调度方法,包括步骤:1)安装于应用服务器前端的调度器监控应用服务器的配置信息,各服务器上应用的需求,以及上一时刻和当前时刻的用户请求数;各应用所有实例的运行信息;2)当监测到应用发生变化,包括应用的负载下降、应用退出系统、应用加入系统、应用的负载上升,通过装箱算法对应用发生变化的服务器负载进行调整,并通过转发器改动每个应用的各实例间的负载分布,减少在新服务器上开启新的应用实例;3)调度器输出需要关闭的应用实例、需要新启动的应用实例,以及在哪个服务器上启动。本发明专利技术的方法根据用户应用的动态需求动态地为用户调整资源的使用数量,尽量避免启动新的应用实例,代价小。

【技术实现步骤摘要】

本专利技术属于计算机应用
,涉及一种云计算资源调度方法,尤其是。
技术介绍
近年来兴起的云计算模式已经成为工业界和学术界关注的热点问题。传统的计算模式是每个用户维护自己的服务器计算资源、存储资源。而云计算是一个全新的应用模式, 云计算厂商向客户提供在线服务,使计算资源集中化管理,用户按需获取云计算资源。云计算服务质量是当前重要的研究问题之一。在云计算的模式下,云计算厂商如何为用户提供一个稳定的服务环境成为一个迫切需要解决的问题。云计算把计算资源集中化管理,进一步降低了维护服务器所带来的开销。调查显示,越来越多的企业已不再自己维护数据中心,而把自己的应用程序部署在云计算平台上, 由云计算提供商按需分配资源。计算机集群对于资源的合理使用和有效调度都提出了很高的要求,由于各类应用程序对计算资源的需求有很大不同,即使是同一类应用在不同时间的资源需求也会发生很大的变化,这就要求一个快速、高效的策略来对计算集群的CPU、内存、网络等各类资源进行整体的优化。但是在实际上,各节点之间的软硬件资源往往有差异,包括操作系统的类型、版本、补丁、函数库、应用环境等。这使得其上运行的应用程序很难在各节点之间自由的迁移。虚拟技术提供了在物理机之上的一个抽象。它有效地屏蔽掉了底层软硬件的差异而为其上的应用程序提供了一个一致的运行环境,即“虚拟平台”。云计算服务的一个突出优点是资源的灵活性用户可以根据需求随时调整自己使用的资源,而不用像以往那样投入大量的资本进行资源的购置和维护。例如亚马逊的EC2 服务,允许客户根据需求确定租用虚拟机的数目。然而,在这些服务中,具体的资源数目却仍然需要由用户自行确定。如果云服务提供方能够根据用户应用的动态需求动态地为用户调整资源的使用数量,无论对服务提供方和使用方都有很大好处。
技术实现思路
鉴于现有技术存在的不足,本专利技术提供了一种云计算环境互联网应用调度方法, 能够根据用户应用的负载变化动态调整应用实例在哪个服务器上的运行。为了实现上述目的,本专利技术采用的技术方案概述如下,包括步骤1)安装于应用服务器前端的调度器监控应用服务器的配置信息,各服务器上应用的需求,以及上一时刻和当前时刻的用户请求数;各应用所有实例的运行信息;2)当监测到应用发生变化,包括应用的负载下降、应用退出系统、应用加入系统、 应用的负载上升,通过装箱算法对应用发生变化的服务器负载进行调整,并通过转发器改动每个应用的各实例间的负载分布,减少在新服务器上开启新的应用实例;3)调度器输出需要关闭的应用实例、需要新启动的应用实例,以及在哪个服务器上启动。所述步骤1)应用服务器是同构应用服务器。所述步骤1)如果应用服务器为异构应用服务器则根据同构关系将相同配置的组成同构应用服务器。所述步骤2)装箱算法为将服务器视为箱子,CPU资源的容量视为箱子的大小;应用视为一类物品,不同应用对应的物品属于不同的类别;每个应用的请求总数对应物品的数目;一个箱子的类别限制c取为物理机内存资源总数除以应用的最大内存资源需求;将物品的类别随意分成若干个集合,并保证除了至多一个集合含有的类别数目小于c外,其他的集合都包含恰好c个类别,分别处理每个单独的集合。所述步骤2、当监测到应用负载发生下降变化,收集负载下降的应用到一个列表, 判断是否能在不启动新应用实例的情况下调整负载,如果可以不启动新应用实例,直接调整各应用在服务器上的负载分配,如果必须启动新应用实例,从原负载未满的服务器上随机挑选一个应用移动一单元的负载填补已下降的负载。所述步骤2、当监测到应用负载发生上升变化,收集负载上升的应用到一个列表, 判断是否能在不启动新应用实例的情况下调整负载,如果可以调整各应用在服务器上的负载分配,如果不可以,将负载分配到原负载未满的服务器上。所述步骤幻将应用的类别随意分成若干个集合,并保证除了至多一个集合含有的应用类别数目小于c外,其他的集合都包含恰好c个应用类别,当监测到有加入的新应用,判断加入的新应用是否足以填补这些集合,足以填补,将余下的新应用使用贪心法形成新的集合,且满足最多一个集合含有的应用类别数目小于C的性质。与现有技术相比,本专利技术的方法具有的技术效果有根据用户应用的动态需求动态地为用户调整资源的使用数量,尽量避免启动新的应用实例,代价小,在高负载时能够保持较高请求满足率,而在低负载时能够进行绿色计算,节省能源。附图说明图1为本专利技术负载上升算法流程图;图2为本专利技术负载下降算法流程图。图3为本专利技术方法处理负载上升的流程图;图4为本专利技术方法处理负载下降的流程图;图5为本专利技术方法处理新加入应用的流程图;图6为本专利技术方法的流程图;图7a为近似比R和c变量之间的关系;图7b为近似比R和ν变量之间的关系。具体实施例方式以下结合附图和具体实施例对本专利技术的方法做详细的描述。1)对云环境下服务器应用的调度问题进行建模传统装箱问题(bin-packing)是一个得到广泛研究的NP难问题,它要求将一系列大小在(0,1]范围内的物品装入最少个数的大小为1的箱子中。这个问题有各种变型,如在线的装箱问题,要求在不知道即将到来的物品序列的情况下进行最小箱子数目装箱;半在线(semi-online)的装箱问题,在在线的基础上,允许每次新物品到来时,调整原有物品的位置;多维装箱问题,物品和箱子的大小扩展为一个多维的向量;还有允许物品中途离开的装箱问题等等。装箱问题的另一个变种是Class Constrained Bin Packing (CCBP),在这个问题中,箱子有固定的大小v,物品大小都是单位1,每个物品会有属于一个class,而一个箱子只能放入至多c种class的物品,问题的目标是将一系列物品放入最少数目的箱子中。这个问题和本专利技术方法考虑的互联网应用调度问题很相近,如果本专利技术方法假设所有服务机是同构的,而且只考虑应用的内存和CPU两维度的负载,可以将其抽象为一个CCBP问题变种。对于本专利技术来说具体的建模过程是将服务器抽象成箱子,CPU资源的capacity为箱子的大小;应用视为一类物品,不同应用对应的物品属于不同的类别;每个应用的请求总数换算为CPU资源需求后看做该应用对应物品的数目;一个箱子的类别限制c取为物理机内存资源总数除以应用的最大内存资源需求。这样,当每次调度器被调用时,应用请求数目的增大或减少,可以看做对应该类物品的到达和离去。所以,只要设计一个能够处理物品新增和离去的CCBP的算法,就可以运用到调度器中,并同时满足最大化应用请求服务率和绿色计算的需求。本专利技术将物品的类别随意分成若干个集合,并保证除了至多一个集合含有的类别数目小于c外,其他的集合都包含恰好c个类别。之后的物品装箱过程中,都分别考虑每个单独的集合,即各集合间互不影响。由于单个集合中类别数目不超过C,所以可以用一个简单的贪心算法进行装箱将一个箱子装满后再开启另外一个箱子。算法主要要考虑的是新增物品或物品离去的情况。一个关键的问题是在不同的箱子中放入一个物品对应到实际环境中,有两种情况一是在一个新的服务器中开启一个新的应用实例;二是如果这个服务器中已经运行着该应用的实例,那只要简单的将转发器中负载的配比调高即可。这两种情况中,前者的代价很大,而后者相比之下则非常小,所以本专利技术方法要设法在每次装箱的过程本文档来自技高网
...

【技术保护点】
1.一种基于云计算的互联网应用调度方法,包括步骤:1)安装于应用服务器前端的调度器监控应用服务器的配置信息,各服务器上应用的需求,以及上一时刻和当前时刻的用户请求数;各应用所有实例的运行信息;2)当监测到应用发生变化,包括应用的负载下降、应用退出系统、应用加入系统、应用的负载上升,通过装箱算法对应用发生变化的服务器负载进行调整,并通过转发器改动每个应用的各实例间的负载分布,减少在新服务器上开启新的应用实例;3)调度器输出需要关闭的应用实例、需要新启动的应用实例,以及在哪个服务器上启动。

【技术特征摘要】
1.一种基于云计算的互联网应用调度方法,包括步骤1)安装于应用服务器前端的调度器监控应用服务器的配置信息,各服务器上应用的需求,以及上一时刻和当前时刻的用户请求数;各应用所有实例的运行信息;2)当监测到应用发生变化,包括应用的负载下降、应用退出系统、应用加入系统、应用的负载上升,通过装箱算法对应用发生变化的服务器负载进行调整,并通过转发器改动每个应用的各实例间的负载分布,减少在新服务器上开启新的应用实例;3)调度器输出需要关闭的应用实例、需要新启动的应用实例,以及在哪个服务器上启动。2.如权利要求1所述的方法,其特征在于,所述步骤1)应用服务器是同构应用服务器。3.如权利要求1所述的方法,其特征在于,所述步骤1)如果应用服务器为异构应用服务器则根据同构关系将相同配置的组成同构应用服务器。4.如权利要求1所述的方法,其特征在于,所述步骤2)装箱算法为将服务器视为箱子,CPU资源的容量视为箱子的大小;应用视为一类物品,不同应用对应的物品属于不同的类别;每个应用的请求总数对应物品的数目;一个箱子的类别限制c取为物理机内存资源总数除以应用的最大内存资源需求;将物品的类别随意分成若干个集合...

【专利技术属性】
技术研发人员:肖臻罗海鹏陈琪
申请(专利权)人:北京大学
类型:发明
国别省市:11

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

1