一种文件系统快照回滚后客户端缓存失效的实现方法与流程

文档序号:16693089发布日期:2019-01-22 19:08阅读:232来源:国知局
一种文件系统快照回滚后客户端缓存失效的实现方法与流程

本发明涉及元数据存储技术领域,更具体地说,涉及一种文件系统快照回滚后客户端缓存失效的实现方法、系统、装置、设备及可读存储介质。



背景技术:

在文件系统中,服务端通过mds存储和管理元数据,且客户端也会缓存有元数据,以便用户访问元数据,其中,mds为文件系统中的元数据服务器的守护进程。文件系统包括服务端和客户端,本申请文件中的快照指代的是元数据的快照,因此,快照回滚表示元数据的快照回滚。

文件系统中的元数据的快照回滚操作一般被认为包括两个部分,分别为:在服务端进行元数据的快照回滚,回滚完成后将回滚后的元数据快照同步至客户端,至此才认为回滚操作执行完成。当需要回滚的元数据快照较多时,回滚操作的实际实施过程为:先在服务端回滚一部分元数据快照,进而将回滚的这一部分元数据快照同步至客户端,待客户端同步完成且服务端知悉客户端回滚完成后,继续回滚剩下的元数据快照,如此反复,直至所有需要回滚的元数据快照回滚完成且均同步完成,才认为整个回滚操作执行完成。因此同步操作被认为是回滚操作的一部分,但是同步操作本身又与回滚操作无关。

其中,回滚操作中的同步操作的实质要解决的问题是:使客户端在接收到元数据的访问请求时,为用户提供最新的元数据访问服务,即避免对外响应修改之前的元数据。假设元数据a存在于客户端缓存,且元数据a在服务端进行了回滚操作;如若当元数据a在服务端完成回滚操作时,不将回滚后的元数据a同步至客户端,那么当客户端接收到元数据a的访问请求时,客户端将从自身缓存中获取元数据a响应该访问请求。而由于元数据a在服务端进行了回滚操作,即当前元数据a已经改变,因此客户端缓存中的元数据a已成为无效的数据,用此数据响应访问请求,即用户得到的元数据不是最新的元数据,甚至有可能是错误的元数据,从而影响了访问服务的质量。

因此同步操作是保障对外服务质量的重要操作。但是,当修改后的元数据的数据量较大时,同步操作的效率较为缓慢,如此便可能降低元数据的回滚效率和性能(同步操作是回滚操作的一部分)。即:同步操作虽然可以避免对外响应修改之前的元数据,但影响了元数据的快照回滚效率和性能。

需要说明的是,由于客户端的计算机资源有限,为了及时与服务端同步元数据,势必要与服务端进行频繁交互,且由于同步操作的效率缓慢,其占用的客户端计算机资源则较多,那么用于处理访问请求的客户端计算机资源则较少,如此可能影响客户端对外提供服务。

因此,如何在避免对外响应修改之前的元数据的同时,提高元数据的回滚效率和性能,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种文件系统快照回滚后客户端缓存失效的实现方法、系统、装置、设备及可读存储介质,以实现在避免对外响应修改之前的元数据的同时,提高元数据的回滚效率和性能。

为实现上述目的,本发明实施例提供了如下技术方案:

一种文件系统快照回滚后客户端缓存失效的实现方法,应用于客户端,包括:

当元数据的快照在服务端回滚完成时,获取所述服务端发送的权限回收消息;

发送所述权限回收消息的响应消息至所述服务端,以使所述服务端回收所述元数据的操作权限;

获取所述服务端反馈的回收确认消息后,根据所述回收确认消息释放对所述元数据的操作权限,实现所述元数据的缓存失效。

其中,还包括:

获取用户发送的所述元数据的访问请求;

判断对所述元数据是否具有操作权限;

若是,则从当前缓存中获取所述元数据并响应所述访问请求。

其中,若对所述元数据不具有操作权限,还包括:

将所述访问请求发送至所述服务端,以从所述服务端获取所述元数据并响应所述访问请求。

一种文件系统快照回滚后客户端缓存失效的实现方法,应用于服务端,包括:

当元数据的快照回滚完成时,发送权限回收消息至客户端;

接收所述客户端发送的所述权限回收消息的响应消息;

根据所述响应消息回收所述客户端对所述元数据的操作权限,并反馈回收确认消息至所述客户端,以使所述客户端释放对所述元数据的操作权限,实现所述元数据在所述客户端的缓存失效。

