分布式文件系统多节点快照回滚方法及系统与流程

文档序号:16736274发布日期:2019-01-28 12:39阅读:292来源:国知局
分布式文件系统多节点快照回滚方法及系统与流程

本发明实施例涉及分布式文件系统技术领域,特别是涉及一种分布式文件系统多节点快照回滚方法及系统。



背景技术:

随着云计算、大数据的快速发展,数据呈现爆炸式增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,已经无法满足信息爆炸时代指数倍增长的数据的存储需求,分布式文件系统应用而生。

分布式文件系统(distributedfilesystem)为基于客户端/服务器模式的文件系统管理的物理存储资源,通过计算机网络与节点相连,可以有效解决数据的存储和管理难题。将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。用户在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。

随着存储nas产品应用越来越普及,文件系统快照也越来越得到广泛使用。文件系统快照即文件系统的一个即时拷贝,为一个完整可用的副本,包含了文件系统在快照生成时刻的所有信息。分布式文件系统包含由多个元数据服务器构成的元数据集群,部署在多个不同的节点上。当多个客户端访问不同的元数据服务,同时发起一个文件系统上的快照回滚操作时,或者在一个回滚还未完成时,另外一个元数据服务接收到其他回滚任务,容易会出现各节点快照回滚不一致的现象。



技术实现要素:

本公开实施例提供了一种分布式文件系统多节点快照回滚方法及系统,实现了多节点快照回滚的一致性。

为解决上述技术问题,本发明实施例提供以下技术方案:

本发明实施例一方面提供了一种分布式文件系统多节点快照回滚方法,分布式文件系统包括主元数据服务器和多个从元数据服务器,基于主元数据服务器,包括:

接收各从元数据服务器发送的快照回滚任务处理信息;

根据所述快照回滚任务处理信息对预先构建的全局回滚任务队列进行相应操作,并更新对象存储服务器中的全局回滚任务队列;

向各从元数据服务器发送更新回滚任务队列的信息,以使各从元数据服务器根据从所述对象存储服务器读取信息对各自缓存中的本地回滚任务队列进行更新。

可选的,所述快照回滚任务处理信息为客户端的快照回滚任务请求,所述根据所述快照回滚任务处理信息对预先构建的全局回滚任务队列进行相应操作包括:

将所述快照回滚任务请求加入至所述全局回滚任务队列。

可选的,所述快照回滚任务处理信息为快照回滚任务完成信息,所述根据所述快照回滚任务处理信息对预先构建的全局回滚任务队列进行相应操作包括:

将所述快照回滚任务完成信息对应的快照回滚任务,从所述全局回滚任务队列中删除。

可选的,在所述向各从元数据服务器发送更新回滚任务队列的信息之后,还包括:

当接收到所述分布式文件系统中所有从元数据服务器反馈的本地缓存更新完成信息后,向各从元数据服务器发送更新完成的信息。

本发明实施例还提供了一种分布式文件系统多节点快照回滚方法,分布式文件系统包括主元数据服务器和多个从元数据服务器,基于从元数据服务器,包括:

向所述主元数据服务器发送快照回滚任务处理信息;

当接收到所述主元数据服务器发送的更新回滚任务队列的信息,从对象存储服务器读取更新信息;

根据所述更新信息对本地回滚任务队列进行更新;

其中,所述对象存储服务器存储所述主元数据服务器根据所述快照回滚任务处理信息更新后的全局回滚任务队列。

可选的,所述向所述主元数据服务器发送快照回滚任务处理信息包括:

当接收到客户端的快照回滚任务请求,根据所述快照回滚任务请求构造快照回滚任务队列更新消息;

将所述快照回滚任务队列更新消息发送至所述主元数据服务器。

可选的,所述向所述主元数据服务器发送快照回滚任务处理信息包括:

判断是否完成第一快照回滚任务;

若是,则向所述主元数据服务器发送所述第一快照回滚任务完成的信息。

