分布式文件系统快照回滚元数据处理方法、装置及设备与流程

文档序号:16248803发布日期:2018-12-11 23:49阅读:227来源:国知局
分布式文件系统快照回滚元数据处理方法、装置及设备与流程

本发明涉及分布式文件技术领域,特别是涉及一种分布式文件系统快照回滚元数据处理方法、装置、设备以及计算机可读存储介质。

背景技术

快照可以是数据再现的一个副本或者复制。对于文件系统来说,文件系统快照是文件系统的一个即时拷贝,它包含了文件系统在快照生成时刻所有的信息,本身也是一个完整可用的副本。对于快照来说,数据恢复是一个非常重要的功能,数据恢复的时间是量化快照性能的一个重要指标。

现有实现在线快照回滚的技术中,往往会对正常业务造成很大影响,从而导致集群无法提供正常的业务的情况发生。



技术实现要素:

本发明的目的是提供一种分布式文件系统快照回滚元数据处理方法、装置、设备以及计算机可读存储介质,以解决现有对快照回滚过程中集群无法提供正常业务的问题。

为解决上述技术问题,本发明提供一种分布式文件系统快照回滚元数据处理方法,包括:

接收客户端的回滚请求;

开启与当前的主线程相独立的异步处理线程,以通过所述异步处理线程对元数据进行回滚处理;

响应所述客户端,向所述客户端发送回滚完成的响应信息。

可选地,所述开启与当前的主线程相独立的异步处理线程,以通过所述异步处理线程对元数据进行回滚处理包括:

所述主线程将待回滚的目录存储在全局字段中;

所述异步处理线程检测所述全局字段中是否有待回滚的目录,如果有,则对所述元数据进行回滚处理。

可选地,在所述主线程将待回滚的目录存储在全局字段中之后还包括:

所述主线程将所述待回滚的目录写入至底层存储设备中。

可选地,在所述全局字段中有待回滚的目录时,所述对元数据进行回滚处理包括:

所述异步处理线程将待回滚的元数据插入等待队列;

判断当前有无其他请求;

如果无,则对所述等待队列中的元数据进行回滚处理;如果有,则判断其他请求对应的元数据是否在所述待回滚的目录中;

如果是,则先对所述元数据进行回滚处理再响应所述请求;如果否,则先响应所述请求再对所述元数据进行回滚处理。

本发明还提供了一种分布式文件系统快照回滚元数据处理装置,包括:

请求接收模块,用于接收客户端的回滚请求;

数据回滚模块,用于开启与当前的主线程相独立的异步处理线程,以通过所述异步处理线程对元数据进行回滚处理;

响应模块,用于响应所述客户端,向所述客户端发送回滚完成的响应信息。

可选地,所述数据回滚模块具体用于:所述主线程将待回滚的目录存储在全局字段中;所述异步处理线程检测所述全局字段中是否有待回滚的目录,如果有,则对所述元数据进行回滚处理。

可选地,还包括:

数据写入模块,用于在所述主线程将待回滚的目录存储在全局字段中之后,所述主线程将所述待回滚的目录写入至底层存储设备中。

可选地,所述数据回滚模块具体用于:所述异步处理线程将待回滚的元数据插入等待队列;判断当前有无其他请求;如果无,则对所述等待队列中的元数据进行回滚处理;如果有,则判断其他请求对应的元数据是否在所述待回滚的目录中;如果是,则先对所述元数据进行回滚处理再响应所述请求;如果否,则先响应所述请求再对所述元数据进行回滚处理。

本发明还提供了一种分布式文件系统快照回滚元数据处理设备,包括:

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

处理器,用于执行所述计算机程序时实现上述任一种所述分布式文件系统快照回滚元数据处理方法的步骤。

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

本发明所提供的分布式文件系统快照回滚元数据处理方法,通过主线程接收客户端的回滚请求;开启与主线程独立的异步处理线程,通过异步处理线程对元数据进行回滚处理;响应对应的客户端,向该客户端发送回滚完成的响应信息。可见,本申请对元数据进行回滚处理的过程由与主线程独立的异步处理线程执行,在回滚过程中对正常的业务不会造成较大的影响,改善了现有回滚过程中元数据同步处理导致集群无法提供正常业务的情况,不需要暂停业务,提高了用户的体验度。此外,本申请还提供了一种具有上述技术优点的分布式文件系统快照回滚元数据处理装置、设备以及计算机可读存储介质。

