首页> 中国专利> 基于会话的云计算环境下Web应用自动弹性扩展方法

基于会话的云计算环境下Web应用自动弹性扩展方法

摘要

本发明的基于会话的云计算环境下Web应用自动弹性扩展方法,包括:a)Web应用系统的部署;b)已用资源数量判断;c)增加资源配额数量;d).获取瞬时会话连接数;e)瞬时会话连接数的比较;f)计算平均会话连接数;g)平均会话连接数的比较;h)剩余资源的判断;i)增加Web应用服务器;j)应用服务器数量的判断;k)删除Web应用服务器。本发明的Web应用自动弹性扩展方法,通过瞬时会话连接数和平均会话连接数,对高并发的Web应用系统及一定时间间隔内会话数较多或较少的Web应用系统集群进行动态扩展和缩减操作,实现了基于会话的Web应用系统动态调整,提高了Web应用系统的适应性。

著录项

  • 公开/公告号CN103561055A

    专利类型发明专利

  • 公开/公告日2014-02-05

    原文格式PDF

  • 申请/专利权人 山东省计算中心;

    申请/专利号CN201310471865.1

  • 申请日2013-10-11

  • 分类号H04L29/08(20060101);

  • 代理机构37218 济南泉城专利商标事务所;

  • 代理人褚庆森

  • 地址 250014 山东省济南市历下区科院路19号山东省计算中心

  • 入库时间 2024-02-19 22:36:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-17

    授权

    授权

  • 2014-03-12

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20131011

    实质审查的生效

  • 2014-02-05

    公开

    公开

说明书

技术领域

 本发明涉及一种基于会话的云计算环境下Web应用自动弹性扩展方法,更具体的说,尤其涉及一种云计算环境下依据web应用系统会话连接数量自动的扩展、缩减基于虚拟机的web应用服务器集群的方法。

背景技术

云计算是网格计算、分布式计算、并行计算、网络存储、虚拟化等传统计算机和网络技术发展融合的产物,是下一代网络计算平台的核心技术,它将计算任务分布在大量物理计算机构成的资源池上,使各种应用能够按需获取计算能力、存储空间和信息服务,从而实现资源的全面透明共享,数据的可靠安全存储,它从根本上改变了信息发布、获取和共享的方式。

Internet应用是目前发展最为迅速的应用,也是企业构建业务系统的常用方式,其运行的核心是Web应用服务器,在实际运营中,随着业务量的不断增大,应用服务器需要同时处理大量的并发用户请求,早期一般采用单一服务器模式,该模式往往无法及时处理所收到的大量请求,造成应答的滞后和请求的丢失,同时也存在单点故障问题。近年来,Web应用服务系统一般采用集群模式构建,所谓Web应用服务器集群,是由一组同时运行同一个Web应用的服务器组成的集群系统,但外界看来就像是一个服务器一样。与单一服务器模式相比,集群模式具有以下两个特点:

1)       可伸缩性(Scalability):集群通过增加服务器来提供额外的工作能力,从而保证了可伸缩性。

2)       高可用性(High Availability):指一个集群用很多机器提供服务请求,即使一台机器崩溃了,其他机器也可透明的接过任务,从而消除单点故障问题。

在云计算环境中,Web应用服务器集群主要通过虚拟化技术实现。虚拟化技术是云计算核心技术之一,通过系统的虚拟化技术,可以在同一物理设备上运行多个虚拟机。所谓虚拟机,就是计算机软件,其运行于物理硬件或物理计算机之上,它可以运行操作系统(称为客户操作系统)和应用程序,它有自己的虚拟硬件。虚拟机不是仿真器和模拟器,它们是真实的计算机,可以实现与物理计算机相同甚至超过物理计算机的功能。采用虚拟化技术构建的Web应用服务器集群,集群中的服务器节点是虚拟机而不是真实的物理机,虚拟Web应用服务器集群可以被快速的灵活配置,更高效、充分的利用物理资源,从而降低管理和使用成本。目前,越来越多的用户选择云计算提供的虚拟机服务建设自己的虚拟集群,为自身的Web应用提供支撑服务。

