一种基于分布式存储的数据恢复方法及装置.pdf

上传人:Y0****01 文档编号:1635672 上传时间:2018-06-30 格式:PDF 页数:10 大小:1.05MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410601850.7

申请日:

2014.10.31

公开号:

CN104360915A

公开日:

2015.02.18

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/14申请日:20141031|||公开

IPC分类号:

G06F11/14; G06F17/30

主分类号:

G06F11/14

申请人:

北京思特奇信息技术股份有限公司

发明人:

杜旭苗

地址:

100086北京市海淀区中关村南大街6号中电信息大厦16层

优先权:

专利代理机构:

北京轻创知识产权代理有限公司11212

代理人:

杨立

PDF下载: PDF下载
内容摘要

本发明公开了一种基于分布式存储的数据恢复方法及装置,其中,基于分布式存储的数据恢复方法包括:分布式调度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态;在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端;查询处于异常状态的存储客户端处理的上一批次待存储数据的数据标识;将上一批次后的待存储数据重新分发给处于正常状态的数据存储客户端。通过本发明提供的数据恢复方法,在不需要增加额外设备的基础上,保障数据写入的一致性和完整性;也不会因为存储客户端的异常影响正常的服务。

权利要求书

权利要求书
1.  一种基于分布式存储的数据恢复方法,其特征在于,包括:
步骤S101、分布式调度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态;
步骤S102、在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端;
步骤S103、查询处于异常状态的存储客户端处理的上一批次待存储数据的数据标识;
步骤S104、将上一批次后的待存储数据重新分发给处于正常状态的数据存储客户端。

2.  如权利要求1所述的数据恢复方法,其特征在于,还包括:
当所述数据存储客户端将分布式调度系统分批分发的待存储数据成功提交给Hbase数据库时,在Hbase数据库中写入断点信息,所述断点信息包含该数据存储客户端提交给Hbase数据库的各批待存储数据的数据标识;
所述步骤S103包括:
在Hbase数据库中查找处于异常状态的数据存储客户端的断点信息,获取该数据客户端处理的上一批次待存储数据的数据标识。

3.  如权利要求2所述的数据恢复方法,其特征在于,预先设置Hbase数据库的版本数为1。

4.  如权利要求1或2所述的数据恢复方法,其特征在于,所述待存储数据中的每条数据记录具有数据记录唯一标识,所述数据记录唯一标识为该数据记录关键词与MD5码的组合。

5.  一种基于分布式存储的数据恢复装置,其特征在于,包括:
第一数据分发模块,用于调用分布式调度系统分批向若干数据存储客户 端分发待存储数据,并监测各数据存储客户端的异常状态;
查找模块,用于在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端;
数据标识查询模块,用于查询处于异常状态的存储客户端处理的上一批次待存储数据的数据标识;
第二数据分发模块,用于将上一批次后的待存储数据重新分发给处于正常状态的数据存储客户端。

6.  如权利要求5所述的数据恢复装置,其特征在于,还包括:
断点信息写入模块,用于当所述数据存储客户端将分布式调度系统分批分发的待存储数据成功提交给Hbase数据库时,在Hbase数据库中写入断点信息,所述断点信息包含该数据存储客户端提交给Hbase数据库的各批待存储数据的数据标识;
所述数据标识查询模块,用于查询处于异常状态的数据存储客户端处理的上一批次待存储数据的数据标识具体包括:
在Hbase数据库中查找处于异常状态的数据存储客户端的断点信息,获取该数据客户端处理的上一批次待存储数据的数据标识。

7.  如权利要求6所述的数据恢复装置,其特征在于,预先设置Hbase数据库的版本数为1。

8.  如权利要求5或6所述的数据恢复装置,其特征在于,所述所述待存储数据中的每条数据记录具有数据记录唯一标识,所述数据记录唯一标识为该数据记录关键词与MD5码的组合。

说明书