其中,还包括:

接收所述客户端发送的所述元数据的访问请求;

获取所述元数据并响应所述访问请求。

一种文件系统快照回滚后客户端缓存失效的实现系统,包括:

服务端,用于当元数据的快照回滚完成时,发送权限回收消息至客户端;接收所述客户端发送的所述权限回收消息的响应消息;根据所述响应消息回收所述客户端对所述元数据的操作权限,并反馈回收确认消息至所述客户端;

所述客户端,用于获取所述权限回收消息;发送所述响应消息至所述服务端;获取所述回收确认消息后,根据所述回收确认消息释放对所述元数据的操作权限,实现所述元数据的缓存失效。

一种文件系统快照回滚后客户端缓存失效的实现装置,包括:

客户端获取模块,用于当元数据的快照在服务端回滚完成时,获取所述服务端发送的权限回收消息;

客户端发送模块,用于发送所述权限回收消息的响应消息至所述服务端,以使所述服务端回收所述元数据的操作权限;

客户端缓存失效实现模块,用于获取所述服务端反馈的回收确认消息后,根据所述回收确认消息释放对所述元数据的操作权限,实现所述元数据的缓存失效。

一种文件系统快照回滚后客户端缓存失效的实现装置,包括:

服务端发送模块,用于当元数据的快照回滚完成时,发送权限回收消息至客户端;

服务端接收模块,用于接收所述客户端发送的所述权限回收消息的响应消息;

服务端缓存失效实现模块,用于根据所述响应消息回收所述客户端对所述元数据的操作权限,并反馈回收确认消息至所述客户端,以使所述客户端释放对所述元数据的操作权限,实现所述元数据在所述客户端的缓存失效。

一种文件系统快照回滚后客户端缓存失效的实现设备,包括:

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

处理器,用于执行所述计算机程序时实现上述任意一项所述的文件系统快照回滚后客户端缓存失效的实现方法的步骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的文件系统快照回滚后客户端缓存失效的实现方法的步骤。

通过以上方案可知,本发明实施例提供的一种文件系统快照回滚后客户端缓存失效的实现方法,应用于客户端,包括:当元数据的快照在服务端回滚完成时,获取所述服务端发送的权限回收消息;发送所述权限回收消息的响应消息至所述服务端,以使所述服务端回收所述元数据的操作权限;获取所述服务端反馈的回收确认消息后,根据所述回收确认消息释放对所述元数据的操作权限,实现所述元数据的缓存失效。

可见,为了在避免对外响应修改之前的元数据的同时,提高元数据的回滚效率和性能,上述方法提供了一种文件系统快照回滚后客户端缓存失效的实现方法,该方法在服务端完成元数据的快照回滚时,不做元数据的同步操作,而是通知客户端进行元数据的操作权限回收,使客户端缓存的元数据失效;其中,当客户端释放对元数据的操作权限后,才认为回滚操作执行完成。

即:当元数据a在服务端完成回滚操作时,通知客户端释放对元数据a的操作权限,当客户端释放对元数据a的操作权限后,才认为元数据a的回滚操作执行完成,此时当客户端接收到元数据a的访问请求时,由于客户端已不具有对元数据a的操作权限,因此其不会将未做修改的元数据a响应给用户,从而可以避免对外响应未做修改的元数据;上述方法代替现有技术中的同步操作,不仅可以避免对外响应修改之前的元数据,还避免了客户端和服务端频繁进行数据交互,因此本方法可以节约客户端的计算机资源,提升客户端对外提供服务的质量和效率。

相应地,本发明实施例提供的一种文件系统快照回滚后客户端缓存失效的实现系统、装置、设备及可读存储介质,也同样具有上述技术效果。

附图说明

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

图1为本发明实施例公开的一种文件系统快照回滚后客户端缓存失效的实现方法流程图;

图2为本发明实施例公开的另一种文件系统快照回滚后客户端缓存失效的实现方法流程图;

图3为本发明实施例公开的一种文件系统快照回滚后客户端缓存失效的实现系统示意图;

图4为本发明实施例公开的一种文件系统快照回滚后客户端缓存失效的实现装置示意图;

图5为本发明实施例公开的另一种文件系统快照回滚后客户端缓存失效的实现装置示意图;

图6为本发明实施例公开的一种文件系统快照回滚后客户端缓存失效的实现设备示意图;

图7为本发明实施例公开的一种文件系统快照回滚后客户端缓存失效的实现过程示意图。