但是,目前通过云计算平台构建的基于虚拟机的Web应用服务器集群仅是完成集群的构建,并未实现集群的自动化管理,无法实现基于某种应用策略的集群动态弹性调整。目前通常情况下,用户需要自主监控应用服务器集群的运行,依据获得的服务器集群运行参数,自行判断是否需要添加或缩减集群中的服务器数量,同时由于Web应用存在同时并发多个用户的情况,在这种情况中需要对集群进行及时的扩展,而目前方式下,用户监测到高并发数,需要向云平台提出资源扩展需求,由云平台启动并添加虚拟服务器到当前集群中,这种采用人工进行的方式严重的影响了系统的性能,造成较差的用户体验。此外,在目前采用的服务器扩展中存在两种方式,一种是首先启动虚拟机,然后手动的将Web应用系统部署安装到虚拟机中;第二种是将Web应用系统做成虚拟机模板,扩展时直接启动虚拟机,对于以上两种方式,第一种扩展复杂费时,需要花费大量安装部署时间;第二种部署时间快,但不利于扩展,业务系统发生变化,需要重新制作虚拟机镜像,重新构建Web应用系统。因此,云计算环境中在Web应用工作负载可变情况下,如何自动化的部署及动态调整Web应用服务器集群,如何在扩展过程中快速、高效的部署Web应用,并保持一定的扩展性成为Web应用在云平台发展中急需解决的重大问题。

发明内容

本发明为了克服上述技术问题的缺点,提供了一种基于会话的云计算环境下Web应用自动弹性扩展方法。

本发明的基于会话的云计算环境下Web应用自动弹性扩展方法,其特别之处在于,包括以下步骤:a).Web应用系统部署,在云计算平台上部署                                               台Web应用服务器、台负载均衡服务器、一台数据库服务器,以构成Web应用系统;同时,添加一台用于存放扩展所需资源的资源同步服务器;每台服务器均为云平台提供的虚拟机,、均为正整数,,;b).已用资源数量判断,首先获取云计算平台为用户设定的资源配额数量,然后将用户当前已使用资源数量与资源配额数量进行比较,如果已使用资源数量小于资源配额数量,则执行步骤d);如果已使用资源数量大于或等于资源配额数量,则执行步骤c);c).增加资源配额数量,通过云计算平台管理接口调整用户资源配额数量,使其大于用户当前已使用资源数量,执行步骤d);d).获取瞬时会话连接数,以时间为时间间隔持续获取Web应用系统的瞬时会话连接数;e).瞬时会话连接数的比较,设限定的最大瞬时并发会话数为,将步骤d)中获取的瞬时会话连接数与最大瞬时并发会话数进行比较,如果存在连续两次监测的>,则执行步骤h);如果未出现连续两次监测的>,则执行步骤f);f).计算平均会话连接数,设在时间段内获取的瞬时会话连接数依次为,,…,,则通过公式(1)计算出时间段内的平均会话连接数:

       (1)

g).平均会话连接数的比较,设限定的最大、最小平均会话连接数的阀值分别为、,将步骤f)中求取的平均会话连接数与、进行比较,如果>,则执行步骤h);如果<,则执行步骤j);如果≤≤,则跳转至步骤b),继续对Web应用系统会话连接数进行监测,不做任何增加与删除Web应用服务器的操作;h).剩余资源的判断,判断云计算平台的当前剩余资源是否满足增添用户指定数量的Web应用服务器需求,如果满足,直接执行步骤i);如果不满足,则为云计算平台添加新的物理服务器资源,以满足增添Web应用服务器的需求,执行步骤i);i).增加Web应用服务器,启动用户指定数量的虚拟Web应用服务器并将其加入到当前Web应用服务器集群中,同时将新增添的Web应用服务器信息添加至负载均衡服务器的配置信息中;跳转至步骤b);j).应用服务器数量的判断,获取当前集群中Web应用服务器的数量,如果Web应用服务器的数量为1台,则跳转至步骤b);如果Web应用服务器的数量为两台或两台以上,则执行步骤k);k).删除Web应用服务器,选取集群中的1台Web应用服务器,停止其工作,并将其从当前Web应用服务器集群中删除,同时将负载均衡服务器配置信息中相应的Web应用服务器信息删除。