说明书一种基于分布式存储的数据恢复方法及装置
技术领域
本发明涉及数据存储技术领域,具体涉及一种基于分布式存储的数据恢复方法及装置。
背景技术
分布式存储技术就是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
为了保证分布式存储系统数据的一致性和完整性,当存储服务器出现异常时,需要采用一定的方法进行数据的恢复。目前,常用的方法是存储服务器将内存中的数据备份到存储介质,当存储服务器从异常恢复,重新启动时,存储服务器从存储介质中获取备份的数据。
采用备份数据的方法实现数据的恢复,由于存储服务器发生异常到恢复的过程需要一段时间,在这段时间内,存储服务器无法提供服务,对服务需求会产生影响;另外,该方法实现数据的恢复需要额外增加存储介质,增加的成本。
发明内容
本发明所要解决的技术问题是提供一种基于分布式存储的数据恢复方 法及装置,能够实现分布式存储的数据恢复。
依据本发明的一个方面,提供了一种基于分布式存储的数据恢复方法,包括:
分布式调度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态;
在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端;
查询处于异常状态的存储客户端处理的上一批次数据的数据标识;
将上一批次后的数据重新分发给处于正常状态的数据存储客户端。
依据本发明的另一个方面,提供了一种基于分布式存储的数据恢复装置,包括:
第一数据分发模块,用于调用分布式调度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态;
查找模块,用于在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端;
数据标识查询模块,用于查询处于异常状态的存储客户端处理的上一批次数据的数据标识;
第二数据分发模块,用于将上一批次后的数据重新分发给处于正常状态的数据存储客户端。
本发明提供的一种基于分布式存储的数据恢复方法及装置,通过获取处于异常状态的数据存储客户端写入的断点信息,通过断点信息获取异常数据存储客户端处理的上一批次的数据标识,然后将上一批次后的数据重新分发给处于正常状态的数据存储客户端,对数据进行重新写入,来实现分布式存储过程中的客户端写入数据恢复,在不需要增加额外设备的基础上,保障数据写入的一致性和完整性。
附图说明
图1为本发明实施例一的一种基于分布式存储的数据恢复方法流程图;
图2为本发明的数据写入过程的总体架构图;
图3为本发明实施例一的一种基于分布式存储的数据恢复方法的具体实例流程图;
图4为本发明实施例二的一种基于分布式存储的数据恢复装置示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例一、一种基于分布式存储的数据恢复方法。下面结合图1-图3对本发明提供的方法进行详细说明。
图1中,S101、分布式调度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态。
具体的,参见图2,首先介绍一下分布式存储时数据写入的过程,分布式调度系统将大量数据分批发送给数据存储客户端,其中,数据存储客户端为多个,一个存储客户端可以作为一个存储节点,分布式调度系统可以采取预定策略将大量的数据分发给不同的数据存储客户端,数据存储客户端接收到分布式调度系统分发的数据,对数据进行处理,比如说按照业务要求将数据进行分类处理,或者按照数据格式要求对数据进行处理,存储客户端将处理后的数据提交给数据库,数据库进行数据的处理后,将数据物化到HDFS(Hadoop Distributed File System,分布式文件系统)中,即将数据存储于分布式文件系统中。
需要说明的是,本实施例中的数据库是基于Hbase的数据库,Hbase存 入数据是以Key-value的形式存储数据的。Hbase采用Key值来唯一标识一条数据,利用了Key值的不变性来保证数据恢复的一致性。其中,Key值的设计可以包括关键内容与MD5码的组合,MD5码是基于整条数据的编码,整条数据和编码的结果存在一一对应关系,从而保证数据重入恢复的一致性。
另外,由于hbase有版本概念,各个存储客户端提交给Hbase数据库的数据可以存储多个版本。因此,为了使存储客户端写入数据恢复时不重复写入,设置Hbase数据库的版本数为1,即保证只有一个版本有效,这样即使存储客户端重入相同的数据也不会出现重复数据。在数据按照批次进行恢复时,Hbase数据库的断点机制就保证了数据完整性和不重复性。
在数据写入的过程中,可以分为存储客户端写入数据恢复,即在存储客户端将数据提交给Hbase数据库的过程中,进行数据的恢复;或者入库的数据恢复,即存储客户端已经将数据提交给Hbase数据库后进行数据的恢复。
本实施例主要设计了存储客户端写入数据恢复的方法,参见图3,图3为存储客户端写入数据恢复的流程图,分布式调度系统分批向存储客户端分发数据,并监测各个存储客户端的异常状态。
S102、在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端。
具体的,上述步骤中分布式调度系统监测每个存储客户端的异常状态,当监测到存储客户端处于异常状态时,比如,存储客户端连接异常或存储客户端出现宕机的情况,分布式调度系统会在存储客户端集群中查询处于正常状态的存储客户端。
S103、查询处于异常状态的存储客户端处理的上一批次数据的数据标识。
具体的,需要说明的是,在数据写入的过程中,当存储客户端将当前批次的数据提交给Hbase数据库时,会在Hbase数据库中写入断点信息,并保 存于断点文件中,其中,断点信息包括该批次的数据提交Hbase数据库提交成功的信息、提交数据的存储客户端的标识以及该批次数据的数据标识。若分布式调度系统监测到某个存储客户端处于异常状态时,在Hbase数据库的断点文件中查找断点信息,获取该处于异常状态的存储客户端提交的上一批次数据的数据标识。
S104、将上一批次后的数据重新分发给处于正常状态的数据存储客户端。
具体的,上述步骤S103分布式调度系统查询到处于异常状态的存储客户端提交的上一批次数据的数据标识,将上一批次以后的数据,即当前批次和当前批次后的数据重新分发给处于正常状态的存储客户端进行数据写入,由正常的存储客户端将分发的数据处理后提交给Hbase数据库。
实施例二、一种基于分布式存储的数据恢复装置。下面结合图4对本发明提供的装置进行说明。
图4中,本发明提供的装置包括第一数据分发模块401、查找模块402、断点信息写入模块403、数据标识查询模块404和第二数据分发模块405。
其中,第一数据分发模块401主要用于调用分布式调度系统分批向数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态。
具体的,分布式存储数据写入时,设置于分布式调度系统中的第一数据分发模块401将大量数据分批发送给数据存储客户端,其中,数据存储客户端为多个,一个存储客户端可以作为一个存储节点,分布式调度系统可以采取预定策略将大量的数据分发给不同的数据存储客户端,数据存储客户端接收到分布式调度系统分发的数据,对数据进行处理,存储客户端将处理后的数据提交给数据库。在第一数据分发模块401将数据分发给存储客户端的同时,监测各存储客户端的异常状态。
需要说明的是,本实施例中的数据库是基于Hbase的数据库,Hbase存 入数据是以Key-value的形式存储数据的。Hbase采用Key值来唯一标识一条数据,利用了Key值的不变性来保证数据恢复的一致性。其中,Key值的设计可以包括关键内容与MD5码的组合,MD5码是基于整条数据的编码,整条数据和编码的结果存在一一对应关系,从而保证数据重入恢复的一致性。
另外,由于hbase有版本概念,各个存储客户端提交给Hbase数据库的数据可以存储多个版本。因此,为了使存储客户端写入数据恢复时不重复写入,设置Hbase数据库的版本数为1,即保证只有一个版本有效,这样即使存储客户端重入相同的数据也不会出现重复数据。在数据按照批次进行恢复时,Hbase数据库的断点机制就保证了数据完整性和不重复性。
查找模块402主要用于在第一数据分发模块401监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端。
具体的,分布式调度系统监测每个存储客户端的异常状态,当监测到存储客户端处于异常状态时,比如,存储客户端连接异常或存储客户端出现宕机的情况,分布式调度系统中的查找模块402会在存储客户端集群中查询处于正常状态的存储客户端。
断点信息写入模块403主要用于当数据存储客户端分批将数据成功提交给Hbase数据库时,在数据库中写入断点信息,所述断点信息包含该数据存储客户端处理的各批数据的数据标识。
数据标识获取模块404主要用于查询处于异常状态的存储客户端处理的上一批次数据的数据标识。
具体的,需要说明的是,在数据写入的过程中,当存储客户端将当前批次的数据提交给Hbase数据库时,断点信息写入模块403会在Hbase数据库中写入断点信息,并保存于断点文件中,其中,断点信息包括该批次的数据提交Hbase数据库提交成功的信息、提交数据的存储客户端的标识以及该批次数据的数据标识。若分布式调度系统监测到某个存储客户端处于异常状态 时,数据标识查询模块404在Hbase数据库的断点文件中查找断点信息,获取该处于异常状态的存储客户端提交的上一批次数据的数据标识。
第二数据分发模块405主要用于将上一批次后的数据重新分发给处于正常状态的数据存储客户端。
具体的,数据标识获取模块404查询到处于异常状态的存储客户端提交的上一批次数据的数据标识,第二数据分发模块405将上一批次以后的数据,即当前批次和当前批次后的数据重新分发给处于正常状态的存储客户端进行数据写入,由正常的存储客户端将分发的数据处理后提交给Hbase数据库。
本发明提供的一种基于分布式存储的数据恢复方法及装置,通过获取处于异常状态的数据存储客户端写入的断点信息,通过断点信息获取异常数据存储客户端处理的上一批次的数据标识,然后将上一批次之后的数据重新分发给处于正常状态的数据存储客户端,对数据进行重新写入,来实现分布式存储过程中的存储客户端写入数据恢复,在不增加额外设备的基础上,保障数据写入的一致性和完整性;在某些存储客户端发生异常的情况下,不会因为异常而影响正常的服务功能;另外,不需要增加额外的设备即可实现数据的恢复,减少了成本。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

