CN106790420B - A kind of more session channel method for building up and system - Google Patents
A kind of more session channel method for building up and system Download PDFInfo
- Publication number
- CN106790420B CN106790420B CN201611093738.2A CN201611093738A CN106790420B CN 106790420 B CN106790420 B CN 106790420B CN 201611093738 A CN201611093738 A CN 201611093738A CN 106790420 B CN106790420 B CN 106790420B
- Authority
- CN
- China
- Prior art keywords
- node
- client
- network interface
- session
- source node
- 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
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种多会话通道建立方法和系统,涉及通信领域,用以解决现有技术中由于节点网卡数量限制,所引起的节点和客户端网络传输的带宽的吞吐量低的问题,包括:源节点接收客户端发送的第一查询消息;源节点向客户端发送每个节点包括的至少一个网卡的网卡信息;目标节点根据客户端发送的连接建立请求,通过目标网卡建立目标节点和客户端之间的会话通道,目标节点为目标网卡所在的节点,目标网卡为客户端根据所述每个节点包括的至少一个网卡的网卡信息从每个节点包括的至少一个网卡中选择的网卡。本发明实施例应用于集群系统中节点故障切换场景。
Embodiments of the present invention provide a method and system for establishing a multi-session channel, which relate to the communication field and are used to solve the problem of low throughput of network transmission bandwidth between nodes and clients caused by the limitation of the number of node network cards in the prior art. Including: the source node receives the first query message sent by the client; the source node sends the network card information of at least one network card included in each node to the client; the target node establishes the target node and In the session channel between clients, the target node is the node where the target network card is located, and the target network card is the network card selected by the client from at least one network card included in each node according to the network card information of the at least one network card included in each node. The embodiment of the present invention is applied to a node failover scenario in a cluster system.
Description
技术领域technical field
本发明实施例涉及通信领域,尤其涉及一种多会话通道建立方法和系统。The embodiments of the present invention relate to the communication field, and in particular to a method and system for establishing a multi-session channel.
背景技术Background technique
SMB(Server Message Block,服务消息块)协议(例如,SMB3.0协议)主要用于在计算机间共享文件、打印机、串口等。SMB典型应用组网如图1a所示。SMB (Server Message Block, service message block) protocol (for example, SMB3.0 protocol) is mainly used for sharing files, printers, serial ports, etc. between computers. A typical application network of SMB is shown in Figure 1a.
MutilChannel(多会话通道)特性是SMB3.0协议新增加的一个特性,通过MutilChannel特性,可以在客户端和一个节点的多个网卡之间同时通过多个TCP连接建立会话通道,来实现一个节点内的单网卡故障场景下客户端和该节点的业务不中断。具体如下:如图1b所示,客户端101(包括多个网卡,例如,网卡1011和网卡1012)的一个网卡1011通过交换机102和节点103的一个网卡1031建立TCP连接建链并创建会话成功后,形成一个会话通道(如图1b中的会话通道105),进行业务交互;然后客户端101向节点103发送用于查询节点103相关网卡信息的指示消息,客户端101接收节点103发送的响应消息,该响应消息中包括节点103上所有可用网卡信息;客户端101通过其上其他的网卡(例如,网卡1012)和节点103反馈的网卡信息建立新的TCP连接,并基于网卡1011和网卡1031建立TCP连接时创建的会话的ID重新进行认证通过后,形成新的会话通道,如图1c中的网卡1012和网卡1032之间形成的会话通道106。The MutilChannel (multi-session channel) feature is a newly added feature of the SMB3.0 protocol. Through the MutilChannel feature, a session channel can be established between the client and multiple network cards of a node through multiple TCP connections at the same time to implement a node. In the event of a single NIC failure, the services of the client and the node are not interrupted. Specifically as follows: as shown in Figure 1b, a network card 1011 of the client 101 (including a plurality of network cards, for example, network card 1011 and network card 1012) establishes a TCP connection through the switch 102 and a network card 1031 of the node 103 after the link is established and the session is successfully created , forming a conversation channel (such as the conversation channel 105 in Fig. 1b) for business interaction; then the client 101 sends an instruction message for querying the relevant network card information of the node 103 to the node 103, and the client 101 receives the response message sent by the node 103 , the response message includes all available network card information on the node 103; the client 101 establishes a new TCP connection through other network cards on it (for example, network card 1012) and the network card information fed back by the node 103, and establishes a new TCP connection based on the network card 1011 and the network card 1031 After the ID of the session created during the TCP connection is re-authenticated, a new session channel is formed, such as the session channel 106 formed between the network card 1012 and the network card 1032 in FIG. 1c.
但是,由于单个网卡的实际能力有限,因此节点和客户端网络传输的带宽的吞吐量会受限于节点的网卡数量,即如果与客户端建立连接的节点的网卡数量越少,所能传输的极限带宽也就越少。However, due to the limited actual capability of a single network card, the throughput of the bandwidth transmitted by the node and the client network will be limited by the number of network cards of the node. The limit bandwidth is also less.
发明内容Contents of the invention
本发明实施例提供一种多会话通道建立方法和系统,用以解决现有技术中由于单个节点的网卡数量限制,所引起的节点和客户端网络传输的带宽的吞吐量低的问题。Embodiments of the present invention provide a method and system for establishing a multi-session channel to solve the problem of low throughput of network transmission bandwidth between nodes and clients caused by the limitation of the number of network cards of a single node in the prior art.
为达到上述目的,本发明的实施例采用如下技术方案:In order to achieve the above object, embodiments of the present invention adopt the following technical solutions:
第一方面,本发明实施例提供一种多会话通道建立方法,该方法应用于集群系统中,该集群系统包括客户端以及至少两个节点,其中,至少两个节点中每个节点包括至少一个网卡,本发明实施例提供的方法包括:源节点接收客户端发送的用于指示源节点查询每个节点包括的至少一个网卡的网卡信息的第一查询消息;源节点为至少两个节点中与客户端进行通信的节点;源节点中存储有每个节点包括的至少一个网卡的网卡信息;源节点向客户端发送每个节点包括的至少一个网卡的网卡信息;目标节点根据客户端发送的连接建立请求,通过目标网卡建立目标节点和客户端之间的会话通道,目标节点为目标网卡所在的节点,目标网卡为客户端根据每个节点包括的至少一个网卡的网卡信息从每个节点包括的至少一个网卡中选择的网卡。In a first aspect, an embodiment of the present invention provides a method for establishing a multi-session channel. The method is applied in a cluster system, and the cluster system includes a client and at least two nodes, wherein each of the at least two nodes includes at least one Network card, the method provided by the embodiment of the present invention includes: the source node receives the first query message sent by the client to instruct the source node to query the network card information of at least one network card included in each node; the source node is at least two nodes with The node where the client communicates; the source node stores the network card information of at least one network card included in each node; the source node sends the network card information of at least one network card included in each node to the client; the target node according to the connection sent by the client Create a request, establish a session channel between the target node and the client through the target network card, the target node is the node where the target network card is located, and the target network card is the one included by the client from each node according to the network card information of at least one network card included in each node The network card selected in At least one network card.
本发明实施例提供一种多会话通道建立方法,通过源节点接收客户端发送的用于指示源节点查询每个节点包括的至少一个网卡的网卡信息的第一查询消息;源节点为至少两个节点中与客户端进行通信的节点;源节点中存储有每个节点包括的至少一个网卡的网卡信息;源节点向客户端发送每个节点包括的至少一个网卡的网卡信息;目标节点根据客户端发送的连接建立请求,通过目标网卡建立目标节点和客户端之间的会话通道,目标节点为目标网卡所在的节点,目标网卡为客户端根据每个节点包括的至少一个网卡的网卡信息从每个节点包括的至少一个网卡中选择的网卡。由于,单个网卡的实际能力有限,所以如果网卡数量越少,客户端和节点之间建立的会话通道数量也就越少,客户端和集群系统之间所能传输的极限带宽也就越少;反之,网卡越多,可以提供的总带宽就越多,因此,客户端在使用MutilChannel特性访问集群体的业务时,可以和集群系统中的多个节点(例如,源节点和目标节点)之间建立会话通道,例如建立源节点和客户端的网卡之间的会话通道,建立目标网卡和客户端网卡之间的会话通道,这样可以提高集群系统和客户端之间网络传输带宽的吞吐量。同时若源节点故障,客户端能选取正常节点(例如,目标节点),并根据与目标节点的目标网卡之间建立的会话通道进行业务传输,从而保证客户端和集群系统之间的业务持续不中断,大大提高整系统对外的性能。An embodiment of the present invention provides a method for establishing a multi-session channel. The source node receives the first query message sent by the client to instruct the source node to query the network card information of at least one network card included in each node; the source node is at least two The node that communicates with the client in the node; the network card information of at least one network card included in each node is stored in the source node; the source node sends the network card information of at least one network card included in each node to the client; the target node according to the client The connection establishment request sent is to establish a session channel between the target node and the client through the target network card. The target node is the node where the target network card is located, and the target network card is the client according to the network card information of at least one network card included in each node. A network card selected from at least one network card included in the node. Since the actual capacity of a single network card is limited, if the number of network cards is small, the number of session channels established between the client and the node will be fewer, and the limit bandwidth that can be transmitted between the client and the cluster system will be less; Conversely, the more network cards, the more total bandwidth can be provided. Therefore, when the client uses the MutilChannel feature to access the business of the cluster, it can communicate with multiple nodes in the cluster system (for example, the source node and the target node). Establish a session channel, such as establishing a session channel between the source node and the client network card, and establishing a session channel between the target network card and the client network card, which can improve the throughput of the network transmission bandwidth between the cluster system and the client. At the same time, if the source node fails, the client can select a normal node (for example, the target node) and perform business transmission according to the session channel established with the target network card of the target node, so as to ensure that the business between the client and the cluster system continues uninterrupted Interruption greatly improves the external performance of the entire system.
结合第一方面,在第一方面的第一种可能的实现方式中,在源节点向客户端发送每个节点包括的至少一个网卡的网卡信息之前,本发明实施例提供的方法包括:源节点接收集群系统中除源节点之外的每个节点发送的包括该节点包括的至少一个网卡的网卡信息的第一广播消息;源节点将源节点包括的至少一个网卡的网卡信息及集群系统中除源节点之外的每个节点包括的至少一个网卡的网卡信息存储在源节点中。这样当源节点接收到客户端发送的第一查询消息时,可以及时向客户端反馈集群系统中每个节点的网卡信息以供客户端进行选择。With reference to the first aspect, in a first possible implementation manner of the first aspect, before the source node sends the network card information of at least one network card included in each node to the client, the method provided by the embodiment of the present invention includes: the source node Receive the first broadcast message including the network card information of at least one network card included in the node sent by each node except the source node in the cluster system; the source node will include the network card information of at least one network card included in the source node and the cluster system Network card information of at least one network card included in each node other than the source node is stored in the source node. In this way, when the source node receives the first query message sent by the client, it can timely feed back the network card information of each node in the cluster system to the client for selection by the client.
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,上述连接建立请求包括用户名以及用户密码;目标节点根据客户端发送的连接建立请求,通过目标网卡建立目标节点和客户端之间的会话通道,包括:目标节点对客户端发送的用户名和用户密码进行校验;在确定用户名与预设的用户名匹配,且用户密码与预设的用户密码匹配之后,目标节点通过目标网卡建立目标节点和客户端之间的会话通道。通过建立目标节点和客户端之间的会话通道,这样当源节点故障时,客户端能够根据与目标节点之间建立的会话通道与集群系统进行业务传输,使得业务传输不中断。With reference to the first aspect or the first possible implementation of the first aspect, in the second possible implementation of the first aspect, the connection establishment request includes a user name and a user password; Create a request to establish a session channel between the target node and the client through the target network card, including: the target node verifies the user name and user password sent by the client; after confirming that the user name matches the preset user name, and the user password After matching with the preset user password, the target node establishes a session channel between the target node and the client through the target network card. By establishing a session channel between the target node and the client, when the source node fails, the client can perform service transmission with the cluster system according to the session channel established with the target node, so that the service transmission is not interrupted.
结合第一方面至第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,连接建立请求中包括会话标识以及标志位,该会话标识用于唯一识别第一会话信息,该第一会话信息为建立源节点和客户端之间的会话通道时生成的,标志位用于指示对源节点和客户端之间建立会话通道的重新认证;在源节点接收客户端发送的第一查询消息之前,本发明实施例提供的方法还包括:源节点向客户端发送会话标识;相应的,目标节点通过目标网卡建立目标节点和客户端之间的会话通道之后,本发明实施例提供的方法包括:目标节点对会话标识进行解析,确定生成第一会话信息的源节点的标识;目标节点向源节点发送第一请求消息,以从源节点获取会话标识所指示的第一会话信息;目标节点根据标志位,将第二会话通道与第一会话信息绑定,第二会话通道为目标节点通过目标网卡建立的目标节点和客户端之间的会话通道。这样,可以实现第一会话信息与多个会话通道之间的映射,当客户端通过第一会话信息对应的多个会话通道与节点中的同一文件夹进行访问时,便产生同一个TREE信息,可以使得业务不中断。In combination with the first aspect to the second possible implementation of the first aspect, in the third possible implementation of the first aspect, the connection establishment request includes a session identifier and a flag bit, and the session identifier is used to uniquely identify the first A session information, the first session information is generated when the session channel between the source node and the client is established, and the flag bit is used to indicate the re-authentication of the session channel established between the source node and the client; the source node receives the client Before the first query message sent by the client, the method provided by the embodiment of the present invention further includes: the source node sends the session identifier to the client; correspondingly, after the target node establishes a session channel between the target node and the client through the target network card, the The method provided by the embodiment of the invention includes: the target node parses the session identifier to determine the identifier of the source node that generates the first session information; the target node sends a first request message to the source node to obtain the first session information indicated by the session identifier from the source node. A session information; the target node binds the second session channel with the first session information according to the flag bit, and the second session channel is a session channel between the target node and the client established by the target node through the target network card. In this way, the mapping between the first session information and multiple session channels can be realized. When the client accesses the same folder in the node through the multiple session channels corresponding to the first session information, the same TREE information will be generated. Can make business uninterrupted.
结合第一方面至第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,在源节点向客户端发送每个节点包括的至少一个网卡的网卡信息之后,本发明实施例提供的方法还包括:源节点向客户端发送用于唯一识别文件句柄信息的句柄标识;源节点将文件句柄信息备份至第一节点,第一节点为至少两个节点中与源节点对应的节点;相应的,在目标节点根据客户端发送的连接建立请求,通过目标网卡建立目标节点和客户端之间的会话通道之后,本发明实施例提供的方法还包括:在源节点故障时,目标节点接收客户端发送的携带有用于唯一识别文件句柄信息的句柄标识的第一数据访问请求消息;目标节点根据所述句柄标识获取文件句柄信息。这样当源节点故障时,目标节点可以根据客户端的第一数据访问请求消息获取到客户端请求访问的目标文件的文件句柄信息,并根据该文件句柄信息对目标文件进行正常的读操作或者写操作,使得客户端和集群系统之间的业务(读数据操作/写数据操作)不会因为源节点的故障而中断。In combination with the first aspect to the third possible implementation of the first aspect, in the fourth possible implementation of the first aspect, after the source node sends the network card information of at least one network card included in each node to the client The method provided by the embodiment of the present invention further includes: the source node sends a handle identifier for uniquely identifying the file handle information to the client; the source node backs up the file handle information to the first node, and the first node is at least two nodes with the same A node corresponding to the source node; correspondingly, after the target node establishes a session channel between the target node and the client through the target network card according to the connection establishment request sent by the client, the method provided by the embodiment of the present invention further includes: at the source node When a failure occurs, the target node receives the first data access request message sent by the client and carries a handle identifier for uniquely identifying the file handle information; the target node obtains the file handle information according to the handle identifier. In this way, when the source node fails, the target node can obtain the file handle information of the target file requested by the client according to the first data access request message of the client, and perform normal read or write operations on the target file according to the file handle information , so that the business (read data operation/write data operation) between the client and the cluster system will not be interrupted due to the failure of the source node.
结合第一方面至第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,句柄标识包括生成文件句柄信息的节点的标识;目标节点根据句柄标识获取文件句柄信息,包括:目标节点根据句柄标识在本地查询是否保存有文件句柄信息;当目标节点确定本地未保存文件句柄信息时,则目标节点对句柄标识进行解析,确定生成句柄标识所指示的文件句柄信息的源节点;在确定源节点故障时,目标节点从第一节点中获取句柄标识所指示的文件句柄信息。Combining the first aspect to the fourth possible implementation of the first aspect, in the fifth possible implementation of the first aspect, the handle identifier includes the identifier of the node that generates the file handle information; the target node obtains the file according to the handle identifier Handle information, including: the target node inquires whether there is file handle information locally according to the handle ID; when the target node determines that the file handle information is not saved locally, the target node analyzes the handle ID to determine the file handle indicated by the handle ID The source node of the information; when it is determined that the source node is faulty, the target node acquires the file handle information indicated by the handle identifier from the first node.
结合第一方面至第一方面的第四种可能的实现方式中任意一种可能的实现方式,在第一方面的第五种可能的实现方式中,在源节点向第一节点发送文件句柄信息之前,本发明实施例提供的方法还包括:源节点从至少两个节点中确定源节点对应的第一节点,通过确定用于存储备份文件句柄信息的第一节点,可以使得在源节点故障时,第一节点根据客户端发送的句柄标识提供文件句柄信息。In combination with any possible implementation of the first aspect to the fourth possible implementation of the first aspect, in the fifth possible implementation of the first aspect, the source node sends the file handle information to the first node Previously, the method provided by the embodiment of the present invention further includes: the source node determines the first node corresponding to the source node from at least two nodes, and by determining the first node used to store the backup file handle information, when the source node fails , the first node provides file handle information according to the handle identifier sent by the client.
结合第一方面至第一方面的第五种可能的实现方式中任意一种可能的实现方式,在第一方面的第六种可能的实现方式中,源节点从至少两个节点中确定源节点对应的第一节点,包括:源节点获取至少两个节点中除源节点之外的其余节点的节点信息;根据至少两个节点中除源节点之外的其余节点的节点信息,按照预设规则,从至少一个节点中确定第一节点的标识;根据第一节点的标识确定第一节点。In combination with any possible implementation manner of the first aspect to the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the source node determines the source node from at least two nodes The corresponding first node includes: the source node obtains the node information of the other nodes except the source node among the at least two nodes; according to the node information of the other nodes except the source node among the at least two nodes, according to the preset rules , determining the identifier of the first node from at least one node; determining the first node according to the identifier of the first node.
第二方面,本发明实施例提供一种多会话通道方法,该方法应用于集群系统中,该集群系统包括客户端以及至少两个节点,其中,客户端包括至少两个网卡,每个节点包括至少一个网卡,本发明实施例提供的方法包括:客户端向源节点发送用于指示源节点查询至少两个节点中每个节点包括的至少一个网卡的网卡信息的第一查询消息;客户端接收源节点发送的包括至少两个节点中每个节点包括的至少一个网卡的网卡信息的第一响应消息;客户端通过目标网卡向交换机发送连接建立请求,以使得交换机根据目标网卡将连接建立请求转发至目标网卡所在的目标节点,以使得目标节点通过目标网卡建立与客户端之间的会话通道。In a second aspect, an embodiment of the present invention provides a multi-session channel method, the method is applied in a cluster system, and the cluster system includes a client and at least two nodes, wherein the client includes at least two network cards, and each node includes At least one network card, the method provided by the embodiment of the present invention includes: the client sends to the source node a first query message for instructing the source node to query the network card information of at least one network card included in each of the at least two nodes; the client receives The first response message sent by the source node including the network card information of at least one network card included in each of the at least two nodes; the client sends a connection establishment request to the switch through the target network card, so that the switch forwards the connection establishment request according to the target network card To the target node where the target network card is located, so that the target node establishes a session channel with the client through the target network card.
结合第二方面,在第二方面的第一种可能的实现方式中,上述连接建立请求中包括用户名以及用户密码。With reference to the second aspect, in a first possible implementation manner of the second aspect, the connection establishment request includes a user name and a user password.
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,客户端接收源节点发送的用于唯一识别第一会话信息的会话标识,其中,源节点为至少两个节点中与客户端进行通信的节点。With reference to the second aspect or the first possible implementation of the second aspect, in the second possible implementation of the second aspect, the client receives the session identifier sent by the source node for uniquely identifying the first session information, Wherein, the source node is a node communicating with the client among at least two nodes.
结合第二方面至第二方面的第二种可能的实现方式中任意一种可能的实现方式,在第二方面的第三种可能的实现方式中,在客户端通过目标网卡向交换机发送连接建立请求之后,本发明实施例提供的方法还包括:在客户端确定与源节点之间的业务中断后,客户端向目标节点发送携带有用于唯一识别文件句柄信息的句柄标识的第一数据访问请求消息。In combination with any possible implementation manner of the second aspect to the second possible implementation manner of the second aspect, in the third possible implementation manner of the second aspect, the client sends the connection establishment to the switch through the target network card After the request, the method provided by the embodiment of the present invention further includes: after the client determines that the service with the source node is interrupted, the client sends to the target node a first data access request carrying a handle identifier for uniquely identifying file handle information information.
第三方面,本发明实施例提供一种集群系统,该集群系统包括客户端、至少两个节点,其中,客户端包括至少两个网卡,至少两个节点中每个节点包括至少一个网卡,客户端的至少两个网卡用于与每个节点的至少一个网卡建立会话通道,其中,源节点用于接收客户端发送的用于指示源节点查询每个节点包括的至少一个网卡的网卡信息的第一查询消息;源节点为至少两个节点中与客户端进行通信的节点;源节点中存储有每个节点包括的至少一个网卡的网卡信息;以及用于向客户端发送每个节点包括的至少一个网卡的网卡信息;目标节点用于根据客户端发送的连接建立请求,通过目标网卡建立目标节点和所述客户端之间的会话通道,目标节点为目标网卡所在的节点,目标网卡为客户端根据每个节点包括的至少一个网卡的网卡信息从每个节点包括的至少一个网卡中选择的网卡。In a third aspect, an embodiment of the present invention provides a cluster system, the cluster system includes a client and at least two nodes, wherein the client includes at least two network cards, each of the at least two nodes includes at least one network card, and the client At least two network cards at the end are used to establish a session channel with at least one network card of each node, wherein the source node is used to receive the first message sent by the client for instructing the source node to query the network card information of at least one network card included in each node Query message; the source node is a node communicating with the client among at least two nodes; the source node stores at least one network card information of each node included; and is used to send at least one network card included in each node to the client The network card information of the network card; the target node is used to establish a session channel between the target node and the client through the target network card according to the connection establishment request sent by the client. The network card information of at least one network card included in each node is a network card selected from the at least one network card included in each node.
结合第三方面,在第三方面的第一种可能的实现方式中,源节点还用于:接收集群系统中除源节点之外的每个节点发送的第一广播消息;该第一广播消息包括该节点包括的至少一个网卡的网卡信息;以及用于将源节点包括的至少一个网卡的网卡信息及集群系统中除源节点之外的每个节点包括的至少一个网卡的网卡信息存储在源节点中。With reference to the third aspect, in a first possible implementation of the third aspect, the source node is further configured to: receive a first broadcast message sent by each node in the cluster system except the source node; the first broadcast message Including the network card information of at least one network card included in the node; and storing the network card information of at least one network card included in the source node and the network card information of at least one network card included in each node in the cluster system except the source node in the source in the node.
结合第三方面或第三方面的第一种可能的实现方式中,在第三方面的第二种可能的实现方式中,上述连接建立请求中包括用户名以及用户密码,目标节点具体用于:对客户端发送的用户名和用户密码进行校验;以及用于在确定用户名与预设的用户名匹配,且用户密码与预设的用户密码匹配之后,通过目标网卡建立目标节点和客户端之间的会话通道。In combination with the third aspect or the first possible implementation of the third aspect, in the second possible implementation of the third aspect, the above-mentioned connection establishment request includes a user name and a user password, and the target node is specifically used for: Verify the user name and user password sent by the client; and after determining that the user name matches the preset user name and the user password matches the preset user password, establish a connection between the target node and the client through the target network card conversation channel between.
结合第三方面至第三方面的第二种可能的实现方式中,在第三方面的第三种可能的实现方式中,上述连接建立请求中还包括会话标识以及标志位,会话标识用于唯一识别第一会话信息,该第一会话信息为建立源节点和客户端之间建立的会话通道时生成的;标志位用于指示对源节点和客户端之间建立的会话通道重新认证;源节点,还用于向客户端发送会话标识;目标节点还用于:对会话标识进行解析,确定生成第一会话信息的源节点的标识;以及用于向源节点发送第一请求消息,以从源节点获取会话标识所指示的第一会话信息,第一请求消息中携带有会话标识;以及用于根据标志位,将第二会话通道与第一会话信息绑定,第二会话通道为目标节点通过目标网卡建立的目标节点和客户端之间的会话通道。Combining the third aspect to the second possible implementation of the third aspect, in the third possible implementation of the third aspect, the connection establishment request further includes a session identifier and a flag bit, and the session identifier is used for unique Identify the first session information, which is generated when the session channel established between the source node and the client is established; the flag bit is used to indicate the re-authentication of the session channel established between the source node and the client; the source node , is also used to send the session identifier to the client; the target node is also used to: parse the session identifier to determine the identifier of the source node that generates the first session information; and send the first request message to the source node to obtain the The node acquires the first session information indicated by the session identifier, and the first request message carries the session identifier; and is used to bind the second session channel with the first session information according to the flag bit, and the second session channel is the target node through The session channel between the target node and the client established by the target NIC.
结合第三方面至第三方面的第三种可能的实现方式中,在第三方面的第四种可能的实现方式中,目标节点还用于:接收客户端发送的携带有用于唯一识别文件句柄信息的句柄标识的第一数据访问请求消息;以及用于根据句柄标识获取文件句柄信息。In combination with the third aspect to the third possible implementation manner of the third aspect, in the fourth possible implementation manner of the third aspect, the target node is further configured to: receive the file handle sent by the client carrying the file handle used for unique identification The first data access request message of the handle identifier of the information; and used for obtaining the file handle information according to the handle identifier.
结合第三方面至第三方面的第四种可能的实现方式中,在第三方面的第五种可能的实现方式中,目标节点具体用于:根据句柄标识在本地查询是否保存有文件句柄信息;以及用于当目标节点确定目标节点中未保存文件句柄信息时,则目标节点对句柄标识进行解析,确定生成句柄标识所指示的文件句柄信息的源节点;以及用于在确定源节点故障时,目标节点从源节点对应的第一节点中获取句柄标识所指示的文件句柄信息。Combining the third aspect to the fourth possible implementation of the third aspect, in the fifth possible implementation of the third aspect, the target node is specifically used to: query locally according to the handle identifier whether the file handle information is saved ; and when the target node determines that the file handle information is not saved in the target node, the target node analyzes the handle identifier to determine the source node that generates the file handle information indicated by the handle identifier; and is used when determining that the source node is faulty , the target node obtains the file handle information indicated by the handle identifier from the first node corresponding to the source node.
结合第三方面至第三方面的第五种可能的实现方式中,在第三方面的第六种可能的实现方式中,源节点还用于:向客户端发送用于唯一标识文件句柄信息的句柄标识;以及用于向第一节点发送文件句柄信息。In combination with the third aspect to the fifth possible implementation manner of the third aspect, in the sixth possible implementation manner of the third aspect, the source node is further configured to: send to the client the information used to uniquely identify the file handle information handle identifier; and used to send file handle information to the first node.
结合第三方面至第三方面的第五种可能的实现方式中,在第三方面的第六种可能的实现方式中,源节点还具体用于:获取至少两个节点中除源节点之外的其余节点的节点信息;以及用于根据至少两个节点中除源节点之外的其余节点的节点信息,按照预设规则,从至少一个节点中确定第一节点的标识;以及用于根据第一节点的标识确定第一节点。In combination with the third aspect to the fifth possible implementation manner of the third aspect, in the sixth possible implementation manner of the third aspect, the source node is further specifically configured to: acquire at least two nodes other than the source node node information of the remaining nodes; and for determining the identity of the first node from at least one node according to preset rules according to the node information of the remaining nodes of the at least two nodes except the source node; and for determining the identity of the first node according to the first node An identification of a node identifies the first node.
第四方面,本发明实施例提供一种客户端,该客户端应用于集群系统中,集群系统还包括至少两个节点,其中,客户端包括至少两个网卡,每个节点包括至少一个网卡,客户端的至少两个网卡用于与每个节点的至少一个网卡建立会话通道,其中,客户端用于向源节点发送用于指示源节点查询至少两个节点中每个节点的节点信息的第一查询消息;客户端接收源节点发送的每个节点包括的至少一个网卡的网卡信息;客户端通过目标网卡向交换机发送连接建立请求,以使得交换机根据目标网卡将连接建立请求转发至目标网卡所在的目标节点。In a fourth aspect, an embodiment of the present invention provides a client, the client is applied in a cluster system, and the cluster system further includes at least two nodes, wherein the client includes at least two network cards, and each node includes at least one network card, The at least two network cards of the client are used to establish a session channel with at least one network card of each node, wherein the client is used to send to the source node the first Query message; the client receives the network card information of at least one network card included in each node sent by the source node; the client sends a connection establishment request to the switch through the target network card, so that the switch forwards the connection establishment request to the target network card according to the target network card. target node.
结合第四方面,在第四方面的第一种可能的实现方式中,上述连接建立请求中包括用户名以及用户密码。With reference to the fourth aspect, in a first possible implementation manner of the fourth aspect, the connection establishment request includes a user name and a user password.
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,客户端用于接收源节点发送的用于唯一识别第一会话信息的会话标识,其中,源节点为至少两个节点中与客户端进行通信的节点。With reference to the fourth aspect or the first possible implementation of the fourth aspect, in a second possible implementation of the fourth aspect, the client is configured to receive the session information sent by the source node and used to uniquely identify the first session information identification, wherein the source node is the node that communicates with the client among the at least two nodes.
结合第四方面至第四方面的第二种可能的实现方式中任意一种可能的实现方式,在第四方面的第三种可能的实现方式中,在客户端通过目标网卡向交换机发送连接建立请求之后,本发明实施例提供的客户端还用于:在确定与源节点之间的业务中断后,向目标节点发送携带有用于唯一识别文件句柄信息的句柄标识的第一数据访问请求消息。In combination with any possible implementation of the fourth aspect to the second possible implementation of the fourth aspect, in the third possible implementation of the fourth aspect, the client sends the connection establishment to the switch through the target network card After the request, the client provided by the embodiment of the present invention is further configured to: after determining that the service with the source node is interrupted, send to the target node a first data access request message carrying a handle identifier for uniquely identifying file handle information.
第五方面,本发明实施例提供一种源节点,该源节点应用于集群系统中,该源节点包括:第一接收单元,用于接收客户端发送的用于指示源节点查询所述每个节点包括的至少一个网卡的网卡信息的第一查询消息;第一发送单元,用于向客户端发送每个节点包括的至少一个网卡的网卡信息。In the fifth aspect, the embodiment of the present invention provides a source node, the source node is applied in a cluster system, and the source node includes: a first receiving unit, configured to receive a message sent by a client to instruct the source node to query each A first query message of the network card information of at least one network card included in the node; a first sending unit configured to send the network card information of the at least one network card included in each node to the client.
结合第五方面,在第五方面的第一种可能的实现方式中,本发明实施例提供的源节点还包括:第二接收单元,用于接收集群系统中除源节点之外的每个节点发送的第一广播消息,第一广播消息包括所述节点包括的至少一个网卡的网卡信息;存储单元,用于将源节点包括的至少一个网卡的网卡信息及集群系统中除源节点之外的每个节点包括的至少一个网卡的网卡信息存储在源节点中。With reference to the fifth aspect, in the first possible implementation manner of the fifth aspect, the source node provided in the embodiment of the present invention further includes: a second receiving unit, configured to receive each node in the cluster system except the source node The first broadcast message sent, the first broadcast message includes the network card information of at least one network card included in the node; the storage unit is used to store the network card information of the at least one network card included in the source node and the information of the network card in the cluster system except the source node Network card information of at least one network card included in each node is stored in the source node.
结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,本发明实施例提供的源节点还包括:确定单元,用于从至少两个节点中确定源节点对应的第一节点。With reference to the fifth aspect or the first possible implementation manner of the fifth aspect, in a second possible implementation manner of the fifth aspect, the source node provided in this embodiment of the present invention further includes: a determining unit configured to obtain from at least two Among the nodes, determine the first node corresponding to the source node.
结合第五方面至第五方面的第二种可能的实现方式中任意一种可能的实现方式,在第五方面的第三种可能的实现方式中,本发明实施例中的确定单元,包括:获取模块,用于获取至少两个节点中除源节点之外的其余节点的节点信息;第一确定模块,用于根据至少两个节点中除源节点之外的其余节点的节点信息,按照预设规则,从至少两个节点中确定第一节点的标识;第二确定模块,用于根据第一节点的标识确定第一节点。In combination with any possible implementation manner of the fifth aspect to the second possible implementation manner of the fifth aspect, in a third possible implementation manner of the fifth aspect, the determining unit in the embodiment of the present invention includes: The obtaining module is used to obtain the node information of the other nodes except the source node in the at least two nodes; the first determination module is used to follow the preset A rule is set to determine the identity of the first node from at least two nodes; the second determining module is configured to determine the first node according to the identity of the first node.
结合第五方面至第五方面的第三种可能的实现方式中任意一种可能的实现方式,在第五方面的第四种可能的实现方式中,源节点还包括第四发送单元,用于向集群系统每个节点发送包括源节点的节点信息的第一广播消息;第二接收单元,用于接收每个节点的节点信息。With reference to any possible implementation manner of the fifth aspect to the third possible implementation manner of the fifth aspect, in a fourth possible implementation manner of the fifth aspect, the source node further includes a fourth sending unit configured to The first broadcast message including the node information of the source node is sent to each node of the cluster system; the second receiving unit is configured to receive the node information of each node.
第六方面,本发明实施例提供一种源节点,该源节点包括处理器、存储器和通信总线,该处理器和存储器通过通信总线连接,该存储器用于存储软件程序以及模块,该处理器用于运行软件程序以及模块,从而执行:向客户端发送用于唯一识别第一会话信息的会话标识;接收客户端发送的用于指示源节点查询每个节点的节点信息的第一查询消息;向客户端发送至少包括每个节点的节点信息的第一响应消息。In a sixth aspect, an embodiment of the present invention provides a source node, the source node includes a processor, a memory, and a communication bus, the processor and the memory are connected through the communication bus, the memory is used to store software programs and modules, and the processor is used to Run the software program and the module to execute: send the session identifier for uniquely identifying the first session information to the client; receive the first query message sent by the client to instruct the source node to query the node information of each node; send the client The end sends a first response message including at least node information of each node.
第七方面,本发明实施例提供一种目标节点,该目标节点包括:第一接收单元,用于接收客户端发送的连接建立请求;建立单元,用于根据客户端发送的连接建立请求,通过目标网卡建立目标节点和所述客户端之间的会话通道。In the seventh aspect, the embodiment of the present invention provides a target node, the target node includes: a first receiving unit, configured to receive a connection establishment request sent by a client; an establishment unit, configured to, according to the connection establishment request sent by the client, through The target network card establishes a session channel between the target node and the client.
结合第七方面或第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,第二接收单元,用于接收客户端发送的携带有句柄标识的第一数据访问请求消息,获取单元,用于根据句柄标识获取句柄标识所指示的文件句柄信息。With reference to the seventh aspect or the first possible implementation of the seventh aspect, in a second possible implementation of the seventh aspect, the second receiving unit is configured to receive the first The data access request message is an acquisition unit, configured to acquire the file handle information indicated by the handle identifier according to the handle identifier.
结合第七方面至第七方面的第二种可能的实现方式中任意一种可能的实现方式,在第七方面的第三种可能的实现方式中,获取单元,包括:判断模块,用于根据句柄标识在本地查询是否保存有文件句柄信息;第一获取模块,用于在判断模块确定目标节点中存储有文件句柄信息之后,从目标节点的内存中获取文件句柄信息;第一解析模块,用于在判断模块确定目标节点中不存在文件句柄信息之后,对句柄标识进行解析,确定生成句柄标识所指示的文件句柄信息的源节点;获取模块,用于在确定源节点故障时,目标节点从第一节点中获取句柄标识所指示的文件句柄信息,第一节点为至少两个节点中与源节点对应的节点。In combination with any possible implementation manner of the seventh aspect to the second possible implementation manner of the seventh aspect, in a third possible implementation manner of the seventh aspect, the acquisition unit includes: a judging module configured to The handle identification is locally queried whether to save the file handle information; the first acquisition module is used to obtain the file handle information from the memory of the target node after the judgment module determines that the file handle information is stored in the target node; the first parsing module uses After the judging module determines that there is no file handle information in the target node, the handle identifier is parsed to determine the source node that generates the indicated file handle information of the handle identifier; the acquisition module is used to determine that the source node fails, and the target node from The file handle information indicated by the handle identifier is obtained from the first node, where the first node is a node corresponding to the source node among the at least two nodes.
结合第七方面至第七方面的第三种可能的实现方式中任意一种可能的实现方式,在第七方面的第四种可能的实现方式中,连接建立请求包括用户名以及用户密码,建立单元,包括:校验单元,用于对客户端发送的用户名和用户密码进行校验,建立模块,用于在确定用户名与预设的用户名匹配,且用户密码与预设的用户密码匹配之后,通过目标网卡建立目标节点和客户端之间的会话通道。In combination with any possible implementation of the seventh aspect to the third possible implementation of the seventh aspect, in the fourth possible implementation of the seventh aspect, the connection establishment request includes a user name and a user password, and the establishment The unit includes: a verification unit, which is used to verify the user name and user password sent by the client, and establishes a module for determining that the user name matches the preset user name, and the user password matches the preset user password Afterwards, a session channel between the target node and the client is established through the target network card.
结合第七方面至第七方面的第四种可能的实现方式中任意一种可能的实现方式,在第七方面的第五种可能的实现方式中,连接建立请求中包括会话标识以及标志位,该会话标识用于唯一识别第一会话信息,该第一会话信息为建立源节点和客户端之间的会话通道时生成的,该标志位用于指示对源节点和客户端之间建立会话通道的重新认证;目标节点还包括:解析单元,用于对会话标识进行解析,确定生成第一会话信息的源节点的标识;发送单元,用于向源节点发送第一请求消息,以从源节点获取会话标识所指示的第一会话信息;映射单元,用于根据标志位,将第二会话通道与第一会话信息绑定,第二会话通道为目标节点通过目标网卡建立的目标节点和客户端之间的会话通道。With reference to any possible implementation manner of the seventh aspect to the fourth possible implementation manner of the seventh aspect, in the fifth possible implementation manner of the seventh aspect, the connection establishment request includes a session identifier and a flag bit, The session identifier is used to uniquely identify the first session information, which is generated when the session channel between the source node and the client is established, and the flag bit is used to indicate the establishment of the session channel between the source node and the client The re-authentication; the target node also includes: a parsing unit for parsing the session identifier to determine the identifier of the source node that generates the first session information; a sending unit for sending the first request message to the source node to obtain from the source node Obtain the first session information indicated by the session identifier; the mapping unit is used to bind the second session channel with the first session information according to the flag bit, and the second session channel is the target node and the client established by the target node through the target network card conversation channel between.
第八方面,本发明实施例提供一种目标节点,包括:处理器、存储器和通信总线,该处理器和存储器通过通信总线连接,该存储器用于存储软件程序以及模块,该处理器用于运行软件程序以及模块,从而执行:用于根据客户端发送的连接建立请求,通过目标网卡建立目标节点和客户端之间的会话通道。In an eighth aspect, an embodiment of the present invention provides a target node, including: a processor, a memory, and a communication bus, the processor and the memory are connected through the communication bus, the memory is used to store software programs and modules, and the processor is used to run software The program and the module are executed: for establishing a session channel between the target node and the client through the target network card according to the connection establishment request sent by the client.
第九方面,本发明实施例提供一种节点,包括:第一接收单元,用于接收源节点发送的文件句柄信息,保存单元,用于将文件句柄信息保存在第一节点的内存中。In the ninth aspect, the embodiment of the present invention provides a node, including: a first receiving unit, configured to receive file handle information sent by a source node, and a saving unit, configured to save the file handle information in a memory of the first node.
结合第九方面,在第九方面的第一种可能的实现方式中,第一节点还包括:第二接收单元,用于接收目标节点发送的携带有唯一识别文件句柄信息的第一请求消息,该第一请求消息用于指示第一节点向目标节点发送文件句柄信息;发送单元,用于向目标节点发送文件句柄信息。With reference to the ninth aspect, in a first possible implementation manner of the ninth aspect, the first node further includes: a second receiving unit, configured to receive the first request message that carries the unique identification file handle information sent by the target node, The first request message is used to instruct the first node to send the file handle information to the target node; the sending unit is used to send the file handle information to the target node.
第十方面,本发明实施例提供一种节点,包括处理器、存储器和通信总线,该处理器和存储器通过通信总线连接,该存储器用于存储软件程序以及模块,该处理器用于运行软件程序以及模块,从而执行:接收源节点发送的文件句柄信息,以及将文件句柄信息保存在第一节点的内存中。In a tenth aspect, an embodiment of the present invention provides a node, including a processor, a memory, and a communication bus, the processor and the memory are connected through the communication bus, the memory is used to store software programs and modules, and the processor is used to run software programs and module, thereby executing: receiving the file handle information sent by the source node, and storing the file handle information in the memory of the first node.
第十一方面,本发明实施例提供一种客户端,该客户端包括:第一发送单元,用于向源节点发送用于指示源节点查询至少两个节点中每个节点的节点信息的第一查询消息,该源节点为至少两个节点中与客户端进行通信的节点,接收单元,用于接收源节点发送的每个节点包括的至少一个网卡的网卡信息,以及第二发送单元,用于通过目标网卡向交换机发送连接建立请求,以使得交换机根据目标网卡将连接建立请求转发至目标网卡所在的目标节点。In an eleventh aspect, an embodiment of the present invention provides a client, the client includes: a first sending unit, configured to send to the source node a second message for instructing the source node to query node information of each node in at least two nodes A query message, the source node is a node communicating with the client among at least two nodes, the receiving unit is used to receive the network card information of at least one network card included in each node sent by the source node, and the second sending unit uses The purpose is to send the connection establishment request to the switch through the target network card, so that the switch forwards the connection establishment request to the target node where the target network card is located according to the target network card.
结合第十一方面,在第十一方面的第一种可能的实现方式中,该客户端还包括第三发送单元,用于向目标节点发送携带有唯一识别文件句柄信息的第一数据访问请求消息。With reference to the eleventh aspect, in a first possible implementation manner of the eleventh aspect, the client further includes a third sending unit, configured to send the first data access request carrying the unique identification file handle information to the target node information.
第十二方面,本发明实施例提供一种客户端,该客户端包括处理器、存储器和通信总线,该处理器和存储器通过通信总线连接,该存储器用于存储软件程序以及模块,该处理器用于运行软件程序以及模块,从而执行:向源节点发送用于指示源节点查询至少两个节点中每个节点的节点信息的第一查询消息,源节点为至少两个节点中与客户端进行通信的节点;用于接收源节点发送的每个节点包括的至少一个网卡的网卡信息;以及用于通过目标网卡向交换机发送连接建立请求,以使得交换机根据目标网卡将连接建立请求转发至目标网卡所在的目标节点。In a twelfth aspect, an embodiment of the present invention provides a client, the client includes a processor, a memory, and a communication bus, the processor and the memory are connected through the communication bus, the memory is used to store software programs and modules, and the processor uses To run software programs and modules, so as to perform: sending to the source node a first query message for instructing the source node to query the node information of each node in at least two nodes, the source node is at least two nodes communicating with the client node; used to receive the network card information of at least one network card included in each node sent by the source node; and used to send a connection establishment request to the switch through the target network card, so that the switch forwards the connection establishment request to the target network card according to the target network card. target node.
第十三方面,本发明实施例提供一种集群系统,该集群系统包括客户端、源节点以及目标节点,其中,源节点采用第五方面至第五方面的第四种可能的实现方式中任意一种实现方式所描述的源节点或者第六方面所描述的源节点,目标节点采用如第七方面至第七方面的第三种可能的实现方式中任意一种可能的实现方式所描述的目标节点或者第八方面所描述的目标节点。In a thirteenth aspect, an embodiment of the present invention provides a cluster system, the cluster system includes a client, a source node, and a target node, wherein the source node adopts any of the fourth possible implementations of the fifth aspect to the fifth aspect The source node described in an implementation manner or the source node described in the sixth aspect, the target node adopts the target described in any of the possible implementation manners in the seventh aspect to the third possible implementation manner of the seventh aspect node or the target node described in the eighth aspect.
结合第十三方面,在第十三方面的第一种可能的实现方式中,本发明实施例提供的集群系统还包括:第一节点,该第一节点采用如第九方面或第九方面的第一种可能的实现方式所描述的节点或者第十方面所描述的节点。With reference to the thirteenth aspect, in the first possible implementation manner of the thirteenth aspect, the cluster system provided in the embodiment of the present invention further includes: a first node, the first node adopts the ninth aspect or the ninth aspect The node described in the first possible implementation manner or the node described in the tenth aspect.
第十四方面,本发明实施例提供了一种计算机存储介质,用于储存为第一方面所描述的多会话通道建立方法所用的计算机软件指令,其包含用于执行第九方面所描述的集群系统所设计的程序。In a fourteenth aspect, an embodiment of the present invention provides a computer storage medium for storing computer software instructions used for the method for establishing a multi-session channel described in the first aspect, which includes instructions for executing the cluster described in the ninth aspect program designed by the system.
第十五方面,本发明实施例提供了一种计算机存储介质,用于储存为第二方面所描述的多会话通道建立方法所用的计算机软件指令,其包含用于执行第九方面所描述的集群系统所设计的程序。In a fifteenth aspect, an embodiment of the present invention provides a computer storage medium for storing computer software instructions used for the method for establishing a multi-session channel described in the second aspect, which includes instructions for executing the cluster described in the ninth aspect program designed by the system.
附图说明Description of drawings
图1a为现有技术中提供的SMB典型应用组网结构示意图;Figure 1a is a schematic diagram of a typical SMB application networking structure provided in the prior art;
图1b为现有技术中提供的客户端和节点之间建立会话通道的结构示意图一;FIG. 1b is a schematic structural diagram of establishing a session channel between a client and a node provided in the prior art;
图1c为现有技术中提供的客户端和节点之间建立会话通道的结构示意图二;Fig. 1c is a structural schematic diagram 2 of establishing a session channel between a client and a node provided in the prior art;
图2a为本发明实施例提供的一种集群系统的结构示意图一;FIG. 2a is a first structural diagram of a cluster system provided by an embodiment of the present invention;
图2b为本发明实施例提供的一种集群系统的结构示意图二;FIG. 2b is a second structural schematic diagram of a cluster system provided by an embodiment of the present invention;
图2c为本发明实施例提供的一种集群系统的结构示意图三;FIG. 2c is a schematic structural diagram III of a cluster system provided by an embodiment of the present invention;
图2d为本发明实施例提供的集群管理模块(InfoEqualizer)工作时序图;Figure 2d is a working sequence diagram of the cluster management module (InfoEqualizer) provided by the embodiment of the present invention;
图2e为本发明实施例提供的服务器的硬件结构示意图;FIG. 2e is a schematic diagram of the hardware structure of the server provided by the embodiment of the present invention;
图2f为本发明实施例提供的客户端的硬件结构示意图;FIG. 2f is a schematic diagram of the hardware structure of the client provided by the embodiment of the present invention;
图3为本发明实施例提供的一种多会话通道建立方法的流程示意图一;FIG. 3 is a first schematic flowchart of a method for establishing a multi-session channel provided by an embodiment of the present invention;
图4a为本发明实施例提供的第一会话信息的会话标识的结构示意图;FIG. 4a is a schematic structural diagram of a session identifier of the first session information provided by an embodiment of the present invention;
图4b为本发明实施例提供的集群系统中建立的多会话通道结构示意图;FIG. 4b is a schematic structural diagram of a multi-session channel established in the cluster system provided by an embodiment of the present invention;
图5为本发明实施例提供的一种多会话通道建立方法的流程示意图二;FIG. 5 is a second schematic flow diagram of a method for establishing a multi-session channel provided by an embodiment of the present invention;
图6为本发明实施例提供的一种多会话通道建立方法的流程示意图三;FIG. 6 is a third schematic flowchart of a method for establishing a multi-session channel provided by an embodiment of the present invention;
图7a为本发明实施例提供的环形关系视图的结构示意图;Fig. 7a is a schematic structural diagram of a circular relationship view provided by an embodiment of the present invention;
图7b为本发明实施例提供的备份文件句柄信息的时序图;FIG. 7b is a sequence diagram of backup file handle information provided by an embodiment of the present invention;
图7c为本发明实施例提供的备份TREE信息的时序图;FIG. 7c is a sequence diagram of backup TREE information provided by an embodiment of the present invention;
图8a为本发明实施例提供的一种多会话通道建立方法的流程示意图四;FIG. 8a is a fourth schematic flowchart of a method for establishing a multi-session channel provided by an embodiment of the present invention;
图8b为本发明实施例提供的句柄标识的结构示意图;Fig. 8b is a schematic structural diagram of a handle identifier provided by an embodiment of the present invention;
图9a为本发明实施例提供的一种集群系统的结构示意图四;Fig. 9a is a structural schematic diagram 4 of a cluster system provided by an embodiment of the present invention;
图9b为本发明实施例提供的一种多会话通道建立方法的流程示意图五;FIG. 9b is a schematic flowchart of a method for establishing a multi-session channel according to an embodiment of the present invention;
图9c为本发明实施例提供的目标节点获取文件句柄信息的时序图一;FIG. 9c is a sequence diagram 1 of the target node obtaining file handle information provided by the embodiment of the present invention;
图9d为本发明实施例提供的目标节点获取文件句柄信息的时序图二;FIG. 9d is the second sequence diagram of the target node obtaining file handle information provided by the embodiment of the present invention;
图10a为本发明实施例提供的源节点的结构示意图;FIG. 10a is a schematic structural diagram of a source node provided by an embodiment of the present invention;
图10b为本发明实施例提供的源节点的集成结构示意图;FIG. 10b is a schematic diagram of an integrated structure of a source node provided by an embodiment of the present invention;
图10c为本发明实施例提供的源节点的硬件结构示意图;FIG. 10c is a schematic diagram of a hardware structure of a source node provided by an embodiment of the present invention;
图11a为本发明实施例提供的目标节点的结构示意图;Fig. 11a is a schematic structural diagram of a target node provided by an embodiment of the present invention;
图11b为本发明实施例提供的目标节点的集成结构示意图;Fig. 11b is a schematic diagram of the integrated structure of the target node provided by the embodiment of the present invention;
图11c为本发明实施例提供的目标节点的硬件结构示意图;Fig. 11c is a schematic diagram of the hardware structure of the target node provided by the embodiment of the present invention;
图12a为本发明实施例提供的节点的结构示意图;Fig. 12a is a schematic structural diagram of a node provided by an embodiment of the present invention;
图12b为本发明实施例提供的节点的集成结构示意图;Fig. 12b is a schematic diagram of an integrated structure of a node provided by an embodiment of the present invention;
图12c为本发明实施例提供的节点的硬件结构示意图;FIG. 12c is a schematic diagram of a hardware structure of a node provided by an embodiment of the present invention;
图13a为本发明实施例提供的客户端的结构示意图;Fig. 13a is a schematic structural diagram of a client provided by an embodiment of the present invention;
图13b为本发明实施例提供的客户端的集成结构示意图;Fig. 13b is a schematic diagram of the integrated structure of the client provided by the embodiment of the present invention;
图13c为本发明实施例提供的客户端的硬件结构示意图。Fig. 13c is a schematic diagram of a hardware structure of a client provided by an embodiment of the present invention.
具体实施方式Detailed ways
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。In order to clearly describe the technical solutions of the embodiments of the present invention, in the embodiments of the present invention, words such as "first" and "second" are used to distinguish the same or similar items with basically the same functions and functions. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order.
参见图1b和图1c,图1b为一种常见的客户端和节点之间建立会话通道的场景图,例如,如图1b所示客户端101的网卡1011和通过交换机102和节点103的一个网卡之间建立了会话通道105,然后如图1c所示,客户端101的另一个网卡1012通过交换机和节点103的另一个网卡1032之间建立了会话通道105,在实际使用过程中,客户端101可以通过会话通道105和会话通道106分别与节点103进行通信。由于,单个网卡的实际能力有限,因此,节点和客户端网络传输的带宽的吞吐量会受限于节点的网卡数量,即如果与客户端建立连接的节点的网卡数量越少,所能传输的极限带宽也就越少,因此,现有技术中单个节点需要具备两个或两个以上的网卡,对节点的要求较高,这样客户端才能和该节点之间形成两个以上的会话通道,从而提升传输的极限带宽,同时,在现有技术提供的方案中,当节点103故障时,客户端101和节点103之间建立的会话通道105和会话通道106均会断开,使得客户端101和节点103之间的通信中断。本发明实施例通过建立客户端和不同节点之间的会话通道,使得即使与客户端进行通信的节点故障时,客户端也可以通过与其他节点建立的会话通道进行通信,同时,本发明实施例提供的方案中每个节点只要具备一个或一个以上的网卡,即可以实现多会话通道的建立,因此对节点的硬件要求较低。Referring to FIG. 1b and FIG. 1c, FIG. 1b is a scene diagram of establishing a session channel between a common client and a node. For example, as shown in FIG. A session channel 105 is established between them, and then as shown in Figure 1c, another network card 1012 of the client 101 establishes a session channel 105 between another network card 1032 of the node 103 through a switch. In actual use, the client 101 Communication with the node 103 can be performed through the session channel 105 and the session channel 106 respectively. Since the actual capacity of a single network card is limited, the throughput of the bandwidth transmitted by the node and the client network will be limited by the number of network cards of the node. The limit bandwidth is also less. Therefore, in the prior art, a single node needs to have two or more network cards, and the requirements for the node are higher, so that the client can form more than two session channels with the node. Thereby, the limit bandwidth of transmission is improved, and at the same time, in the solution provided by the prior art, when the node 103 fails, the session channel 105 and the session channel 106 established between the client 101 and the node 103 will be disconnected, so that the client 101 Communication with node 103 is interrupted. The embodiment of the present invention establishes a session channel between the client and different nodes, so that even when the node communicating with the client fails, the client can also communicate through the session channel established with other nodes. At the same time, the embodiment of the present invention In the solution provided, as long as each node has one or more network cards, the establishment of multi-session channels can be realized, so the hardware requirements for the nodes are relatively low.
本发明实施例提供一种集群系统,该集群系统支持SMB3.0协议,SMB3.0协议可以将多台服务器组建成为一个集群,集群里面所有节点对客户端提供文件共享服务。在集群节点故障情况下,共享可以实现0宕机时间,并且可以快速故障恢复。如图2a所示,图2a示出了可用于实现本发明实施例提供的一种多会话通道建立方法的集群系统。如图2a所示,该集群系统包括一个或多个客户端,(如图2a中所示的客户端201)以及至少两个节点(如图2a中所示的节点202、节点203以及节点204),该一个或多个客户端和至少两个节点之间通过交换机205进行连接。其中,一个或多个客户端中每个客户端包括至少两个网卡(网卡又称为网络适配器或者或网络接口卡,英文名称:Network Interface Card,简称:NIC),例如,客户端201包括网卡2011以及网卡2012,每个节点包括至少一个网卡(例如,节点202包括网卡2021以及网卡2022,节点203包括网卡2031以及网卡2032,节点204包括网卡2041以及网卡2042)。该至少两个节点中存储有一个或多个客户端请求访问的资源。一个或多个客户端的至少两个网卡通过与至少两个节点中每个节点的至少一个网卡之间建立会话通道以访问至少两个节点中存储的资源。尽管在图2a中,仅有客户端201被示为与至少两个节点之间进行通信,但是在其他实施例中,可以存在两个或两个以上客户端从至少两个节点中访问资源。在各实施例中,客户端201可根据SMB3.0协议来访问至少两个节点或与至少两个节点通信。在图2a中仅示出了三个节点(节点202、节点203和节点204),但是可以理解的是本发明实施例提供的集群系统还可以包括三个以上的节点。The embodiment of the present invention provides a cluster system. The cluster system supports the SMB3.0 protocol. The SMB3.0 protocol can form multiple servers into a cluster, and all nodes in the cluster provide file sharing services to clients. In the event of a cluster node failure, sharing can achieve zero downtime and fast failure recovery. As shown in FIG. 2a, FIG. 2a shows a cluster system that can be used to implement a method for establishing a multi-session channel provided by an embodiment of the present invention. As shown in Figure 2a, the cluster system includes one or more clients, (client 201 as shown in Figure 2a) and at least two nodes (node 202, node 203 and node 204 as shown in Figure 2a ), the one or more clients are connected to at least two nodes through the switch 205. Wherein, each client in one or more clients includes at least two network cards (network cards are also called network adapters or or network interface cards, English name: Network Interface Card, referred to as: NIC), for example, client 201 includes network cards 2011 and network card 2012, each node includes at least one network card (for example, node 202 includes network card 2021 and network card 2022, node 203 includes network card 2031 and network card 2032, node 204 includes network card 2041 and network card 2042). Resources requested by one or more clients to be accessed are stored in the at least two nodes. The at least two network cards of the one or more clients access resources stored in the at least two nodes by establishing a session channel with at least one network card of each of the at least two nodes. Although in FIG. 2a, only the client 201 is shown as communicating with at least two nodes, in other embodiments, there may be two or more clients accessing resources from at least two nodes. In various embodiments, the client 201 can access or communicate with at least two nodes according to the SMB3.0 protocol. Only three nodes (node 202, node 203, and node 204) are shown in FIG. 2a, but it can be understood that the cluster system provided by the embodiment of the present invention may also include more than three nodes.
需要说明的是,本发明实施例中一个或多个客户端中任意一个客户端的一个网卡可以和一个节点的一个网卡建立一个会话通道,如图2a中客户端201的网卡2011和节点202的网卡2021之间建立会话通道1,客户端201的网卡2012和节点202的网卡2022之间建立会话通道2。一个或多个客户端中任意一个客户端的一个网卡可以和同一个节点内的不同网卡分别建立会话通道,如图2b所示,客户端201的一个网卡2011和节点202内的网卡2021建立会话通道1,同时该网卡2011和节点202内的网卡2022建立会话通道3;一个或多个客户端中任意一个客户端的一个网卡可以和不同节点的中的网卡建立会话通道,如图2c所示,客户端201的一个网卡2012和节点203内的网卡2031建立会话通道4,同时该客户端201的网卡2012和节点204内的网卡2041建立会话通道5。It should be noted that in the embodiment of the present invention, a network card of any one of one or more clients can establish a session channel with a network card of a node, such as the network card 2011 of the client 201 and the network card of the node 202 in Figure 2a The session channel 1 is established between 2021, and the session channel 2 is established between the network card 2012 of the client 201 and the network card 2022 of the node 202. A network card of any one of one or more clients can establish a session channel with different network cards in the same node, as shown in FIG. 1. At the same time, the network card 2011 and the network card 2022 in the node 202 establish a session channel 3; a network card of any client in one or more clients can establish a session channel with a network card in a different node, as shown in Figure 2c, the client A network card 2012 of the client 201 establishes a session channel 4 with a network card 2031 in the node 203 , and at the same time, a session channel 5 is established between the network card 2012 of the client 201 and the network card 2041 in the node 204 .
本发明实施例中为实现SMB3.0协议的多会话通道特性,一个或多个客户端中每个客户端以及至少两个节点中的每个节点都需要支持SMB3.0协议,因此,示例性的,本发明实施例提供的客户端可以支持Windows Server 2012或者Windows Server 2012以上的操作系统或Windows 8操作系统、Mac系统,当然,其余支持SMB3.0协议的客户端也是可以作为本发明实施例提供的客户端,任意一个节点为存储厂商提供的存储系统,该存储系统需要支持SMB3.0协议。同时,任意一个客户端和任意一个节点需要多块最好为同一规格(可以为不同品牌)的网卡,例如,可以都为千兆网卡或都为万兆网卡(例如,10Gbe)等,当然,还可以都采用具有RDMA(Remote Direct Memory Access,远程直接数据存取)功能的万兆融合卡或Infiniband卡。In the embodiment of the present invention, in order to realize the multi-session channel feature of the SMB3.0 protocol, each client in one or more clients and each node in at least two nodes need to support the SMB3.0 protocol. Therefore, an exemplary Yes, the client provided by the embodiment of the present invention can support Windows Server 2012 or Windows Server 2012 or above operating system or Windows 8 operating system, Mac system, of course, other clients supporting the SMB3.0 protocol can also be used as the embodiment of the present invention The provided client, any node is the storage system provided by the storage manufacturer, and the storage system needs to support the SMB3.0 protocol. At the same time, any client and any node need multiple network cards preferably with the same specification (can be different brands), for example, all can be Gigabit network cards or all 10G network cards (for example, 10Gbe), etc. It is also possible to use 10 Gigabit fusion cards or Infiniband cards with RDMA (Remote Direct Memory Access, remote direct data access) function.
本发明实施例中至少两个节点中每个节点上均设置有集群管理模块(InfoEqualizer),例如,如图2a、2b或2c所示,节点202上的集群管理模块2023,节点203上的集群管理模块2033以及节点204上的集群管理模块2043,每个节点上的集群管理模块用于实时更新集群系统中所有节点相关的信息,包括每个节点的网卡信息(例如,网卡IP,网卡速率等),以及每个节点的标识(节点编号,例如,节点202),节点状态等。In the embodiment of the present invention, each of at least two nodes is provided with a cluster management module (InfoEqualizer), for example, as shown in Figure 2a, 2b or 2c, the cluster management module 2023 on the node 202, the cluster The management module 2033 and the cluster management module 2043 on the node 204, the cluster management module on each node is used for real-time updating the relevant information of all nodes in the cluster system, including the network card information (for example, network card IP, network card speed, etc.) of each node ), and the identification of each node (node number, for example, node 202), node status, etc.
每个节点的InfoEqualizer模块,在集群系统初始化成功后,查询该集群管理模块所在节点的节点信息,然后通过集群系统的后端网络(例如,每个节点上面的后端网卡,后端交换机,后端网线,每个节点都通过后端网络和集群系统中其他节点通信)广播给集群系统中的每个节点,其他节点的InfoEqualizer模块收到广播信息后,记录其接收到的广播信息中所携带的节点的编号以及该节点的节点信息。The InfoEqualizer module of each node, after the cluster system is successfully initialized, queries the node information of the node where the cluster management module is located, and then passes through the back-end network of the cluster system (for example, the back-end network card on each node, End network cable, each node communicates with other nodes in the cluster system through the back-end network) broadcasts to each node in the cluster system, and the InfoEqualizer module of other nodes receives the broadcast information, and records the broadcast information carried in the received broadcast information The number of the node and the node information of the node.
由于每个集群管理模块的功能均相同,因此,本发明实施例现仅以节点202上的集群管理模块2023为例进行说明该集群管理模块的功能。示例性的,如图2d所示,在集群系统初始化成功(由于InfoEqualizer模块属于集群系统中的一个功能模块,因此在集群系统初始化流程中,同样InfoEqualizer模块也会被初始化)后,节点202、节点203以及节点204分别向集群系统发送包括自身网卡信息的广播信息(例如,节点202向节点203以及节点204发送携带有节点202网卡信息的广播信息,同时节点203也在集群系统中发送携带有节点203网卡信息的广播信息,节点204也在集群系统中发送携带有节点204网卡信息的广播信息),节点202在接收到节点203和节点204发送的分别携带有节点203的网卡信息的广播信息和节点204的网卡信息的广播信息之后,将其接收到的节点203的网卡信息和节点204的网卡信息按照预设规则(例如,每个节点的标识与该节点的网卡信息之间的对应关系)存储在节点202的InfoEqualizer模块2023中,同理,节点203的InfoEqualizer模块2033中存储有节点202的网卡信息和节点204的网卡信息,节点204的InfoEqualizer模块2043中存储有节点202的网卡信息和节点203的网卡信息。Since the functions of each cluster management module are the same, the embodiment of the present invention only uses the cluster management module 2023 on the node 202 as an example to describe the function of the cluster management module. Exemplarily, as shown in Figure 2d, after the cluster system initialization is successful (because the InfoEqualizer module belongs to a functional module in the cluster system, so in the cluster system initialization process, the same InfoEqualizer module will also be initialized), the node 202, the node 203 and node 204 send respectively to the cluster system the broadcast information that comprises self network card information (for example, node 202 sends the broadcast information that carries node 202 network card information to node 203 and node 204, and node 203 also sends the broadcast message that carries node 202 network card information simultaneously in the cluster system 203 network card information broadcast information, node 204 also sends broadcast information carrying node 204 network card information in the cluster system), node 202 carries respectively the broadcast information and the network card information of node 203 sent by node 203 and node 204 After the broadcast information of the network card information of the node 204, the received network card information of the node 203 and the network card information of the node 204 are according to preset rules (for example, the correspondence between the identification of each node and the network card information of the node) Stored in the InfoEqualizer module 2023 of the node 202, similarly, the network card information of the node 202 and the network card information of the node 204 are stored in the InfoEqualizer module 2033 of the node 203, and the network card information and the node information of the node 202 are stored in the InfoEqualizer module 2043 of the node 204 203 network card information.
需要说明的是,每个节点的InfoEqualizer模块同时也会存储自己所在节点的节点信息,其中,节点信息包括网卡信息。It should be noted that the InfoEqualizer module of each node will also store the node information of its own node at the same time, wherein the node information includes network card information.
其中,如图2a中所描述的任意一个节点也可以称为服务器,该至少两个节点为可以为客户端201提供服务的网络设备,比如,节点202、节点203以及节点204可以是具有服务器功能的计算机等。由于每个服务器的硬件结构相同,本发明实施例先以节点203为例介绍图2a所示的集群系统中每个节点的硬件架构,参见图2e,节点203包括存储器20311、处理器20312、系统总线20313、电源组件20314、输入\输出接口20315、通信组件20316以及一个或多个网卡20317等。其中,存储器20311可用于存储数据、软件程序以及模块,主要包括存储程序区和存储数据区,存储程序区可存储操作系统、至少一个功能所需的应用程序等,存储数据区可存储节点203的使用所创建的数据等。处理器20312通过运行或执行存储在存储器20311内的软件程序和/或模块,以及调用存储在存储器20311内的数据,执行节点203的各种功能和处理数据。系统总线20313包括地址总线、数据总线、控制总线,用于传输数据和指令;电源组件20314用于为节点203的各个组件提供电源;输入\输出接口20315为处理器20312和外围接口模块之间提供接口;通信组件2036用于为节点203和其他设备之间进行有线或无线方式的通信。一个或多个网卡20317用于在节点203和客户端之间形成会话通道,以便传输业务,在通信系统中,节点203承担着数据的存储、转发、发布等关键任务,是各类基于客户机/服务器(C/S)模式或者浏览器/服务器(B/S)模式网络中不可或缺的重要组成部分。Wherein, any node as described in FIG. 2a can also be called a server, and the at least two nodes are network devices that can provide services for the client 201. For example, the node 202, the node 203, and the node 204 can have a server function computer etc. Since the hardware structure of each server is the same, the embodiment of the present invention uses node 203 as an example to introduce the hardware architecture of each node in the cluster system shown in FIG. Bus 20313, power supply component 20314, input/output interface 20315, communication component 20316, and one or more network cards 20317, etc. Among them, the memory 20311 can be used to store data, software programs and modules, and mainly includes a program storage area and a data storage area. Use the created data etc. The processor 20312 executes various functions of the node 203 and processes data by running or executing software programs and/or modules stored in the memory 20311 and calling data stored in the memory 20311 . The system bus 20313 includes an address bus, a data bus, and a control bus for transmitting data and instructions; the power supply component 20314 is used to provide power for each component of the node 203; the input/output interface 20315 is provided between the processor 20312 and the peripheral interface module Interface; the communication component 2036 is used for wired or wireless communication between the node 203 and other devices. One or more network cards 20317 are used to form a session channel between the node 203 and the client, so as to transmit services. In the communication system, the node 203 undertakes key tasks such as data storage, forwarding, and release, and is a variety of client-based /Server (C/S) mode or browser/server (B/S) mode network is an indispensable and important part.
一个或多个客户端201作为集群系统中被服务的对象,为客户提供本地服务,该客户端可以包括一个或者多个终端,只要该终端可以支持上述描述的WINDOWS操作系统以及Mac系统即可,参见图2f,该终端可以包括:存储器20111、处理器20112、输入单元20114、显示单元20115、电源20116以及一个或多个网卡20113等部件。其中,存储器20111可用于存储数据、软件程序以及模块,主要包括存储程序区和存储数据区,存储程序区可存储操作系统、至少一个功能所需的应用程序等。电源组件20116用于为客户端的各个组件提供电源;输入单元20114用于向客户端输入用户的操作指令;一个或多个网卡20113用于在节点203的网卡和客户端之间形成会话通道,以便传输业务。One or more clients 201 serve as objects in the cluster system to provide local services for clients. The clients may include one or more terminals, as long as the terminals can support the WINDOWS operating system and the Mac system described above, Referring to FIG. 2f, the terminal may include: a memory 20111 , a processor 20112 , an input unit 20114 , a display unit 20115 , a power supply 20116 , and one or more network cards 20113 and other components. Among them, the memory 20111 can be used to store data, software programs and modules, mainly including a program storage area and a data storage area, and the program storage area can store an operating system, an application program required by at least one function, and the like. The power supply component 20116 is used to provide power for each component of the client; the input unit 20114 is used to input the user's operation instructions to the client; one or more network cards 20113 are used to form a session channel between the network card of the node 203 and the client, so that transfer business.
基于上述的描述,如图3所示,本发明实施例提供一种多会话通道建立方法,该方法应用于如图2a所示的集群系统中,该集群系统包括客户端以及至少两个节点,其中,该客户端包括至少两个网卡,该至少两个节点中每个节点包括至少一个网卡,本发明实施例提供的多会话通道建立方法包括:Based on the above description, as shown in FIG. 3, an embodiment of the present invention provides a method for establishing a multi-session channel. The method is applied to a cluster system as shown in FIG. 2a. The cluster system includes a client and at least two nodes. Wherein, the client includes at least two network cards, each of the at least two nodes includes at least one network card, and the method for establishing a multi-session channel provided in an embodiment of the present invention includes:
S301、客户端向源节点发送第一TCP(Transmission Control Protocol,传输控制协议)建链请求,其中,源节点为与客户端进行通信的节点。S301. The client sends a first TCP (Transmission Control Protocol, Transmission Control Protocol) link establishment request to a source node, where the source node is a node that communicates with the client.
S302、源节点根据上述第一TCP建链请求,生成第一TCP连接信息。S302. The source node generates first TCP connection information according to the first TCP link establishment request.
S303、客户端向源节点发送第一协商请求消息,该第一协商请求消息用于指示源节点选择客户端和源节点进行通信时的协议版本号。S303. The client sends a first negotiation request message to the source node, where the first negotiation request message is used to instruct the source node to select a protocol version number when the client communicates with the source node.
示例性的,本发明实施例中的客户端和源节点进行通信时的协议版本号为SMB3.0协议。Exemplarily, the protocol version number when the client communicates with the source node in this embodiment of the present invention is the SMB3.0 protocol.
S304、源节点根据第一协商请求消息,确定客户端和源节点进行通信时的协议版本号。S304. The source node determines the protocol version number when the client communicates with the source node according to the first negotiation request message.
S305、客户端向源节点发送第一认证消息,该第一认证消息包括客户端的用户名,用户SID(安全标识符,Security Identifiers),用户密码以及用户所属的组。S305. The client sends a first authentication message to the source node, where the first authentication message includes a user name of the client, a user SID (Security Identifiers, Security Identifiers), a user password, and a group to which the user belongs.
S306、源节点根据该第一认证消息生成第一会话信息(session)。S306. The source node generates first session information (session) according to the first authentication message.
其中,该第一会话信息中携带有用户安全标识符(SID,Security Identifiers),用户名,用户域名,用户所属的用户组信息和第一通道信息。Wherein, the first session information carries user security identifiers (SID, Security Identifiers), user name, user domain name, user group information to which the user belongs, and first channel information.
具体的,该第一会话信息是源节点在确定该第一认证消息中携带的用户名和用户密码等信息都满足要求时生成的,在第一会话信息生成后伴随该第一会话信息的会话通道也将生成,即第一会话通道,该会话通道中包括该第一会话通道的TCP连接信息,该第一会话通道所绑定的会话信息的会话标识以及第一密钥key1。Specifically, the first session information is generated by the source node when it is determined that the information such as the user name and user password carried in the first authentication message meets the requirements, and the session channel of the first session information is accompanied by the generation of the first session information. It will also generate, that is, the first session channel, which includes the TCP connection information of the first session channel, the session identifier of the session information bound to the first session channel, and the first key key1.
通过MutilChannel特性,客户端可以同时通过多个TCP连接分别与不同的网卡生成关于上述第一会话信息的第一会话通道,以形成多会话通道,同时一个客户端可以同时访问多个共享文件夹,客户端访问每个共享文件夹时生成的和此共享文件夹相关的信息即称为TREE信息,在多通道的场景下,虽然是客户端通过不同的节点实现业务访问,但是会话信息和会话通道是一对多的关系,即一个会话信息可以对应对个会话通道,因此,当客户端通过不同的会话通道访问时,若这些会话通道的会话信息相同,则客户端通过这些会话通道访问同一个共享文件夹,就会生成同一个TREE信息。而如果是访问多个共享文件夹,就会生成多个TREE信息。Through the MutilChannel feature, the client can generate the first session channel about the above-mentioned first session information with different network cards through multiple TCP connections at the same time to form a multi-session channel. At the same time, a client can access multiple shared folders at the same time. The information related to the shared folder generated when the client accesses each shared folder is called TREE information. In a multi-channel scenario, although the client implements business access through different nodes, the session information and session channel It is a one-to-many relationship, that is, one session information can correspond to one session channel. Therefore, when the client accesses through different session channels, if the session information of these session channels is the same, the client accesses the same session channel through these session channels. Shared folders will generate the same TREE information. However, if multiple shared folders are accessed, multiple TREE information will be generated.
S307、源节点向客户端发送用于唯一识别该第一会话信息的会话标识。S307. The source node sends the session identifier used to uniquely identify the first session information to the client.
示例性的,该会话标识可以为第一会话信息的会话ID。Exemplarily, the session identifier may be a session ID of the first session information.
示例的,本发明实施例中的第一会话信息的会话ID可以采用如图4a所示的结构。其中,该第一会话信息的会话ID的位数为64bit(比特),具体的该64bit=22bit(随机数)+32bit(序列数)+10bit(节点标识)。As an example, the session ID of the first session information in the embodiment of the present invention may adopt the structure shown in FIG. 4a. Wherein, the number of digits of the session ID of the first session information is 64 bits (bits), specifically, 64 bits=22 bits (random number)+32 bits (sequence number)+10 bits (node identifier).
本发明实施例中每个TREE信息的ID=22bit(随机数)+32bit(序列数)+10bit(节点标识)。ID of each TREE information in the embodiment of the present invention=22bit (random number)+32bit (sequence number)+10bit (node identification).
其中,节点标识是指与客户端生成第一会话信息的节点的标识。Wherein, the node identifier refers to the identifier of the node that generates the first session information with the client.
其中,一个会话通道是指客户端通过一个网卡和任意一个节点的一个网卡之间建立会话信息之后生成的用于传输业务的通道。示例性的,本发明实施例通过上述步骤S301-S307在客户端的一个网卡和源节点的一个网卡之间形成一个会话通道,结合图2a,在如图4b中,客户端201的网卡2011与源节点202的网卡2021之间形成一个会话通道10,该会话通道10用于客户端201和源节点202之间进行业务交互。Wherein, a session channel refers to a channel for transmitting services generated after the client establishes session information with a network card of any node through a network card. Exemplarily, the embodiment of the present invention forms a session channel between a network card of the client and a network card of the source node through the above steps S301-S307. Referring to FIG. 2a, as shown in FIG. 4b, the network card 2011 of the client 201 and the source node A session channel 10 is formed between the network cards 2021 of the nodes 202 , and the session channel 10 is used for service interaction between the client 201 and the source node 202 .
S308、客户端向源节点发送第一查询消息,该第一查询消息用于指示源节点查询每个节点包括的至少一个网卡的网卡信息;源节点为至少两个节点中与客户端进行通信的节点;源节点中存储有每个节点包括的至少一个网卡的网卡信息。S308. The client sends a first query message to the source node, where the first query message is used to instruct the source node to query the network card information of at least one network card included in each node; the source node is one of the at least two nodes that communicates with the client A node; the source node stores network card information of at least one network card included in each node.
S309、源节点接收客户端发送的第一查询消息。S309. The source node receives the first query message sent by the client.
具体的,在源节点接收到第一查询消息之后,可以从源节点的集群管理模块中获取集群系统内每个节点包括的至少一个网卡的网卡信息。Specifically, after the source node receives the first query message, the network card information of at least one network card included in each node in the cluster system may be obtained from the cluster management module of the source node.
示例性的,源节点可以从自身的InfoEqualizer模块获取每个节点包括的至少一个网卡的网卡信息,例如,网卡数量,网卡所在的节点标识以及网卡速率、网卡的MAC(MediaAccess Control或者Medium Access Control,媒体访问控制,或称为物理地址、硬件地址)地址,IP地址,网卡状态。Exemplarily, the source node can obtain the network card information of at least one network card included in each node from its own InfoEqualizer module, for example, the number of network cards, the node identification of the network card and the speed of the network card, the MAC (MediaAccess Control or Medium Access Control, Media access control, or called physical address, hardware address) address, IP address, network card status.
S310、源节点向客户端发送包括每个节点包括的至少一个网卡的网卡信息。S310. The source node sends network card information including at least one network card included in each node to the client.
S311、客户端每个节点包括的至少一个网卡的网卡信息中任意选择一个网卡。S311. Randomly select one network card from the network card information of at least one network card included in each node of the client.
示例性的,每个节点包括的至少一个网卡的网卡信息中包括节点202的网卡2021和网卡2022的网卡信息、节点203的网卡2031和网卡2032的网卡信息以及节点204的网卡2041和网卡2042的网卡信息,客户端从该网卡信息指示的网卡中任意选择一个网卡,例如,网卡2031,由于该网卡2031的网卡信息中包括该网卡2031所在的节点的标识,因此,客户端在选择一个网卡后,即可以获知其需要重新建立连接的目标节点的标识。Exemplarily, the network card information of at least one network card included in each node includes the network card information of the network card 2021 and the network card 2022 of the node 202, the network card information of the network card 2031 and the network card 2032 of the node 203, and the network card information of the network card 2041 and the network card 2042 of the node 204. Network card information, the client selects a network card arbitrarily from the network cards indicated by the network card information, for example, network card 2031, because the network card information of the network card 2031 includes the identification of the node where the network card 2031 is located, therefore, after the client selects a network card , that is, the identity of the target node whose connection needs to be re-established can be obtained.
需要说明的是,若客户端的一个网卡A和源节点的一个网卡A’之间已经建立了第一会话信息,那么在客户端的一个网卡A和源节点的一个网卡A’之间便形成一个会话通道,因此,客户端可以通过网卡和网卡A’之间形成的会话通道向源节点发送第一查询消息,以获取集群系统中每个节点的网卡信息,在客户端获取集群系统中每个节点的网卡信息之后,一方面,若源节点中除网卡A’之外还存在其他网卡,例如,网卡B’,那么客户端也可以从集群系统中每个网卡的网卡信息中选择源节点中除网卡A’之外的一个网卡(例如,网卡B’)建立会话通道,此时,可以建立客户端的至少两个网卡中除网卡A之外的其余网卡,例如,网卡B和源节点的网卡B’之间的会话通道(其中,该建立会话通道的方式具体为:客户端向源节点的网卡B’发送新的TCP建链请求,并基于第一会话信息的标识进行认证,在认证通过后便在网卡B和网卡B’之间形成新的会话通道,客户端可以通过新的会话通道与源节点之间访问业务,同时对外提供更大的网络吞吐量),以在客户端和源节点之间形成多会话通道。这样,在客户端的网卡A和源节点的网卡A’中任意一个网卡异常,或者,客户端的网卡A和源节点的网卡A’之间的TCP建链中断时,客户端可以通过网卡B和源节点的网卡B’之间形成的会话通道继续与源节点之间进行业务传输,从而防止业务中断。It should be noted that if the first session information has been established between a network card A of the client and a network card A' of the source node, then a session is formed between a network card A of the client and a network card A' of the source node channel, therefore, the client can send the first query message to the source node through the session channel formed between the network card and network card A' to obtain the network card information of each node in the cluster system, and obtain the information of each node in the cluster system on the client side After the network card information, on the one hand, if there are other network cards besides network card A' in the source node, for example, network card B', then the client can also select from the network card information of each network card in the cluster system. A network card other than network card A' (for example, network card B') establishes a session channel. At this time, other network cards except network card A among at least two network cards of the client can be established, for example, network card B and source node's network card B 'The session channel between' (wherein, the method of establishing the session channel is specifically: the client sends a new TCP link establishment request to the network card B' of the source node, and performs authentication based on the identification of the first session information, after the authentication is passed A new session channel is formed between network card B and network card B', and the client can access services with the source node through the new session channel, and at the same time provide greater network throughput), so that the client and the source node A multi-session channel is formed between them. In this way, when any one of the network card A of the client and the network card A' of the source node is abnormal, or when the TCP link establishment between the network card A of the client and the network card A' of the source node is interrupted, the client can use network card B and the source node The session channel formed between the network cards B' of the nodes continues to transmit services with the source node, thereby preventing service interruption.
此外,上述客户端和源节点之间形成的多会话通道中,只能够进行单个节点内的网卡故障场景的业务持续性,例如,若客户端的网卡A和源节点的网卡A’中任意一个网卡异常,或者客户端的网卡A和源节点的网卡A’之间的TCP建链中断时,客户端通过网卡B和源节点的网卡B’之间形成的会话通道继续与源节点之间进行业务传输,但是,当源节点故障时,客户端和源节点之间的业务会发生中断。同时,仅依靠源节点和一个节点(例如,源节点)之间形成多会话通道,这样使得客户端和集群系统之间的吞吐量还是受限于节点的网卡数量。In addition, in the above-mentioned multi-session channel formed between the client and the source node, only the service continuity of the network card failure scenario in a single node can be performed. For example, if any one of the network card A' of the client and the network card A' Abnormal, or when the TCP link establishment between the client’s network card A and the source node’s network card A’ is interrupted, the client continues to transmit services with the source node through the session channel formed between the network card B and the source node’s network card B’ , however, when the source node fails, the business between the client and the source node will be interrupted. At the same time, relying only on the formation of a multi-session channel between the source node and a node (for example, the source node), the throughput between the client and the cluster system is still limited by the number of network cards of the node.
基于上述问题,为了防止在源节点故障之后,客户端和集群系统之间的业务传输中断,优选的,本发明实施例中客户端从每个网卡的网卡信息中选择源节点之外的网卡建立会话通道,这样即使在源节点故障时,客户端也可以访问集群系统中的业务,同时客户端和集群系统之间的吞吐量并不局限于源节点的网卡的数量。Based on the above problems, in order to prevent the interruption of service transmission between the client and the cluster system after the source node fails, preferably, in the embodiment of the present invention, the client selects a network card other than the source node from the network card information of each network card to establish Session channel, so that even when the source node fails, the client can access the business in the cluster system, and the throughput between the client and the cluster system is not limited to the number of network cards of the source node.
示例的,客户端可以从每个网卡的网卡信息中选择网卡2042,然后通过该网卡2042向交换机发送TCP建链请求。For example, the client may select the network card 2042 from the network card information of each network card, and then send a TCP link establishment request to the switch through the network card 2042 .
S312、客户端通过其所选择的网卡向交换机发送TCP建链请求,以使得交换机根据该网卡确定该网卡所在的目标节点,并将该TCP建链请求发送给目标节点;该目标节点为至少两个节点中除源节点之外的任意一个节点。S312. The client sends a TCP link building request to the switch through the network card selected by the client, so that the switch determines the target node where the network card is located according to the network card, and sends the TCP link building request to the target node; the target node is at least two Any one of the nodes except the source node.
S313、在客户端确定和目标节点之间TCP建链成功后,客户端向目标节点发送连接建立请求。S313. After the client determines that the TCP link with the target node is established successfully, the client sends a connection establishment request to the target node.
其中,该连接建立请求中携带有用户名、用户密码、第一会话信息的会话标识以及标志位,该标识位用于指示目标节点该连接建立请求是对第一会话信息的重新认证还是除上述客户端之外的其余客户端发起的认证请求。Wherein, the connection establishment request carries a user name, a user password, a session identification of the first session information, and a flag bit, and the identification bit is used to indicate whether the connection establishment request of the target node is a re-authentication of the first session information or a Authentication requests initiated by clients other than the client.
S314、目标节点接收客户端发送的连接建立请求。S314. The target node receives the connection establishment request sent by the client.
S315、目标节点根据客户端发送的连接建立请求,通过目标网卡建立目标节点和客户端之间的会话通道。S315. The target node establishes a session channel between the target node and the client through the target network card according to the connection establishment request sent by the client.
具体的,该连接建立请求还携带有客户端请求的用户名、用户密码、第一会话信息的会话标识以及标志位(又称:bond标志位)。首先,目标节点根据第一会话信息的会话标识获取第一会话信息(当源节点故障时,从第一节点中获取源节点备份在第一节点中的第一会话信息),并将第一会话信息存储到目标节点,然后目标节点对客户端发送的第一认证请求消息中携带的用户名和密码进行校验,检验通过后生成携带有第二密匙Key2的第二会话通道,然后目标节点根据bond标志位确定该第一认证请求消息是对新会话通道的重新认证请求还是上述客户端之外的其余客户端对会话通道的重新建立,若是对新会话通道的重新认证请求,则将该第二会话通道和第一会话信息进行绑定,以使得该第一会话信息对应两个会话通道,即第一会话通道和第二会话通道,这样当客户端通过第一会话通道和第二会话通道访问同一个共享文件夹,就会生成同一个TREE信息。而如果是访问多个共享文件夹,就会生成多个TREE信息。Specifically, the connection establishment request also carries the user name requested by the client, the user password, the session identifier of the first session information, and a flag (also called: bond flag). First, the target node obtains the first session information according to the session identifier of the first session information (when the source node fails, obtains the first session information backed up by the source node in the first node from the first node), and converts the first session The information is stored in the target node, and then the target node verifies the user name and password carried in the first authentication request message sent by the client, and generates a second session channel carrying the second key Key2 after passing the verification, and then the target node according to The bond flag determines whether the first authentication request message is a re-authentication request to a new session channel or a re-establishment of a session channel by other clients other than the above-mentioned client, if it is a re-authentication request to a new session channel, then the first The two session channels are bound with the first session information, so that the first session information corresponds to two session channels, that is, the first session channel and the second session channel, so that when the client passes the first session channel and the second session channel Accessing the same shared folder will generate the same TREE information. However, if multiple shared folders are accessed, multiple TREE information will be generated.
其中,TREE信息指的是客户端使用用户名来访问某个共享的时候,存放的相关的信息,包括共享权限,共享名,共享路径等。TREE信息针对一个共享目录独有的相关信息,包含了此共享下面多个目标文件相关的文件句柄信息。Among them, the TREE information refers to the relevant information stored when the client uses the user name to access a certain share, including share permission, share name, share path and so on. The TREE information is specific to a shared directory, and includes file handle information related to multiple target files under the share.
本发明实施例通过上述步骤S308-S309在客户端和源节点的一个网卡之间形成一个多会话通道,如图4b中的客户端201的网卡2012与源节点204的网卡2042之间形成一个多会话通道20,该多会话通道20用于客户端201和源节点204之间进行业务交互。In the embodiment of the present invention, a multi-session channel is formed between the client and a network card of the source node through the above steps S308-S309, as shown in FIG. A session channel 20, the multi-session channel 20 is used for service interaction between the client 201 and the source node 204.
本发明实施例提供一种多会话通道建立方法,通过源节点接收客户端发送的用于指示源节点查询每个节点包括的至少一个网卡的网卡信息的第一查询消息;源节点为至少两个节点中与客户端进行通信的节点;源节点中存储有每个节点包括的至少一个网卡的网卡信息;源节点向客户端发送每个节点包括的至少一个网卡的网卡信息;目标节点根据客户端发送的连接建立请求,通过目标网卡建立目标节点和客户端之间的会话通道,目标节点为目标网卡所在的节点,目标网卡为客户端根据每个节点包括的至少一个网卡的网卡信息从每个节点包括的至少一个网卡中选择的网卡。由于,单个网卡的实际能力有限,所以如果网卡数量越少,客户端和节点之间建立的会话通道数量也就越少,客户端和集群系统之间所能传输的极限带宽也就越少;反之,网卡越多,可以提供的总带宽就越多,因此,客户端在使用MutilChannel特性访问集群体的业务时,可以和集群系统中的多个节点(例如,源节点和目标节点)之间建立会话通道,例如建立源节点和客户端的网卡之间的会话通道,建立目标网卡和客户端网卡之间的会话通道,这样可以提高集群系统和客户端之间网络传输带宽的吞吐量。同时若源节点故障,客户端能选取正常节点(例如,目标节点),并根据与目标节点的目标网卡之间建立的会话通道进行业务传输,从而保证客户端和集群系统之间的业务持续不中断,大大提高整系统对外的性能。An embodiment of the present invention provides a method for establishing a multi-session channel. The source node receives the first query message sent by the client to instruct the source node to query the network card information of at least one network card included in each node; the source node is at least two The node that communicates with the client in the node; the network card information of at least one network card included in each node is stored in the source node; the source node sends the network card information of at least one network card included in each node to the client; the target node according to the client The connection establishment request sent is to establish a session channel between the target node and the client through the target network card. The target node is the node where the target network card is located, and the target network card is the client according to the network card information of at least one network card included in each node. A network card selected from at least one network card included in the node. Since the actual capacity of a single network card is limited, if the number of network cards is small, the number of session channels established between the client and the node will be fewer, and the limit bandwidth that can be transmitted between the client and the cluster system will be less; Conversely, the more network cards, the more total bandwidth can be provided. Therefore, when the client uses the MutilChannel feature to access the business of the cluster, it can communicate with multiple nodes in the cluster system (for example, the source node and the target node). Establish a session channel, such as establishing a session channel between the source node and the client network card, and establishing a session channel between the target network card and the client network card, which can improve the throughput of the network transmission bandwidth between the cluster system and the client. At the same time, if the source node fails, the client can select a normal node (for example, the target node) and perform business transmission according to the session channel established with the target network card of the target node, so as to ensure that the business between the client and the cluster system continues uninterrupted Interruption greatly improves the external performance of the entire system.
需要说明的是,本发明实施例可以通过上述方法,在客户端的网卡数量所允许的情况下,在客户端的每个网卡和集群系统中一个节点的网卡之间均可以形成会话通道,也可以在客户端的一个网卡和源节点的一个网卡之间形成一个会话通道,在客户端的另两个网卡和目标节点的两个网卡之间形成其他的会话通道。It should be noted that, in the embodiment of the present invention, a session channel can be formed between each network card of the client and a network card of a node in the cluster system under the condition that the number of network cards of the client is allowed by the above method, or a session channel can be formed between A session channel is formed between one network card of the client and one network card of the source node, and other session channels are formed between the other two network cards of the client and two network cards of the target node.
可选的,在步骤S309之前,本发明实施例提供的方法还包括:Optionally, before step S309, the method provided in this embodiment of the present invention further includes:
S309-1、源节点接收集群系统中除源节点之外的每个节点发送的第一广播消息;该第一广播消息包括节点包括的至少一个网卡的网卡信息。S309-1. The source node receives a first broadcast message sent by each node in the cluster system except the source node; the first broadcast message includes network card information of at least one network card included in the node.
S309-2、源节点将源节点包括的至少一个网卡的网卡信息及集群系统中除源节点之外的每个节点包括的至少一个网卡的网卡信息存储在源节点中。S309-2. The source node stores the network card information of at least one network card included in the source node and the network card information of at least one network card included in each node in the cluster system except the source node in the source node.
可选的,如图5所示,在步骤S308之前,本发明实施例提供的方法还包括:Optionally, as shown in FIG. 5, before step S308, the method provided in this embodiment of the present invention further includes:
S316、源节点向客户端发送用于获取文件句柄(File Handle,文件句柄)信息的句柄标识。S316. The source node sends a handle identifier used to acquire file handle (File Handle, file handle) information to the client.
本发明实施例中的句柄标识为任何可以唯一标识该文件句柄信息的标识,例如,该文件句柄信息的ID或者IP。本发明实施例对此不进行限定。The handle identifier in this embodiment of the present invention is any identifier that can uniquely identify the file handle information, for example, the ID or IP of the file handle information. This embodiment of the present invention does not limit it.
其中,节点在根据客户端的访问请求打开文件时,在内存中产生文件名、文件属性、文件权限以及文件路径的信息,称之为文件句柄信息。再次恢复时,由于不需要打开文件,因此发送读写命令,根据标识直接查找到文件句柄信息即可。Wherein, when a node opens a file according to an access request from a client, it generates information of a file name, file attribute, file permission, and file path in memory, which is called file handle information. When restoring again, since there is no need to open the file, send read and write commands, and directly find the file handle information according to the identifier.
在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该文件的路径来打开该文件。该函数取回一个顺序号,即文件句柄(file handle)信息,该文件句柄对于打开的文件是唯一的识别依据。要从文件中读取一块数据,应用程序需要调用函数ReadFile,并将文件句柄在内存中的地址和要拷贝的字节数传送给操作系统。当完成任务后,再通过调用系统函数来关闭该文件。本发明实施例中的文件句柄信息是指节点通过对目标共享文件下的目标文件进行打开/读/写生成的信息。In file I/O, to read data from a file, the application first calls an operating system function passing the file name and choosing a path to the file to open the file. This function retrieves a serial number, that is, the file handle (file handle) information, and the file handle is the only identification basis for the opened file. To read a piece of data from a file, the application needs to call the function ReadFile, and send the address of the file handle in memory and the number of bytes to be copied to the operating system. When the task is completed, the file is closed by calling the system function. The file handle information in the embodiment of the present invention refers to the information generated by the node by opening/reading/writing the target file under the target shared file.
S317、源节点向第一节点发送文件句柄信息;该第一节点为至少两个节点中源节点对应的节点。S317. The source node sends file handle information to the first node; the first node is a node corresponding to the source node among the at least two nodes.
其中,本发明实施例中的第一节点可以为上述目标节点,也可以为除目标节点之外的其余节点。Wherein, the first node in the embodiment of the present invention may be the above-mentioned target node, or may be other nodes except the target node.
可选的,如图6所示,本发明实施例中在步骤S317之前还包括S318:Optionally, as shown in FIG. 6, the embodiment of the present invention further includes S318 before step S317:
S318、源节点从至少两个节点中确定源节点对应的第一节点。S318. The source node determines a first node corresponding to the source node from at least two nodes.
示例的,本发明实施例中的步骤S318可以通过以下方式实现:As an example, step S318 in the embodiment of the present invention can be implemented in the following manner:
S3181、源节点获取至少两个节点中除源节点之外的其余节点的节点信息。S3181. The source node acquires node information of other nodes except the source node among the at least two nodes.
例如,源节点获取至少两个节点中除源节点之外的每个节点的节点编号。For example, the source node acquires the node number of each of the at least two nodes except the source node.
S3182、源节点根据至少两个节点中除源节点之外的其余节点的节点信息,按照预设规则,从至少两个节点中除源节点之外的其余节点中确定第一节点。S3182. The source node determines the first node from the at least two nodes except the source node according to the node information of the remaining nodes among the at least two nodes and according to preset rules.
示例性的,节点202根据该节点202上的集群管理模块2023获取的多处理系统中每个节点的节点信息(例如,集群管理模块2023获取节点203的节点信息,集群管理模块2023获取节点204的节点信息,集群管理模块2023获取节点205的节点信息)。Exemplarily, the node 202 acquires the node information of each node in the multiprocessing system according to the cluster management module 2023 on the node 202 (for example, the cluster management module 2023 acquires the node information of the node 203, and the cluster management module 2023 acquires the node 204's node information, the cluster management module 2023 acquires the node information of the node 205).
示例性的,本发明实施例以集群管理模块2023获取节点203的节点信息为例说明:然后节点202根据预设规则(例如,一致性Hash算法或者预设的节点环)从至少两个节点中除源节点之外的其余节点中选择一个节点作为源节点的第一节点(例如,节点203),然后,节点202通过后端网络将上述生成的文件句柄信息备份至节点203,然后返回文件句柄信息的句柄标识给客户端。Exemplarily, the embodiment of the present invention takes the cluster management module 2023 to obtain the node information of the node 203 as an example: then the node 202 selects from at least two nodes according to a preset rule (for example, a consistent Hash algorithm or a preset node ring). Select a node as the first node (for example, node 203) of the source node in the remaining nodes except the source node, then, the node 202 backs up the above-mentioned generated file handle information to the node 203 through the backend network, and then returns the file handle A handle to the message identified to the client.
本发明实施例对源节点从至少两个节点中确定源节点对应的第一节点的方式不进行限定。The embodiment of the present invention does not limit the manner in which the source node determines the first node corresponding to the source node from at least two nodes.
本发明实施例中还包括节点关系视图,该节点关系视图可以存储在每个节点上,也可以存储在集群系统中,或者存储在集群系统外,该节点关系视图中用于存储每个节点对应的第一节点,以使得每个节点可以通过访问该节点关系视图来确定该节点对应的第一节点。示例性的,如图7a所示,该节点关系视图可以为环形关系视图,节点202,节点203以及节点204,该四个节点形成一个环形配对关系,节点202->节点203->节点204->节点202,即节点202将所有文件句柄信息备份至节点203上,节点203将所有文件句柄信息备份至节点204上,依次类推,本发明实施例在此不再赘述。The embodiment of the present invention also includes a node relationship view, which can be stored on each node, can also be stored in the cluster system, or stored outside the cluster system, and the node relationship view is used to store the corresponding , so that each node can determine the first node corresponding to the node by accessing the node relationship view. Exemplarily, as shown in Figure 7a, the node relationship view can be a circular relationship view, node 202, node 203 and node 204, the four nodes form a ring pairing relationship, node 202->node 203->node 204- >Node 202, that is, node 202 backs up all file handle information to node 203, node 203 backs up all file handle information to node 204, and so on, and the embodiment of the present invention will not repeat them here.
图7b中示出了本发明实施例中提供的每个节点与自己的备份节点之间创建备份文件句柄信息的时序图,在实际使用过程中,一个集群系统会存在多个节点和客户端,本发明实施例仅以一个客户端和三个节点为例说明,示例性的,如图7b所示,首先客户端向NODE1发送打开文件请求(携带有TREE信息的标识以及客户端和NODE1之间生成的会话信息的标识),NODE1根据客户端发送的打开文件请求,在NODE1中生成文件句柄信息,然后NODE1通过节点关系视图查询NODE1对应的备份节点NODE2,然后将该文件句柄信息向其备份节点NODE2发送,NODE2对该文件句柄信息在其内存中进行备份,备份后向NODE1发送NODE1的文件句柄信息备份成功的消息,同时,NODE1向客户端发送文件句柄信息的句柄标识,以使得客户端根据句柄标识对NODE1中的文件句柄信息进行读写;同理,客户端向NODE3发送打开文件请求,然后NODE3根据该打开文件请求在NODE3中生成文件句柄信息,然后查询该NODE3的备份节点,在确定该NODE3的备份节点为NODE1时,然后将在NODE3中生成的文件句柄信息备份至NODE1中,然后NODE1向NODE3返回文件句柄信息备份成功的消息,NODE3向客户端发送文件句柄信息的句柄标识,客户端可以根据该句柄标识对NODE3中的文件句柄信息进行访问。同理,对于NODE2生成文件句柄信息,然后将文件句柄信息进行备份的过程和NODE1与NODE3相同,本发明实施例在此不再赘述。Figure 7b shows a sequence diagram of creating backup file handle information between each node and its own backup node provided in the embodiment of the present invention. In actual use, there will be multiple nodes and clients in a cluster system. The embodiment of the present invention only takes one client and three nodes as an example. Exemplarily, as shown in FIG. ID of the generated session information), NODE1 generates file handle information in NODE1 according to the open file request sent by the client, then NODE1 queries the backup node NODE2 corresponding to NODE1 through the node relationship view, and then sends the file handle information to its backup node NODE2 sends, and NODE2 backs up the file handle information in its memory. After the backup, it sends NODE1’s file handle information backup success message to NODE1. At the same time, NODE1 sends the handle identifier of the file handle information to the client, so that the client can The handle identifier reads and writes the file handle information in NODE1; similarly, the client sends a request to open a file to NODE3, and then NODE3 generates file handle information in NODE3 according to the request to open the file, and then queries the backup node of the NODE3. When the backup node of NODE3 is NODE1, then back up the file handle information generated in NODE3 to NODE1, and then NODE1 returns the message that the file handle information backup is successful to NODE3, and NODE3 sends the handle identifier of the file handle information to the client, and the client The end can access the file handle information in NODE3 according to the handle identifier. Similarly, the process of generating file handle information for NODE2 and then backing up the file handle information is the same as that of NODE1 and NODE3, and will not be repeated in this embodiment of the present invention.
需要说明的是,本发明是实施例中还对TREE信息进行备份,具体的每个节点对TREE信息的备份可以参见图7c,如图7c所示,客户端在向NODE1发送打开共享文件夹请求,在NODE1接收到共享文件夹请求后然后在其内存中生成TREE信息,并查询NODE1的备份节点NODE2,并向NODE2发送备份的TREE信息,然后再向客户端发送TREE信息的标识,这样当客户端请求访问NODE1中的目标文件时,其发送的打开文件请求中携带有TREE信息的标识以及客户端和NODE1之间生成的会话信息的标识,客户端请求访问节点中的目标文件时,需要通过TREE信息确定该文件所在的共享文件夹,这样才能够实现对目标文件的访问。同理,对于NODE2和NODE3生成TREE信息,然后将TREE信息进行备份的过程和NODE1相同,本发明实施例在此不再赘述。It should be noted that, in the embodiment of the present invention, the TREE information is also backed up. The specific backup of the TREE information by each node can be referred to in Figure 7c. As shown in Figure 7c, the client is sending a request to NODE1 to open the shared folder , after NODE1 receives the shared folder request, it generates TREE information in its memory, and queries NODE1’s backup node NODE2, and sends the backup TREE information to NODE2, and then sends the ID of the TREE information to the client, so that when the client When the client requests to access the target file in NODE1, the open file request it sends carries the ID of the TREE information and the ID of the session information generated between the client and NODE1. When the client requests to access the target file in the node, it needs to pass The TREE information determines the shared folder where the file is located, so that the access to the target file can be realized. Similarly, the process of generating TREE information for NODE2 and NODE3, and then backing up the TREE information is the same as that of NODE1, and will not be repeated in this embodiment of the present invention.
可选的,如图8a所示,本发明实施例在步骤S316之前还包括步骤S319-S323:Optionally, as shown in FIG. 8a, this embodiment of the present invention further includes steps S319-S323 before step S316:
S319、客户端向源节点发送第一访问请求消息,该第一访问请求消息用于访问目标共享文件夹。S319. The client sends a first access request message to the source node, where the first access request message is used to access the target shared folder.
其中,目标共享文件夹指的是节点为自身的某个文件夹路径配置一个共享名,客户端使用SMB协议通过网络访问该节点时,能够显示的一个文件夹,文件夹的名称就是配置的共享名。目标共享文件夹本质相当于提供为客户端通过网络访问节点自身文件路径的一个入口。Among them, the target shared folder refers to a node that configures a share name for a certain folder path of itself. When the client uses the SMB protocol to access the node through the network, a folder that can be displayed. The name of the folder is the configured share name. The essence of the target shared folder is equivalent to providing an entry for the client to access the file path of the node itself through the network.
以两个Windows系统为例,其中一个Windows系统为客户端,另一个Windows系统为节点。节点希望客户端能够访问节点本地磁盘下面的一个目标文件,示例性的,该目标文件的路径为D:\A\B\C.txt。其中,D为节点上的磁盘,这样在节点上面为文件夹B配置一个共享,名称为SHARE(共享)_B。这样客户端通过网络访问的时候,看到的是一个SHARE_B的目标共享文件夹,然后双击进入这个SHARE_B的目标共享文件夹后就能看到目标文件C.txt。Take two Windows systems as an example, one of which is a client and the other is a node. The node hopes that the client can access a target file under the local disk of the node. Exemplarily, the path of the target file is D:\A\B\C.txt. Among them, D is the disk on the node, so configure a share for folder B on the node, and the name is SHARE (shared)_B. In this way, when the client accesses through the network, it sees a SHARE_B target shared folder, and then double-clicks to enter the SHARE_B target shared folder to see the target file C.txt.
S320、源节点根据该第一访问请求消息打开目标共享文件夹,并生成TREE信息。S320. The source node opens the target shared folder according to the first access request message, and generates TREE information.
S321、源节点向客户端发送上述TREE信息的标识。S321. The source node sends the identification of the above TREE information to the client.
本发明实施例中TREE信息的标识用于唯一标识该TREE信息。示例性的,该TREE信息的标识可以为该TREE信息的ID。The identifier of the TREE information in the embodiment of the present invention is used to uniquely identify the TREE information. Exemplarily, the identifier of the TREE information may be the ID of the TREE information.
S322、客户端向源节点发送第二访问请求消息,该第二访问请求消息用于访问目标文件。S322. The client sends a second access request message to the source node, where the second access request message is used to access the target file.
可选的,该第二访问请求消息中携带有上述第一会话信息的会话标识或者TREE信息的标识。Optionally, the second access request message carries the session identifier of the above-mentioned first session information or the identifier of the TREE information.
S323、源节点根据打开目标文件,并生成目标文件的文件句柄信息。S323. The source node opens the target file and generates file handle information of the target file.
本发明实施例中的文件句柄信息的标识为64bit,具体的,如图8b所示,该文件句柄信息的标识的结构包括随机数22bit,序列数32bit以及节点标识10bit。The identifier of the file handle information in the embodiment of the present invention is 64 bits. Specifically, as shown in FIG. 8 b , the structure of the identifier of the file handle information includes a random number of 22 bits, a sequence number of 32 bits and a node identifier of 10 bits.
其中,节点标识是指根据客户端发送的第二数据访问请求消息生成的文件句柄信息的节点的标识,例如,源节点的编号。Wherein, the node identifier refers to the node identifier of the file handle information generated according to the second data access request message sent by the client, for example, the number of the source node.
可选的,在步骤S310之前,本发明实施例提供的方法还包括步骤S324和步骤S325:Optionally, before step S310, the method provided in this embodiment of the present invention further includes step S324 and step S325:
S324、源节点向至少两个节点中除源节点之外的其余节点发送第一广播消息,该第一广播消息包括源节点的节点信息。S324. The source node sends a first broadcast message to other nodes of the at least two nodes except the source node, where the first broadcast message includes node information of the source node.
示例性的,该源节点向至少两个节点中除源节点之外的其余节点发送包括源节点网卡信息(例如,网卡速率,网卡IP)、以及节点状态的节点信息。Exemplarily, the source node sends node information including source node network card information (for example, network card speed, network card IP) and node status to other nodes except the source node among the at least two nodes.
S325、源节点接收至少两个节点中除源节点之外的每个节点发送的该节点的节点信息。S325. The source node receives the node information of the node sent by each node except the source node among the at least two nodes.
在源节点故障时,如图9a所示的集群系统架构,由于源节点故障,因此源节点(即图9a中的节点202)中的所有网卡和客户端的至少两个网卡之间建立的会话通道全部中断,但是由于客户端201的网卡还和集群系统中的目标节点(即图9a中的节点204)建立有会话通道,即图9a中客户端201的网卡2011和节点204的网卡2041建立有会话通道901,客户端201的网卡2012和节点204的网卡2042建立有会话通道902,因此,客户端201还可以通过会话通道901和902与节点204进行通信,以对文件句柄信息进行读数据操作/写数据操作。以下将结合图9b-图9d详细介绍在源节点故障时,集群系统内节点的切换流程。(图9a中虚线表示客户端的网卡2011和集群系统中任意一个节点的网卡之间建立的会话通道,图9a中的实线表示客户端的网卡2012和集群系统中任意一个节点的网卡之间建立的会话通道)。When the source node fails, the cluster system architecture shown in Figure 9a, due to the source node failure, the session channels established between all network cards in the source node (i.e. node 202 in Figure 9a) and at least two network cards of the client All interruptions, but since the network card of the client 201 also establishes a session channel with the target node (i.e. node 204 in Fig. The session channel 901, the network card 2012 of the client 201 and the network card 2042 of the node 204 establish a session channel 902, therefore, the client 201 can also communicate with the node 204 through the session channels 901 and 902, so as to perform the read data operation on the file handle information /write data operation. The following will describe in detail the switching process of nodes in the cluster system when the source node fails with reference to FIGS. 9b-9d. (in Fig. 9a, the dotted line represents the session channel established between the network card 2011 of the client and the network card of any node in the cluster system, and the solid line in Fig. 9a represents the session channel established between the network card 2012 of the client and the network card of any node in the cluster system session channel).
可选的,如图9b所示,在步骤S315之后,本发明实施例提供的方法还包括:Optionally, as shown in FIG. 9b, after step S315, the method provided in this embodiment of the present invention further includes:
S326、客户端向目标节点发送第一数据访问请求消息,该第一数据访问请求消息中携带有唯一识别文件句柄信息的句柄标识,以及TREE信息标识。S326. The client sends a first data access request message to the target node, where the first data access request message carries a handle identifier uniquely identifying file handle information and a TREE information identifier.
其中,第一数据访问请求包括读数据指令或者写数据指令。Wherein, the first data access request includes a data read instruction or a data write instruction.
S327、目标节点接收客户端发送的第一数据访问请求消息。S327. The target node receives the first data access request message sent by the client.
S328、目标节点根据第一数据访问请求消息携带的句柄标识获取文件句柄信息。S328. The target node acquires file handle information according to the handle identifier carried in the first data access request message.
S329、目标节点根据文件句柄信息执行读数据操作或者写数据操作。S329. The target node performs a data read operation or a data write operation according to the file handle information.
由于本发明实施例中的目标节点有可能是源节点的第一节点,有可能不是源节点的第一节点,当目标节点是源节点的第一节点时和目标节点不是源节点的第一节点时,目标节点获取文件句柄信息的方式不同,因此,以下结合详细情况进行说明:Since the target node in the embodiment of the present invention may be the first node of the source node, it may not be the first node of the source node, when the target node is the first node of the source node and the target node is not the first node of the source node , the target node obtains the file handle information in different ways, so the following will be described in detail:
一方面,当目标节点为源节点的第一节点时,即目标节点中存储有文件句柄信息。On the one hand, when the target node is the first node of the source node, that is, file handle information is stored in the target node.
因此,如图9c所示,步骤S328具体可以通过以下方式实现:Therefore, as shown in FIG. 9c, step S328 may specifically be implemented in the following manner:
S3281A:目标节点从目标节点的内存中根据句柄标识直接获取文件句柄信息。S3281A: The target node directly obtains the file handle information from the memory of the target node according to the handle identifier.
另一方面,当目标节点不是源节点的第一节点时,即源节点中没有存储文件句柄信息。On the other hand, when the target node is not the first node of the source node, that is, no file handle information is stored in the source node.
因此,如图9d所示,步骤S328具体可以通过以下方式实现:Therefore, as shown in FIG. 9d, step S328 may specifically be implemented in the following manner:
S3281B、目标节点对句柄标识进行解析,确定存储有文件句柄信息的源节点的标识。S3281B. The target node parses the handle identifier to determine the identifier of the source node storing the file handle information.
由上述内容,结合图8b可以知道,句柄标识中携带有生成该句柄标识所指示的文件句柄信息的节点的标识,因此,目标节点通过对该句柄标识进行解析,即可确定生成文件句柄信息的源节点的标识。From the above content, it can be known in combination with FIG. 8b that the handle identifier carries the identifier of the node that generates the file handle information indicated by the handle identifier. Therefore, the target node can determine the source of the file handle information by analyzing the handle identifier. The ID of the source node.
S3282B、目标节点向源节点发送查询文件句柄信息的请求,该文件句柄信息的请求中携带有句柄标识S3282B. The target node sends a request for querying file handle information to the source node, and the request for file handle information carries a handle identifier
S3283B、目标节点在确定源节点故障时,目标节点确定源节点对应的第一节点,该第一节点用于根据客户端的句柄标识提供文件句柄信息。S3283B. When the target node determines that the source node is faulty, the target node determines a first node corresponding to the source node, and the first node is used to provide file handle information according to the handle identifier of the client.
其中,目标节点确定源节点对应的第一节点的方式可以从关系视图中获取,本发明实施例对此不进行限定。The manner in which the target node determines the first node corresponding to the source node may be obtained from the relationship view, which is not limited in this embodiment of the present invention.
示例的,目标节点可以通过以下方式确定源节点故障:By way of example, a destination node can determine a source node failure by:
在目标节点向源节点发送第一请求消息之后,若在预设时间内未接收到该源节点发送的响应消息,则目标节点确定源节点故障。After the target node sends the first request message to the source node, if the response message sent by the source node is not received within a preset time, the target node determines that the source node is faulty.
示例的,本发明实施例中目标节点可以通过以下方式确定源节点对应的第一节点:For example, in the embodiment of the present invention, the target node can determine the first node corresponding to the source node in the following manner:
目标节点从节点关系视图中确定源节点对应的第一节点。The target node determines the first node corresponding to the source node from the node relationship view.
S3284B、目标节点从第一节点中获取文件句柄信息。S3284B. The target node acquires file handle information from the first node.
S3285B、目标节点根据文件句柄信息对文件进行写数据/读数据。S3285B. The target node writes/reads data to/from the file according to the file handle information.
步骤S3284B具体可以通过以下方式实现:Step S3284B can specifically be realized in the following ways:
S3284B1、目标节点向第一节点发送第一请求消息,该第一请求消息用于指示第一节点返回文件句柄信息。S3284B1. The target node sends a first request message to the first node, where the first request message is used to instruct the first node to return file handle information.
具体的,该第一请求消息中应当包括文件句柄信息的句柄标识。Specifically, the first request message should include a handle identifier of the file handle information.
S3284B2、目标节点接收第一节点发送的第一响应消息,该第一响应消息中携带有文件句柄信息。S3284B2. The target node receives the first response message sent by the first node, where the first response message carries the file handle information.
可选的,连接建立请求包括用户名以及用户密码,本发明实施例中的步骤S315具体可以通过以下方式实现:Optionally, the connection establishment request includes a user name and a user password, and step S315 in the embodiment of the present invention can be specifically implemented in the following manner:
S3151、目标节点对客户端发送的用户名和用户密码进行校验。S3151. The target node verifies the user name and user password sent by the client.
S3152、在确定用户名与预设的用户名匹配,且用户密码与预设的用户密码匹配之后,目标节点通过目标网卡建立目标节点和客户端之间的会话通道。S3152. After determining that the user name matches the preset user name and the user password matches the preset user password, the target node establishes a session channel between the target node and the client through the target network card.
具体的,连接建立请求中包括会话标识以及标志位,会话标识用于唯一识别第一会话信息,第一会话信息为建立所述源节点和所述客户端之间的会话通道时生成的,标志位用于指示对所述源节点和所述客户端之间建立会话通道的重新认证;在步骤S315之后,本发明实施例提供的方法还包括:Specifically, the connection establishment request includes a session identifier and a flag bit, the session identifier is used to uniquely identify the first session information, the first session information is generated when the session channel between the source node and the client is established, and the flag The bit is used to indicate the re-authentication of the session channel established between the source node and the client; after step S315, the method provided by the embodiment of the present invention further includes:
S316、目标节点对会话标识进行解析,确定生成第一会话信息的源节点的标识。S316. The target node parses the session identifier to determine the identifier of the source node that generates the first session information.
具体的,由于该会话标识中包括生成该会话信息的节点的编号,因此,目标节点通过对该会话标识进行解析即可确定源节点的标识。Specifically, since the session identifier includes the number of the node generating the session information, the target node can determine the identifier of the source node by parsing the session identifier.
S317、目标节点向源节点发送第一请求消息,以从源节点获取会话标识所指示的第一会话信息。S317. The target node sends a first request message to the source node, so as to acquire the first session information indicated by the session identifier from the source node.
S318、目标节点根据所述标志位,将第二会话通道与第一会话信息绑定,所述第二会话通道为所述目标节点通过所述目标网卡建立的所述目标节点和所述客户端之间的会话通道。S318, the target node binds the second session channel with the first session information according to the flag bit, the second session channel is the target node and the client established by the target node through the target network card conversation channel between.
示例的,客户端选择任意网卡(假如Node3的网卡)重新发起TCP建链请求,建链成功后,客户端通过携带原有和Node1建立的会话的ID,向Node3发起重新认证会话的请求。Node3通过客户端携带的会话ID中包含的节点编号,识别出此会话的原节点为Node1,然后通过后端网络从Node1上面拷贝相关的会话信息,在Node3上面创建出同样的会话信息,重新认证会话流程完成,建立多会话通道成功。For example, the client selects any network card (assuming the network card of Node3) to re-initiate a TCP link establishment request. After the link is successfully established, the client sends a re-authentication session request to Node3 by carrying the ID of the session established with Node1. Node3 identifies the original node of the session as Node1 through the node number contained in the session ID carried by the client, then copies the relevant session information from Node1 through the back-end network, creates the same session information on Node3, and re-authenticates The session process is completed, and the multi-session channel is established successfully.
上述主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如源节点、目标节点、第一节点等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。The foregoing mainly introduces the solutions provided by the embodiments of the present invention from the perspective of interaction between various network elements. It can be understood that, in order to realize the above-mentioned functions, each network element, such as the source node, the target node, and the first node, includes a corresponding hardware structure and/or software module for performing each function. Those skilled in the art should easily realize that the present invention can be realized in the form of hardware or a combination of hardware and computer software in combination with the units and algorithm steps of each example described in the embodiments disclosed herein. Whether a certain function is executed by hardware or computer software drives hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present invention.
本发明实施例可以根据上述方法示例对源节点、目标节点和第一节点等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。In the embodiment of the present invention, the function modules of the source node, the target node, and the first node can be divided according to the above method examples. For example, each function module can be divided corresponding to each function, or two or more functions can be integrated in one in a processing module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules. It should be noted that the division of modules in the embodiment of the present invention is schematic, and is only a logical function division, and there may be another division manner in actual implementation.
在采用对应各个功能划分各个功能模块的情况下,图10a示出了上述实施例中所涉及的源节点的一种可能的结构示意图,源节点100包括:第一接收单元101,以及第一发送单元102,第一接收单元101用于支持源节点执行图3中的过程S309;图5中的过程S309;图6中的S309,图8a和图9b中的S309;第一发送单元102用于支持源节点执行图3中的过程S310,图5中的过程S310;图6中的过程S310,以及图8a和图9b中的过程S310。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。In the case of dividing each functional module corresponding to each function, FIG. 10a shows a possible structural diagram of the source node involved in the above embodiment. The source node 100 includes: a first receiving unit 101, and a first sending unit The unit 102, the first receiving unit 101 is used to support the source node to execute the process S309 in Figure 3; the process S309 in Figure 5; the S309 in Figure 6, the S309 in Figure 8a and Figure 9b; The supporting source node executes the process S310 in FIG. 3 , the process S310 in FIG. 5 ; the process S310 in FIG. 6 , and the process S310 in FIGS. 8a and 9b. Wherein, all relevant content of each step involved in the above-mentioned method embodiment can be referred to the function description of the corresponding function module, and will not be repeated here.
在采用集成的单元的情况下,图10b示出了上述实施例中所涉及的源节点的一种可能的结构示意图。源节点100包括:处理模块1002和通信模块1003。处理模块1002用于对源节点100的动作进行控制管理,例如,处理模块1002用于支持源节点100执行图3中的过程S302,S304,S306以及S309,图5中的S302,S304,S306以及S309;图6中的过程S302,S304,S306、S309以及S316,图8a中的过程S302,S304,S306、S309,S318、S320以及S323,图9b中的过程S302,S304,S306、S309,S318、S320以及S323,和/或用于本文所描述的技术的其它过程。通信模块1002用于支持源节点100与其他网络实体的通信,(例如,客户端、目标节点、第一节点等),通信模块1003用于支持源节点100执行如图3中的过程S307以及过程S310;图5中的过程S307、S310、S316以及过程S317,图6中的过程S307、S310、S316以及过程S317,图8a中的过程S307、S310、S316以及过程S317。源节点100还可以包括存储模块1001,用于存储源节点100的程序代码和数据。In the case of using an integrated unit, Fig. 10b shows a possible structural diagram of the source node involved in the above embodiment. The source node 100 includes: a processing module 1002 and a communication module 1003 . The processing module 1002 is used to control and manage the actions of the source node 100. For example, the processing module 1002 is used to support the source node 100 to execute the processes S302, S304, S306 and S309 in FIG. 3, and S302, S304, S306 and S309; process S302 in Fig. 6, S304, S306, S309 and S316, process S302 in Fig. 8a, S304, S306, S309, S318, S320 and S323, process S302 in Fig. 9b, S304, S306, S309, S318 , S320, and S323, and/or other processes for the techniques described herein. The communication module 1002 is used to support the communication between the source node 100 and other network entities, (for example, the client, the target node, the first node, etc.), and the communication module 1003 is used to support the source node 100 to execute the process S307 and the process in Figure 3 S310; process S307, S310, S316 and process S317 in FIG. 5, process S307, S310, S316 and process S317 in FIG. 6, process S307, S310, S316 and process S317 in FIG. 8a. The source node 100 may also include a storage module 1001 for storing program codes and data of the source node 100 .
其中,处理模块1002可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1003可以是收发器、收发电路或通信接口1013等。存储模块1001可以是存储器。Wherein, the processing module 1002 may be a processor or a controller, such as a central processing unit (Central Processing Unit, CPU), a general processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application-Specific Integrated Circuit, ASIC), Field Programmable Gate Array (Field Programmable Gate Array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute the various illustrative logical blocks, modules and circuits described in connection with the present disclosure. The processor may also be a combination of computing functions, for example, a combination of one or more microprocessors, a combination of DSP and a microprocessor, and so on. The communication module 1003 may be a transceiver, a transceiver circuit, or a communication interface 1013 and the like. The storage module 1001 may be a memory.
当处理模块1002为处理器1012,通信模块1003为通信接口1013,存储模块1001为存储器时,本发明实施例所涉及的源节点可以为图10c所示的源节点。When the processing module 1002 is a processor 1012, the communication module 1003 is a communication interface 1013, and the storage module 1001 is a memory, the source node involved in this embodiment of the present invention may be the source node shown in FIG. 10c.
参阅图10c所示,该源节点100包括:处理器1012、通信接口1013、存储器1011以及总线1014。其中,通信接口1013、处理器1012以及存储器1011通过总线1014相互连接;总线1014可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10c中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。Referring to FIG. 10 c , the source node 100 includes: a processor 1012 , a communication interface 1013 , a memory 1011 and a bus 1014 . Wherein, the communication interface 1013, the processor 1012, and the memory 1011 are connected to each other through a bus 1014; the bus 1014 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, EISA) bus Wait. The bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 10c, but it does not mean that there is only one bus or one type of bus.
在采用对应各个功能划分各个功能模块的情况下,图11a示出了上述实施例中所涉及的目标节点的一种可能的结构示意图,目标节点11包括:第一接收单元110,以及建立单元111。第一接收单元110用于支持目标节点执行图3中的过程S314,图5中的过程S314,图6中的过程S314,图8a中的过程S314以及图9b中的过程S314;建立单元111用于支持目标节点执行图3中的过程S315,图5中的过程S315,图6中的过程S315,图8a中的过程S315以及图9b中的过程S315。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。In the case of dividing each functional module corresponding to each function, FIG. 11a shows a possible structural diagram of the target node involved in the above embodiment. The target node 11 includes: a first receiving unit 110, and an establishing unit 111 . The first receiving unit 110 is used to support the target node to execute the process S314 in Figure 3, the process S314 in Figure 5, the process S314 in Figure 6, the process S314 in Figure 8a and the process S314 in Figure 9b; The process S315 in FIG. 3 , the process S315 in FIG. 5 , the process S315 in FIG. 6 , the process S315 in FIG. 8a and the process S315 in FIG. 9b are executed on the supporting target node. Wherein, all relevant content of each step involved in the above-mentioned method embodiment can be referred to the function description of the corresponding function module, and will not be repeated here.
在采用集成的单元的情况下,图11b示出了上述实施例中所涉及的目标节点的一种可能的结构示意图。目标节点11包括:处理模块1102和通信模块1103。处理模块1102用于对目标节点的动作进行控制管理,例如,处理模块1102用于支持目标节点执行图3中的过程S314和S315,图5中的过程S314和S315,图6中的过程S314和S315,图8a中的过程S314和S315,以及图9b中S314和S315、S327和S328以及图9c中的过程S327、S328以及S329,和/或用于本文所描述的技术的其它过程。通信模块1103用于支持目标节点与其他网络实体的通信,例如与图3、图5、图6、图8a和图9a、图9b和图9c中示出的功能模块或网络实体之间的通信,例如,客户端、源节点以及第一节点。目标节点还可以包括存储模块1101,用于存储源节点的程序代码和数据。In the case of using an integrated unit, FIG. 11b shows a possible structural schematic diagram of the target node involved in the above embodiment. The target node 11 includes: a processing module 1102 and a communication module 1103 . The processing module 1102 is used to control and manage the actions of the target node. For example, the processing module 1102 is used to support the target node to execute the processes S314 and S315 in FIG. 3, the processes S314 and S315 in FIG. 5, and the processes S314 and S315 in FIG. S315, processes S314 and S315 in FIG. 8a, and S314 and S315, S327 and S328 in FIG. 9b and processes S327, S328 and S329 in FIG. 9c, and/or other processes for the techniques described herein. The communication module 1103 is used to support the communication between the target node and other network entities, for example, communication with the functional modules or network entities shown in Figure 3, Figure 5, Figure 6, Figure 8a and Figure 9a, Figure 9b and Figure 9c , for example, the client, the source node, and the first node. The target node may also include a storage module 1101 for storing program codes and data of the source node.
其中,处理模块1102可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1103可以是收发器、收发电路或通信接口1113等。存储模块1101可以是存储器。Wherein, the processing module 1102 may be a processor or a controller, such as a central processing unit (Central Processing Unit, CPU), a general purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application-Specific Integrated Circuit, ASIC), Field Programmable Gate Array (Field Programmable Gate Array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute the various illustrative logical blocks, modules and circuits described in connection with the present disclosure. The processor may also be a combination of computing functions, for example, a combination of one or more microprocessors, a combination of DSP and a microprocessor, and so on. The communication module 1103 may be a transceiver, a transceiver circuit, or a communication interface 1113 or the like. The storage module 1101 may be a memory.
当处理模块1102为处理器,通信模块1103为通信接口1113,存储模块1101为存储器时,本发明实施例所涉及的目标节点可以为图11c所示的目标节点。When the processing module 1102 is a processor, the communication module 1103 is a communication interface 1113, and the storage module 1101 is a memory, the target node involved in this embodiment of the present invention may be the target node shown in FIG. 11c.
参阅图11c所示,该目标节点11包括:处理器1112、通信接口1113、存储器1111以及总线1114。其中,通信接口1113、处理器1112以及存储器1111通过总线1114相互连接;总线1114可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11c中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。Referring to FIG. 11 c , the target node 11 includes: a processor 1112 , a communication interface 1113 , a memory 1111 and a bus 1114 . Wherein, the communication interface 1113, the processor 1112, and the memory 1111 are connected to each other through a bus 1114; the bus 1114 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus Wait. The bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in Fig. 11c, but it does not mean that there is only one bus or one type of bus.
在采用对应各个功能划分各个功能模块的情况下,图12a示出了上述实施例中所涉及的节点的一种可能的结构示意图,节点包括:第一接收单元1201,保存单元1202。第一接收单元1201用于支持第一节点执行图9b中的过程S329,保存单元1202用于支持节点执行图9b中的过程S330。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。In the case of dividing each functional module corresponding to each function, FIG. 12 a shows a possible structural diagram of the node involved in the above embodiment, and the node includes: a first receiving unit 1201 and a saving unit 1202 . The first receiving unit 1201 is configured to support the first node to execute the process S329 in FIG. 9b, and the saving unit 1202 is configured to support the node to execute the process S330 in FIG. 9b. Wherein, all relevant content of each step involved in the above-mentioned method embodiment can be referred to the function description of the corresponding function module, and will not be repeated here.
在采用集成的单元的情况下,图12b示出了上述实施例中所涉及的节点的一种可能的结构示意图。节点120包括:处理模块1212和通信模块1213。处理模块1212用于对节点120的动作进行控制管理,例如,处理模块1212用于支持节点执行图9b中的过程S330和S331;和/或用于本文所描述的技术的其它过程。通信模块1213用于支持节点120与其他网络实体的通信,例如,与图8a和图9b中示出的功能模块或网络实体之间的通信(例如,目标节点和源节点),通信模块1213用于支持节点120接收第一广播消息以及接收文件句柄信息以及接收第一请求消息。节点120还可以包括存储模块1211,用于存储节点120的程序代码和数据。In the case of using integrated units, Fig. 12b shows a possible structural schematic diagram of the nodes involved in the above embodiments. The node 120 includes: a processing module 1212 and a communication module 1213 . The processing module 1212 is used to control and manage the actions of the node 120, for example, the processing module 1212 is used to support the node to execute the processes S330 and S331 in Fig. 9b; and/or other processes for the technologies described herein. The communication module 1213 is used to support the communication between the node 120 and other network entities, for example, communication with the functional modules or network entities shown in Figure 8a and Figure 9b (for example, the target node and the source node), the communication module 1213 uses The support node 120 receives the first broadcast message, receives the file handle information, and receives the first request message. The node 120 may also include a storage module 1211 for storing program codes and data of the node 120 .
其中,处理模块1212可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1213可以是收发器、收发电路或通信接口12002等。存储模块1211可以是存储器。Wherein, the processing module 1212 may be a processor or a controller, such as a central processing unit (Central Processing Unit, CPU), a general processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application-Specific Integrated Circuit, ASIC), Field Programmable Gate Array (Field Programmable Gate Array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute the various illustrative logical blocks, modules and circuits described in connection with the present disclosure. The processor may also be a combination of computing functions, for example, a combination of one or more microprocessors, a combination of DSP and a microprocessor, and so on. The communication module 1213 may be a transceiver, a transceiver circuit, or a communication interface 12002 and the like. The storage module 1211 may be a memory.
当处理模块1212为处理器,通信模块1213为通信接口12002,存储模块1211为存储器时,本发明实施例所涉及的节点可以为图12c所示的节点。When the processing module 1212 is a processor, the communication module 1213 is a communication interface 12002, and the storage module 1211 is a memory, the nodes involved in this embodiment of the present invention may be the nodes shown in FIG. 12c.
参阅图12c所示,该节点120包括:处理器12001、通信接口12002、存储器12003以及总线12004。其中,通信接口12002、处理器12001以及存储器12003通过总线12004相互连接;总线12004可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12c中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。Referring to FIG. 12 c , the node 120 includes: a processor 12001 , a communication interface 12002 , a memory 12003 and a bus 12004 . Wherein, the communication interface 12002, the processor 12001, and the memory 12003 are connected to each other through a bus 12004; the bus 12004 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, EISA) bus Wait. The bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 12c, but it does not mean that there is only one bus or one type of bus.
在采用对应各个功能划分各个功能模块的情况下,图13a示出了上述实施例中所涉及的客户端的一种可能的结构示意图,客户端包括:第一发送单元130,接收单元131以及第二发送单元132。第一发送单元130用于支持客户端执行图3中的过程S308,图5中的S308、图6中的S308,图8a中的S308和图9b中的S308,接收单元131用于支持客户端接收源节点发送的第一响应消息,第二发送单元,用于支持客户端执行图3中的过程S312、图5中的过程S312,图6中的过程S312、图8a中的过程S312以及图9b中的过程S312。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。In the case of dividing each functional module corresponding to each function, Fig. 13a shows a possible structural diagram of the client involved in the above embodiment, the client includes: a first sending unit 130, a receiving unit 131 and a second Sending unit 132. The first sending unit 130 is used to support the client to execute the process S308 in FIG. 3, S308 in FIG. 5, S308 in FIG. 6, S308 in FIG. 8a and S308 in FIG. Receive the first response message sent by the source node, and the second sending unit is used to support the client to execute the process S312 in FIG. 3, the process S312 in FIG. 5, the process S312 in FIG. 6, the process S312 in FIG. Process S312 in 9b. Wherein, all relevant content of each step involved in the above-mentioned method embodiment can be referred to the function description of the corresponding function module, and will not be repeated here.
在采用集成的单元的情况下,图13b示出了上述实施例中所涉及的客户端的一种可能的结构示意图。客户端130包括:处理模块1302和通信模块1303。处理模块1302用于对客户端130的动作进行控制管理,例如,处理模块1302用于支持客户端130执行图3中的过程S301、S303、S305、S308、S311、S312以及S313,图5中的过程S301、S303、S305、S308、S311、S312以及S313,图6中的过程S301、S303、S305、S308、S311、S312以及S313,图8a中的过程S301、S303、S305、S308、S311、S312以及S313,图9b中的过程S301、S303、S305、S308、S311、S312、S313以及S326;和/或用于本文所描述的技术的其它过程。通信模块1303用于支持客户端130与其他网络实体的通信,例如,与图8a和图9b中示出的功能模块或网络实体之间的通信(例如,目标节点和源节点)。客户端130还可以包括存储模块1301,用于存储客户端130的程序代码和数据。In the case of using an integrated unit, Fig. 13b shows a possible structural diagram of the client involved in the above embodiment. The client 130 includes: a processing module 1302 and a communication module 1303 . The processing module 1302 is used to control and manage the actions of the client 130. For example, the processing module 1302 is used to support the client 130 to execute the processes S301, S303, S305, S308, S311, S312 and S313 in FIG. Processes S301, S303, S305, S308, S311, S312 and S313, processes S301, S303, S305, S308, S311, S312 and S313 in Figure 6, processes S301, S303, S305, S308, S311, S312 in Figure 8a And S313, processes S301, S303, S305, S308, S311, S312, S313, and S326 in FIG. 9b; and/or other processes for the techniques described herein. The communication module 1303 is used to support the communication between the client 130 and other network entities, for example, communication with the functional modules or network entities shown in Fig. 8a and Fig. 9b (eg, target node and source node). The client 130 may also include a storage module 1301 for storing program codes and data of the client 130 .
其中,处理模块1302可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1303可以是收发器、收发电路或通信接口1312等。存储模块1301可以是存储器。Wherein, the processing module 1302 may be a processor or a controller, such as a central processing unit (Central Processing Unit, CPU), a general processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application-Specific Integrated Circuit, ASIC), Field Programmable Gate Array (Field Programmable Gate Array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute the various illustrative logical blocks, modules and circuits described in connection with the present disclosure. The processor may also be a combination of computing functions, for example, a combination of one or more microprocessors, a combination of DSP and a microprocessor, and so on. The communication module 1303 may be a transceiver, a transceiver circuit, or a communication interface 1312 and the like. The storage module 1301 may be a memory.
当处理模块1302为处理器,通信模块1303为通信接口1312,存储模块1301为存储器时,本发明实施例所涉及的节点可以为图13c所示的节点。When the processing module 1302 is a processor, the communication module 1303 is a communication interface 1312, and the storage module 1301 is a memory, the nodes involved in this embodiment of the present invention may be the nodes shown in FIG. 13c.
参阅图13c所示,该客户端130包括:处理器1311、通信接口1312、存储器1313以及总线1314。其中,通信接口1312、处理器1311以及存储器1313通过总线1314相互连接;总线1314可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13c中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。Referring to FIG. 13 c , the client 130 includes: a processor 1311 , a communication interface 1312 , a memory 1313 and a bus 1314 . Wherein, the communication interface 1312, the processor 1311 and the memory 1313 are connected to each other through a bus 1314; the bus 1314 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, EISA) bus Wait. The bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 13c, but it does not mean that there is only one bus or one type of bus.
本发明实施例提供一种集群系统,该客户端130中的各个组成部分具体可以参见图2a所示,包括源节点、节点以及目标节点,其中,目标节点采用如图11a-11c所示的节点,源节点采用如图10a-10c所示的节点,节点采用如图12a-12c所示的节点,客户端采用图13a-13c所示的客户端。The embodiment of the present invention provides a cluster system. The various components in the client 130 can be specifically referred to as shown in FIG. 2a, including source nodes, nodes and target nodes, wherein the target nodes are nodes as shown in FIGS. 11a-11c , the source node is the node shown in Figures 10a-10c, the node is the node shown in Figures 12a-12c, and the client is the client shown in Figures 13a-13c.
本发明实施例提供了一种计算机存储介质,用于储存为第一方面所描述的多会话通道方法所用的计算机软件指令,其包含用于执行第七方面的集群系统所设计的程序。An embodiment of the present invention provides a computer storage medium for storing computer software instructions used for the multi-session channel method described in the first aspect, which includes a program designed for executing the cluster system of the seventh aspect.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and brevity of description, only the division of the above-mentioned functional modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional modules according to needs. The internal structure of the device is divided into different functional modules to complete all or part of the functions described above. For the specific working process of the above-described system, device, and unit, reference may be made to the corresponding process in the foregoing method embodiments, and details are not repeated here.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。The above is only a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Anyone skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present invention. Should be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611093738.2A CN106790420B (en) | 2016-11-30 | 2016-11-30 | A kind of more session channel method for building up and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611093738.2A CN106790420B (en) | 2016-11-30 | 2016-11-30 | A kind of more session channel method for building up and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106790420A CN106790420A (en) | 2017-05-31 |
CN106790420B true CN106790420B (en) | 2019-11-26 |
Family
ID=58882756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611093738.2A Active CN106790420B (en) | 2016-11-30 | 2016-11-30 | A kind of more session channel method for building up and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106790420B (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10447586B2 (en) * | 2017-06-01 | 2019-10-15 | Zte Corporation | Defect detection in IP/MPLS network tunnels |
CN110445826B (en) * | 2018-05-04 | 2021-11-30 | 阿里巴巴集团控股有限公司 | Session information acquisition method, device and server |
CN108848195A (en) * | 2018-09-04 | 2018-11-20 | 山东浪潮云投信息科技有限公司 | A kind of method that cross-platform long-range connection carries out more network card bindings |
CN110493340B (en) * | 2019-08-21 | 2023-08-04 | 北京小米移动软件有限公司 | Conversation method and device in distributed system |
CN111262868B (en) * | 2020-01-17 | 2021-04-06 | 中国科学院计算技术研究所 | A kind of message sending method and receiving method based on intelligent network card |
CN111360269B (en) * | 2020-04-03 | 2022-05-06 | 浙江蓝天知识产权运营管理有限公司 | Multi-stage nanostructure reinforced laminated nickel-based composite material and preparation method thereof |
CN111901386B (en) * | 2020-06-30 | 2023-05-09 | 广东浪潮大数据研究有限公司 | Method, system, equipment and readable storage medium for processing remote files |
CN112469139B (en) * | 2020-12-02 | 2023-04-28 | 中国联合网络通信集团有限公司 | Network channel establishment system and method |
CN112506955B (en) * | 2020-12-10 | 2021-09-21 | 星环信息科技(上海)股份有限公司 | Query processing method, computer equipment and storage medium |
CN114968545A (en) * | 2021-02-24 | 2022-08-30 | 华为技术有限公司 | Network card, computing device and method for acquiring data |
CN113098857B (en) * | 2021-03-29 | 2022-06-28 | 西安微电子技术研究所 | Multi-channel communication method and system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571756A (en) * | 2010-12-06 | 2012-07-11 | 微软公司 | Multichannel connections in file system sessions |
CN102739411A (en) * | 2011-03-29 | 2012-10-17 | 微软公司 | provide certification services |
CN104125303A (en) * | 2014-08-12 | 2014-10-29 | 北京奇虎科技有限公司 | Data read-and-write requesting method, client end and data read-and-write requesting system |
CN105359105A (en) * | 2013-05-29 | 2016-02-24 | 微软技术许可有限责任公司 | Efficient programmatic memory access over network file access protocols |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9888064B2 (en) * | 2015-02-11 | 2018-02-06 | International Business Machines Corporation | Load-balancing input/output requests in clustered storage systems |
-
2016
- 2016-11-30 CN CN201611093738.2A patent/CN106790420B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571756A (en) * | 2010-12-06 | 2012-07-11 | 微软公司 | Multichannel connections in file system sessions |
CN102739411A (en) * | 2011-03-29 | 2012-10-17 | 微软公司 | provide certification services |
CN105359105A (en) * | 2013-05-29 | 2016-02-24 | 微软技术许可有限责任公司 | Efficient programmatic memory access over network file access protocols |
CN104125303A (en) * | 2014-08-12 | 2014-10-29 | 北京奇虎科技有限公司 | Data read-and-write requesting method, client end and data read-and-write requesting system |
Also Published As
Publication number | Publication date |
---|---|
CN106790420A (en) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106790420B (en) | A kind of more session channel method for building up and system | |
US10630784B2 (en) | Facilitating a secure 3 party network session by a network device | |
US11856065B2 (en) | Data transmission for service integration between a virtual private cloud and an intranet | |
US20220070095A1 (en) | Data transmission method and apparatus, network adapter, and storage medium | |
JP6569020B2 (en) | Networking technology | |
US9565167B2 (en) | Load balancing internet protocol security tunnels | |
JP5882353B2 (en) | Method and system for multi-connection in a file system session | |
EP2656552B1 (en) | Third party initiation of communications between remote parties | |
CN108650182A (en) | Network communication method, system, device, equipment and storage medium | |
US12052173B2 (en) | Executing workloads across multiple cloud service providers | |
US11968080B2 (en) | Synchronizing communication channel state information for high flow availability | |
US20110035413A1 (en) | Diameter bus communications between processing nodes of a network element | |
CN106571968B (en) | A service switching method and system | |
WO2025045112A1 (en) | Private network security authentication method, apparatus and system, and electronic device, storage medium and computer program product | |
WO2013120325A1 (en) | Browser-to-browser direct communication method, device and communication system | |
WO2023061158A1 (en) | Encryption and decryption method and apparatus, and computer-readable storage medium | |
US12245034B2 (en) | Secure and trusted peer-to-peer offline communication systems and methods | |
WO2015027931A1 (en) | Method and system for realizing cross-domain remote command | |
WO2025161794A1 (en) | Mobile-vehicle interconnection cross-network communication method, and assembly, system and storage medium | |
CN103650457A (en) | Detection method, device and terminal device of share access | |
WO2018058385A1 (en) | Network interworking method, network element, and system | |
CN110430478B (en) | Networking communication method, device, terminal equipment and storage medium | |
CN111314477A (en) | P2P communication method, system, home gateway, electronic device and storage medium | |
CN110161985A (en) | A kind of method and apparatus of the intelligent appliance security control based on CoAP agreement | |
CN106899635B (en) | Method and device for realizing fixed communication port of file transfer protocol data link |
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 |