步骤a)中的资源同步服务器,用于存放负载均衡服务器的配置信息、Web应用系统、应用中间件,可对新增加的Web服务器进行快速配置,避免了以往手动配置的弊端。步骤b)为用户当前已使用资源数量是否已达到其资源配额数量的判断,资源配额指云计算平台为不同用户设定的可使用的云平台资源的限额;步骤d)中,每经过时间都会采集一次Web应用系统的瞬时会话连接数。步骤e)中,通过瞬时会话连接数反应Web应用系统某一时刻并发的会话数量,如果连续的两次采集的瞬时会话连接数均大于最大瞬时并发会话数为,则认为应进行增加Web应用服务器操作;通过平均会话连接数反应一段时间内Web应用系统的会话数量,如果连续的两次采集的瞬时会话连接数均小于最大瞬时并发会话数为,则进入平均会话连接数的判断步骤。步骤f)为计算时间段内的平均会话连接数。步骤g)中,如果平均会话连接数大于最大平均会话连接数的阀值,则认为应进行增加Web应用服务器的操作;如果小于最小平均会话连接数的阀值,则认为应进行删减Web应用服务器的操作,如果介于与之间,则不进行增加和删减Web应用服务器的操作。步骤i)、步骤k)中增减、删除的信息包括Web应用服务器的IP地址和端口号。这样,通过以上步骤实现了基于瞬时和平均会话连接数的Web集群的弹性调整。

本发明的基于会话的云计算环境下Web应用自动弹性扩展方法,:步骤k)中选取的待删除的Web应用服务器为集群中会话连接数最少的Web应用服务器。

本发明的基于会话的云计算环境下Web应用自动弹性扩展方法,步骤f)中增加Web应用服务器时,采用自动化的方式进行系统的部署及负载均衡服务器状态的更新,首先将负载均衡服务器配置信息、Web应用系统、应用中间件存放在资源同步服务器中,在Web应用服务器启动后,再将负载均衡服务器配置信息、Web应用系统、应用中间件传输、部署到新添加的Web应用服务器中,最后更新负载均衡服务器的状态信息。

本发明的基于会话的云计算环境下Web应用自动弹性扩展方法,步骤b)中所述的资源配额包括用户可以启动的虚拟机数量、可用CPU核数、可用硬盘大小、可用内存大小、可用网络地址空间大小。

本发明的有益效果是:本发明的基于会话的云计算环境下Web应用自动弹性扩展方法,通过瞬时会话连接数和特定时间段内的平均会话连接数,对高并发的Web应用系统及一定时间间隔内会话数较多或较少的Web应用系统集群进行动态扩展和缩减操作,实现了基于会话的Web应用系统动态调整,提高了Web应用系统的适应性。同时通过将负载均衡配置信息、Web应用系统、应用中间件放置在特定资源同步服务器上的方式,实现了自动化的Web应用系统在虚拟机中的部署,大大缩短了Web应用系统服务器部署的时间,提高了系统部署的可扩展性。

附图说明

图1为本发明中Web应用系统初始部署的结构示意图;

图2为本发明的Web应用自动弹性扩展方法的流程图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

本发明的基于会话的云计算环境下Web应用自动弹性扩展方法,通过以下步骤来实现:

a).Web应用系统部署,在云计算平台上部署台Web应用服务器、台负载均衡服务器、一台数据库服务器,以构成Web应用系统;同时,添加一台用于存放扩展所需资源的资源同步服务器;每台服务器均为云平台提供的虚拟机,、均为正整数,,;

b).已用资源数量判断,首先获取云计算平台为用户设定的资源配额数量,然后将用户当前已使用资源数量与资源配额数量进行比较,如果已使用资源数量小于资源配额数量,则执行步骤d);如果已使用资源数量大于或等于资源配额数量,则执行步骤c);

其中,所述的资源配额包括用户可以启动的虚拟机数量、可用CPU核数、可用硬盘大小、可用内存大小、可用网络地址空间大小。

c).增加资源配额数量,通过云计算平台管理接口调整用户资源配额数量,使其大于用户当前已使用资源数量,执行步骤d);

d).获取瞬时会话连接数,以时间为时间间隔持续获取Web应用系统的瞬时会话连接数;

e).瞬时会话连接数的比较,设限定的最大瞬时并发会话数为,将步骤d)中获取的瞬时会话连接数与最大瞬时并发会话数进行比较,如果存在连续两次监测的>,则执行步骤h);如果未出现连续两次监测的>,则执行步骤f);

f).计算平均会话连接数,设在时间段内获取的瞬时会话连接数依次为,,…,,则通过公式(1)计算出时间段内的平均会话连接数:

       (1)

g).平均会话连接数的比较,设限定的最大、最小平均会话连接数的阀值分别为、,将步骤f)中求取的平均会话连接数与、进行比较,如果>,则执行步骤h);如果<,则执行步骤j);如果≤≤,则跳转至步骤b),继续对Web应用系统会话连接数进行监测,不做任何增加与删除Web应用服务器的操作;

h).剩余资源的判断,判断云计算平台的当前剩余资源是否满足增添用户指定数量的Web应用服务器需求,如果满足,直接执行步骤i);如果不满足,则为云计算平台添加新的物理服务器资源,以满足增添Web应用服务器的需求,执行步骤i);

i).增加Web应用服务器,启动用户指定数量的虚拟Web应用服务器并将其加入到当前Web应用服务器集群中,同时将新增添的Web应用服务器信息添加至负载均衡服务器的配置信息中;跳转至步骤b);

该步骤中,增加Web应用服务器时,采用自动化的方式进行系统的部署及负载均衡服务器状态的更新,首先将负载均衡服务器配置信息、Web应用系统、应用中间件存放在资源同步服务器中,在Web应用服务器启动后,再将负载均衡服务器配置信息、Web应用系统、应用中间件传输、部署到新添加的Web应用服务器中,最后更新负载均衡服务器的状态信息。

j).应用服务器数量的判断,获取当前集群中Web应用服务器的数量,如果Web应用服务器的数量为1台,则跳转至步骤b);如果Web应用服务器的数量为两台或两台以上,则执行步骤k);

k).删除Web应用服务器,选取集群中的1台Web应用服务器,停止其工作,并将其从当前Web应用服务器集群中删除,同时将负载均衡服务器配置信息中相应的Web应用服务器信息删除。

该步骤中,选取的待删除的Web应用服务器为集群中会话连接数最少的Web应用服务器。

为了对本发明进行更为详尽的说明,配置由5台物理服务器组成的Openstack云计算平台,单台物理服务器配置Intel Xeon E5620 2.4G 4核8线程处理器,32GB RAM,SAS 2.0T RAID5硬盘,虚拟机创建采用统一规格,分配Intel Xeon E5620*1的CPU,5GB内存,30GB硬盘,运行Ubuntu 12.04 LTS操作系统。初始Web应用系统由6台虚拟服务器组成,包括1台负载均衡服务器,安装Haproxy软件;3台Web应用服务器,安装tomcat Web应用中间件及Sun PetStore应用程序;1台数据库服务器,安装mysql数据库;1台资源同步服务器。整个Web应用系统初始部署状态如参考图1所示。

