CN103746839B - PaaS系统和PaaS应用池中的VM节点调度方法 - Google Patents

PaaS系统和PaaS应用池中的VM节点调度方法 Download PDF

Info

Publication number
CN103746839B
CN103746839B CN201310741584.3A CN201310741584A CN103746839B CN 103746839 B CN103746839 B CN 103746839B CN 201310741584 A CN201310741584 A CN 201310741584A CN 103746839 B CN103746839 B CN 103746839B
Authority
CN
China
Prior art keywords
nodes
node
paas
apply names
abnormality
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310741584.3A
Other languages
English (en)
Other versions
CN103746839A (zh
Inventor
黎智云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sina Technology China Co Ltd
Original Assignee
Sina Technology China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sina Technology China Co Ltd filed Critical Sina Technology China Co Ltd
Priority to CN201310741584.3A priority Critical patent/CN103746839B/zh
Publication of CN103746839A publication Critical patent/CN103746839A/zh
Application granted granted Critical
Publication of CN103746839B publication Critical patent/CN103746839B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种PaaS系统和PaaS应用池中的VM节点调度方法,所述方法包括:节点管理服务器周期性向运行的各VM节点发送异常状态查询请求;若根据响应情况判定出异常的VM节点,则:从前端代理服务器的缓存中所存储的应用名称与VM节点的地址的对应关系中,查找出与异常的VM节点的地址对应的应用名称后,删除该地址,并向异常的VM节点、以及空闲的一个VM节点发送携带应用名称的应用加载命令。节点管理服务器将接收的应用加载成功信息中的VM节点地址与应用名称对应存储到前端代理服务器的缓存中。本发明的技术方案中,节点管理服务器周期性地监测VM节点,一旦发现异常,自动调度VM节点及时响应用户请求。

Description

PaaS系统和PaaS应用池中的VM节点调度方法
技术领域
本发明涉及网络技术,尤其涉及一种PaaS系统和PaaS应用池中的VM节点调度方法。
背景技术
随着互联网技术的发展,PaaS(Platform-as-a-server)平台即服务系统开始普及。现今较有名气的PaaS系统包括谷歌的GAE(Google App Engine)、Cloudy Foundy、CloudBees、HeroKu,百度的BAE(Baidu App Engine)和新浪的SAE(Sina App Engine)等。
PaaS系统就是将开发、使用应用的软硬件资源整合为平台后,将该平台作为一种服务提供给开发人员、用户的系统。对于开发人员而言,其仅需在PaaS系统上开发应用后将开发的应用托管至PaaS系统中,应用的运维、监控和统计等工作则由PaaS系统完成;对于用户而言,其通过免费、按时付费等方式在PaaS系统上使用应用,不需要一次性购买应用、硬件,也不需要维护和升级应用、硬件,由PaaS系统统一安装、升级、维护应用和硬件。
PaaS系统通常包括PaaS应用池;PaaS应用池中包括从PaaS系统的系统资源中虚拟出的多个VM(Virtual Machine,虚拟机)节点,通常这些VM节点具体是JVM(Java VirtualMachine,Java虚拟机)节点。PaaS系统的PaaS应用池中,往往是若干个VM节点加载、运行一个应用的服务;PaaS系统的前端代理服务器中,对于每个应用,对应记录有该应用的应用名称与加载该应用的服务的VM节点的地址。
前端代理服务器接收到访问应用的用户请求后,从用户请求中解析出应用名称,并查找出与解析出的应用名称相对应的VM节点的地址;根据查找出的VM节点的地址,转发用户请求后,由接收到该用户请求的VM节点提供该应用的服务。
但是,本发明的发明人发现,在实际应用中,PaaS系统接收的用户请求的数量并非平稳的,有时会针对同一应用突发大量的用户请求,导致加载该应用的服务的若干个VM节点出现线程阻塞、堆栈内存溢出、进程无响应等问题,造成PaaS系统无法响应后续的该应用的用户请求。因此,有必要提供一种PaaS系统可以自适应调度VM节点、避免PaaS系统无法响应用户请求的情况。
发明内容
本发明实施例提供了一种PaaS系统和PaaS应用池中的VM节点调度方法,可以自适应调度VM节点,以对用户请求及时响应。
根据本发明的一个方面,提供了一种PaaS应用池中的VM节点调度方法,包括:
PaaS应用池中的节点管理服务器周期性向所述PaaS应用池中当前运行的各VM节点发送异常状态查询请求;若根据各VM节点的响应情况,判定出处于异常状态的VM节点,则:
从所述PaaS应用池的前端代理服务器的缓存中所存储的应用名称与VM节点的地址的对应关系中,查找出与所述异常状态的VM节点的地址对应的应用名称后,将所述异常状态的VM节点的地址从所述对应关系中删除,并向所述异常状态的VM节点、以及所述PaaS应用池中处于空闲状态的一个VM节点发送携带所述应用名称的应用加载命令;
所述节点管理服务器在接收到应用加载成功信息后,将所述应用加载成功信息中携带的VM节点地址与应用名称对应存储到所述前端代理服务器的缓存中。
较佳地,所述异常状态查询请求具体为超文本传输协议的头域HTTP Head请求,以及
所述根据各VM节点的响应情况,判定出处于异常状态的VM节点,具体为:
对于当前运行的每个VM节点,所述节点管理服务器若在设定时间段内没有接收到该VM节点返回的响应信息,则判定该VM节点处于停止工作的异常状态。
较佳地,所述异常状态查询请求具体为内存查看请求,以及
所述根据各VM节点的响应情况,判定出处于异常状态的VM节点,具体为:
对于当前运行的每个VM节点,所述节点管理服务器在接收到该VM节点根据所述内存查看请求返回的内存信息后,若确定接收的内存信息中,持久带内存的占有率大于设定的上限值,则判定该VM节点处于过载的异常状态。
进一步,在所述向所述PaaS应用池中当前运行的各VM节点发送异常状态查询请求后,还包括:
对于当前运行的每个VM节点,所述节点管理服务器在接收到该VM节点根据所述内存查看请求返回的内存信息后,若确定接收的内存信息中,内存的占有率小于设定的下限值,则判定该VM节点为低负载运行的节点。
进一步,在所述判定该VM节点为低负载运行的节点后,还包括:
所述节点管理服务器从所述前端代理服务器的缓存中,查找出与所述低负载运行的节点的地址对应的应用名称后,若与查找出的应用名称相对应的VM节点的个数大于1,则将所述低负载运行的节点的地址从所述对应关系中删除,并向所述低负载运行的节点发送携带查找出的应用名称的应用退出命令,并修改所述低负载运行的节点的状态为空闲状态。
根据本发明的另一个方面,还提供了一种PaaS系统,包括:
前端代理服务器,以及包括节点管理服务器和多个VM节点的PaaS应用池;其中,
所述前端代理服务器用于接收到用户请求后,解析出所述用户请求中携带的应用名称,并查找缓存中存储的应用名称与VM节点的地址的对应关系,从中查找出与解析出的应用名称相对应的VM节点的地址;根据查找出的VM节点的地址转发所述用户请求;
所述PaaS应用池中的节点管理服务器用于周期性向所述PaaS应用池中当前运行的各VM节点发送异常状态查询请求;若根据各VM节点的响应情况,判定出处于异常状态的VM节点,则:
在所述PaaS应用池的前端代理服务器的缓存中,查找存储的应用名称与VM节点的地址的对应关系;查找出与所述异常状态的VM节点的地址对应的应用名称后,将所述异常状态的VM节点的地址从所述对应关系中删除,并向所述异常状态的VM节点、以及所述PaaS应用池中处于空闲状态的一个VM节点发送携带所述应用名称的应用加载命令;
所述PaaS应用池中的VM节点在接收到应用加载命令后,根据其中携带的应用名称加载相应应用的服务,并在加载成功后返回应用加载成功信息;
所述节点管理服务器还用于在接收到应用加载成功信息后,将所述应用加载成功信息中携带的VM节点地址与应用名称对应存储到所述前端代理服务器的缓存中。
较佳地,所述异常状态查询请求具体为内存查看请求,以及
所述节点管理服务器还用于在接收到VM节点根据所述内存查看请求返回的内存信息后,若确定接收的内存信息中,内存的占有率小于设定的下限值,则判定该VM节点为低负载运行的节点;之后,从所述前端代理服务器的缓存中,查找出与所述低负载运行的节点的地址对应的应用名称后,将所述低负载运行的节点的地址从所述对应关系中删除,并向所述低负载运行的节点发送携带查找出的应用名称的应用退出命令,并修改所述低负载运行的节点的状态为空闲状态。
根据本发明的另一个方面,还提供了一种节点管理服务器,包括:
异常节点判定模块,用于周期性向PaaS应用池中当前运行的各VM节点发送异常状态查询请求;若根据各VM节点的响应情况,判定出处于异常状态的VM节点,则发送第一调度通知;
节点调度模块,用于接收到第一调度通知后,从所述PaaS应用池的前端代理服务器的缓存中所存储的应用名称与VM节点的地址的对应关系中,查找出与所述异常状态的VM节点的地址对应的应用名称后,将所述异常状态的VM节点的地址从所述对应关系中删除,并向所述异常状态的VM节点、以及所述PaaS应用池中处于空闲状态的一个VM节点发送携带所述应用名称的应用加载命令;并在接收到应用加载成功信息后,将所述应用加载成功信息中携带的VM节点地址与应用名称对应存储到所述前端代理服务器的缓存中。
较佳地,所述异常节点判定模块具体包括:
第一判定单元,用于周期性地向所述PaaS应用池中当前运行的各VM节点发送HTTPhead请求;并对于当前运行的各VM节点,若在设定时间段内没有接收到该VM节点返回的所述HTTP head请求的响应信息,则判定该VM节点为停止工作的VM节点,发送第一调度通知;
第二判定单元,用于周期性地向所述PaaS应用池中当前运行的各VM节点发送内存查看请求;并对于当前运行的各VM节点,在接收到该VM节点根据所述内存查看请求返回的内存信息后,若确定接收的内存信息中,持久带内存的占有率大于设定的上限值,则判定该VM节点为过载的VM节点,发送第一调度通知;若确定接收的内存信息中,持久带内存的占有率小于设定的下限值,则判定该VM节点为低负载运行的节点,发送第二调度通知。
进一步,所述节点调度模块还用于在接收到第二调度通知后,从所述前端代理服务器的缓存中,查找出与所述低负载运行的节点的地址对应的应用名称后,若与查找出的应用名称相对应的VM节点的个数大于1,则将所述低负载运行的节点的地址从所述对应关系中删除,并向所述低负载运行的节点发送携带查找出的应用名称的应用退出命令,并修改所述低负载运行的节点的状态为空闲状态。
本发明的技术方案中,PaaS系统中的节点管理服务器周期性地监测PaaS应用池中运行的VM节点的状态,一旦发现异常的VM节点,自动调度PaaS应用池中空闲的VM节点接替异常VM节点的工作;而且,将异常的VM节点转换为空闲的VM节点继续工作;可以使得VM节点处于可工作状态,从而使得PaaS系统可以及时响应用户请求,提高用户的体验。
进一步,节点管理服务器一旦监测到VM节点处于低负载的状态,就将该VM节点转换为空闲的VM节点,从而可以提高PaaS系统中VM节点的使用效率。
附图说明
图1为本发明实施例的PaaS系统的架构示意图;
图2为本发明实施例的节点管理服务器对PaaS应用池中的VM节点进行监测、并自动调度的流程的信令示意图;
图3为本发明实施例的节点管理服务器对低负载的VM节点进行减少节点的调度的流程的信令示意图;
图4为本发明实施例的节点管理服务器的内部结构框架示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内。
本发明的技术方案中,对PaaS系统的PaaS应用池中的VM节点设置冗余量;在通常的运行过程中,有若干个VM节点处于空闲状态;并且,在PaaS应用池中还设置有节点管理服务器,对VM应用池中各运行的VM节点进行监测,一旦发现有VM节点处于异常,则立即调度空闲状态的VM节点,从而避免VM节点出现线程阻塞、堆栈内存溢出、进程无响应等问题,以及时响应用户请求。
下面结合附图详细说明本发明的技术方案。
本发明实施例提供的PaaS系统的架构示意图,如图1所示,包括:前端代理服务器101和PaaS应用池102。其中,PaaS应用池102中包括节点管理服务器111和多个VM节点112。VM节点具体可以为JVM(Java Virtual Machine,Java虚拟机)节点。
前端代理服务器101用于接收到用户请求后,解析出用户请求中携带的应用名称,并查找缓存中存储的应用名称与VM节点的地址的对应关系,从中查找出与解析出的应用名称相对应的VM节点112的地址;根据查找出的VM节点112的地址转发用户请求。
接收到用户请求的VM节点根据用户请求返回相应的数据,为用户提供相应应用的服务。在实际应用中,PaaS应用池102中往往是多个VM节点同时提供同一个应用的服务。
节点管理服务器111对PaaS应用池102中的VM节点112进行监测、并进行自动调度,具体流程如图2所示,包括如下步骤:
S201:节点管理服务器111周期性地向PaaS应用池102中当前运行的各VM节点112发送异常状态查询请求。
具体地,对于当前处于运行状态的每个VM节点112,PaaS应用池102中的节点管理服务器111周期性地根据该VM节点的地址,向该VM节点发送异常状态查询请求。
节点管理服务器111发送的异常状态查询请求具体可以是HTTP head(HyperTextTransferProtocol head,超文本传输协议的头域)请求,或者是内存查看请求。
S202:节点管理服务器111根据各VM节点112的对异常状态查询请求的响应情况,判定出处于异常状态的VM节点112。
本步骤中,节点管理服务器111根据当前运行的各VM节点112对异常状态查询请求的响应情况,判定出处于异常状态的VM节点112。
具体地,对于当前处于运行状态的每个VM节点112,节点管理服务器111在上述步骤S201中向该VM节点发送HTTP head请求后,若该VM节点停止工作,或处于异常状态,则无法响应HTTP head请求;若该VM节点正常运行,则可以根据接收的HTTP head请求返回响应信息;在本步骤中,节点管理服务器111若在设定时间段内接收到该VM节点返回的响应信息,则判定该VM节点处于正常工作状态,若在设定时间段内没有接收到该VM节点返回的响应信息,则判定该VM节点处于停止工作的异常状态。
对于当前处于运行状态的每个VM节点112,节点管理服务器111在上述步骤S201中向该VM节点发送内存查看请求后,该VM节点根据接收的内存查看请求返回内存信息,该内存信息携带有本VM节点的持久带内存的占有率;在本步骤中,节点管理服务器111若确定接收的内存信息中持久带内存的占有率大于设定的上限值,则判定该VM节点处于过载的异常状态,若确定接收的内存信息中持久带内存的占有率不大于设定的上限值,则判定该VM节点处于正常工作状态。设定的上限值可以由本领域技术人员根据实际情况确定,例如设定的上限值可以是89%。
更优地,为了提高VM节点的利用率、节约PaaS应用池的能耗,节点管理服务器111在接收到VM节点根据内存查看请求返回的内存信息后,若确定接收的内存信息中持久带内存的占有率小于设定的下限值,则判定该VM节点为低负载的VM节点。节点管理服务器111在判定出低负载的VM节点后进行节点调度的具体方法将在后续进行介绍。
S203:节点管理服务器111从前端代理服务器101的缓存中所存储的应用名称和与VM节点的地址的对应关系中,确定出与处于异常状态的VM节点112的地址相对应的应用名称后,删除处于异常状态的VM节点112的地址。
具体地,节点管理服务器111从前端代理服务器101的缓存中所存储的应用名称和与VM节点的地址的对应关系中,查找到处于异常状态的VM节点112的地址,并确定出与该地址相对应的应用名称后,删除该地址;从而避免前端代理服务器101继续向处于异常状态的VM节点112转发后续的用户请求,防止用户请求得不到响应。
S204:节点管理服务器111向一个处于空闲状态的VM节点,以及处于异常状态的VM节点,发送携带有确定出的应用名称的应用加载命令。
具体地,节点管理服务器111向PaaS应用池102中处于空闲状态的一个VM节点112,根据该VM节点的地址,发送携带有上述步骤S203中确定出的应用名称的应用加载命令;为便于描述,本文中将该空闲状态的VM节点称为第一VM节点;事实上,节点管理服务器111中可以维护一个状态记录表,所述状态记录表中针对PaaS应用池102中的每个VM节点,记录有该VM节点的状态;比如,针对一个VM节点可以记录其状态为运行状态,或空闲状态。
本步骤中,节点管理服务器111还根据异常状态的VM节点的地址,向该异常状态的VM节点112,发送携带有上述步骤S203中确定出的应用名称的应用加载命令;为便于描述,本文中将该异常状态的VM节点称为第二VM节点。
S205:处于空闲状态的VM节点,以及处于异常状态的VM节点根据从接收到的应用加载命令中解析出的应用名称,加载相应应用的服务后,向节点管理服务器111返回加载成功信息。
具体地,PaaS应用池102中处于空闲状态的一个VM节点112(第一VM节点)接收到应用加载命令后,从中解析出应用名称,根据解析出的应用名称加载相应应用的服务后,将携带有该应用名称、以及本VM节点的地址的加载成功信息,向节点管理服务器111返回;这样,该VM节点由空闲状态的节点转变为提供所述应用的服务的VM节点,以分流访问该应用的用户请求,减小提供该应用的服务的其它VM节点的负担。
也就是说,由于节点管理服务器111周期性地监测运行中的VM节点是否处于异常状态,一旦发现处于异常状态的VM节点,可以调用空闲的VM节点来接替处于异常状态的VM节点的工作;因此当突发大量的用户请求时,可以使得VM节点避免出现线程阻塞、堆栈内存溢出、进程无响应等问题,从而使得PaaS系统可以及时地响应用户请求。
处于异常状态的VM节点112(第二VM节点)接收到应用加载命令后,清空本VM节点的内存,并从接收的应用加载命令中解析出应用名称;该VM节点根据解析出的应用名称重新加载相应应用的服务后,将携带有该应用名称、以及本VM的地址的加载成功信息,向节点管理服务器111返回。处于异常状态的VM节点通过清空本VM节点的内存,解除了本VM节点的异常状态,使得该VM节点重新加载应用的服务后,可以分流访问该应用的用户请求,有助于PaaS系统及时响应用户请求。
S206:节点管理服务器111从接收到的应用加载成功信息中解析出VM节点112的地址和应用名称后,将解析出的VM节点112的地址与应用名称对应存储到前端代理服务器101的缓存中。
具体地,节点管理服务器111接收到第一VM节点的应用加载成功信息,从中解析出VM节点的地址和应用名称后,将解析出的VM节点的地址和应用名称对应存储到前端代理服务器101的缓存中,并将状态记录表中第一VM节点的状态修改为运行状态。这样,前端代理服务器101可以根据存储的对应关系向第一VM节点转发后续的用户请求,减小提供该应用的服务的其它VM节点的负担,有助于PaaS系统及时响应用户请求。
节点管理服务器111接收到第二VM节点的应用加载成功信息,从中解析出VM节点的地址和应用名称后,将解析出的VM节点的地址和应用名称对应存储到前端代理服务器101的缓存中,并将状态记录表中第二VM节点的状态设置为运行状态。这样,在第二VM节点清空、释放内存后,前端代理服务器101可以继续向第二VM节点转发后续的用户请求,减小提供该应用的服务的其它VM节点的负担,有助于PaaS系统及时响应用户请求。
作为一种更优的实施方式,节点管理服务器111为了提高VM节点的利用率、节约PaaS应用池的能耗,在上述步骤S202中判定出低负载的VM节点后,将进行减少节点的调度,具体方法的流程如图3所示,可以包括如下步骤:
S301:节点管理服务器111从前端代理服务器101的缓存中删除低负载运行的VM节点的地址。
具体地,节点管理服务器111查找前端代理服务器101的缓存中所存储的应用名称与VM节点的地址的对应关系,查找出与低负载运行的VM节点的地址相对应的应用名称后,将低负载运行的VM节点的地址从查找出的对应关系中删除。
更优地,节点管理服务器111查找出与低负载运行的VM节点的地址相对应的应用名称后,判断前端代理服务器101的缓存中与查找出的应用名称相对应的VM节点的个数是否大于1;若是,则将低负载运行的VM节点的地址从缓存中删除后执行后续步骤S302;否则,由于查找出的应用名称仅对应该低负载运行的VM节点,也就是说,具有该应用名称的应用仅由该低负载运行的VM节点提供服务,因此不将该低负载运行的VM节点的地址进行删除,也不再执行后续的步骤S302。
S302:节点管理服务器111向低负载运行的VM节点,发送携带有查找出的应用名称的应用退出命令。
具体地,节点管理服务器111将上述步骤S301中查找出的应用名称携带在应用退出命令中后,根据低负载运行的VM节点的地址发送该应用退出命令;并将状态记录表中低负载运行的VM节点的状态修改为空闲状态。
由于有多个VM节点提供同一个应用的服务,因此,在上述低负载运行的VM节点停止提供该应用的服务后,仍有其它节点提供该应用的服务。
S303:低负载运行的VM节点从接收到应用退出命令中解析出应用名称后,停止本VM节点中与解析出的应用名称相应应用的服务。
具体地,低负载运行的VM节点接收到应用退出命令后,从中解析出应用名称;该VM节点根据解析出的应用名称,停止提供相应应用的服务;之后,清空本VM节点的内存,从而成为一个空闲状态的VM节点,以提高其它VM节点的利用率,并且同时减少了PaaS应用池的能耗。
基于上述节点管理服务器111对PaaS应用池中的VM节点112进行监测、调度的方法,本发明实施例提供的节点管理服务器111的内部结构框架,如图4所示,包括:异常节点判定模块401和节点调度模块402。
其中,异常节点判定模块401用于周期性向PaaS应用池中当前运行的各VM节点发送异常状态查询请求;若根据各VM节点的响应情况,判定出处于异常状态的VM节点,则发送第一调度通知。
节点调度模块402用于接收到异常节点判定模块401发送的第一调度通知后,从PaaS应用池的前端代理服务器的缓存中所存储的应用名称与VM节点的地址的对应关系中,查找出与异常状态的VM节点的地址对应的应用名称后,若与查找出的应用名称相对应的VM节点的个数大于1,则将异常状态的VM节点的地址从对应关系中删除,并向异常状态的VM节点、以及PaaS应用池中处于空闲状态的VM节点发送携带应用名称的应用加载命令;并在接收到应用加载成功信息后,将应用加载成功信息中携带的VM节点地址与应用名称对应存储到前端代理服务器的缓存中,并将状态记录表中具有该VM节点地址的VM节点的状态设置为运行状态。
更优地,上述异常节点判定模块401的内部结构框架,包括:第一判定单元501和第二判定单元502。
其中,第一判定单元501用于周期性地向PaaS应用池中当前运行的各VM节点发送HTTP head请求;并对于当前运行的各VM节点,若在设定时间段内没有接收到该VM节点返回的HTTP head请求的响应信息,则判定该VM节点为停止工作的VM节点,发送第一调度通知。
第二判定单元502用于周期性地向PaaS应用池中当前运行的各VM节点发送内存查看请求;并对于当前运行的各VM节点,在接收到该VM节点根据内存查看请求返回的内存信息后,若确定接收的内存信息中,持久带内存的占有率大于设定的上限值,则判定该VM节点为过载的VM节点,发送第一调度通知;若确定接收的内存信息中,持久带内存的占有率小于设定的下限值,则判定该VM节点为低负载运行的节点,发送第二调度通知。
进一步,上述节点调度模块402还用于在接收到第二调度通知后,从前端代理服务器的缓存中,查找出与低负载运行的节点的地址对应的应用名称后,将低负载运行的节点的地址从对应关系中删除,并向低负载运行的节点发送携带查找出的应用名称的应用退出命令,并修改低负载运行的节点的状态为空闲状态,并将状态记录表中该低负载运行的节点的状态设置为空闲状态。
上述异常节点判定模块401、节点调度模块402,以及异常节点判定模块401中的第一判定单元501和第二判定单元502的功能的具体实现方法,可以参考上述如图2~图3所示的方法流程步骤的具体内容,此处不再赘述。
本发明的技术方案中,PaaS系统中的节点管理服务器周期性地监测PaaS应用池中运行的VM节点的状态,一旦发现异常的VM节点,自动调度PaaS应用池中空闲的VM节点接替异常VM节点的工作;而且,将异常的VM节点转换为空闲的VM节点继续工作;可以使得VM节点处于可工作状态,从而使得PaaS系统可以及时响应用户请求,提高用户的体验。
进一步,节点管理服务器一旦监测到VM节点处于低负载的状态,就将该VM节点转换为空闲的VM节点,从而可以提高PaaS系统中VM节点的使用效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种PaaS应用池中的VM节点调度方法,其特征在于,包括:
平台即服务PaaS应用池中的节点管理服务器周期性向所述PaaS应用池中当前运行的各虚拟机VM节点发送异常状态查询请求;若根据各VM节点的响应情况,判定出处于异常状态的VM节点,则:
从所述PaaS应用池的前端代理服务器的缓存中所存储的应用名称与VM节点的地址的对应关系中,查找出与所述异常状态的VM节点的地址对应的应用名称后,将所述异常状态的VM节点的地址从所述对应关系中删除,并向所述异常状态的VM节点、以及所述PaaS应用池中处于空闲状态的一个VM节点发送携带所述应用名称的应用加载命令;
所述节点管理服务器在接收到应用加载成功信息后,将所述应用加载成功信息中携带的VM节点地址与应用名称对应存储到所述前端代理服务器的缓存中;
若根据各VM节点的响应情况,判定出处于低负载运行的VM节点,则:
所述节点管理服务器从所述前端代理服务器的缓存中,查找出与所述低负载运行的节点的地址对应的应用名称后,若与查找出的应用名称相对应的VM节点的个数大于1,则将所述低负载运行的节点的地址从所述对应关系中删除,并向所述低负载运行的节点发送携带查找出的应用名称的应用退出命令,并修改所述低负载运行的节点的状态为空闲状态。
2.如权利要求1所述的方法,其特征在于,所述异常状态查询请求具体为超文本传输协议的头域HTTP Head请求,以及
所述根据各VM节点的响应情况,判定出处于异常状态的VM节点,具体为:
对于当前运行的每个VM节点,所述节点管理服务器若在设定时间段内没有接收到该VM节点返回的响应信息,则判定该VM节点处于停止工作的异常状态。
3.如权利要求1所述的方法,其特征在于,所述异常状态查询请求具体为内存查看请求,以及
所述根据各VM节点的响应情况,判定出处于异常状态的VM节点,具体为:
对于当前运行的每个VM节点,所述节点管理服务器在接收到该VM节点根据所述内存查看请求返回的内存信息后,若确定接收的内存信息中,持久带内存的占有率大于设定的上限值,则判定该VM节点处于过载的异常状态。
4.如权利要求3所述的方法,其特征在于,所述根据各VM节点的响应情况,判定出处于低负载运行的VM节点,具体为:
对于当前运行的每个VM节点,所述节点管理服务器在接收到该VM节点根据所述内存查看请求返回的内存信息后,若确定接收的内存信息中,内存的占有率小于设定的下限值,则判定该VM节点为低负载运行的节点。
5.一种PaaS系统,其特征在于,包括:前端代理服务器,以及包括节点管理服务器和多个VM节点的PaaS应用池;其中,
所述前端代理服务器用于接收到用户请求后,解析出所述用户请求中携带的应用名称,并查找缓存中存储的应用名称与VM节点的地址的对应关系,从中查找出与解析出的应用名称相对应的VM节点的地址;根据查找出的VM节点的地址转发所述用户请求;
所述PaaS应用池中的节点管理服务器用于周期性向所述PaaS应用池中当前运行的各VM节点发送异常状态查询请求;若根据各VM节点的响应情况,判定出处于异常状态的VM节点,则:
在所述PaaS应用池的前端代理服务器的缓存中,查找存储的应用名称与VM节点的地址的对应关系;查找出与所述异常状态的VM节点的地址对应的应用名称后,将所述异常状态的VM节点的地址从所述对应关系中删除,并向所述异常状态的VM节点、以及所述PaaS应用池中处于空闲状态的一个VM节点发送携带所述应用名称的应用加载命令;
所述PaaS应用池中的VM节点在接收到应用加载命令后,根据其中携带的应用名称加载相应应用的服务,并在加载成功后返回应用加载成功信息;
所述节点管理服务器还用于在接收到应用加载成功信息后,将所述应用加载成功信息中携带的VM节点地址与应用名称对应存储到所述前端代理服务器的缓存中;
若根据各VM节点的响应情况,判定出处于低负载运行的VM节点,则:
节点管理服务器从所述前端代理服务器的缓存中,查找出与所述低负载运行的节点的地址对应的应用名称后,若与查找出的应用名称相对应的VM节点的个数大于1,则将所述低负载运行的节点的地址从所述对应关系中删除,并向所述低负载运行的节点发送携带查找出的应用名称的应用退出命令,并修改所述低负载运行的节点的状态为空闲状态。
6.如权利要求5所述的系统,其特征在于,所述异常状态查询请求具体为内存查看请求,以及
所述节点管理服务器还用于在接收到VM节点根据所述内存查看请求返回的内存信息后,若确定接收的内存信息中,内存的占有率小于设定的下限值,则判定该VM节点为低负载运行的节点。
7.一种节点管理服务器,其特征在于,包括:
异常节点判定模块,用于周期性向PaaS应用池中当前运行的各VM节点发送异常状态查询请求;若根据各VM节点的响应情况,判定出处于异常状态的VM节点,则发送第一调度通知;若根据各VM节点的响应情况,判定出处于低负载运行的VM节点,则发送第二调度通知;节点调度模块,用于接收到第一调度通知后,从所述PaaS应用池的前端代理服务器的缓存中所存储的应用名称与VM节点的地址的对应关系中,查找出与所述异常状态的VM节点的地址对应的应用名称后,将所述异常状态的VM节点的地址从所述对应关系中删除,并向所述异常状态的VM节点、以及所述PaaS应用池中处于空闲状态的一个VM节点发送携带所述应用名称的应用加载命令;并在接收到应用加载成功信息后,将所述应用加载成功信息中携带的VM节点地址与应用名称对应存储到所述前端代理服务器的缓存中;
节点调度模块还用于在接收到第二调度通知后,从所述前端代理服务器的缓存中,查找出与所述低负载运行的节点的地址对应的应用名称后,若与查找出的应用名称相对应的VM节点的个数大于1,则将所述低负载运行的节点的地址从所述对应关系中删除,并向所述低负载运行的节点发送携带查找出的应用名称的应用退出命令,并修改所述低负载运行的节点的状态为空闲状态。
8.如权利要求7所述的节点管理服务器,其特征在于,所述异常节点判定模块具体包括:
第一判定单元,用于周期性地向所述PaaS应用池中当前运行的各VM节点发送HTTPhead请求;并对于当前运行的各VM节点,若在设定时间段内没有接收到该VM节点返回的所述HTTP head请求的响应信息,则判定该VM节点为停止工作的VM节点,发送第一调度通知;
第二判定单元,用于周期性地向所述PaaS应用池中当前运行的各VM节点发送内存查看请求;并对于当前运行的各VM节点,在接收到该VM节点根据所述内存查看请求返回的内存信息后,若确定接收的内存信息中,持久带内存的占有率大于设定的上限值,则判定该VM节点为过载的VM节点,发送第一调度通知;若确定接收的内存信息中,持久带内存的占有率小于设定的下限值,则判定该VM节点为低负载运行的节点,发送第二调度通知。
CN201310741584.3A 2013-12-27 2013-12-27 PaaS系统和PaaS应用池中的VM节点调度方法 Active CN103746839B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310741584.3A CN103746839B (zh) 2013-12-27 2013-12-27 PaaS系统和PaaS应用池中的VM节点调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310741584.3A CN103746839B (zh) 2013-12-27 2013-12-27 PaaS系统和PaaS应用池中的VM节点调度方法

Publications (2)

Publication Number Publication Date
CN103746839A CN103746839A (zh) 2014-04-23
CN103746839B true CN103746839B (zh) 2017-06-16

Family

ID=50503830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310741584.3A Active CN103746839B (zh) 2013-12-27 2013-12-27 PaaS系统和PaaS应用池中的VM节点调度方法

Country Status (1)

Country Link
CN (1) CN103746839B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107295045A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种消息处理方法及装置
CN106230986A (zh) * 2016-09-21 2016-12-14 南方电网科学研究院有限责任公司 一种基于电力PaaS云平台的资源适配调度系统及方法
CN106487919B (zh) * 2016-11-10 2019-07-05 新浪网技术(中国)有限公司 基于PaaS平台的HTTP请求处理方法、装置及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697526A (zh) * 2009-10-10 2010-04-21 中国科学技术大学 分布式文件系统中元数据管理的负载均衡方法及其系统
CN102123179A (zh) * 2011-03-28 2011-07-13 中国人民解放军国防科学技术大学 应用于分布式应用系统的负载均衡方法和系统
CN102281329A (zh) * 2011-08-02 2011-12-14 北京邮电大学 一种PaaS云平台的资源调度方法和系统
CN102932210A (zh) * 2012-11-23 2013-02-13 北京搜狐新媒体信息技术有限公司 一种PaaS云平台的节点监控方法和系统
US20130179881A1 (en) * 2012-01-09 2013-07-11 Microsoft Corporation Decoupling paas resources, jobs, and scheduling
CN103475677A (zh) * 2012-06-07 2013-12-25 中兴通讯股份有限公司 一种PaaS云平台中管理虚拟节点的方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697526A (zh) * 2009-10-10 2010-04-21 中国科学技术大学 分布式文件系统中元数据管理的负载均衡方法及其系统
CN102123179A (zh) * 2011-03-28 2011-07-13 中国人民解放军国防科学技术大学 应用于分布式应用系统的负载均衡方法和系统
CN102281329A (zh) * 2011-08-02 2011-12-14 北京邮电大学 一种PaaS云平台的资源调度方法和系统
US20130179881A1 (en) * 2012-01-09 2013-07-11 Microsoft Corporation Decoupling paas resources, jobs, and scheduling
CN103475677A (zh) * 2012-06-07 2013-12-25 中兴通讯股份有限公司 一种PaaS云平台中管理虚拟节点的方法、装置及系统
CN102932210A (zh) * 2012-11-23 2013-02-13 北京搜狐新媒体信息技术有限公司 一种PaaS云平台的节点监控方法和系统

Also Published As

Publication number Publication date
CN103746839A (zh) 2014-04-23

Similar Documents

Publication Publication Date Title
US9634915B2 (en) Methods and computer program products for generating a model of network application health
US9641413B2 (en) Methods and computer program products for collecting storage resource performance data using file system hooks
US9503518B2 (en) Method and apparatus for buffering and obtaining resources, resource buffering system
JP5006348B2 (ja) 応答出力キャッシュに対するマルチキャッシュ協調
US8516509B2 (en) Methods and computer program products for monitoring system calls using safely removable system function table chaining
JP4912401B2 (ja) パフォーマンス情報およびイベント情報を適応的に収集するシステムおよび方法
US7730269B2 (en) Load management to reduce communication signaling latency in a virtual machine environment
US20150134839A1 (en) Method and system for reducing connections to a database
CN103164256A (zh) 一种实现单机支持高并发处理方法及系统
US8305911B2 (en) System and method for identifying and managing service disruptions using network and systems data
CN102263822B (zh) 一种分布式缓存的控制方法、系统及装置
CN108134830A (zh) 基于消息队列的负载均衡方法、系统、装置及存储介质
WO2010072083A1 (zh) 基于web应用的数据库系统及其数据管理方法
US20150332191A1 (en) Reducing costs related to use of networks based on pricing heterogeneity
JP2006520937A5 (zh)
CN103746839B (zh) PaaS系统和PaaS应用池中的VM节点调度方法
WO2022063032A1 (zh) 一种面向分布式系统的故障信息关联上报方法及相关设备
CN106095483A (zh) 服务的自动化部署方法及装置
CN113067875A (zh) 基于微服务网关动态流控的访问方法和装置以及设备
CN111427674A (zh) 一种微服务管理方法、装置及系统
CN111177032A (zh) 缓存空间申请方法、系统、装置及计算机可读存储介质
CN105574008A (zh) 应用于分布式文件系统的任务调度方法和设备
JP2000250833A (ja) 複数サーバ運用管理における稼働情報取得方法およびそのプログラムを記録した記録媒体
CN113905091A (zh) 用于对访问请求进行处理的方法及装置
CN105897869B (zh) 一种app休眠的管理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230417

Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193

Patentee after: Sina Technology (China) Co.,Ltd.

Address before: 100080, International Building, No. 58 West Fourth Ring Road, Haidian District, Beijing, 20 floor

Patentee before: Sina.com Technology (China) Co.,Ltd.

TR01 Transfer of patent right