[发明专利]一种基于IaaS层应用感知的Web多层应用动态资源调整方法有效
申请号: | 201410309032.X | 申请日: | 2014-06-30 |
公开(公告)号: | CN104123189B | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 吕智慧;王晶;吴杰 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 上海正旦专利代理有限公司31200 | 代理人: | 陆飞,盛志范 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于云计算和网络技术领域,具体为一种基于IaaS层应用感知的Web多层应用动态资源调整方法。其步骤包括IaaS云平台对Web多层应用架构的感知,即在传统的IaaS管理的基础上,增加对应用的管理及信息维护,以感知到Iaas层之上的Web多层应用的状态;在感知基础上进行动态资源需求量化评估,即首先对其进行建模,进而提出Web多层应用的动态资源需求的量化分析方法及算法;基于应用负载感知的资源动态调整,即在Web多层应用负载发生变化时,及时检测到资源需求并量化,然后做出响应,以动态调整资源分配。本发明在不影响应用性能的情况下优化调整虚拟机的资源分配,避免潜在的资源浪费,提高了数据中心整体的资源利用率。 | ||
搜索关键词: | 一种 基于 iaas 应用 感知 web 多层 动态 资源 调整 方法 | ||
【主权项】:
一种基于IaaS层应用感知的Web多层应用动态资源调整方法,其特征在于具体步骤为:第一步: IaaS云平台对Web多层应用架构的感知在传统的IaaS管理的基础上,增加对Web多层应用的管理及信息维护,以便感知其上部署的Web多层应用及其状态;在用户向云平台申请资源时,与当前以虚拟机为粒度的部署方式不同,采用面向应用的构建方式;设用户申请m个虚拟机集群,其按序对应Web多层应用的m个层次;对于每一个集群,用户选择部署一台或多台虚拟机作为初始配置;设用户为每个集群配置未来进行资源调整的范围,即设定最少使用的虚拟机台数以及最多使用的虚拟机台数,分别标记为和;其中,当某一集群的和都设为1时,则认为该应用层次不能通过增加虚拟机来动态扩展;除了获得传统IaaS云中用户期望的虚拟机资源配置信息外,同时得到用户应用的架构信息;将其应用信息总体标记为,其中体现应用的层数,而集合的每个元素记录当前的虚拟机配置数量以及min 和max;云平台根据这些信息部署应用后,进一步追踪到每个层次每台虚拟机的放置位置,也即全面了解到该用户的应用在云中的部署情况;第二步: Web多层应用的动态资源需求的量化评估(1) Web多层应用模型构建首先,从Web多层应用的用户请求、服务能力、服务方式几个方面分析Web多层应用的特征:(a)应用的用户请求Web多层应用的负载被认为是基于会话机制的用户请求,并且一个用户会话根据访问形式的不同,可能包括一系列请求;同一时刻,应用接受并处理众多并发用户请求;应用的用户请求是随机的,设两个连续到达的用户请求相隔的时间间隔相互独立,其到达情况服从泊松分布:其中,λ表示请求到达的平均速度;(b)应用的服务能力一个应用程序对用户提供多种不同的服务;对于不同的服务类型,其响应时间也即服务时间,依赖于其所调用的应用程序和服务的实时状态;设所有服务类型的服务时间具有相同的概率分布;它们之间的间隔时间也是相互独立的,服从负指数分布;对于Web多层应用的每一层,其容器是一台虚拟机,或者是由几台虚拟机组成的集群;(c)应用的服务方式应用处理用户请求的顺序采用先来先服务模式;采用排队论的思想对Web多层应用进行建模;排队系统表示为X/Y/Z/A/B/C的形式,其中,X表示顾客到达间隔时间分布,Y表示服务台服务时间分布,Z表示服务台个数,A表示系统容量限制,B表示顾客源总体数目,C表示服务规则;根据Web多层应用的特征,对于其每个层次,其用户请求到达时间服从泊松分布,同一层次的各台虚拟机的响应时间即服务时间服从负指数分布,其虚拟机数量为一台或多台,整个系统没有容量限制及用户通体数目限制,服务规则为先来先服务;将其每个层次建模为一个M/M/c///FCFS型排队模型,也即M/M/c型; (2) Web多层应用的资源需求量化评估基于以上Web多层应用的队列模型,进一步提出量化评估应用每一层次的资源需求的方法,并通过增加新的虚拟机或关闭不必要的虚拟机来满足Web多层应用的最佳资源配置;已知一个应用共有个层次,每层的虚拟机数目为(i=1,2,…,);对于应用的每个层次,将其建模为M/M/c型排队模型;首先,逐一考察用户请求的到达率、应用的服务速率、应用的分层及总体的响应时间;其中,用户请求的到达率为每秒到达的用户请求数,应用的服务速率为应用每秒能够处理的用户请求数;用户请求的到达率Web多层应用的第一层作为整个服务的入口,负责接收用户请求;应用的总请求到达率通过监控获得,其等于应用第一层的用户请求到达率,也即;设一个用户请求离开应用第i层后直接进入第j层的概率为;特殊的,表示用户请求直接从外部进入i层的概率;所有用户请求都从同一个入口即第一层进入应用,故,;表示用户请求从i层直接离开应用的概率;对于应用的第i层,到达的用户请求在完成本层处理后,前往其他层次或离开系统的概率总和为1:应用第i层的用户请求来自于从其他任意层次离开的请求,且每层的用户请求离开率等于其到达率,故该层总的请求率为它们的总和,其中表示第j层的用户请求离开率:以上概率通过运行时或离线监控评估取得;应用的服务速率与服务强度设定Web多层应用的同一层次的虚拟机采用相同的资源配置,都采用优化的贴近其应用特征的资源分配;用表示应用第i层每一台虚拟机的服务速率;对于Web多层应用的第i层整体而言,其平均服务速率为,其中为该层的虚拟机数目,则该层系统的服务强度为:应用每层的响应时间根据M/M/c型排队模型,应用第i层用户请求的响应时间等于该请求在队列中的等待时间和平均服务时间的总和:其中,表示该请求在队列中的等待时间,计算方式如下式:表示第i层的系统稳态概率,即:将(6)(7)带入(5),即获得Web多层应用第i层的响应时间;应用的总体端到端响应时间对于一个有个层次的Web多层应用而言,计算出其总体的端到端响应时间等于各个层次响应时间的总和,这里用r标记:将应用在SLA中期望的端到端响应时间标识为,算法的目标即是对应用的每一层找到最小的,使得;按照SLA保证方式,将其总体时间按照一定比例划分到每个层次,如果某个层次的处理能力不匹配该层次的,则对其进行资源调整; (3) Web多层应用的资源需求量化评估算法步骤:首先,在应用持续运行期间,每隔几分钟监控一次应用的请求到达率,即;然后,以已知的一系列应用信息,包括当前应用的全局信息App、各层次的服务速率、请求跳转概率等作为参数,对Web多层应用的每个层次的资源需求进行量化评估;计算出为满足SLA中该层应用的响应时间,其所需要的最低虚拟机数量,设为;最后,把该结果与当前已部署的虚拟机数量做对比:如果,且小于该层次可部署的最多节点数量,则为其新开启;如果,且高于该层次的最少部署节点数量,则关闭台虚拟机;否则,对该应用在当前的负载情况下,不再作资源调整;第三步: 应用负载感知的资源动态调整根据第二步算法,在Web多层应用负载发生变化时,及时检测到资源需求并做出响应,以动态调整资源分配;如果当前的资源配置不足以满足应用负载,则进行动态扩展、开启新的虚拟机;而当负载下降时,则采取动态收缩、关闭不必要的虚拟机,以减少资源浪费;基于相似性要求,设定对Web多层应用的同一层次的集群中的所有虚拟机采用相同的资源分配,即都采用根据其历史负载分析优化后的资源配置;(1)资源动态扩展当对一个Web多层应用的某个层次的集群进行扩展时,即需要开启新的虚拟机以增加其服务能力时,该集群中已有的虚拟机在过去一段时间的负载表现能够体现出该应用层次的特征及趋势,故用于为新的虚拟机的放置选择提供参考;对于新增加的虚拟机,选择一台物理机,尽量使得新来的负载与该物理机上原有的负载错峰,从而提高潜在的资源共享能力;将互补的或相关性不强的负载放置在一起,通过填补未使用的资源而平衡整体负载的波动性,并且有效的提高资源利用率;在统计学中,皮尔逊相关系数用于度量两个变量X和Y之间的相关程度,其值介于‑1到1之间,其计算方式如下式所示:借助以上公式,评估虚拟机负载时间序列与物理机负载时间序列的相关性,得到的结果越大,则说明二者相关性越强,应避免放置到一起;反之,则是比较优的候选对象;根据第二步(3)中算法的需求,即ScaleUp (,)函数,假设需要为应用的层开启台新虚拟机,这些虚拟机具有相同的资源配置需求,都采用优化后的虚拟机模板;对于物理机集群,首先对其根据剩余资源情况进行筛选,获得足够容纳待放置虚拟机的物理机列表list;这里,有多个资源维度,只有全部满足才能放置;应用每个层次之前具有一个请求分派器,使得用户请求按照一定的模式均衡的分配给各台服务器,应用同一层次的多台虚拟机的历史负载波动情况非常类似;取该层次已有负载在过去一段时间的平均值作为虚拟机的潜在负载;将此负载与list中的各台物理机的历史负载计算,选择值最小的将虚拟机部署在其上;当需要继续开启新的虚拟机时,更新该台物理机的可用资源,重新开始下一轮循环;(2)资源动态收缩当需要减少应用某一层次的虚拟机数量时,希望选择关闭其负载与承载它的物理机负载相关性最强的,从而平缓该物理机的资源消耗;根据第二步中(3)算法的需求,即ScaleDown(,)函数,假设需要为应用的层关闭台虚拟机;此时,在IaaS云中,对于该层次的每台虚拟机,获知承载它的物理机;通过监控功能分别取得和在过去一段时间的历史负载,利用公式(8)计算该虚拟机与物理机历史负载的相关性,结果记为;在选择关闭对象时,根据对各台虚拟机进行降序排列,选择值最高的、也就是相关性最强的一台关闭;如果这一轮循环还继续关闭虚拟机,则对物理机的历史负载进行处理,从中减去已关闭的虚拟机的负载值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410309032.X/,转载请声明来源钻瓜专利网。
- 上一篇:基于金融安全认证的移动互联网智能支付终端及支付系统
- 下一篇:旅行便携取暖器