附图说明

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

图1为本发明所提供的分布式文件系统快照回滚元数据处理方法的一种具体实施方式的流程图;

图2为本发明实施例中对元数据进行回滚处理的流程图;

图3为本发明所提供的分布式文件系统快照回滚元数据处理方法的另一种具体实施方式中主线程对应的流程图;

图4为本发明所提供的分布式文件系统快照回滚元数据处理方法的另一种具体实施方式中异步处理线程对应的流程图;

图5为本发明实施例提供的分布式文件系统快照回滚元数据处理装置的结构框图。

具体实施方式

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

本发明所提供的分布式文件系统快照回滚元数据处理方法的一种具体实施方式的流程图如图1所示,该方法包括:

步骤s101:接收客户端的回滚请求;

当客户端发送回滚请求时,由主线程接收到该回滚请求,执行后续回滚操作。

步骤s102:开启与当前的主线程相独立的异步处理线程,以通过所述异步处理线程对元数据进行回滚处理;

主线程在接收到客户端的回滚请求之后,开启另一线程,该线程为与主线程独立的异步处理线程,通过该异步处理线程专门处理元数据的回滚。此时,主线程可以继续对正常的业务进行处理,因此本申请不会对正常业务造成较大的影响。

具体地,所述主线程将待回滚的目录存储在全局字段中;所述异步处理线程检测所述全局字段中是否有待回滚的目录,如果有,则对所述元数据进行回滚处理。进一步地,在所述主线程将待回滚的目录存储在全局字段中之后还包括:所述主线程将所述待回滚的目录写入至底层存储设备中。

参照图2本发明实施例中对元数据进行回滚处理的流程图所示,在所述全局字段中有待回滚的目录时,所述对元数据进行回滚处理包括:

步骤s1021:异步处理线程将待回滚的元数据插入等待队列;

步骤s1022:判断当前有无其他请求;

步骤s1023:如果无,则对所述等待队列中的元数据进行回滚处理;如果有,则判断其他请求对应的元数据是否在所述待回滚的目录中;

步骤s1024:如果是,则先对所述元数据进行回滚处理再响应所述请求;如果否,则先响应所述请求再对所述元数据进行回滚处理。

需要注意的是,全局字段可以表示当前是否有需要回滚的数据,如果全局字段中有值,则表示有待回滚的目录需要异步处理,否则表示没有待回滚的目录需要异步处理。在全局字段中有值,也就是有待回滚的目录时,先遍历该待回滚的目录,筛选出待回滚的元数据,将其加入到等待队列中。遍历完成之后,判断当前没有其他请求需要处理。如果没有,则开始依次处理等待队列。在当前有其他请求需要处理时,进一步判断该请求对应的文件是否在待回滚的目录之下,如果是,则先进行元数据回滚,再处理该请求。如果否,则先处理该请求,再进行元数据回滚。

当队列中元数据都回滚完成之后,将回滚目录从全局字段中删除,并进行落盘。

步骤s103:响应所述客户端,向所述客户端发送回滚完成的响应信息。

在步骤s102主线程开启异步处理线程,由异步处理线程专门处理快照回滚之后,主线程即可响应客户端的请求,表示回滚操作完成。对于客户端来说,此时快照已经回滚完成。因此,不需要像现有技术中那样,在全部快照回滚完成之后才向客户端返回回滚完成的响应信息,大大减少了客户端感知到的数据处理时间,实现了文件系统快照的秒级回滚,提高了数据回滚的效率。

本发明所提供的分布式文件系统快照回滚元数据处理方法,通过主线程接收客户端的回滚请求;开启与主线程独立的异步处理线程,通过异步处理线程对元数据进行回滚处理;响应对应的客户端,向该客户端发送回滚完成的响应信息。可见,本申请对元数据进行回滚处理的过程由与主线程独立的异步处理线程执行,在回滚过程中对正常的业务不会造成较大的影响,改善了现有回滚过程中元数据同步处理导致集群无法提供正常业务的情况,不需要暂停业务,提高了用户的体验度。

