一种基于CIFS协议创建小文件的方法及系统技术方案

技术编号:16529029 阅读:16 留言:0更新日期:2017-11-09 20:48
本申请公开了一种基于CIFS协议创建小文件的方法,间断的逐个发送创建文件请求集中的创建文件请求至主线程;利用主线程将与创建文件请求相应的open事件发送到子线程集中的空闲子线程,以使子线程集中接收open事件的子线程完成对open事件的处理,其中,空闲子线程为没有正在处理open事件的子线程。本申请客户端发送创建文件请求至主线程后,主线程将相应的open事件发送到子线程集中的空闲子线程,由多个空闲子线程分别处理不同创建文件请求相应的open事件,因此即使子线程处理缓慢,也不会影响主线程继续接收客户端发送创建文件请求形成并行异步处理,解决创建文件时因为open调用时延较长导致后续的其他请求卡住的问题,从而提高了基于CIFS协议下创建小文件的效率。

【技术实现步骤摘要】
一种基于CIFS协议创建小文件的方法及系统
本专利技术涉及分布式云存储领域,特别涉及一种基于CIFS协议创建小文件的方法及系统。
技术介绍
在分布式云存储领域,云存储系统服务端一般带有元数据软件用来统一管理文件系统的元数据信息。随着文件数目和客户端的增多,服务端需要管理很多文件的状态、锁等信息,这会导致客户端创建文件时open调用返回慢,时延波动很大。为了解决这种问题,目前已经有了很大方式来解决海量文件的管理问题,比如创建元数据服务端集群等,但是由于分布式文件系统软件、硬件、网络比较复杂,open调用时延高的情况很难避免。现有技术中,基于CIFS协议的软件(例如,samba软件)通过调用lib库与后端的的分布式文件系统通信,并对外提供CIFS协议,客户端(例如,windows客户端)通过CIFS协议挂载导出的文件系统。由于此类基于CIFS协议的软件均是单线程架构,如果后端的open接口时延波动很大,则会造成客户端创建文件很慢或者卡顿。因此,如何解决创建文件时因为open调用时延较长导致后续的其他请求卡住的问题,提高基于CIFS协议创建小文件的性能成为了当前需要解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于CIFS协议创建小文件的方法及系统,以解决创建文件时因为open调用时延较长导致后续的其他请求卡住的问题,提高基于CIFS协议创建小文件的效率。其具体方案如下:一种基于CIFS协议创建小文件的方法,包括:间断的逐个发送创建文件请求集中的创建文件请求至主线程;利用所述主线程将与创建文件请求相应的open事件发送到子线程集中的空闲子线程,以使所述子线程集中接收open事件的子线程完成对open事件的处理,其中,空闲子线程为没有正在处理open事件的子线程。可选的,所述间断的逐个发送创建文件请求集中的创建文件请求至主线程的过程,包括:利用所述主线程发送的open处理判断结果,间断的逐个发送创建文件请求集中的创建文件请求至主线程,其中,所述open处理判断结果为所述主线程判断是否在预设时间内接收到子线程发送的open处理结果的判断结果。可选的,所述利用所述主线程发送的open处理判断结果,间断的逐个发送创建文件请求集中的创建文件请求至主线程的过程,包括:利用所述主线程发送的open处理判断超时结果,生成创建文件请求失败记录,利用所述创建文件请求失败记录,间断的逐个发送所述创建文件请求失败记录中的创建文件请求至所述主线程。可选的,所述利用所述创建文件请求失败记录,间断的逐个发送所述创建文件请求失败记录中的创建文件请求至所述主线程的过程,包括:利用所述创建文件请求失败记录,在所述创建文件请求集中的创建请求均发送过所述主线程后,间断的逐个发送创建文件请求失败记录中的创建文件请求至所述主线程。可选的,所述利用所述创建文件请求失败记录,间断的逐个发送所述创建文件请求失败记录中的创建文件请求至所述主线程的过程,包括:利用所述创建文件请求失败记录,在每发送预设阈值未发送过所述主线程的创建文件请求后,发送一个所述创建文件请求失败记录中的创建文件请求至所述主线程。可选的,所述利用所述主线程将与创建文件请求相应的open事件发送到子线程集中的空闲子线程之前,还包括:利用所述主线程判断与创建文件请求相应的open事件是否发送到子线程集中的空闲子线程;如果已发送,则不再利用所述主线程向所述子线程集中的空闲子线程发送open事件。一种基于CIFS协议创建小文件的系统,包括:创建请求发送模块,用于间断的逐个发送创建文件请求集中的创建文件请求至主线程;open事件发送模块,用于利用所述主线程将与创建文件请求相应的open事件发送到子线程集中的空闲子线程,以使所述子线程集中接收open事件的子线程完成对open事件的处理,其中,空闲子线程为没有正在处理open事件的子线程。可选的,所述创建请求发送模块,具体用于利用所述主线程发送的open处理判断结果,间断的逐个发送创建文件请求集中的创建文件请求至主线程,其中,所述open处理判断结果为所述主线程判断是否在预设时间内接收到子线程发送的open处理结果的判断结果。可选的,所述创建请求发送模块,包括:失败请求发送单元,用于利用所述主线程发送的open处理判断超时结果,生成创建文件请求失败记录,利用所述创建文件请求失败记录,间断的逐个发送所述创建文件请求失败记录中的创建文件请求至所述主线程。可选的,还包括:重复发送判断模块,用于利用所述主线程判断与创建文件请求相应的open事件是否发送到子线程集中的空闲子线程;事件发送终止模块,用于所述重复发送判断模块判定与创建文件请求相应的open事件已发送到子线程集中的空闲子线程,则不再利用所述主线程向所述子线程集中的空闲子线程发送open事件。本专利技术中,基于CIFS协议创建小文件的方法,间断的逐个发送创建文件请求集中的创建文件请求至主线程;利用主线程将与创建文件请求相应的open事件发送到子线程集中的空闲子线程,以使子线程集中接收open事件的子线程完成对open事件的处理,其中,空闲子线程为没有正在处理open事件的子线程。本专利技术客户端在间断的逐个发送创建文件请求集中的创建文件请求至主线程后,主线程将与创建文件请求相应的open事件发送到子线程集中的空闲子线程,而主线程本身不再进行open事件的处理,由子线程集中的多个空闲子线程分别处理不同创建文件请求相应的open事件,因此即使一个open事件在一个子线程中处理缓慢,也不会影响主线程继续接收客户端发送创建文件请求和其余子线程并行异步处理其他open事件的进度,解决创建文件时因为open调用时延较长导致后续的其他请求卡住的问题,从而提高了基于CIFS协议下创建小文件的效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种基于CIFS协议创建小文件的方法流程示意图;图2为本专利技术实施例公开的另一种基于CIFS协议创建小文件的方法流程示意图;图3为本专利技术实施例公开的一种基于CIFS协议创建小文件的系统结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种基于CIFS协议创建小文件的方法,参见图1所示,该方法包括:步骤S11:间断的逐个发送创建文件请求集中的创建文件请求至主线程;具体的,每当主线程处理完一个创建文件请求后,客户端中的基于CIFS协议的软件才会再次发送创建文件请求至主线程,形成间断的逐个发送创建文件请求集中的创建文件请求至主线程。步骤S12:利用主线程将与创建文件请求相应的open事件发送到子线程集中的空闲子线程,以使子线程集中接收open事件的子线程完成对open事件的处理,其中,空闲子线本文档来自技高网...
一种基于CIFS协议创建小文件的方法及系统

