CN108900607B - 一种smb协议请求的处理方法、装置及服务器 - Google Patents
一种smb协议请求的处理方法、装置及服务器 Download PDFInfo
- Publication number
- CN108900607B CN108900607B CN201810690648.4A CN201810690648A CN108900607B CN 108900607 B CN108900607 B CN 108900607B CN 201810690648 A CN201810690648 A CN 201810690648A CN 108900607 B CN108900607 B CN 108900607B
- Authority
- CN
- China
- Prior art keywords
- thread
- sub
- mounting
- mounting point
- samba
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims abstract description 158
- 230000008569 process Effects 0.000 claims abstract description 109
- 241001362551 Samba Species 0.000 claims abstract description 82
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 11
- 239000002699 waste material Substances 0.000 abstract description 5
- 238000004891 communication Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000003993 interaction Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及通讯技术领域,公开了一种SMB协议请求的处理方法,包括:当接收到客户端发送的SMB协议请求时,利用samba主进程创建子线程;初始化子线程的资源信息,并使初始化后的子线程通过samba主进程对应的挂载点挂载存储服务;该方法只需要一个进程实现SMB协议请求的处理,能够有效降低服务器系统资源消耗,更合理地利用系统资源,即同样配置可以为更多的客户端提供存储访问服务;且该方法仅需要一个挂载点即仅需要挂载一次存储服务,减少现有技术中频繁设立和卸载挂载点的过程,进一步减少对系统资源的浪费。本发明还公开了一种SMB协议请求的处理装置、服务器及计算机可读存储介质,具有上述有益效果。
Description
技术领域
本发明涉及通讯技术领域,特别涉及一种SMB协议请求的处理方法、装置、服务器及计算机可读存储介质。
背景技术
目前,服务器可以通过samba软件响应客户端发送的SMB协议请求,将本地存储资源映射到该客户端,为该客户端提供网络存储服务。其中,SMB(Server Message Block,信息服务块)是一种网络通讯协议;samba软件是在Linux和UNIX系统上实现SMB协议的一个软件,运行在服务器的一种程序,能够响应处理客户端发送的SMB协议请求。
请参考图1,现有技术中客户端1(即图1中client_1)通过SMB协议向服务器发送SMB协议请求(即一种访问请求)后,服务器中samba主进程(即图1中smb_process)会创建一个子进程1(即图1中process_1),利用子进程1来单独处理跟客户端1的信息交互。当有新的客户端2(即图1中client_2)通过SMB协议向服务器发送SMB协议请求后,服务器中samba主进程会再创建一个新的子进程2(即图1中process_2),利用子进程2来处理跟客户端2的信息交互。当有n个客户端来连接时,服务器中samba主进程需要创建n个子进程分别与n个客户端交互。
由于samba主进程与其创建的子进程,以及各个子进程之间资源相互独立,因此需要服务器为每个进程单独分配资源(例如单独的地址空间等)。这种多进程处理客户端SMB协议请求的模式会随着客户端的增加极大的消耗服务器的系统资源。
发明内容
本发明的目的是提供一种SMB协议请求的处理方法、装置、服务器及计算机可读存储介质,能够有效降低服务器系统资源消耗,更合理地利用系统资源,即同样配置可以为更多的客户端提供存储访问服务。
为解决上述技术问题,本发明提供一种SMB协议请求的处理方法,所述处理方法包括:
当接收到客户端发送的SMB协议请求时,利用samba主进程创建子线程;
初始化所述子线程的资源信息,并使初始化后的所述子线程通过所述samba主进程对应的挂载点挂载存储服务。
可选的,初始化所述子线程资源信息,并使初始化后的所述子线程通过所述samba主进程对应的挂载点挂载存储服务,包括:
判断所述子线程是否为第一个子线程;
若是,则初始化所述子线程的资源信息,利用初始化后的所述子线程设立所述samba主进程对应的挂载点,并通过所述挂载点挂载存储服务;
若不是,则初始化所述子线程的资源信息,并直接利用所述挂载点挂载存储服务。
可选的,初始化所述子线程资源信息,并使初始化后的所述子线程通过所述samba主进程对应的挂载点挂载存储服务,包括:
判断所述子线程是否为第一个子线程;
若是,则初始化所述子线程的资源信息,利用初始化后的所述子线程设立所述samba主进程对应的挂载点,并通过所述挂载点挂载存储服务,将所述挂载点的引用计数设置为1;
若不是,则初始化所述子线程的资源信息,并直接利用所述挂载点挂载存储服务,并将所述挂载点的引用计数加1。
可选的,当接收到所述客户端发送的断开SMB协议请求时,还包括:
利用所述子线程将所述挂载点的引用计数减1,并判断所述挂载点的引用计数是否为0;
若为0,则利用所述子线程卸载所述挂载点并退出线程;
若不为0,则使所述子线程直接退出线程。
本发明还提供一种SMB协议请求的处理装置,所述处理装置包括:
子线程创建模块,用于当接收到客户端发送的SMB协议请求时,利用samba主进程创建子线程;
挂载模块,用于初始化所述子线程的资源信息,并使初始化后的所述子线程通过所述samba主进程对应的挂载点挂载存储服务。
可选的,所述挂载模块,包括:
第一判断单元,用于判断所述子线程是否为第一个子线程;
第一挂载单元,用于若所述子线程是第一个子线程,则初始化所述子线程的资源信息,利用初始化后的所述子线程设立所述samba主进程对应的挂载点,并通过所述挂载点挂载存储服务;
第二挂载单元,用于若所述子线程不是第一个子线程,则初始化所述子线程的资源信息,并直接利用所述挂载点挂载存储服务。
可选的,所述挂载模块,包括:
第二判断单元,用于判断所述子线程是否为第一个子线程;
第三挂载单元,用于若所述子线程是第一个子线程,则初始化所述子线程的资源信息,利用初始化后的所述子线程设立所述samba主进程对应的挂载点,并通过所述挂载点挂载存储服务,将所述挂载点的引用计数设置为1;
第四挂载单元,用于若所述子线程不是第一个子线程,则初始化所述子线程的资源信息,并直接利用所述挂载点挂载存储服务,并将所述挂载点的引用计数加1。
可选的,所述处理装置还包括:
判断模块,用于当接收到所述客户端发送的断开SMB协议请求时,利用所述子线程将所述挂载点的引用计数减1,并判断所述挂载点的引用计数是否为0;
第一退出模块,用于若所述挂载点的引用计数为0,则利用所述子线程卸载所述挂载点并退出线程;
第二退出模块,用于若所述挂载点的引用计数不为0,则使所述子线程直接退出线程。
本发明还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述所述SMB协议请求的处理方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述SMB协议请求的处理方法的步骤。
本发明所提供的一种SMB协议请求的处理方法,包括:当接收到客户端发送的SMB协议请求时,利用samba主进程创建子线程;初始化子线程的资源信息,并使初始化后的子线程通过samba主进程对应的挂载点挂载存储服务。
可见,该方法只需要一个进程(即samba主进程)实现SMB协议请求的处理,能够有效降低服务器系统资源消耗,更合理地利用系统资源,即同样配置可以为更多的客户端提供存储访问服务,从而避免现有技术中每一个客户端都需要对应一个进程所带来的资源浪费;且该方法仅需要一个挂载点即仅需要挂载一次存储服务,从而避免现有技术中每个进程都需要在服务客户端时设立挂载点,不需要服务时卸载挂载点所带来的频繁设立和卸载挂载点的过程,进一步减少对系统资源的浪费。本发明还提供了一种SMB协议请求的处理装置、服务器及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术所提供的samba服务器中samba多进程模式工作示意图;
图2为本发明实施例所提供的SMB协议请求的处理方法的流程图;
图3为现有技术所提供的samba服务器中samba单进程模式工作示意图;
图4为本发明实施例所提供的SMB协议请求的处理装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
通过图1可以看到现有技术中在处理SMB协议请求时,每个客户端都会对应一个进程来单独与客户端进行信息交互,并会为该客户端设立一个挂载点以挂载存储服务。因此可以看出现有技术中不仅需要为每个进程都独立分配一定资源,且需要在客户端变动时,频繁执行挂载点的设立和卸载过程。这种多进程处理客户端SMB协议请求的模式会随着客户端的增加极大的消耗服务器的系统资源。且降低服务器能够服务的客户端的数量。本实施例通过单进程处理SMB协议请求的方式可以克服上述缺点,具体请参考图2,图2为本发明实施例所提供的SMB协议请求的处理方法的流程图;该处理方法可以包括:
S100、当接收到客户端发送的SMB协议请求时,利用samba主进程创建子线程。
具体的,本实施例中当接收到客户端发送的SMB协议请求时,samba主进程会创建一个子线程实现与该客户端的信息交互,可以理解为本实施例通过samba主进程创建的子线程完成现有技术中samba主进程创建的子进程的功能。但是现有技术需要为samba主进程创建的独立于samba主进程的子进程分配单独的资源,而本实施例却不需要为samba主进程创建的子线程分配单独的资源。即本实施例中samba主进程创建的各个子线程可以共享samba主进程对应的资源。本实施例中只有一个进程就是samba主进程,通过其为每个客户端创建对应的子线程,实现向对应的客户端提供存储服务的功能。
即本实施例对现有的多进程处理SMB协议请求的架构进行改进,当客户端通过SMB协议向服务器发送访问请求(即SMB协议请求)后,服务器中的samba主进程会创建一个子线程来处理与该客户端的交互,当有新的客户端通过SMB协议向服务器发送访问请求后,服务器中的samba主进程会再创建一个新的子线程来处理与该客户端的交互。每一个新的客户端的加入samba主进程都会执行上述过程。由于samba主进程创建的各个子线程都处于samba主进程中,因此可以共享一些资源,进而本实施例中的samba主进程实现方案(即单进程实现方案),能够有效的降低服务器(或者称为服务节点)系统资源消耗,更合理地利用系统资源,同样服务器配置可以为更多的客户端提供存储访问服务,提高资源利用率。
其中,本实施例在接收到客户端发送的SMB协议请求之前,需要服务器首先启动samba主进程。本实施例并不对该启动过程进行限定。
S110、初始化子线程的资源信息,并使初始化后的子线程通过samba主进程对应的挂载点挂载存储服务。
具体的,本实施例(即samba单进程模式)与现有技术中多进程SMB协议请求处理流程(即samba多进程模式)的另一个区别就是:本实施例的samba单进程模式服务器只需要提供一个挂载点挂载存储服务,实现对外提供存储访问,如图3所示(其中,smb_process为samba主进程,client为客户端,thread为子线程);而多进程模式则每个进程都需要提供一个单独的挂载点挂载存储服务,如图1所示。即本实施例中多个客户端同时连接服务器时,服务器中的samba主进程会创建多个子线程来分别处理与之对应的客户端的交互,且仅存在一个挂载点来挂载本地存储资源。
本实施例中每个客户端对应的子线程都是通过同一个挂载点挂载存储服务。本实施例并不限定设立该挂载点的执行主体。例如可以是samba主进程,也可以是samba主进程创建的第一个子线程。进而本实施例并不限定设立该挂载点的时机。例如当设立该挂载点的执行主体是samba主进程时,可以在启动samba主进程后由samba主进程设立该挂载点,或者是在samba主进程创建第一个子线程的时候设立该挂载点。当设立该挂载点的执行主体是samba主进程创建的第一个子线程时,可以在第一个子线程初始化后设立该挂载点。
即以samba主进程创建的第一个子线程为执行主体时,本实施例的过程可以是:启动服务器中的samba主进程,当首个客户端来连接时,samba主进程创建首个子线程,该子线程初始化本线程资源,设立挂载点并挂载底层存储服务,以便向客户端提供存储服务;当另一个客户端来连接时,samba主进程创建另一个子线程,并初始化其本线程资源,然后通过复用首个子线程设立的挂载点,来挂载底层存储服务向客户端提供存储服务;后续客户端连接时,都复用首个子线程设立的挂载点。
本实施例并不对具体的挂载点的设立以及挂载存储服务的具体过程进行限定。例如可以参考现有技术中挂载点的设立以及挂载存储服务的过程。
进一步,为了尽量减少对服务器资源的占用,优选的,本实施例可以在接收到第一个客户端发送的SMB协议请求后,由samba主进程创建的第一个子线程设立挂载点。进而避免过早的设立挂载点,提高服务器资源的利用率。本实施例并不对子线程设立挂载点的具体过程进行限定,只要是有首个被创立的子线程来设立该挂载点即可。优选的具体过程可以如下:
判断子线程是否为第一个子线程;
若是,则初始化子线程的资源信息,利用初始化后的子线程设立samba主进程对应的挂载点,并通过挂载点挂载存储服务;
若不是,则初始化子线程的资源信息,并直接利用挂载点挂载存储服务。
具体的,本实施例在首个客户端发送了SMB协议请求需要与服务器建立连接时,由samba主进程创建的第一个子线程设立挂载点并通过挂载点挂载存储服务,向该客户端提供存储服务。即首个客户端连接时,服务器中的samba主进程创建首个子线程,初始化该子线程的资源并设立挂载点挂载底层存储服务。
进一步,为了在上述实施例的基础上再次减少对服务器资源的占用,优选的,本实施例可以在服务器中不存在需要连接的客户端时及时卸载挂载点。进而避免挂载点对资源的占用,提高服务器资源的利用率。即当判断出服务器不存在与之连接的客户端时,可以将该挂载点卸载掉。本实施例不对判断是否存在与之连接的客户端的具体过程进行限定,例如可以是利用计数器实现对连接的客户端的数量进行统计,以便在数量为0时判断为服务器不存在与之连接的客户端。本实施例也不限定执行该判断动作的执行主体,例如可以是samba主进程,也可以是子线程。相应的本实施例并不限定卸载该挂载点的执行主体,例如可以是samba主进程,也可以判断出服务器不存在与之连接的客户端的子线程。进而本实施例并不限定卸载挂载点的具体过程,用户可以根据其选择的执行卸载挂载点的执行主体进行相应的设置。优选的,当卸载挂载点的执行主体为子线程时,具体过程可以如下:
判断子线程是否为第一个子线程;
若是,则初始化子线程的资源信息,利用初始化后的子线程设立samba主进程对应的挂载点,并通过挂载点挂载存储服务,将挂载点的引用计数设置为1;
若不是,则初始化子线程的资源信息,并直接利用挂载点挂载存储服务,并将挂载点的引用计数加1。
当接收到客户端发送的断开SMB协议请求时,利用子线程将挂载点的引用计数减1,并判断挂载点的引用计数是否为0;
若为0,则利用子线程卸载挂载点并退出线程;
若不为0,则使子线程直接退出线程。
其中,本实施例可以利用计数器实现对挂载点的引用计数的控制,但是并不对此进行限定。只要可以实现对挂载点的引用计数的控制即可。
具体的,本实施例中该挂载点在首个客户端连接并创建时设置引用计数为1,当有新的客户端来连接时,引用计数加1;当有客户端断连时引用计数减1,并判断应用计数是否为0,如果为0则卸载该挂载点,如果不为零则不做处理。
下面举例说明上述过程:
步骤一:服务器中启动samba主进程;
步骤二:首个客户端连接服务器时,服务器中的samba主进程创建首个子线程,初始化该子线程资源,设立挂载点并挂载底层存储服务,其引用计数设置为1;
步骤三:新的客户端连接服务器时,服务器中的samba主进程创建一个新的子线程,初始化该子线程资源,访问步骤二中设立的挂载点,并将其引用计数加1;
步骤四:当客户端断开连接时,先将挂载点对于其引用计数减1,并判断其结果是否为0,如果不为0,该客户端对应的子线程不用卸载挂载点,而是直接退出线程;如果其结果为0,该客户端对应的子线程需要卸载挂载点后再退出线程。
基于上述技术方案,本发明实施例提供的SMB协议请求的处理方法,只需要一个进程(即samba主进程)实现SMB协议请求的处理,能够有效降低服务器系统资源消耗,更合理地利用系统资源,即同样配置可以为更多的客户端提供存储访问服务,从而避免现有技术中每一个客户端都需要对应一个进程所带来的资源浪费;且该方法仅需要一个挂载点即仅需要挂载一次存储服务,从而避免现有技术中每个进程都需要在服务客户端时设立挂载点,不需要服务时卸载挂载点所带来的频繁设立和卸载挂载点的过程,进一步减少对系统资源的浪费。
下面对本发明实施例提供的SMB协议请求的处理装置、服务器及计算机可读存储介质进行介绍,下文描述的SMB协议请求的处理装置、服务器及计算机可读存储介质与上文描述的SMB协议请求的处理方法可相互对应参照。
请参考图4,图4为本发明实施例所提供的SMB协议请求的处理装置的结构框图;该处理装置可以包括:
子线程创建模块100,用于当接收到客户端发送的SMB协议请求时,利用samba主进程创建子线程;
挂载模块200,用于初始化子线程的资源信息,并使初始化后的子线程通过samba主进程对应的挂载点挂载存储服务。
基于上述实施例,挂载模块200可以包括:
第一判断单元,用于判断子线程是否为第一个子线程;
第一挂载单元,用于若子线程是第一个子线程,则初始化子线程的资源信息,利用初始化后的子线程设立samba主进程对应的挂载点,并通过挂载点挂载存储服务;
第二挂载单元,用于若子线程不是第一个子线程,则初始化子线程的资源信息,并直接利用挂载点挂载存储服务。
基于上述实施例,挂载模块200可以包括:
第二判断单元,用于判断子线程是否为第一个子线程;
第三挂载单元,用于若子线程是第一个子线程,则初始化子线程的资源信息,利用初始化后的子线程设立samba主进程对应的挂载点,并通过挂载点挂载存储服务,将挂载点的引用计数设置为1;
第四挂载单元,用于若子线程不是第一个子线程,则初始化子线程的资源信息,并直接利用挂载点挂载存储服务,并将挂载点的引用计数加1。
基于上述实施例,该处理装置还包括:
判断模块,用于当接收到客户端发送的断开SMB协议请求时,利用子线程将挂载点的引用计数减1,并判断挂载点的引用计数是否为0;
第一退出模块,用于若挂载点的引用计数为0,则利用子线程卸载挂载点并退出线程;
第二退出模块,用于若挂载点的引用计数不为0,则使子线程直接退出线程。
需要说明的是,基于上述任意实施例,所述处理装置可以是基于可编程逻辑器件实现的,可编程逻辑器件包括FPGA,CPLD,单片机等。该处理装置可以设置于服务器中。
本发明实施例还提供一种服务器,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如上述任意实施例所述的SMB协议请求的处理方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例所述的SMB协议请求的处理方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种SMB协议请求的处理方法、装置、服务器及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种SMB协议请求的处理方法,其特征在于,所述处理方法包括:
当接收到客户端发送的SMB协议请求时,利用samba主进程创建子线程;
初始化所述子线程的资源信息,并使初始化后的所述子线程通过所述samba主进程对应的挂载点挂载存储服务;
其中,所述初始化所述子线程资源信息,并使初始化后的所述子线程通过所述samba主进程对应的挂载点挂载存储服务,包括:
判断所述子线程是否为第一个子线程;
若是,则初始化所述子线程的资源信息,利用初始化后的所述子线程设立所述samba主进程对应的挂载点,并通过所述挂载点挂载存储服务;
若不是,则初始化所述子线程的资源信息,并直接利用所述挂载点挂载存储服务。
2.根据权利要求1所述的处理方法,其特征在于,初始化所述子线程资源信息,并使初始化后的所述子线程通过所述samba主进程对应的挂载点挂载存储服务,包括:
判断所述子线程是否为第一个子线程;
若是,则初始化所述子线程的资源信息,利用初始化后的所述子线程设立所述samba主进程对应的挂载点,并通过所述挂载点挂载存储服务,将所述挂载点的引用计数设置为1;
若不是,则初始化所述子线程的资源信息,并直接利用所述挂载点挂载存储服务,并将所述挂载点的引用计数加1。
3.根据权利要求2所述的处理方法,其特征在于,当接收到所述客户端发送的断开SMB协议请求时,还包括:
利用所述子线程将所述挂载点的引用计数减1,并判断所述挂载点的引用计数是否为0;
若为0,则利用所述子线程卸载所述挂载点并退出线程;
若不为0,则使所述子线程直接退出线程。
4.一种SMB协议请求的处理装置,其特征在于,所述处理装置包括:
子线程创建模块,用于当接收到客户端发送的SMB协议请求时,利用samba主进程创建子线程;
挂载模块,用于初始化所述子线程的资源信息,并使初始化后的所述子线程通过所述samba主进程对应的挂载点挂载存储服务;
所述挂载模块,包括:
第一判断单元,用于判断所述子线程是否为第一个子线程;
第一挂载单元,用于若所述子线程是第一个子线程,则初始化所述子线程的资源信息,利用初始化后的所述子线程设立所述samba主进程对应的挂载点,并通过所述挂载点挂载存储服务;
第二挂载单元,用于若所述子线程不是第一个子线程,则初始化所述子线程的资源信息,并直接利用所述挂载点挂载存储服务。
5.根据权利要求4所述的处理装置,其特征在于,所述挂载模块,包括:
第二判断单元,用于判断所述子线程是否为第一个子线程;
第三挂载单元,用于若所述子线程是第一个子线程,则初始化所述子线程的资源信息,利用初始化后的所述子线程设立所述samba主进程对应的挂载点,并通过所述挂载点挂载存储服务,将所述挂载点的引用计数设置为1;
第四挂载单元,用于若所述子线程不是第一个子线程,则初始化所述子线程的资源信息,并直接利用所述挂载点挂载存储服务,并将所述挂载点的引用计数加1。
6.根据权利要求5所述的处理装置,其特征在于,还包括:
判断模块,用于当接收到所述客户端发送的断开SMB协议请求时,利用所述子线程将所述挂载点的引用计数减1,并判断所述挂载点的引用计数是否为0;
第一退出模块,用于若所述挂载点的引用计数为0,则利用所述子线程卸载所述挂载点并退出线程;
第二退出模块,用于若所述挂载点的引用计数不为0,则使所述子线程直接退出线程。
7.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述SMB协议请求的处理方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述SMB协议请求的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810690648.4A CN108900607B (zh) | 2018-06-28 | 2018-06-28 | 一种smb协议请求的处理方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810690648.4A CN108900607B (zh) | 2018-06-28 | 2018-06-28 | 一种smb协议请求的处理方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108900607A CN108900607A (zh) | 2018-11-27 |
CN108900607B true CN108900607B (zh) | 2021-06-29 |
Family
ID=64346984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810690648.4A Active CN108900607B (zh) | 2018-06-28 | 2018-06-28 | 一种smb协议请求的处理方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108900607B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711656A (zh) * | 2020-05-15 | 2020-09-25 | 山东省计算中心(国家超级计算济南中心) | 一种具有安全功能的网络边缘存储装置 |
CN111770054A (zh) * | 2020-05-28 | 2020-10-13 | 苏州浪潮智能科技有限公司 | 一种针对smb协议读请求的交互加速方法与系统 |
CN111901386B (zh) * | 2020-06-30 | 2023-05-09 | 广东浪潮大数据研究有限公司 | 一种远端文件处理的方法、系统、设备及可读存储介质 |
CN113612811B (zh) * | 2021-06-20 | 2023-04-07 | 济南浪潮数据技术有限公司 | 一种在多通道中客户端挂载的方法、系统、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU678742B2 (en) * | 1995-03-16 | 1997-06-05 | Kawasaki Industrial Co., Ltd | Screw jack |
CA2600091A1 (en) * | 2007-08-31 | 2009-02-28 | Achmed N. Sadik | Maple syrup production |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201491032U (zh) * | 2009-08-21 | 2010-05-26 | 西安迅腾科技有限责任公司 | 一种大规模、多线程通信服务器 |
CN102929619A (zh) * | 2012-10-19 | 2013-02-13 | 南京国电南自美卓控制系统有限公司 | 一种跨硬件平台的过程自动化软件开发系统 |
CN106897028B (zh) * | 2017-02-23 | 2020-02-07 | 郑州云海信息技术有限公司 | 一种共享存储的管理方法及系统 |
CN106919713B (zh) * | 2017-03-13 | 2021-03-16 | 苏州浪潮智能科技有限公司 | 一种集群文件系统及分布式文件系统多客户端文件控制方法 |
-
2018
- 2018-06-28 CN CN201810690648.4A patent/CN108900607B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU678742B2 (en) * | 1995-03-16 | 1997-06-05 | Kawasaki Industrial Co., Ltd | Screw jack |
CA2600091A1 (en) * | 2007-08-31 | 2009-02-28 | Achmed N. Sadik | Maple syrup production |
Non-Patent Citations (2)
Title |
---|
"Two methods to enhance the master thread’s performance in SMT Chip ";Ma Pengyong等;《2007 IFIP International Conference on Network and Parallel Computing - Workshops》;20071022;全文 * |
"基于Samba的网盘在教育云平台的设计与实现";王子轩;《中国优秀硕士学位论文全文数据》;20170215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108900607A (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108900607B (zh) | 一种smb协议请求的处理方法、装置及服务器 | |
CN109768871B (zh) | 配置多个虚拟网卡的方法、宿主机和存储介质 | |
US9244817B2 (en) | Remote debugging in a cloud computing environment | |
CN109067877B (zh) | 一种云计算平台部署的控制方法、服务器及存储介质 | |
CN107592237B (zh) | 一种混合云的资源监控方法及系统 | |
CN107919994B (zh) | 实现网络服务双机热备的方法及服务器 | |
CN113242272B (zh) | 基于mqtt服务集群的会话处理方法及系统 | |
CN113485822A (zh) | 内存管理方法、系统、客户端、服务器及存储介质 | |
CN110912835A (zh) | 业务分流方法、装置及系统 | |
CN114070723A (zh) | 裸金属服务器的虚拟网络配置方法、系统及智能网卡 | |
CN109819023B (zh) | 分布式事务处理方法及相关产品 | |
CN110933160A (zh) | 一种数据访问方法、服务器、终端和存储介质 | |
CN115088235A (zh) | 主节点选取方法、装置、电子设备以及存储介质 | |
CN112087401A (zh) | 分布式存储中实现服务质量的方法和装置 | |
CN109819064B (zh) | 模块间通信的方法、操作系统模块和会议平板 | |
CN106487557A (zh) | 一种应用的业务更新方法、装置、服务器及终端设备 | |
CN112822300B (zh) | 基于rdma的数据传输方法、装置及电子设备 | |
CN112889305B (zh) | 用于dhcp故障转移部署中的网络地址冲突减少的短期租约分配 | |
CN112822299B (zh) | 基于rdma的数据传输方法、装置及电子设备 | |
CN110365839B (zh) | 关机方法、装置、介质及电子设备 | |
CN113726881A (zh) | 通信连接建立方法、相关装置及计算机程序产品 | |
CN110149232B (zh) | 分布式存储块升级iscsi服务方法、系统、装置及存储介质 | |
CN113114662A (zh) | 一种单tcp连接处理并发请求的方法及装置 | |
CN107506491B (zh) | 一种分布式文件系统的osd数据分发方法及装置 | |
CN112689008A (zh) | 网络连接池管理方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |