[发明专利]一种用于Linux系统数据缓存分配的管理方法有效
申请号: | 201010139175.2 | 申请日: | 2010-04-06 |
公开(公告)号: | CN101826055A | 公开(公告)日: | 2010-09-08 |
发明(设计)人: | 王文方 | 申请(专利权)人: | 山东高效能服务器和存储研究院 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种计算机应用技术领域,具体地说是一种用于Linux系统数据缓存分配的管理方法,通常用于基于Linux操作系统构建的数据存储系统中,使数据缓存的分配与管理独立于Linux操作系统内核版本,且数据缓存的大小能够根据实际运行情况进行动态调整,同时,采用数据缓存记录技术,将元数据信息分配在内存中的固定位置,系统因故障而宕机后,在具有BBU(电池备份单元)的情况下,可恢复整个数据缓存的内容,避免存储系统因故障而造成的数据丢失,解决了传统Linux系统的数据分配与管理方法缺乏灵活性与可扩展性的问题,提高了数据缓存的分配与管理效率,增强了兼容性与可复用性,并提高了数据的可靠性。 | ||
搜索关键词: | 一种 用于 linux 系统 数据 缓存 分配 管理 方法 | ||
【主权项】:
一种用于Linux系统数据缓存分配的管理方法,其特征在于,该系统体系结构包括:内核Patch模块(1)、缓存分配回收模块(2)、缓存访问接口模块(3)、缓存管理接口模块(4)和缓存故障重建模块(5)其中:内核Patch模块(1)将数据缓存的元数据信息分配在内存的固定位置,在Linux内核启动后,当执行到setup_memory函数时,动态增加min_low_pfn变量的值,从而预留出一段由原min_low_pfn值开始到新min_low_pfn值结束的固定的内存空间存储元数据信息,预留的内存空间大小由系统的全部内存空间所决定,其计算公式为:预留空间大小=(系统内存空间大小)*(Hash表项的大小)/当前系统Unit单元大小+元数据控制信息,元数据信息以链式Hash的方式进行组织,数据缓存被分配为固定大小的Unit单元,每个Unit单元具有全系统唯一的Unit标识,并作为键值将Unit单元连入Hash表中,Unit单元到Hash表项的计算公式如下:Unit单元对应的Hash表项=Unit标识%Hash表项的个数这种Unit单元到Hash表项的对应方式可以保证在平均情况下,根据Unit标识,在Hash表项中只需一次查找即可找到对应的Unit单元,保证缓存数据的查找效率;缓存分配回收模块(2)提供Unit单元的分配与回收接口,分配接口以Unit标识及要求的Unit单元数量为传入参数,利用Linux系统的内存分配函数进行缓存分配,在缓存分配成功后,根据Unit标识将Unit单元连入元数据Hash表中,回收接口以Unit标识为传入参数,在元数据Hash表中查找对应的Unit单元,从Hash表中移除,利用Linux系统的内存回收函数进行缓存释放;缓存访问接口模块(3)提供Unit单元的访问接口,访问接口以Unit标识为传入参数,在元数据Hash表中查找对应的Unit单元,返回指向Unit单元的句柄;缓存管理接口模块(4)提供数据缓存的管理接口,包括缓存空间大小设定、Unit单元大小设定,缓存空间大小设定以缓存空间的大小为传入参数,更新缓存空间大小阈值,若当期缓存空间大于该阈值则进行Unit单元释放,直到缓存空间小于阈值,Unit单元大小设定以Unit单元的大小为传入参数,调用缓存分配回收模块(2)的回收接口,释放缓存中原有的Unit单元,此后Unit单元的分配将以新设定的Unit单元大小为单位;缓存故障重建模块(5)在元数据信息区的保存一个故障标记,系统启动后该标记置位,系统正常关闭后清空该标记,系统启动后若发现故障标记置位,则表明系统为非正常关闭,遍历元数据的Hash列表,获取Unit单元的句柄,并标记为已占用,避免该空间写入新数据内容而造成数据丢失。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东高效能服务器和存储研究院,未经山东高效能服务器和存储研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010139175.2/,转载请声明来源钻瓜专利网。
- 上一篇:信道质量指示上报控制方法、基站以及用户设备
- 下一篇:水平度检测装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置