一种数据恢复方法及分布式数据恢复系统技术方案

技术编号:24995504 阅读:46 留言:0更新日期:2020-07-24 17:58
本发明专利技术实施例提供了一种数据恢复方法及分布式数据恢复系统,包括:管理节点检测到有数据存储节点存在数据对象丢失时,从多个数据存储节点中确定目的节点,生成数据恢复指令,将数据恢复指令发送至目的节点;目的节点根据接收到的数据恢复指令中的源数据节点信息,确定用于恢复待恢复丢失数据对象中各条待恢复数据的数据恢复索引,基于数据恢复索引向源数据节点发送数据恢复请求,并根据源数据节点返回的源数据对象数据,对至少两条待恢复数据进行恢复,直至待恢复丢失数据对象中的各条待恢复数据均恢复完成。本发明专利技术实施例,能够减少数据恢复的时间,提高数据的安全性。

【技术实现步骤摘要】
一种数据恢复方法及分布式数据恢复系统
本专利技术涉及数据处理
,特别是涉及一种数据恢复方法及分布式数据恢复系统。
技术介绍
随着大数据时代的到来,数据的使用量成倍增长,使得对数据的存储和恢复有着越来越高的要求。对象存储,也叫做基于对象的存储,是一种非结构化数据的存储方式。分布式存储将不同存储节点如服务器上的空闲磁盘通过网络连接在一起,并对外提供统一的存储接口。分布式对象存储系统可以在一个持久稳固且高度可用的系统中存储任意的对象,用户和应用等可以在对象存储中使用简单的API(ApplicationProgrammingInterface,应用程序接口)访问数据对象,例如,该数据对象可以为一个数据块等。分布式对象存储系统中最常见的两种数据冗余技术是多副本策略和纠删码技术,相比于多副本策略,纠删码技术具有更高的磁盘利用率。纠删码技术主要是通过纠删码算法将原始的数据块进行编码得到校验块,并将数据块和校验块一并存储起来,以达到数据容错的目的。现有使用纠删码技术对分布式对象存储系统中丢失的数据进行恢复的方法为:当管理节点检测到存在数据块丢失时,随机选择一个数据存储节点作为数据恢复节点,并向该数据恢复节点发送数据恢复指令;数据恢复节点接收到数据恢复指令后,向数据恢复指令中携带的数据源节点标识对应的数据源节点发送数据获取请求,进而接收数据源节点返回的数据,对接收的数据使用EC(ErasureCode,纠删码)技术进行编解码处理,以恢复丢失的数据块。实际应用中,丢失的数据块中可能包含成千上万条数据,使用现有的数据恢复方法,在数据恢复节点向数据源节点发送数据获取请求时,是基于数据源节点中存储的数据块对应的索引信息,逐条向数据源节点发送数据获取请求的,其中,索引信息表示了数据源节点中数据存储的组织方式,每一个数据获取请求用于请求一条数据,数据恢复节点在接收数据源节点返回的一条数据后,恢复一条丢失数据,再向数据源节点发送下一条数据获取请求,至所有丢失数据都得到恢复,进而得到整个丢失数据块的恢复数据。在此过程中,因需要逐条向数据源节点发送数据获取请求,对丢失数据块中的数据进行逐条恢复,即对一条数据恢复之后再请求恢复下一条数据,使得数据恢复的时间较长,导致丢失的数据块长时间处于缺失的状态,影响数据的安全性。
技术实现思路
本专利技术实施例的目的在于提供一种数据恢复方法及分布式数据恢复系统,能够减少数据恢复的时间,提高数据的安全性。具体技术方案如下:第一方面,本专利技术实施例提供了一种数据恢复方法,应用于分布式对象存储系统中的管理节点,所述分布式对象存储系统包括:管理节点和多个数据存储节点,所述方法包括:当检测到有所述数据存储节点存在数据对象丢失时,从所述多个数据存储节点中确定目的节点;生成数据恢复指令,所述数据恢复指令中包含:待恢复丢失数据对象所属的源数据节点信息,所述待恢复丢失数据对象包含至少两条待恢复数据,所述源数据节点为多个所述数据存储节点中的至少一个;将所述数据恢复指令发送至所述目的节点,使所述目的节点根据接收到的所述数据恢复指令中的所述源数据节点信息,确定用于恢复所述待恢复丢失数据对象中各条待恢复数据的数据恢复索引,基于所述数据恢复索引向所述源数据节点发送数据恢复请求,所述数据恢复请求用于请求至少两条待恢复数据对应的源数据对象数据,并根据所述源数据节点返回的源数据对象数据,对所述至少两条待恢复数据进行恢复。可选的,所述方法还包括:接收所述目的节点发送的待恢复丢失数据对象数据恢复完成的消息。第二方面,本专利技术实施例提供了一种数据恢复方法,应用于分布式对象存储系统中的数据存储节点,所述分布式对象存储系统包括:管理节点和多个数据存储节点,所述方法包括:接收所述管理节点发送的数据恢复指令,所述数据恢复指令中包含:待恢复丢失数据对象所属的源数据节点信息,所述待恢复丢失数据对象包含至少两条待恢复数据,所述源数据节点为多个所述数据存储节点中的至少一个;根据接收到的所述数据恢复指令中的所述源数据节点信息,确定用于恢复所述待恢复丢失数据对象中各条待恢复数据的数据恢复索引;基于所述数据恢复索引向所述源数据节点发送数据恢复请求,所述数据恢复请求用于请求至少两条待恢复数据对应的源数据对象数据;根据所述源数据节点返回的源数据对象数据,对所述至少两条待恢复数据进行恢复。可选的,所述源数据节点信息包括:所述源数据节点中源数据对象的数据索引,所述数据索引包含所述源数据节点中源数据对象数据的存储方式;所述根据接收到的所述数据恢复指令中的所述源数据节点信息,确定用于恢复所述待恢复丢失数据对象中各条待恢复数据的数据恢复索引的步骤,包括:基于所述源数据节点中源数据对象数据的存储方式,按照预设选取方式,确定用于恢复所述待恢复丢失数据对象中各条待恢复数据的数据恢复索引。可选的,所述源数据节点信息包括:源数据节点标识,所述基于所述数据恢复索引向所述源数据节点发送数据恢复请求的步骤,包括:基于所述数据恢复索引及预设并发数量,生成用于请求所述并发数量条源数据对象数据的数据恢复请求,所述并发数量为大于1的整数;向所述源数据节点标识对应的源数据节点,发送所述数据恢复请求,以使所述源数据节点读取所述数据恢复请求对应的源数据对象数据。可选的,所述源数据节点信息包括:源数据节点标识,所述基于所述数据恢复索引向所述源数据节点发送数据恢复请求的步骤,包括:基于所述数据恢复索引及预设长度,得到预设长度的滑动数据恢复请求队列,所述滑动数据恢复请求队列中包含预设长度个数据恢复请求,每一数据恢复请求用于请求一条待恢复数据对应的源数据对象数据;向所述源数据节点标识对应的源数据节点,发送所述滑动数据恢复请求队列中包含的所有数据恢复请求,以使所述源数据节点读取所述滑动数据恢复请求队列中包含的每一数据恢复请求对应的源数据对象数据。可选的,所述方法还包括:在接收到任一所述数据恢复请求对应的源数据对象数据时,更新所述滑动数据恢复请求队列,保持所述滑动数据恢复请求队列长度不变。可选的,所述根据所述源数据节点返回的源数据对象数据,对所述至少两条待恢复数据进行恢复的步骤,包括:接收所述源数据节点返回的源数据对象数据;对接收的所述源数据对象数据使用纠删码技术编解码处理,得到所述源数据对象数据对应的恢复数据。可选的,所述方法还包括:基于所述数据恢复索引,对所述待恢复丢失数据对象对应的恢复数据进行存储。可选的,所述方法还包括:将待恢复丢失数据对象数据恢复完成的消息发送至所述管理节点。第三方面,本专利技术实施例提供了一种分布式数据恢复系统,所述分布式数据恢复系统包括:管理节点和多个数据存储节点;所述管理节点,用于在检测到有所述数据存储节点存在数据对象丢失时,从所述多个数据存储节点中确定目的节点,生成数据恢复指令,将所述数据恢复指令发送至所述目的节点;所述数据恢复指令中包含:待恢复丢失数据本文档来自技高网
...

