[发明专利]一种提高Samba处理大文件写性能的方法及系统有效
| 申请号: | 202010110215.4 | 申请日: | 2020-02-23 |
| 公开(公告)号: | CN111339056B | 公开(公告)日: | 2022-10-25 |
| 发明(设计)人: | 李世杰;张端 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
| 主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/172;G06F16/17 |
| 代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 李修杰 |
| 地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 提高 samba 处理 文件 性能 方法 系统 | ||
1.一种提高Samba处理大文件写性能的方法,其特征在于,所述方法包括:
在CIFS客户端对Samba服务端挂载一网络映射盘,并向所述网络映射盘中写入一个大文件;
根据所获取的SMB报文,确定待写入ICFS文件系统共享目录的写消息,所述SMB报文包括:SMB头部、SMB固定数据以及SMB动态数据;
对所述写消息按页对齐分配空间,其中,将所述SMB头部和SMB固定数据置于前一个4KB空间的末尾,将所述SMB动态数据置于下一个4KB空间的开头;
将所述SMB头部新的偏移位置传递至请求封装过程,建立所述SMB报文与请求对象的映射关系;
在所述SMB动态数据往前偏移指定长度处写入一特征数据,所述特征数据用于指示下层应用处理完毕后释放所述SMB动态数据所在的内存;
调用ICFS库接口,将所述SMB动态数据的偏移位置和数据长度传递至下层应用;
下层应用处理完毕后,根据所述特征数据,释放用于写消息动态分配的空间;
其中,对所述写消息按页对齐分配空间的方法,包括:
临时保存所述SMB头部;
根据所述写消息的SMB固定数据,确定动态数据长度;
根据动态数据长度,按照页对齐方式分配内存空间,且内存空间长度为:4KB+动态数据长度;
将临时保存的所述SMB头部复制到所述内存空间;
从Socket缓冲区读取SMB固定数据和SMB动态数据,且SMB固定数据和SMB动态数据的长度为48B+动态数据长度。
2.根据权利要求1所述的一种提高Samba处理大文件写性能的方法,其特征在于,所述根据所获取的SMB报文,确定待写入ICFS文件系统共享目录的写消息的方法,包括:
读取NETBIOS 头部数据,提取所述SMB报文的长度;
读取所述SMB头部,提取操作码;
当所述操作码为写操作码时,进一步提取目录树ID;
根据所述目录树ID,获取Samba目录树对象的VFS操作句柄信息;
判断所述VFS操作句柄信息中文件处理接口的数量是否≥2;
如果是,判定所述SMB报文请求写入的是ICFS文件系统共享目录。
3.根据权利要求1所述的一种提高Samba处理大文件写性能的方法,其特征在于,在CIFS客户端对Samba服务端挂载一网络映射盘,并向所述网络映射盘中写入一个大文件之后,所述方法还包括:建立Samba服务端和CIFS客户端之间的通信连接。
4.根据权利要求3所述的一种提高Samba处理大文件写性能的方法,其特征在于,所述建立Samba服务端和CIFS客户端之间的通信连接,包括:
对SMB报文所支持的方言版本进行判断;
在Samba服务端和CIFS客户端之间建立会话;
在Samba服务端和CIFS客户端之间建立目录树连接。
5.根据权利要求1-4中任一所述的一种提高Samba处理大文件写性能的方法,其特征在于,在CIFS客户端对Samba服务端挂载一网络映射盘,并向所述网络映射盘中写入一个大文件之前,所述方法还包括:在Samba服务端搭建ICFS集群。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010110215.4/1.html,转载请声明来源钻瓜专利网。





