集群内存自适应管理方法、服务器集群系统技术方案

技术编号:8980693 阅读:115 留言:0更新日期:2013-07-31 22:48
本发明专利技术涉及一种集群内存自适应管理方法、服务器集群。其中,集群内存自适应管理方法包括:对于数据服务器集群中的每个数据服务器,在使用前对该数据服务器按照变步长加性增长方式进行内存预分配,将内存分割为设定数目的片组,每个片组的总容量相等,每个片组包含容量相等的多个分片。本发明专利技术的集群内存自适应调管理方法,采用优化模式的内存预先分配的策略,保证了内存的合理分片,从而提高了内存的存取效率,也减少了内存碎片的产生。此外,本发明专利技术的集群内存自适应调管理方法能够进行内存自适应调整,大大提高了内存的自治能力和稳定性。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种集群内存自适应管理方法和服务器集群。
技术介绍
随着信息化程度的不断提高,特别是Web2.0等交互式、个性化应用的出现,充斥于互联网中的数据量呈爆炸式增长,在此形势之下,有关海量数据存储的研究随之发展迅猛。应用系统业务访问量与日俱增,众多频繁的数据访问,对应用服务器和数据库要求越来越高,如何合理提高数据访问效率且对服务器不产生过多压力,成为提升系统性能的关键。在各类数据库产品和缓存系统中,内存的高效利用和内存管理无疑是备受关注的焦点。内存的合理利用能够大幅减少硬盘1/0,从而提升系统性能。当前市面上有多种比较流行的基于内存的数据库或缓存系统,如国外开源的Memcached、Redis,也有国内的诸如Tair等的非持久化存储层。这类产品在开发时均在内存的利用和优化上下了不少的功夫,但是也仍然存在一些不足之处,如内存利用率不高、内存删除策略不是很优化,内存管理自治度不高等 如人们所知,频繁地使用malloc和free来进行内存操作,将产生大量的内存碎片,从而会加重系统内存管理的负担,也影响程序运行速度,这对于缓存系统等对内存性能要求极高的应用场景来说几乎是不能容忍的。因此,当下的一些数据库和缓存系统产品提供了预先分配内存的方案。其基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块儿,尺寸相同的块儿分成组,且各个组的尺寸大小按照一个可以设置其值的增长因子,形成等比关系,这样就会有不同长度的块儿组。在数据进行缓存时,系统会根据收到的数据大小,从空闲的块儿列表中选择尺寸最接近的组中的块儿来存。由于使用的是预分配方式,因此系统不会释放已分配的内存,而是根据LRU (Least Recently Used,最近最少使用)算法进行过期淘汰和 重复利用。一些系统将增长因子设置成为2,即后一个组的块大小是前面一个组的两倍。但这样的后果是,块大小增长会很快,后面的块间差距会很大,在数据缓存时,会因无法有限利用分配的内存而造成极大的字节浪费。也有的增长因子可以设置其值,如设为1.25。更改后上面提到的问题有很大改善。现在的多数采用内存预分配策略的数据产品中,关于内存的管理,多采用的是LRU,这个从缓存角度看十分理想的模型,实际上在很多应用场景会造成内存利用率低和数据丢失等比较大的麻烦。如根据Memcached的预分配策略,新的数据(value)过来存放的地址是由值的大小决定的,即放到块儿大小与其最接近的一个组中。若某个组中的可用块儿为O时,系统就会根据LRU的规则清掉该组中的部分块儿来保存新到了的大小最接近的数据,而不会放到其他的组中,因为其他组中块儿的大小远大于value的大小。也就是说,这种LRU是局部的,而不是全局的,这样就会导致内存利用率低。可以通过预估数据大小和适当调整内存页大小和增长因子来缓解这种情况,但这种方法并不普适。因此像这类产品,它缺少一种内存自适应调整的机制来缓解这种情况。现在有部分其他产品,在此基础上做了一些改进。如Memcached-tool,它允许手动的执行命令来把块儿大小较大的组中的一个内存页移动到较小的组中,来进行内存的调整。但其仍存在很大的弊端,首先是每次移动只能移动一个内存页,并且由于组之间是以增长因子为乘性递增关系的,只有当增长因子为整数时可以达到不产生碎片的拆分,但又会导致组级别增长过快。因此存在诸多限制,且内存管理的自治性较差。
技术实现思路
本专利技术所要解决的技术问题是提供一种集群内存自适应管理方法、服务器集群系统,减少内存碎片产生,提高内存利用率。为解决上述技术问题,本专利技术提出了一种集群内存自适应管理方法,包括:对于数据服务器集群中的每个数据服务器,在使用前对该数据服务器按照变步长加性增长方式进行内存预分配,将内存分割为设定数目的片组,每个片组的总容量相等,每个片组包含容量相等的多个分片。进一步地,上述集群内存自适应管理方法还可具有以下特点,还包括:设置元数据管理服务器,监管数据服务器集群中各个数据服务器的内存状况,并根据所述内存状态对所述数据服务器集群中的内存资源进行统一调度。进一步地,上 述集群内存自适应管理方法还可具有以下特点,还包括:当片组内的可用分片比例下降至设定阈值时,对该片组的关系片组的分片进行拆分或拼接,将拆分或拼接后的分片作为所述片组的分片。进一步地,上述集群内存自适应管理方法还可具有以下特点,所述片组的级别随片组内分片的容量递增而递增,每个片组中分片的容量与该片组的低一级片组中分片的容量为变步长递增关系。进一步地,上述集群内存自适应管理方法还可具有以下特点,所述片组的关系片组中分片的容量与所述片组中分片的容量之比为2n,其中,η为整数,且η不等于O。进一步地,上述集群内存自适应管理方法还可具有以下特点,当片组内的可用分片比例下降至设定阈值时,采取最近最少使用LRU策略进行内存替换,释放该片组内过期的内存。为解决上述技术问题,本专利技术提出了一种服务器集群系统,应用上述的集群内存自适应管理方法,该服务器集群包括客户端数据读写接口、元数据管理服务器和数据服务器集群,所述客户端数据读写接口与所述元数据管理服务器之间、所述元数据管理服务器与所述数据服务器集群之间、所述客户端数据读写接口与所述数据服务器集群之间均通过有线或无线网络相连。为解决上述技术问题,本专利技术提出了一种数据读取方法,应用于上述的服务器集群系统,包括:客户端数据读写接口接收读取数据的请求,向元数据管理服务器申请要读取数据的保存地址;元数据管理服务器向客户端数据读写接口返回所述要读取数据所在数据服务器的标识及所在分片的内存地址;客户端数据读写接口根据元数据管理服务器返回的地址信息向所述数据服务器集群的相应数据服务器发送读取请求;所述数据服务器将相应数据返回给客户端数据读写接口。为解决上述技术问题,本专利技术提出了一种数据写入方法,应用于上述的服务器集群系统,包括:客户端数据读写接口接收写入数据的请求,将要写入数据服务器集群的数据的大小传送给元数据管理服务器;元数据管理服务器根据负载均衡算法,在所述数据服务器集群中确定写入地址所在数据服务器的标识及所在分片的内存地址,返回给客户端数据读写接口 ;客户端数据读写接口根据元数据管理服务器返回的地址信息将数据写入到所述数据服务器集群的相应内存地址。本专利技术的集群内存自适应调管理方法,采用优化模式的内存预先分配的策略,保证了内存的合理分片,从而提高了内存的存取效率,也减少了内存碎片的产生。此外,本专利技术的集群内存自适应调管理方法能够进行内存自适应调整,大大提高了内存的自治能力和稳定性。本专利技术的集群内存自适应调管理方法采用集群内存统一管理的方式,也使得多服务器内存资源统一调度和管理, 有效提高了系统负载能力。附图说明图1为本专利技术中经过内存预分配后的内存单元结构图;图2为经过内存预分配后内存分割成的各个级别片组的数据结构示意图;图3为单节点内存操作和自适应调整流程图;图4为本专利技术实施例中服务器集群系统的结构框图。具体实施例方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。本专利技术提出的集群内存自适应管理方法包括三个部分:一是内存预分配机制,二是内存自适应调整机制,三是集群内存统一管理本文档来自技高网
...

