文件的动态缓存方法、装置、设备及存储介质制造方法及图纸

技术编号:39000720 阅读:8 留言:0更新日期:2023-10-07 10:32
本申请提供一种文件的动态缓存方法、装置、设备及存储介质,方法为:响应于接收到任一第一客户端访问目标文件的访问请求,将第一客户端添加至访问列表;若访问目标文件的第一客户端的数量为多个,则从多个第一客户端中确定第二客户端,其中第二客户端是与目标文件存在锁定关系的客户端,且目标文件存储在第二客户端的本地缓存模块;将目标文件从第二客户端的本地存储模块转存到服务器的存储服务器内,并解除第二客户端与目标文件的锁定关系,以使第一客户端通过存储服务器访问目标文件;若第一客户端访问目标文件结束,则将目标文件从存储服务器重新转存至第二客户端的本地缓存模块,并重新建立第二客户端与目标文件的锁定关系。并重新建立第二客户端与目标文件的锁定关系。并重新建立第二客户端与目标文件的锁定关系。

【技术实现步骤摘要】
文件的动态缓存方法、装置、设备及存储介质


[0001]本申请涉及云计算
,尤其涉及一种文件的动态缓存方法、装置、设备及存储介质。

技术介绍

[0002]随着满足人工智能和云计算技术的发展,提高分布式存储系统对数据请求的运算效率,目前对分布式存储系统的存储速度也有了更高的要求。如何提高存储速度以提高分布式存储系统的运算效率,成为亟待解决的问题。
[0003]在现有技术中,通过持久化客户端缓存技术,将数据持久化缓存到客户端,当客户端发送数据请求时,可以直接从客户端本地获取数据,而不用通过网络从服务器获取数据,这样就节省了数据传输的网络时延,进而提高了数据的存储速度。
[0004]然而,当其他客户端也需要访问相同的数据时,为了避免访问冲突保持数据一致性,会将客户端持久化缓存的数据失效,导致客户端无法从本地获取数据。由此可见,现有技术中的缓存方法只适合单个客户端访问数据的情况,而不适合多个客户端访问的情况,因此适用范围较小、适用性较差。

技术实现思路

