分布式数据存储方法及系统与流程

文档序号:11230062阅读:1179来源:国知局
分布式数据存储方法及系统与流程

本发明涉及分布式数据存储技术领域,特别涉及一种分布式数据存储方法及系统。



背景技术:

现有技术中,通过数据冗余来处理磁盘失效的问题,通常是每一份数据都可以存储于三块甚至更多块磁盘上,当某块磁盘失效时,可以依靠剩下的两个副本做数据恢复,防止在磁盘损坏或者存储模块宕机时数据丢失。但实际上,数据恢复策略必须要得到完善的设计,否则还是会遇到数据丢失的问题。企业在搭建存储集群时,通常都会同批次购买很多的存储服务器和磁盘,同批次的磁盘往往具备类似的硬件规格和驱动固件,即可能出现同时失效的情况,在这种情况下,某一块磁盘开始失效之时,存储于此块磁盘上的数据都处于降级的状态,更坏的是,与之同批次的其他磁盘也随之失效的概率就会提高,如果此时另外一块磁盘也失效,则一部分数据将仅剩下一个存活的副本,并且降级程度进一步恶化,如果数据不能尽快修复,降级的数据可能会因最后一个副本所在的磁盘的失效而完全丢失。

处理磁盘失效问题,通常的方案是增加副本数,即由原来的三副本策略修改为四副本,这种简单粗暴的方案会严重增加企业的存储成本,另外增加副本数之后,数据的写入性能也会降低,因此不是一个好的方案。

通常而言,用户的数据都具有明显的冷热区别,越热的数据即越经常被访问的数据,对于用户而言也是越重要的数据。这也是计算机系统中著名的局部性原理的一种体现,即用户在某一天某一时刻访问的数据在未来仍需被访问的概率较高。分布式存储系统都提供了较高的可用性,即使数据的某一个副本损坏,当用户访问这个数据时,仍然可以从其他副本中读取并返回给用户。但是对于被用户访问到的重要的热点数据,如果不能够尽快修复,那么如果磁盘继续损坏,那么这些重要数据将会出现丢失,给用户带来的损失也就更大。



技术实现要素:

为解决磁盘损坏不能尽快修复时会出现数据丢失的技术问题,本发明提出一种分布式数据存储方法及系统来实现。

一种分布式数据存储方法,包括以下步骤:

将分布式系统的存储空间分成多个存储区域,每个区域中设有若干存储设备,查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符;

监视每个存储设备的工作状态,当存在故障存储设备时,根据所述起始物理地址、端口信息或者存储设备标识符中的任意一种或几种来确定故障存储设备中的出现故障的部分的具体位置并且确定所述出现故障的全部数据组;

查询相同存储层中存活存储设备,搜索与出现故障的部分的全部数据组相互对应的第一数据组,在此,所述第一数据组物理地址长度不小于出现故障的部分的全部数据组;

选择第一数据组替换所述出现故障的部分的全部数据组。

作为一种可实施方式,所述查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符,具体包括以下步骤:

根据存储数据的冷热程度,为每个存储层设置一个编码,为每个存储设备分配唯一的存储设备标识符;

根据所述编码和所述唯一存储设备标识符,查询所对应存储设备的起始物理地址和端口信息。

作为一种可实施方式,当出现故障的存储设备的数量为两个以上时,将根据出现故障的存储设备所在的存储层的位置顺序,生成恢复顺序,按照恢复顺序对出现故障的存储设备进行替换。

作为一种可实施方式,所述按照恢复顺序对出现故障的存储设备进行替换是指,至少有一个存活的存储设备向出现故障的存储设备中进行数据迁徙。

作为一种可实施方式,所述出现故障的存储设备包括失效存储设备和数据损害设备中的至少一种。

一种分布式数据存储系统,包括分层查询模块、监视模块、查询模块和替换模块;

所述存储分层模块,用于将分布式系统的存储空间分成多个存储区域,每个区域中设有若干存储设备,查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符;

所述监视模块,监视每个存储设备的工作状态,当存在故障存储设备时,根据所述起始物理地址、端口信息或者存储设备标识符中的任意一种或几种来确定故障存储设备中的出现故障的部分的具体位置并且确定所述出现故障的全部数据组;

所述查询模块,用于查询相同存储层中存活存储设备,搜索与出现故障的部分的全部数据组相互对应的第一数据组,在此,所述第一数据组物理地址长度不小于出现故障的部分的全部数据组;

所述替换模块,用于选择第一数据组替换所述出现故障的部分的全部数据组。

作为一种可实施方式,所述分层查询模块设置为:

所述查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符,具体包括以下步骤:

根据存储数据的冷热程度,为每个存储层设置一个编码,为每个存储设备分配唯一的存储设备标识符;