【技术保护点】
一种集群内存自适应管理方法,其特征在于,包括:对于数据服务器集群中的每个数据服务器,在使用前对该数据服务器按照变步长加性增长方式进行内存预分配,将内存分割为设定数目的片组,每个片组的总容量相等,每个片组包含容量相等的多个分片。

【技术特征摘要】
1.一种集群内存自适应管理方法,其特征在于,包括: 对于数据服务器集群中的每个数据服务器,在使用前对该数据服务器按照变步长加性增长方式进行内存预分配,将内存分割为设定数目的片组,每个片组的总容量相等,每个片组包含容量相等的多个分片。2.根据权利要求1所述的集群内存自适应管理方法,其特征在于,还包括: 设置元数据管理服务器,监管数据服务器集群中各个数据服务器的内存状况,并根据所述内存状态对所述数据服务器集群中的内存资源进行统一调度。3.根据权利要求1所述的集群内存自适应管理方法,其特征在于,还包括: 当片组内的可用分片比例下降至设定阈值时,对该片组的关系片组的分片进行拆分或拼接,将拆分或拼接后的分片作为所述片组的分片。4.根据权利要求1所述的集群内存自适应管理方法,其特征在于,所述片组的级别随片组内分片的容量递增而递增,每个片组中分片的容量与该片组的低一级片组中分片的容量为变步长递增关系。5.根据权利要求3所述的集群内存自适应管理方法,其特征在于,所述片组的关系片组中分片的容量与所述片组中分片的容量之比为2n,其中,η为整数,且η不等于O。6.根据权利要求1所述的集群内存自适应管理方法,其特征在于,当片组内的可用分片比例下降至设定阈值时,采取最近最少使用LRU策略进行内存替换,释放该片组内过期的内存。7.一种...

【专利技术属性】
技术研发人员:王勇王树鹏张永铮吴广君李斌斌安丰春王曦
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:

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

1