具体实施方式

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

本发明实施例公开了一种文件系统快照回滚后客户端缓存失效的实现方法、系统、装置、设备及可读存储介质,以实现为用户提供高效的、最新的元数据访问服务,提高元数据的回滚效率和性能。

参见图1,本发明实施例提供的一种文件系统快照回滚后客户端缓存失效的实现方法,应用于客户端,包括:

s101、当元数据的快照在服务端回滚完成时,获取服务端发送的权限回收消息;

s102、发送权限回收消息的响应消息至服务端,以使服务端回收元数据的操作权限;

s103、获取服务端反馈的回收确认消息后,根据回收确认消息释放对元数据的操作权限,实现元数据的缓存失效。

在本实施例中,当元数据在服务端执行完回滚操作时,不将回滚的元数据同步至客户端,同时为了避免对外响应旧的或错误的元数据,当元数据在服务端完成回滚时,客户端主动获取权限回收消息,以回收执行回滚操作的元数据的操作权限,以实现客户端中缓存中的旧的元数据失效,由此既可以避免服务端和客户端频繁进行交互,还保障了对外服务的质量。

需要说明的是,本实施例提供的方法替代现有技术中的同步操作,当回滚操作分段执行时,本方法替换其中所有的同步操作,当回滚操作一次性执行时,本方法仅替代其中唯一的同步操作。

例如:当需要回滚的元数据的数据量较大时,回滚操作可能执行三次才将所有需要回滚的元数据的快照回滚完成,此时同步操作也需要执行三次,那么本方法则替换掉其中所有的同步操作;当需要回滚的元数据的数据量较小时,回滚操作可能执行一次就可以将需要回滚的元数据的快照回滚完成,此时同步操作也需要执行一次,那么本方法则替换掉其中唯一的同步操作。

当依据本实施例提供的方法执行完回滚操作后,当用户需要访问元数据时,还包括:

获取用户发送的元数据的访问请求;

判断对元数据是否具有操作权限;

若是,则从当前缓存中获取元数据并响应访问请求。

若否,则将访问请求发送至服务端,以从服务端获取元数据并响应访问请求。

具体的,当需要从服务端获取元数据时,通过服务端的mds与客户端实现交互。

可见,本实施例提供了一种文件系统快照回滚后客户端缓存失效的实现方法,为了在避免对外响应修改之前的元数据的同时,提高元数据的回滚效率和性能,上述方法提供了一种文件系统快照回滚后客户端缓存失效的实现方法,该方法在服务端完成元数据的快照回滚时,不做元数据的同步操作,而是通知客户端进行元数据的操作权限回收,使客户端缓存的元数据失效;其中,当客户端释放对元数据的操作权限后,才认为回滚操作执行完成。

即:当元数据a在服务端完成回滚操作时,通知客户端释放对元数据a的操作权限,当客户端释放对元数据a的操作权限后,才认为元数据a的回滚操作执行完成,此时当客户端接收到元数据a的访问请求时,由于客户端已不具有对元数据a的操作权限,因此其不会将未做修改的元数据a响应给用户,从而可以避免对外响应未做修改的元数据;上述方法代替现有技术中的同步操作,不仅可以避免对外响应修改之前的元数据,还避免了客户端和服务端频繁进行数据交互,因此本方法可以节约客户端的计算机资源,提升客户端对外提供服务的质量和效率。

本发明实施例公开了另一种文件系统快照回滚后客户端缓存失效的实现方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。

参见图2,本发明实施例提供的另一种文件系统快照回滚后客户端缓存失效的实现方法,应用于服务端,包括:

s201、当元数据的快照回滚完成时,发送权限回收消息至客户端;

s202、接收客户端发送的权限回收消息的响应消息;

s203、根据响应消息回收客户端对元数据的操作权限,并反馈回收确认消息至客户端,以使客户端释放对元数据的操作权限,实现元数据在客户端的缓存失效。

在本实施例中,当元数据完成回滚时,服务端发送权限回收消息至客户端,以使客户端进行响应,以回收执行回滚操作的元数据的操作权限,以实现客户端中缓存中的旧的元数据失效,由此既可以避免服务端和客户端频繁进行交互,还保障了对外服务的质量。其中,当客户端不具有元数据的访问权限时,其就不能获取自身缓存中的元数据,而需要从服务端获取相应的元数据。