根据所述编码和所述唯一存储设备标识符,查询所对应存储设备的起始物理地址和端口信息。

作为一种可实施方式,所述替换模块设置为,当出现故障的存储设备的数量为两个以上时,将根据出现故障的存储设备所在的存储层的位置顺序,生成恢复顺序,按照恢复顺序对出现故障的存储设备进行替换。

作为一种可实施方式,所述替换模块设置为,所述按照恢复顺序对出现故障的存储设备进行替换是指,至少有一个存活的存储设备向出现故障的存储设备中进行数据迁徙。

作为一种可实施方式,所述监视模块设置为:所述出现故障的存储设备包括失效存储设备和数据损害设备中的至少一种。

本发明相比于现有技术的有益效果在于:

本发明为一种分布式数据存储方法,包括以下步骤:将分布式系统的存储空间分成多个存储区域,每个区域中设有若干存储设备,查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符;

监视每个存储设备的工作状态,当存在故障存储设备时,根据所述起始物理地址、端口信息或者存储设备标识符中的任意一种或几种来确定故障存储设备中的出现故障的部分的具体位置并且确定所述出现故障的全部数据组;

查询相同存储层中存活存储设备,搜索与出现故障的部分的全部数据组相互对应的第一数据组,在此,所述第一数据组物理地址长度不小于出现故障的部分的全部数据组;

选择第一数据组替换所述出现故障的部分的全部数据组。

本发明为一种分布式数据存储系统,包括分层查询模块、监视模块、查询模块和替换模块;所述存储分层模块,用于将分布式系统的存储空间分成多个存储区域,每个区域中设有若干存储设备,查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符;

所述监视模块,监视每个存储设备的工作状态,当存在故障存储设备时,根据所述起始物理地址、端口信息或者存储设备标识符中的任意一种或几种来确定故障存储设备中的出现故障的部分的具体位置并且确定所述出现故障的全部数据组;

所述查询模块,用于查询相同存储层中存活存储设备,搜索与出现故障的部分的全部数据组相互对应的第一数据组,在此,所述第一数据组物理地址长度不小于出现故障的部分的全部数据组;

所述替换模块,用于选择第一数据组替换所述出现故障的部分的全部数据组。

采用本发明的方法对失效存储设备中的失效部分进行数据修复即本发明中所说的第一数据组替换所述失效部分的全部数据组,方便快捷,并且准确率高,节省时间,进而减小了损失。

附图说明

图1为本发明的方法流程示意图;

图2为本发明的部分流程示意图;

图3为本发明的系统结构示意图。

具体实施方式

以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。

请参阅以下实施例

示例性方法

本发明为一种分布式数据存储方法,如图1所示,包括以下步骤:

一种分布式数据存储方法,包括以下步骤:

s1、将分布式系统的存储空间分成多个存储区域,每个区域中设有若干存储设备,查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符;

s2、监视每个存储设备的工作状态,当存在故障存储设备时,根据所述起始物理地址、端口信息或者存储设备标识符中的任意一种或几种来确定故障存储设备中的出现故障的部分的具体位置并且确定所述出现故障的全部数据组;

s3、查询相同存储层中存活存储设备,搜索与出现故障的部分的全部数据组相互对应的第一数据组,在此,所述第一数据组物理地址长度不小于出现故障的部分的全部数据组;

s4、选择第一数据组替换所述出现故障的部分的全部数据组。

更进一步地,如图2所示,所述查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符,具体包括以下步骤:

s11、根据存储数据的冷热程度,为每个存储层设置一个编码,为每个存储设备分配唯一的存储设备标识符;

s12、根据所述编码和所述唯一存储设备标识符,查询所对应存储设备的起始物理地址和端口信息。

采用本发明的方法对失效存储设备中的失效部分进行数据修复即本发明中所说的第一数据组替换失效部分的全部数据组,方便快捷,并且准确率高,节省时间,进而减小了损失。

本发明还公开了一种分布式数据存储系统,如图3所示,包括分层查询模块1、监视模块2、查询模块3和替换模块4;

所述存储分层模块1,用于将分布式系统的存储空间分成多个存储区域,每个区域中设有若干存储设备,查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符;

所述监视模块2,监视每个存储设备的工作状态,当存在故障存储设备时,根据所述起始物理地址、端口信息或者存储设备标识符中的任意一种或几种来确定故障存储设备中的出现故障的部分的具体位置并且确定所述出现故障的全部数据组;

所述查询模块3,用于查询相同存储层中存活存储设备,搜索与出现故障的部分的全部数据组相互对应的第一数据组,在此,所述第一数据组物理地址长度不小于出现故障的部分的全部数据组;

