[发明专利]文件存储和索引方法、装置及读取文件的方法有效
申请号: | 201611221215.1 | 申请日: | 2016-12-26 |
公开(公告)号: | CN106874348B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 陈闯;张炎泼 | 申请(专利权)人: | 贵州白山云科技股份有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13 |
代理公司: | 北京瑞思知识产权代理事务所(普通合伙) 11341 | 代理人: | 李涛 |
地址: | 100015 北京市朝阳区酒仙桥*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 存储 索引 方法 装置 读取 | ||
本发明提供了一种文件存储和索引方法、装置及读取文件的方法,其中,该文件存储和索引方法包括:按照文件的实际key值的字母顺序存储各文件,得到数据文件;生成用于索引数据文件中各文件的索引文件,其中,索引文件中的索引使用各文件的实际key值的前N字节作为key值,每个索引指向数据文件中的一个或者多个文件,key值对应的offset值为key值指向的一个或者多个文件中首个文件的offset值,key值对应的size值为key值指向的一个或者多个文件中首个文件的size值。通过本发明,解决了Haystack系统采用的索引方案对内存资源消耗大的问题,降低了索引系统对内存资源的消耗。
技术领域
本发明涉及文件存储及索引领域,具体而言,涉及一种文件存储和索引方法、装置及读取文件的方法。
背景技术
当今互联网,数据呈现爆炸式增长,社交网络、移动通信、网络视频、电子商务等各种应用往往能产生亿级甚至十亿、百亿级的海量小文件。由于在元数据管理、访问性能、存储效率等方面面临巨大的挑战,海量小文件问题成为了业界公认的难题。
业界的一些知名互联网公司,也对海量小文件提出了解决方案,例如:著名的社交网站Facebook,存储了超过600亿张图片,专门推出了Haystack系统,针对海量小图片进行定制优化的存储。其他的小文件处理方案还有淘宝的TFS等,这些系统的核心思想都是将小文件追加到一个数据文件中,同时生成索引文件,通过索引文件来定位小文件的位置。
下面介绍Facebook采用的Haystack的解决方案:
Facebook的Haystack对小文件的解决办法是,把小文件合起来。将一些小文件的数据依次追加到数据文件中,并且生成索引文件,通过索引来查找小文件在数据文件中的offset和size,对文件进行读取。
(1)Haystack的数据文件部分:Haystack的数据文件,将每个小文件封装成一个needle,包含文件的key、size、data等数据信息。所有小文件按写入的先后顺序追加到数据文件中。
(2)Haystack的索引文件部分:Haystack的索引文件保存每个needle的key,以及该needle在数据文件中的offset、size等信息。程序启动时会将索引加载到内存中,在内存中通过查找索引,来定位在数据文件中的偏移量和大小。
(3)读请求使用索引:将索引文件载入内存,通过查找索引,来定位要读取文件的offset、size,将数据读取出来。
(4)写请求使用索引:写文件每次添加一个文件,将文件的数据添加到末尾的Needle n。生成索引添加到Needle n index record。
由上述的描述可以看出,Facebook的Haystack特点是将文件的完整key都加载到内存中,进行文件定位。机器内存足够大的情况下,Facebook完整的8字节key可以全部加载到内存中。但是现实环境下存在两个问题:
(1)存储服务器内存不会太大,一般为32G至64G;
(2)小文件对应的key大小难控制,一般选择文件内容的MD5或SHA1作为该文件的key。
假设一台存储服务器有12块4T磁盘,内存为32GB左右。服务器上现需存储大小约为4K的头像、缩略图等文件,约为10亿个。文件的key使用MD5,加上offset和size字段,平均一个小文件对应的索引信息占用28字节。在这种情况下,索引占用内存接近30GB,磁盘仅占用4TB。内存消耗近100%,磁盘消耗只有8%。
由此可见,Haystack系统采用的索引方案对内存资源消耗巨大,并且内存资源限制了磁盘资源的利用率,因此,想要获得更大的磁盘资源的利用率需要额外增加内存资源的大量投入。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州白山云科技股份有限公司,未经贵州白山云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611221215.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种下水道油脂回收装置
- 下一篇:一种加快排速的排水阀底座