一种基于分布式存储的数据恢复方法及装置.pdf_第1页
第1页 / 共10页
一种基于分布式存储的数据恢复方法及装置.pdf_第2页
第2页 / 共10页
一种基于分布式存储的数据恢复方法及装置.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种基于分布式存储的数据恢复方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种基于分布式存储的数据恢复方法及装置.pdf(10页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 104360915 A(43)申请公布日 2015.02.18CN104360915A(21)申请号 201410601850.7(22)申请日 2014.10.31G06F 11/14(2006.01)G06F 17/30(2006.01)(71)申请人北京思特奇信息技术股份有限公司地址 100086 北京市海淀区中关村南大街6号中电信息大厦16层(72)发明人杜旭苗(74)专利代理机构北京轻创知识产权代理有限公司 11212代理人杨立(54) 发明名称一种基于分布式存储的数据恢复方法及装置(57) 摘要本发明公开了一种基于分布式存储的数据恢复方法及装置,其中,基于。

2、分布式存储的数据恢复方法包括:分布式调度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态;在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端;查询处于异常状态的存储客户端处理的上一批次待存储数据的数据标识;将上一批次后的待存储数据重新分发给处于正常状态的数据存储客户端。通过本发明提供的数据恢复方法,在不需要增加额外设备的基础上,保障数据写入的一致性和完整性;也不会因为存储客户端的异常影响正常的服务。(51)Int.Cl.权利要求书2页 说明书4页 附图3页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书4页 附。

3、图3页(10)申请公布号 CN 104360915 ACN 104360915 A1/2页21.一种基于分布式存储的数据恢复方法,其特征在于,包括:步骤S101、分布式调度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态;步骤S102、在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端;步骤S103、查询处于异常状态的存储客户端处理的上一批次待存储数据的数据标识;步骤S104、将上一批次后的待存储数据重新分发给处于正常状态的数据存储客户端。2.如权利要求1所述的数据恢复方法,其特征在于,还包括:当所述数据存储客户端将分布式调度系统分批分发的。

4、待存储数据成功提交给Hbase数据库时,在Hbase数据库中写入断点信息,所述断点信息包含该数据存储客户端提交给Hbase数据库的各批待存储数据的数据标识;所述步骤S103包括:在Hbase数据库中查找处于异常状态的数据存储客户端的断点信息,获取该数据客户端处理的上一批次待存储数据的数据标识。3.如权利要求2所述的数据恢复方法,其特征在于,预先设置Hbase数据库的版本数为1。4.如权利要求1或2所述的数据恢复方法,其特征在于,所述待存储数据中的每条数据记录具有数据记录唯一标识,所述数据记录唯一标识为该数据记录关键词与MD5码的组合。5.一种基于分布式存储的数据恢复装置,其特征在于,包括:第一。

5、数据分发模块,用于调用分布式调度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态;查找模块,用于在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端;数据标识查询模块,用于查询处于异常状态的存储客户端处理的上一批次待存储数据的数据标识;第二数据分发模块,用于将上一批次后的待存储数据重新分发给处于正常状态的数据存储客户端。6.如权利要求5所述的数据恢复装置,其特征在于,还包括:断点信息写入模块,用于当所述数据存储客户端将分布式调度系统分批分发的待存储数据成功提交给Hbase数据库时,在Hbase数据库中写入断点信息,所述断点信息包含该数据存储客。

6、户端提交给Hbase数据库的各批待存储数据的数据标识;所述数据标识查询模块,用于查询处于异常状态的数据存储客户端处理的上一批次待存储数据的数据标识具体包括:在Hbase数据库中查找处于异常状态的数据存储客户端的断点信息,获取该数据客户端处理的上一批次待存储数据的数据标识。7.如权利要求6所述的数据恢复装置,其特征在于,预先设置Hbase数据库的版本数为1。8.如权利要求5或6所述的数据恢复装置,其特征在于,所述所述待存储数据中的每条权 利 要 求 书CN 104360915 A2/2页3数据记录具有数据记录唯一标识,所述数据记录唯一标识为该数据记录关键词与MD5码的组合。权 利 要 求 书CN。

7、 104360915 A1/4页4一种基于分布式存储的数据恢复方法及装置技术领域0001 本发明涉及数据存储技术领域,具体涉及一种基于分布式存储的数据恢复方法及装置。背景技术0002 分布式存储技术就是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。0003 为了保证分布式存储系统数据的一致性和完整性,当存储服务器出现。

8、异常时,需要采用一定的方法进行数据的恢复。目前,常用的方法是存储服务器将内存中的数据备份到存储介质,当存储服务器从异常恢复,重新启动时,存储服务器从存储介质中获取备份的数据。0004 采用备份数据的方法实现数据的恢复,由于存储服务器发生异常到恢复的过程需要一段时间,在这段时间内,存储服务器无法提供服务,对服务需求会产生影响;另外,该方法实现数据的恢复需要额外增加存储介质,增加的成本。发明内容0005 本发明所要解决的技术问题是提供一种基于分布式存储的数据恢复方法及装置,能够实现分布式存储的数据恢复。0006 依据本发明的一个方面,提供了一种基于分布式存储的数据恢复方法,包括:0007 分布式调。

9、度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态;0008 在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端;0009 查询处于异常状态的存储客户端处理的上一批次数据的数据标识;0010 将上一批次后的数据重新分发给处于正常状态的数据存储客户端。0011 依据本发明的另一个方面,提供了一种基于分布式存储的数据恢复装置,包括:0012 第一数据分发模块,用于调用分布式调度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态;0013 查找模块,用于在监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存。

10、储客户端;0014 数据标识查询模块,用于查询处于异常状态的存储客户端处理的上一批次数据的数据标识;0015 第二数据分发模块,用于将上一批次后的数据重新分发给处于正常状态的数据存说 明 书CN 104360915 A2/4页5储客户端。0016 本发明提供的一种基于分布式存储的数据恢复方法及装置,通过获取处于异常状态的数据存储客户端写入的断点信息,通过断点信息获取异常数据存储客户端处理的上一批次的数据标识,然后将上一批次后的数据重新分发给处于正常状态的数据存储客户端,对数据进行重新写入,来实现分布式存储过程中的客户端写入数据恢复,在不需要增加额外设备的基础上,保障数据写入的一致性和完整性。附。

11、图说明0017 图1为本发明实施例一的一种基于分布式存储的数据恢复方法流程图;0018 图2为本发明的数据写入过程的总体架构图;0019 图3为本发明实施例一的一种基于分布式存储的数据恢复方法的具体实例流程图;0020 图4为本发明实施例二的一种基于分布式存储的数据恢复装置示意图。具体实施方式0021 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。0022 实施例一、一种基于分布式存储的数据恢复方法。下面结合图1-图3对本发明提供的方法进行详细说明。0023 图1中,S101、分布式调度系统分批向若干数据存储客户端分发待存储数据,并监测各数据存储。

12、客户端的异常状态。0024 具体的,参见图2,首先介绍一下分布式存储时数据写入的过程,分布式调度系统将大量数据分批发送给数据存储客户端,其中,数据存储客户端为多个,一个存储客户端可以作为一个存储节点,分布式调度系统可以采取预定策略将大量的数据分发给不同的数据存储客户端,数据存储客户端接收到分布式调度系统分发的数据,对数据进行处理,比如说按照业务要求将数据进行分类处理,或者按照数据格式要求对数据进行处理,存储客户端将处理后的数据提交给数据库,数据库进行数据的处理后,将数据物化到HDFS(Hadoop Distributed File System,分布式文件系统)中,即将数据存储于分布式文件系统。

13、中。0025 需要说明的是,本实施例中的数据库是基于Hbase的数据库,Hbase存入数据是以Key-value的形式存储数据的。Hbase采用Key值来唯一标识一条数据,利用了Key值的不变性来保证数据恢复的一致性。其中,Key值的设计可以包括关键内容与MD5码的组合,MD5码是基于整条数据的编码,整条数据和编码的结果存在一一对应关系,从而保证数据重入恢复的一致性。0026 另外,由于hbase有版本概念,各个存储客户端提交给Hbase数据库的数据可以存储多个版本。因此,为了使存储客户端写入数据恢复时不重复写入,设置Hbase数据库的版本数为1,即保证只有一个版本有效,这样即使存储客户端重入。

14、相同的数据也不会出现重复数据。在数据按照批次进行恢复时,Hbase数据库的断点机制就保证了数据完整性和不重复性。0027 在数据写入的过程中,可以分为存储客户端写入数据恢复,即在存储客户端将数说 明 书CN 104360915 A3/4页6据提交给Hbase数据库的过程中,进行数据的恢复;或者入库的数据恢复,即存储客户端已经将数据提交给Hbase数据库后进行数据的恢复。0028 本实施例主要设计了存储客户端写入数据恢复的方法,参见图3,图3为存储客户端写入数据恢复的流程图,分布式调度系统分批向存储客户端分发数据,并监测各个存储客户端的异常状态。0029 S102、在监测到数据存储客户端处于异常。

15、状态的情况下,查找处于正常状态的数据存储客户端。0030 具体的,上述步骤中分布式调度系统监测每个存储客户端的异常状态,当监测到存储客户端处于异常状态时,比如,存储客户端连接异常或存储客户端出现宕机的情况,分布式调度系统会在存储客户端集群中查询处于正常状态的存储客户端。0031 S103、查询处于异常状态的存储客户端处理的上一批次数据的数据标识。0032 具体的,需要说明的是,在数据写入的过程中,当存储客户端将当前批次的数据提交给Hbase数据库时,会在Hbase数据库中写入断点信息,并保存于断点文件中,其中,断点信息包括该批次的数据提交Hbase数据库提交成功的信息、提交数据的存储客户端的标。

16、识以及该批次数据的数据标识。若分布式调度系统监测到某个存储客户端处于异常状态时,在Hbase数据库的断点文件中查找断点信息,获取该处于异常状态的存储客户端提交的上一批次数据的数据标识。0033 S104、将上一批次后的数据重新分发给处于正常状态的数据存储客户端。0034 具体的,上述步骤S103分布式调度系统查询到处于异常状态的存储客户端提交的上一批次数据的数据标识,将上一批次以后的数据,即当前批次和当前批次后的数据重新分发给处于正常状态的存储客户端进行数据写入,由正常的存储客户端将分发的数据处理后提交给Hbase数据库。0035 实施例二、一种基于分布式存储的数据恢复装置。下面结合图4对本发。

17、明提供的装置进行说明。0036 图4中,本发明提供的装置包括第一数据分发模块401、查找模块402、断点信息写入模块403、数据标识查询模块404和第二数据分发模块405。0037 其中,第一数据分发模块401主要用于调用分布式调度系统分批向数据存储客户端分发待存储数据,并监测各数据存储客户端的异常状态。0038 具体的,分布式存储数据写入时,设置于分布式调度系统中的第一数据分发模块401将大量数据分批发送给数据存储客户端,其中,数据存储客户端为多个,一个存储客户端可以作为一个存储节点,分布式调度系统可以采取预定策略将大量的数据分发给不同的数据存储客户端,数据存储客户端接收到分布式调度系统分发。

18、的数据,对数据进行处理,存储客户端将处理后的数据提交给数据库。在第一数据分发模块401将数据分发给存储客户端的同时,监测各存储客户端的异常状态。0039 需要说明的是,本实施例中的数据库是基于Hbase的数据库,Hbase存入数据是以Key-value的形式存储数据的。Hbase采用Key值来唯一标识一条数据,利用了Key值的不变性来保证数据恢复的一致性。其中,Key值的设计可以包括关键内容与MD5码的组合,MD5码是基于整条数据的编码,整条数据和编码的结果存在一一对应关系,从而保证数据重入恢复的一致性。说 明 书CN 104360915 A4/4页70040 另外,由于hbase有版本概念,。

19、各个存储客户端提交给Hbase数据库的数据可以存储多个版本。因此,为了使存储客户端写入数据恢复时不重复写入,设置Hbase数据库的版本数为1,即保证只有一个版本有效,这样即使存储客户端重入相同的数据也不会出现重复数据。在数据按照批次进行恢复时,Hbase数据库的断点机制就保证了数据完整性和不重复性。0041 查找模块402主要用于在第一数据分发模块401监测到数据存储客户端处于异常状态的情况下,查找处于正常状态的数据存储客户端。0042 具体的,分布式调度系统监测每个存储客户端的异常状态,当监测到存储客户端处于异常状态时,比如,存储客户端连接异常或存储客户端出现宕机的情况,分布式调度系统中的查。

20、找模块402会在存储客户端集群中查询处于正常状态的存储客户端。0043 断点信息写入模块403主要用于当数据存储客户端分批将数据成功提交给Hbase数据库时,在数据库中写入断点信息,所述断点信息包含该数据存储客户端处理的各批数据的数据标识。0044 数据标识获取模块404主要用于查询处于异常状态的存储客户端处理的上一批次数据的数据标识。0045 具体的,需要说明的是,在数据写入的过程中,当存储客户端将当前批次的数据提交给Hbase数据库时,断点信息写入模块403会在Hbase数据库中写入断点信息,并保存于断点文件中,其中,断点信息包括该批次的数据提交Hbase数据库提交成功的信息、提交数据的存。

21、储客户端的标识以及该批次数据的数据标识。若分布式调度系统监测到某个存储客户端处于异常状态时,数据标识查询模块404在Hbase数据库的断点文件中查找断点信息,获取该处于异常状态的存储客户端提交的上一批次数据的数据标识。0046 第二数据分发模块405主要用于将上一批次后的数据重新分发给处于正常状态的数据存储客户端。0047 具体的,数据标识获取模块404查询到处于异常状态的存储客户端提交的上一批次数据的数据标识,第二数据分发模块405将上一批次以后的数据,即当前批次和当前批次后的数据重新分发给处于正常状态的存储客户端进行数据写入,由正常的存储客户端将分发的数据处理后提交给Hbase数据库。00。

22、48 本发明提供的一种基于分布式存储的数据恢复方法及装置,通过获取处于异常状态的数据存储客户端写入的断点信息,通过断点信息获取异常数据存储客户端处理的上一批次的数据标识,然后将上一批次之后的数据重新分发给处于正常状态的数据存储客户端,对数据进行重新写入,来实现分布式存储过程中的存储客户端写入数据恢复,在不增加额外设备的基础上,保障数据写入的一致性和完整性;在某些存储客户端发生异常的情况下,不会因为异常而影响正常的服务功能;另外,不需要增加额外的设备即可实现数据的恢复,减少了成本。0049 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说 明 书CN 104360915 A1/3页8图1图2说 明 书 附 图CN 104360915 A2/3页9图3说 明 书 附 图CN 104360915 A3/3页10图4说 明 书 附 图CN 104360915 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1