恢复数据的方法、服务器及系统技术方案

技术编号:9990926 阅读:74 留言:0更新日期:2014-05-02 04:11
本发明专利技术公开了一种恢复数据的方法、服务器及系统,属于信息技术领域。方法包括:主服务器接收存储系统中的各个从服务器根据主服务器发送的日志获取请求返回的第一恢复日志文件,并根据所有第一恢复日志文件及主服务器生成的第二恢复日志文件所记录的最新操作信息对待恢复数据进行操作,第一恢复日志文件及第二恢复日志文件记录了待恢复数据标识所标识的待恢复数据的位置信息及操作信息。本发明专利技术通过主服务器向存储系统中的各个从服务器发送日志获取请求后,根据各个从服务器返回的所有第一恢复日志文件及主服务器生成的第二恢复日志文件恢复待恢复数据,从而无需扫描所有数据,也无需使用元数据服务器即可实现恢复数据,提高了恢复数据的效率。

【技术实现步骤摘要】
恢复数据的方法、服务器及系统
本专利技术涉及信息
,特别涉及一种恢复数据的方法、服务器及系统。
技术介绍
随着信息技术的不断发展,存储系统的规模越来越大。在大规模的存储系统中,器件发生故障的频率也随之增加。在器件发生故障时,如何恢复数据,从而保证数据的安全成为人们关注的问题。目前,有三种恢复数据的方式,第一种方式:通过fsck命令扫描文件系统来查找待恢复数据,并恢复待恢复数据。第二种方式:通过元数据服务器读取系统操作日志中的待恢复数据的日志信息,并根据读取到的待恢复数据的日志信息控制数据服务器重新执行对数据的操作,从而恢复数据。第三种方式:通过元数据服务器读取待恢复数据的日志信息,并根据读取到的待恢复的日志信息控制数据服务器重新执行对数据的操作,从而恢复数据。现有技术至少存在以下问题:第一种方式需要扫描所有的数据,造成系统资源的浪费。第二种方式和第三种方式,都需要使用元数据服务器恢复数据,而元数据服务器恢复数据的速度较慢,致使恢复数据的效率较低。
技术实现思路
本专利技术实施例提供了一种恢复数据的方法、服务器及系统,可以解决现有技术的问题。所述技术方案如下:第一方面,提供了一种恢复数据的方法,所述方法应用于存储系统的主服务器,所述存储系统包括主服务器和从服务器,所述主服务器和所述从服务器均用于存储相同数据,所述主服务器为第一个成功存储数据的服务器,所述方法包括:当所述存储系统中的任意一个服务器存储数据失败时,所述主服务器向所述存储系统中的每个从服务器发送日志获取请求,所述日志获取请求中携带待恢复数据标识;接收各个从服务器根据所述日志获取请求返回的第一恢复日志文件,每个第一恢复日志文件记录了所述待恢复数据标识所标识的待恢复数据的位置信息及操作信息;根据所有所述第一恢复日志文件及第二恢复日志文件所记录的操作信息中的最新操作信息对待恢复数据进行操作,所述待恢复数据根据所述待恢复数据的位置信息查找得到,所述第二恢复日志文件由所述主服务器生成,且记录了所述待恢复数据标识所标识的待恢复数据的位置信息及操作信息。结合第一方面,在第一方面的第一种可能的实现方式中,所述向所述存储系统中的每个从服务器发送日志获取请求之前,还包括:接收并存储客户端发送的数据,并向所述客户端返回包含所述数据的识别标识的第一写入状态信息,所述第一写入状态信息为写入成功信息或写入失败信息;接收所述客户端发送的总写入状态信息,所述总写入状态信息包括所述主服务器向所述客户端返回的第一写入状态信息及每个从服务器向所述客户端返回的第二写入状态信息;如果所述客户端发送的总写入状态信息中包含写入失败信息,则确定所述客户端发送的数据为待恢复数据,并生成记录所述待恢复数据的位置信息及操作信息的第二恢复日志文件。结合第一方面,在第一方面的第二种可能的实现方式中,所述根据所有所述第一恢复日志文件及第二恢复日志文件所记录的操作信息中的最新操作信息对待恢复数据进行操作,包括:依次读取每个所述第一恢复日志文件及第二恢复日志文件;判断当前读取的恢复日志文件的索引信息是否在预设结构中,所述索引信息包括恢复日志文件标识、偏移量信息及数据长度信息,所述预设结构存储有索引信息及操作时间;若当前读取的恢复日志文件的索引信息未在所述预设结构中,则将当前读取的恢复日志文件的索引信息及操作时间添加到所述预设结构中;继续读取下一个恢复日志文件,按照处理当前读取的恢复日志文件的方式处理读取的下一个恢复日志文件,直至处理完最后一个恢复日志文件,得到存储有无重复索引信息及操作时间的预设结构;获取与所述预设结构中的索引信息及操作时间对应的恢复日志文件,并将与所述预设结构中的索引信息及操作时间对应的恢复日志文件作为筛选出的恢复日志文件,根据筛选出的恢复日志文件中的操作信息对待恢复数据进行操作。结合第一方面至第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述判断当前读取的恢复日志文件的索引信息是否在预设结构中之后,还包括:若当前读取的恢复日志文件的索引信息在预设结构中,则将当前读取的恢复日志文件的操作时间与所述预设结构中对应当前读取的恢复日志文件的索引信息的操作时间进行比较;若当前读取的恢复日志文件的操作时间晚于预设结构中对应当前读取的恢复日志文件的索引信息的操作时间,则将当前读取的恢复日志文件的操作时间替换预设结构中与当前读取的恢复日志文件的索引信息相对应的操作时间,并执行继续读取下一个恢复日志文件的步骤。结合第一方面至第一方面的第二种或第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,获取与所述预设结构中的索引信息及操作时间对应的恢复日志文件,包括:依次读取所述第一恢复日志文件及与所述待恢复数据标识相对应的第二恢复日志文件,并将当前读取的恢复日志文件的索引信息依次与预设结构中的索引信息进行比对;若所述预设结构中存在与当前读取的恢复日志文件的索引信息相同的索引信息,则比较当前读取的恢复日志文件的操作时间与所述预设结构中对应当前读取的恢复日志文件的索引信息的操作时间;若所述预设结构中存在与当前读取的恢复日志文件的操作时间相同的对应当前读取的恢复日志文件的索引信息的操作时间,则将当前读取的恢复日志文件添加到筛选出的恢复日志文件中,并读取下一个恢复日志文件;以此类推,直至比对完最后一个恢复日志文件,得到所述预设结构中的每个索引信息对应的恢复日志文件。结合第一方面至第一方面的第二种可能的实现方式,在第一方面的第五种可能的实现方式中,所述将与所述预设结构中的索引信息及操作时间对应的恢复日志文件作为筛选出的恢复日志文件之后,还包括:将筛选出的恢复日志文件发送给各个从服务器,由各个从服务器根据所述筛选出的恢复日志文件对所述待恢复数据进行恢复。第二方面,提供了一种恢复数据的方法,所述方法应用于存储系统的主服务器,所述存储系统包括所述主服务器和从服务器,所述主服务器和所述从服务器均用于存储相同数据,所述主服务器为第一个成功存储数据的服务器,所述方法包括:每个从服务器接收所述主服务器发送的日志获取请求,所述日志获取请求中携带待恢复数据标识;根据所述日志获取请求向所述主服务器返回第一恢复日志文件,使所述主服务器根据所述第一恢复日志文件及所述主服务器生成的第二恢复日志文件恢复所述待恢复数据;接收所述主服务器发送的筛选出的恢复日志文件,并根据所述筛选出的恢复日志文件所记录的操作信息对待恢复数据进行操作;其中,所述第一恢复日志文件及所述第二恢复日志文件均记录了所述待恢复数据标识所标识的待恢复数据的位置信息及操作信息。结合第二方面,在第二方面的第一种可能的实现方式中,所述根据所述日志获取请求向所述主服务器返回第一恢复日志文件之前,还包括:接收并存储客户端发送的数据,并向所述客户端返回包含所述数据的识别标识的第二写入状态信息,所述第二写入状态信息包括写入成功信息或写入失败信息;接收所述客户端发送的总写入状态信息,所述总写入状态信息包括所述从服务器向所述客户端返回的第二写入状态信息及所述主服务器向所述客户端返回的第一写入状态信息;如果所述客户端发送的总写入状态信息中包含写入失败信息,则确定所述客户端发送的数据为待恢复数据,并生成记录所述待恢复数据的本文档来自技高网...
恢复数据的方法、服务器及系统