所述替换模块4,用于选择第一数据组替换所述出现故障的部分的全部数据组。

所述分层查询模块1设置为:所述查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符,具体包括以下步骤:

根据存储数据的冷热程度,为每个存储层设置一个编码,为每个存储设备分配唯一的存储设备标识符;

根据所述编码和所述唯一存储设备标识符,查询所对应存储设备的起始物理地址和端口信息。

本发明的实施例都是依赖于示例性方法和示例性系统,不会超出此范围。

实施例1

一种分布式数据存储方法,如图1所示,包括以下步骤:

s1、将分布式系统的存储空间分成多个存储区域,每个区域中设有若干存储设备,查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符;

s2、监视每个存储设备的工作状态,当存在故障存储设备时,根据所述起始物理地址、端口信息或者存储设备标识符中的任意一种或几种来确定故障存储设备中的出现故障的部分的具体位置并且确定所述出现故障的全部数据组;

s3、查询相同存储层中存活存储设备,搜索与出现故障的部分的全部数据组相互对应的第一数据组,在此,所述第一数据组物理地址长度不小于出现故障的部分的全部数据组;

s4、选择第一数据组替换所述出现故障的部分的全部数据组。

如图2所示,所述查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符,具体包括以下步骤:

s11、根据存储数据的冷热程度,为每个存储层设置一个编码,为每个存储设备分配唯一的存储设备标识符;

s12、根据所述编码和所述唯一存储设备标识符,查询所对应存储设备的起始物理地址和端口信息。

在根据存储数据的冷热程度,为每个存储层设置一个编码中,冷数据是指没人访问或者是很少被访问的数据,而热数据就是经常被大家访问或者是大家都喜欢看的数据,就是按照数据冷热程度,一层层的设置编码,然后再给每一层的存储设备设置编码,其实就相当于设置了一个简单的矩阵,通过查找层数的编码和设备编码可以直接搜索到存储设备。

当出现故障的存储设备的数量为两个以上时,根据与所述出现故障的存储设备根据存储层的位置,生成恢复顺序,按照恢复顺序对出现故障的存储设备进行替换。当失效存储设备的数量为两个以上时,根据与失效存储设备根据存储层的位置,生成恢复顺序,按照恢复顺序对失效存储设备进行替换。一般情况下,数据热度高的层优先于数据热度低的层进行替换,也就是说,数据热度越高,则所在存储层对用户越重要,所以必须优先修复。

所述按照恢复顺序对出现故障的存储设备进行替换是指,至少一个存活存储设备向出现故障的存储设备中进行数据迁徙。

本实施例中,所述出现故障的存储设备为失效存储设备。

于另一个实施例中,所述出现故障的存储设备为数据损害设备中的一种。其替换方法与为失效存储设备的方法相同。

一种分布式数据存储系统,包括分层查询模块1、监视模块2、查询模块3和替换模块4;

所述存储分层模块1,用于将分布式系统的存储空间分成多个存储区域,每个区域中设有若干存储设备,查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符;

所述监视模块2,监视每个存储设备的工作状态,当存在故障存储设备时,根据所述起始物理地址、端口信息或者存储设备标识符中的任意一种或几种来确定故障存储设备中的出现故障的部分的具体位置并且确定所述出现故障的全部数据组;

所述查询模块3,用于查询相同存储层中存活存储设备,搜索与出现故障的部分的全部数据组相互对应的第一数据组,在此,所述第一数据组物理地址长度不小于出现故障的部分的全部数据组;

所述替换模块4,用于选择第一数据组替换所述出现故障的部分的全部数据组。

所述分层查询模块1设置为:所述查找并获得所有存储设备的起始物理地址、端口信息以及为每一个存储设备分配唯一的存储设备标识符,具体包括以下步骤:

根据存储数据的冷热程度,为每个存储层设置一个编码,为每个存储设备分配唯一的存储设备标识符;

根据所述编码和所述唯一存储设备标识符,查询所对应存储设备的起始物理地址和端口信息。

所述替换模块4设置为,当出现故障的存储设备的数量为两个以上时,根据与所述出现故障的存储设备根据存储层的位置,生成恢复顺序,按照恢复顺序对出现故障的存储设备进行替换。

所述替换模块设置4为,所述按照恢复顺序对出现故障的存储设备进行替换是指,至少一个存活存储设备向出现故障的存储设备中进行数据迁徙。一般情况下,在每个存储层中将每个数据组至少存储在两个存储设备中,预防出现失效存储设备,当其中一个存储设备出现失效部分时,可以再其他存数设备中查找与失效部分相同的数据组,进而进行替换。

所述监视模块设置2为:所述出现故障的存储设备包括失效存储设备和数据损害设备中的至少一种。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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