[发明专利]一种海量文件的存储方法及系统有效
申请号: | 200610061328.X | 申请日: | 2006-06-23 |
公开(公告)号: | CN101079036A | 公开(公告)日: | 2007-11-28 |
发明(设计)人: | 余祥鑫;杨海松;程凯;朱静轩 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳市顺天达专利商标代理有限公司 | 代理人: | 郭伟刚;蔡晓红 |
地址: | 518057广东省深圳市高新科*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 海量 文件 存储 方法 系统 | ||
技术领域
本发明属于数据处理领域,尤其涉及一种海量文件的存储方法及系统。
背景技术
文件系统(File System,FS)是操作系统(Operating System,OS)的一部分,用于管理各种系统文件和用户文件。随着分布式技术的发展,以及海量数据存储的需求(例如Web搜索引擎、海量用户资料存储、大型Web网站等),产生了分布式文件系统。
分布式文件系统将文件存储在一个或多个文件服务器上,一般不在客户机上冗余存储,客户机可以像访问本地普通文件一样访问,且文件可被大量客户机并发使用。简言之,分布式文件系统是物理上分布、逻辑上集中统一的一种文件管理系统。分布式文件系统的优点在于:对于海量数据存储,只需要在文件服务器上提供海量的存储空间即可,每个客户机不再需要大量的磁盘空间;分布式文件系统可以很容易实现文档的共享操作,对系统的管理相对简单。评估一个分布式文件系统的设计指标主要包括以下六个方面:各种情景下,文件读写的吞吐量以及延迟;磁盘存储利用率;可靠性以及可用性指标;数据一致性指标;安全性指标;可移植性、可维护性。
现有的分布式文件系统中,典型的有Google文件系统(Google File System,GFS)。GFS中包括一台主控机(Master),多个数据块服务器(Chunk Server)。主控机中存储了三种重要的元数据:文件和数据块的命名空间、文件到数据块的映射表、数据块及其备份的位置信息。为了提高文件存储的可靠性,GFS一般将同一份数据存储在三个不同的主机上,因此每一个数据块就有两个分布在其他主机上的备份。关于GFS的详细内容,可参考以下文献:余一娇所著的《Google LinuxCluster的系统结构分析》;Chris Mellor所著的《Google’s Storage Strategy》,可在http://www.techworld.com搜索查阅;以及《Google′s cluster》,可在http://www.beowulf.org搜索查阅。
现有技术的文件系统能够实现海量文件存储,但是搜索引擎对文件系统中的文件进行读写等各项操作时,其执行效率仍有待改进。
发明内容
本发明的目的在于提供一种海量文件存储方法,旨在解决搜索引擎对文件系统中的海量文件进行读写等操作时执行效率低的问题。
本发明的另一目的在于提供一种海量文件存储系统,以更好地解决上述问题。
为了实现发明目的,所述方法包括以下步骤:将所述海量文件的文件相关控制信息组织成以文件对象为存储单元连接起来的第一层链表;将所述海量文件的数据块相关控制信息组织成以数据块对象为存储单元连接起来的第二层链表;将所述海量文件的文件服务器相关控制信息组织成以文件服务器对象为存储单元连接起来的第三层链表;所述第一层链表、第二层链表和第三层链表以层递的形式关联为三层链表式数据存储结构,与所述海量文件的数据块形成映射关系;
所述控制服务器接收客户端发送的请求,根据所述三层链表式数据存储结构与所述海量文件的数据块形成的映射关系,在所述文件服务器中查找到对应文件的数据块。
所述三层链表式数据存储结构内部采用数组下标进行连接。
所述方法在所有步骤之前还包括以下步骤:
初始化所述三层链表式数据存储结构中的空闲链,以及第一层链表的根节点。
为了更好地实现发明目的,所述系统包括:
所述海量文件的存储系统,包括控制服务器子系统、文件服务器子系统和客户机子系统,所述控制服务器子系统中包括控制服务器,所述文件服务器子系统中包括文件服务器,用于存储和维护所述海量文件的数据块,所述客户机子系统中包括客户机,所述控制服务器接收所述文件服务器上报的状态信息,并根据所述客户机上应用程序执行的操作对所述文件服务器发送控制指令,其特征在于,
所述控制服务器包括数据管理模块,用于存储和维护所述海量文件的数据存储结构;
所述海量文件的数据存储结构为三层链表式数据存储结构,包括文件对象链表、数据块对象链表和文件服务器对象链表,与所述文件服务器中存储的数据块形成映射关系。
所述系统进一步包括公共平台,用于实现以下功能:线程和线程池管理、互联网进程连接管理、定时器管理、加锁解锁管理、缓存管理;
所述公共平台存在于控制服务器、文件服务器和客户机的任何一者或多者之中或独立存在。
所述控制服务器进一步包括:日志管理模块、备份管理模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610061328.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多层式光学薄膜及其制造方法
- 下一篇:废水利用装置