【技术保护点】
1.一种数据恢复方法,其特征在于,应用于分布式对象存储系统中的管理节点,所述分布式对象存储系统包括:管理节点和多个数据存储节点,所述方法包括:/n当检测到有所述数据存储节点存在数据对象丢失时,从所述多个数据存储节点中确定目的节点;/n生成数据恢复指令,所述数据恢复指令中包含:待恢复丢失数据对象所属的源数据节点信息,所述待恢复丢失数据对象包含至少两条待恢复数据,所述源数据节点为多个所述数据存储节点中的至少一个;/n将所述数据恢复指令发送至所述目的节点,使所述目的节点根据接收到的所述数据恢复指令中的所述源数据节点信息,确定用于恢复所述待恢复丢失数据对象中各条待恢复数据的数据恢复索引,基于所述数据恢复索引向所述源数据节点发送数据恢复请求,所述数据恢复请求用于请求至少两条待恢复数据对应的源数据对象数据,并根据所述源数据节点返回的源数据对象数据,对所述至少两条待恢复数据进行恢复。/n

【技术特征摘要】
1.一种数据恢复方法,其特征在于,应用于分布式对象存储系统中的管理节点,所述分布式对象存储系统包括:管理节点和多个数据存储节点,所述方法包括:
当检测到有所述数据存储节点存在数据对象丢失时,从所述多个数据存储节点中确定目的节点;
生成数据恢复指令,所述数据恢复指令中包含:待恢复丢失数据对象所属的源数据节点信息,所述待恢复丢失数据对象包含至少两条待恢复数据,所述源数据节点为多个所述数据存储节点中的至少一个;
将所述数据恢复指令发送至所述目的节点,使所述目的节点根据接收到的所述数据恢复指令中的所述源数据节点信息,确定用于恢复所述待恢复丢失数据对象中各条待恢复数据的数据恢复索引,基于所述数据恢复索引向所述源数据节点发送数据恢复请求,所述数据恢复请求用于请求至少两条待恢复数据对应的源数据对象数据,并根据所述源数据节点返回的源数据对象数据,对所述至少两条待恢复数据进行恢复。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述目的节点发送的待恢复丢失数据对象数据恢复完成的消息。


