CN102857554B - 基于分布式存储系统进行数据冗余处理方法 - Google Patents

基于分布式存储系统进行数据冗余处理方法 Download PDF

Info

Publication number
CN102857554B
CN102857554B CN201210262780.8A CN201210262780A CN102857554B CN 102857554 B CN102857554 B CN 102857554B CN 201210262780 A CN201210262780 A CN 201210262780A CN 102857554 B CN102857554 B CN 102857554B
Authority
CN
China
Prior art keywords
data
storage server
write
slice
memory system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210262780.8A
Other languages
English (en)
Other versions
CN102857554A (zh
Inventor
刘德建
陈宏展
吴家亮
张建新
刘弘达
李浩清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Netdragon Websoft Co Ltd
Original Assignee
Fujian Netdragon Websoft Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Netdragon Websoft Co Ltd filed Critical Fujian Netdragon Websoft Co Ltd
Priority to CN201210262780.8A priority Critical patent/CN102857554B/zh
Publication of CN102857554A publication Critical patent/CN102857554A/zh
Application granted granted Critical
Publication of CN102857554B publication Critical patent/CN102857554B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种基于分布式存储系统进行数据冗余处理方法,所述分布式存储系统包括至少一控制节点的控制服务器和至少两个存储节点的存储服务器,数据至少在两个或两个以上存储节点保存有相同的副本;所述数据冗余处理方法包括不分先后顺序的读取数据的处理和写入数据的处理;其读取数据的处理:读取数据时,系统从保存数据副本的所有存储服务器中随机选取一个存储节点进行读取,若读取失败,自动转向其它存储节点访问别的副本。写入数据的处理:采用文件数据分片技术、同步复制功能及异步更新功能相结合的方式实现数据写入的高可靠。本发明在分布式存储系统上既实现了数据读取的高可靠性,又实现了数据写入的高可靠性。

Description

基于分布式存储系统进行数据冗余处理方法
【技术领域】
本发明涉及通讯设备技术领域,尤其涉及一种基于分布式存储系统进行数据冗余处理方法。
【背景技术】
分布式存储系统包括通过网络互连的多个存储节点,数据可以被分散地存储到不同的存储节点上,以实现大容量、高可靠性且易扩展的存储应用。
现有的分布式存储系统常用的数据高可靠保证技术是通过数据冗余的方法实现的,即把一份数据保存成多个副本,从而当部分副本所在的服务器故障时,仍然可以从其它正常的服务器访问,这一技术可以保证数据读取的高可靠。然而在数据写入的过程中,只要其中的某一存有副本的服务器故障,将造成写中断,即无法保证数据写入的高可靠性。
现有技术中提供了一种“数据冗余处理方法、装置和分布式存储系统”,见公开号为:CN102279777A,公开日为:2011.12.14的中国专利,该方法,包括:采用冗余算法生成待写入数据的M个切片数据和N个冗余片数据,所述M个切片数据和N个冗余片数据中任意损坏至多N个数据时,能够利用未损坏的数据恢复损坏的数据,其中M为大于1的自然数,N为不小于1的自然数;将所述M个切片数据和N个冗余片数据分别存储到位于至少两个存储节点上的对象中,其中,每个存储节点包含至少一个对象集,每个对象集包含至少一个对象。该发明实施例可以提高存储空间地利用率且降低了存储负载,另外可以支持不同的冗余算法,从而满足客户不同的可靠性需求,灵活性较高。但该发明不能实现:某一存储节点在数据存储写入的过程中,其该存储节点的服务器发生故障,则就会造成写中断,即不能达到数据写入的高可靠性。
【发明内容】
本发明要解决的技术问题,在于提供一种基于分布式存储系统进行数据冗余处理方法,实现了分布式存储系统上文件数据读和写的全面高可靠性。
本发明是这样实现的:一种基于分布式存储系统进行数据冗余处理方法,所述分布式存储系统包括至少一控制节点的控制服务器和至少两个存储节点的存储服务器,至少在两个或两个以上存储节点的存储服务器保存有相同的数据副本;
所述数据冗余处理方法包括不分先后顺序的读取文件数据的处理和写入文件数据的处理;
所述读取文件数据的处理:当客户端要读取一文件数据时,分布式存储系统从保存有数据副本的所有存储节点中随机选取一存储节点的存储服务器与客户端进行通信,判断客户端从选取的存储服务器中是否成功读取文件数据;否,则转向分布式存储系统的其他任意一保存有数据副本的存储节点的存储服务器再进行访问读取文件数据;是,则提示读取文件数据成功;
所述写入文件数据的处理:当客户端要写入一文件数据时,将所述文件数据按一预设定的切片大小切片后进行写操作;所述写操作为:先将分布式存储系统中的各存储节点的存储服务器进行分组,每组包括至少两个存储服务器,选取一组存储节点的存储服务器将文件数据切片后的第一切片数据进行写入,写入成功后,重新选择分布式存储系统的其他一组存储节点的存储服务器进行文件数据的第一切片数据的写入,所有存储服务器第一切片数据均写完后,各组存储服务器进行下一切片数据的写入,如此不断循环将所有的切片数据进行写入;
任意一切片数据在写入的过程中,被写入的存储服务器发生故障,则设置当前要写入的切片数据大小为故障前文件数据最后写入的大小位置,并立即从文件数据的该大小位置开始生成新的切片数据,选择新的一组存储节点的存储服务器继续写入该新的切片数据;切片数据采用同步复制方法写入;所述同步复制方法为:保存数据的一组存储节点的存储服务器中的任何一存储节点的存储服务器在接收到写入数据时,先往组内其它存储节点的存储服务器写入数据,最后再写所述一存储节点的存储服务器。
本发明具有如下优点:本发明的数据冗余处理方法包括不分先后顺序的读取数据的处理和写入数据的处理;其读取数据的处理:读取数据时,系统随机选取一个存储节点进行读取,若读取失败,自动转向其它存储节点访问别的副本。写入数据的处理:采用文件数据分片技术、同步复制功能及异步更新功能相结合的方式实现数据写入的高可靠。本发明在分布式存储系统上既实现了数据读取的高可靠性,又实现了数据写入的高可靠性。其保证了分布式存储系统上数据的全面可靠性,其数据不会损坏和丢失。
【附图说明】
图1为本发明分布式存储系统各存储服务器的结构示意图。
图2为本发明客户端从存储节点读取数据的处理流程示意图。
图3为本发明客户端写入数据到存储节点的处理流程示意图。
【具体实施方式】
请参阅图1所示,本发明的一种基于分布式存储系统进行数据冗余处理方法,所述分布式存储系统包括至少一控制节点的控制服务器和至少两个存储节点的存储服务器,数据至少在两个或两个以上存储节点的存储服务器保存有相同的数据副本(在本实施实例中包括了由A、B、C、D四个存储节点构成的存储集群);所述数据冗余处理方法包括不分先后顺序的读取文件数据的处理和写入文件数据的处理;
如图2所示,所述读取文件数据的处理:当客户端要读取一文件数据(如:文件file1)时,分布式存储系统从保存文件数据的所有存储节点中随机选取一存储节点的存储服务器与客户端进行通信(此时选择的为存储节点存储服务器A),所述客户端发送读取数据请求,选取的存储服务器响应客户端的请求后,客户端从选取的存储服务器中获取要读取的文件数据;判断客户端从选取的存储服务器中是否成功读取文件数据;否,则转向分布式存储系统的其他任意一保存文件数据的存储节点的存储服务器(如:此时选取的存储节点存储服务器B)再进行访问读取文件数据;是,则提示读取文件数据成功。
如图3所示,所述写入文件数据的处理:当客户端要写入一文件数据时,将所述文件数据file1按一预设定的切片大小切片后(如切片为三个file1_part1、file1_part2、file1_part3)进行写操作;所述写操作为:先将分布式存储系统中的各存储服务器进行分组(如存储节点存储服务器A和C为一组,存储节点存储服务器B和D为一组),所述各组存储节点的存储服务器为包括至少两个存储服务器,分布式存储系统选取一组存储节点的存储服务器(如存储节点存储服务器A和C)将文件数据切片后的第一切片数据(第一切片数据为file1_part1)进行写入,写入成功后,重新选择分布式存储系统的其他任意一组存储节点的存储服务器(如:此时选择的为存储节点存储服务器B、D)进行文件数据的第一切片数据(即file1_part1)的写入,所有存储服务器第一切片数据均写完后,各组存储服务器(即按上述第一切片数据写入存储服务器的顺序进行各组的存储服务器写入)进行下一切片数据(下一切片数据为file1_part2)的写入,如此不断循环将所有的切片数据进行写入;
任意一切片数据(如file1_part3)在写入的过程中,被写入的存储服务器(如存储节点存储服务器A)发生故障,则设置当前要写入的切片数据大小为故障前文件数据最后写入的大小位置,并立即从文件数据的该大小位置(即将文件数据的file1_part3切片位置)开始生成新的切片数据(如file1_partnew),选择新的一组存储节点的存储服务器(即存储节点存储服务器A出现故障,则选择存储节点存储服务器B、C)继续写入该新的切片数据(即此时就是file1_part3切片数据用file1_partnew切片数据进行替换);数据写入采用同步复制的方法;所述同步复制的方法为:保存数据的一组存储节点中的任何节点在接收到写入数据时,先往组内其它节点写入数据,最后再写所述一存储节点。(如:file1_part1写入到存储节点存储服务器A时,A先同步把数据写往存储节点存储服务器B,写入成功后再写自身存储服务器A本地数据)
其中,本发明中所述各存储服务器中存储有所述文件数据的各切片数据后,将各切片数据组合成完整的所述文件数据。
当各存储服务器要更新一文件数据时,某一存储节点的存储服务器发生故障,则分布式存储系统启动异步更新功能,所述异步更新功能为:控制节点的控制服务器中将建立一更新日志,待故障的存储节点的存储服务器恢复正常后,分布式存储系统通过重新执行所述更新日志,则故障的存储服务器进行更新文件数据,以确保各存储服务器的数据保持一致。
总之,本发明的读取数据的处理:读取数据时,系统从保存有数据的存储节点中随机选取一个存储节点进行读取,若读取失败,自动转向其它存储节点访问别的副本。写入数据的处理:采用文件数据分片技术、同步复制功能及异步更新功能相结合的方式实现数据写入的高可靠。本发明在分布式存储系统上既实现了数据读取的高可靠性,又实现了数据写入的高可靠性。其保证了分布式存储系统上数据的全面可靠性,其数据不会损坏和丢失。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (4)

1.一种基于分布式存储系统进行数据冗余处理方法,其特征在于:所述分布式存储系统包括至少一控制节点的控制服务器和至少两个存储节点的存储服务器,至少在两个或两个以上存储节点的存储服务器保存有相同的数据副本;
所述数据冗余处理方法包括不分先后顺序的读取文件数据的处理和写入文件数据的处理;
所述读取文件数据的处理:当客户端要读取一文件数据时,分布式存储系统从保存有数据副本的所有存储节点中随机选取一存储节点的存储服务器与客户端进行通信,判断客户端从选取的存储服务器中是否成功读取文件数据;否,则转向分布式存储系统的其他任意一保存有数据副本的存储节点的存储服务器再进行访问读取文件数据;是,则提示读取文件数据成功;
所述写入文件数据的处理:当客户端要写入一文件数据时,将所述文件数据按一预设定的切片大小切片后进行写操作;所述写操作为:先将分布式存储系统中的各存储节点的存储服务器进行分组,每组包括至少两个存储服务器,选取一组存储节点的存储服务器将文件数据切片后的第一切片数据进行写入,写入成功后,重新选择分布式存储系统的其他一组存储节点的存储服务器进行文件数据的第一切片数据的写入,所有存储服务器第一切片数据均写完后,各组存储服务器进行下一切片数据的写入,如此不断循环将所有的切片数据进行写入;
任意一切片数据在写入的过程中,被写入的存储服务器发生故障,则设置当前要写入的切片数据大小为故障前文件数据最后写入的大小位置,并立即从文件数据的该大小位置开始生成新的切片数据,选择新的一组存储节点的存储服务器继续写入该新的切片数据;切片数据采用同步复制方法写入;所述同步复制方法为:保存数据的一组存储节点的存储服务器中的任何一存储节点的存储服务器在接收到写入数据时,先往组内其它存储节点的存储服务器写入数据,最后再写所述一存储节点的存储服务器。
2.根据权利要求1所述的基于分布式存储系统进行数据冗余处理方法,其特征在于:所述分布式存储系统随机选取一组存储节点的存储服务器与客户端进行通信之后,还包括:所述客户端发送读取数据请求,选取的存储服务器响应客户端的请求后,客户端从选取的存储服务器中获取要读取的文件数据。
3.根据权利要求1所述的基于分布式存储系统进行数据冗余处理方法,其特征在于:所述各存储服务器中存储有所述文件数据的各切片数据后,将各切片数据组合成完整的所述文件数据。
4.根据权利要求3所述的基于分布式存储系统进行数据冗余处理方法,其特征在于:当各存储服务器要更新一文件数据时,某一存储节点的存储服务器发生故障,则分布式存储系统启动异步更新功能,所述异步更新功能为:控制节点的控制服务器中将建立一更新日志,待故障的存储节点的存储服务器恢复正常后,分布式存储系统通过重新执行所述更新日志,则故障的存储服务器进行更新文件数据,以确保各存储服务器的数据保持一致。
CN201210262780.8A 2012-07-26 2012-07-26 基于分布式存储系统进行数据冗余处理方法 Active CN102857554B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210262780.8A CN102857554B (zh) 2012-07-26 2012-07-26 基于分布式存储系统进行数据冗余处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210262780.8A CN102857554B (zh) 2012-07-26 2012-07-26 基于分布式存储系统进行数据冗余处理方法

Publications (2)

Publication Number Publication Date
CN102857554A CN102857554A (zh) 2013-01-02
CN102857554B true CN102857554B (zh) 2016-07-06

Family

ID=47403742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210262780.8A Active CN102857554B (zh) 2012-07-26 2012-07-26 基于分布式存储系统进行数据冗余处理方法

Country Status (1)

Country Link
CN (1) CN102857554B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107846306A (zh) * 2017-09-30 2018-03-27 郑州云海信息技术有限公司 一种全冗余架构存储系统

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104054076B (zh) * 2013-01-14 2017-11-17 华为技术有限公司 数据存储方法、数据库存储节点故障处理方法及装置
JP2014229088A (ja) * 2013-05-23 2014-12-08 ソニー株式会社 データ処理システム、データ処理装置および記憶媒体
CN103617083B (zh) * 2013-10-31 2019-02-15 中兴通讯股份有限公司 存储调度方法和系统、作业调度方法和系统及管理节点
CN103595776A (zh) * 2013-11-05 2014-02-19 福建网龙计算机网络信息技术有限公司 分布式缓存方法及系统
CN104917798A (zh) * 2014-03-13 2015-09-16 北京奇虎科技有限公司 一种数据更新的方法和系统
CN104050102B (zh) * 2014-06-26 2017-09-08 北京思特奇信息技术股份有限公司 一种电信系统中的对象存储方法及装置
CN104954388B (zh) * 2015-07-14 2018-03-20 电子科技大学 面向视频流数据的分布式多内存副本存储系统及方法
WO2017028885A1 (en) * 2015-08-14 2017-02-23 Hewlett-Packard Development Company, L.P. Data replication in memory systems.
CN107181773B (zh) * 2016-03-09 2020-12-25 阿里巴巴集团控股有限公司 分布式存储系统的数据存储及数据管理方法、设备
CN106326370A (zh) * 2016-08-12 2017-01-11 德基网络科技南京有限公司 一种基于电子商务平台的大数据统计方法
CN106776952B (zh) * 2016-12-02 2019-03-22 中科星图股份有限公司 一种分布式系统中数据存储方法
CN108153615B (zh) * 2016-12-02 2019-07-23 中科星图股份有限公司 一种故障数据恢复方法
CN106844487B (zh) * 2016-12-23 2018-09-25 航天星图科技(北京)有限公司 一种基于库复制的分布式存储系统
CN106933515A (zh) * 2017-03-15 2017-07-07 郑州云海信息技术有限公司 一种兼顾读写速度与数据安全的磁盘raid冗余方法
CN108573007A (zh) * 2017-06-08 2018-09-25 北京金山云网络技术有限公司 检测数据一致性的方法、装置、电子设备及存储介质
CN107395745A (zh) * 2017-08-20 2017-11-24 长沙曙通信息科技有限公司 一种分布式存储系统数据分散存储实现方法
CN110209670B (zh) * 2019-05-09 2022-03-25 北京猫盘技术有限公司 基于网络存储设备集群的数据处理方法及装置
CN110764692B (zh) * 2019-08-28 2022-11-11 计算力(江苏)智能技术有限公司 一种服务器集群环境下存储切片数据冗余、恢复方法及系统
CN110865903B (zh) * 2019-11-06 2020-10-23 重庆紫光华山智安科技有限公司 基于纠删码分布式存储的节点异常重连复用方法及系统
CN112905557B (zh) * 2021-03-03 2023-01-24 山东兆物网络技术股份有限公司 支持异步提交的海量文件整合存储方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110154A (zh) * 2011-02-21 2011-06-29 中国科学院计算技术研究所 一种集群文件系统中文件冗余存储方法
CN102200935A (zh) * 2011-04-27 2011-09-28 烽火通信科技股份有限公司 一种流媒体系统数据存储方法
CN102279777A (zh) * 2011-08-18 2011-12-14 成都市华为赛门铁克科技有限公司 数据冗余处理方法、装置和分布式存储系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110154A (zh) * 2011-02-21 2011-06-29 中国科学院计算技术研究所 一种集群文件系统中文件冗余存储方法
CN102200935A (zh) * 2011-04-27 2011-09-28 烽火通信科技股份有限公司 一种流媒体系统数据存储方法
CN102279777A (zh) * 2011-08-18 2011-12-14 成都市华为赛门铁克科技有限公司 数据冗余处理方法、装置和分布式存储系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107846306A (zh) * 2017-09-30 2018-03-27 郑州云海信息技术有限公司 一种全冗余架构存储系统

Also Published As

Publication number Publication date
CN102857554A (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
CN102857554B (zh) 基于分布式存储系统进行数据冗余处理方法
CN107544862B (zh) 一种基于纠删码的存储数据重构方法和装置、存储节点
US10303570B2 (en) Method and apparatus for managing data recovery of distributed storage system
CN106775472B (zh) 一种控制器缓存方法、存储控制器及多控制器存储系统
CN102387179B (zh) 分布式文件系统及其结点、存储方法和存储控制方法
CN101567211A (zh) 一种提高磁盘可用性的方法和磁盘阵列控制器
CN105426427A (zh) 基于raid 0 存储的mpp 数据库集群副本实现方法
US10922201B2 (en) Method and device of data rebuilding in storage system
CN102411639A (zh) 元数据的多副本存储管理方法和系统
CN113326006B (zh) 一种基于纠删码的分布式块存储系统
CN105471714A (zh) 一种消息处理的方法和装置
CN103327085A (zh) 一种分布式数据处理方法、数据中心及其系统
CN105138276A (zh) 数据储存方法及数据储存系统
CN107678883A (zh) 一种基于存储系统的集群恢复方法及设备
CN104965835B (zh) 一种分布式文件系统的文件读写方法及装置
CN102982182A (zh) 一种数据存储规划方法及装置
CN105893169A (zh) 一种基于纠删码的文件存储方法和系统
CN104486387B (zh) 一种数据同步处理方法及系统
CN106991118A (zh) 基于ceph纠删除容错的读取文件方法及装置
CN108121497B (zh) 存储方法以及存储系统
CN103049407B (zh) 数据存储方法、装置及系统
CN104391802A (zh) 一种精简池元数据节点刷新一致性保护方法
CN102541693A (zh) 数据的多副本存储管理方法和系统
CN113051428B (zh) 一种摄像机前端存储备份的方法及装置
CN101794246B (zh) 备份存储系统、备份系统及数据备份方法和恢复方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant