一种元数据集群的故障恢复方法、系统及相关组件与流程

文档序号:16536353发布日期:2019-01-08 19:56阅读:175来源:国知局
一种元数据集群的故障恢复方法、系统及相关组件与流程

本发明涉及数据存储管理领域,特别涉及一种元数据集群的故障恢复方法、系统、一种计算机可读存储介质及一种电子设备。



背景技术:

当元数据集群出现故障时,备用的元数据服务接替故障的元数据服务,恢复集群对外服务。在恢复这段时间,接替的元数据服务并不对外提供服务,即不响应客户端请求。因此恢复时间长短直接影响到用户体验。

现有技术中,元数据集群故障恢复期间需要和客户端重新建立连接,所有客户端会把现有缓存里所有的inode(索引节点)信息都发给备用元数据服务,以便备用元数据服务把这些inode信息都加载到内存里。但是,客户端现有缓存里的inode信息数量巨大,如果元数据全部加载势必增加故障恢复时间。

因此,如何在元数据服务故障恢复时,减少inode信息的加载时间,提高元数据服务故障恢复的效率是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种元数据集群的故障恢复方法、系统、一种计算机可读存储介质及一种电子设备,能够在元数据服务故障恢复时,减少inode信息的加载时间,提高元数据服务故障恢复的效率。

为解决上述技术问题,本申请提供一种元数据集群的故障恢复方法,该故障恢复方法包括:

当检测到元数据集群出现故障时,确定所述元数据集群中的故障元数据服务;

查询与所述故障元数据服务对应的备用元数据服务,并建立所有客户端与所述备用元数据服务之间的通信连接;

将每一所述客户端的操作文件列表中的目标inode信息传输至所述备用元数据服务,以便所述元数据集群恢复对外服务;其中,所述目标inode信息为当前时刻所述客户端正在使用的inode信息。

可选的,还包括:

查询每一所述客户端的inode持有权限,并根据与所述inode持有权限对应的inode信息作为所述目标inode信息生成所述操作文件列表。

可选的,所述inode持有权限包括inode打开权限和/或inode修改属性字段权限。

可选的,在所述元数据集群恢复对外服务之后,还包括:

上传所述故障元数据服务宕机的提示信息。

本申请还提供了一种元数据集群的故障恢复系统,该故障恢复系统包括:

故障服务确定模块,用于当检测到元数据集群出现故障时,确定所述元数据集群中的故障元数据服务;

冗余模块,用于查询与所述故障元数据服务对应的备用元数据服务,并建立所有客户端与所述备用元数据服务之间的通信连接;

故障恢复模块,用于将每一所述客户端的操作文件列表中的目标inode信息传输至所述备用元数据服务,以便所述元数据集群恢复对外服务;其中,所述目标inode信息为当前时刻所述客户端正在使用的inode信息。

可选的,还包括:

列表生成模块,用于查询每一所述客户端的inode持有权限,并根据与所述inode持有权限对应的inode信息作为所述目标inode信息生成所述操作文件列表。

可选的,所述inode持有权限包括inode打开权限和/或inode修改属性字段权限。

可选的,还包括:

故障提示模块,用于上传故障元数据服务宕机的提示信息。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述元数据集群的故障恢复方法执行的步骤。

本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述元数据集群的故障恢复方法执行的步骤。

本发明提供了一种元数据集群的故障恢复方法,包括当检测到元数据集群出现故障时,确定所述元数据集群中的故障元数据服务;查询与所述故障元数据服务对应的备用元数据服务,并建立所有客户端与所述备用元数据服务之间的通信连接;将每一所述客户端的操作文件列表中的目标inode信息传输至所述备用元数据服务,以便所述元数据集群恢复对外服务;其中,所述目标inode信息为当前时刻所述客户端正在使用的inode信息。

本申请通过在恢复元数据服务故障时,仅把客户端正在使用的inode信息传输至备用元数据服务中,减少了备用元数据服务需要加载的内容,缩短了元数据服务故障恢复的时间,可以使元数据集群快速的对外提供服务。进一步的,由于本申请将客户端中正在使用的inode信息传输至备用元数据服务中,因此当元数据服务故障恢复后,与客户端建立连接关系的备用元数据服务能够为客户端提供正常服务,不会造成客户端正在使用的inode信息没有加载到元数据服务缓存中的情况。本申请能够在元数据服务故障恢复时,减少inode信息的加载时间,提高元数据服务故障恢复的效率。本申请同时还提供了一种元数据集群的故障恢复系统、一种计算机可读存储介质和一种电子设备,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种元数据集群的故障恢复方法的流程图;

图2为本申请实施例所提供的另一种元数据集群的故障恢复方法的流程图;

图3为本申请实施例所提供的一种元数据集群的故障恢复系统的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面请参见图1,图1为本申请实施例所提供的一种元数据集群的故障恢复方法的流程图。

具体步骤可以包括:

s101:当检测到元数据集群出现故障时,确定所述元数据集群中的故障元数据服务;

其中,本实施例是针对当元数据集群出现故障时,如何实现快速故障恢复的实施方式。元数据集群中可以包括多个元数据服务,既可以包括正在与客户端发生业务交互的元数据服务,可以包括备用的冗余元数据服务;元数据服务可以理解为一个进程。由于元数据集群中存在多个元数据服务,因此当元数据集群出现故障后,本步骤首先确定是哪一个元数据服务出现了故障,即本步骤中的确定元数据集群中的故障元数据服务,此处并不限定故障元数据服务的数量。需要说明的是,本实施例只将出现故障前与客户端进行业务交互且出现了故障元数据服务成为故障元数据服务。

s102:查询与所述故障元数据服务对应的备用元数据服务,并建立所有客户端与所述备用元数据服务之间的通信连接;

其中,本实施例可以是备用元数据服务可以用来替代所用的正在使用的元数据服务,也可以是存在有某些正在使用的元数据服务与备用元数据服务的对应关系,根据该对应关系查询与所述故障元数据服务对应的备用元数据服务。总之,在确定能够接替故障元数据服务的备用元数据服务后,可以元数据集群对应的所有客户端均与备用元数据服务建立通信连接,以便所有客户端向备用元数据服务传输必要的inode信息。

s103:将每一所述客户端的操作文件列表中的目标inode信息传输至所述备用元数据服务,以便所述元数据集群恢复对外服务;其中,所述目标inode信息为当前时刻所述客户端正在使用的inode信息。

其中,由于备用元数据服务的内存中并没有客户端缓存中的inode信息,因此需要将客户端中的inode信息传输至备用元数据服务。现有技术中是将客户端的所有inode信息都传输至备用元数据服务,但是由于全部的inode信息数据量较大,会影响故障恢复的效率。本实施例是将当前时刻客户端正在使用的inode信息传输中备用元数据服务,具体的当前时刻可以是指客户端与备用元数据服务建立通信连接的时刻。

需要说明的是,客户端的操作文件列表中存储有当前时刻所述客户端正在使用的inode信息,并将正在使用的inode信息设置为目标inode信息。

本实施例通过在恢复元数据服务故障时,仅把客户端正在使用的inode信息传输至备用元数据服务中,减少了备用元数据服务需要加载的内容,缩短了元数据服务故障恢复的时间,可以使元数据集群快速的对外提供服务。进一步的,由于本实施例将客户端中正在使用的inode信息传输至备用元数据服务中,因此当元数据服务故障恢复后,与客户端建立连接关系的备用元数据服务能够为客户端提供正常服务,不会造成客户端正在使用的inode信息没有加载到元数据服务缓存中的情况。本实施例能够在元数据服务故障恢复时,减少inode信息的加载时间,提高元数据服务故障恢复的效率。

下面请参见图2,图2为本申请实施例所提供的另一种元数据集群的故障恢复方法的流程图。

具体步骤可以包括:

s201:查询每一所述客户端的inode持有权限,并根据与所述inode持有权限对应的inode信息作为所述目标inode信息生成所述操作文件列表。

其中,所述inode持有权限包括inode打开权限和/或inode修改属性字段权限。当用户端正在使用某些inode信息时,必然会有对应的inode持有权限,该inode权限可以是inode打开权限和/或inode修改属性字段权限,当然inode持有权限还可以是其他的权限,此处不进行具体的限定。可以存在按照预设周期更新操作文件列表的操作,inode持有权限就是当前时刻客户端正在使用的inode信息对应的权限。

s202:当检测到元数据集群出现故障时,确定所述元数据集群中的故障元数据服务;

s203:查询与所述故障元数据服务对应的备用元数据服务,并建立所有客户端与所述备用元数据服务之间的通信连接;

s204:将每一所述客户端的操作文件列表中的目标inode信息传输至所述备用元数据服务,以便所述元数据集群恢复对外服务;其中,所述目标inode信息为当前时刻所述客户端正在使用的inode信息。

s205:上传所述故障元数据服务宕机的提示信息。

本实施例将当前时刻正在使用的inode信息具体为客户端持有inode持有权限对应的inode信息,能够为客户端提供正常服务,不会造成客户端正在使用的inode信息没有加载到元数据服务缓存中的情况。

请参见图3,图3为本申请实施例所提供的一种元数据集群的故障恢复系统的结构示意图;

该系统可以包括:

故障服务确定模块100,用于当检测到元数据集群出现故障时,确定所述元数据集群中的故障元数据服务;

冗余模块200,用于查询与所述故障元数据服务对应的备用元数据服务,并建立所有客户端与所述备用元数据服务之间的通信连接;

故障恢复模块300,用于将每一所述客户端的操作文件列表中的目标inode信息传输至所述备用元数据服务,以便所述元数据集群恢复对外服务;其中,所述目标inode信息为当前时刻所述客户端正在使用的inode信息。

进一步的,该故障恢复系统还包括:

列表生成模块,用于查询每一所述客户端的inode持有权限,并根据与所述inode持有权限对应的inode信息作为所述目标inode信息生成所述操作文件列表。

进一步的,所述inode持有权限包括inode打开权限和/或inode修改属性字段权限。

进一步的,该故障恢复系统还包括:

故障提示模块,用于上传故障元数据服务宕机的提示信息。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本实施例通过在恢复元数据服务故障时,仅把客户端正在使用的inode信息传输至备用元数据服务中,减少了备用元数据服务需要加载的内容,缩短了元数据服务故障恢复的时间,可以使元数据集群快速的对外提供服务。进一步的,由于本实施例将客户端中正在使用的inode信息传输至备用元数据服务中,因此当元数据服务故障恢复后,与客户端建立连接关系的备用元数据服务能够为客户端提供正常服务,不会造成客户端正在使用的inode信息没有加载到元数据服务缓存中的情况。本实施例能够在元数据服务故障恢复时,减少inode信息的加载时间,提高元数据服务故障恢复的效率。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1