在实际测试中,设定平均会话信息统计时间段=10min,间隔时间内每1min(即=1min)获取一次瞬时会话信息数量,10min后计算时间间隔内10次会话的平均值做为平均会话数。此外,设定最大瞬时并发会话连接数=50,最大平均会话连接数=20,最小平均会话连接数=10,每次扩展或缩减的Web应用服务器数量为1台,用户最大启动虚拟机数量instancemax=10.结合算法实验实现步骤如下:

1).使用openstack平台部署包含6台虚拟服务器的Web应用系统;

2).判断用户当前启动的虚拟机数量是否超出用户配额中设定的最大虚拟机启动数instancemax,如果超出则通过云平台修改用户最大虚拟机启动数,如果不超出则对Web应用系统会话数进行监测;

3).监控虚拟Web应用的会话连接数,在此需要对瞬时会话连接数及平均会话连接数进行存储,同时需要对瞬时会话连接数进行判断,看是否连续两次超出最大瞬时并发会话连接数,如果超出进行扩展操作,如果未超出则对指定时间段内的平均会话连接数并进行判断。

在此可通过文本文件方式以(key,value)方式存储会话连接数信息,key分为三种格式,一种采用当前时间time表示,第二种采用当前时间time及虚拟Web应用服务器服务器名time_servername表示,第三种采用特定时间间隔起止时间表示,value代表会话连接数量,其中对应当前时间time的是瞬时Web应用系统会话连接数,对应time_server的是某一应用服务器会话连接数,对应特定时间间隔起止时间的是平均会话连接数量;

4).在每次插入统计信息时,首先判断连续两次的瞬时会话连接数是否大于最大瞬时并发会话连接数,如果大于调用虚拟化管理程序扩展1台新的Web应用服务器加入到已有服务器集群中,并更新负载均衡服务器配置信息;

5).如果瞬时会话连接数连续两次未超过最大瞬时并发会话连接数,计算指定时间间隔内的平均会话连接数,将与平均会话连接数最大阀值与平均会话连接数最小阀值进行比对,如果>调用虚拟化管理程序扩展1台新的Web应用服务器加入到当前服务器集群中,并更新负载均衡服务器信息;如果<调用虚拟化管理程序停止1台当前集群中的Web应用服务器,将其移除当前集群,并更新负载均衡服务器信息,在移除服务器选择中对各个Web应用服务器的会话数量进行排序,每次移除连接数较少的服务器,在扩展过程中如果发现虚拟机因为资源原因无法正常扩展,需要在平台中加入新的物理服务器。

在基于以上步骤的具体实施过程中,采用自动化方式产生访问会话连接,初始状态Web应用系统包括1台负载均衡服务器,3台Web应用服务器,1台数据库服务器,实验中采用逐渐加大负载的方式产生会话连接,最初保证每分钟连接会话连接数在5左右,在这种低会话负载情况下,不会触发瞬时会话连接数大于最大瞬时并发会话数的情况,平均会话连接数也小于最小平均会话连接阀值,此时会缩减1台Web应用服务器;此后逐渐加压,让平均会话连接数达到15,此时会话连接数处于最大平均会话连接数与最小平均会话连接数之间,不进行扩展操作;再逐步加大会话连接负载,使其平均会话连接数大于20,此时触发扩展操作,为集群添加1台新的Web应用服务器,此时保持会话连接数在20以上,会继续添加应用服务器;仍加大压力,使其瞬时会话数量增加到50以上,此时会触发瞬时连接数量大于最大瞬时并发会话连接数,系统进行扩展操作,为集群添加1台服务器;维持压力继续添加服务器到集群,当数量达到10后,会出现超出用户配额提示信息,停止弹性扩展操作。通过以上实验证明该方法可以自动化的依据会话连接数量动态的调整Web应用集群规模,相对于手工添加服务器到Web应用集群节省了大量时间,并避免了由于人工原因造成的无法在负载瞬间增大时调整服务器集群的问题,同时方法采用的基于资源同步服务器的Web应用自动部署技术,解决了一次性制作镜像扩展性差及手工安装Web应用系统费时的问题。本方法为云平台环境下的Web应用系统弹性扩展提供了有效的途径。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号