【技术实现步骤摘要】
一种面向多共享目录树的控制方法及系统
本申请涉及信息化共享
,特别是涉及一种面向多共享目录树的控制方法及系统。
技术介绍
在云数据中心逐渐盛行的时代,越来越多的企业都在企业内部搭建自己的云办公平台,且在云办公平台上配置NAS(NetworkAttachedStorage,网络附加存储,表示从网络端挂载到本地的一个存储设备)存储设备,从而能够便捷地为企业内部员工提供海量存储空间和备份功能。其中,NAS存储设备所采用的NAS存储方式,只要将网络路径节点映射到本地一个盘符或目录即可实现。目前,在云办公平台中采用的协议主要是SMB(ServerMessageBlock,协议名称,微软公司对其进行重大修改后用于不同网络节点间的共享传输协议)共享协议,SMB共享协议是微软为不同设备网络间共享提出的一个统一标准,Linux平台上Samba开源组织遵循该共享协议实现了Linux系统目录到Windows客户端的挂载;Samba(实现SMB协议,用于从Linux服务端向Windows客户端提供共享服务的应用)在用户空间实现,缺省提供多进程的目录共享方式。因此,如何设计一种面向多共享目录树的控制方法,是个重要问题。目前面向多共享目录树的控制方法主要是,根据现有的SMB协议,使一个服务端可提供多个共享目录,一个客户端就可以挂载多个共享目录。运行过程中,客户端通过判断服务端共享目录的IP地址和TCP(TransmissionControlProtocol传输控制协议)端口号,判断是否为自身需要的共享目录。如果是自身所需要 ...
【技术保护点】
1.一种面向多共享目录树的控制方法,其特征在于,所述方法包括:/n根据待共享目录的个数,在服务端Samba配置文件中设置环形队列数和worker执行单元个数,其中,worker执行单元用于在Samba进程中进行计算处理,环形队列用于在IO执行单元和worker执行单元之间进行数据交换,所述IO执行单元用于获取目录请求并将所述目录请求定向至相应的worker执行单元中;/n在服务端运行Samba主进程;/n获取来自客户端的数据读写测试请求;/n根据所述数据读写测试请求,利用基于SMB报文头部数据的自适应均衡控制算法,将不同目录的请求任务定向至不同的worker执行单元,其中,一个IO执行单元与多个worker执行单元相匹配。/n
【技术特征摘要】
1.一种面向多共享目录树的控制方法,其特征在于,所述方法包括:
根据待共享目录的个数,在服务端Samba配置文件中设置环形队列数和worker执行单元个数,其中,worker执行单元用于在Samba进程中进行计算处理,环形队列用于在IO执行单元和worker执行单元之间进行数据交换,所述IO执行单元用于获取目录请求并将所述目录请求定向至相应的worker执行单元中;
在服务端运行Samba主进程;
获取来自客户端的数据读写测试请求;
根据所述数据读写测试请求,利用基于SMB报文头部数据的自适应均衡控制算法,将不同目录的请求任务定向至不同的worker执行单元,其中,一个IO执行单元与多个worker执行单元相匹配。
2.根据权利要求1所述的一种面向多共享目录树的控制方法,其特征在于,所述服务端根据所述数据读写测试请求,利用基于SMB报文头部数据的自适应均衡控制算法,将不同目录的请求任务定向至不同的worker执行单元,包括:
根据服务端实际共享目录的个数,设定针对TREEID的散列表长度和除留余数法使用的除数N,所述除留余数法用于计算散列表索引;
提取输入口SMB报文中的TREEID字段;
判断所述TREEID字段是否为0;
如果是,在IO执行单元内执行原有的Samba处理逻辑;
如果否,利用SMB报文头部数据的TREEID字段作为关键字,通过散列表计算并确定相应的环形队列;
IO执行单元根据当前接收的所述输入口SMB报文和最近一次相同TREEID报文之间的时间间隔,计算流入速率;
判断所述流入速率是否超过设定的流入速率阈值;
如果是,开启新的worker执行单元;
将所述新的worker执行单元并与所述TREEID字段对应的输入输出环形队列相关联。
3.根据权利要求1或2所述的一种面向多共享目录树的控制方法,其特征在于,所述方法还包括:
采用无锁原子操作队列,对IO执行单元和worker执行单元进行并发控制。
4.根据权利要求3所述的一种面向多共享目录树的控制方法,其特征在于,所述无锁原子操作队列为CAS原子操作队列。
5.根据权利要求3所述的一种面向多共享目录树的控制方法,其特征在于,所述采用无锁原子操作队列,对IO执行单元和worker执行单元进行并发控制,包括:
在输入方向,I0执行单元和每个worker执行单元之间设置一并发无锁原子操作队列,且当SMB报文流速增大时,启动新的worker执行单元;
在输出方向,每个worker执行单元和IO执行单元之间设置一并发无锁原子操作队列;
进行数据存储时,Samba内部将输入报文封装为定长request对象;
进行数据并发处理时,设定输入方向的环形队列采用单生产者多消费者模型,输出方向的环形队列采用多生产者单消费者模型;
生产者不断写入数据并修改写指针的位置,且消费者不断读出数据并修改读指针的位置。
6.一种面向多共享目录树的控制系统,其特征在于,所述系统设置于服务端,所述系统包括:一个IO执行单元、多个worker执行单元、设置单元、请求获取单元以及并发控制单元,一个IO执行单元与多个worker执行单元相匹配;
所述work...
【专利技术属性】
技术研发人员:李世杰,张端,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。