面向数据中心的通用化网络编码容错存储平台及工作方法技术

技术编号:9618404 阅读:198 留言:0更新日期:2014-01-30 06:15
本发明专利技术公开了一种面向数据中心的通用化网络编码容错存储平台及其实现方法。该系统主要包括一个名字节点,多个用于存储的数据节点以及一个编码代理节点,由他们组成一个面向数据中心的分布式存储平台。该存储平台是面向数据中心,提出了一种基于网络编码的统一处理框架,通过对存储文件进行编码,达到在系统可靠性相同的情况下,减少系统存储冗余量以及传输带宽。该系统提供不同编码方案的集成,从而达到系统的可扩展性。实现方法主要包括基于网络编码的统一处理框架设计,数据编码与分布式存储流程,不同编码方案的集成,以及恢复处理。

Universal network coding fault-tolerant storage platform for data center and working method thereof

The invention discloses a universal network coding fault-tolerant storage platform for data centers and a method for realizing the same. The system mainly includes a name node, a number of data nodes used for storage and a coding agent node, which form a data center oriented distributed storage platform for them. The storage platform is for the data center, proposes a unified processing framework based on network encoding, the encoding of the file storage, achieve in system reliability under the condition of the same system, reduce redundancy and bandwidth. The system provides integration of different coding schemes so as to achieve system scalability. The implementation method mainly includes the design of unified processing framework based on network coding, data encoding and distributed storage process, integration of different coding schemes, and recovery processing.