当依据本实施例提供的方法执行完回滚操作后,当用户访问元数据且客户端不具有当前访问请求对应的访问对象的操作权限时,客户端需要将该访问请求转发至服务端,为用户提供相应的访问服务,其中包括:接收客户端发送的元数据的访问请求;获取元数据并响应访问请求。

可见,本实施例提供了另一种文件系统快照回滚后客户端缓存失效的实现方法,为了在避免对外响应修改之前的元数据的同时,提高元数据的回滚效率和性能,上述方法提供了一种文件系统快照回滚后客户端缓存失效的实现方法,该方法在服务端完成元数据的回滚时,不做元数据的同步操作,而是通知客户端进行元数据的操作权限回收,使客户端缓存的元数据失效;其中,当客户端释放对元数据的操作权限后,才认为回滚操作执行完成。

即:当元数据a在服务端完成回滚操作时,通知客户端释放对元数据a的操作权限,当客户端释放对元数据a的操作权限后,才认为元数据a的回滚操作执行完成,此时当客户端接收到元数据a的访问请求时,由于客户端已不具有对元数据a的操作权限,因此其不会将未做修改的元数据a响应给用户,从而可以避免对外响应未做修改的元数据;上述方法代替现有技术中的同步操作,不仅可以避免对外响应修改之前的元数据,还避免了客户端和服务端频繁进行数据交互,因此本方法可以节约客户端的计算机资源,提升客户端对外提供服务的质量和效率。

下面对本发明实施例提供的一种文件系统快照回滚后客户端缓存失效的实现系统进行介绍,下文描述的一种文件系统快照回滚后客户端缓存失效的实现系统与上文描述的一种文件系统快照回滚后客户端缓存失效的实现方法可以相互参照。

参见图3,本发明实施例提供的一种文件系统快照回滚后客户端缓存失效的实现系统,包括:

服务端301,用于当元数据的快照回滚完成时,发送权限回收消息至客户端;接收所述客户端发送的所述权限回收消息的响应消息;根据所述响应消息回收所述客户端对所述元数据的操作权限,并反馈回收确认消息至所述客户端;

客户端302,用于获取所述权限回收消息;发送所述响应消息至所述服务端;获取所述回收确认消息后,根据所述回收确认消息释放对所述元数据的操作权限,实现所述元数据的缓存失效。

其中,所述客户端具体用于:

获取用户发送的元数据的访问请求;

判断对元数据是否具有操作权限;

若是,则从当前缓存中获取元数据并响应访问请求。

其中,所述客户端具体用于:

若对元数据不具有操作权限,则将访问请求发送至服务端,以从服务端获取元数据并响应访问请求。

其中,所述服务端具体用于:

接收客户端发送的元数据的访问请求;

获取元数据并响应访问请求。

可见,本实施例提供了一种文件系统快照回滚后客户端缓存失效的实现系统,包括:服务端和客户端,其中,服务端和客户端在执行回滚操作时相互协作,从而可避免对外响应修改之前的元数据,还避免了客户端和服务端频繁进行数据交互,因此节约了客户端和服务端的计算机资源,提升了对外提供服务的质量和效率。

下面对本发明实施例提供的一种文件系统快照回滚后客户端缓存失效的实现装置进行介绍,下文描述的一种文件系统快照回滚后客户端缓存失效的实现装置与上文描述的一种文件系统快照回滚后客户端缓存失效的实现方法及系统可以相互参照。

参见图4,本发明实施例提供的一种文件系统快照回滚后客户端缓存失效的实现装置,包括:

客户端获取模块401,用于当元数据的快照在服务端回滚完成时,获取所述服务端发送的权限回收消息;

客户端发送模块402,用于发送所述权限回收消息的响应消息至所述服务端,以使所述服务端回收所述元数据的操作权限;

客户端缓存失效实现模块403,用于获取所述服务端反馈的回收确认消息后,根据所述回收确认消息释放对所述元数据的操作权限,实现所述元数据的缓存失效。

其中,还包括:

访问请求获取模块,用于获取用户发送的元数据的访问请求;

判断模块,用于判断对元数据是否具有操作权限;

第一响应模块,用于当对元数据具有操作权限时,从当前缓存中获取元数据并响应访问请求。

其中,还包括:

第二响应模块,用于当对元数据不具有操作权限时,将访问请求发送至服务端,以从服务端获取元数据并响应访问请求。

