CN117130830A - 对象的数据恢复方法、装置、计算机设备及存储介质 - Google Patents
对象的数据恢复方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117130830A CN117130830A CN202311099960.3A CN202311099960A CN117130830A CN 117130830 A CN117130830 A CN 117130830A CN 202311099960 A CN202311099960 A CN 202311099960A CN 117130830 A CN117130830 A CN 117130830A
- Authority
- CN
- China
- Prior art keywords
- data
- restored
- storage device
- target object
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000011084 recovery Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 51
- 230000015654 memory Effects 0.000 claims description 26
- 230000015556 catabolic process Effects 0.000 claims description 3
- 238000006731 degradation reaction Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明涉及计算机技术领域,公开了对象的数据恢复方法、装置、计算机设备及存储介质,包括:监测放置群组中每一个备存储设备的设备状态;当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,从第一备存储设备中存储的多个对象中选取待恢复状态的目标对象;获取与目标对象对应的待恢复数据;将待恢复数据发送至第一备存储设备,以便第一备存储设备根据待恢复数据对第一备存储设备中的目标对象进行数据恢复。本发明无需将目标对象的全量数据进行恢复,大大减少了需要恢复的数据量级,可以极大的提高数据恢复速度,进而也有利于前端业务的顺利进行。
Description
技术领域
本发明涉及计算机技术领域,具体涉及对象的数据恢复方法、装置、计算机设备及存储介质。
背景技术
随着互联网的快速发展,互联网数据量也变得越来越大,高效的存储数据成为了一个核心问题。为了应对海量数据场景,分布式对象存储逐渐受到广泛的应用。在对象存储中,当用户需要对数据进行分类存储时,会通过建立分类目录来对大量数据进行分类处理,相应的,访问、搜索对象时也就需要对分类目录进行列举操作。
随着业务量的增多,集群中对象的数据量有时会非常庞大,当分布式对象存储集群出现故障,需要恢复对象的数据时,会非常的耗时,甚至阻断前端业务的处理过程,导致客户业务阻塞,用户体验非常不佳。
发明内容
有鉴于此,本发明提供了一种对象的数据恢复方法、装置、计算机设备及存储介质,以解决对象的数据恢复过程使用时间过长的问题。
第一方面,本发明提供了一种对象的数据恢复方法,该方法应用于对象存储设备,该方法由主存储设备执行,包括:
监测放置群组中每一个备存储设备的设备状态;
当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,从第一备存储设备中存储的多个对象中选取待恢复状态的目标对象,其中,第一备存储设备为放置群组中任一个备存储设备;
获取与目标对象对应的待恢复数据,其中,待恢复数据为主存储设备在第一备存储设备处于故障状态时产生的差异数据;
将待恢复数据发送至第一备存储设备,以便第一备存储设备根据待恢复数据对第一备存储设备中的目标对象进行数据恢复。
本发明提供的对象的数据恢复方法具有如下优点:监测放置群组中每一个备存储设备的设备状态;当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,从第一备存储设备中存储的多个对象中选取待恢复状态的目标对象,其中,第一备存储设备为放置群组中任一个备存储设备;获取与目标对象对应的待恢复数据,其中,待恢复数据为主存储设备在第一备存储设备处于故障状态时产生的差异数据;将待恢复数据发送至第一备存储设备,以便第一备存储设备根据待恢复数据对第一备存储设备中的目标对象进行数据恢复。通过监测放置群组中每一个备存储设备的状态,当备存储设备从故障状态恢复为正常状态,且接收到对象恢复指令时,则获取该备存储设备在故障期间对目标对象产生的差异数据,发送至备存储设备进行数据恢复,无需将目标对象的全量数据进行恢复,大大减少了需要恢复的数据量级,可以极大的提高数据恢复速度,进而也有利于前端业务的顺利进行。
在一种可选的实施方式中,目标对象的待恢复状态具体通过如下方式确定:
当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,遍历预设待恢复对象列表;
当确定目标对象存在于预设待恢复对象列表中时,确认目标对象的状态为待恢复状态。
通过上述方式,查询待恢复对象列表可以快速准确的确定目标对象的状态。
在一种可选的实施方式中,获取与目标对象对应的待恢复数据,包括:
从预生成的增量日志中读取与目标对象对应数据标识和操作类型;
根据数据标识从预设存储位置查找与数据标识对应的数据信息;
将数据标识、数据信息和操作类型构成待恢复数据。
通过上述方式,可以从预生成的增量日志中读取需要恢复的数据标识,进而根据数据标识查询数据信息和操作类型,即业务数据,然后将数据标识、数据信息和操作类型构成待恢复数据,使用增量日志可以较为灵活的对需要恢复的数据进行记录,而且也方便查询。
在一种可选的实施方式中,获取与目标对象对应的待恢复数据之前,方法还包括:
当监测到放置群组的状态为降级状态,且接收到对目标对象的第一业务处理指令时,根据第一业务处理指令对目标对象进行处理,生成业务处理数据;
获取与业务处理数据对应的操作类型,其中业务处理数据包括数据标识;
根据数据标识和操作类型生成增量日志。
通过上述方式,可以通过增量日志的形式,只存储备存储设备故障期间产生的差异数据,备存储设备只需要更新这部分数据即可,无需对全量数据更新,极大的提高数据恢复的效率。
在一种可选的实施方式中,对象恢复指令包括如下两种方式中的一种:
对目标对象的第二业务处理指令,或者,对放置群组进行对象恢复操作的指令。
通过上述方式,上述两种方式都可以进行对象恢复,可以增加数据恢复的频次,进而减少每次恢复需要的时间,避免数据过多造成恢复时间长,影响前端业务的进行。
在一种可选的实施方式中,将待恢复数据和操作发送至第一备存储设备之后,方法还包括:
当监测到第一备存储设备中目标对象的数据恢复完成时,将目标对象对应的数据标识信息和操作类型从增量日志中删除。
通过上述方式,在恢复完成后将待恢复数据的相关信息从增量日志中删除,可以避免日志冗余。
在一种可选的实施方式中,将待恢复数据和操作发送至第一备存储设备之后,方法还包括:
将目标对象从预设待恢复对象列表中删除。
通过上述方式,可以保证待恢复列表中的数据都是需要恢复的对象,避免遗留无效数据。
第二方面,本发明提供了一种对象的数据恢复装置,装置包括:
监测模块,用于监测放置群组中每一个备存储设备的设备状态;
选取模块,用于当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,从第一备存储设备中存储的多个对象中选取待恢复状态的目标对象,其中,第一备存储设备为放置群组中任一个备存储设备;
获取模块,用于获取与目标对象对应的待恢复数据,其中,待恢复数据为主存储设备在第一备存储设备处于故障状态时产生的差异数据;
发送模块,用于将待恢复数据发送至第一备存储设备,以便第一备存储设备根据待恢复数据对第一备存储设备中的目标对象进行数据恢复。
在一种可选的实施方式中,选取模块中目标对象的待恢复状态具体通过如下方式确定:
当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,遍历预设待恢复对象列表;
当确定目标对象存在于预设待恢复对象列表中时,确认目标对象的状态为待恢复状态。
在一种可选的实施方式中,第一获取模块,具体包括:
读取单元,用于从预生成的增量日志中读取与目标对象对应数据标识和操作类型;
查找单元,用于根据数据标识从预设存储位置查找与数据标识对应的数据信息;
构成单元,用于将数据标识、数据信息和操作类型构成待恢复数据。
在一种可选的实施方式中,装置还包括:
第一生成模块,用于当监测到放置群组的状态为降级状态,且接收到对目标对象的第一业务处理指令时,根据第一业务处理指令对目标对象进行处理,生成业务处理数据;
第二获取模块,用于获取与业务处理数据对应的操作类型,其中业务处理数据包括数据标识;
第二生成模块,用于根据数据标识和操作类型生成增量日志。
在一种可选的实施方式中,选取模块中的对象恢复指令包括如下两种方式中的一种:
对目标对象的第二业务处理指令,或者,对放置群组进行对象恢复操作的指令。
在一种可选的实施方式中,装置还包括:
第一删除模块,用于当监测到第一备存储设备中目标对象的数据恢复完成时,将目标对象对应的数据标识信息和操作类型从增量日志中删除。
在一种可选的实施方式中,装置还包括:
第二删除模块,用于将目标对象从预设待恢复对象列表中删除。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的对象的数据恢复方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的对象的恢复方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的对象的数据恢复方法的流程示意图;
图2是根据本发明实施例的另一对象的数据恢复方法的流程示意图;
图3是根据本发明实施例的又一对象的数据恢复方法的流程示意图;
图4是根据本发明实施例的又一对象的数据恢复方法的流程示意图;
图5是根据本发明实施例的增量日志的生成方法的流程示意图;
图6是根据本发明实施例的又一对象的数据恢复方法的流程示意图;
图7是根据本发明实施例的对象的数据恢复装置的结构框图;
图8是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在对象存储中,当用户需要对数据进行分类存储时,会通过建立分类目录来对大量数据进行分类处理,相应的,访问、搜索对象时也就需要对分类目录进行列举操作。
目前,为了方便目录列举操作,对象存储在创建存储桶时会创建指定个数的索引(Object map,简称Omap)对象,在上传Omap对象时又会将对象名和对象的属性通过哈希的方式存储在桶索引的键值对(key_value)中。但是,随着集群规模的增大和数据量的增多,Omap对象的键值对不断增加,经常达到几十万甚至几百万条。这样,当集群出现故障恢复时需要恢复这些Omap对象就会非常耗时,并且阻塞前端业务,导致客户业务阻塞。
在一种相关技术中,Omap对象的数据恢复流程如图1所示,放置群组(PlacementGroup,简称PG)的存储设备(Object Storage Device,简称OSD)中的主OSD在处理客户端请求需要更新Omap对象时,检测到该对象处于待恢复列表中,则将该对象的更新请求从待处理队列中移出,生成该对象的待恢复请求,并将该对象的更新请求放入待恢复队列,触发该对象的恢复流程;恢复流程开始时,遍历读取该Omap对象的键值对,当读取的数据达到8MB时,将读取的数据发送至PG中的备OSD(该OSD即为需要更新的备OSD);备OSD接收到请求之后将本次接收的键值对遍历插入本地Omap对象中,主OSD再次读取该Omap对象剩余键值对,每次达到8MB时将拷贝的键值对发送至待恢复的备OSD,直至所有的数据均拷贝完成;备OSD的Omap对象恢复完成后,给主OSD回复已恢复完成的响应,主OSD将该Omap对象的处理请求重新放入待处理队列中等待处理。
从以上流程可以看出,对于Omap对象,即使在降级过程(PG中至少有一个存储设备处于故障状态的过程)中有很少的更新操作,恢复过程中也会对整个对象进行恢复,这样在Omap对象包含几百万条键值对时,恢复整个对象要进行几十次消息交换才能完成,耗时达到分钟级别。在Omap对象恢复期间,对该对象的读写操作都会阻塞,从而造成前端业务读写操作卡住。
基于此,根据本发明实施例,提供了一种对象的数据恢复方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种对象的数据恢复方法,可用于上述的主存储设备,图2是根据本发明实施例的对象的数据恢复方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,监测放置群组中每一个备存储设备的设备状态。
具体的,放置群组PG的主存储设备使用监测手段,持续监测群组中每一个备存储设备的设备状态,即正常状态或者故障状态。
步骤S102,当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,从第一备存储设备中存储的多个对象中选取待恢复状态的目标对象。
具体的,第一备存储设备为放置群组中任一个备存储设备。主存储设备监测到第一备存储设备从故障状态恢复为正常状态,且接受到对象恢复指令时,确定第一备存储设备中需恢复的目标对象,需恢复的目标对象为在备存储设备故障期间,产生过更新操作的对象。
在一个可选的例子中,目标对象可以为Omap对象,例如在备存储设备A故障期间,主存储设备接收到处理Omap对象B的业务请求,则B为目标对象,当然,也可能为多个目标对象,具体的就是在存储设备A故障期间产生过更新操作的对象。
步骤S103,获取与目标对象对应的待恢复数据。
具体的,待恢复数据为主存储设备在第一备存储设备处于故障状态时产生的差异数据。可以从预设存储位置,例如主存储设备的本地存储中,获取与目标对象对应的待恢复数据,或者,也可以通过其他方式例如存储表、日志等形式获取与目标对象对应的待恢复数据,待恢复数据应该是从备存储设备发生故障开始至故障恢复的时间段内,该目标对象生成的数据,即在主存储设备存在,而在备存储设备不存在的数据。这种方式可以只存储在第一备设备故障期间产生的数据,保证存储的数据都是待恢复的有效数据,避免数据冗余。
在一种可选的例子中,若备存储设备恢复正常时,原主存储设备故障,则可以将主存储设备的功能切换到其他正常状态的备存储设备,实现主备切换,从下一个成为主存储设备的设备中获取与目标对象对应的待恢复数据。
步骤S104,将待恢复数据发送至第一备存储设备,以便第一备存储设备根据待恢复数据对第一备存储设备中的目标对象进行数据恢复。
具体的,将待恢复数据发送至第一备存储设备,备存储设备接收到待恢复数据时,只需要恢复接收到的数据即可,无需针对该对象的全量数据进行恢复。
在一个可选的例子中,例如在备存储设备A故障时,主存储设备接收到Omap对象B的业务请求,则在对Omap对象B进行业务处理时生成了新的键值对,当备存储设备A恢复时,主存储设备将这些新的键值对发送至备存储设备A,备存储设备A接收到这些数据之后,只在备存储设备A的Omap对象B中增加新的键值对,无需对Omap对象B的全量键值对进行恢复,这是因为在Omap对象B未发生故障时,本身是同步存储主存储设备产生的数据信息,而在故障期间无法实现同步功能,需要数据恢复才能保持数据的一致性。
本实施例提供的对象的数据恢复方法,监测放置群组中每一个备存储设备的设备状态;当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,从第一备存储设备中存储的多个对象中选取待恢复状态的目标对象,其中,第一备存储设备为放置群组中任一个备存储设备;获取与目标对象对应的待恢复数据,其中,待恢复数据为主存储设备在第一备存储设备处于故障状态时产生的差异数据;将待恢复数据发送至第一备存储设备,以便第一备存储设备根据待恢复数据对第一备存储设备中的目标对象进行数据恢复。通过监测放置群组中每一个备存储设备的状态,当备存储设备从故障状态恢复为正常状态,且接收到对象恢复指令时,则获取该备存储设备在故障期间对目标对象产生的差异数据,发送至备存储设备进行数据恢复,无需将目标对象的全量数据进行恢复,大大减少了需要恢复的数据量级,可以极大的提高数据恢复速度,进而也有利于前端业务的顺利进行。
在一种可选的实施方式中,目标对象的待恢复状态具体通过如下方式确定:
步骤a1,当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,遍历预设待恢复对象列表。
具体的,在第一备存储设备故障期间,若主存储设备接收到对目标对象的业务请求,则会将目标对象写入待恢复对象列表。
在一个可选的例子中,待恢复对象列表可以为PG群组的待恢复列表,即missing列表。
步骤a2,当确定目标对象存在于预设待恢复对象列表中时,确认目标对象的状态为待恢复状态。
具体的,所有在待恢复列表中的对象的状态均为待恢复状态。
在本实施例中提供了一种对象的数据恢复方法,可用于上述的主存储设备,图3是根据本发明实施例的对象的数据恢复方法的流程图,如图3所示,该流程包括如下步骤:
步骤S201,监测放置群组中每一个备存储设备的设备状态。详细请参见图2所示实施例的步骤S101,在此不再赘述。
步骤S202,当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,从第一备存储设备中存储的多个对象中选取待恢复状态的目标对象。详细请参见图2所示实施例的步骤S102,在此不再赘述。
步骤S203,获取与目标对象对应的待恢复数据。
具体的,上述步骤S203包括:
步骤S2031,从预生成的增量日志中读取与目标对象对应数据标识和操作类型。
具体的,预生成的增量日志指在备存储设备故障期间生成的增量日志,用以记录在备存储设备故障期间产生的对象数据。因此,可以从增量日志中读取与目标对象对应的数据标识和对该条数据的操作类型,数据标识应为目标对象的唯一标识,操作类型可以为新增、更新或者删除等操作。
在一个可选的例子中,数据标识可以为标识目标对象中数据的键值对(key_value)的键名key。
在另一个可选的例子中,增量日志中的数据标识和操作类型也可以以键值对的形式存储,例如键名为数据标识,键值为操作类型。
步骤S2032,根据数据标识从预设存储位置查找与数据标识对应的数据信息。
具体的,预设存储位置可以为主存储设备的本地存储,根据数据标识从主存储设备的本地存储中查找与数据标识对应的数据信息,获取完整的数据。
在一个可选的例子中,例如根据键值对的键名key查询该键值对的键值value,键值value即为与前端业务请求对应的数据。
步骤S2033,将数据标识、数据信息和操作类型构成待恢复数据。
具体的,可以将数据标识、数据信息和操作类型构成待恢复数据。
在一个可选的例子中,例如可以将数据标识、数据信息和操作类型构成的待恢复数据构造为事务,以事务的形式发送至待恢复数据的备存储设备。
步骤S204,将待恢复数据发送至第一备存储设备,以便第一备存储设备根据待恢复数据对第一备存储设备中的目标对象进行数据恢复。详细请参见图2所示实施例的步骤S104,在此不再赘述。
通过上述方式,可以从预生成的增量日志中读取需要恢复的数据的数据标识,进而根据数据标识查询数据信息和操作类型,即业务数据,然后将数据标识、数据信息和操作类型构成待恢复数据,使用增量日志可以较为灵活的对需要恢复的数据进行记录,而且也方便查询。
在一种具体的实施方式中,例如在放置群组PG的Omap对象的数据恢复场景中,一种Omap对象的数据恢复流程可以如图4所示,PG主OSD接收到处理Omap对象的业务请求,检查该Omap对象是否在待恢复对象列表missing列表中,若存在于missing列表中,则将该请求从待处理队列移出,将该对象放入待恢复队列中,触发该对象的恢复过程,主OSD读取Omap对象的增量日志,获取Omap对象待恢复的键值对的键名和操作类型,根据读取的键名从本地存储中查找对应的键值,组合成完整的键值对信息,并将键值对和操作类型构造成事务发送至备OSD,备OSD将接收到的键值对提交到本地的该Omap对象,按照操作类型指示的操作完成数据恢复,然后向主OSD回复已恢复完成的响应,主OSD将该Omap对象的处理请求重新放入待处理队列进行数据处理。
在一些可选的实施方式中,获取与目标对象对应的待恢复数据之前,方法还包括如图5所示的方法步骤:
步骤S501,当监测到放置群组的状态为降级状态,且接收到对目标对象的第一业务处理指令时,根据第一业务处理指令对目标对象进行处理,生成业务处理数据。
具体的,主存储设备会实时监测放置群组中每一个存储设备的状态,当任一个存储设备发生故障时,则认为该放置群组的状态为降级状态,在降级状态下接收到目标对象的第一业务处理指令时,根据第一业务处理指令对目标对象进行处理,生成业务处理数据,将该业务数据处理存储在主存储设备的本地存储,以及同步至其他正常状态的备存储设备,第一业务处理指令为在降级状态时接收的目标对象的任一个业务处理指令。
步骤S502,获取与业务处理数据对应的操作类型,其中业务处理数据包括数据标识。
具体的,与业务处理数据对应的操作类型即新增、更新、删除等操作。业务处理数据可以为键值对的形式,但只需要在增量日志中保留键值对的键名即可,避免日志量过大。
步骤S503,根据数据标识和操作类型生成增量日志。
具体的,根据数据标识和操作类型生成增量日志。
在一个可选的例子中,增量日志包括用以指示目标对象中待恢复数据的键值对的键名key和用以指示操作类型的键值value。
通过上述方式,可以通过增量日志的形式,只存储备存储设备故障期间产生的差异数据,备存储设备只需要更新这部分数据即可,无需对全量数据更新,极大的提高数据恢复的效率。
在一种具体的应用场景中,例如图6所示的PG的降级写场景下的业务处理流程中,主OSD接收到对Omap对象的业务请求,检查该PG是否处于降级状态,若处在降级状态,说明有备OSD处于故障状态,则将对该Omap对象的业务处理的相关数据添加至增量日志中,并将对Omap对象的更新操作和增量日志构造为事务,发送至正常状态的OSD,备OSD根据接收到的更新操作和增量日志一起完成本地的Omap对象的更新,至此业务请求处理完成,若PG未处在降级状态,则直接处理该业务请求,并将数据同步至所有备存储设备。
在一种可选的实施方式中,对象恢复指令包括如下两种方式中的一种:
对目标对象的第二业务处理指令,或者,对放置群组进行对象恢复操作的指令。
具体的,对象恢复指令用以触发对象的数据恢复操作,可以有两种触发方式,一种为接收到对目标对象的第二业务处理指令,另一种可以是主存储设备自动发起的,例如以定时任务的形式发起的,对放置群组进行对象恢复操作的指令。
通过上述方式,上述两种方式都可以进行对象恢复,可以增加数据恢复的频次,进而减少每次恢复需要的时间,避免数据过多造成恢复时间长,影响前端业务的进行。
在一种可选的实施方式中,将待恢复数据和操作发送至第一备存储设备之后,方法还包括:
当监测到第一备存储设备中目标对象的数据恢复完成时,将目标对象对应的数据标识信息和操作类型从增量日志中删除。
具体的,第一备存储设备在数据恢复完成时,给主存储设备回复数据恢复完成的响应,主存储设备接收到该响应时,可以将目标对象对应的数据标识信息和操作类型从增量日志中删除。
通过上述方式,在恢复完成后将待恢复数据的相关信息从增量日志中删除,可以避免日志冗余。
在一种可选的实施方式中,将待恢复数据和操作发送至第一备存储设备之后,方法还包括:
将目标对象从预设待恢复对象列表中删除。
具体的,将待恢复数据和操作发送至第一备存储设备之后,可以将目标对象从预设待恢复对象列表中删除,以保证待恢复列表中的对象都是未进行恢复操作的对象。
在一个可选的例子中,也可以在接收到备存储设备回复的恢复数据完成的响应之后,从预设待恢复对象列表中删除。
通过上述方式,可以保证待恢复列表中的数据都是需要恢复的对象,避免遗留无效数据。
在本实施例中还提供了一种对象的数据恢复装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种对象的数据恢复装置,如图7所示,包括:
监测模块701,用于监测放置群组中每一个备存储设备的设备状态;
选取模块702,用于当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,从第一备存储设备中存储的多个对象中选取待恢复状态的目标对象,其中,第一备存储设备为放置群组中任一个备存储设备;
第一获取模块703,用于获取与目标对象对应的待恢复数据,其中,待恢复数据为主存储设备在第一备存储设备处于故障状态时产生的差异数据;
发送模块704,用于将待恢复数据发送至第一备存储设备,以便第一备存储设备根据待恢复数据对第一备存储设备中的目标对象进行数据恢复。
在一种可选的实施方式中,选取模块702中,目标对象的待恢复状态具体通过如下方式确定:
当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,遍历预设待恢复对象列表;
当确定目标对象存在于预设待恢复对象列表中时,确认目标对象的状态为待恢复状态。
在一种可选的实施方式中,第一获取模块703,具体包括:
读取单元,用于从预生成的增量日志中读取与目标对象对应数据标识和操作类型;
查找单元,用于根据数据标识从预设存储位置查找与数据标识对应的数据信息;
构成单元,用于将数据标识、数据信息和操作类型构成待恢复数据。
在一种可选的实施方式中,装置还包括:
第一生成模块705,用于当监测到放置群组的状态为降级状态,且接收到对目标对象的第一业务处理指令时,根据第一业务处理指令对目标对象进行处理,生成业务处理数据;
第二获取模块706,用于获取与业务处理数据对应的操作类型,其中业务处理数据包括数据标识;
第二生成模块707,用于根据数据标识和操作类型生成增量日志。
在一种可选的实施方式中,选取模块702中的对象恢复指令包括如下两种方式中的一种:
对目标对象的第二业务处理指令,或者,对放置群组进行对象恢复操作的指令。
在一种可选的实施方式中,装置还包括:
第一删除模块708,用于当监测到第一备存储设备中目标对象的数据恢复完成时,将目标对象对应的数据标识信息和操作类型从增量日志中删除。
在一种可选的实施方式中,装置还包括:
第二删除模块709,用于将目标对象从预设待恢复对象列表中删除。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的对象的数据恢复装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图7所示的对象的数据恢复装置。
请参阅图8,图8是本发明可选实施例提供的一种计算机设备的结构示意图,如图8所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种对象的数据恢复方法,其特征在于,所述方法应用于对象存储设备,所述方法由主存储设备执行,所述方法包括:
监测放置群组中每一个备存储设备的设备状态;
当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,从所述第一备存储设备中存储的多个对象中选取待恢复状态的目标对象,其中,所述第一备存储设备为所述放置群组中任一个备存储设备;
获取与所述目标对象对应的待恢复数据,其中,所述待恢复数据为所述主存储设备在所述第一备存储设备处于故障状态时产生的差异数据;
将所述待恢复数据发送至所述第一备存储设备,以便所述第一备存储设备根据所述待恢复数据对所述第一备存储设备中的所述目标对象进行数据恢复。
2.根据权利要求1所述的方法,其特征在于,所述目标对象的待恢复状态具体通过如下方式确定:
当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,遍历预设待恢复对象列表;
当确定所述目标对象存在于所述预设待恢复对象列表中时,确认所述目标对象的状态为待恢复状态。
3.根据权利要求1或2所述的方法,其特征在于,获取与所述目标对象对应的待恢复数据,包括:
从预生成的增量日志中读取与所述目标对象对应数据标识和操作类型;
根据所述数据标识从预设存储位置查找与所述数据标识对应的数据信息;
将所述数据标识、所述数据信息和所述操作类型构成所述待恢复数据。
4.根据权利要求3所述的方法,其特征在于,所述获取与所述目标对象对应的待恢复数据之前,所述方法还包括:
当监测到所述放置群组的状态为降级状态,且接收到对所述目标对象的第一业务处理指令时,根据所述第一业务处理指令对所述目标对象进行处理,生成业务处理数据;
获取与所述业务处理数据对应的操作类型,其中所述业务处理数据包括数据标识;
根据所述数据标识和所述操作类型生成所述增量日志。
5.根据权利要求1或2或4所述的方法,其特征在于,所述对象恢复指令包括如下两种方式中的一种:
对所述目标对象的第二业务处理指令,或者,对所述放置群组进行对象恢复操作的指令。
6.根据权利要求3所述的方法,其特征在于,将所述待恢复数据和操作发送至第一备存储设备之后,所述方法还包括:
当监测到所述第一备存储设备中所述目标对象的数据恢复完成时,将所述目标对象对应的数据标识信息和所述操作类型从所述增量日志中删除。
7.根据权利要求2所述的方法,其特征在于,将所述待恢复数据和操作发送至第一备存储设备之后,所述方法还包括:
将所述目标对象从所述预设待恢复对象列表中删除。
8.一种对象的数据恢复装置,其特征在于,所述装置包括:
监测模块,用于监测放置群组中每一个备存储设备的设备状态;
选取模块,用于当监测到第一备存储设备的设备状态从故障状态恢复为正常状态,且接收到对象恢复指令时,从所述第一备存储设备中存储的多个对象中选取待恢复状态的目标对象,其中,所述第一备存储设备为所述放置群组中任一个备存储设备;
获取模块,用于获取与所述目标对象对应的待恢复数据,其中,所述待恢复数据为主存储设备在所述第一备存储设备处于故障状态时产生的差异数据;
发送模块,用于将所述待恢复数据发送至所述第一备存储设备,以便所述第一备存储设备根据所述待恢复数据对所述第一备存储设备中的所述目标对象进行数据恢复。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至7中任一项所述的对象的数据恢复方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的对象的数据恢复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311099960.3A CN117130830A (zh) | 2023-08-29 | 2023-08-29 | 对象的数据恢复方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311099960.3A CN117130830A (zh) | 2023-08-29 | 2023-08-29 | 对象的数据恢复方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117130830A true CN117130830A (zh) | 2023-11-28 |
Family
ID=88859526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311099960.3A Pending CN117130830A (zh) | 2023-08-29 | 2023-08-29 | 对象的数据恢复方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117130830A (zh) |
-
2023
- 2023-08-29 CN CN202311099960.3A patent/CN117130830A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11397648B2 (en) | Virtual machine recovery method and virtual machine management device | |
CN110309218B (zh) | 一种数据交换系统和数据写入方法 | |
CN106776130B (zh) | 一种日志恢复方法、存储装置和存储节点 | |
US20150213100A1 (en) | Data synchronization method and system | |
US11093387B1 (en) | Garbage collection based on transmission object models | |
CN111078667B (zh) | 一种数据迁移的方法以及相关装置 | |
RU2653254C1 (ru) | Способ, узел и система управления данными для кластера базы данных | |
CN110825546A (zh) | 一种面向高可用数据库集群的恢复方法、系统及设备终端 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
US20180129668A1 (en) | Intermediate file processing method, client, server, and system | |
CN115858086A (zh) | 数据恢复方法、数据恢复系统、设备及存储介质 | |
CN112579550B (zh) | 一种分布式文件系统的元数据信息同步方法及系统 | |
CN108271420B (zh) | 管理文件的方法、文件系统和服务器系统 | |
CN115878381A (zh) | 基于srm盘的数据恢复方法及装置、存储介质、电子装置 | |
CN117130830A (zh) | 对象的数据恢复方法、装置、计算机设备及存储介质 | |
US11645333B1 (en) | Garbage collection integrated with physical file verification | |
JP2017208113A (ja) | データ格納方法、データストレージ装置、及びストレージデバイス | |
US11074002B2 (en) | Object storage system with meta object replication | |
US11093465B2 (en) | Object storage system with versioned meta objects | |
CN113419901A (zh) | 数据灾备方法、装置及服务器 | |
CN112346913A (zh) | 数据恢复方法、装置、设备及存储介质 | |
CN115357429B (zh) | 恢复数据文件的方法、装置和客户端 | |
CN113821176B (zh) | 一种数据迁移的处理方法、装置及存储介质 | |
CN117453454A (zh) | 数据备份方法、装置、计算机设备、介质及产品 | |
US20210248108A1 (en) | Asynchronous data synchronization and reconciliation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |