CN116248585A - 一种通信方法、装置、设备及存储介质 - Google Patents
一种通信方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116248585A CN116248585A CN202310452271.XA CN202310452271A CN116248585A CN 116248585 A CN116248585 A CN 116248585A CN 202310452271 A CN202310452271 A CN 202310452271A CN 116248585 A CN116248585 A CN 116248585A
- Authority
- CN
- China
- Prior art keywords
- link
- card
- inter
- process communication
- links
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- 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/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种通信方法、装置、设备及存储介质,涉及通信技术领域。该方法包括:针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。在每张IB卡上均创建一个通信链路用于客户端与服务端对接,充分发挥每张IB卡的性能,当发生故障时通过链路切换,保证了客户端与服务端通信链路的可靠性,提升了服务端的稳定性。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种通信方法、装置、设备及存储介质。
背景技术
IB(Infiniband)卡用于客户端与服务端之间的数据传输,IB卡关系到通信的质量,如在分布式存储系统中,客户端通过IB卡与存储系统进行通信,完成数据的存取。但是,在高性能场景下,单张IB卡可能无法满足性能要求,如何保证通信的可靠性,充分发挥IB卡性能是目前亟需解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种通信方法、装置、设备及介质,能够充分发挥每个IB卡的性能,保证了客户端与服务端通信链路的可靠性。其具体方案如下:
第一方面,本申请公开了一种通信方法,包括:
针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;
从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;
通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。
可选的,所述针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路,包括:
在每张IB卡上,为客户端与服务端之间的每个进程间通信分别创建一条链路。
可选的,所述从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,包括:
利用一致性算法,根据不同进程间通信各自对应的所有链路为每个进程间通信选择出一条目标链路,使每个进程间通信至少对应一条链路状态为可用状态的链路,且不同进程间通信对应的链路状态为可用状态的链路均衡分布在不同IB卡上。
可选的,所述在每张IB卡上创建一条链路,包括:
通过在客户端挂载时开启定时扫描以收集IB卡信息;
根据收集到的IB卡信息,在每张IB卡上为所述进程间通信创建一条链路。
可选的,所述从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信,包括:
利用一致性算法根据不同进程间通信各自对应的所有处于备用状态的链路,为故障IB卡上每个处于可用状态的目标链路选择一条对应的替换链路,将所述替换链路作为所述新目标链路承接对应的进程间通信。
可选的,所述当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信之后,还包括:
通过定时器按照预设周期定时对所述IB卡进行状态检测,当所述IB卡故障恢复时重新将所述目标链路的链路状态设置为可用状态,并将所述新目标链路的链路状态设置为备用状态。
可选的,所述当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信,包括:
当所述目标链路对应的IB卡故障时,从所述进程间通信对应的所有处于所述备用状态的链路中选择一条新目标链路;
将所述新目标链路的链路状态修改为可用状态,并将原目标链路的链路状态修改为备用状态,以便利用所述新目标链路承接所述进程间通信。
第二方面,本申请公开了一种通信装置,包括:
链路创建模块,用于针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;
链路状态配置模块,用于从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;
链路切换模块,用于通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的通信方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的通信方法。
本申请中,针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。可见,在每张IB卡上均创建一个通信链路用于客户端与服务端对接,充分发挥每张IB卡的性能,实现基于多链路的多IB卡通信;通过为进程间通信在每个IB卡都创建一条链路,并从多条链路之间选择一条作为可用状态,其他链路作为备用状态,当发生故障时通过链路切换,保证了客户端与服务端间至少有一个IB卡工作,充分发挥每个IB卡性能的同时,也保证了客户端与服务端通信链路的可靠性,提升了服务端的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种通信方法流程图;
图2为本申请提供的一种具体的通信方法流程图;
图3为本申请提供的一种通信装置结构示意图;
图4为本申请提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,IB卡用于客户端与服务端之间的数据传输,IB卡关系到通信的质量,如在分布式存储系统中,客户端通过IB卡与存储系统进行通信,完成数据的存取。但是,在高性能场景下,单张IB卡可能无法满足性能要求,如何保证通信的可靠性,充分发挥IB卡性能是目前亟需解决的问题。为克服上述技术问题,本申请提出一种通信方法,能够充分发挥每个IB卡的性能,保证了客户端与服务端通信链路的可靠性。
本申请实施例公开了一种通信方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路。
本实施例中,首选在每张IB卡上为客户端与服务端之间的进程间通信创建一条链路,例如若有N张IB卡负责客户端与服务端之间的数据传输,则在这N张IB卡上均创建一条通信链路,得到N条通信链路。
本实施例中,所述在每张IB卡上创建一条链路,可以包括:通过在客户端挂载时开启定时扫描以收集IB卡信息;根据收集到的IB卡信息,在每张IB卡上为所述进程间通信创建一条链路。即客户端挂载时开启定时扫描功能,通过扫描收集相关的IB卡信息,然后客户端依据收集到的IB卡信息,分别在每个IB卡上都建立一条用于支持进程间通信的链接。
步骤S12:从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态。
本实施例中,针对进程间通信在每张IB卡上创建一条链路后,从该进程间通信对应的所有链路中选择出一条目标链路,然后通过链路状态配置,将目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态,即虽然该进程间通信创建了多条通信链路,但实际数据传输时只会用到一条链路,本实施例中通过配置链路状态,链路状态包括可用状态(active)和备用状态(standby),在通信时会自动选择链路状态为可用状态的链路进行数据传输,而链路状态设置为备用状态的链路在客户端看来是不可用的。
步骤S13:通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。
本实施例中,利用目标链路支持上述进程间通信,当目标链路对应的IB卡故障时,即目标链路无法正常使用时,为了保证通信的可靠性,从该进程间通信对应的所有处于备用状态的链路中重新选择一条链路作为新目标链路,即进行链路切换,由原目标链路切换至新目标链路,然后利用新目标链路承接进程间通信,此时选择的新目标链路所在的IB卡是正常的。通过创建多条链路保证通信的可靠性,以及故障时,数据的及时切换,保证应用程序的实时响应。
本实施例中,所述当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信,可以包括:当所述目标链路对应的IB卡故障时,从所述进程间通信对应的所有处于所述备用状态的链路中选择一条新目标链路;将所述新目标链路的链路状态修改为可用状态,并将原目标链路的链路状态修改为备用状态,以便利用所述新目标链路承接所述进程间通信。即通过修改链路状态实现链路切换,具体将新目标链路的链路状态由备用状态修改为可用状态,将原目标链路的链路状态由可用状态修改为备用状态。由此,基于多链路的多IB卡通信,通过软件处理,对每个IB卡创建一条通信链路,来保持多条链路,同时将其中一条链路设置为可用状态,剩余的链路设置为备用状态,充分发挥了多IB卡的性能,在故障时,就会把链路重新分配到正常的IB上,提升了客户端与存服务端通信链路的可靠性,保证了在故障场景下客户端的可靠性,提升存储系统的产品竞争力。
本实施例中,所述当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信之后,还可以包括:通过定时器按照预设周期定时对所述IB卡进行状态检测,当所述IB卡故障恢复时重新将所述目标链路的链路状态设置为可用状态,并将所述新目标链路的链路状态设置为备用状态。通过定时器,定时扫描每个IB卡的状态,当IB卡故障恢复时,重新将对应的链路状态设置为IB状态,即新将上述目标链路的链路状态由备用状态修改为可用状态,并将上述新目标链路的链路状态由可用状态修改为备用状态。
由上可见,本实施例中针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。可见,在每张IB卡上均创建一个通信链路用于客户端与服务端对接,充分发挥每张IB卡的性能,实现基于多链路的多IB卡通信;通过为进程间通信在每个IB卡都创建一条链路,并从多条链路之间选择一条作为可用状态,其他链路作为备用状态,当发生故障时通过链路切换,保证了客户端与服务端间至少有一个IB卡工作,充分发挥每个IB卡性能的同时,也保证了客户端与服务端通信链路的可靠性,提升了服务端的稳定性。
本申请实施例公开了一种具体的通信方法,参见图2所示,该方法可以包括以下步骤:
步骤S21:在每张IB卡上,为客户端与服务端之间的每个进程间通信分别创建一条链路。
步骤S22:利用一致性算法,根据不同进程间通信各自对应的所有链路为每个进程间通信选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态。
即当客户端与服务端存在多个进程需要交换数据时,每个进程间通信都对应一条可用状态的链路,以M个进程间通信和N个IB卡为例,每个IB卡上都创建有每个进程间通信对应的链路,即每个IB卡上均创建了M条链路,这M条链路分别为M个进程间通信对应的链路,为了防止所有进程间通信使用的目标链路(即处于可用状态的链路)都在同一个IB卡或某几个IB卡上,本实施例中采用一致性算法,将不同进程间通信对应的目标链路均衡在不同的IB卡上,使每个进程间通信至少对应一条链路状态为可用状态的链路,且不同进程间通信对应的链路状态为可用状态的链路均衡分布在不同IB卡上。
也就是说,当客户端与服务端存在多个进程需要交换数据时,依据一致性算法,选择一条链路设置为可用状态,将其他的链路设置为备用状态,正常通信时,链路为可用状态的链路均衡到不同的IB卡上,由此将一部分进程的通信放在一张卡上,而将另外一部分数据的通信放在另外一张卡上,每张IB卡均有数据流量,且基本上是均衡的,由此一来,能够充分发挥每个IB卡的性能。
可见,对客户端使用的每个IB卡,均创建一条链路,这样对于多个IB卡,将会创建多条链路,并将其中一条链路设置为可用状态,剩余的链路设置为备用状态。同时,利用一致性算法,将客户端与服务端之间的所有可用链路均衡到不同的IB卡上,在正常情况下,每个IB卡均有数据流量,且基本上是均衡的。
步骤S23:通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。
可以理解的是,在实际操作中,对于每条链路而言,均是可以通信的,正常情况下,通过一致性算法,选择其中的一条链路进行通信,其他链路处于备用状态。在故障场景下,某些处于备用状态的链路就会变成可用状态。在故障场景恢复之后,通过一致性算法,重新将可用状态的链路均衡到不同的IB卡上。这样,既保证了正常情况下,使用所有的IB卡进行通信,又保证了在故障场景下,客户端通信链路的可靠性。
本实施例中,所述从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信,可以包括:利用一致性算法根据不同进程间通信各自对应的所有处于备用状态的链路,为故障IB卡上每个处于可用状态的目标链路选择一条对应的替换链路,将所述替换链路作为所述新目标链路承接对应的进程间通信。即初始目标链路选择时是按照一致性算法将用于数据传输的目标链路均衡在不同的IB卡上,而IB卡故障时需要切换链路以保证通信的可靠性,此时为了依旧保持不同IB卡上传输压力均衡,再次采用一致性算法来进行替换链路的选择。
其中,关于上述步骤S23的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
由上可见,本实施例中在每张IB卡上,为客户端与服务端之间的每个进程间通信分别创建一条链路;利用一致性算法,根据不同进程间通信各自对应的所有链路为每个进程间通信选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态,使每个进程间通信至少对应一条链路状态为可用状态的链路,且不同进程间通信对应的链路状态为可用状态的链路均衡分布在不同IB卡上。由此可见,通过对每张IB卡创建一条通信链路,并对链路状态进行配置,可用状态的链路为正在使用的,备用状态的链路为待命链路,同时将可用状态链路均衡到不同的IB卡上,保证每张IB卡都能发挥各自性能。在故障场景下,通过链路状态切换,也保证了通信链路的可靠性,提升存储系统的稳定性。
相应的,本申请实施例还公开了一种通信装置,参见图3所示,该装置包括:
链路创建模块11,用于针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;
链路状态配置模块12,用于从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;
链路切换模块13,用于通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。
由上可见,本实施例中针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。可见,在每张IB卡上均创建一个通信链路用于客户端与服务端对接,充分发挥每张IB卡的性能,实现基于多链路的多IB卡通信;通过为进程间通信在每个IB卡都创建一条链路,并从多条链路之间选择一条作为可用状态,其他链路作为备用状态,当发生故障时通过链路切换,保证了客户端与服务端间至少有一个IB卡工作,充分发挥每个IB卡性能的同时,也保证了客户端与服务端通信链路的可靠性,提升了服务端的稳定性。
在一些具体实施例中,所述链路创建模块11具体可以包括:
链路创建单元,用于在每张IB卡上,为客户端与服务端之间的每个进程间通信分别创建一条链路。
在一些具体实施例中,所述链路状态配置模块12具体可以包括:
目标链路选择单元,用于利用一致性算法,根据不同进程间通信各自对应的所有链路为每个进程间通信选择出一条目标链路,使每个进程间通信至少对应一条链路状态为可用状态的链路,且不同进程间通信对应的链路状态为可用状态的链路均衡分布在不同IB卡上。
在一些具体实施例中,所述链路创建模块11具体可以包括:
卡信息收集单元,用于通过在客户端挂载时开启定时扫描以收集IB卡信息;
链路创建单元,用于根据收集到的IB卡信息,在每张IB卡上为所述进程间通信创建一条链路。
在一些具体实施例中,所述链路切换模块13具体可以包括:
替换链路选择单元,用于利用一致性算法根据不同进程间通信各自对应的所有处于备用状态的链路,为故障IB卡上每个处于可用状态的目标链路选择一条对应的替换链路,将所述替换链路作为所述新目标链路承接对应的进程间通信。
在一些具体实施例中,所述通信装置具体还可以包括:
定时检测单元,用于通过定时器按照预设周期定时对所述IB卡进行状态检测,当所述IB卡故障恢复时重新将所述目标链路的链路状态设置为可用状态,并将所述新目标链路的链路状态设置为备用状态。
在一些具体实施例中,所述链路切换模块13具体可以包括:
新目标链路选择单元,用于当所述目标链路对应的IB卡故障时,从所述进程间通信对应的所有处于所述备用状态的链路中选择一条新目标链路;
链路状态修改单元,用于将所述新目标链路的链路状态修改为可用状态,并将原目标链路的链路状态修改为备用状态,以便利用所述新目标链路承接所述进程间通信。
进一步的,本申请实施例还公开了一种电子设备,参见图4所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图4为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行。
所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。在每张IB卡上,为客户端与服务端之间的每个进程间通信分别创建一条链路。利用一致性算法,根据不同进程间通信各自对应的所有链路为每个进程间通信选择出一条目标链路,使每个进程间通信至少对应一条链路状态为可用状态的链路,且不同进程间通信对应的链路状态为可用状态的链路均衡分布在不同IB卡上。通过在客户端挂载时开启定时扫描以收集IB卡信息;根据收集到的IB卡信息,在每张IB卡上为所述进程间通信创建一条链路。利用一致性算法根据不同进程间通信各自对应的所有处于备用状态的链路,为故障IB卡上每个处于可用状态的目标链路选择一条对应的替换链路,将所述替换链路作为所述新目标链路承接对应的进程间通信。通过定时器按照预设周期定时对所述IB卡进行状态检测,当所述IB卡故障恢复时重新将所述目标链路的链路状态设置为可用状态,并将所述新目标链路的链路状态设置为备用状态。当所述目标链路对应的IB卡故障时,从所述进程间通信对应的所有处于所述备用状态的链路中选择一条新目标链路;将所述新目标链路的链路状态修改为可用状态,并将原目标链路的链路状态修改为备用状态,以便利用所述新目标链路承接所述进程间通信。由此,在每张IB卡上均创建一个通信链路用于客户端与服务端对接,充分发挥每张IB卡的性能,实现基于多链路的多IB卡通信;通过为进程间通信在每个IB卡都创建一条链路,并从多条链路之间选择一条作为可用状态,其他链路作为备用状态,当发生故障时通过链路切换,保证了客户端与服务端间至少有一个IB卡工作,充分发挥每个IB卡性能的同时,也保证了客户端与服务端通信链路的可靠性,提升了服务端的稳定性。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括链路状态在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的通信方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,具体实现以下步骤:针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。在每张IB卡上,为客户端与服务端之间的每个进程间通信分别创建一条链路。利用一致性算法,根据不同进程间通信各自对应的所有链路为每个进程间通信选择出一条目标链路,使每个进程间通信至少对应一条链路状态为可用状态的链路,且不同进程间通信对应的链路状态为可用状态的链路均衡分布在不同IB卡上。由此,在每张IB卡上均创建一个通信链路用于客户端与服务端对接,充分发挥每张IB卡的性能,实现基于多链路的多IB卡通信;通过为进程间通信在每个IB卡都创建一条链路,并从多条链路之间选择一条作为可用状态,其他链路作为备用状态,当发生故障时通过链路切换,保证了客户端与服务端间至少有一个IB卡工作,充分发挥每个IB卡性能的同时,也保证了客户端与服务端通信链路的可靠性,提升了服务端的稳定性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种通信方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种通信方法,其特征在于,包括:
针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;
从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;
通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。
2.根据权利要求1所述的通信方法,其特征在于,所述针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路,包括:
在每张IB卡上,为客户端与服务端之间的每个进程间通信分别创建一条链路。
3.根据权利要求2所述的通信方法,其特征在于,所述从所述进程间通信对应的所有链路中选择出一条目标链路,包括:
利用一致性算法,根据不同进程间通信各自对应的所有链路为每个进程间通信选择出一条目标链路,使每个进程间通信至少对应一条链路状态为可用状态的链路,且不同进程间通信对应的链路状态为可用状态的链路均衡分布在不同IB卡上。
4.根据权利要求1所述的通信方法,其特征在于,所述在每张IB卡上创建一条链路,包括:
通过在客户端挂载时开启定时扫描以收集IB卡信息;
根据收集到的IB卡信息,在每张IB卡上为所述进程间通信创建一条链路。
5.根据权利要求1所述的通信方法,其特征在于,所述从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信,包括:
利用一致性算法根据不同进程间通信各自对应的所有处于备用状态的链路,为故障IB卡上每个处于可用状态的目标链路选择一条对应的替换链路,将所述替换链路作为所述新目标链路承接对应的进程间通信。
6.根据权利要求1所述的通信方法,其特征在于,所述当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信之后,还包括:
通过定时器按照预设周期定时对所述IB卡进行状态检测,当所述IB卡故障恢复时重新将所述目标链路的链路状态设置为可用状态,并将所述新目标链路的链路状态设置为备用状态。
7.根据权利要求1至6任一项所述的通信方法,其特征在于,所述当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信,包括:
当所述目标链路对应的IB卡故障时,从所述进程间通信对应的所有处于所述备用状态的链路中选择一条新目标链路;
将所述新目标链路的链路状态修改为可用状态,并将原目标链路的链路状态修改为备用状态,以便利用所述新目标链路承接所述进程间通信。
8.一种通信装置,其特征在于,包括:
链路创建模块,用于针对客户端与服务端之间的进程间通信在每张IB卡上创建一条链路;
链路状态配置模块,用于从所述进程间通信对应的所有链路中选择出一条目标链路,并将所述目标链路的链路状态设置为可用状态,其余链路的链路状态设置为备用状态;
链路切换模块,用于通过所述目标链路承接所述进程间通信,并当所述目标链路对应的IB卡故障时,从处于所述备用状态的链路中重新选择一条链路作为新目标链路承接所述进程间通信。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的通信方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310452271.XA CN116248585A (zh) | 2023-04-21 | 2023-04-21 | 一种通信方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310452271.XA CN116248585A (zh) | 2023-04-21 | 2023-04-21 | 一种通信方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116248585A true CN116248585A (zh) | 2023-06-09 |
Family
ID=86635229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310452271.XA Pending CN116248585A (zh) | 2023-04-21 | 2023-04-21 | 一种通信方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116248585A (zh) |
-
2023
- 2023-04-21 CN CN202310452271.XA patent/CN116248585A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112118565B (zh) | 多租户服务灰度发布方法、装置、计算机设备和存储介质 | |
CN108847982B (zh) | 一种分布式存储集群及其节点故障切换方法和装置 | |
US10972336B2 (en) | Technique for resolving a link failure | |
JP2019502202A (ja) | 分散記憶システムをアップグレードするための方法および装置 | |
CN109391655A (zh) | 服务灰度发布方法、装置、系统及存储介质 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN110391940A (zh) | 服务地址的响应方法、装置、系统、设备和存储介质 | |
CN109254876A (zh) | 云计算系统中数据库的管理方法和装置 | |
CN111654384A (zh) | 一种主备切换方法、bras设备及存储介质 | |
US11582101B2 (en) | Update of programmable for computing nodes | |
CN112787918B (zh) | 一种基于服务路由树的数据中心寻址与主备切换方法 | |
CN110620798A (zh) | Ftp连接的控制方法、系统、设备和存储介质 | |
CN112069154A (zh) | etcd分布式数据库自动运维方法及相关装置 | |
CN116260827A (zh) | 一种集群中领导者的选举方法、选举系统及相关装置 | |
CN116248585A (zh) | 一种通信方法、装置、设备及存储介质 | |
TW201447599A (zh) | 保留及執行本機計算裝置的影像寫入之技術 | |
CN116346834A (zh) | 一种会话同步方法、装置、计算设备及计算机存储介质 | |
CN114697191A (zh) | 一种资源迁移方法、装置、设备及存储介质 | |
CN114422335A (zh) | 通信方法、装置、服务器及存储介质 | |
CN110890989A (zh) | 一种通道连接方法及装置 | |
CN115865667B (zh) | 一种网络切换方法、装置、设备及存储介质 | |
CN114153655A (zh) | 容灾系统创建方法、容灾方法、装置、设备及介质 | |
CN116389545A (zh) | 一种数据交互的多通道连接方法、装置、设备、存储介质 | |
CN116737185A (zh) | 一种镜像加载方法、装置、设备及介质 | |
CN113962813A (zh) | 一种交易冲正方法、装置、服务系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |