[发明专利]用于网络应用服务器系统的内存过载管理的方法和系统有效
申请号: | 201010577046.1 | 申请日: | 2010-11-30 |
公开(公告)号: | CN102479155A | 公开(公告)日: | 2012-05-30 |
发明(设计)人: | 吴海珊;D·伯格;K·B·史密斯;M·斯普雷特泽 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/455 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 付建军 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 网络 应用 服务器 系统 内存 过载 管理 方法 | ||
技术领域
本发明涉及Java虚拟机的性能管理,更具体来说,本发明涉及网络服务器系统中Java虚拟机的内存过载管理。
背景技术
在Java虚拟机(JVM)组成的网络应用服务器系统中,将Java虚拟机作为具有服务器功能的服务器。JVM虚拟机的服务器功能,由JVM上部署的网络应用服务器实例(instance)来实现。多个JVM构成的所谓网格(grid)具有可升级性和容错性的特点。
JVM的服务器功能,包括处理客户机发起的会话。客户机的发起的会话,通过一个代理(proxy),被路由到网络应用服务器系统中的一个或多个JVM上,网络应用服务器实例通过执行在JVM上部署的Java小服务程序(Java servlet),处理会话。具体来说,JVM接收来自客户机的请求,处理请求,并向客户机返回响应。客户机的请求的例子,例如是HTTP(超文本传输协议)请求、SIP(会话初始协议)请求等等。
与会话相关联的会话数据(session data),也存储在网络应用服务器系统中。通常,按照特定于应用的规则,将会话数据划分为不同的数据块(亦称“碎片”(shard))。活动的碎片称为“主碎片”(primaryshard),主碎片的副本,称为“副本碎片”(shard replica)。为了安全性需要,主碎片与其对应的副本碎片必须存储在不同的JVM上。
当网络应用服务器系统的某个JVM例如由于发生故障而停止运行时,该JVM上存储的主碎片以及副本碎片将变得不可用。为了保持与停止运行的JVM上的主碎片相关的客户机的会话的连续性,在其它JVM上存储的与主碎片对应的副本碎片将变成主碎片。这时,要进行碎片重置(shard replacement),就是说,一方面,要将由副本碎片变成的主碎片的副本碎片,存储到与该主碎片的JVM不同的JVM上;另一方面,还要将发生故障的JVM上原先存储的副本碎片转移到其它JVM上。另外,碎片重置在有新的JVM加入网络应用服务器系统的时候也会出现。为了进行碎片重置,需要使用其它JVM上的内存,如果使用的内存超过了该JVM可以提供的最大内存,该JVM就会出现内存过载,从而严重影响该JVM的性能。
发明内容
为了减少发生碎片重置引起的内存过载的情况,本发明提出一种用于网络服务器系统中JVM的内存过载管理的改进方案,以根据JVM上的内存使用情况进行碎片重置。
一方面,提供一种用于网络应用服务器系统的内存过载管理的方法,其中,网络应用服务器系统包含多个处理会话的Java虚拟机,该方法包含:
用于网络应用服务器系统的内存过载管理的方法,其中,网络应用服务器系统包含多个处理会话的Java虚拟机JVM,该方法包含:
确定将要被重置的一个或多个副本碎片;
确定用于存储所述一个或多个副本碎片中相应的副本碎片的一个或多个目标JVM;
对于每个目标JVM,执行下述操作:
判断目标JVM上的空闲内存是否足以存储所述相应的副本碎片;
如果所述判断的结果是否定的,执行下述操作:使目标JVM停止创建会话,直到目标JVM的空闲内存足以存储所述相应的副本碎片;把所述相应的副本碎片存储到目标JVM;使目标JVM恢复创建会话。另一方面,提供一种用于网络应用服务器系统的内存过载管理的系统,其中,网络应用服务器系统包含多个处理会话的Java虚拟机,该系统包含:
监测装置,用于监测导致需要进行碎片重置的事件;副本碎片确定装置,用于确定将要被重置的副本碎片;目标JVM确定装置,用于确定用于存储副本碎片确定装置所确定的副本碎片的目标JVM;判断装置,用于判断目标JVM上的空闲内存是否足以存储所述副本碎片;会话控制装置,用于控制在JVM上创建会话;碎片重置装置,用于将副本碎片存储到目标JVM上。
附图说明
发明内容部分和所附权利要求中阐述了被认为是本发明的特点的创造性特征。但是,通过参照附图阅读下面对示例性实施例的详细说明可更好地理解发明本身以及其使用模式、另外的目标、特征以及优点,在附图中:
图1A和1B是表示一个可在其中应用本发明各种实施例的网络应用服务器系统10的示意图;
图2是表示碎片在不同JVM上的分布的示意图;
图3是表示对图2中分布的碎片进行碎片重置的示意图;
图4是表示按照本发明的实施例的方法的示意性流程图;
图5是表示按照本发明的实施例的系统的示意性框图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010577046.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:移动状态推测装置、方法及程序
- 下一篇:散热装置及其散热方法