买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:安徽继远软件有限公司;国网信息通信产业集团有限公司
摘要:本发明涉及一种基于Device Mapper的系统存储优化方法,在客户端发起数据请求时,使用Device Mapper技术将固态存储作为机械硬盘的缓存,当用户空间发起读操作的时候,先去缓存中查找是否有数据,如果有则返回给用户空间,如果没有则再去机械硬盘读取。当用户空间发起写操作的时候,先写到缓存,当系统空闲时再写入到机械硬盘中。本发明充分利用固态硬盘低功耗的特点,一方面能够通过减少机械硬盘的使用频率而降低其功耗,另一方面通过提升工作效率而降低完成相同工作量所需要消耗的能量,优化了数据存储效率,节约了数据存储设备的硬件成本。
主权项:1.一种基于Device Mapper的系统存储优化方法,其特征在于,包括以下步骤:(1)建立固态硬盘与机械硬盘组成的逻辑设备的映射,将固态硬盘和机械硬盘混合成一块逻辑设备;(2)向服务器端发起数据请求访问,将数据请求分割为固定大小的子请求,分别计算数据请求块的机械硬盘起始扇区和分组编号;(3)根据机械硬盘分组编号,得到映射后的固态硬盘缓存分组编号,并对数据请求操作进行判断,若是读操作,则执行(4),若是写操作,则执行(5);(4)遍历固态硬盘缓存组所有缓存块的元数据信息,判断缓存是否命中,若缓存命中,执行(6),若不命中,执行(7);(5)若缓存在固态硬盘缓冲区域,在系统不忙的时候将数据写入到机械硬盘对应的块上;(6)在系统空闲时,将缓存块的元数据信息返回给用户空间;(7)读取机械硬盘元数据信息返回给用户空间,在系统不忙时将数据写到固态硬盘空闲的块中。
全文数据:一种基于DeviceMapper的系统存储优化方法技术领域本发明涉及数据存储技术领域,具体涉及一种基于DeviceMapper的系统存储优化方法。背景技术随着大数据技术的发展,传统的基于机械硬盘的存储方式越来越不能满足现在数据中心发展的需求,尤其是在分布式数据库等对系统IO高度敏感的场景,IO往往是整个系统的瓶颈。如果能够提高系统IO的效率,就能够提高整个系统效率。新一代存储介质固态硬盘虽然在读写速率上有了非常大的提高,但是大规模部署价格昂贵。发明内容本发明的目的在于提供一种基于DeviceMapper的系统存储优化方法,降低完成相同工作量所需要消耗的能量,优化了数据存储效率,节约了数据存储设备的硬件成本。为实现上述目的,本发明采用了以下技术方案:一种基于DeviceMapper的系统存储优化方法,包括以下步骤:(1)建立固态硬盘与机械硬盘组成的逻辑设备的映射,将固态硬盘和机械硬盘混合成一块逻辑设备;(2)向服务器端发起数据请求访问,将数据请求分割为固定大小的子请求,分别计算数据请求块的机械硬盘起始扇区和分组编号;(3)根据机械硬盘分组编号,得到映射后的固态硬盘缓存分组编号,并对数据请求操作进行判断,若是读操作,则执行(4),若是写操作,则执行(5);(4)遍历固态硬盘缓存组所有缓存块的元数据信息,判断缓存是否命中,若缓存命中,执行(6),若不命中,执行(7);(5)若缓存在固态硬盘缓冲区域,在系统不忙的时候将数据写入到机械硬盘对应的块上;(6)在系统空闲时,将缓存块的元数据信息返回给用户空间;(7)读取机械硬盘元数据信息返回给用户空间,在系统不忙时将数据写到固态硬盘空闲的块中。进一步的,步骤(4)中,所述判断缓存是否命中,采用以下方法:将元数据信息与请求数据的起始扇区信息进行对比,如果元数据信息中记录的扇区和请求数据块的起始扇区相同,则判断缓存命中。由上述技术方案可知,本发明所述的一种基于DeviceMapper的系统存储优化方法,在保留传统机械硬盘高存储容量的同时,充分利用固态硬盘低功耗的特点,一方面能够通过减少机械硬盘的使用频率而降低其功耗,另一方面通过提升工作效率而降低完成相同工作量所需要消耗的能量,优化了数据存储效率,节约了数据存储设备的硬件成本。附图说明图1是本发明的方法流程图。具体实施方式下面结合附图对本发明做进一步说明:如图1所示一种基于DeviceMapper的系统存储优化方法,在客户端发起数据请求时,使用DeviceMapper技术将固态存储作为机械硬盘的缓存,当用户空间发起读操作的时候,先去缓存中查找是否有数据,如果有则返回给用户空间,如果没有则再去机械硬盘读取。当用户空间发起写操作的时候,先写到缓存,当系统空闲时再写入到机械硬盘中,具体包括以下步骤:S1:建立固态硬盘与机械硬盘组成的逻辑设备的映射,利用DeviceMapper技术将固态硬盘和机械硬盘混合成一块逻辑设备,默认(可配置)每8个扇区(512Bytes)为一个块,每512个块为一个集合,固态硬盘和机械硬盘都按照此划分。固态硬盘的集合里的块是用lru链表组织起来的,每个块都记录了自己存放的是机械硬盘的哪个扇区起始的位置(扇区编号)对应的内容。根据要访问的机械硬盘的位置,即硬盘的哪个集合,将其模上固态硬盘里的集合数,就可以得到固态硬盘里对应的集合号,然后根据集合号,查找并比对lru里块的扇区号,如果找到则表示固态硬盘里有缓存数据,没找到则说明没有缓存过。S2:向服务器端发起数据请求访问,利用DeviceMapper技术对数据请求分割为固定大小的子请求,分别计算数据请求块的机械硬盘起始扇区和分组编号;对于服务器的磁盘写请求,将其缓存在固态硬盘缓冲区域,然后定期写回机械硬盘,并在写回前针对磁盘位置对写操作进行排序,降低磁头无效移动;对于服务器的磁盘数据读请求,首先检查数据是否在固态硬盘中,若命中则直接返回数据,若不命中再访问磁盘,避免机械硬盘读取操作。S3:根据机械硬盘分组编号,得到映射后的固态硬盘缓存分组编号,并对数据请求操作进行判断,若是读操作,则执行S4,若是写操作,则执行S5;S4:遍历固态硬盘缓存组所有缓存块的元数据信息,判断缓存是否命中,如果元数据信息中记录的扇区和请求数据块的起始扇区相同,则缓存命中,执行S6,若不命中,执行S7;S5:将其缓存在固态硬盘缓冲区域,在系统不忙的时候将数据写入到机械硬盘对应的块上;S6:在系统空闲时,将缓存块的元数据信息返回给用户空间;S7:读取机械硬盘元数据信息返回给用户空间,在系统不忙时将数据写到固态硬盘空闲的块中。对于读操作,如果查找成功(有缓存过),则将固态硬盘保存的数据返回给用户空间,如果查找失败,则在固态硬盘找一个空闲集合中的块,然后从机械硬盘读取数据返回给用户空间,并使用等待队列,在系统不忙时将数据写到固态硬盘中空闲的块中。对于写操作,将数据写入固态硬盘,然后用户空间write系统调用就可以返回了,然后对该块做一个标记(用来表示该块应该被写入机械硬盘),使用等待队列,在系统不忙的时候将数据写入到机械硬盘对应的块上,然后清除标记。以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
权利要求:1.一种基于DeviceMapper的系统存储优化方法,其特征在于,包括以下步骤:(1)建立固态硬盘与机械硬盘组成的逻辑设备的映射,将固态硬盘和机械硬盘混合成一块逻辑设备;(2)向服务器端发起数据请求访问,将数据请求分割为固定大小的子请求,分别计算数据请求块的机械硬盘起始扇区和分组编号;(3)根据机械硬盘分组编号,得到映射后的固态硬盘缓存分组编号,并对数据请求操作进行判断,若是读操作,则执行(4),若是写操作,则执行(5);(4)遍历固态硬盘缓存组所有缓存块的元数据信息,判断缓存是否命中,若缓存命中,执行(6),若不命中,执行(7);(5)若缓存在固态硬盘缓冲区域,在系统不忙的时候将数据写入到机械硬盘对应的块上;(6)在系统空闲时,将缓存块的元数据信息返回给用户空间;(7)读取机械硬盘元数据信息返回给用户空间,在系统不忙时将数据写到固态硬盘空闲的块中。2.根据权利要求1所述的基于DeviceMapper的系统存储优化方法,其特征在于:步骤(4)中,所述判断缓存是否命中,采用以下方法:将元数据信息与请求数据的起始扇区信息进行对比,如果元数据信息中记录的扇区和请求数据块的起始扇区相同,则判断缓存命中。
百度查询: 安徽继远软件有限公司 国网信息通信产业集团有限公司 一种基于Device Mapper的系统存储优化方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。