本申请涉及分布式数据存储技术,特别涉及一种分布式存储系统的数据恢复处理方法、数据恢复处理装置、服务器以及计算机可读存储介质。
背景技术:
1、随着信息技术的不断发展,终端用户对io(input/output,输入/输出)时延越来越敏感,要求越来越高,即使在集群出现部分故障或者扩缩容时,系统时延同样要求不能有太大的波动。然而,当前分布式存储系统在出现故障或者扩缩容时,部分pg(placementgroup,归置组,数据分布的一种逻辑单元)中对象出现降级需要恢复,当前端业务需要修改这些对象时,需要先恢复这些对象,等待恢复完成后才能处理前端写请求。
2、相关技术中,当前流程处理写请求,如果发现该对象需要恢复或者正在恢复,需要将当前对该对象的写请求先进行入队处理,等待整个对象会完成才能继续处理写请求。由于恢复请求属于后台业务,系统在处理恢复请求时会进行相应的流控处理,导致恢复请求的延时相对较长,从而造成前端写请求时延增大,给客户端业务带来影响。此外,当前恢复某个对象时,如果该对象正在进行修改写操作,会导致恢复加锁失败,使整个pg的恢复进入等待状态,直到该对象的写流程完成释放写锁后才会将该pg进入恢复状态。可见,容易导致恢复请求的延时相对较长,从而造成前端写请求时延增大,给客户端业务带来影响。
3、因此,如何使前端业务请求处理和恢复并行执行。在缩短了前端业务io时延的同时,提高pg中对象的恢复速度是本领域技术人员关注的重点问题。
技术实现思路
1、本申请的目的是提供一种分布式存储系统的数据恢复处理方法、数据恢复处理装置、服务器以及计算机可读存储介质,使前端业务请求处理和恢复并行执行,在缩短了前端业务io时延的同时,提高pg中对象的恢复速度。
2、为解决上述技术问题,本申请提供一种分布式存储系统的数据恢复处理方法,包括:
3、当写请求的对象存在于待恢复对象集合中,第一数据设备将写请求的内容和对应的数据内容进行合并处理,得到写恢复事务;
4、将所述写恢复事务发送到对应的第二数据设备,以便所述第二数据设备基于所述写恢复事务进行数据恢复,当数据恢复完成时返回完成消息;
5、当接收到完成消息时,将所述对象从待恢复对象集合中删除。
6、可选的,当所述第二数据设备的数据恢复完成时,还包括:
7、所述第二数据设备将所述对象从本地的待恢复对象集合中删除。
8、可选的,第一数据设备将写请求的内容和对应的数据内容进行合并处理,得到写恢复事务,包括:
9、所述第一数据设备读取所述对象的数据内容;
10、将所述写请求的修改内容与所述数据内容进行合并,得到全量恢复数据;
11、基于全量恢复数据进行构造,得到所述写恢复事务。
12、可选的,所述第二数据设备基于所述写恢复事务进行数据恢复,包括:
13、所述第二数据设备基于所述写恢复事务进行全量数据恢复。
14、可选的,还包括:
15、所述第一数据设备基于待恢复对象的数据构造恢复请求;
16、将所述恢复请求发送至对应的第二数据设备,以便所述第二数据设备基于所述恢复请求的对象版本号和本地的对象版本号进行数据恢复。
17、可选的,所述第二数据设备基于所述恢复请求的对象版本号和本地的对象版本号进行数据恢复,包括:
18、所述第二数据设备判断本地的对象版本号是否小于所述恢复请求的对象版本号;
19、若是,则基于所述恢复请求进行数据恢复,发送恢复成功消息;
20、若否,则发送恢复成功消息。
21、可选的,当所述第一数据设备接收到恢复成功消息时,还包括:
22、将所述待恢复对象从待恢复对象集合中删除。
23、本申请还提供一种分布式存储系统的数据恢复处理装置,包括:
24、请求合并模块,用于当写请求的对象存在于待恢复对象集合中,将写请求的内容和对应的数据内容进行合并处理,得到写恢复事务;
25、事务发送模块,用于将所述写恢复事务发送到对应的第二数据设备,以便所述第二数据设备基于所述写恢复事务进行数据恢复,当数据恢复完成时返回完成消息;
26、对象删除模块,用于当接收到完成消息时,将所述对象从待恢复对象集合中删除。
27、本申请还提供一种服务器,包括:
28、存储器,用于存储计算机程序;
29、处理器,用于执行所述计算机程序时实现如上所述的数据恢复处理方法的步骤。
30、本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据恢复处理方法的步骤。
31、本申请所提供的一种分布式存储系统的数据恢复处理方法,包括:当写请求的对象存在于待恢复对象集合中,第一数据设备将写请求的内容和对应的数据内容进行合并处理,得到写恢复事务;将所述写恢复事务发送到对应的第二数据设备,以便所述第二数据设备基于所述写恢复事务进行数据恢复,当数据恢复完成时返回完成消息;当接收到完成消息时,将所述对象从待恢复对象集合中删除。
32、通过将写请求的内容和对应的数据合并为写恢复事务,然后发送至第二数据设备,以便该第二数据设备在一次执行过程中,同时处理完成写请求和恢复请求,避免对写请求产生延迟,实现了写请求和恢复请求的同时处理,提高了分布式存储系统的执行效率。
33、本申请还提供一种分布式存储系统的数据恢复处理装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不作赘述。
1.一种分布式存储系统的数据恢复处理方法,其特征在于,包括:
2.根据权利要求1所述的数据恢复处理方法,其特征在于,当所述第二数据设备的数据恢复完成时,还包括:
3.根据权利要求1所述的数据恢复处理方法,其特征在于,第一数据设备将写请求的内容和对应的数据内容进行合并处理,得到写恢复事务,包括:
4.根据权利要求3所述的数据恢复处理方法,其特征在于,所述第二数据设备基于所述写恢复事务进行数据恢复,包括:
5.根据权利要求1所述的数据恢复处理方法,其特征在于,还包括:
6.根据权利要求5所述的数据恢复处理方法,其特征在于,所述第二数据设备基于所述恢复请求的对象版本号和本地的对象版本号进行数据恢复,包括:
7.根据权利要求6所述的数据恢复处理方法,其特征在于,当所述第一数据设备接收到恢复成功消息时,还包括:
8.一种分布式存储系统的数据恢复处理装置,其特征在于,包括:
9.一种服务器,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据恢复处理方法的步骤。