【技术实现步骤摘要】
面向数据中心的通用化网络编码容错存储平台及工作方法
本专利技术以开源分布式存储平台为基础,对基于多副本的数据容错技术带来的冗余开销以及额外传输带宽问题进行了研究。在此基础上,通过引入信息论中主流数据容错编码技术,对系统架构进行扩展,设计并实现了一种面向数据中心的通用化网络编码容错存储平台及其工作方法。
技术介绍
随着互联网技术的迅速发展以及海量数据的快速膨胀,海量数据的存储与管理成为业界关注的热点,同时也是“大数据处理”的重要支撑技术。分布式存储系统因其支持大容量的存储,提供良好的可扩展性,在容量、性能以及管理等方面都能够快速适应系统的变化而被广泛使用。然而随着对大容量数据、私人数据的存储效率要求越来越高,现有分布式存储系统中所采用的基于多副本的数据容错存储机制将导致系统占用过多额外存储开销以及数据传输带宽消耗,并且增加失效修复的存储空间。为提高数据存储的可靠性,降低数据的冗余率,业界对基于信息论的数据容错编码机制开展了研究,基于网络编码的分布式数据容错存储技术受到业界积极关注。
技术实现思路
本专利技术所要解决的技术问题是提供一种面向数据中心的通用化网络编码容错存储平台及其工作方法,该系统能够为系统提供多种网络编码方案,不仅有效的降低系统存储冗余度,减少传输带宽和提高系统的可靠性与耐久性,还能有效的降低修复时传输带宽消耗。该编码存储技术在系统在存储文件,读取文件以及失效文件块自我修复中都运用了基于网络编码的数据容错技术维护文件的可靠性。为实现上述目的,本专利技术所述的一种面向数据中心的通用化网络编码容错存储平台,包括:一个名字节点:名字节点作为核心服务器,管理文件系统中的数据块到数据节点之间的映射以及整个集群的配置信息,并负责文件系统的名字空间操作;多个数据节点:数据节点作为从节点,系统中的数据都将存储在数据节点中,数据节点在名字节点的调度下对数据块进行创建、删除和传送操作,并且通过名字节点处理文件的读写请求。一个编码代理节点:当有文件读写时,编码代理节点将原始文件编码发送到对应的数据节点中或者从对应数据节点中取数据进行解码恢复为原始文件。此外,本专利技术还提供了该面向数据中心的通用化网络编码容错存储平台的工作方法,其包括以下几种情况:1)数据编码与分布式存储流程:编码代理节点对原始文件先进行编码,然后将多个编码数据块并行的发送到对应的数据节点中,在此过程中,系统根据文件大小以及系统对应的网络编码方案自适应的生成不同的编码信息以及对应的数据节点个数,使得系统满足自适应性。2)不同编码方案的集成:提供多种编码容错方案,并提供统一的、普适的分布式文件系统,使得用户和应用程序能够根据自己具体的存储任务选择合适的方案,提高系统的多样性、对用户的友好性,满足可扩展性。3)失效编码恢复处理:在系统中某些节点失效的情况下为了保证存储文件的可靠性,恢复失效编码块。上述步骤1)的具体流程分为文件存储和文件读取两种情况,其中:文件存储:11)当系统有文件存储时,名字节点根据文件长度和系统正在运行的编码方案生成对应的编码信息和申请对应的数据节点和数据块,在索引空间中维护并返回给编码代理节点;12)编码代理节点根据名字节点返回的数据节点地址,与每个数据节点建立连接;13)编码代理节点根据编码信息,按传输单位遍历原始文件,根据编码矩阵,将各传输单位的数据放入对应的编码缓存域或者进行编码,每遍历一定量次数后,将相应的编码缓存放入网络传输等待队列,队列非空的情况下唤醒等待的文件块传输进程,此时分为以下几种情况;131)如果当前遍历的数据所对应的编码缓存域是空,则将此数据放入对应的编码缓存域中;132)如果当前遍历的数据所对应的编码缓存域不是空,则将此数据编码并与对应编码缓存域中的数据进行异或操作;133)原始文件遍历完毕,将相应的编码缓存放入网络传输等待队列;14)文件块传输进程在网络传输等待队列为在非空的情况下被唤醒,执行文件传输操作,每发送一个数据包将相对于的数据包放入等待确认队列,等待来自数据节点的确认,之后从该队列删除,文件块确认被写入,结束;文件读取:15)当要读取文件,名字节点返回相应的网络编码文件块的位置,以及文件对应的编码信息给编码代理节点;16)编码代理节点与相应的存储网络编码文件块的数据节点建立连接;17)编码代理从数据节点中按传输单位获取这些网络编码文件块中对应的数据,解码,以恢复原始文件;在此过程中,如果正在连接的某个数据节点出现异常时,从剩余的数据节点中选取一个最近的数据节点,从指定偏移位置开始读取,并重新生成解码矩阵,解码流程继续。18)系统根据存储文件的长度以及相应的网络编码方案自主生成对应的编码方案的编码信息,为之后文件编码解码以及失效编码块恢复处理时使用,此时系统根据需要写入的原始文件的文件长度以及对应网络编码方案计算网络编码的参数;再根据计算出来的网络编码的参数,选择相应的数据节点个数用于存储文件。上述步骤2)的具体流程为:21)在系统中添加一个通用编码类,该通用类根据不同的编码方案引用到与之对应的编码信息类,为之后文件编码解码以及修复时使用;211)在系统中添加一个编码协议类,用于生成不同编码矩阵以及编码解码时的运算法则;212)在系统中添加不同网络编码类,它们拥有自己的编码信息,并可以根据编码协议类生成对应的编码矩阵。22)在系统的配置文件中添加一个有关于编码容错方案的参数,可以在系统运行的时候,决定调用的是哪一种编码容错方案。23)系统可以根据需要写入的原始文件的文件长度以及对应网络编码方案计算网络编码的参数;34)通用编码类根据系统实际运行的网络编码方案引用对应的网络编码类,再根据计算出来的网络编码参数计算对应的信息矩阵以及编码矩阵。上述步骤3)的具体流程为:31)当系统中某个数据节点中有编码块失效,名字节点会将其放入修复队列中去,名字节点为其选择一个新的数据节点作为其存储节点,并把参与恢复处理的其它编码块信息返回给新的数据节点,通知该数据节点修复失效编码块;32)新的数据节点在收到名字节点的命令后,进行恢复处理,具体为:通知参与恢复的数据节点将对应的编码块传输到新的数据节点中,新的数据节点在接收到参与编码块的数据后恢复失效编码块,最后通知名字节点更新索引信息。本专利技术采用网络编码技术,实现了一种面向数据中心的通用化网络编码容错存储平台。该存储平台是面向数据中心,提出了一种基于网络编码的统一处理框架,通过对存储文件进行编码,达到在系统可靠性相同的情况下,减少系统存储冗余量以及传输带宽。该存储平台提供不同编码方案的集成,从而达到系统的可扩展性。在系统中某些节点失效的情况下为了保证存储文件的可靠性,系统可以启动恢复处理,失效编码块。在有效降低存储冗余的基础上提高了系统的容错能力,满足了分布式数据存储的可靠性需求。附图说明图1系统架构图,图2通用网络编码框架-通用编码类,图3通用网络编码框架-通用编码接口,图4通用网络编码框架-自适应n,k,图5读文件(编码)流程,图6写文件(解码)流程,图7恢复处理流程图。具体实施方式本专利技术提供了一种面向数据中心的通用化网络编码容错存储平台及其实现方法。下面结合附图进行详细说明。系统架构图如图1所示。在该存储平台中,名字节点作为核心服务器,在整个系统中只有一个,名本文档来自技高网...
面向数据中心的通用化网络编码容错存储平台及工作方法