可选的,还包括:

在重启成功后,从所述对象存储服务器读取未完成回滚任务;

将各未完成回滚任务更新至本地缓存中的本地回滚任务队列中。

可选的,在所述根据所述更新信息对本地回滚任务队列进行更新之后,还包括:

在完成更新之后,向所述主元数据服务器发送本地缓存更新完成的信息。

本发明实施例另一方面提供了一种分布式文件系统多节点快照回滚系统,包括:

包括主元数据服务器和多个从元数据服务器:

所述主元数据服务器用于接收各从元数据服务器发送的快照回滚任务处理信息;根据所述快照回滚任务处理信息对预先构建的全局回滚任务队列进行相应操作,并更新对象存储服务器中的全局回滚任务队列;向各从元数据服务器发送更新回滚任务队列的信息,以使各从元数据服务器根据从所述对象存储服务器读取信息对各自缓存中的本地回滚任务队列进行更新;

各从元数据服务器用于向所述主元数据服务器发送快照回滚任务处理信息;当接收到所述主元数据服务器发送的更新回滚任务队列的信息,从对象存储服务器读取更新信息;根据所述更新信息对本地回滚任务队列进行更新。

本申请提供的技术方案的优点在于,使用主元数据服务器统一管理分布式文件系统中所有的快照回滚任务的更新,主元数据服务器更新完成后,通知各从元数据服务器进行相应的更新操作,使得所有元数据服务器本地缓存中的回滚任务队列中的回滚任务均为最新,并且是一致的,使得存储系统上所有元数据服务器均可接收客户端发送来的快照回滚任务,且可同时接收处理客户端发起的所有回滚任务,从而提升了存储系统对快照回滚任务的可管理性、可维护性。

此外,本发明实施例还针对分布式文件系统多节点快照回滚方法提供了相应的系统,进一步使得所述方法更具有实用性,所述系统具有相应的优点。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

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

图1为本发明实施例提供的一种分布式文件系统多节点快照回滚方法的交互流程示意图;

图2为本发明实施例提供的另一种分布式文件系统多节点快照回滚方法的交互流程示意图;

图3为本发明实施例提供的再一种分布式文件系统多节点快照回滚方法的交互流程示意图;

图4为本发明实施例根据第一示例性实施例示出的分布式文件系统多节点快照回滚装置的结构示意图;

图5为本发明实施例根据第二示例性实施例示出的分布式文件系统多节点快照回滚装置的结构示意图;

图6为本发明实施例根据第三示例性实施例示出的分布式文件系统多节点快照回滚装置的结构示意图;

图7为本发明实施例根据第四示例性实施例示出的分布式文件系统多节点快照回滚装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。

首先参见图1,图1为本发明实施例提供的一种分布式文件系统多节点快照回滚方法的交互流程示意图,本发明实施例可包括以下内容:

s101:从元数据服务器向主元数据服务器发送快照回滚任务处理信息。

分布式文件系统包括元数据服务器集群,从该集群中选取一个元数据服务器作为主元数据服务器,其他各元数据服务器作为从元数据服务器。本领域技术人员可根据实际情况进行选取主元数据服务器,也可随机选择任意一台,这均不影响本申请的实现。

快照回滚任务处理信息可为从元数据服务器接收的客户端发送的快照回滚任务请求,也可为快照回滚任务完成信息。

从元数据服务器在接收到客户端的快照回滚任务请求,首先将快照回滚任务请求构造为快照回滚任务队列更新消息发送至主元数据服务器。

从元数据服务器在完成快照回滚任务后,将完成的快照回滚任务构造为快照回滚任务队列更新消息发送至主元数据服务器。

从元数据服务器在构造快照回滚任务队列更新消息时,可为不同的类型增加不同的标识信息,以使主元数据服务器根据该标识信息识别类型。

