[发明专利]一种基于分布式存储系统的碎片文件存储方法有效
申请号: | 201310391797.8 | 申请日: | 2013-09-02 |
公开(公告)号: | CN103488685A | 公开(公告)日: | 2014-01-01 |
发明(设计)人: | 杨源杰;陈化峰;李庆瑜;戴立言;王振邦;戴彩霞 | 申请(专利权)人: | 上海网达软件股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/08 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 201206 上海市浦东新*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分布式 存储系统 碎片 文件 存储 方法 | ||
技术领域
本发明属于计算机文件存储技术领域,具体涉及一种基于分布式存储系统的碎片文件存储方法。
背景技术
文件系统是计算机操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/32, NTFS, Ext2/3/4)打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。
微博、在线办公、在线笔记类型的Web应用包括腾讯微薄、box.net, EverNotes等,每种应用都吸引了成千上万、甚至上亿的用户,每天产生几亿、几十亿甚至更多的记录,这些记录,有的是几个字节的随手笔记,有的是一两个字节的心情上的抒发,都对应相同数量小文件,可以想象,当存储对象是大量的这样的小文件的时候,磁盘的利用效率会急剧下降,对应的,文件的增删查改的效率也会急剧下降。
因此,有必要提供统一种碎片文件存储的优化方法,对碎片文件的存储进行特殊的优化,以解决碎片文件处理效率低下的问题。
发明内容
为了克服现有技术中存在的碎片文件处理效率低下缺陷,本发明提供一种基于分布式存储系统的碎片文件存储方法,本发明的主要思想是,利用内存映射文件技术,将碎片文件连续映射到内存中,合并为一大文件,再对大文件进行存储,可以大大减小碎片文件占用的空间且提高文件处理的效率。本发明具体的技术方案如下:
一种基于分布式存储系统的碎片文件存储方法,包括如下步骤:
在存储节点的内存中分配一碎片文件映射空间,碎片文件映射空间是连续的;
在存储节点中,根据预设的阈值对若干源文件进行判断,若某一源文件的大小小于阈值,则该源文件即为碎片文件,经判断后得到若干碎片文件;其中,每个源文件都预设有一个对应的源文件编号;
将若干碎片文件连续的映射到碎片文件映射空间中,合并成为大文件;当大文件的大小达到阈值时,当前大文件的合并结束,若还有剩余的碎片文件,则按照上述步骤继续合并,从而得到若干大文件;在合并的同时,为每个大文件分配一个对应的大文件编号;根据需要决定各大文件在碎片文件映射空间与磁盘之间的交换;
将碎片文件对应的源文件编号转换为大文件编号加相应的偏移。
作为优化方案,阈值等于文件簇的大小。
作为优化方案,碎片文件映射空间采用非交换内存。
作为优化方案,还包括如下步骤:
为每个大文件预设优先级,根据优先级决定大文件在碎片文件映射空间与磁盘中之间的交换。
作为优化方案,优先级根据如下标准设定:文件访问的频繁程度,或者最后一次访问的时间,或者历史访问记录加权。
作为优化方案,大文件在碎片文件映射空间与磁盘之间的交换策略包括:需要时才交换;系统空闲时交换;换出但不立即释放;碎片文件映射空间已满时换出。
作为优化方案,在存储节点内设置碎片文件指针列表、大文件空闲指针列表以及当前指针列表;其中,碎片文件指针列表记录各大文件中碎片文件的起始地址及偏移,大文件空闲指针列表记录各大文件中空闲的地址及偏移,当前指针列表记录大文件中当前的读写的地址。
作为优化方案,利用客户端应用程序向路由器上传源文件,利用路由器为每个源文件分配一个对应的源文件编号,再将源文件分配到相应的存储节点。
作为优化方案,在路由器中设置一请求表,请求表用于记录源文件编号;步骤S4进一步包括:存储节点返回数据给路由器,路由器将请求表中的碎片文件对应的源文件编号转换为大文件编号加相应的偏移。
一种采用基于分布式存储系统的碎片文件存储方法的存储节点,包括:
碎片文件判断单元,用于根据预设的阈值对若干源文件进行判断,若某一源文件的大小小于阈值,则该源文件即为碎片文件,经判断后得到若干碎片文件;
碎片文件映射空间,用于将若干碎片文件连续的映射到碎片文件映射空间中,合并成为大文件;碎片文件映射空间为连续的内存空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海网达软件股份有限公司,未经上海网达软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310391797.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:主备板的数据库双向同步方法和系统
- 下一篇:计算系统和计算系统的执行控制方法