【技术保护点】
一种基于CIFS协议创建小文件的方法,其特征在于,包括:间断的逐个发送创建文件请求集中的创建文件请求至主线程;利用所述主线程将与创建文件请求相应的open事件发送到子线程集中的空闲子线程,以使所述子线程集中接收open事件的子线程完成对open事件的处理,其中,空闲子线程为没有正在处理open事件的子线程。

【技术特征摘要】
1.一种基于CIFS协议创建小文件的方法,其特征在于,包括:间断的逐个发送创建文件请求集中的创建文件请求至主线程;利用所述主线程将与创建文件请求相应的open事件发送到子线程集中的空闲子线程,以使所述子线程集中接收open事件的子线程完成对open事件的处理,其中,空闲子线程为没有正在处理open事件的子线程。2.根据权利要求1所述的基于CIFS协议创建小文件的方法,其特征在于,所述间断的逐个发送创建文件请求集中的创建文件请求至主线程的过程,包括:利用所述主线程发送的open处理判断结果,间断的逐个发送创建文件请求集中的创建文件请求至主线程,其中,所述open处理判断结果为所述主线程判断是否在预设时间内接收到子线程发送的open处理结果的判断结果。3.根据权利要求2所述的基于CIFS协议创建小文件的方法,其特征在于,所述利用所述主线程发送的open处理判断结果,间断的逐个发送创建文件请求集中的创建文件请求至主线程的过程,包括:利用所述主线程发送的open处理判断超时结果,生成创建文件请求失败记录,利用所述创建文件请求失败记录,间断的逐个发送所述创建文件请求失败记录中的创建文件请求至所述主线程。4.根据权利要求3所述的基于CIFS协议创建小文件的方法,其特征在于,所述利用所述创建文件请求失败记录,间断的逐个发送所述创建文件请求失败记录中的创建文件请求至所述主线程的过程,包括:利用所述创建文件请求失败记录,在所述创建文件请求集中的创建请求均发送过所述主线程后,间断的逐个发送创建文件请求失败记录中的创建文件请求至所述主线程。5.根据权利要求3所述的基于CIFS协议创建小文件的方法,其特征在于,所述利用所述创建文件请求失败记录,间断的逐个发送所述创建文件请求失败记录中的创建文件请求至所述主线程的过程,包括:利用所述创建文件请求失败记录,在每发送预设阈值未发送过所述主线程的创建文件请求后,发送一个所述创建文件请求失败记录中的创建文件请求至所述主线...

【专利技术属性】
技术研发人员:毕敬强
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1