一种分布式数据存储方法和系统与流程

文档序号:11155639阅读:770来源:国知局
一种分布式数据存储方法和系统与制造工艺

本发明涉及一种分布式数据存储方法和系统,属于计算机存储领域。



背景技术:

分布式文件系统存储已经逐渐在新的时代展现出了其特有的优势,比如支持超大数据的存储,存储量可以达到PB级别,检测和快速反应系统或硬件故障,支持磁盘容量扩展性,而不影响到整体架构,保证数据的一致性等。因此在很多场景下都会考虑采用分布式文件系统存储。虽然分布式文件存储系统有这么多的优点,与传统存储方案相比在某些方面还是需要不断的改进,比如在存储容量上,主流的方式为多个副本存储,但是存储量就会较大,同时造成读写消耗较大,采用一些压缩以及安全的算法保存数据的时候,会将处理后的数据和解密的密钥存储在同一类存储器,这样并不能完全消除,验证用的数据的安全威胁。



技术实现要素:

为了解决上述问题,本发明通过提供一种分布式数据存储方法和系统。

本发明采用的技术方案一方面为一种分布式数据存储方法,包括:包括若干存储区的副本存储端接收待存储数据并写入至少一个存储区;副本存储端将待存储数据写入缓存模块中,所述缓存模块对所述待存储数据进行缓存;当达到预设条件时,缓存模块输出预定大小的缓存数据,对所述缓存数据基于纠删码编码方式进行编码并生成校验数据;所述缓存模块将所述缓存数据写入存储服务器组的多个存储服务器中,将所述校验数据写入所述存储服务器组的至少一个存储服务器中。

优选地,所述预定条件包括:所述缓存模块中所缓存的数据的大小达到所述预定大小;或者所述副本存储端写入数据的操作超过预定时长;或者所述缓存模块出现故障。

优选地,所述缓存模块包括固态硬盘单元和数据接口单元。

优选地,所述存储服务器组为基于对象存储技术的存储设备。

本发明采用的技术方案的另一方面为一种分布式数据存储系统,包括:包括若干存储区的副本存储端,用于接收待存储数据并写入至少一个存储区;缓存模块,用于接收副本存储端输出的待存储数据并进行缓存,当达到预设条件时,输出预定大小的缓存数据,对所述缓存数据基于纠删码编码方式进行编码并生成校验数据,将所述缓存数据写入存储服务器组的多个存储服务器中,将所述校验数据写入所述存储服务器组的至少一个存储服务器中;存储服务器组,用于存储数据。

本发明的有益效果为提供备份区以存储原始数据,通过固态硬盘以作为数据缓存以提高数据传输速度,通过纠删技术以提高数据利用率,通过对象存储技术以提高存储效率,能够实现数据的安全和高效的存储和运用,有利于数据管理能力。

附图说明

图1所示为基于本发明实施例的一种分布式数据存储系统的示意图。

具体实施方式

以下结合实施例对本发明进行说明。

基于发明的实施例,一种分布式数据存储方法,包括:包括若干存储区的副本存储端接收待存储数据并写入至少一个存储区;副本存储端将待存储数据写入缓存模块中,所述缓存模块对所述待存储数据进行缓存;当达到预设条件时,缓存模块输出预定大小的缓存数据,对所述缓存数据基于纠删码编码方式进行编码并生成校验数据;所述缓存模块将所述缓存数据写入存储服务器组的多个存储服务器中,将所述校验数据写入所述存储服务器组的至少一个存储服务器中。

建立副本池,将数据存储到副本池,这样就保证了一份数据有多个备份,一旦系统出现单点故障的时候,副本池就自动接管,恢复到故障前的状态;副本存储端接收数据并存入,设置备份,完成备份之后,将数据输出到缓存模块以增加数据传递和处理的速度,缓存模块在抵达一定条件的时候,通过数据处理的串口单元将缓存输出提取出来并进行纠删码处理,将经过处理得到的检验数据和缓存数据映射到OSD设备(存储服务器组),例如按照4数据块和1个编码块,则纠删码处理后的纠删池分为5个块,每个块存储到一个OSD中,将块的编号作为唯一性,保存到对象中;假设有5个OSD,每一个OSD对应一个纠删池块,突然有1个OSD发生故障,这种情况下数据整体上并没有受到破坏,在纠删的过程中通过一定的计算方法已经将1个OSD故障出现的情况纳入在内,纠删池的目的就是为了节省存储空间,充分考虑到了编码块出错的比例,满足了用极少的空间存储大容量的数据,提升了磁盘的存储能力。

所述预定条件包括:所述缓存模块中所缓存的数据的大小达到所述预定大小;或者所述副本存储端写入数据的操作超过预定时长;或者所述缓存模块出现故障。

所述缓存模块包括固态硬盘单元和数据接口单元。

磁盘的存储容量扩大了,也就意味着在计算数据的时间上耗时更长,会影响到存储的性能,为了解决这个问题,增加了一个缓存池,缓存池采用固态硬盘作为介质,将进来的数据先存储到缓存池,由于固态硬盘读写效率非常高,当缓存数据积累到一定的量的时候,再一次性写入到OSD中,一个是缓解了内存的压力,再一个是减少了写入的来回次数;

接口单元则是起到将要输出到OSD的数据进行纠删处理,并对数据进行属性组合,属性信息的保存和标记,追踪,引导等操作以存储数据到OSD(对象存储设备)。

所述存储服务器组为基于对象存储技术的存储设备。

对象存储则将元数据独立了出来,控制节点叫元数据服务器(服务器+对象存储管理软件),里面主要负责存储对象的属性(主要是对象的数据被打散存放到了那几台分布式服务器中的信息),而其他负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B、C、D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。通过数据接口单元对数据的映射,实现待存储数据的对象存储。

基于发明的实施例,如图1所示,一种分布式数据存储系统,包括:包括若干存储区的副本存储端,用于接收待存储数据并写入至少一个存储区;缓存模块,用于接收副本存储端输出的待存储数据并进行缓存,当达到预设条件时,输出预定大小的缓存数据,对所述缓存数据基于纠删码编码方式进行编码并生成校验数据,将所述缓存数据写入存储服务器组的多个存储服务器中,将所述校验数据写入所述存储服务器组的至少一个存储服务器中;存储服务器组,用于存储数据。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1