s102:主元数据服务器接收各从元数据服务器发送的快照回滚任务处理信息,根据快照回滚任务处理信息对预先构建的全局回滚任务队列进行相应操作,并更新对象存储服务器中的全局回滚任务队列。

快照回滚任务处理信息包括增加快照回滚任务和快照回滚任务完成两种,主元数据服务器根据接收到的快照回滚任务处理信息的类型执行增加和删除两种操作。

每个元数据服务器都对应一个快照回滚任务队列,存储着快照回滚任务。主元数据服务器对应快照回滚任务队列为全局回滚任务队列,并将其写入对象存储服务器中。各从元数据服务器对应的快照回滚任务队列为本地回滚任务队列,存储在其本地缓存中。从元数据服务器从对象存储服务器中读取快照回滚任务,并将读取到的信息更新至本地缓存中的回滚任务队列中,使其和全局回滚任务队列保持一致。

从元数据服务器向主元数据服务器发送的为客户端的快照回滚任务请求,主元数据服务器接收到信息后,首先从对象存储服务器中读一遍回滚任务队列,以保证对象存储服务器中的回滚任务队列为最新的,将新的快照回滚任务请求添加至全局回滚任务队列中,并写入对象存储服务器,以更新对象存储服务器中的回滚任务。

从元数据服务器发送的是完成快照回滚任务(例如第一快照回滚任务完成),主元数据服务器接收到信息后,首先从对象存储服务器中读一遍回滚任务队列,以保证对象存储服务器中的回滚任务队列为最新的,将已经完成的快照回滚任务从全局回滚任务队列中删除,并更新对象存储服务器中的回滚任务。

s103:主元数据服务器向各从元数据服务器发送更新回滚任务队列的信息。

主元数据服务器更新完成自身的回滚任务队列之后,且保证对象存储服务器中的回滚任务也更新完成,则向各从元数据服务器广播更新回滚任务队列的信息。

s104:从元数据服务器接收到主元数据服务器发送的更新回滚任务队列的信息,从对象存储服务器读取更新信息。

各从元数据服务器接收到主元数据服务器的广播信息之后,从对象存储服务器中读取更新的信息。

s105:从元数据服务器根据更新信息对本地回滚任务队列进行更新。

在本发明实施例提供的技术方案中,使用主元数据服务器统一管理分布式文件系统中所有的快照回滚任务的更新,主元数据服务器更新完成后,通知各从元数据服务器进行相应的更新操作,使得所有元数据服务器本地缓存中的回滚任务队列中的回滚任务均为最新,并且是一致的,使得存储系统上所有元数据服务器均可接收客户端发送来的快照回滚任务,且可同时接收处理客户端发起的所有回滚任务,从而提升了存储系统对快照回滚任务的可管理性、可维护性。

可选的,各从元数据服务器对本地缓存中的本地回滚任务队列的快照回滚任务更新完成后,可将更新完成的信息发送至主元数据服务器。主元数据服务器在接收到中所有从元数据服务器反馈的本地缓存更新完成信息后,向各从元数据服务器发送更新完成的信息。

及时跟进各从元数据服务器的更新进度,有利于保证所有元数据服务器本地缓存中的回滚任务队列中的回滚任务均为最新,并且是一致。

对于分布式文件系统中的任何一个元数据服务器,当某个元数据服务器异常造成该元数据服务器重启,在该元数据服务器重启成功后,可直接从对象存储服务器读取未完成回滚任务,然后将各未完成回滚任务更新至本地缓存中的本地回滚任务队列中,从而实现所有元数据服务器本地缓存中的回滚任务队列中的回滚任务均为最新,并且是一致。

本申请还提供了一个实施例,请参见图2,图2为本发明实施例提供的另一种分布式文件系统多节点快照回滚方法的交互流程示意图,本发明实施例例如可应用于分布式文件系统,可包括以下内容:

