[发明专利]一种基于CIFS协议创建小文件的方法及系统在审
申请号: | 201710517712.4 | 申请日: | 2017-06-29 |
公开(公告)号: | CN107330064A | 公开(公告)日: | 2017-11-07 |
发明(设计)人: | 毕敬强 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 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处理结果的判断结果。
可选的,所述创建请求发送模块,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710517712.4/2.html,转载请声明来源钻瓜专利网。