【技术保护点】
一种面向数据中心的通用化网络编码容错存储平台,其特征在于该平台包括:一个名字节点:名字节点作为核心服务器,管理文件系统中的数据块到数据节点之间的映射以及整个集群的配置信息,并负责文件系统的名字空间操作;多个数据节点:数据节点作为从节点,系统中的数据都将存储在数据节点中,数据节点在名字节点的调度下对数据块进行创建、删除和传送操作,并且通过名字节点处理文件的读写请求;一个编码代理节点:当有文件读写时,编码代理节点将原始文件编码发送到对应的数据节点中或者从对应数据节点中取数据进行解码恢复为原始文件。

【技术特征摘要】
1.一种面向数据中心的通用化网络编码容错存储平台的工作方法,该平台包括:一个名字节点:名字节点作为核心服务器,管理文件系统中的数据块到数据节点之间的映射以及整个集群的配置信息,并负责文件系统的名字空间操作;多个数据节点:数据节点作为从节点,系统中的数据都将存储在数据节点中,数据节点在名字节点的调度下对数据块进行创建、删除和传送操作,并且通过名字节点处理文件的读写请求;一个编码代理节点:当有文件读写时,编码代理节点将原始文件编码发送到对应的数据节点中或者从对应数据节点中取数据进行解码恢复为原始文件;其特征在于,该工作方法包括以下几种情况:步骤1)数据编码与分布式存储流程:编码代理节点对原始文件先进行编码,然后将多个编码数据块并行的发送到对应的数据节点中,在此过程中,系统根据文件大小以及系统对应的网络编码方案自适应的生成不同的编码信息以及对应的数据节点个数,使得系统满足自适应性;步骤2)不同编码方案的集成:提供多种编码容错方案,并提供统一的、普适的分布式文件系统,使得用户和应用程序能够根据自己具体的存储任务选择合适的方案,提高系统的多样性、对用户的友好性,满足可扩展性;步骤3)失效编码恢复处理:在系统中某些节点失效的情况下为了保证存储文件的可靠性,恢复失效编码块。2.权利要求1所述面向数据中心的通用化网络编码容错存储平台的工作方法,其特征在于步骤1)的具体流程分为文件存储和文件读取两种情况,其中:文件存储:11)当系统有文件存储时,名字节点根据文件长度和系统正在运行的编码方案生成对应的编码信息和申请对应的数据节点和数据块,在索引空间中维护并返回给编码代理节点;12)编码代理节点根据名字节点返回的数据节点地址,与每个数据节点建立连接;13)编码代理节点根据编码信息,按传输单位遍历原始文件,根据编码矩阵,将各传输单位的数据放入对应的编码缓存域或者进行编码,每遍历一定量次数后,将相应的编码缓存放入网络传输等待队列,队列非空的情况下唤醒等待的文件块传输进程,此时分为以下几种情况;131)如果当前遍历的数据所对应的编码缓存域是空,则将此数据放入对应的编码缓存域中;132)如果当前遍历的数据所对应的编码缓存域不是空,则将此数据编码并与对应编码缓存域中的数据进行异或操作;133)原始文件遍历完毕,将相应的编码缓存放入网络传输等待队列;14)文件块传输进程在网络传输等待队列为在非空的情况下被唤醒,执行文件传输操作,每发送一个数据包...

【专利技术属性】
技术研发人员:薛艳陈正亮叶保留吴小志李东辉
申请(专利权)人:南京大学镇江高新技术研究院南京南瑞集团公司信息系统集成分公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1