CN104113562A - 基于网络编码的分布式数据存储和修复系统及其方法 - Google Patents
基于网络编码的分布式数据存储和修复系统及其方法 Download PDFInfo
- Publication number
- CN104113562A CN104113562A CN201310132854.0A CN201310132854A CN104113562A CN 104113562 A CN104113562 A CN 104113562A CN 201310132854 A CN201310132854 A CN 201310132854A CN 104113562 A CN104113562 A CN 104113562A
- Authority
- CN
- China
- Prior art keywords
- module
- client
- coding
- server
- network based
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于网络编码的分布式数据存储和修复系统及其方法,由位于互联网上不同位置的多台服务器端和多个客户机端组成,在数据存储和修复的过程中融合了网络编码的思想。本发明能够减少数据存储和修复所需的带宽需求,保障系统的负载均衡,并在数据安全性上有一定的提高,本发明对改变互联网上的数据存储服务有重要的促进作用。
Description
技术领域
本发明专利涉及计算机技术领域,具体是涉及一种应用于互联网的基于网络编码的分布式数据存储和修复系统及其方法。
背景技术
随着因特网的发展,越来越多的数据(如大型文件、视频数据和神经数据)需要被存储,如何有效的管理这些存储数据成为了一个巨大的挑战。为了避免这些数据遭受地震、火灾或其他灾难引起的永久性损毁,分布式存储系统被广泛运用在实际应用中。在分布式存储系统里,数据被同时存放在不同的服务器中,在某一部分服务器损坏的情况下,原始数据可以从其他现存的服务器中恢复。
目前,在互联网中实际运行的存储系统大多是基于复制技术和纠删码技术。
基于复制技术的分布式存储系统是最常用的数据存储方法,其一份原始数据存在多个副本,这种方法可以增强文件的可靠性,不足之处在于基于复制的技术会产生更多的数据冗余。
纠删码(如里德-所罗门码)是分布式中的另外一项实用的技术,它将一份原始的数据切割成N个子块,其中任意K个子块都可以反推出原始的文件,而且编码可以允许存储编码中的(N-K)个错误,因此纠删码可以在不牺牲可靠性的前提下减少数据冗余。基于此,纠删码被广泛应用于实际应用中。然而,纠删码技术也有它的不足之处:当一个存储节点失效时,失效的子文件块需要在一个新的存储服务器中修复以保证它的可靠性级别,为了达到这个目的,客户机端需要下载最少K个不同的子块,以恢复原始数据,先计算出再生编码,然后根据原始文件和再生编码重新生成一个新的子块,因此在修复过程中需要K+1个子块,这造成了较大的带宽开销。
发明内容
本发明的目的是提供一种基于网络编码的分布式数据存储和修复系统及其方法,解决现有技术中数据冗余、宽带开销较大的不足,同时在分布式数据存储和修复中负载均衡、数据安全性等方面得到了显著提高。
本发明解决其技术问题所采用的技术方案是:
一种基于网络编码的分布式数据存储和修复系统,由多个不同地理位置的服务器端和客户机端组成,服务器端与客户机端通过互联网连接,其特征是:所述服务器端包含存储接口模块、 Apache服务器、http 下载模块、数据库、迭代修复模块、再编码模块、服务器端有限域操作模块、信息同步模块,所述客户机端包含编码解码模块、上传下载模块、种子文件生成模块、网络码字构造模块、再生码字构造模块、客户机端有限域操作模块。
所述的编码解码模块包含有数据分块编码模块,数据分块编码模块内置一个最优编码分块方法,以确定最优的编码方案,以达到更优化的编码效率。
所述种子文件生成模块,为每一个原始文件生成一个种子文件,种子文件是访问服务器端数据的唯一凭证,种子具有唯一性和动态性。
所述的服务器端有限域操作模块和客户机端有限域操作模块均内置一个有限域运算库,该运算库的特征是体积小,采用查表法,所有运算函数均采用宏替换。
服务器端提供一个存储接口模块响应上传请求,通过这些接口,服务器端可以接收到文件并加以存储。上传的文件在全部被存储服务器端后将立即可以被下载。在本发明中,修复的操作可以在服务器端进行,并且因为服务器分布在不同的地方,使得它们必须加入到修复的工作中。
客户机端对原始文件进行编码,然后上传到服务器中。在对每一个原始数据包进行编码后,对应于每一个原始文件在编码后,都将生成一个种子文件。在该种子文件中,一些参数如N, K和m(有限域的阶数)以及子文件的位置将被记录下来。当需要下载的时候,需要打开匹配的种子文件,并且最少K个子块需要被选中下载以保证原始数据可以被恢复。种子文件在本发明中有着重要的作用。除了下载操作外,在用户需要修复子文件块或者新加一个子块的时候也要用到。在分完种子文件后,客户机端将获得二次操作的编码并构建一个包含逻辑修复盘的修复计划。修复进程将在修复方案传送给修复路径上的第一个存储服务器时被自动启动。
包含上述结构的一种基于网络编码的分布式数据存储和修复系统,其使用方法包含分布式数据存储方法和分布式数据修复方法。
分布式数据存储方法包含以下步骤:
1、根据客户的偏好设置对应的参数N,K,系统根据客户机的位置,自动地计算出N个到该客户机最快速率的服务器作为存储服务器;
2、客户机端的软件将原始文件编码成N个子文件后上传到N个服务器上。并为客户生成一个种子文件,以便客户需要的时候能够重新获得原始数据,或再生新的子文件。
分布式数据修复方法包含以下步骤:
1、当客户需要修复某一台服务器上数据时,根据客户的偏好,可以选择精确修复还是功能性修复,系统从剩余的服务器列表中选择一个或多个与客户机之间的传输速率较快的,用于存储修复后的数据;
2、系统将计算出一条修复路径,修复的过程中,这条路径上的每个中间节点都要进行再编码操作;
3、一个与子文件同等大小的文件在遍历了这条路径后,修复后的文件将自动产生。
本发明的有益效果是:利用了网络编码中间节点编码的核心思想,降低了数据修复过程中的所需的带宽,为提高分布式存储系统的效率提供了理论和应用基础。
附图说明
图1是本发明的结构示意图。
图2是本发明的客户机端示意图。
图3是本发明的服务器端示意图。
图4是本发明进行数据修复的示意图。
图5是本发明的分布式数据存储方法流程图。
图6是本发明的分布式数据修复方法流程图。
图中,1. 客户机端,2. 服务器端。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的适用范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落在申请所附权利要求书所限定的范围。
如图1、2、3、4所示,一种基于网络编码的分布式数据存储和修复系统,由多个不同地理位置的服务器端2和客户机1端组成,服务器端2与客户机端1通过互联网连接,其特征是:所述服务器端2包含存储接口模块、 Apache服务器、http 下载模块、数据库、迭代修复模块、再编码模块、服务器端有限域操作模块、信息同步模块,所述客户机端1包含编码解码模块、上传下载模块、种子文件生成模块、网络码字构造模块、再生码字构造模块、客户机端有限域操作模块。
所述的编码解码模块包含有数据分块编码模块,数据分块编码模块内置一个最优编码分块方法,以确定最优的编码方案,以达到更优化的编码效率。
所述种子文件生成模块,为每一个原始文件生成一个种子文件,种子文件是访问服务器端数据的唯一凭证,种子具有唯一性和动态性。
所述的服务器端有限域操作模块和客户机端有限域操作模块均内置一个有限域运算库,该运算库的特征是体积小,采用查表法,所有运算函数均采用宏替换。
服务器端2提供一个存储接口模块响应上传请求,通过这些接口,服务器端可以接收到文件并加以存储。上传的文件在全部被存储服务器端后将立即可以被下载。在本发明中,修复的操作可以在服务器端进行,并且因为服务器分布在不同的地方,使得它们必须加入到修复的工作中。
客户机端1对原始文件进行编码,然后上传到服务器中。在对每一个原始数据包进行编码后,对应于每一个原始文件在编码后,都将生成一个种子文件。在该种子文件中,一些参数如N, K和m(有限域的阶数)以及子文件的位置将被记录下来。当需要下载的时候,需要打开匹配的种子文件,并且最少K个子块需要被选中下载以保证原始数据可以被恢复。种子文件在本发明中有着重要的作用。除了下载操作外,在用户需要修复子文件块或者新加一个子块的时候也要用到。在分完种子文件后,客户机端将获得二次操作的编码并构建一个包含逻辑修复盘的修复计划。修复进程将在修复方案传送给修复路径上的第一个存储服务器时被自动启动。
基于上述的一种基于网络编码的分布式数据存储和修复系统,其使用方法包含分布式数据存储方法和分布式数据修复方法。
如图5所示,分布式数据存储方法流程图,分布式数据存储方法包含以下步骤:
1、当客户需要修复某一台服务器上数据时,根据客户的偏好,可以选择精确修复还是功能性修复,系统从剩余的服务器列表中选择一个或多个与客户机之间的传输速率较快的,用于存储修复后的数据;
2、系统将计算出一条修复路径,修复的过程中,这条路径上的每个中间节点都要进行再编码操作;
如图6所示,布式数据修复方法流程图,分布式数据修复方法包含以下步骤:
布式数据修复方法包含以下步骤:
1、当客户需要修复某一台服务器上数据时,根据客户的偏好,可以选择精确修复还是功能性修复,系统从剩余的服务器列表中选择一个或多个与客户机之间的传输速率较快的,用于存储修复后的数据;
2、系统将计算出一条修复路径,修复的过程中,这条路径上的每个中间节点都要进行再编码操作;
3、一个与子文件同等大小的文件在遍历了这条路径后,修复后的文件将自动产生。
本专利公开一种基于网络编码的分布式存储系统的存储接口技术,研究人员可以利用该接口来实验并评估其所设计的系统的性能。当研究人员想利用本发明的平台来实验其方案时,可以通过该接口将文件传输到网络服务器中,并能根据反馈知道数据的存储位置,数据的传输及运算开销。当客户需要使用该系统时,只需要下载本发明的的客户机端系统,便能够对本发明系统进行存取访问。
Claims (9)
1.一种基于网络编码的分布式数据存储和修复系统,由多个不同地理位置的服务器端和客户机端组成,服务器端与客户机端通过互联网连接,其特征是:所述服务器端包含存储接口模块、 Apache服务器、http 下载模块、数据库、迭代修复模块、再编码模块、服务器端有限域操作模块、信息同步模块,所述客户机端包含编码解码模块、上传下载模块、种子文件生成模块、网络码字构造模块、再生码字构造模块、客户机端有限域操作模块。
2.根据权利要求1所述的一种基于网络编码的分布式数据存储和修复系统,其特征是:所述的编码解码模块包含有数据分块编码模块,数据分块编码模块内置一个编码分块方法。
3.根据权利要求1所述的一种基于网络编码的分布式数据存储和修复系统,其特征是:所述种子文件生成模块,为每一个原始文件生成一个种子文件,种子具有唯一性和动态性。
4.根据权利要求1所述的一种基于网络编码的分布式数据存储和修复系统,其特征是:所述的服务器端有限域操作模块和客户机端有限域操作模块均内置一个有限域运算库,有限域运算库采用查表法,运算函数均采用宏替换。
5.根据权利要求1所述的一种基于网络编码的分布式数据存储和修复系统,其特征是:服务器端提供一个存储接口模块响应上传请求。
6.根据权利要求1所述的一种基于网络编码的分布式数据存储和修复系统,其特征是:修复的操作在服务器端进行。
7.根据权利要求1所述的一种基于网络编码的分布式数据存储和修复系统,其特征是:客户机端对原始文件进行编码,并生成一个种子文件。
8.根据权利要求1或7所述的一种基于网络编码的分布式数据存储和修复系统,其特征是:所述种子文件的参数及子文件的位置将被记录下来。
9.根据权利要求1至8任意一项所述的一种基于网络编码的分布式数据存储和修复系统,其特征是:其使用方法包含分布式数据存储方法和分布式数据修复方法,分布式数据存储方法包含以下步骤:
1、根据客户的偏好设置对应的参数N,K,系统根据客户机的位置,自动地计算出N个到该客户机最快速率的服务器作为存储服务器,
2、客户机端的软件将原始文件编码成N个子文件后上传到N个服务器上,并为客户生成一个种子文件,以便客户需要的时候能够重新获得原始数据,或再生新的子文件;
分布式数据修复方法包含以下步骤:
1、当客户需要修复某一台服务器上数据时,根据客户的偏好,可以选择精确修复还是功能性修复,系统从剩余的服务器列表中选择一个或多个与客户机之间的传输速率较快的,用于存储修复后的数据,
2、系统将计算出一条修复路径,修复的过程中,这条路径上的每个中间节点都要进行再编码操作,
3、一个与子文件同等大小的文件在遍历了这条路径后,修复后的文件将自动产生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310132854.0A CN104113562A (zh) | 2013-04-17 | 2013-04-17 | 基于网络编码的分布式数据存储和修复系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310132854.0A CN104113562A (zh) | 2013-04-17 | 2013-04-17 | 基于网络编码的分布式数据存储和修复系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104113562A true CN104113562A (zh) | 2014-10-22 |
Family
ID=51710195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310132854.0A Pending CN104113562A (zh) | 2013-04-17 | 2013-04-17 | 基于网络编码的分布式数据存储和修复系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104113562A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181774A (zh) * | 2016-03-09 | 2017-09-19 | 伊姆西公司 | 分布式数据中心之间的数据移动 |
CN108512918A (zh) * | 2018-03-23 | 2018-09-07 | 山东大学 | 异构分布式存储系统的数据处理方法 |
CN110401703A (zh) * | 2019-07-10 | 2019-11-01 | 东华大学 | 基于多级网络编码的云存储数据恢复方法 |
CN111767264A (zh) * | 2019-04-02 | 2020-10-13 | 中国石油化工股份有限公司 | 基于地质信息编码的分布式存储方法和数据读取方法 |
CN113672181A (zh) * | 2021-08-19 | 2021-11-19 | 象辑知源(武汉)科技有限公司 | 一种基于两种网络的打印系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624866A (zh) * | 2012-01-13 | 2012-08-01 | 北京大学深圳研究生院 | 一种存储数据的方法、装置及分布式网络存储系统 |
-
2013
- 2013-04-17 CN CN201310132854.0A patent/CN104113562A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624866A (zh) * | 2012-01-13 | 2012-08-01 | 北京大学深圳研究生院 | 一种存储数据的方法、装置及分布式网络存储系统 |
Non-Patent Citations (1)
Title |
---|
陈运海: ""Cumulus:一个基于网络编码的分布式文件系统"", 《微电子学与计算机》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181774A (zh) * | 2016-03-09 | 2017-09-19 | 伊姆西公司 | 分布式数据中心之间的数据移动 |
CN107181774B (zh) * | 2016-03-09 | 2020-11-20 | 伊姆西Ip控股有限责任公司 | 分布式数据中心之间的数据移动 |
CN108512918A (zh) * | 2018-03-23 | 2018-09-07 | 山东大学 | 异构分布式存储系统的数据处理方法 |
CN111767264A (zh) * | 2019-04-02 | 2020-10-13 | 中国石油化工股份有限公司 | 基于地质信息编码的分布式存储方法和数据读取方法 |
CN110401703A (zh) * | 2019-07-10 | 2019-11-01 | 东华大学 | 基于多级网络编码的云存储数据恢复方法 |
CN110401703B (zh) * | 2019-07-10 | 2021-10-15 | 东华大学 | 基于多级网络编码的云存储数据恢复方法 |
CN113672181A (zh) * | 2021-08-19 | 2021-11-19 | 象辑知源(武汉)科技有限公司 | 一种基于两种网络的打印系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Silberstein et al. | Lazy means smart: Reducing repair bandwidth costs in erasure-coded distributed storage | |
CN103688514B (zh) | 一种最小存储再生码的编码和存储节点修复方法 | |
CN104113562A (zh) | 基于网络编码的分布式数据存储和修复系统及其方法 | |
CN103607304B (zh) | 一种基于纠删码的失效数据线形修复方法 | |
CN103336785B (zh) | 一种基于网络编码的分布式存储方法及其装置 | |
US9141679B2 (en) | Cloud data storage using redundant encoding | |
Hu et al. | Analysis and construction of functional regenerating codes with uncoded repair for distributed storage systems | |
WO2013164227A1 (en) | Method of data storing and maintenance in a distributed data storage system and corresponding device | |
CN107885612A (zh) | 数据处理方法和系统及装置 | |
CN103916483A (zh) | 一种针对编码冗余存储系统的自适应数据存储与重构方法 | |
CN103106124B (zh) | 一种基于纠删码集群存储系统的交叉重构方法 | |
CN104104649A (zh) | 页面登录的方法、装置及系统 | |
Fitzek et al. | Implementation and performance evaluation of distributed cloud storage solutions using random linear network coding | |
CN103729151A (zh) | 一种基于改进型纠删码的失效数据修复方法 | |
CN109792256A (zh) | 用于对擦除码的对数据进行编码和解码的装置和相关方法 | |
WO2023151290A1 (zh) | 一种数据编码方法、装置、设备及介质 | |
CN102843212B (zh) | 编解码处理方法及装置 | |
CN103716718A (zh) | 数据包的传输方法及装置 | |
CN104035732A (zh) | 一种面向纠删码的数据放置方法 | |
CN107153661A (zh) | 一种基于hdfs系统的数据的存储、读取方法及其装置 | |
US9876608B2 (en) | Encoding apparatus and encoding method | |
CN108028666A (zh) | 数据完整性检测和校正 | |
CN108923960A (zh) | 一种基于代理协助再生码的存储节点修复方法 | |
CN105610879B (zh) | 数据处理方法和装置 | |
Lu et al. | Delay-optimized file retrieval under LT-based cloud storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141022 |