s201:从元数据服务器接收到客户端的快照回滚任务请求,根据快照回滚任务请求构造快照回滚任务队列更新消息。

s202:从元数据服务器将快照回滚任务队列更新消息发送至主元数据服务器。

s203:主元数据服务器接收到快照回滚任务队列更新消息,将快照回滚任务请求加入至全局回滚任务队列,并将其写入对象存储服务器中。

s204:主元数据服务器向各从元数据服务器发送更新回滚任务队列的信息。

s205:从元数据服务器根据从对象存储服务器根据读取信息对各自缓存中的本地回滚任务队列进行更新。

s206:从元数据服务器在完成更新之后,向主元数据服务器发送本地缓存更新完成的信息。

s207:主元数据服务器在接收到分布式文件系统中所有从元数据服务器反馈的本地缓存更新完成信息后,向各从元数据服务器发送更新完成的信息。

本发明实施例与上述实施例相同的方法或步骤的实现过程,可参阅上述实施例的描述,此处,便不再赘述。

由上可知,本发明实施例实现了多节点快照回滚的一致性。

本申请还提供了另外一个实施例,请参见图3,图3为本发明实施例提供的另一种分布式文件系统多节点快照回滚方法的交互流程示意图,本发明实施例例如可应用于分布式文件系统,可包括以下内容:

s301:从元数据服务器完成快照回滚任务,将完成的快照回滚任务构造为快照回滚任务队列更新消息。

s302:从元数据服务器将快照回滚任务队列更新消息发送至主元数据服务器。

s303:主元数据服务器接收到快照回滚任务队列更新消息,从全局回滚任务队列中删除已完成的快照回滚任务,并更新对象存储服务器。

s304:主元数据服务器向各从元数据服务器发送更新回滚任务队列的信息。

s305:从元数据服务器根据从对象存储服务器读取信息对各自缓存中的本地回滚任务队列进行更新。

s306:从元数据服务器在完成更新之后,向主元数据服务器发送本地缓存更新完成的信息。

s307:主元数据服务器在接收到分布式文件系统中所有从元数据服务器反馈的本地缓存更新完成信息后,向各从元数据服务器发送更新完成的信息。

本发明实施例与上述实施例相同的方法或步骤的实现过程,可参阅上述实施例的描述,此处,便不再赘述。

由上可知,本发明实施例实现了多节点快照回滚的一致性。

本发明实施例还针对分布式文件系统多节点快照回滚方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的分布式文件系统多节点快照回滚装置进行介绍,下文描述的分布式文件系统多节点快照回滚装置与上文描述的分布式文件系统多节点快照回滚方法可相互对应参照。

请参见图4,图4为本发明实施例提供的分布式文件系统多节点快照回滚装置在一种具体实施方式下的结构图,基于主元数据服务器,该装置可包括:

信息接收模块401,用于接收各从元数据服务器发送的快照回滚任务处理信息。

快照回滚任务更新模块402,根据快照回滚任务处理信息对预先构建的全局回滚任务队列进行相应操作,并更新对象存储服务器中的全局回滚任务队列。

广播更新信息模块403,用于向各从元数据服务器发送更新回滚任务队列的信息,以使各从元数据服务器根据从对象存储服务器读取信息对各自缓存中的本地回滚任务队列进行更新。

在一种实施方式中,所述快照回滚任务更新模块402可为当接收到从元数据服务器发送的客户端的快照回滚任务请求,将快照回滚任务请求加入至全局回滚任务队列的模块。

在另一种实施方式中,所述快照回滚任务更新模块402可为当接收到从元数据服务器发送的快照回滚任务完成信息,将快照回滚任务完成信息对应的快照回滚任务,从全局回滚任务队列中删除的模块。

此外,请参阅图5,所述装置例如还包括广播更新完成信息模块404,用于当接收到分布式文件系统中所有从元数据服务器反馈的本地缓存更新完成信息后,向各从元数据服务器发送更新完成的信息。

