CN116389545A - 一种数据交互的多通道连接方法、装置、设备、存储介质 - Google Patents
一种数据交互的多通道连接方法、装置、设备、存储介质 Download PDFInfo
- Publication number
- CN116389545A CN116389545A CN202310349937.9A CN202310349937A CN116389545A CN 116389545 A CN116389545 A CN 116389545A CN 202310349937 A CN202310349937 A CN 202310349937A CN 116389545 A CN116389545 A CN 116389545A
- Authority
- CN
- China
- Prior art keywords
- service
- service node
- data interaction
- client
- state
- 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.)
- Pending
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 116
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000002159 abnormal effect Effects 0.000 claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 6
- 241001362551 Samba Species 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- 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
-
- 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/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本申请公开了数据交互的多通道连接方法、装置、设备、存储介质,涉及分布式存储技术领域,包括:若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求;基于服务节点断连请求查询与位于目标服务节点的虚拟IP关联的所有服务节点,将服务状态为正常状态的服务节点作为待连接服务节点;基于客户端发送的数据交互请求将待连接服务节点与客户端进行TCP重连接,获取正常状态的TCP连接通路,以便通过TCP连接通路进行客户端与服务端的数据交互。检测服务节点的服务状态,将服务状态为异常状态的服务节点判断为发生虚拟IP漂移,断开所有服务节点的TCP连接。会与虚拟IP所在的正常节点重新建立TCP连接,进行数据交互。
Description
技术领域
本发明涉及分布式存储技术领域,特别涉及一种数据交互的多通道连接方法、装置、设备、存储介质。
背景技术
在分布式存储当中,客户端通过Samba挂载服务节点后,在客户端进入挂载目录,然后就可以向访问本地文件一样访问共享下的目录和文件。该过程需要一包一包的数据在客户端和服务器之间传输,每一包数据操作成功后都需要服务端给客户端进行反馈。Samba目前可以支持多通道连接,即在满足一定的条件下,客户端会和服务端建立多条tcp连接,从而提高客户端和服务端的报文传输能力,增大系统的吞吐量,提高Samba的读写性能。单通道和多通道示意图如图1所示:在目前的方案中,客户端会和服务端所有互通的网卡上建立连接,当客户端与服务端的两个网卡(网卡1,网卡2)都建立连接时,假设CTDB(ClusterTrivial Database,集群琐碎数据库)虚拟IP配置在网卡1上。当网卡1的虚拟IP发生漂移的时候,SMB(Server Messages Block,信息服务块)进程会断开通过网卡1的TCP连接,而不会断开通过网卡2的TCP连接。此时,客户端再有业务读写时,仍旧与该节点进行通信,而不会与虚拟IP所在的新节点进行通信。虚拟IP漂移一般发生在节点故障时候,此种情况下,SMB业务数据会继续与该故障节点交互,不符合我们的预期,容易造成业务数据异常,断流等问题。
综上,如何在SMB进程中,准确的断开客户端与服务端之间的异常连接,与非故障节点进行业务数据的交互,避免业务数据异常和断流是本领域有待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据交互的多通道连接方法、装置、设备、存储介质,能够在SMB进程中,准确的断开客户端与服务端之间的异常连接,与非故障节点进行业务数据的交互,避免业务数据异常和断流。其具体方案如下:
第一方面,本申请公开了一种数据交互的多通道连接方法,应用于服务端,包括:
若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求;
基于所述服务节点断连请求查询与位于所述目标服务节点的虚拟IP关联的所有服务节点,将服务状态为正常状态的服务节点作为待连接服务节点;
基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,获取正常状态的TCP连接通路,以便通过所述TCP连接通路进行所述客户端与所述服务端的数据交互。
可选的,所述若检测到目标服务节点的服务状态为异常状态时之前,还包括:
当接收到客户端发送的数据交互请求时,对目标服务节点中所述虚拟IP位于的目标网卡进行状态检测。
可选的,所述若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求,包括:
若检测到所述目标服务节点中所述目标网卡的服务状态为异常状态时,则断开所述目标服务节点中所有网卡的TCP连接。
可选的,所述将服务状态为正常状态的服务节点作为待连接服务节点,包括:
对服务状态为异常状态的服务节点进行剔除,获取正常状态的服务节点作为待连接服务节点,并将所述待连接服务节点中的待连接网卡信息保存至预设列表。
可选的,所述基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,包括:
基于预设列表中的待连接网卡信息确定待连接网卡,基于所述数据交互请求对所述待连接网卡与所述客户端进行多通道的TCP重连接。
可选的,所述基于预设列表中的待连接网卡信息确定待连接网卡之前,还包括:
建立所述客户端与所述服务端之间的初链接,以便接收文件系统控制请求;
基于所述文件系统控制请求查询预设列表,并返回所述预设列表至所述客户端。
第二方面,本申请公开了一种数据交互的多通道连接方法,应用于客户端,包括:
发送数据交互请求至服务端;
获取所述服务端针对所述数据交互请求建立的正常状态的TCP连接;
通过所述TCP连接与所述服务端进行数据交互。
第三方面,本申请公开了一种数据交互的多通道连接装置,应用于服务端,包括:
请求触发模块,用于若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求;
节点获取模块,用于基于所述服务节点断连请求查询与位于所述目标服务节点的虚拟IP关联的所有服务节点,将服务状态为正常状态的服务节点作为待连接服务节点;
数据交互模块,用于基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,获取正常状态的TCP连接通路,以便通过所述TCP连接通路进行所述客户端与所述服务端的数据交互。
第四方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的数据交互的多通道连接方法的步骤。
第五方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数据交互的多通道连接方法的步骤。
由此可见,本申请公开了一种数据交互的多通道连接方法,应用于服务端,包括:若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求;基于所述服务节点断连请求查询与位于所述目标服务节点的虚拟IP关联的所有服务节点,将服务状态为正常状态的服务节点作为待连接服务节点;基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,获取正常状态的TCP连接通路,以便通过所述TCP连接通路进行所述客户端与所述服务端的数据交互。可见,通过检测服务节点的服务状态,将服务状态为异常状态的服务节点判断为发生虚拟IP漂移,SMB进程主动断开通过该节点所有服务节点的TCP连接。并筛选服务状态为正常状态的服务节点,此时,再有客户端进行读写时,会与虚拟IP所在的正常节点重新建立TCP连接,进行数据交互,从而保证其他业务的正常运行,提升集群的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据交互的单通道连接与多通道连接示意图;
图2为本申请公开的一种数据交互的多通道连接方法流程图;
图3为本申请公开的一种具体的数据交互的多通道连接方法流程图;
图4为本申请公开的另一种数据交互的多通道连接方法流程图;
图5为本申请公开的一种数据交互的多通道连接装置结构示意图;
图6为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在分布式存储当中,客户端通过Samba挂载服务节点后,在客户端进入挂载目录,然后就可以向访问本地文件一样访问共享下的目录和文件。该过程需要一包一包的数据在客户端和服务器之间传输,每一包数据操作成功后都需要服务端给客户端进行反馈。Samba目前可以支持多通道连接,即在满足一定的条件下,客户端会和服务端建立多条tcp连接,从而提高客户端和服务端的报文传输能力,增大系统的吞吐量,提高Samba的读写性能。单通道和多通道示意图如图1所示:在目前的方案中,客户端会和服务端所有互通的网卡上建立连接,当客户端与服务端的两个网卡(网卡1,网卡2)都建立连接时,假设CTDB虚拟IP配置在网卡1上。当网卡1的虚拟IP发生漂移的时候,SMB进程会断开通过网卡1的TCP连接,而不会断开通过网卡2的TCP连接。此时,客户端再有业务读写时,仍旧与该节点进行通信,而不会与虚拟IP所在的新节点进行通信。虚拟IP漂移一般发生在节点故障时候,此种情况下,SMB业务数据会继续与该故障节点交互,不符合我们的预期,容易造成业务数据异常,断流等问题。
为此,本申请提供了一种数据交互的多通道连接方案,能够在SMB进程中,准确的断开客户端与服务端之间的异常连接,与非故障节点进行业务数据的交互,避免业务数据异常和断流。
参照图2所示,本发明实施例公开了一种数据交互的多通道连接方法,应用于服务端,包括:
步骤S11:若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求。
本实施例中,若检测到所述目标服务节点中所述目标网卡的服务状态为异常状态时,则断开所述目标服务节点中所有网卡的TCP连接。可以理解的是,通过在服务端修改代码逻辑,使检测到目标服务节点中的目标网卡服务状态为异常状态时,触发目标服务节点的服务节点断连请求,以便基于该请求及时断开目标服务节点中所有网卡的TCP连接。
本实施例中,所述若检测到目标服务节点的服务状态为异常状态时之前,还包括:当接收到客户端发送的数据交互请求时,对目标服务节点中所述虚拟IP位于的目标网卡进行状态检测。可以理解的是,由于不确定当前分布式存储系统在进行数据的读写过程中的服务节点均为正常状态的服务节点,因此,当接收到客户端发送的一个数据交互请求时,需要对之前已经连接的目标服务节点进行状态检测,需要注意的时,由于目标服务节点中可能存在多个目标网卡,因此需要对虚拟IP所在的目标网卡进行状态检测,避免当目标服务节点中只存在一个或者几个目标网卡的状态是存在异常的情况下,出现新的数据交互请求时,由于该目标服务节点中还存在正常状态的目标网卡,客户端依旧通过该目标服务节点进行TCP连接,因此,需要当接到数据交互请求时,立即对虚拟IP所在的目标网卡进行状态检测,一旦检测虚拟IP发生漂移时,也即该目标服务服务节点出现节点故障,立即与整个服务节点的TCP连接全部断开。避免使用异常状态的服务节点进行数据交互时造成业务数据异常以及断流等问题。
步骤S12:基于所述服务节点断连请求查询与位于所述目标服务节点的虚拟IP关联的所有服务节点,将服务状态为正常状态的服务节点作为待连接服务节点。
本实施例中,根据服务节点断连请求查询当前的虚拟IP关联的所有服务节点,可以理解的是,由于分布式存储结构中为了最大限度的利用到各个服务节点,减少服务节点资源的浪费,通常虚拟IP会关联多个服务节点,因此,当接收到数据交互请求时,不确定当前进行数据交互所利用的服务节点具体为虚拟IP关联的哪一个,因此,需要根据服务节点断连请求查询当前的虚拟IP关联的所有服务节点,并从所有服务节点中将服务状态为正常状态的服务节点作为待连接服务节点。
步骤S13:基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,获取正常状态的TCP连接通路,以便通过所述TCP连接通路进行所述客户端与所述服务端的数据交互。
本实施例中,当确定待连接服务节点之后,基于当前的数据交互请求,将待连接服务节点与客户端进行TCP重连接,以获取正常状态下的TCP连接通路,便于通过该正常状态的TCP连接通路进行客户端与服务端的数据交互。
由此可见,本申请公开了一种数据交互的多通道连接方法,应用于服务端,包括:若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求;基于所述服务节点断连请求查询与位于所述目标服务节点的虚拟IP关联的所有服务节点,将服务状态为正常状态的服务节点作为待连接服务节点;基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,获取正常状态的TCP连接通路,以便通过所述TCP连接通路进行所述客户端与所述服务端的数据交互。可见,通过检测服务节点的服务状态,将服务状态为异常状态的服务节点判断为发生虚拟IP漂移,SMB进程主动断开通过该节点所有服务节点的TCP连接。并筛选服务状态为正常状态的服务节点,此时,再有客户端进行读写时,会与虚拟IP所在的正常节点重新建立TCP连接,进行数据交互,从而保证其他业务的正常运行,提升集群的可靠性。
参照图3所示,本发明实施例公开了一种具体的数据交互的多通道连接方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
步骤S21:若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求。
步骤S22:基于所述服务节点断连请求查询与位于所述目标服务节点的虚拟IP关联的所有服务节点。
其中,步骤S21,S22中更加详细的处理过程请参照前述公开的实施例内容,在此不再进行赘述。
步骤S23:对服务状态为异常状态的服务节点进行剔除,获取正常状态的服务节点作为待连接服务节点,并将所述待连接服务节点中的待连接网卡信息保存至预设列表。
本实施例中,从虚拟IP关联的所有服务节点中确定出异常状态的服务节点,并将服务状态为异常状态的服务节点进行剔除,使剩余的服务节点均为正常状态的服务节点,也即正常状态的服务节点中的所有网卡均为正常状态的网卡,之后,将正常状态的服务节点中的网卡确定为待连接网卡,并将待连接网卡信息保存至预设列表interface中。相较于原方案中,Samba的客户端在挂载的协商阶段,会协商客户端和服务端是否都支持多通道能力,如果两端都具有多通道的能力,则在后期数据读写的过程中,会建立多通道连接;客户端和服务端建立连接之后,客户端会发送FSCTL请求,来查询服务端的interface列表;服务端接收到FSCTL请求之后,会根据自身的网络情况,返回给客户端自己的interface列表(此interface列表会包含服务端所有的网卡);当客户端有数据的读写时,客户端会根据服务端返回的interface列表,来创建每个网卡上的多通道连接。当客户端在发生数据读写的过程中,客户端会与服务端所有的网卡建立多通道连接,包括CTDB虚拟IP所在网卡和其他网卡;这样,当服务端发生故障时,CTDB虚拟IP进行漂移,SMB进程只会断开虚拟IP所在网卡的SMB连接,而不会主动断开其他网卡的SMB连接,此时,再有客户端进行数据读写时,依旧与该故障节点进行通信,可能会造成数据异常问题,影响客户正常使用。
步骤S24:基于所述预设列表中的所述待连接网卡信息确定待连接网卡,基于所述数据交互请求对所述待连接网卡与所述客户端进行多通道的TCP重连接,获取正常状态的TCP连接通路,以便通过所述TCP连接通路进行所述客户端与所述服务端的数据交互。
本实施例中,从预设列表中获取待连接网卡信息,然后利用待连接网卡信息确定待连接网卡,将待连接网卡与客户端进行多通道的TCP重连接,形成多通道的TCP连接,以便通过正常的TCP连接进行客户端与服务端的数据交互。
本实施例中,所述基于预设列表中的待连接网卡信息确定待连接网卡之前,还包括:建立所述客户端与所述服务端之间的初链接,以便接收文件系统控制请求;基于所述文件系统控制请求查询预设列表,并返回所述预设列表至所述客户端。可以理解的是,首先在协商阶段时,协商客户端与服务端之间是否都支持多通道通信,也即建立初链接,便于通过初链接发送或接收文件系统控制请求,然后根据文件系统控制请求查询并返回客户端一份预设列表,以便获取正常状态的服务节点中的待连接网卡信息。
由此可见,通过修改samba服务端的代码,当服务节点发生虚拟IP漂移时,SMB进程主动断开通过该服务节点所有网卡的SMB TCP连接。重新建立客户端与虚拟IP所在新服务节点的SMB TCP连接,该新服务节点为经过筛选后确定的正常状态的服务节点,无任何故障。此时,当客户端有数据读写时,直接与虚拟IP所在新的服务节点进行交互,不与故障节点进行数据交互,从而提高产品的稳定性,提升了产品竞争力。
参照图4所示,本发明实施例还公开了一种数据交互的多通道连接方法,应用于客户端,包括:
步骤S31:发送数据交互请求至服务端。
本实施例中,当需要进行数据读操作或者数据写操作时,向服务端发送一个数据交互请求。
步骤S32:获取所述服务端针对所述数据交互请求建立的正常状态的TCP连接。
本实施例中,接收服务端针对该数据交互请求确定的正常状态的服务节点,建立客户端与正常状态的服务节点之间的TCP连接,获取多通道的TCP连接。
步骤S33:通过所述TCP连接与所述服务端进行数据交互。
本实施例中,通过确定的多通道TCP连接与服务端进行数据交互,完成数据读或者数据写的数据交互请求。
由此可见,本申请公开了一种数据交互的多通道连接方法,应用于客户端,包括:发送数据交互请求至服务端;获取所述服务端针对所述数据交互请求建立的正常状态的TCP连接;通过所述TCP连接与所述服务端进行数据交互。可见,通过检测服务节点的服务状态,将服务状态为异常状态的服务节点判断为发生虚拟IP漂移,SMB进程主动断开通过该节点所有服务节点的TCP连接。并筛选服务状态为正常状态的服务节点,此时,再有客户端进行读写时,会与虚拟IP所在的正常节点重新建立TCP连接,进行数据交互,从而保证其他业务的正常运行,提升集群的可靠性。
参照图5所示,本发明实施例还相应公开了一种数据交互的多通道连接装置,应用于服务端,包括:
请求触发模块11,用于若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求;
节点获取模块12,用于基于所述服务节点断连请求查询与位于所述目标服务节点的虚拟IP关联的所有服务节点,将服务状态为正常状态的服务节点作为待连接服务节点;
数据交互模块13,用于基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,获取正常状态的TCP连接通路,以便通过所述TCP连接通路进行所述客户端与所述服务端的数据交互。
所述请求触发模块11,具体用于若检测到所述目标服务节点中所述目标网卡的服务状态为异常状态时,则断开所述目标服务节点中所有网卡的TCP连接。可以理解的是,通过在服务端修改代码逻辑,使检测到目标服务节点中的目标网卡服务状态为异常状态时,触发目标服务节点的服务节点断连请求,以便基于该请求及时断开目标服务节点中所有网卡的TCP连接。所述若检测到目标服务节点的服务状态为异常状态时之前,还包括:当接收到客户端发送的数据交互请求时,对目标服务节点中所述虚拟IP位于的目标网卡进行状态检测。可以理解的是,由于不确定当前分布式存储系统在进行数据的读写过程中的服务节点均为正常状态的服务节点,因此,当接收到客户端发送的一个数据交互请求时,需要对之前已经连接的目标服务节点进行状态检测,需要注意的时,由于目标服务节点中可能存在多个目标网卡,因此需要对虚拟IP所在的目标网卡进行状态检测,避免当目标服务节点中只存在一个或者几个目标网卡的状态是存在异常的情况下,出现新的数据交互请求时,由于该目标服务节点中还存在正常状态的目标网卡,客户端依旧通过该目标服务节点进行TCP连接,因此,需要当接到数据交互请求时,立即对虚拟IP所在的目标网卡进行状态检测,一旦检测虚拟IP发生漂移时,也即该目标服务服务节点出现节点故障,立即与整个服务节点的TCP连接全部断开。避免使用异常状态的服务节点进行数据交互时造成业务数据异常以及断流等问题。
所述节点获取模块12,具体用于根据服务节点断连请求查询当前的虚拟IP关联的所有服务节点,可以理解的是,由于分布式存储结构中为了最大限度的利用到各个服务节点,减少服务节点资源的浪费,通常虚拟IP会关联多个服务节点,因此,当接收到数据交互请求时,不确定当前进行数据交互所利用的服务节点具体为虚拟IP关联的哪一个,因此,需要根据服务节点断连请求查询当前的虚拟IP关联的所有服务节点,并从所有服务节点中将服务状态为正常状态的服务节点作为待连接服务节点。具体的,从虚拟IP关联的所有服务节点中确定出异常状态的服务节点,并将服务状态为异常状态的服务节点进行剔除,使剩余的服务节点均为正常状态的服务节点,也即正常状态的服务节点中的所有网卡均为正常状态的网卡,之后,将正常状态的服务节点中的网卡确定为待连接网卡,并将待连接网卡信息保存至预设列表interface中。相较于原方案中,Samba的客户端在挂载的协商阶段,会协商客户端和服务端是否都支持多通道能力,如果两端都具有多通道的能力,则在后期数据读写的过程中,会建立多通道连接;客户端和服务端建立连接之后,客户端会发送FSCTL请求,来查询服务端的interface列表;服务端接收到FSCTL请求之后,会根据自身的网络情况,返回给客户端自己的interface列表(此interface列表会包含服务端所有的网卡);当客户端有数据的读写时,客户端会根据服务端返回的interface列表,来创建每个网卡上的多通道连接。当客户端在发生数据读写的过程中,客户端会与服务端所有的网卡建立多通道连接,包括CTDB虚拟IP所在网卡和其他网卡;这样,当服务端发生故障时,CTDB虚拟IP进行漂移,SMB进程只会断开虚拟IP所在网卡的SMB连接,而不会主动断开其他网卡的SMB连接,此时,再有客户端进行数据读写时,依旧与该故障节点进行通信,可能会造成数据异常问题,影响客户正常使用。
所述数据交互模块13,具体用于当确定待连接服务节点之后,基于当前的数据交互请求,将待连接服务节点与客户端进行TCP重连接,以获取正常状态下的TCP连接通路,便于通过该正常状态的TCP连接通路进行客户端与服务端的数据交互。具体的,从预设列表中获取待连接网卡信息,然后利用待连接网卡信息确定待连接网卡,将待连接网卡与客户端进行多通道的TCP重连接,形成多通道的TCP连接,以便通过正常的TCP连接进行客户端与服务端的数据交互。所述基于预设列表中的待连接网卡信息确定待连接网卡之前,还包括:建立所述客户端与所述服务端之间的初链接,以便接收文件系统控制请求;基于所述文件系统控制请求查询预设列表,并返回所述预设列表至所述客户端。可以理解的是,首先在协商阶段时,协商客户端与服务端之间是否都支持多通道通信,也即建立初链接,便于通过初链接发送或接收文件系统控制请求,然后根据文件系统控制请求查询并返回客户端一份预设列表,以便获取正常状态的服务节点中的待连接网卡信息。
由此可见,本申请公开了若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求;基于所述服务节点断连请求查询与位于所述目标服务节点的虚拟IP关联的所有服务节点,将服务状态为正常状态的服务节点作为待连接服务节点;基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,获取正常状态的TCP连接通路,以便通过所述TCP连接通路进行所述客户端与所述服务端的数据交互。可见,通过检测服务节点的服务状态,将服务状态为异常状态的服务节点判断为发生虚拟IP漂移,SMB进程主动断开通过该节点所有服务节点的TCP连接。并筛选服务状态为正常状态的服务节点,此时,再有客户端进行读写时,会与虚拟IP所在的正常节点重新建立TCP连接,进行数据交互,从而保证其他业务的正常运行,提升集群的可靠性。
在一些具体实施方式中,所述数据交互的多通道连接装置,具体可以包括:
状态检测单元,用于当接收到客户端发送的数据交互请求时,对目标服务节点中所述虚拟IP位于的目标网卡进行状态检测。
在一些具体实施方式中,所述请求触发模块11,具体可以包括:
请求触发单元,用于若检测到所述目标服务节点中所述目标网卡的服务状态为异常状态时,则断开所述目标服务节点中所有网卡的TCP连接。
在一些具体实施方式中,所述节点获取模块12,具体可以包括:
节点获取单元,用于对服务状态为异常状态的服务节点进行剔除,获取正常状态的服务节点作为待连接服务节点,并将所述待连接服务节点中的待连接网卡信息保存至预设列表。
在一些具体实施方式中,所述数据交互模块13,具体可以包括:
数据交互单元,用于基于预设列表中的待连接网卡信息确定待连接网卡,基于所述数据交互请求对所述待连接网卡与所述客户端进行多通道的TCP重连接。
在一些具体实施方式中,所述数据交互的多通道连接装置,具体可以包括:
列表查询单元,用于建立所述客户端与所述服务端之间的初链接,以便接收文件系统控制请求;基于所述文件系统控制请求查询预设列表,并返回所述预设列表至所述客户端。
进一步的,本申请实施例还公开了一种电子设备,图6是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的数据交互的多通道连接方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数据交互的多通道连接方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数据交互的多通道连接方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据交互的多通道连接方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据交互的多通道连接方法,其特征在于,应用于服务端,包括:
若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求;
基于所述服务节点断连请求查询与位于所述目标服务节点的虚拟IP关联的所有服务节点,将服务状态为正常状态的服务节点作为待连接服务节点;
基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,获取正常状态的TCP连接通路,以便通过所述TCP连接通路进行所述客户端与所述服务端的数据交互。
2.根据权利要求1所述的数据交互的多通道连接方法,其特征在于,所述若检测到目标服务节点的服务状态为异常状态时之前,还包括:
当接收到客户端发送的数据交互请求时,对目标服务节点中所述虚拟IP位于的目标网卡进行状态检测。
3.根据权利要求2所述的数据交互的多通道连接方法,其特征在于,所述若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求,包括:
若检测到所述目标服务节点中所述目标网卡的服务状态为异常状态时,则断开所述目标服务节点中所有网卡的TCP连接。
4.根据权利要求1所述的数据交互的多通道连接方法,其特征在于,所述将服务状态为正常状态的服务节点作为待连接服务节点,包括:
对服务状态为异常状态的服务节点进行剔除,获取正常状态的服务节点作为待连接服务节点,并将所述待连接服务节点中的待连接网卡信息保存至预设列表。
5.根据权利要求4所述的数据交互的多通道连接方法,其特征在于,所述基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,包括:
基于预设列表中的待连接网卡信息确定待连接网卡,基于所述数据交互请求对所述待连接网卡与所述客户端进行多通道的TCP重连接。
6.根据权利要求5所述的数据交互的多通道连接方法,其特征在于,所述基于预设列表中的待连接网卡信息确定待连接网卡之前,还包括:
建立所述客户端与所述服务端之间的初链接,以便接收文件系统控制请求;
基于所述文件系统控制请求查询预设列表,并返回所述预设列表至所述客户端。
7.一种数据交互的多通道连接方法,其特征在于,应用于客户端,包括:
发送数据交互请求至服务端;
获取所述服务端针对所述数据交互请求建立的正常状态的TCP连接;
通过所述TCP连接与所述服务端进行数据交互。
8.一种数据交互的多通道连接装置,其特征在于,应用于服务端,包括:
请求触发模块,用于若检测到目标服务节点的服务状态为异常状态时,则触发服务节点断连请求;
节点获取模块,用于基于所述服务节点断连请求查询与位于所述目标服务节点的虚拟IP关联的所有服务节点,将服务状态为正常状态的服务节点作为待连接服务节点;
数据交互模块,用于基于客户端发送的数据交互请求将所述待连接服务节点与所述客户端进行TCP重连接,获取正常状态的TCP连接通路,以便通过所述TCP连接通路进行所述客户端与所述服务端的数据交互。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的数据交互的多通道连接方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的数据交互的多通道连接方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310349937.9A CN116389545A (zh) | 2023-03-30 | 2023-03-30 | 一种数据交互的多通道连接方法、装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310349937.9A CN116389545A (zh) | 2023-03-30 | 2023-03-30 | 一种数据交互的多通道连接方法、装置、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116389545A true CN116389545A (zh) | 2023-07-04 |
Family
ID=86964113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310349937.9A Pending CN116389545A (zh) | 2023-03-30 | 2023-03-30 | 一种数据交互的多通道连接方法、装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116389545A (zh) |
-
2023
- 2023-03-30 CN CN202310349937.9A patent/CN116389545A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107204901B (zh) | 一种提供、接收状态通知的计算机系统 | |
US8467303B2 (en) | Method and apparatus for preventing network conflict | |
CN107800565B (zh) | 巡检方法、装置、系统、计算机设备和存储介质 | |
CN113037560B (zh) | 业务流量切换方法及装置、存储介质、电子设备 | |
CN110750393B (zh) | 避免网络服务双机热备脑裂的方法、装置、介质和设备 | |
WO2007093072A1 (en) | Gateway for wireless mobile clients | |
CN108712457A (zh) | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 | |
CN113079098B (zh) | 路由更新的方法、装置、设备和计算机可读介质 | |
CN111258795B (zh) | 一种samba集群故障重连方法、装置、设备、介质 | |
CN111510480A (zh) | 一种请求发送方法、装置以及第一服务器 | |
CN116389545A (zh) | 一种数据交互的多通道连接方法、装置、设备、存储介质 | |
EP4344259A1 (en) | Session binding relationship processing method and apparatus, electronic device, and readable medium | |
CN109428821B (zh) | 服务器、管理互备设备路由的方法和存储介质 | |
CN114697339A (zh) | 集中式架构下的负载均衡方法及装置 | |
CN114422335A (zh) | 通信方法、装置、服务器及存储介质 | |
CN111130941B (zh) | 一种网络错误检测方法、装置以及计算机可读存储介质 | |
CN113722126A (zh) | 一种请求处理方法和装置 | |
CN111641664B (zh) | 一种爬虫设备业务请求方法、装置、系统和存储介质 | |
CN112350856A (zh) | 分布式服务签退方法及设备 | |
CN113157615B (zh) | 一种服务总线通信方法、电子设备以及计算机存储介质 | |
CN111464520B (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN115102854B (zh) | 微服务的远程过程调用路由管理控制方法、系统及设备 | |
CN113676502B (zh) | 应用服务访问方法、装置及存储介质 | |
CN110011767B (zh) | 用于tcp连接备份的方法和装置 | |
US20230139834A1 (en) | Asynchronous network inventory system |
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 |