[发明专利]一种提高Samba处理大文件写性能的方法及系统有效
| 申请号: | 202010110215.4 | 申请日: | 2020-02-23 |
| 公开(公告)号: | CN111339056B | 公开(公告)日: | 2022-10-25 |
| 发明(设计)人: | 李世杰;张端 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
| 主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/172;G06F16/17 |
| 代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 李修杰 |
| 地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 提高 samba 处理 文件 性能 方法 系统 | ||
本申请公开了一种提高Samba处理大文件写性能的方法及系统,该方法包括:在CIFS客户端对Samba服务端挂载一网络映射盘,然后根据所获取的SMB报文,确定待写入ICFS文件系统共享目录的写消息,然后对写消息按页对齐分配空间,分配空间后将SMB头部新的偏移位置传递至请求封装过程,建立SMB报文和请求对象之间的映射关系,在SMB动态数据往前偏移指定长度处写入一特征数据,最后调用ICFS库接口,下层应用处理完毕后根据特征数据释放以上建立的空间。该系统包括:网络映射盘挂载模块、确认模块、内存空间分配模块、映射关系建立模块、特征数据写入模块、传递模块和释放模块。通过本申请,能够有效提高客户端对大文件的写性能,进而提高Samba服务端的数据处理效率。
技术领域
本申请涉及服务器信息处理技术领域,特别是涉及一种提高Samba处理大文件写性能的方法及系统。
背景技术
在ICFS(Inspur Cluster File System,浪潮分布式文件系统)集群提供SMB(Server Message Block,一种用于不同网络节点间的共享传输协议)协议的环境中,通常采用Samba(用于实现SMB协议,是一种从Linux服务端向Windows客户端提供共享服务的应用)来实现。其中,SMB协议最初由IBM公司开发,微软对其进行改进后作为CIFS(CommonInternet File System,通用网络文件系统)协议在Windows系统中广泛应用于文件共享服务,再后来进一步提出升级版的SMB 2.0和SMB3.0协议。目前Linux上也根据该协议规范实现了对应的Samba服务端和CIFS内核客户端。在Linux系统或者其类Unix系统当中可以通过Samba服务来实现SMB功能。在ICFS文件系统中,如何Samba如何对数据进行分配和写数据,是个重要问题。
目前,在Samba和ICFS集成的环境中,数据分配和写数据的方法通常是采用默认模式,即:Samba自身的talloc分配机制。具体地,Samba收到客户端发送的请求后,首先从Socket缓冲区读取NETBIOS头部数据,解析出整个SMB报文的长度pkt_full,然后分配长度为pkt_full的缓冲区;并再次从Socket缓冲区中读取整个SMB报文,根据SMB报文头部的操作码OP_CODE类型是创建、读取、写入等不同类型,将SMB正文数据部分依次拆分成头部SMB头部、SMB固定数据和SMB动态数据三部分,并将其偏移地址和长度信息填充到request请求对象的 in.vector向量数组不同元素中,从而可以方便后面快速定位到各部分数据。
分配的数据传给ICFS文件系统的libicfs_fs库后,由于ICFS后台的数据缓存机制,Samba和ICFS前后对数据的处理并不能保证是按照先后顺序执行的。因此,在Samba调用lib库接口结束之前,libicfs_fs库内部需要及时把写数据复制取走,从而避免Samba释放这块数据内存,而导致后面程序不可用。
然而目前Samba对数据进行分配和写数据的方法中,由于需要及时进行内存复制,需要消耗一定的时间,尤其是在数据量大的情况下,内存复制过程会消耗相当一部分时间,导致数据处理效率较低。而且数据复制过程中可能会出现内存缺页中断,从而导致写入过程延迟,进行影响Samba服务端的数据处理效率。
发明内容
本申请提供了一种提高Samba处理大文件写性能的方法及系统,以解决现有技术中数据分配和写数据的方法导致Samba服务端的数据处理效率较低的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种提高Samba处理大文件写性能的方法,所述方法包括:
在CIFS客户端对Samba服务端挂载一网络映射盘,并向所述网络映射盘中写入一个大文件;
根据所获取的SMB报文,确定待写入ICFS文件系统共享目录的写消息,所述SMB报文包括:SMB头部、SMB固定数据以及SMB动态数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010110215.4/2.html,转载请声明来源钻瓜专利网。





