一种海量数据分布式存储的方法技术

技术编号:14626712 阅读:126 留言:0更新日期:2017-02-12 15:44
本发明专利技术公开了一种海量数据分布式存储的方法,将数据存储区分为data区、copy区和coding区,其中:data区用于存储源数据;copy区用于存储副本数据,copy区与data区构成一个多副本完全备份容灾系统;coding区用于和data区构成一个完整的信息关联容灾系统。与现有技术相比,本发明专利技术的积极效果是:本发明专利技术从大数据存储成本、效率和负载均衡的角度,提出并设计实现一种基于数据信息关联策略和动态副本策略相结合的新方法,该方法可以在保证集群数据安全性的同时,显著提高系统数据恢复的速度,优化系统的负载均衡能力,降低系统整体的存储成本。

【技术实现步骤摘要】

本专利技术涉及一种海量数据分布式存储的方法
技术介绍
互联网技术的迅速发展、信息设备的普及、以及企业及个人对信息技术的广泛应用促进了数据的大规模增长。如果说以前的数据主要是业务部门产生和利用的话,如今则是全民制造和分享数据。数据正变得无处不在,并通过各种可能的方式影响着企业业务和每个人的生活,社会进入了大数据(bigdata)时代。数据的疯狂增长,也使得传统的数据存储模型遭遇了新的挑战:磁盘容量快速增加的同时,其访问速度并没有显著的提高,带来的直接后果是传统的数据存储方式无法胜任互联网时代的海量数据处理任务,Google率先设计并实现了一个新的分布式文件系统GFS(GoogleFileSystem)来解决了上述问题,继而Apache发布了GFS的开源版本HDFS(HadoopDistributedFileSystem)。HDFS是大数据分布式解决方案中非常优秀并且实用存储平台,可以从多方面解决大数据存储的问题,但其具有一个先天性的缺陷,即数据安全性只能通过增加副本的策略来保证。比如,假设每个结点出问题的概率为50%,则1份源数据加2份副本数据的策略,整个平台出问题的概率为12.5%;再增加6个副本,则该平台出问题的概率可以降为0.2%,但此时数据冗余度极大,将浪费8倍于源数据的存储空间。
技术实现思路
为了克服现有技术的上述缺点,本专利技术提供了一种海量数据分布式存储的方法,既可以解决大数据访问的速度问题,又可以在一定程度上解决大数据低冗余度与高安全性之间的矛盾。本专利技术解决其技术问题所采用的技术方案是:一种海量数据分布式存储的方法,将数据存储区分为data区、copy区和coding区,其中:data区用于存储源数据;copy区用于存储副本数据,copy区与data区构成一个多副本完全备份容灾系统;coding区用于和data区构成一个完整的信息关联容灾系统。进一步地,所述多副本完全备份容灾系统是指:每次写数据时,首先将原始数据写入data区,然后利用动态副本策略,系统自动进行数据复制,在copy区写入数据副本。更进一步地,data区和copy区的存储节点通过心跳机制定期向管理节点报告自身状态,管理节点据此判断该存储节点是否正常工作,一旦管理节点接收不到某一存储节点发送来的状态信息,就会判定该存储节点不能正常工作,从而将该存储节点上的数据重新恢复到其他正常工作的存储节点上,确保整个文件系统中数据维持特定的副本数。更进一步地,所述多副本完全备份容灾系统在数据存储和复制过程中,管理节点通过存储节点的状态信息,均衡地分配待存储的数据,使得原始数据的多个副本存放在不同的物理节点上。进一步地,所述信息关联容灾系统对coding区数据进行编码的方法是:对一个存储节点的n个扇区,将每个扇区划分为n等份,每一份称为一个块;要使系统能够容忍小于等于t/2个错误,则将每个扇区的前n-t块设置为信息块,存储有效信息,后t块设置为校验块,存储校验信息;当有部分硬盘出现故障时,系统使用余下的完好硬盘上对应扇区的数据译码恢复出故障硬盘扇区上的有效数据,并且在整个编译码过程中仅需要异或操作。进一步地,所述信息关联容灾系统能够在恢复错误的同时提供不间断的读取服务:当系统中出现故障时,管理员用全新的硬盘替换错误的硬盘,并启动数据恢复过程;之后当系统接收到数据读取请求时,则仅读取未出错的旧硬盘上相应数据;在进行译码恢复数据并提供服务之后,重新编码得到丢失的部分校验信息,并将存储于错误硬盘上的数据存储到新硬盘上。进一步地,所述信息关联容灾系统能够在系统空闲一段时间后,单独进行错误的恢复。与现有技术相比,本专利技术的积极效果是:本专利技术从大数据存储成本、效率和负载均衡的角度,提出并设计实现一种基于数据信息关联策略和动态副本策略相结合的新方法,该方法可以在保证集群数据安全性的同时,显著提高系统数据恢复的速度,优化系统的负载均衡能力,降低系统整体的存储成本。具体实施方式本专利技术方法将数据存储区分为:data区、copy区和coding区。data区用于存储源数据,即当数据第一次进入该存储平台时,数据存储的区域;copy区用于存储副本数据,即当data区存储了某一数据后,立刻在copy区通过复制的方法存储该数据的一个副本;copy区与data区构成了一个实施动态副本策略的HDFS系统(多副本完全备份容灾系统);coding区用于和data区构成一个完整的信息关联容灾系统。该方法中,copy区与data区构成了一个实施动态副本策略的多副本完全备份容灾系统。每次写数据时,首先将原始数据写入data区,然后利用data-copy之间的动态副本策略,系统自动进行数据复制,在copy区写入数据副本,从而使得data区和copy区构成一个完整的基于复制策略的动态副本系统。其特点之一是具有高容错性,data区和copy区的存储节点会通过心跳机制定期向管理节点报告自身状态,管理节点据此判断该存储节点是否正常工作,一旦管理节点接收不到该存储节点发送来的状态信息,就会判定该存储节点不能正常工作,从而将该存储节点上的数据重新恢复到其他存储节点上,以保证整个文件系统中数据维持特定的副本数。因此,理想状态下data-copy区的数据会处于一种动态的平衡,从而达到数据高容错的目的。其特点之二是负载均衡。一方面,数据存储和复制过程中,管理节点可以通过存储节点的状态信息,均衡的分配待存储的数据,达到存储均衡的目的;另一方面,由于原始数据的多个副本存放在不同的物理节点上,用户在访问该数据时,可以根据自身所在的地理位置,访问距离自己最近节点上的数据,或根据当前网络状况,访问最优的网络链路,从而减少数据的传输时间,提高数据的访问效率。当多个用户同时访问相同数据时,也可以根据网络状况分别从不同的节点读取不同的数据副本,从而降低用户访问资源的延迟,减少单个节点的负担和网络拥堵,起到一定的负载均衡的作用。基于复制策略的完全备份方法简单高效,但存储空间利用率比较低,特别是在高可靠性要求的情况下,利用率只有12.5%,甚至更低。为了解决该问题,在该方法中,coding区和data区构成一个完整的信息关联容灾系统。在数据容错方面,系统对coding区数据进行编码。对一个存储节点的n个扇区,将每个扇区划分为n等份,每一份称为一个块;如果我们希望系统能够容忍小于等于t/2个错误,则将每个扇区的前n-本文档来自技高网...