请参见图6,图6为本发明实施例提供的分布式文件系统多节点快照回滚装置再一种具体实施方式下的结构图,基于从元数据服务器,该装置可包括:

信息发送模块601,用于向主元数据服务器发送快照回滚任务处理信息。

信息读取模块602,用于当接收到主元数据服务器发送的更新回滚任务队列的信息,从对象存储服务器读取更新信息;对象存储服务器存储主元数据服务器根据快照回滚任务处理信息更新后的全局回滚任务队列。

队列更新模块603,用于根据更新信息对本地回滚任务队列进行更新。

可选的,所述信息发送模块601可为当接收到客户端的快照回滚任务请求,根据快照回滚任务请求构造快照回滚任务队列更新消息;将快照回滚任务队列更新消息发送至主元数据服务器的模块。

可选的,所述信息发送模块601还可为当检测到第一快照回滚任务完成后,向主元数据服务器发送第一快照回滚任务完成的信息的模块。

在另外一种实施方式中,请参阅图7,所述装置例如可包括重启信息读取模块604,用于在重启成功后,从对象存储服务器读取未完成回滚任务;将各未完成回滚任务更新至本地缓存中的本地回滚任务队列中。

所述装置例如还可包括信息反馈模块605,用于在完成更新之后,向主元数据服务器发送本地缓存更新完成的信息。

本发明实施例所述分布式文件系统多节点快照回滚装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例使用主元数据服务器统一管理分布式文件系统中所有的快照回滚任务的更新,实现了所有元数据服务器本地缓存中的回滚任务队列的回滚任务均为最新的,并且是一致的,提升了存储系统对快照回滚任务的可管理性、可维护性。

本发明实施例还提供了一种分布式文件系统多节点快照回滚系统,可包括主元数据服务器和多个从元数据服务器:

主元数据服务器用于接收各从元数据服务器发送的快照回滚任务处理信息;根据快照回滚任务处理信息对预先构建的全局回滚任务队列进行相应操作,并更新对象存储服务器中的全局回滚任务队列;向各从元数据服务器发送更新回滚任务队列的信息,以使各从元数据服务器根据从对象存储服务器读取信息对各自缓存中的本地回滚任务队列进行更新;

各从元数据服务器用于向主元数据服务器发送的快照回滚任务处理信息;当接收到主元数据服务器发送的更新回滚任务队列的信息,从对象存储服务器读取更新信息;根据更新信息对本地回滚任务队列进行更新。

本发明实施例所述分布式文件系统多节点快照回滚系统的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例使用主元数据服务器统一管理分布式文件系统中所有的快照回滚任务的更新,实现了所有元数据服务器本地缓存中的回滚任务队列的回滚任务均为最新的,并且是一致的,提升了存储系统对快照回滚任务的可管理性、可维护性。

本发明实施例还提供了一种分布式文件系统多节点快照回滚设备,具体可包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序以实现如上任意一实施例所述分布式文件系统多节点快照回滚方法的步骤。

本发明实施例所述分布式文件系统多节点快照回滚设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例使用主元数据服务器统一管理分布式文件系统中所有的快照回滚任务的更新,实现了所有元数据服务器本地缓存中的回滚任务队列的回滚任务均为最新的,并且是一致的,提升了存储系统对快照回滚任务的可管理性、可维护性。

本发明实施例还提供了一种计算机可读存储介质,存储有分布式文件系统多节点快照回滚程序,所述分布式文件系统多节点快照回滚程序被处理器执行时如上任意一实施例所述分布式文件系统多节点快照回滚方法的步骤。

本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例使用主元数据服务器统一管理分布式文件系统中所有的快照回滚任务的更新,实现了所有元数据服务器本地缓存中的回滚任务队列的回滚任务均为最新的,并且是一致的,提升了存储系统对快照回滚任务的可管理性、可维护性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种分布式文件系统多节点快照回滚方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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