CN103226520B - 集群内存自适应管理方法、服务器集群系统 - Google Patents
集群内存自适应管理方法、服务器集群系统 Download PDFInfo
- Publication number
- CN103226520B CN103226520B CN201310113105.3A CN201310113105A CN103226520B CN 103226520 B CN103226520 B CN 103226520B CN 201310113105 A CN201310113105 A CN 201310113105A CN 103226520 B CN103226520 B CN 103226520B
- Authority
- CN
- China
- Prior art keywords
- data
- cluster
- memory
- server
- burst
- 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.)
- Expired - Fee Related
Links
- 238000007726 management method Methods 0.000 title claims abstract description 89
- 230000007773 growth pattern Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 9
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000004321 preservation Methods 0.000 claims description 3
- 238000007599 discharging Methods 0.000 claims description 2
- 230000006978 adaptation Effects 0.000 abstract description 11
- 238000013467 fragmentation Methods 0.000 abstract description 5
- 238000006062 fragmentation reaction Methods 0.000 abstract description 5
- 230000007423 decrease Effects 0.000 abstract description 4
- 230000007246 mechanism Effects 0.000 description 13
- 239000003102 growth factor Substances 0.000 description 7
- 238000005194 fractionation Methods 0.000 description 6
- 239000012634 fragment Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000012010 growth Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Abstract
本发明涉及一种集群内存自适应管理方法、服务器集群。其中,集群内存自适应管理方法包括:对于数据服务器集群中的每个数据服务器,在使用前对该数据服务器按照变步长加性增长方式进行内存预分配,将内存分割为设定数目的片组,每个片组的总容量相等,每个片组包含容量相等的多个分片。本发明的集群内存自适应调管理方法,采用优化模式的内存预先分配的策略,保证了内存的合理分片,从而提高了内存的存取效率,也减少了内存碎片的产生。此外,本发明的集群内存自适应调管理方法能够进行内存自适应调整,大大提高了内存的自治能力和稳定性。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种集群内存自适应管理方法和服务器集群。
背景技术
随着信息化程度的不断提高,特别是Web 2.0等交互式、个性化应用的出现,充斥于互联网中的数据量呈爆炸式增长,在此形势之下,有关海量数据存储的研究随之发展迅猛。应用系统业务访问量与日俱增,众多频繁的数据访问,对应用服务器和数据库要求越来越高,如何合理提高数据访问效率且对服务器不产生过多压力,成为提升系统性能的关键。在各类数据库产品和缓存系统中,内存的高效利用和内存管理无疑是备受关注的焦点。内存的合理利用能够大幅减少硬盘I/O,从而提升系统性能。当前市面上有多种比较流行的基于内存的数据库或缓存系统,如国外开源的Memcached、Redis,也有国内的诸如Tair等的非持久化存储层。这类产品在开发时均在内存的利用和优化上下了不少的功夫,但是也仍然存在一些不足之处,如内存利用率不高、内存删除策略不是很优化,内存管理自治度不高等。
如人们所知,频繁地使用malloc和free来进行内存操作,将产生大量的内存碎片,从而会加重系统内存管理的负担,也影响程序运行速度,这对于缓存系统等对内存性能要求极高的应用场景来说几乎是不能容忍的。因此,当下的一些数据库和缓存系统产品提供了预先分配内存的方案。其基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块儿,尺寸相同的块儿分成组,且各个组的尺寸大小按照一个可以设置其值的增长因子,形成等比关系,这样就会有不同长度的块儿组。在数据进行缓存时,系统会根据收到的数据大小,从空闲的块儿列表中选择尺寸最接近的组中的块儿来存。由于使用的是预分配方式,因此系统不会释放已分配的内存,而是根据LRU(Least Recently Used,最近最少使用)算法进行过期淘汰和重复利用。一些系统将增长因子设置成为2,即后一个组的块大小是前面一个组的两倍。但这样的后果是,块大小增长会很快,后面的块间差距会很大,在数据缓存时,会因无法有限利用分配的内存而造成极大的字节浪费。也有的增长因子可以设置其值,如设为1.25。更改后上面提到的问题有很大改善。
现在的多数采用内存预分配策略的数据产品中,关于内存的管理,多采用的是LRU,这个从缓存角度看十分理想的模型,实际上在很多应用场景会造成内存利用率低和数据丢失等比较大的麻烦。如根据Memcached的预分配策略,新的数据(value)过来存放的地址是由值的大小决定的,即放到块儿大小与其最接近的一个组中。若某个组中的可用块儿为0时,系统就会根据LRU的规则清掉该组中的部分块儿来保存新到了的大小最接近的数据,而不会放到其他的组中,因为其他组中块儿的大小远大于value的大小。也就是说,这种LRU是局部的,而不是全局的,这样就会导致内存利用率低。可以通过预估数据大小和适当调整内存页大小和增长因子来缓解这种情况,但这种方法并不普适。因此像这类产品,它缺少一种内存自适应调整的机制来缓解这种情况。现在有部分其他产品,在此基础上做了一些改进。如Memcached-tool,它允许手动的执行命令来把块儿大小较大的组中的一个内存页移动到较小的组中,来进行内存的调整。但其仍存在很大的弊端,首先是每次移动只能移动一个内存页,并且由于组之间是以增长因子为乘性递增关系的,只有当增长因子为整数时可以达到不产生碎片的拆分,但又会导致组级别增长过快。因此存在诸多限制,且内存管理的自治性较差。
发明内容
本发明所要解决的技术问题是提供一种集群内存自适应管理方法、服务器集群系统,减少内存碎片产生,提高内存利用率。
为解决上述技术问题,本发明提出了一种集群内存自适应管理方法,包括:
对于数据服务器集群中的每个数据服务器,在使用前对该数据服务器按照变步长加性增长方式进行内存预分配,将内存分割为设定数目的片组,每个片组的总容量相等,每个片组包含容量相等的多个分片。
进一步地,上述集群内存自适应管理方法还可具有以下特点,还包括:
设置元数据管理服务器,监管数据服务器集群中各个数据服务器的内存状态,并根据所述内存状态对所述数据服务器集群中的内存资源进行统一调度。
进一步地,上述集群内存自适应管理方法还可具有以下特点,还包括:
当片组内的可用分片比例下降至设定阈值时,对该片组的关系片组的分片进行拆分或拼接,将拆分或拼接后的分片作为所述片组的分片。
进一步地,上述集群内存自适应管理方法还可具有以下特点,所述片组的级别随片组内分片的容量递增而递增,每个片组中分片的容量与该片组的低一级片组中分片的容量为变步长递增关系。
进一步地,上述集群内存自适应管理方法还可具有以下特点,所述片组的关系片组中分片的容量与所述片组中分片的容量之比为2n,其中,n为整数,且n不等于0。
进一步地,上述集群内存自适应管理方法还可具有以下特点,当片组内的可用分片比例下降至设定阈值时,采取最近最少使用LRU策略进行内存替换,释放该片组内过期的内存。
为解决上述技术问题,本发明提出了一种服务器集群系统,应用上述的集群内存自适应管理方法,该服务器集群包括客户端数据读写接口、元数据管理服务器和数据服务器集群,所述客户端数据读写接口与所述元数据管理服务器之间、所述元数据管理服务器与所述数据服务器集群之间、所述客户端数据读写接口与所述数据服务器集群之间均通过有线或无线网络相连。
为解决上述技术问题,本发明提出了一种数据读取方法,应用于上述的服务器集群系统,包括:
客户端数据读写接口接收读取数据的请求,向元数据管理服务器申请要读取数据的保存地址;
元数据管理服务器向客户端数据读写接口返回所述要读取数据所在数据服务器的标识及所在分片的内存地址;
客户端数据读写接口根据元数据管理服务器返回的地址信息向所述数据服务器集群的相应数据服务器发送读取请求;
所述数据服务器将相应数据返回给客户端数据读写接口。
为解决上述技术问题,本发明提出了一种数据写入方法,应用于上述的服务器集群系统,包括:
客户端数据读写接口接收写入数据的请求,将要写入数据服务器集群的数据的大小传送给元数据管理服务器;
元数据管理服务器根据负载均衡算法,在所述数据服务器集群中确定写入地址所在数据服务器的标识及所在分片的内存地址,返回给客户端数据读写接口;
客户端数据读写接口根据元数据管理服务器返回的地址信息将数据写入到所述数据服务器集群的相应内存地址。
本发明的集群内存自适应调管理方法,采用优化模式的内存预先分配的策略,保证了内存的合理分片,从而提高了内存的存取效率,也减少了内存碎片的产生。此外,本发明的集群内存自适应调管理方法能够进行内存自适应调整,大大提高了内存的自治能力和稳定性。本发明的集群内存自适应调管理方法采用集群内存统一管理的方式,也使得多服务器内存资源统一调度和管理,有效提高了系统负载能力。
附图说明
图1为本发明中经过内存预分配后的内存单元结构图;
图2为经过内存预分配后内存分割成的各个级别片组的数据结构示意图;
图3为单节点内存操作和自适应调整流程图;
图4为本发明实施例中服务器集群系统的结构框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明提出的集群内存自适应管理方法包括三个部分:一是内存预分配机制,二是内存自适应调整机制,三是集群内存统一管理机制。其中,内存预分配机制是本发明的基础。
本发明中,内存预分配机制是指:对于数据服务器集群中的每个数据服务器,在使用前对该数据服务器按照变步长加性增长方式进行内存预分配,将内存分割为设定数目的片组,每个片组的总容量相等,每个片组包含容量相等的多个分片。进一步地,片组的级别随片组内分片的容量递增而递增,每个片组中分片的容量与该片组的低一级片组中分片的容量为变步长递增关系。
具体地,利用上述内存预分配机制,可以按照如下方式进行内存预分配:按照预先定义的方式,将数据服务器集群中每个数据服务器的内存分割成多组各种长度的切片Slice,也即分片,将相同字节长度的分片Slice分为一组,称为片组Can,并且,各个片组Can之间以一定规律的变步长(Pace)形成递增关系。这样就会有不同长度分片的片组Can,而每个片组Can的总大小是相同的。该方案充分利用了二进制的数学特性来变长累加式定义各片组Can级别,而非典型的乘性增长因子,因此各级片组Can长度间距的数学关系非常明显且间距合理。在以后每次请求内存的时候,采用最佳适应算法来查询和获得一个分片Slice,即大小最接近的分片Slice用来保存数据。
图1为本发明中经过内存预分配后的内存单元结构图。如图1所示,内存被预先分配为了内部分片slice不同长度的各级片组Can,但各级片组Can的总大小均相同,均为1M(片组Can的总容量值可以根据数据服务器的实际内存进行调整)。为满足内存对齐,各级片组Can的分片slice长度均为8的整数倍字节,且各级片组Can的分片slice之间呈现明显的数学步进关系,将其称为变步长加式递增关系。即各级片组Can的分片slice长度之间,局部满足等差数列,但每隔一定的级别,公差会翻倍。为了更好地为内存自适应调整服务,最小级别的片组Can的分片slice长度设置为8*8=64B(字节),初始公差为2*8=16字节,在此其步长Pace=2。如图1所示,前5个级别之间的4个级别间距步长pace均为2字节,从第5和第6级别的间距开始,步长pace=pace*2,即为4字节。以后,每隔4个间距,步长pace都会翻倍。如果对各级相邻片组Can作商,按照之前的步长pace,下一级的片组Can是上级片组Can的1.125倍时,步长pace将翻倍。这样不难发现,各相邻片组Can的分片Slice长度比值总是回归式地在1.125到1.25之间,从而使得各级片组Can的分片Slice长度增长平滑而合理,不至于以纯指数形式增长导致后面各级片组Can之间的间距过大,也不至于以纯线性关系增长导致后面相对间距没有变化的趋势而造成很多级别片组Can发挥不了任何作用。此外,由于最小级别片组Can的初始值和步长pace的取值均与2进制有密切关系,使得各级片组Can整体呈现非常明显的2进制特性。最小级别片组Can的分片Slice长度为64字节,此后每当其分片Slice长度到2n时,步长pace将翻倍。且任何4个间距的分片Slice,其长度始终呈现2倍关系,这就为后面内存自适应调整奠定了非常好的基础,使得各级分片Slice可以完成无碎片的拆分和拼接。内存预分配策略以此种方式将整个要分配的内存填满。这里注意到,对于后面比较大的片组Can级别,其分片Slice长度将可能不能被片组Can总长度(如1M)整除,此时该级片组Can中分片Slice的个数采取向下取整策略。
图2为经过内存预分配后内存分割成的各个级别片组的数据结构示意图。图2中,实箭头表示指针,小箭头表示索引或数量。图2给出的是用来管理内存的最主要的数据结构,其描述的是各级片组Can的属性。在这里将其定义为can_level_t。其内部的各个属性变量和说明如下:图2中,unsigned int slice_size为该级片组Can内每个分片Slice的长度;unsigned int slices_num为该级别片组Can初始化时包含的分片Slice的个数;void **slices_ptr是分片Slice的指针数组或列表;unsigned intsl_total为已分配的slices_ptr数组大小,注意它不同于slices_num,两者初始化时是相同的,但随着自适应调整的合并和拆分后就不相同了;unsigned int sl_current是空闲的第一个分片Slice的下标;void*end_page_ptr为当前的片组Can中下一个空闲可用的分片Slice的指针;unsigned int end_page_free为此级片组Can中总的空闲分片Slice的数量,如图2中总的空闲分片Slice的个数为5;void**can_list为此级片组Can中各个片组Can的指针列表,其在自调整的拆分拼接前只有一个元素;unsigned int list_size为片组Can指针数组的大小,如图2中其值为3;unsigned int cans为当前已用的can_list指针数组的数量。
本发明中,内存自适应调整机制是指:当片组内的可用分片比例下降至设定阈值时,对该片组的关系片组的分片进行拆分或拼接,将拆分或拼接后的分片作为该片组的分片。片组A的关系片组是指能够通过无碎片拆分或拼接将分片转化为片组A的分片的片组。片组的关系片组中分片的容量与片组中分片的容量之比为2n,其中,n为整数,且n不等于0。内存自适应调整机制以内存预分配机制为基础,提供内存各级片组Can的无碎片拆分和拼接。该内存操作(拆分或拼接)可以采用阈值触发策略,即某个片组Can的可用分片Slice降低到设定百分比时,自动触发其关系片组Can的拆分或拼接,以补偿此级别片组Can的供给需求。这样就避免了频繁手动分配内存的人工干预,大大降低了局部LRU(最近最少使用)过期淘汰机制所造成的内存利用率严重不足和数据丢失、缓存命中率低等问题。通过采用该内存自适应调整机制,使集群系统的自治能力有显著的提高。
图3为单节点内存操作和自适应调整流程图。如图3所示,单节点内存操作和自适应调整流程包括:
步骤301,开始;
步骤302,内存初始化预分配;
单节点内,内存首先完成初始化时的内存预分配操作。
步骤303,等待接收输入数据;
步骤304,根据接收的Value长度选择合适的Can level中的Slice存入;
接收的Value在集群的元数据管理服务器中已经根据其长度获得了要存入的合适位置,因此此时直接定位到具体内存地址,存入到某个Slice中。
步骤305,判断该级别Can的占用率是否超过阈值,若是执行步骤306,否则执行步骤303;
阈值可以设定为80%。
步骤306,触发内存自调整;
步骤307,判断can_ID比此can多4的Can(也即can_ID+=4的can)是否存在,若存在执行步骤308,否则执行步骤310;
步骤308,判断can_ID比此Can多4的Can占用率是否小于阈值,若是执行步骤309,否则执行步骤307;
步骤309,实现拆分,结束;
如果存在can_ID+=4的Can且其满足可拆分,即该要被拆分的Can占用率不高于50%,则可以拆分,为了不影响此被拆分的Can级别的正常使用,拆分的策略是从该级Can的尾部Slice往前数,每次拆分的单位个数可以设定,默认为4,即对于can_ID+=4的can_ID,可以拆出新的8个Slice。若can_ID+=4的Can不可拆分,即占用率高于50%,则can_ID循环加4,直到找到可以拆分的Can。
步骤310,can_ID置为原值;
步骤311,判断can_ID-=4的Can是否存在,若存在执行步骤312,否则执行步骤314;
若到最大Can扔不可拆分,则再从该can_ID开始往前数比其小的Can,间距也为4,找到合适的Can进行合并。
步骤312,判断can_ID-=4的can占用率是否小于阈值,若是执行步骤313,否则执行步骤311;
步骤313,实现合并,结束;
合并的策略和前面拆分的策略类似,只是默认值为16。
步骤314,执行LRU内存替换,结束。
倘若各级can遍历完后没有找到可用来拆分和合并的单元,则对内存单元采用LRU策略来替换出已过期的内存单元。
图3中,以4为步长增加或减少can_ID来寻找拆分和合并的单元,正是由前面内存预分配时内存各级Can的Slice之前的特殊长度关系决定的,这样的拆分或者合并可以保证完全无内存碎片。
本发明中,集群内存统一管理机制是指:设置元数据管理服务器,监管数据服务器集群中各个数据服务器的内存状态,并根据内存状态对数据服务器集群中的内存资源进行统一调度。各数据服务器通过与元数据管理服务器通信,实时告知本数据服务器内存中各级片组Can中分片Slice的空闲情况,从而构成各数据服务器内存统一管理的集群内存管理系统。这样,各数据服务器的内存被作为集群整体内存来使用,内存的使用由元数据管理服务器统一调度,从而支持了集群策略,提高了集群的负载均衡和统一管理能力。
本发明的集群内存自适应调管理方法,采用优化模式的内存预先分配的策略,保证了内存的合理分片,从而提高了内存的存取效率,也减少了内存碎片的产生。此外,本发明的集群内存自适应调管理方法能够进行内存自适应调整,大大提高了内存的自治能力和稳定性。本发明的集群内存自适应调管理方法采用集群内存统一管理的方式,也使得多服务器内存资源统一调度和管理,有效提高了系统负载能力。
本发明提出了一种服务器集群系统,该服务器集群系统应用上述的集群内存自适应管理方法。图4为本发明实施例中服务器集群系统的结构框图。如图4所示,该服务器集群包括客户端数据读写接口110、元数据管理服务器120和数据服务器集群130,客户端数据读写接口110与元数据管理服务器120之间、元数据管理服务器120与数据服务器集群130之间、客户端数据读写接口110与数据服务器集群130之间均通过有线或无线网络相连。
图4中,客户端数据读写接口110提供数据读写数据服务器集群130内存的接口,接收外部读写请求,然后与元数据管理服务器120以及数据服务器集群130直接通信。元数据管理服务器120负责元数据的管理,实际上它维护了数据服务器集群130中各个数据服务器的内存使用情况,即实时维护各台数据服务器上各级别片组Can中空闲分片Slice的百分比和下一段要写入值时的首地址。当客户端数据读写接口110要想写内存的时候,将先与元数据管理服务器120通信,向元数据管理服务器120传入要写入内存的数据的大小,元数据管理服务器120根据传入的数据的大小,在各数据服务器中根据负载均衡算法得到合适的数据服务器ID以及合适大小的空闲分片Slice的内存地址,并将这些信息返回给客户端数据读写接口110,由此知元数据管理服务器120在整个系统中起集中调度的作用。数据服务器集群130包括多个数据服务器,其主要为应用提供内存资源,并且各数据服务器上均可以通过心跳机制与元数据管理服务器120通信,在本地内存中个级别片组Can的使用情况发生改变时,实时向元数据管理服务器120推送最新的信息。客户端数据读写接口110在与元数据管理服务器120通信获得信息之后,根据该信息,将数据写入具体的某台服务器的某个分片Slice中。此外数据服务器集群130的每台数据服务器都有一定的自适应管理能力,它提供内存预先分配模式,并且采用阈值触发式内存调整策略来管理内存,即某个级别片组Can的占用情况超过一定比例(一般为80%)时,将自动触发其他级别片组Can的某些分片Slice的拆分或拼接行为,来弥补该级别片组Can的使用需求。如果没有可用来拆分和合并的其他级别的空闲片组Can,则采取LRU策略进行内存替换,来释放已过期的内存单元。
图4所示服务器集群系统的数据读写流程包括如下步骤:
客户端数据读写接口接收读取数据的请求,向元数据管理服务器申请要读取数据的保存地址;
元数据管理服务器向客户端数据读写接口返回所述要读取数据所在数据服务器的标识及所在分片的内存地址;
客户端数据读写接口根据元数据管理服务器返回的地址信息向所述数据服务器集群的相应数据服务器发送读取请求;
数据服务器将相应数据返回给客户端数据读写接口。
图4所示服务器集群系统的数据写入流程包括如下步骤:
客户端数据读写接口接收写入数据的请求,将要写入数据服务器集群的数据的大小传送给元数据管理服务器;
元数据管理服务器根据负载均衡算法,在所述数据服务器集群中确定写入地址所在数据服务器的标识及所在分片的内存地址,返回给客户端数据读写接口;
客户端数据读写接口根据元数据管理服务器返回的地址信息将数据写入到所述数据服务器集群的相应内存地址。
本发明的服务器集群系统,应用上述的集群内存自适应调管理方法,其采用优化模式的内存预先分配的策略,保证了内存的合理分片,从而提高了内存的存取效率,也减少了内存碎片的产生。此外,内存自适应调整大大提高了内存的自治能力和稳定性,集群内存统一管理的方式,也使得多服务器内存资源统一调度和管理,有效提高了系统负载能力。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种集群内存自适应管理方法,其特征在于,包括:
对于数据服务器集群中的每个数据服务器,在使用前对该数据服务器按照变步长加性增长方式进行内存预分配,将内存分割为设定数目的片组,每个片组的总容量相等,每个片组包含容量相等的多个分片;当片组内的可用分片比例下降至设定阈值时,对该片组的关系片组的分片进行拆分或拼接,将拆分或拼接后的分片作为所述片组的分片。
2.根据权利要求1所述的集群内存自适应管理方法,其特征在于,还包括:
设置元数据管理服务器,监管数据服务器集群中各个数据服务器的内存状态,并根据所述内存状态对所述数据服务器集群中的内存资源进行统一调度。
3.根据权利要求1所述的集群内存自适应管理方法,其特征在于,所述片组的级别随片组内分片的容量递增而递增,每个片组中分片的容量与该片组的低一级片组中分片的容量为变步长递增关系。
4.根据权利要求1所述的集群内存自适应管理方法,其特征在于,所述片组的关系片组中分片的容量与所述片组中分片的容量之比为2n,其中,n为整数,且n不等于0。
5.根据权利要求1所述的集群内存自适应管理方法,其特征在于,当片组内的可用分片比例下降至设定阈值时,采取最近最少使用LRU策略进行内存替换,释放该片组内过期的内存。
6.一种服务器集群系统,应用权利要求1所述的集群内存自适应管理方法,其特征在于,该服务器集群包括客户端数据读写接口、元数据管理服务器和数据服务器集群,所述客户端数据读写接口与所述元数据管理服务器之间、所述元数据管理服务器与所述数据服务器集群之间、所述客户端数据读写接口与所述数据服务器集群之间均通过有线或无线网络相连。
7.一种数据读取方法,应用于权利要求6所述的服务器集群系统,包括:
客户端数据读写接口接收读取数据的请求,向元数据管理服务器申请要读取数据的保存地址;
元数据管理服务器向客户端数据读写接口返回所述要读取数据所在数据服务器的标识及所在分片的内存地址;
客户端数据读写接口根据元数据管理服务器返回的地址信息向所述数据服务器集群的相应数据服务器发送读取请求;
所述数据服务器将相应数据返回给客户端数据读写接口。
8.一种数据写入方法,应用于权利要求6所述的服务器集群系统,包括:
客户端数据读写接口接收写入数据的请求,将要写入数据服务器集群的数据的大小传送给元数据管理服务器;
元数据管理服务器根据负载均衡算法,在所述数据服务器集群中确定写入地址所在数据服务器的标识及所在分片的内存地址,返回给客户端数据读写接口;
客户端数据读写接口根据元数据管理服务器返回的地址信息将数据写入到所述数据服务器集群的相应内存地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310113105.3A CN103226520B (zh) | 2013-04-02 | 2013-04-02 | 集群内存自适应管理方法、服务器集群系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310113105.3A CN103226520B (zh) | 2013-04-02 | 2013-04-02 | 集群内存自适应管理方法、服务器集群系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103226520A CN103226520A (zh) | 2013-07-31 |
CN103226520B true CN103226520B (zh) | 2016-09-07 |
Family
ID=48836977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310113105.3A Expired - Fee Related CN103226520B (zh) | 2013-04-02 | 2013-04-02 | 集群内存自适应管理方法、服务器集群系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226520B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335394B (zh) * | 2014-07-14 | 2019-08-13 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据控制方法及系统 |
CN104199781A (zh) * | 2014-08-14 | 2014-12-10 | 深圳百科信息技术有限公司 | 一种基于共享内存的内存碎片分配方法和装置 |
CN108319598B (zh) * | 2017-01-16 | 2022-02-08 | 腾讯科技(北京)有限公司 | 数据缓存方法、装置和系统 |
CN106951456B (zh) * | 2017-02-24 | 2020-03-17 | 广东广信通信服务有限公司 | 一种内存数据库系统及数据处理系统 |
CN106850849A (zh) * | 2017-03-15 | 2017-06-13 | 联想(北京)有限公司 | 一种数据处理方法、装置和服务器 |
CN109522133B (zh) * | 2018-11-28 | 2020-10-02 | 北京字节跳动网络技术有限公司 | 一种数据拼接方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1427342A (zh) * | 2001-12-21 | 2003-07-02 | 上海贝尔有限公司 | 一种内存管理系统及其分配方法 |
CN101594309A (zh) * | 2009-06-30 | 2009-12-02 | 华为技术有限公司 | 集群系统中内存资源的管理方法、设备及网络系统 |
CN101753405A (zh) * | 2008-12-02 | 2010-06-23 | 北京空中信使信息技术有限公司 | 集群服务器内存管理方法及其系统 |
CN102063385A (zh) * | 2010-12-23 | 2011-05-18 | 深圳市金宏威实业发展有限公司 | 一种内存管理方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6829637B2 (en) * | 2001-07-26 | 2004-12-07 | International Business Machines Corporation | Distributed shared memory for server clusters |
CN101847127B (zh) * | 2010-06-18 | 2012-01-25 | 福建星网锐捷网络有限公司 | 一种内存管理方法及装置 |
-
2013
- 2013-04-02 CN CN201310113105.3A patent/CN103226520B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1427342A (zh) * | 2001-12-21 | 2003-07-02 | 上海贝尔有限公司 | 一种内存管理系统及其分配方法 |
CN101753405A (zh) * | 2008-12-02 | 2010-06-23 | 北京空中信使信息技术有限公司 | 集群服务器内存管理方法及其系统 |
CN101594309A (zh) * | 2009-06-30 | 2009-12-02 | 华为技术有限公司 | 集群系统中内存资源的管理方法、设备及网络系统 |
CN102063385A (zh) * | 2010-12-23 | 2011-05-18 | 深圳市金宏威实业发展有限公司 | 一种内存管理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103226520A (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103226520B (zh) | 集群内存自适应管理方法、服务器集群系统 | |
US8443052B2 (en) | Topology aware cache storage | |
CN102331986B (zh) | 一种数据库缓存管理方法及一种数据库服务器 | |
EP3367251B1 (en) | Storage system and solid state hard disk | |
CN103366016A (zh) | 基于hdfs的电子文件集中存储及优化方法 | |
US20180074724A1 (en) | Workload aware storage platform | |
CN107770259A (zh) | 基于文件热度和节点负载的副本数量动态调整方法 | |
CN103412884B (zh) | 一种异构存储介质下嵌入式数据库的管理方法 | |
CN107450855B (zh) | 一种用于分布式存储的模型可变的数据分布方法及系统 | |
CN108462736B (zh) | 一种面向QoS的云存储数据副本存储方法 | |
US20150095448A1 (en) | Cloud system, control method thereof, management server and control method thereof | |
US9729603B2 (en) | Content stream delivery using variable cache replacement granularity | |
CN101673271A (zh) | 分布式文件系统及其文件分片方法 | |
CN103049574B (zh) | 实现文件动态副本的键值文件系统及方法 | |
CN103488685A (zh) | 一种基于分布式存储系统的碎片文件存储方法 | |
CN105468541B (zh) | 一种面向透明计算智能终端的缓存管理方法 | |
CN102868542A (zh) | 一种服务分发网络中服务质量的控制方法及系统 | |
US6973536B1 (en) | Self-adaptive hybrid cache | |
Ghandeharizadeh et al. | CAMP: A cost adaptive multi-queue eviction policy for key-value stores | |
CN111124309B (zh) | 一种分片映射关系确定方法、装置、设备及存储介质 | |
CN113728601B (zh) | 优化压缩数据的存储和获取 | |
CN103310008A (zh) | 一种云控制服务器及其文件索引方法 | |
CN101968791A (zh) | 一种数据存储方法及装置 | |
CN104767822A (zh) | 一种基于版本的数据存储方法 | |
US20150046399A1 (en) | Computer system, data allocation management method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160907 |