在本发明所提供的分布式文件系统快照回滚元数据处理方法的另一种具体实施方式中,分别针对主线程以及异步处理线程对回滚的过程进行进一步详细阐述。

如图3所示,对于主线程,该过程具体包括:

步骤s201:接收客户端的回滚请求;

步骤s202:将待回滚的目录存储在全局字段中(例如字段1)中,并将所述待回滚的目录写入至底层存储设备中。

步骤s203:开启与主线程独立的异步处理线程,以便异步处理线程进行元数据回滚。

步骤s204:响应客户端,向客户端发送回滚完成的响应信息。

如图4所示,对于异步处理线程,该过程具体包括:

步骤s301:检测上述全局字段中是否有待回滚的目录,没有则不做任何处理;

步骤s302:如果有,则先遍历整个目录,将待回滚的元数据插入等待队列(例如队列1);

步骤s303:判断当前有无其他请求需要处理;

步骤s304:如果无,则对等待队列中的元数据进行回滚处理;如果有,则判断该请求对应的元数据是否在所述待回滚的目录中;

步骤s305:如果是,则先对所述元数据进行回滚处理再响应所述请求;如果否,则先响应所述请求再对所述元数据进行回滚处理。

本申请采用异步处理元数据回滚机制,实现了文件系统快照的在线秒级回滚,并且不会对正常业务造成较大影响,提高了快照回滚的效率,解决了回滚过程中需暂停业务的问题,提高了用户的体验度。

下面对本发明实施例提供的分布式文件系统快照回滚元数据处理装置进行介绍,下文描述的分布式文件系统快照回滚元数据处理装置与上文描述的分布式文件系统快照回滚元数据处理方法可相互对应参照。

图5为本发明实施例提供的分布式文件系统快照回滚元数据处理装置的结构框图,参照图5分布式文件系统快照回滚元数据处理装置可以包括:

请求接收模块100,用于接收客户端的回滚请求;

数据回滚模块200,用于开启与当前的主线程相独立的异步处理线程,以通过所述异步处理线程对元数据进行回滚处理;

响应模块300,用于响应所述客户端,向所述客户端发送回滚完成的响应信息。

可选地,本申请实施例所提供的分布式文件系统快照回滚元数据处理装置中,数据回滚模块具体用于:所述主线程将待回滚的目录存储在全局字段中;所述异步处理线程检测所述全局字段中是否有待回滚的目录,如果有,则对所述元数据进行回滚处理。

进一步地还可以包括:数据写入模块,用于在所述主线程将待回滚的目录存储在全局字段中之后,所述主线程将所述待回滚的目录写入至底层存储设备中。

在上述任一实施例的基础上,本申请实施例所提供的分布式文件系统快照回滚元数据处理装置中,所述数据回滚模块具体用于:所述异步处理线程将待回滚的元数据插入等待队列;判断当前有无其他请求;如果无,则对所述等待队列中的元数据进行回滚处理;如果有,则判断所述请求对应的元数据是否在所述待回滚的目录中;如果是,则先对所述元数据进行回滚处理再响应所述请求;如果否,则先响应所述请求再对所述元数据进行回滚处理。

本实施例的分布式文件系统快照回滚元数据处理装置用于实现前述的分布式文件系统快照回滚元数据处理方法,因此分布式文件系统快照回滚元数据处理装置中的具体实施方式可见前文中的分布式文件系统快照回滚元数据处理方法的实施例部分,例如,请求接收模块100,数据回滚模块200,响应模块300,分别用于实现上述分布式文件系统快照回滚元数据处理方法中步骤s101,s102,s103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

此外,本发明还提供了一种分布式文件系统快照回滚元数据处理设备,包括:

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

处理器,用于执行所述计算机程序时实现上述任一种所述分布式文件系统快照回滚元数据处理方法的步骤。

此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述分布式文件系统快照回滚元数据处理方法的步骤。

本申请对元数据进行回滚处理的过程由与主线程独立的异步处理线程执行,在回滚过程中对正常的业务不会造成较大的影响,改善了现有回滚过程中元数据同步处理导致集群无法提供正常业务的情况,不需要暂停业务,提高了用户的体验度。并且,实现了文件系统快照的在线秒级回滚,提高了快照回滚的效率。

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

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

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

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

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