[发明专利]分布式文件系统对多个副本数据进行处理的方法及该系统有效
申请号: | 201210381299.0 | 申请日: | 2012-10-10 |
公开(公告)号: | CN103729352B | 公开(公告)日: | 2017-07-28 |
发明(设计)人: | 伍海君;朱会灿;邓大付;李锐;邹永强;董乘宇;陈晓东;刘畅;赵大勇;杨绍鹏;阙太富;王磊;张书鑫;张银锋 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 周华霞,王丽琴 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 文件系统 副本 数据 进行 处理 方法 系统 | ||
技术领域
本发明涉及数据处理技术,尤其涉及分布式文件系统对多个副本数据进行处理的方法及该系统。
背景技术
参见图1,为现有技术的分布式文件系统结构示意图,该系统包括客户端、主节点服务器以及多个数据节点。实际应用中,每个文件被划分为多个数据块,每个数据块有多个副本数据,分别存储在多个数据节点上;副本数据,也就是数据块的备份数据。
当客户端需要从数据节点读取数据块的副本备份数据时,客户端从主节点服务器获取数据块多个副本数据的地址集合,从与地址集合包含的各节点地址对应的数据节点读取副本数据。
数据节点上保存的副本数据预先写入,在写入过程中,由于写入错误或数据节点故障等多种原因,常出现写入某些数据节点的数据发生损坏;而现有技术只在主节点服务器记录了多个副本数据的地址集合,不能获知哪些节点地址对应的数据节点上的数据损坏;这样,导致进行多个副本数据的读取时,读取到错误的数据,不能保证多个副本数据的一致性。
发明内容
本发明提供了一种分布式文件系统对多个副本数据进行处理的方法,该方法能够保证分布式文件系统中多个副本数据的一致性。
本发明提供了一种分布式文件系统,该系统能够保证分布式文件系统中多个副本数据的一致性。
一种分布式文件系统对多个副本数据进行处理的方法,该方法包括:
客户端为数据块的多个副本数据分别选取节点地址,由选取的节点地址组成地址集合,并为数据块设置版本号;
客户端向节点地址对应的数据节点写入副本数据,并在写入各数据节点的副本数据中添加设置的版本号;
如果副本数据在写入过程中发生损坏,则客户端增大设置的版本号,将增大的版本号添加到写入各数据节点的副本数据中,并将增大后的版本号作为正确版本号,通知主节点服务器在硬盘上记录数据块多个副本数据的地址集合和正确版本号;
客户端从主节点服务器获取数据块多个副本数据的地址集合和正确版本号;
客户端从与地址集合包含的各节点地址对应的数据节点读取副本数据;
客户端判断读取的副本数据包含的版本号与正确版本号是否一致,如果是,则保留读取的副本数据,否则丢掉读取的副本数据。
一种分布式文件系统,该系统包括客户端、主节点服务器和数据节点;
所述客户端,用于从主节点服务器获取数据块多个副本数据的地址集合和正确版本号;从与地址集合包含的各节点地址对应的数据节点读取副本数据;客户端还用于判断读取的副本数据包含的版本号与正确版本号是否一致,如果是,则保留读取的副本数据,否则丢掉读取的副本数据;
所述主节点服务器,用于根据请求向客户端反馈数据块多个副本数据的地址集合和正确版本号;
所述数据节点,用于根据请求向客户端提供副本数据;
所述客户端包括获取单元、读取单元和判断单元,所述主节点服务器包括信息反馈单元,所述数据节点包括数据提供单元;
所述获取单元,用于从主节点服务器获取数据块多个副本数据的地址集合和正确版本号,将地址集合发送给读取单元,将正确版本号发送给判断单元;
所述读取单元,用于从与地址集合包含的各节点地址对应的数据节点读取副本数据,将副本数据包含的版本号发送给判断单元;
所述判断单元,用于判断读取的副本数据包含的版本号与正确版本号是否一致,如果是,则保留读取的副本数据,否则丢掉读取的副本数据;
所述信息反馈单元,用于根据请求向客户端反馈数据块多个副本数据的地址集合和正确版本号;
所述数据提供单元,用于根据请求向客户端提供副本数据;
所述客户端还包括第一选取设置单元、第一写入单元和第一更新通知单元;
所述第一选取设置单元,用于为数据块的多个副本数据分别选取节点地址,由选取的节点地址组成地址集合,并为数据块设置版本号;将选取的节点地址和设置的版本号发送给第一写入单元和第一更新通知单元;
所述第一写入单元,用于向节点地址对应的数据节点写入副本数据,并在写入各数据节点的副本数据中添加设置的版本号;
所述第一更新通知单元,用于判断出数据在写入过程中发生损坏,则增大设置的版本号,将增大的版本号添加到写入各数据节点的副本数据中;并将增大后的版本号作为正确版本号,通知主节点服务器在硬盘上记录数据块多个副本数据的地址集合和正确版本号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210381299.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种眼镜镜框托叶架拉力测试装置
- 下一篇:一种检查锂离子电池里黑点的装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置