多元数据服务器下日志系统的恢复方法和装置的制作方法

文档序号:6383842阅读:303来源:国知局
专利名称:多元数据服务器下日志系统的恢复方法和装置的制作方法
技术领域
本发明总的来说涉及多元数据服务器的日志系统,更具体地,涉及多元数据服务器下日志系统的恢复方法和装置。
背景技术
为了保证多元数据服务器的一致性和原子性,采用日志系统来完成元数据的数据存储。当主副本(元数据服务器组中提供数据服务的副本)发生宕机时,从副本(元数据服务器中不提供服务但接受主副本传递的数据的副本)需要为主副本保存数据,若主副本发生宕机的时间非常长,从副本为主副本保存的日志数据可能会非常多。这样,当宕机的节点重启时,需要根据日志进行应用元数据,从而恢复元数据。现有系统在遇到这种情况时,只能按照日志设备中的文件进行顺序应用。若日志文件很大,则需要进行长时间应用,当元数据文件分属于磁盘的不同位置,磁头将会反复进行寻道,从而需要极长的时间进行恢复。针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容
针对相关技术中的问题,本发明提出一种日志系统的恢复方法,其能够降低日志的恢复时间。根据本发明的一个方面,提供了一种多元数据服务器下日志系统的恢复方法,包括在宕机的节点重启时,查询当前元数据文件的大小;将当前元数据文件的大小与预定的阈值进行比较;以及当当前元数据文件的大小小于预定的阈值时,将当前元数据文件直接拷贝到节点。优选地,在拷贝当前元数据文件的同时,记录拷贝时的事务号。优选地,在记录事务号之后,该方法还包括应用事务号后面的事务。优选地,当前元数据文件的大小大于预定的阈值时,顺序应用日志文件。优选地,预定的阈值根据多元数据服务器的系统容量来确定。根据本发明的另一方面,提供了一种多元数据服务器下日志系统的恢复装置,包括查询模块,用于在宕机的节点重启时,查询当前元数据文件的大小;比较模块,用于将当前元数据文件的大小与预定的阈值进行比较;以及拷贝模块,用于当当前元数据文件的大小小于预定的阈值时,将当前元数据文件直接拷贝到节点。优选地,该装置还包括记录模块,用于在拷贝模块拷贝当前元数据文件的同时记录拷贝时的事务号。优选地,该装置还包括第一应用模块,用于在记录模块记录事务号之后,应用事务号后面的事务。优选地,该装置还包括第二应用模块,用于当当前元数据文件的大小大于所述预定的阈值时,顺序应用日志文件。
优选地,预定的阈值根据多元数据服务器的系统容量来确定。通过本发明的技术方案,能够降低恢复元数据文件的时间。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本发明实施例的多元数据服务器下日志系统的恢复方法的流程图;以及图2是根据本发明实施例的多元数据服务器下日志系统的恢复装置的框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。以下,参照图1和图2详细描述本发明。I是根据本发明实施例的多元数据服务器下日志系统的恢复方法的流程图。参照图1,根据本发明的多元数据服务器下日志系统的恢复方法,包括S102,在宕机的节点重启时,查询当前元数据文件的大小;S104,将当前元数据文件的大小与预定的阈值进行比较;以及S106,在当前元数据文件的大小小于预定的阈值时,将当前元数据文件直接拷贝到节点。此外,在拷贝当前元数据文件的同时,还记录拷贝时的事务号,这样就可以只应用事务号后面的事务来恢复元数据。例如,一个日志文件中具有200个事务,如果宕机发生在第100个事务处,则通过采用本发明的方法,将当前元数据文件拷贝到宕机的节点处并且只应用第100到第200个事务即可,从而节省了前100个事务的应用时间,降低了恢复元数据文件的时间。然而,在当前元数据文件的大小大于预定的阈值时,只能采用顺序应用日志文件的方式,因为如果元数据文件很大,则拷贝也需要花费很长的时间,因此也就没有再采用这样的方式,只需要按照现有技术的方法顺序应用日志设备中的文件即可。注意,本文所说的预定阈值并不是一个固定的值,其需要根据多元数据服务器的系统容量来确定。如果系统容量相对较大,则可以采用大一些的阈值,而如果系统容量较小,则只能采用小一些的阈值。这对于本领域的技术人员是显而易见的。图2是根据本发明实施例的多元数据服务器下日志系统的恢复装置的框图。参照图2,根据本发明的多元数据服务器下日志系统的恢复装置包括查询模块22,用于在宕机的节点重启时,查询当前元数据文件的大小;比较模块24,用于将当前元数据文件的大小与预定的阈值进行比较;以及拷贝模块26,用于在当前元数据文件的大小小于预定的阈值时,将当前元数据文件直接拷贝到节点。
此外,该装置还包括记录模块,用于在拷贝模块26拷贝当前元数据文件的同时记录拷贝时的事务号。并且该装置还包括第一应用模块,用于在记录模块记录事务号之后,应用事务号后面的事务。另外,该装置还可以包括第二应用模块,用于在当前元数据文件的大小大于预定阈值时,顺序应用日志文件。综上所述,借助于本发明的上述技术方案,通过在恢复时拷贝元数据文件和记录事务的事务号的策略,能够降低恢复元数据文件的时间。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种多元数据服务器下日志系统的恢复方法,其特征在于,所述方法包括在宕机的节点重启时,查询当前元数据文件的大小;将所述当前元数据文件的大小与预定的阈值进行比较;以及当所述当前元数据文件的大小小于所述预定的阈值时,将所述当前元数据文件直接拷贝到所述节点。
2.根据权利要求1所述的方法,其特征在于,在拷贝所述当前元数据文件的同时,记录拷贝时的事务号。
3.根据权利要求2所述的方法,其特征在于,在记录所述事务号之后,所述方法还包括应用所述事务号后面的事务。
4.根据权利要求1所述的方法,其特征在于,当所述当前元数据文件的大小大于所述预定的阈值时,顺序应用日志文件。
5.根据权利要求1所述的方法,其特征在于,所述预定的阈值根据所述多元数据服务器的系统容量来确定。
6.一种多元数据服务器下日志系统的恢复装置,其特征在于,所述装置包括查询模块,用于在宕机的节点重启时,查询当前元数据文件的大小;比较模块,用于将所述当前元数据文件的大小与预定的阈值进行比较;以及拷贝模块,用于当所述当前元数据文件的大小小于所述预定的阈值时,将所述当前元数据文件直接拷贝到所述节点。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括记录模块,用于在所述拷贝模块拷贝所述当前元数据文件的同时记录拷贝时的事务号。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括第一应用模块,用于在所述记录模块记录所述事务号之后,应用所述事务号后面的事务。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括第二应用模块,用于当所述当前元数据文件的大小大于所述预定的阈值时,顺序应用日志文件。
10.根据权利要求6所述的装置,其特征在于,所述预定的阈值根据所述多元数据服务器的系统容量来确定。
全文摘要
本发明公开了一种,多元数据服务器下日志系统的恢复方法,包括在宕机的节点重启时,查询当前元数据文件的大小;将当前元数据文件的大小与预定的阈值进行比较;以及在当前元数据文件的大小小于预定的阈值时,将当前元数据文件直接拷贝到所述节点。通过本发明的技术方案,能够降低恢复元数据文件的时间。
文档编号G06F11/14GK103019886SQ201210533418
公开日2013年4月3日 申请日期2012年12月11日 优先权日2012年12月11日
发明者张东阳, 李博, 张玉龙, 苗艳超, 刘新春, 邵宗有 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1