[0005]本申请提供了一种文件的动态缓存方法、装置、设备及存储介质,可以提高缓存方法的适用范围、适用性。
[0006]第一方面,本申请提供了一种文件的动态缓存方法,应用于分布式存储系统中的服务器,所述分布式存储系统包括多个客户端和服务器;所述方法包括:
[0007]响应于接收到任一第一客户端访问目标文件的访问请求,将所述第一客户端添加至访问列表,其中所述访问列表包括至少一个访问所述目标文件的第一客户端;
[0008]若访问所述目标文件的第一客户端的数量为多个,则从所述多个第一客户端中确定第二客户端,其中所述第二客户端是与所述目标文件存在锁定关系的客户端,且所述目标文件存储在所述第二客户端的本地缓存模块;
[0009]将所述目标文件从所述第二客户端的本地存储模块转存到所述服务器的存储服务器内,并解除所述第二客户端与所述目标文件的锁定关系,以使所述第一客户端通过所述存储服务器访问所述目标文件;
[0010]若所述第一客户端访问所述目标文件结束,则将所述目标文件从所述存储服务器重新转存至所述第二客户端的本地缓存模块,并重新建立所述第二客户端与所述目标文件的锁定关系。
[0011]在一种可能的设计中,还包括:若访问所述目标文件的第一客户端的数量为一个,则将所述目标文件从所述存储服务器转存至所述第一客户端的本地缓存模块,并建立所述第一客户端与所述目标文件的锁定关系。
[0012]在一种可能的设计中,所述访问请求包括所述第一客户端的缓存状态信息;相应
地,所述将所述目标文件从所述存储服务器转存至所述第一客户端的本地缓存模块之前,还包括:获取所述第一客户端的缓存状态信息;若所述缓存状态信息为可缓存状态,则执行将所述目标文件从所述存储服务器转存至所述第一客户端的本地缓存模块的步骤;若所述缓存状态信息为不可缓存状态,则不执行将所述目标文件从所述存储服务器转存至所述第一客户端的本地缓存模块的步骤。
[0013]在一种可能的设计中,所述本地缓存模块包括缓存单元和下刷单元,其中所述缓存单元内包括多个文件和每个文件对应的锁信息;相应地,所述将所述目标文件从所述第二客户端的本地存储模块转存到所述服务器的存储服务器内,并解除所述第二客户端与所述目标文件的锁定关系,包括:根据所述目标文件的文件标识,从所述缓存单元内包括的多个文件中提取所述目标文件和所述目标文件对应的文件锁信息;通过下刷单元,将所述目标文件转存到所述服务器的存储服务器内,并将所述目标文件对应的文件锁信息设置为解锁状态。
[0014]在一种可能的设计中,所述本地缓存模块还包括回收单元;相应地,所述方法还包括:获取所述缓存单元内已缓存文件的容量以及所述缓存单元的总容量;若所述已缓存文件的容量与所述总容量之比大于预设比值,则从所述已缓存文件中查询预设时长内未被访问的目标文件;通过所述回收单元删除所述目标文件。
[0015]在一种可能的设计中,所述目标文件内包括多个未同步的数据;相应地,所述通过下刷单元,将所述目标文件转存到所述服务器的存储服务器内,包括:将所述多个未同步的数据分为多个预设容量的数据分组;依次将各个所述预设容量的数据分组,转存到所述服务器的存储服务器内。
[0016]在一种可能的设计中,还包括:响应于接收到针对所述目标文件的写入指令,确定所述目标文件中是否包括未同步的数据;若所述目标文件包括未同步的数据,则确定所述写入指令包括的多个待写入的新数据是否与所述未同步的数据有相同的数据;若所述多个待写入的新数据与所述未同步的数据有相同的数据,则将所述未同步的数据同步至所述存储服务器之后,才执行所述写入指令。
[0017]第二方面,本申请提供了一种文件的动态缓存装置,应用于分布式存储系统中的服务器,所述分布式存储系统包括多个客户端和服务器;所述装置包括:
[0018]接收模块,用于响应于接收到任一第一客户端访问目标文件的访问请求,将所述目标文件添加至访问列表,其中所述访问列表包括至少一个访问所述目标文件的第一客户端;
[0019]确定模块,用于若访问所述目标文件的第一客户端的数量为多个,则从所述多个第一客户端中确定第二客户端,其中所述第二客户端是与所述目标文件存在锁定关系的客户端,且所述目标文件存储在所述第二客户端的本地缓存模块;
[0020]转存模块,用于将所述目标文件从所述第二客户端的本地存储模块转存到所述服务器的存储服务器内,并解除所述第二客户端与所述目标文件的锁定关系,以使所述第一客户端通过所述存储服务器访问所述目标文件;
[0021]锁定模块,用于若所述第一客户端访问所述目标文件结束,则将所述目标文件从所述存储服务器重新转存至所述第二客户端的本地缓存模块,并重新建立所述第二客户端与所述目标文件的锁定关系。
[0022]第三方面,本申请提供一种电子设备,包括:处理器和存储器;
[0023]所述存储器存储计算机执行指令;
[0024]所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如上第一方面以及第一方面各种可能的设计所述的文件的动态缓存方法。
[0025]第四方面,本申请提供一种计算机存储介质,所述计算机存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的文件的动态缓存方法。
[0026]第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面以及第一方面各种可能的设计所述的文件的动态缓存方法。
[0027]本申请提供的文件的动态缓存方法、装置、设备及存储介质,响应于接收到任一第一客户端访问目标文件的访问请求,将第一客户端添加至访问列表;若访问目标文件的第一客户端的数量为多个,则从多个第一客户端中确定第二客户端,其中第二客户端是与目标文件存在锁定关系的客户端,且目标文件存储在第二客户端的本地缓存模块;将目标文件从第二客户端的本地存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件的动态缓存方法,其特征在于,应用于分布式存储系统中的服务器,所述分布式存储系统包括多个客户端和服务器;所述方法包括:响应于接收到任一第一客户端访问目标文件的访问请求,将所述第一客户端添加至访问列表,其中所述访问列表包括至少一个访问所述目标文件的第一客户端;若访问所述目标文件的第一客户端的数量为多个,则从多个第一客户端中确定第二客户端,其中所述第二客户端是与所述目标文件存在锁定关系的客户端,且所述目标文件存储在所述第二客户端的本地缓存模块;将所述目标文件从所述第二客户端的本地存储模块转存到所述服务器的存储服务器内,并解除所述第二客户端与所述目标文件的锁定关系,以使所述第一客户端通过所述存储服务器访问所述目标文件;若所述第一客户端访问所述目标文件结束,则将所述目标文件从所述存储服务器重新转存至所述第二客户端的本地缓存模块,并重新建立所述第二客户端与所述目标文件的锁定关系。2.根据权利要求1所述的方法,其特征在于,还包括:若访问所述目标文件的第一客户端的数量为一个,则将所述目标文件从所述存储服务器转存至所述第一客户端的本地缓存模块,并建立所述第一客户端与所述目标文件的锁定关系。3.根据权利要求2所述的方法,其特征在于,所述访问请求包括所述第一客户端的缓存状态信息;相应地,所述将所述目标文件从所述存储服务器转存至所述第一客户端的本地缓存模块之前,还包括:获取所述第一客户端的缓存状态信息;若所述缓存状态信息为可缓存状态,则执行将所述目标文件从所述存储服务器转存至所述第一客户端的本地缓存模块的步骤;若所述缓存状态信息为不可缓存状态,则不执行将所述目标文件从所述存储服务器转存至所述第一客户端的本地缓存模块的步骤。4.根据权利要求1所述的方法,其特征在于,所述本地缓存模块包括缓存单元和下刷单元,其中所述缓存单元内包括多个文件和每个文件对应的锁信息;相应地,所述将所述目标文件从所述第二客户端的本地存储模块转存到所述服务器的存储服务器内,并解除所述第二客户端与所述目标文件的锁定关系,包括:根据所述目标文件的文件标识,从所述缓存单元内包括的多个文件中提取所述目标文件和所述目标文件对应的文件锁信息;通过下刷单元,将所述目标文件转存到所述服务器的存储服务器内,并将所述目标文件对应的文件锁信息设置为解锁状态。5.根据权利要求4所述的方法,其特征在于,所述本地缓存模块还包括回收单元;相应地,所述方法还包括:获取所述缓存单元内已缓存文件的容量以及所...

【专利技术属性】
技术研发人员:徐文松
申请(专利权)人:联通数字科技有限公司联通云数据有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1