可见,本实施例提供了一种文件系统快照回滚后客户端缓存失效的实现装置,包括:客户端获取模块、客户端发送模块以及客户端缓存失效实现模块。当元数据的快照在服务端回滚完成时,首先由客户端获取模块获取服务端发送的权限回收消息;进而客户端发送模块发送权限回收消息的响应消息至服务端,以使服务端回收元数据的操作权限;最后客户端缓存失效实现模块获取服务端反馈的回收确认消息后,根据回收确认消息释放对元数据的操作权限,实现元数据的缓存失效。如此各个模块之间分工合作,各司其职,从而可避免对外响应修改之前的元数据,还避免了客户端和服务端频繁进行数据交互,因此节约了客户端和服务端的计算机资源,提升了对外提供服务的质量和效率。

下面对本发明实施例提供的另一种文件系统快照回滚后客户端缓存失效的实现装置进行介绍,下文描述的一种文件系统快照回滚后客户端缓存失效的实现装置与上文描述的一种文件系统快照回滚后客户端缓存失效的实现方法及系统可以相互参照。

参见5,本发明实施例提供的另一种文件系统快照回滚后客户端缓存失效的实现装置,包括:

服务端发送模块501,用于当元数据的快照回滚完成时,发送权限回收消息至客户端;

服务端接收模块502,用于接收所述客户端发送的所述权限回收消息的响应消息;

服务端缓存失效实现模块503,用于根据所述响应消息回收所述客户端对所述元数据的操作权限,并反馈回收确认消息至所述客户端,以使所述客户端释放对所述元数据的操作权限,实现所述元数据在所述客户端的缓存失效。

其中,还包括:

访问请求接收模块,用于接收客户端发送的元数据的访问请求;

执行模块,用于获取元数据并响应访问请求。

可见,本实施例提供了另一种文件系统快照回滚后客户端缓存失效的实现装置,包括:服务端发送模块、服务端接收模块以及服务端缓存失效实现模块。当元数据的快照回滚完成时,首先由服务端发送模块发送权限回收消息至客户端;进而服务端接收模块接收客户端发送的权限回收消息的响应消息;最后服务端缓存失效实现模块503,用于根据响应消息回收客户端对元数据的操作权限,并反馈回收确认消息至客户端,以使客户端释放对元数据的操作权限,实现元数据在客户端的缓存失效。如此各个模块之间分工合作,各司其职,从而可避免对外响应修改之前的元数据,还避免了客户端和服务端频繁进行数据交互,因此节约了客户端和服务端的计算机资源,提升了对外提供服务的质量和效率。

下面对本发明实施例提供的一种文件系统快照回滚后客户端缓存失效的实现设备进行介绍,下文描述的一种文件系统快照回滚后客户端缓存失效的实现设备与上文描述的一种文件系统快照回滚后客户端缓存失效的实现方法、系统及装置可以相互参照。

参见图6,本发明实施例提供的一种文件系统快照回滚后客户端缓存失效的实现设备,包括:

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

处理器602,用于执行所述计算机程序时实现上述任意实施例所述的文件系统快照回滚后客户端缓存失效的实现方法的步骤。

下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种文件系统快照回滚后客户端缓存失效的实现方法、系统、装置及设备可以相互参照。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的文件系统快照回滚后客户端缓存失效的实现方法的步骤。

基于上述任意实施例,可按照下述方式实施本发明提供的方法:

1、元数据的快照在服务端回滚完成后,服务端mds发送消息给与服务端连接所有的客户端,通知其回收回滚完成的元数据的fs权限;其中,仅回收之前执行回滚操作的元数据的权限,其他未修改的元数据的权限不做更改;

2、客户端接收到回收fs权限的通知后,构造更新cap消息,发送给对应的mds服务端;

3、服务端mds接收到客户端发送的更新cap消息后,解析消息类型,发现需回收的fs权限,再取消相应元数据中的fs权限,之后反馈响应消息至客户端,将最新的cap权限返回给客户端;

4、客户端接收到响应消息时,将cap权限更新到本地缓存中(客户端释放操作权限);

5、当上述操作均执行完毕后,客户端接收到访问回滚完成的元数据的请求时,客户端首先判断是否具有该元数据的fs权限;若无fs权限,则访问服务端mds响应该请求;否则,访问客户端本地缓存响应该请求。

其中,需要解释说明的是,mds为元数据服务器的守护进程;cap为mds分配给客户端的元数据的操作权限;fs为元数据的读权限。上述过程请请参见图7,图7为本发明实施例提供的一种文件系统快照回滚后客户端缓存失效的实现过程示意图。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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