3.一种数据恢复方法,其特征在于,应用于分布式对象存储系统中的数据存储节点,所述分布式对象存储系统包括:管理节点和多个数据存储节点,所述方法包括:
接收所述管理节点发送的数据恢复指令,所述数据恢复指令中包含:待恢复丢失数据对象所属的源数据节点信息,所述待恢复丢失数据对象包含至少两条待恢复数据,所述源数据节点为多个所述数据存储节点中的至少一个;
根据接收到的所述数据恢复指令中的所述源数据节点信息,确定用于恢复所述待恢复丢失数据对象中各条待恢复数据的数据恢复索引;
基于所述数据恢复索引向所述源数据节点发送数据恢复请求,所述数据恢复请求用于请求至少两条待恢复数据对应的源数据对象数据;
根据所述源数据节点返回的源数据对象数据,对所述至少两条待恢复数据进行恢复。


4.根据权利要求3所述的方法,其特征在于,所述源数据节点信息包括:所述源数据节点中源数据对象的数据索引,所述数据索引包含所述源数据节点中源数据对象数据的存储方式;
所述根据接收到的所述数据恢复指令中的所述源数据节点信息,确定用于恢复所述待恢复丢失数据对象中各条待恢复数据的数据恢复索引的步骤,包括:
基于所述源数据节点中源数据对象数据的存储方式,按照预设选取方式,确定用于恢复所述待恢复丢失数据对象中各条待恢复数据的数据恢复索引。


5.根据权利要求3所述的方法,其特征在于,所述源数据节点信息包括:源数据节点标识,所述基于所述数据恢复索引向所述源数据节点发送数据恢复请求的步骤,包括:
基于所述数据恢复索引及预设并发数量,生成用于请求所述并发数量条源数据对象数据的数据恢复请求,所述并发数量为大于1的整数;
向所述源数据节点标识对应的源数据节点,发送所述数据恢复请求,以使所述源数据节点读取所述数据恢复请求对应的源数据对象数据。


6.根据权利要求3所述的方法,其特征在于,所述源数据节点信息包括:源数据节点标识,所述基于所述数据恢复索引向所述源数据节点发送数据恢复请求的步骤,包括:
基于所述数据恢复索引及预设长度,得到预设长度的滑动数据恢复请求队列,所述滑动数据恢复请求队列中包含预设长度个数据恢复请求,每一数据恢复请求用于请求一条待恢复数据对应的源数据对象数据;
向所述源数据节点标识对应的源数据节点,发送所述滑动数据恢复请求队列中包含的所有数据恢复请求,以使所述源数据节点读取所述滑动数据恢复请求队列中包含的每一数据恢复请求对应的源数据对象数据。


7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在接收到任一所述数据恢复请求对应的源数据对象数据时,更新所述滑动数据恢复请求队列,保持所述滑动数据恢复请求队列长度不变。


8.根据权利要求3-7任一所述的方法,其特征在于,所述根据所述源数据节点返回的源数据对象数据,对所述至少两条待恢复数据进行恢复的步骤,包括:
接收所述源数据节点返回的源数据对象数据;
对接收的所述源数据对象数据使用纠删码技术编解码处理,得到所述源数据对象数据对应的恢复数据。


9.根据权利要求3所述的方法,其特征在于,所述方法还包括:
基于所述数据恢复索引,对所述待恢复丢失数据对象对应的恢复数据进行存储。

【专利技术属性】
技术研发人员:甘红星
申请(专利权)人:北京金山云科技有限公司北京金山云网络技术有限公司
类型:发明
国别省市:北京;11

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

1