[发明专利]一种基于网络编码的低冗余云存储系统及其实现方法无效
申请号: | 201310483828.2 | 申请日: | 2013-10-16 |
公开(公告)号: | CN103533055A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 陈运海;叶保留;陆桑璐 | 申请(专利权)人: | 南京大学镇江高新技术研究院 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 贺翔 |
地址: | 212000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 网络 编码 冗余 存储系统 及其 实现 方法 | ||
1.一种基于网络编码的低冗余云存储系统,该系统包括若干台运行着GNU/Linux操作系统的普通计算机,其中一台作为名字节点,其余为数据节点,此外,其特征在于,还包括以下三个模块:
基于网络编码的文件块存储模块:用来对存储文件块进行切分与网络编码,以保证系统的容错性以及存储开销的低冗余性;
并行化网络编码策略模块:系统存储节点并行地对原始文件切片进行网络编码,以获得更高的系统吞吐率;
网络拓扑感知的失效修复策略模块:在系统中某些节点失效的情况下为了保证存储文件的可靠性,需要启动修复进程已恢复存储文件的容错等级。
2.根据权利要求1所述基于网络编码的低冗余云存储系统的实现方法,其特征在于,包括以下步骤:
1)基于网络编码的文件块存储,其具体步骤包括:
11)客户端申请文件存储时,在申请函数中附以文件长度和网络编码策略提交给名字节点;名字节点收到申请后通过计算返回客户端一个长整型的blockSize作为客户端进行文件切片的大小,同时生成一个网络编码矩阵维护在索引空间;
12)客户端建立一个以存储文件为基础的数据流,根据blockSize的大小,将数据流切分为几个原始文件块,每个文件块有唯一的ID作为标识;
13)客户端通过与名字节点交互,为每一个原始文件块获得存储数据节点,并将其通过网络链的形式依次发往各个数据节点;
14)数据节点在接收到相应数据块之后通过读取头部信息,对获到得的数据块网络编码并以网络编码文件块的形式进行存储;
15)文件读取过程中能够读取系统的索引空间,寻找相应的网络编码文件块的位置,获得这些网络编码文件块之后能够利用索引空间中保存的网络编码矩阵进行解码,以获得原文件;
2)并行化网络编码策略,其具体步骤包括:
21)各个数据节点以客户/服务器模式等待客户端的原始文件块写入操作;
22)每个数据节点在接收到原始文件块之后读取文件块头部信息,并维护一个映射表,决定该文件块所要执行的操作,包括网络编码或者暂存,其中:
221)如果是某一个网络编码文件块的组成部分,并且该网络编码文件块信息不在映射表中,则数据节点直接缓存该文件块,转步骤23);
222)如果是某一个网络编码文件块的组成部分,并且该网络编码文件块信息存在于映射表中,则数据节点将该文件块与缓存的文件块进行网络编码并继续缓存或者写磁盘存储;如果数据节点得到了网络编码文件块所需的全部原始文件块并网络编码完毕,则将这个网络编码文件块存储,否则,数据节点继续缓存并等待;
23)数据节点在一个网络编码文件块完成之后进行更新映射表操作,然后将这个索引信息写在一个列表中,等待周期性的上报,写入索引空间;
24)名字节点在收到周期性的上报信息之后,进行一系列的检查操作,确认之后将这一索引信息写入索引空间并维护;
25)在以上的过程中,客户端通过网络链形式与各个数据节点同时进行通信,各个数据节点也并行的进行网络编码计算;
3)网络拓扑感知的失效修复策略,其具体步骤包括:
31)网络拓扑结构的维护:系统维护自身的网络拓扑结构,在新的节点加入以及失效节点离开的情况下能够及时的更新该拓扑结构;
32)存储文件的完整性扫描:首先,系统的索引空间维护了每个存储文件与所在数据节点的映射表;并且系统保持与各个数据节点定时的通信以确认该数据节点的存活性,在节点失效的情况下标记存储在该节点的文件为失效节点并放入相应修复队列中;其中:
321)对于损毁严重的文件,系统中所存在的有效文件块数小于其修复能力的阈值,名字节点将这一文件标记为corrupt状态,表明文件不可被修复,结束;
322)对于有效文件块数大于阈值的文件,系统节点按照一定的量度,按照文件损毁程度放入优先队列中,使得系统能够根据文件的损毁程度来确定各个文件的紧迫度;
33)名字节点运行一个修复线程,持续的读取队列头部,在队列非空的情况下:
331)名字节点读取网络拓扑结构,对于该修复文件,选取合适的新节点来存储修复文件块,并选取距离最近的足够个数的数据节点参与修复工作,并向这些节点发送修复命令;
332)参与修复的读取自己的命令队列,并发送自己存储的该文件的文件块到选取的新节点,新节点接收并解码之后存储,然后更新索引空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学镇江高新技术研究院,未经南京大学镇江高新技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310483828.2/1.html,转载请声明来源钻瓜专利网。