系统管理方法和装置的制造方法_2

文档序号:8269682阅读:来源:国知局
ID层之上,为每个RAID创建一个target_cache数据结构与之对应,target_cache与raid数目是--对应的关系。对每个RAID上的cahce都有独立的缓存树和处理Mo的线程等资源。
[0047]其中,物理内存布局如下所述:
[0048]读写缓存池使用一段物理地址联系的内存地址空间,此空间在系统初始化时保留,操作系统使用保留空间以外的内存空间,保留空间通过1remap映射给缓存层(targelcache层)使用,其他模块无法使用这段内存。这段空间除了用于存放数据外,还存放页page的元数据。该段内存地址空间又划分为读缓存池和写缓存池。读写缓存池经过初始化,初始化为页的结构并建立页的管理结构和页的存储结构的映射。这样页就可用于读写时存储数据的载体。
[0049]其中,缓存写流程如下所述:
[0050]当缓存层(target_cache层)接收到缓存写b1时,首先要从基数树上查找是否存在该页。如果该页没有找到,则从写缓存池中申请页,把页内的块标志置成WRITING标志,然后将其挂到基数树上。最后,在endb1处理线程中将数据拷贝到对应页。若要找的页已经在于基数树上,则需要判断其是否为写页,以及判断访问范围内块的状态,然后根据这些块的状态进行不同的处理,若块间存在互斥,则还需要加入相应等待队列。
[0051]其中,缓存读流程如下所述:
[0052]缓存读流程和缓存写类似,当缓存层(target_CaChe层)收到LVM层传来的读b1请求时,首先从基数树上遍历查找页,根据查找结果,分别进行处理,与缓存写不同的是,块标志的设置、互斥的考虑有所不同。
[0053]如图4进一步示出了本发明实施例的系统管理方法的示意性流程图,其中页面写回为:
[0054]这个功能仅针对写缓存池,当写缓存池中空闲页很少,而用户写数据较多时,需要将一些dirty数据写回到RAID释放所占用的页。这个过程对每个target_cache就是启用一个回刷线程,不断扫描基数树如果所扫描到的页符合回刷要求,则对页内的数据回刷到硬盘。
[0055]页面回收为:
[0056]这个过程主要针对回刷完的页和最近最少使用的读页进行回收操作,回收线程扫描每个targelcache结构如果该页的引用为I (表示符合回收要求)则进行回收,否则,继续判断下一个页。
[0057]如图5所示,断电数据保护为:
[0058]当系统出现崩溃和断电时,缓存层(target_cache层)对地址区间特定范围内的数据进行保存,将数据写到SSD硬盘的某个分区,并设置SSD的元数据头标志用来标识保存的数据有效。当系统遇到断电崩溃重启后,首先判断SSD状态有效标识符来判断所保存的数据是否有效,然后根据保存的元数据找到相应的数据并写到相应的位置进行恢复。
[0059]通过本发明的上述方案,能够实现对系统数据的优化处理从而可以大大提升系统对数据处理的性能。
[0060]根据本发明的实施例,还提供了一种系统管理装置。
[0061]如图6所示,根据本发明实施例的系统管理装置包括:
[0062]建立模块61,用于在内核的LVM层和RAID层的中间建立一个缓存层;
[0063]获取模块62,用于获得LVM层下发的指令使得数据到达缓存层;
[0064]处理模块63,用于通过缓存层对数据进行处理。
[0065]其中,缓存层至少具备以下功能之一:将数据缓存后再读写、直接读写数据、直接读写数据的功能与将数据缓存后再读写的功能之间相互转换、预读数据、页回写、页回收、强制同步缓存数据到硬盘、断电后自动保护获取的数据。
[0066]其中,缓存层包含至少一个子缓存层,且子缓存层的数量与RAID层的数量相同并且一一对应,并且每个子缓存层均含有独立的基数树及处理请求的线程。
[0067]其中,该系统管理装置还可以进一步包括:
[0068]初始化模块(未示出),用于对缓存层初始化使缓存层形成页的结构;
[0069]创建模块(未示出),用于建立页的管理结构和页的存储结构的映射。
[0070]综上所述,借助于本发明的上述技术方案,通过在LVM层和RAID层的中间创建一个缓存层,并可以通过该缓存层实现对系统数据的优化处理从而可以大大提升系统对数据处理的性能。
[0071]发明人通过采用本发明的技术方案进行了测试,在6块SAS盘创建的RAID5基础之上,将有无采用本发明技术方案的顺序读写的性能进行对比,根据对比结果可以得到,采用本发明技术方案对顺序写的性能的提升是非常明显的,最高提升至不采用本发明技术方案的200多倍。
[0072]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种系统管理方法,其特征在于,包括: 在内核的LVM层和RAID层的中间建立一个缓存层; 获得所述LVM层下发的指令使得数据到达所述缓存层; 通过所述缓存层对所述数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述缓存层至少具备以下功能之一: 将所述数据缓存后再读写、直接读写所述数据、直接读写所述数据的功能与将所述数据缓存后再读写的功能之间相互转换、预读所述数据、页回写、页回收、强制同步缓存数据到硬盘、断电后自动保护获取的数据。
3.根据权利要求1所述的方法,其特征在于,所述缓存层包含至少一个子缓存层,且子缓存层的数量与RAID层的数量相同并且一一对应。
4.根据权利要求3所述的方法,其特征在于,每个子缓存层均含有独立的基数树及处理请求的线程。
5.根据权利要求1所述的方法,其特征在于,包括: 对所述缓存层初始化使所述缓存层形成页的结构; 建立页的管理结构和页的存储结构的映射。
6.根据权利要求1所述的方法,其特征在于,所述缓存层进一步用于存储页的元数据。
7.一种系统管理装置,其特征在于,包括: 建立模块,用于在内核的LVM层和RAID层的中间建立一个缓存层; 获取模块,用于获得所述LVM层下发的指令使得数据到达所述缓存层; 处理模块,用于通过所述缓存层对所述数据进行处理。
8.根据权利要求7所述的装置,其特征在于,所述缓存层至少具备以下功能之一: 将所述数据缓存后再读写、直接读写所述数据、直接读写所述数据的功能与将所述数据缓存后再读写的功能之间相互转换、预读所述数据、页回写、页回收、强制同步缓存数据到硬盘、断电后自动保护获取的数据。
9.根据权利要求7所述的装置,其特征在于,所述缓存层包含至少一个子缓存层,且子缓存层的数量与RAID层的数量相同并且一一对应,并且每个子缓存层均含有独立的基数树及处理请求的线程。
10.根据权利要求7所述的装置,其特征在于,包括: 初始化模块,用于对所述缓存层初始化使所述缓存层形成页的结构; 创建模块,用于建立页的管理结构和页的存储结构的映射。
【专利摘要】本发明公开了一种系统管理方法和装置,该系统管理方法包括:在内核的LVM层和RAID层的中间建立一个缓存层;获得所述LVM层下发的指令使得数据到达所述缓存层;通过所述缓存层对所述数据进行处理。本发明通过在LVM层和RAID层的中间创建一个缓存层,并可以通过该缓存层实现对系统数据的优化处理从而可以大大提升系统对数据处理的性能。
【IPC分类】G06F3-06
【公开号】CN104598166
【申请号】CN201410853647
【发明人】袁清波, 苗艳超, 刘新春, 邵宗有
【申请人】曙光信息产业股份有限公司
【公开日】2015年5月6日
【申请日】2014年12月31日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1