【技术实现步骤摘要】
对象的恢复方法和装置、电子设备和存储介质
本申请涉及数据处理领域,尤其涉及一种对象的恢复方法和装置、电子设备和存储介质。
技术介绍
分布式存储系统中可以采用EC(ErasureCoding,纠删)块的方式进行数据存储。EC码是一种冗余方式,可以把数据切成m个数据块,对m个数据块生成m个校验块,共得到(m+n)个纠删块,每个纠删块(可以是数据块,也可以是校验块)可以存储在不同的数据节点上,可使系统最多容忍n个纠删块的丢失。目前,分布式存储系统的纠删块的恢复流程都是按照对象的粒度执行的。待恢复的纠删块中可以包含多个对象的分片(分片数据),每个对象逐个到其他所有副本上读取该对象的其他分片;之后利用纠删的方式在本地进行恢复(恢复出该对象在本节点上的分片)、校验(对该对象进行校验)、写入(将恢复出的分片写入到本地存储中),之后再进行下一个对象的恢复,直到这个纠删块上所有的对象全部恢复完成。比如,对于8+4的纠删模式(8个数据块,4个校验块),如果需要恢复其中的一个纠删块上的对象,可以从其他至少8个副本中读取该对象的其他对象数据,并利用纠删的方式在本地进行恢复、校验、写入。上述恢复纠删块的方式,如果要恢复的对象较多,则会导致整个恢复流程时间很长,整个服务在恢复期间可用性下降,低可用性时间也会增长。并且,恢复的时间过长也会在恢复期间影响整个服务的读写的质量。因此,相关技术中恢复纠删块中的对象的方式存在由于恢复流程时间过长导致的在恢复期间服务的可用性下降的问题。
技术实现思路
本申 ...
【技术保护点】
1.一种对象的恢复方法,其特征在于,包括:/n向多个第一节点分别发送对象标识集合,其中,所述对象标识集合包含用于标识第二节点的目标纠删块中待恢复的多个目标对象的多个对象标识,多个所述对象标识与多个所述目标对象一一对应;/n接收各个所述第一节点根据所述对象标识集合返回的、各个所述目标对象的第一分片,得到各个所述目标对象的分片集合,其中,各个所述目标对象的第一分片为存储在各个所述第一节点上的各个所述目标对象的分片;/n使用各个所述目标对象的分片集合对各个所述目标对象进行纠删恢复,得到各个所述目标对象的第二分片,其中,各个所述目标对象的第二分片为各个所述目标对象在所述目标纠删块中的分片。/n
【技术特征摘要】
1.一种对象的恢复方法,其特征在于,包括:
向多个第一节点分别发送对象标识集合,其中,所述对象标识集合包含用于标识第二节点的目标纠删块中待恢复的多个目标对象的多个对象标识,多个所述对象标识与多个所述目标对象一一对应;
接收各个所述第一节点根据所述对象标识集合返回的、各个所述目标对象的第一分片,得到各个所述目标对象的分片集合,其中,各个所述目标对象的第一分片为存储在各个所述第一节点上的各个所述目标对象的分片;
使用各个所述目标对象的分片集合对各个所述目标对象进行纠删恢复,得到各个所述目标对象的第二分片,其中,各个所述目标对象的第二分片为各个所述目标对象在所述目标纠删块中的分片。
2.根据权利要求1所述的方法,其特征在于,接收各个所述第一节点根据所述对象标识集合返回的、各个所述目标对象的第一分片,得到各个所述目标对象的分片集合包括:
在已接收到的、第一目标对象的第一分片的数量大于或者等于目标数量阈值的情况下,确定已接收到所述第一目标对象的分片集合,其中,第一目标对象为多个所述目标对象中的一个。
3.根据权利要求1所述的方法,其特征在于,使用各个所述目标对象的分片集合对各个所述目标对象进行纠删恢复,得到各个所述目标对象的第二分片包括:
通过多个线程中的目标线程使用第二目标对象的分片集合对所述第二目标对象进行纠删恢复,得到所述第二目标对象的候选分片,其中,所述第二目标对象为已接收到对应的分片集合的一个所述目标对象,所述多个线程用于对已接收到对应的分片集合的所述目标对象进行并行纠删恢复;
根据所述第二目标对象的分片集合、以及所述第二目标对象的候选分片对所述第二目标对象进行校验;
在对所述第二目标对象校验通过的情况下,将所述第二目标对象的候选分片确定为所述第二目标对象的第二分片。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在使用各个所述目标对象的分片集合对各个所述目标对象进行纠删恢复,得到各个所述目标对象的第二分片之后,所述方法还包括:
按照目标写入顺序,将各个所述目标对象的第二分片依次写入到所述第二节点的磁盘中,其中,所述目标写入顺序为多个所述目标对象在所述目标纠删块中的顺序。
5.根据权利要求4所述的方法,其特征在于,按照所述目标写入顺序,将各个所述目标对象的第二分片依次写入到所述第二节点的磁盘中包括:
按照所述目标写入顺序,确定第三目标对象的对象标识,其中,所述第三目标对象为当前待写入的所述目标对象,写入顺序位于所述第三目标对象之前的所述目标对象的第二分片都已写入到所述第二节点的磁盘中;
以所述第三目标对象的对象标识为关键字查找目标映射表,其中,所述目标映射表用于以各个所述目标对象的对象标识为关键字、以各个所述目标对象的第二分片作为值存储各个所述目标对象的第二分片;
在从所述目标映射表中查找到所述第三目标对象的第二分片的情况下,将所述第三目标对象的第二分片写入到所述第二节点的磁盘中。
6.根据权利要求5所述的方法,其特征在于,按照所述目标写入顺序,将各个所述目标对象的第二分片依次写入到所述第二节点的磁盘中还包括:
在以所述第三目标对象的对象标识为关键字查找所述目标映射表之后,在从所述目标映射表中未查找到所述第三目标对象的第二分片的情况下,每隔目标时间间隔重新以所述第三目标对象的对象标识为关键字查找一次所述目标映射表,直到查找到所述第三目标对象的第二分片;
将所述第三目标对象的第二分片写入到所述第二节点的磁盘中。
7.一种对象的恢复方法,其特征在于,包括:
通过第一节点接收第二节点发送的对象标识集合,其中,所述对象标识集合包含用于标识第二节点的目标纠删块中待恢复...
【专利技术属性】
技术研发人员:张丞,
申请(专利权)人:北京金山云网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。