[发明专利]一种并发处理samba协议请求的方法、设备及可读介质有效
申请号: | 201910666765.1 | 申请日: | 2019-07-23 |
公开(公告)号: | CN110519329B | 公开(公告)日: | 2022-06-07 |
发明(设计)人: | 马龙 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | H04L67/60 | 分类号: | H04L67/60;H04L67/06;H04L69/22 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并发 处理 samba 协议 请求 方法 设备 可读 介质 | ||
本发明公开了一种并发处理samba协议请求的方法,在服务端执行以下步骤:与客户端连接并创建主线程;接收多个samba协议请求;通过主线程创建包括多个线程的线程池;通过主线程依次解析多个samba协议请求得到每个samba协议请求对应的文件路径;以及根据文件路径将多个samba协议请求分配到线程池中对应的线程中并发执行。本发明还公开了一种计算机设备和可读存储介质。本发明提出的并发处理samba协议请求的方法及装置可以有效提高在客户端并发业务场景下的服务端请求处理效率,从而提高系统的业务访问性能。
技术领域
本发明涉及协议请求领域,更具体地,特别是指一种并发处理samba协议请求的方法、设备及可读介质。
背景技术
Samba是在Linux和UNIX系统上实现SMB协议的一个软件,运行在服务端的程序,能够响应处理客户端发送的SMB协议请求。当某个客户端和samba服务端建立连接后,samba服务端会新产生一个的smbd进程,该进程用来处理客户端发送给服务端的smb协议请求。服务端进程收到客户端请求后,会解析请求包中的信息,根据解析的信息执行相应的操作,如打开分布式存储系统中的某个文件、读取文件内容、删除文件、关闭文件等,待请求处理完成后服务端会向客户端发送响应报文,然后继续处理下一个客户端请求。客户端请求在服务端的整个处理过程都是由同一个线程执行,因此客户端请求必须按照接收次序依次处理。
当客户端业务本身支持并发操作时,如客户端同时有对文件A的操作请求A1、A2、A3……和对文件B的操作请求B1、B2、B3……,由于客户端并发地发送请求且与服务端只有一条链路,服务端接收的报文请求可能依次为A1、A2、B1、A3、B2、B3……,那么按照原有的samba服务端请求处理逻辑,必须按照接收次序顺序处理请求A1、A2、B1、A3、B2、B3……,但是,实际上一些请求的处理,并不依赖于之前的请求,如B1请求完全不需要等待A1和A2请求处理成功后再去处理。
发明内容
有鉴于此,本发明实施例的目的在于提出一种并发处理samba协议请求的方法及装置,主要是通过创建线程池,将不同文件的协议请求分配到不同的线程,从而实现多个线程并发处理协议请求,提高了处理协议请求的效率。
基于上述目的,本发明实施例的一方面提供了一种并发处理samba协议请求的方法,在服务端执行如下步骤:与客户端连接并创建主线程;接收多个samba协议请求;通过主线程创建包括多个线程的线程池;通过主线程依次解析多个samba协议请求得到每个samba协议请求对应的文件路径;以及根据文件路径将多个samba协议请求分配到线程池中对应的线程中并发执行。
在一些实施方式中,根据文件路径将多个samba协议请求分配到线程池中对应的线程中并发执行包括:解析文件路径得到字符串;根据字符串得到唯一值;根据唯一值确定线程池中对应的线程;以及将文件路径对应的samba协议请求分配到对应的线程。
在一些实施方式中,根据唯一值确定线程池中对应的线程包括:用唯一值对线程池的线程数量取余值;以及根据余值确定线程池中对应的线程。
在一些实施方式中,将文件路径对应的samba协议请求分配到对应的线程包括:将多个余值相同的samba协议请求分配到同一个线程中;以及在同一个线程中,按照进入线程的先后依次处理多个余值相同的samba协议请求。
在一些实施方式中,还包括:将包括线程处理结果的报文发送给客户端。
本发明实施例的另一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:与客户端连接并创建主线程;接收多个samba协议请求;通过主线程创建包括多个线程的线程池;通过主线程依次解析多个samba协议请求得到每个samba协议请求对应的文件路径;以及根据文件路径将多个samba协议请求分配到线程池中对应的线程中并发执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910666765.1/2.html,转载请声明来源钻瓜专利网。