【技术保护点】

【技术特征摘要】
1.一种恢复数据的方法,其特征在于,所述方法应用于存储系统的主服务器,所述存储系统包括主服务器和从服务器,所述主服务器和所述从服务器均用于存储相同数据,所述主服务器为第一个成功存储数据的服务器,所述方法包括:当所述存储系统中的任意一个服务器存储数据失败时,所述主服务器向所述存储系统中的每个从服务器发送日志获取请求,所述日志获取请求中携带待恢复数据标识;接收各个从服务器根据所述日志获取请求返回的第一恢复日志文件,每个第一恢复日志文件记录了所述待恢复数据标识所标识的待恢复数据的位置信息及操作信息;根据所有所述第一恢复日志文件及第二恢复日志文件所记录的操作信息中的最新操作信息对待恢复数据进行操作,所述待恢复数据根据所述待恢复数据的位置信息查找得到,所述第二恢复日志文件由所述主服务器生成,且记录了所述待恢复数据标识所标识的待恢复数据的位置信息及操作信息。2.根据权利要求1所述的方法,其特征在于,所述向所述存储系统中的每个从服务器发送日志获取请求之前,还包括:接收并存储客户端发送的数据,并向所述客户端返回包含所述数据的识别标识的第一写入状态信息,所述第一写入状态信息为写入成功信息或写入失败信息;接收所述客户端发送的总写入状态信息,所述总写入状态信息包括所述主服务器向所述客户端返回的第一写入状态信息及每个从服务器向所述客户端返回的第二写入状态信息;如果所述客户端发送的总写入状态信息中包含写入失败信息,则确定所述客户端发送的数据为待恢复数据,并生成记录所述待恢复数据的位置信息及操作信息的第二恢复日志文件。3.根据权利要求1所述的方法,其特征在于,所述根据所有所述第一恢复日志文件及第二恢复日志文件所记录的操作信息中的最新操作信息对待恢复数据进行操作,包括:依次读取每个所述第一恢复日志文件及第二恢复日志文件;判断当前读取的恢复日志文件的索引信息是否在预设结构中,所述索引信息包括恢复日志文件标识、偏移量信息及数据长度信息,所述预设结构用于存储索引信息及操作时间;若当前读取的恢复日志文件的索引信息未在所述预设结构中,则将当前读取的恢复日志文件的索引信息及操作时间添加到所述预设结构中;继续读取下一个恢复日志文件,按照处理当前读取的恢复日志文件的方式处理读取的下一个恢复日志文件,直至处理完最后一个恢复日志文件,得到存储有无重复索引信息及操作时间的预设结构;获取与所述预设结构中的索引信息及操作时间对应的恢复日志文件,并将与所述预设结构中的索引信息及操作时间对应的恢复日志文件作为筛选出的恢复日志文件,根据筛选出的恢复日志文件中的操作信息对待恢复数据进行操作。4.根据权利要求3所述的方法,其特征在于,所述判断当前读取的恢复日志文件的索引信息是否在预设结构中之后,还包括:若当前读取的恢复日志文件的索引信息在预设结构中,则将当前读取的恢复日志文件的操作时间与所述预设结构中对应当前读取的恢复日志文件的索引信息的操作时间进行比较;若当前读取的恢复日志文件的操作时间晚于预设结构中对应当前读取的恢复日志文件的索引信息的操作时间,则将当前读取的恢复日志文件的操作时间替换预设结构中与当前读取的恢复日志文件的索引信息相对应的操作时间,并执行继续读取下一个恢复日志文件的步骤。5.根据权利要求3或4所述的方法,其特征在于,所述获取与所述预设结构中的索引信息及操作时间对应的恢复日志文件,包括:依次读取所述第一恢复日志文件及与所述待恢复数据标识相对应的第二恢复日志文件,并将当前读取的恢复日志文件的索引信息依次与预设结构中的索引信息进行比对;若所述预设结构中存在与当前读取的恢复日志文件的索引信息相同的索引信息,则比较当前读取的恢复日志文件的操作时间与所述预设结构中对应当前读取的恢复日志文件的索引信息的操作时间;若所述预设结构中存在与当前读取的恢复日志文件的操作时间相同的对应当前读取的恢复日志文件的索引信息的操作时间,则将当前读取的恢复日志文件添加到筛选出的恢复日志文件中,并读取下一个恢复日志文件;以此类推,直至比对完最后一个恢复日志文件,得到所述预设结构中的每个索引信息对应的恢复日志文件。6.一种恢复数据的方法,其特征在于,所述方法应用于存储系统的从服务器,所述存储系统包括主服务器和所述从服务器,所述主服务器和所述从服务器均用于存储相同数据,所述主服务器为第一个成功存储数据的服务器,所述方法包括:每个从服务器接收所述主服务器发送的日志获取请求,所述日志获取请求中携带待恢复数据标识;根据所述日志获取请求向所述主服务器返回第一恢复日志文件,使所述主服务器根据所述第一恢复日志文件及所述主服务器生成的第二恢复日志文件恢复所述待恢复数据;接收所述主服务器发送的筛选出的恢复日志文件,并根据所述筛选出的恢复日志文件所记录的操作信息对待恢复数据进行操作;其中,所述第一恢复日志文件及所述第二恢复日志文件均记录了所述待恢复数据标识所标识的待恢复数据的位置信息及操作信息。7.根据权利要求6所述的方法,其特征在于,所述根据所述日志获取请求向所述主服务器返回第一恢复日志文件之前,还包括:接收并存储客户端发送的数据,并向所述客户端返回包含所述数据的识别标识的第二写入状态信息,所述第二写入状态信息包括写入成功信息或写入失败信息;接收所述客户端发送的总写入状态信息,所述总写入状态信息包括所述从服务器向所述客户端返回的第二写入状态信息及所述主服务器向所述客户端返回的第一写入状态信息;如果所述客户端发送的总写入状态信息中包含写入失败信息,则确定所述客户端发送的数据为待恢复数据,并生成记录所述待恢复数据的位置信息及操作信息的第一恢复日志文件。8.一种恢复数据的服务器,其特征在于,所述服务器为应用于存储系统的主服务器,所述存储系统包括所述主服务器和从服务器,所述主服务器和所述从服务器均用于存储相同数据,所述主服务器为第一个成功存储数据的服务器,所述服务器...

【专利技术属性】
技术研发人员:郝志敏李红
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1