【技术保护点】
一种海量数据分布式存储的方法,其特征在于:将数据存储区分为data区、copy区和coding区,其中:data区用于存储源数据;copy区用于存储副本数据,copy区与data区构成一个多副本完全备份容灾系统;coding区用于和data区构成一个完整的信息关联容灾系统。

【技术特征摘要】
1.一种海量数据分布式存储的方法,其特征在于:将数据存储区分为data
区、copy区和coding区,其中:data区用于存储源数据;copy区用于存储副
本数据,copy区与data区构成一个多副本完全备份容灾系统;coding区用于
和data区构成一个完整的信息关联容灾系统。
2.根据权利要求1所述的一种海量数据分布式存储的方法,其特征在于:
所述多副本完全备份容灾系统是指:每次写数据时,首先将原始数据写入data
区,然后利用动态副本策略,系统自动进行数据复制,在copy区写入数据副
本。
3.根据权利要求2所述的一种海量数据分布式存储的方法,其特征在于:
所述动态副本策略是指:data区和copy区的存储节点通过心跳机制定期向管
理节点报告自身状态,管理节点据此判断该存储节点是否正常工作,一旦管理
节点接收不到某一存储节点发送来的状态信息,就会判定该存储节点不能正常
工作,从而将该存储节点上的数据重新恢复到其他正常工作的存储节点上,确
保整个文件系统中数据维持特定的副本数。
4.根据权利要求2所述的一种海量数据分布式存储的方法,其特征在于:
所述多副本完全备份容灾系统在数据存储和复制过程中,管理节点通过存储节
点的状态信息,均衡地分配待存储...

【专利技术属性】
技术研发人员:钟勇周渭博王阳李振东
申请(专利权)人:中科院成都信息技术股份有限公司
类型:发明
国别省市:四川;51

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

1