本发明专利技术公开了一种存储文件管理方法及装置,包括:接收访问请求,确定发送访问请求的客户端为目标客户端,其中,访问请求包括读操作请求和写操作请求;确定访问请求在存储文件中对应的数据段为目标数据段,判断目标数据段是否为具有分段锁的数据段,具有分段锁的数据段为正在被其他客户端进行写操作的数据段;如果是,则阻塞目标客户端的访问请求,如果否,则判断访问请求的类型,如果访问请求为写操作请求,则确定目标数据段为具有分段锁的数据段,并允许目标客户端对目标数据段进行写操作,如果访问请求为读操作请求,则允许目标客户端对目标数据段进行读操作。由此,使得其他客户端无法对正在被执行写操作的数据段进行访问,提高了读数据性能。
【技术实现步骤摘要】
本专利技术涉及存储系统
,更具体地说,涉及一种存储文件管理方法及装置。
技术介绍
随着云存储系统的日渐成熟,高性能计算、云计算等领域逐渐采用文件(即存储文件)作为系统数据共享的媒介,例如,高性能计算基于FVCOM模型时,采用对应存储文件作为高性能计算的输入及输出。现有技术在存储文件的应用中,允许多个客户端同时对存储文件中的相同数据段进行访问,此时,如果多个客户端中的一个对数据段进行写操作,那么其他对该数据段进行读操作并缓存的结果将会失效,从而需要重新读取存储文件进而缓存被进行写操作后的数据段。如:A客户端在f数据段进行写操作,导致B客户端同时读取并缓存的f数据段失效。由此,大大降低了读数据性能。综上所述,现有技术对于存储文件的应用中,存在读数据性能较低的问题。
技术实现思路
本专利技术的目的是提供一种存储文件管理方法及装置,以解决现有技术中存在的读数据性能较低的问题。为了实现上述目的,本专利技术提供如下技术方案:一种存储文件管理方法,包括:接收访问请求,确定发送所述访问请求的客户端为目标客户端,其中,所述访问请求包括读操作请求和写操作请求;确定所述访问请求在存储文件中对应的数据段为目标数据段,判断所述目标数据段是否为具有分段锁的数据段,所述具有分段锁的数据段为正在被其他客户端进行写操作的数据段;如果是,则阻塞所述目标客户端的访问请求,如果否,则判断所述访问请求的类型,如果所述访问请求为写操作请求,则确定所述目标数据段为具有分段锁的数据段,并允许所述目标客户端对所述目标数据段进行写操作,如果所述访问请求为读操作请求,则允许所述目标客户端对所述目标数据段进行读操作。优选的,所述接收目标客户端发送的访问请求之后,还包括:将与所述访问请求对应的数据信息发送至所述目标客户端,所述数据信息携带有所述存储文件中在当前时刻具有分段锁的数据段对应的标记,及在当前时刻不具有分段锁的数据段对应的标记。优选的,所述方法还包括:实时发送数据信息至每个所述客户端,所述数据信息携带有所述存储文件在当前时刻具有分段锁的数据段的标记,及在当前时刻不具有分段锁的数据段的标记;以指示所述客户端确定自身已缓存的且正在被其他客户端执行写操作的数据段,并在写操作完成后重新读取并缓存对应数据段。优选的,所述方法还包括:当所述目标客户端对所述目标数据段完成写操作后,将所述目标数据段缓存至本地缓存区。优选的,所述方法还包括:当所述目标客户端对所述目标数据段完成写操作后,将所述目标数据段同步给每个与所述存储文件对应的客户端,以指示所述客户端利用完成写操作的目标数据段替换自身已缓存的对应的数据段。优选的,所述方法还包括:当所述目标客户端对所述目标数据段完成写操作后,将所述目标数据段的分段锁进行释放,确定所述目标数据段为不具有分段锁的数据段。 优选的,所述方法还包括:如果同时接收到多个客户端的写操作请求,且所述多个客户端的写操作请求在所述存储文件中对应的目标数据段相同,则按照预先设定的优先级由所述多个客户端中选取一个客户端作为目标客户端,对该目标客户端的写操作请求进行处理。优选的,所述方法还包括:如果同时接收到多个客户端的读操作请求,且所述多个客户端的读操作请求在所述存储文件中对应的目标数据段相同,则确定发送多个读操作请求的客户端均为目标客户端,并允许目标客户端对目标数据段的读操作。一种存储文件管理装置,包括:接收模块,用于接收访问请求,确定发送所述访问请求的客户端为目标客户端,其中,所述访问请求包括读操作请求和写操作请求;判断模块,用于确定所述访问请求在存储文件中对应的数据段为目标数据段,判断所述目标数据段是否为具有分段锁的数据段,所述具有分段锁的数据段为正在被其他客户端进行写操作的数据段;执行模块,用于如果所述访问请求在存储文件中对应的目标数据段为具有分段锁的数据段,则阻塞所述目标客户端的访问请求;如果所述访问请求在存储文件中对应的目标数据段不为具有分段锁的数据段,则判断所述访问请求的类型,如果所述访问请求为写操作请求,则确定所述目标数据段为具有分段锁的数据段,并允许所述目标客户端对所述目标数据段进行写操作,如果所述访问请求为读操作请求,则允许所述目标客户端对所述目标数据段进行读操作。优选的,所述装置还包括:信息反馈模块,用于将与所述访问请求对应的数据信息发送至所述目标客户端,所述数据信息携带有所述存储文件中在当前时刻具有分段锁的数据段对应的标记,及在当前时刻不具有分段锁的数据段对应的标记。本专利技术提供的一种存储文件管理方法及装置,该方法包括:接收访问请求,确定发送所述访问请求的客户端为目标客户端,其中,所述访问请求包括读操作请求和写操作请求;确定所述访问请求在存储文件中对应的数据段为目标数据段,判断所述目标数据段是否为具有分段锁的数据段,所述具有分段锁的数据段为正在被其他客户端进行写操作的数据段;如果是,则阻塞所述目标客户端的访问请求,如果否,则判断所述访问请求的类型,如果所述访问请求为写操作请求,则确定所述目标数据段为具有分段锁的数据段,并允许所述目标客户端对所述目标数据段进行写操作,如果所述访问请求为读操作请求,则允许所述目标客户端对所述目标数据段进行读操作。由此,当存储文件中的某段数据段正在被某客户端进行写操作时,为该数据段分配分段锁,使得其他客户端无法对该段数据段进行访问,访问包括读操作及写操作。从而避免了
技术介绍
中所提到的客户端读取并缓存正在被其他客户端执行写操作的数据段后失效,并需要重新进行读取及缓存的情况,提高了读数据性能。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种存储文件管理方法的流程图;图2为本专利技术实施例提供的一种存储文件管理装置的结构示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,其示出了本专利技术实施例提供的一种存储文件管理方法的流程图,可以包括以下步骤:Sll:接收访问请求,确定发送访问请求的客户端为目标客户端,其中,访问请求包括读操作请求和写操作请求。需要说明的是,任何一个发送访问请求的客户端均可作为目标客户端。S12:确定访问请求在存储文件中对应的数据段为目标数据段,判断目标数据段是否为具有分段锁的数据段,具有分段锁的数据段为正在被其他客户端进行写操作的数据段,如果是,则执行步骤S13,如果否,则执行步骤S14。其中,访问请求包括读操作请求和写操作请求,具有分段锁的数据段为正在被其他客户端进行写操作的数据段。需要说明的是,对数据段分配分段锁即为对数据段进行锁定,以防止其他数据段对具有分段锁的数据段进行读操作或者写操作。实际上就是把数据段按照细粒度的(起始位置,长度)进行加锁,保护数据段(起始位置,长度)范围内只有一个本文档来自技高网...
【技术保护点】
一种存储文件管理方法,其特征在于,包括:接收访问请求,确定发送所述访问请求的客户端为目标客户端,其中,所述访问请求包括读操作请求和写操作请求;确定所述访问请求在存储文件中对应的数据段为目标数据段,判断所述目标数据段是否为具有分段锁的数据段,所述具有分段锁的数据段为正在被其他客户端进行写操作的数据段;如果是,则阻塞所述目标客户端的访问请求,如果否,则判断所述访问请求的类型,如果所述访问请求为写操作请求,则确定所述目标数据段为具有分段锁的数据段,并允许所述目标客户端对所述目标数据段进行写操作,如果所述访问请求为读操作请求,则允许所述目标客户端对所述目标数据段进行读操作。
【技术特征摘要】
【专利技术属性】
技术研发人员:李雪生,张延良,
申请(专利权)人:浪潮北京电子信息产业有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。