CN115801642A - 基于状态控制的rdma通讯管理模块、方法、设备及介质 - Google Patents

基于状态控制的rdma通讯管理模块、方法、设备及介质 Download PDF

Info

Publication number
CN115801642A
CN115801642A CN202310103100.6A CN202310103100A CN115801642A CN 115801642 A CN115801642 A CN 115801642A CN 202310103100 A CN202310103100 A CN 202310103100A CN 115801642 A CN115801642 A CN 115801642A
Authority
CN
China
Prior art keywords
rdma
channel
state
rdma channel
management module
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.)
Granted
Application number
CN202310103100.6A
Other languages
English (en)
Other versions
CN115801642B (zh
Inventor
苏龙成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Fanlian Information Technology Co ltd
Original Assignee
Shenzhen Fanlian Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Fanlian Information Technology Co ltd filed Critical Shenzhen Fanlian Information Technology Co ltd
Priority to CN202310103100.6A priority Critical patent/CN115801642B/zh
Publication of CN115801642A publication Critical patent/CN115801642A/zh
Application granted granted Critical
Publication of CN115801642B publication Critical patent/CN115801642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及数据中心存储技术领域,公开了一种基于状态控制的RDMA通讯管理模块、方法、电子设备及介质,基于RDMA通道的心跳机制结合HB网络,叠加对RDMA通道的状态监测,设计RDMA通讯管理模块,将所述RDMA通讯管理模块按集群节点网络配置,并建立点对点RDMA通道和相应的心跳监控,其中,所述RDMA通讯管理模块包括分别设置在业务层的业务模块、设置在通讯服务层的RDMA通道管理模块、设置在通讯协议层的RDMA HB模块。本发明完善了RDMA通道的状态控制和转换,提供了在线重建连接的能力,不再需要通过重启业务客户端来重建连接使用。

Description

基于状态控制的RDMA通讯管理模块、方法、设备及介质
技术领域
本发明涉及数据中心存储技术领域,具体涉及一种基于状态控制的RDMA通讯管理模块、方法、设备及介质。
背景技术
大数据时代已经到来,传统的TCP/IP通讯方式在数据包处理过程中,要经过操作系统及其他软件层,需要占用大量的服务器资源和内存总线带宽,数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制移动,这种方式已无法匹配海量数据传输需求。
RDMA 远程直接数据存取技术方式,作为一种新型的通讯方式,支持通过网络在两个系统中直接进行数据的内存拷贝,RDMA技术的主要特点包括:
CPU Offload:无需CPU干预,应用程序可以访问远程主机内存而不消耗远程主机中的任何CPU,远程主机内存能够被读取而不需要远程主机上的进程(或CPU)参与。远程主机的CPU的缓存(cache)不会被访问的内存内容所填充;
Kernel Bypass:RDMA 提供一个专有的 Verbs interface ,而不是传统的TCP/IPSocket interface,应用程序可以直接在用户态执行数据传输,不需要在内核态与用户态之间做上下文切换;
Zero Copy:每个应用程序都能直接访问集群中的设备的虚拟内存,这意味着应用程序能够直接执行数据传输,在不涉及到网络软件栈的情况下,数据能够被直接发送到缓冲区或者能够直接从缓冲区里接收,而不需要被复制到网络层。
通过上述的技术特点,使得RDMA技术具备高带宽、低延迟等特点,成为海量数据传输的新希望和焦点。
而为了保证高性能,RDMA技术对网络有苛刻要求,要求无损网络、不丢包,即使网络有异常,也需要快速监测和剔除,避免影响全局;而为了高性能,RDMA通道本身采用无状态设计,包括read、write和atomic等基本操作,只需要本端明确信息的源和目的地址,远端应用不感知此次通信,而本端缺少直接的网络异常监测手段。在业界,通常采用在业务层面每个消息报文设置超时时间,通过超时机制间接监控RDMA通道状态。
由于RDMA对无损网络的高性能要求,以及RDMA传输本身的技术特征,使得直接监测通道非常困难,而通过消息超时机制由于与业务耦合,存在以下已知诸多问题:
1、业务消息包的超时设置,既要考虑消息本身的处理时长需要,也要兼顾快速监测出通道状态的需求,两者很难兼得,尤其对于一类批处理处理的业务消息,本身处理时长可能就需要分钟级别,基本不能监管实现快速监测出通道状态的异常;
2、存在很大的不确定,即发生网络故障(闪断、风暴)时,系统正在处理的消息包,很大程度影响、决定了监测通道异常的时间量级;
3、即使有了故障监测,无故障恢复自动重连等系统机制,需要重启业务客户端来重建通道连接,缺少对RDMA通道完善状态的全面管理。
发明内容
本发明提供一种基于状态控制的RDMA通讯管理方法、电子设备及介质,以解决上述问题。
本发明通过下述技术方案实现:
一种基于状态控制的RDMA通讯管理模块,所述RDMA通讯管理模块基于RDMA通道的心跳机制结合HB网络、叠加对RDMA通道的状态监测进行设置,将所述RDMA通讯管理模块按集群节点网络配置,并建立点对点RDMA通道和相应的心跳监控,其中,所述RDMA通讯管理模块包括分别设置在业务层的业务模块、设置在通讯服务层的RDMA通道管理模块、设置在通讯协议层的RDMA HB模块,所述RDMA HB模块通过RDMA通道发送心跳包和确认包给通讯层的RDMA内核,并通过接收所述RDMA内核返回的心跳包和确认包来判断所述RDMA通道是否正常,并将判断结果传输给RDMA通道管理模块,所述业务模块通过所述RDMA通道管理模块对所述RDMA通道进行状态查询并对该RDMA通道的通道状态进行相应的切换,所述RDMA通道管理模块根据所述判断结果对该RDMA通道以及该RMDA通道对应的资源进行相应的处理。
在业务层设置业务模块,主要是为了对RDMA通道的状态进行随时切换,便于对RDMA通道的状态进行控制,而业务模块的控制依据则是根据设置在通讯服务层的RDMA通道管理模块的信号进行相应的控制,若RDMA通道管理模块创建RDMA通道成功,业务模块将RDMA通道的状态设置成正常状态,若RDMA通道管理模块创建RDMA通道失败,业务模块将RDMA通道的状态设置成初始化状态;
而RDMA HB模块在RDMA通道创建成功后对该RDMA通道通过启动心跳包和确认包的发送和检测进行监测,监测RDMA通道的通断并将监测的信号反馈给RDMA通道管理模块,RDMA通道管理模块做出相应的动作,同时,实时将RDMA通道的通断情况传输给业务模块,业务模块根据实际情况控制RDMA通道的状态。
本发明还公开了一种使用上述的基于状态控制的RDMA通讯管理模块对RMDA通道的状态管理的管理方法,具体包括:
S1、初始化RDMA通道,所述业务模块将所述RDMA通道设置为初始化状态;
S2、所述RDMA通道管理模块获取集群节点的分布信息并创建进行通讯的RDMA通道,若RDMA通道创建失败时,所述RDMA通道继续处于初始化状态,若创建成功,所述业务模块将所述RDMA通道设置为正常状态,所述RDMA HB模块启动心跳包和确认包的发送和检测,周期性地监控所述RDMA通道的连接使用是否正常,若正常,则继续检测,若所述心跳包异常,跳转至S3;
S3、所述业务模块将所述RDMA通道的状态调整为降级状态,所述RDMA通道管理模块启动连通性质疑检测,并在指定的质疑时间内重新确认所述RDMA通道的状态,若所述RDMA通道在所述质疑时间内未能正常恢复,跳转至S4,否则,跳转至S5;
S4、所述业务模块将所述RDMA通道的状态调整为回收状态,所述RDMA通道管理模块将回收该回收状态的所述RDMA通道对应的资源,并在资源回收完以后将该回收状态的所述RDMA通道进行销毁,并将该RDMA通道设置为初始化状态;
S5、所述业务模块将所述RDMA通道的状态调整为正常状态并重建通道资源,所述RDMA通道管理模块销毁临时通道和资源。
作为优化,S3中,所述RDMA通道在降级状态下保留收包功能,且所述RDMA通道管理模块创建一个关于该降级状态的RDMA通道的临时RDMA通道进行新业务消息包地发送。
这样,在降级状态下使RDMA通道保留收包功能,当该RDMA通道恢复为正常状态后,可以使该RDMA通道继续发送消息包,创建一个临时的RDMA通道发送新业务消息包,这样可以使新业务消息包的收发不会因为该RDMA通道的状态改变而受到影响。
作为优化,S3中,所述RDMA通道在降级状态下保留收包功能,且上层的业务模块根据除该降级状态的RDMA通道以外的RDMA通道的冗余性,选择除该降级状态的RDMA通道以外的正常状态的RDMA通道进行新业务消息包地发送。
这样,当该RDMA通道变为降级状态后,业务模块控制其他的RDMA通道发送原本属于该RDMA通道的新业务消息包,可以使新业务消息包的收发不会因为该RDMA通道的状态改变而受到影响。
作为优化,所述心跳包为应答包,且所述心跳包包括怀疑与确认两个阶段。
这样,减少网络抖动对异常的误判。
作为优化,通过设置心跳包的优先级或建立专门的应答通道,所述应答通道与业务消息物理通道、软件应用相隔离,以减少业务消息排队堵塞心跳包应答的情况。
作为优化,S5中,若在质疑时间内所述RDMA通道的心跳包检测到所述RDMA通道恢复正常,则所述RDMA通道保持降级状态进入静默期,若在所述静默期内直到所述静默期结束,所述心跳包检测所述RDMA通道一直正常,则所述RDMA通道转为正常状态,进行文件的收发,否则,若在静默期期间,所述心跳包检测所述RDMA通道异常,则在下一次所述心跳包检测到所述RDMA通道恢复正常时,所述RDMA通道保持降级状态重新进入静默期。
这样,可以避免RDMA通道在正常状态和降级状态来回切换,导致该RDMA通道新业务消息包收发异常。
作为优化,所述RDMA通道的状态的切换,由所述RDMA通道管理模块通过消息的方式发布给业务模块,所述业务模块进行消息包发送的方式对所述RDMA通道调整。
本发明还公开了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的一种基于状态控制的RDMA通讯管理方法。
本发明还公开了一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种基于状态控制的RDMA通讯管理方法。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明通过设计心跳机制结合HB网络,极大地缩短了RDMA通道异常的监测时间,一般消息报文超时时间为60s,而心跳应答时间最小可以设置为1s,结合1个质疑周期(比如5个心跳周期),异常的超时监测时间由60s缩短为5s。
本发明完善了RDMA通道的状态控制和转换,提供了在线重建连接的能力,不再需要通过重启业务客户端来重建连接使用,做到了业务无感知的效果。
附图说明
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
图1为本发明所述的RDMA通讯管理模块的框架图;
图2为RDMA通道状态管理的设计流程图;
图3为RDMA通道的状态调整为降级状态后的流程图;
图4为本实施例中提到的电子设备的结构示意图。
实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
如图1所示,一种基于状态控制的RDMA通讯管理模块,RDMA通讯管理模块基于RDMA通道的心跳机制结合HB网络、叠加对RDMA通道的状态监测,将RDMA通讯管理模块按集群节点网络配置,并建立点对点RDMA通道和相应的心跳监控,其中,RDMA通讯管理模块包括分别设置在业务层的业务模块、设置在通讯服务层的RDMA通道管理模块、设置在通讯协议层的RDMA HB模块,RDMA HB模块通过RDMA通道发送心跳包和确认包给通讯层的RDMA内核,并通过接收RDMA内核返回的心跳包和确认包来判断RDMA通道是否正常,并将判断结果传输给RDMA通道管理模块,业务模块通过RDMA通道管理模块对RDMA通道进行状态查询并对该RDMA通道的通道状态进行相应的切换,RDMA通道管理模块根据判断结果对该RDMA通道以及该RMDA通道对应的资源进行相应的处理。
在业务层设置业务模块,主要是为了对RDMA通道的状态进行随时切换,便于对RDMA通道的状态进行控制,而业务模块的控制依据则是根据设置在通讯服务层的RDMA通道管理模块的信号进行相应的控制,若RDMA通道管理模块创建RDMA通道成功,业务模块将RDMA通道的状态设置成正常状态,若RDMA通道管理模块创建RDMA通道失败,业务模块将RDMA通道的状态设置成初始化状态;
而RDMA HB模块在RDMA通道创建成功后对该RDMA通道通过启动心跳包和确认包的发送和检测进行监测,监测RDMA通道的通断并将监测的信号反馈给RDMA通道管理模块,RDMA通道管理模块做出相应的动作,同时,实时将RDMA通道的通断情况传输给业务模块,业务模块根据实际情况控制RDMA通道的状态,具体的实现步骤,见下面实施例。
实施例
如图2-3所示,RDMA通道管理模块随业务集群启动,按集群节点网络配置,建立点对点RDMA通道和相应的心跳监控,启动周期新监测,监测周期可以根据业务系统的诉求调整,心跳包被设计为应答包,无业务内容需要处理,消除处理时间对通道异常的判读时间影响,心跳可以通过设计为怀疑加确认两个阶段,比如1次丢包通过5个确认包方式进行最终的异常确认,减少网络抖动对异常的误判。
可以通过设置心跳消息包优先级,或建立专门的应答通道,与业务消息物理通道、软件应用隔离,最大程度避免业务消息排队堵塞心跳包应答。
RDMA通道状态支持:初始化、正常、降级、回收等若干个状态。
具体的,使用实施例1对对RMDA通道的状态管理的管理方法包括如下步骤:
S1、初始化RDMA通道,业务模块将RDMA通道设置为初始化状态;RDMA通道管理模块部署在集群的各个节点,随集群节点上电启动,此时RDMA通道尚未建立连接通道,通道状态置为初始化状态。处于初始化状态的RDMA通道,不会从系统资源中分配通信所必需的资源(如RDMA内存资源/调度器等),为仅仅消耗几十字节的通道管理结构体,对系统消耗极少,一般这种通道管理结构体在系统启动时可以通过指定数量进行预留,在RDMA通道需替换时直接使用。
S2、RDMA通道管理模块获取集群节点的分布信息并创建进行通讯的RDMA通道,若RDMA通道创建失败时,RDMA通道继续处于初始化状态,若创建成功,业务模块将RDMA通道设置为正常状态,在正常状态下,RDMA通道所需的内存资源和专用调度器均已分配,同时建立对正常状态的RDMA通道状态进行健康监测,RDMA HB模块启动心跳包的发送和检测,周期性地监控RDMA通道的连接使用是否正常,若正常,则继续检测,若心跳包异常,跳转至S3;
当RDMA通道管理模块获取集群节点的分布信息,首先进行接受端和发送端握手,握手成功,两端分别建立通讯需要的RDMA通道并申请通道资源(系统内存资源/专用调度器等),如果成功创建通道和资源,则进行正常通信的资源已齐备,RDMA通道状态进入正常状态,代表RDMA通道连接成功,上层业务可以调用收发接口,通过RDMA通道收发消息,如果建立连接失败,则继续清理掉已申请的资源,继续只保留通道管理结构体,回到初始化状态。对于处于正常状态的RDMA通道,由RDMA HB模块启动心跳包的发送和检测,周期性监控RDMA通道的连接使用是否正常,确保RDMA通道出现异常,第一时间可以监测到。
S3、业务模块将RDMA通道的状态调整为降级状态,RDMA通道管理模块启动连通性质疑检测,并在指定的质疑时间内重新确认RDMA通道的状态,若RDMA通道在质疑时间内未能正常恢复,跳转至S4,否则,跳转至S5;
正常使用过程中如果出现心跳包异常(通常为本端心跳包发送失败或长时间未接收到远端发送的心跳包),RDMA通道的通道状态由正常调整为降级状态,并启动连通性质疑检测,并在指定的质疑时间内完成RDMA通道的通道状态确认。RDMA通道在降级状态下保留收包功能,RDMA通讯管理模块会为这个通道,创建一个临时的RDMA通道,新业务消息包通过临时的RDMA通道发送,避免由于使用降级状态的RDMA通道发送新消息,导致业务消息包堵塞;上层的业务模组也可以根据冗余性,选择其他正常的RDMA通道发送,不使用这个临时的RDMA通道。
在降级状态下RDMA通道保留收包功能,一方面是由于RDMA通道是否异常还未最终确认,另一方面是由于已发送的消息,还需要这个RDMA通道的上下文进行超时等异常处理,最后如果只是临时的网络故障(如网络闪断/风暴),那么临时故障排除后这个RDMA通道应恢复发包功能;创建一个临时的RDMA通道发送新业务消息包,或业务模块控制其他的RDMA通道发送原本属于该RDMA通道的新业务消息包,一方面对于降级状态的通道而言,不会因为额外的业务量而加重降级状态的通道压力,另一方面,对于业务而言,使用新的临时通道,可以尽可能使业务免受影响。
S4、业务模块将RDMA通道的状态调整为回收状态,RDMA通道管理模块将回收该回收状态的RDMA通道对应的资源,并在资源回收完以后将该回收状态的RDMA通道进行销毁,并将该RDMA通道设置为初始化状态;
处于降级状态的RDMA通道,在质疑时间(质疑时长可以根据业务需要配置,一般是秒级)内,未能正常恢复(本端即发送端的心跳包依旧发送失败,或本端依旧无法收到远端即接收端的心跳包),RDMA通道的通道状态由降级状态调整为回收状态,此时RDMA通道停止基本的收包功能,并在后台启动对该回收状态的RDMA通道的销毁以及对应资源(前述的内存资源/调度器)的回收,当系统对该RDMA通道资源完成回收后,会销毁掉该RDMA通道,该RDMA通道状态由回收状态切换为初始化状态。对于系统而言,资源是有限的,长期运行过程中,RDMA通道资源会处于初始化到销毁的动态过程,因此对RDMA通道资源必须正常进行回收和分配,防止系统资源耗尽。
S5、业务模块将RDMA通道的状态调整为正常状态并重建通道资源,RDMA通道管理模块销毁临时通道和资源。
如果在质疑时间内RDMA通道恢复正常,为了避免链路闪断,导致RDMA通道的通道状态反复在降级状态和正常状态之间切换,消耗系统预留的通道资源,因此需要设计抑制闪断的静默期。通常的链路闪断,可能达到几十秒和分钟级别,静默期设置应该能覆盖一到二个闪断周期,这样在静默期内,降级状态的RDMA通道始终保持现有状态,避免了降级状态和正常状态的反复切换,导致频繁申请临时RDMA通道资源/耗尽系统资源的问题。降级状态的RDMA通道,在通过一个静默期,始终能保持正常通信,则此时才将通道状态由降级状态恢复到正常状态,整个状态切换过程,只会消耗一个临时的RDMA通道资源和所需系统资源,不会产生和消耗多个临时通道资源。当RDMA通道的通道状态由降级最终调整为正常状态,RDMA通道管理模块需销毁临时的RDMA通道和资源。
RDMA通道异常通过人工介入恢复(一般是网络故障,比如端口故障/交换机故障等器件故障)和自动方式恢复(一般是链路闪断或网络风暴等临时故障)后,故障恢复的发送端或接收端申请重新加入集群,处理策略同RDMA通讯管理模块启动流程一致,RDMA通道管理模块在确认异常资源回收完成后,将RDMA通道的通道状态由回收状态切换为初始化状态,在重建连接RDMA通道和申请通道资源成功后,将RDMA通道的通道状态由初始化调整为正常状态。
而具体的,RDMA通道的通道状态的切换,由RDMA通道管理模块通过消息的方式发布给业务模块,业务模块通过消息包发送的方式进行RDMA通道地调整。
实施例
一种电子设备,如图4所示,包括至少一个处理器101,以及与至少一个处理器101通信连接的存储器102;其中,存储器102存储有可被至少一个处理器101执行的指令,指令被至少一个处理器101执行,以使至少一个处理器101能够执行如上述的一种基于状态控制的RDMA通讯管理方法。
其中,存储器102和处理器101采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器101和存储器102的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本发明不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器101处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器101。
实施例
一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的一种基于状态控制的RDMA通讯管理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述事实和方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,涉及的程序或者的程序可以存储于一计算机所可读取存储介质中,该程序在执行时,包括如下步骤:此时引出相应的方法步骤,的存储介质可以是ROM/RAM、磁碟、光盘等等。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于状态控制的RDMA通讯管理模块,其特征在于,所述RDMA通讯管理模块基于RDMA通道的心跳机制结合HB网络、叠加对RDMA通道的状态监测进行设置,将所述RDMA通讯管理模块按集群节点网络配置,并建立点对点RDMA通道和相应的心跳监控,其中,所述RDMA通讯管理模块包括分别设置在业务层的业务模块、设置在通讯服务层的RDMA通道管理模块、设置在通讯协议层的RDMA HB模块,所述RDMA HB模块通过RDMA通道发送心跳包和确认包给通讯层的RDMA内核,并通过接收所述RDMA内核返回的心跳包和确认包来判断所述RDMA通道是否正常,并将判断结果传输给RDMA通道管理模块,所述业务模块通过所述RDMA通道管理模块对所述RDMA通道进行状态查询并对该RDMA通道的通道状态进行相应的切换,所述RDMA通道管理模块根据所述判断结果对该RDMA通道以及该RMDA通道对应的资源进行相应的处理。
2.一种使用权利要求1所述的基于状态控制的RDMA通讯管理模块对RMDA通道的状态管理的管理方法,其特征在于,包括:
S1、初始化RDMA通道,所述业务模块将所述RDMA通道设置为初始化状态;
S2、所述RDMA通道管理模块获取集群节点的分布信息并创建进行通讯的RDMA通道,若RDMA通道创建失败时,所述RDMA通道继续处于初始化状态,若创建成功,所述业务模块将所述RDMA通道设置为正常状态,所述RDMA HB模块启动心跳包和确认包的发送和检测,周期性地监控所述RDMA通道的连接使用是否正常,若正常,则继续检测,若所述心跳包异常,跳转至S3;
S3、所述业务模块将所述RDMA通道的状态调整为降级状态,所述RDMA通道管理模块启动连通性质疑检测,并在指定的质疑时间内重新确认所述RDMA通道的状态,若所述RDMA通道在所述质疑时间内未能正常恢复,跳转至S4,否则,跳转至S5;
S4、所述业务模块将所述RDMA通道的状态调整为回收状态,所述RDMA通道管理模块将回收该回收状态的所述RDMA通道对应的资源,并在资源回收完以后将该回收状态的所述RDMA通道进行销毁,并将该RDMA通道设置为初始化状态;
S5、所述业务模块将所述RDMA通道的状态调整为正常状态并重建通道资源,所述RDMA通道管理模块销毁临时通道和资源。
3.根据权利要求2所述的一种对RMDA通道的状态管理的管理方法,其特征在于,S3中,所述RDMA通道在降级状态下保留收包功能,且所述RDMA通道管理模块创建一个关于该降级状态的RDMA通道的临时RDMA通道进行新业务消息包地发送。
4.根据权利要求2所述的一种对RMDA通道的状态管理的管理方法,其特征在于,S3中,所述RDMA通道在降级状态下保留收包功能,且上层的业务模块根据除该降级状态的RDMA通道以外的RDMA通道的冗余性,选择除该降级状态的RDMA通道以外的正常状态的RDMA通道进行新业务消息包地发送。
5.根据权利要求2所述的一种对RMDA通道的状态管理的管理方法,其特征在于,所述心跳包为应答包,且所述心跳包包括怀疑与确认两个阶段。
6.根据权利要求2所述的一种对RMDA通道的状态管理的管理方法,其特征在于,通过设置心跳包的优先级或建立专门的应答通道,所述应答通道与业务消息物理通道、软件应用相隔离,以减少业务消息排队堵塞心跳包应答的情况。
7.根据权利要求2所述的一种对RMDA通道的状态管理的管理方法,其特征在于,S5中,若在质疑时间内所述RDMA通道的心跳包检测到所述RDMA通道恢复正常,则所述RDMA通道保持降级状态进入静默期,若在所述静默期内直到所述静默期结束,所述心跳包检测所述RDMA通道一直正常,则所述RDMA通道转为正常状态,进行文件的收发,否则,若在静默期期间,所述心跳包检测所述RDMA通道异常,则在下一次所述心跳包检测到所述RDMA通道恢复正常时,所述RDMA通道保持降级状态重新进入静默期。
8.根据权利要求2所述的一种对RMDA通道的状态管理的管理方法,其特征在于,所述RDMA通道的状态的切换,由所述RDMA通道管理模块通过消息的方式发布给业务模块,所述业务模块进行消息包发送的方式对所述RDMA通道调整。
9.一种电子设备,其特征在于,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求2至8中任一所述的一种对RMDA通道的状态管理的管理方法。
10.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求2至8中任一项所述的一种对RMDA通道的状态管理的管理方法。
CN202310103100.6A 2023-02-13 2023-02-13 基于状态控制的rdma通讯管理模块、方法、设备及介质 Active CN115801642B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310103100.6A CN115801642B (zh) 2023-02-13 2023-02-13 基于状态控制的rdma通讯管理模块、方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310103100.6A CN115801642B (zh) 2023-02-13 2023-02-13 基于状态控制的rdma通讯管理模块、方法、设备及介质

Publications (2)

Publication Number Publication Date
CN115801642A true CN115801642A (zh) 2023-03-14
CN115801642B CN115801642B (zh) 2023-05-30

Family

ID=85430942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310103100.6A Active CN115801642B (zh) 2023-02-13 2023-02-13 基于状态控制的rdma通讯管理模块、方法、设备及介质

Country Status (1)

Country Link
CN (1) CN115801642B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932273A (zh) * 2023-09-18 2023-10-24 深圳云豹智能有限公司 一种用于rdma中的功能级复位处理方法、装置及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103404091A (zh) * 2012-11-22 2013-11-20 华为技术有限公司 业务保护方法、设备及系统
US8984173B1 (en) * 2013-09-26 2015-03-17 International Business Machines Corporation Fast path userspace RDMA resource error detection
US20170116097A1 (en) * 2015-10-22 2017-04-27 Netapp Inc. Implementing automatic switchover
CN111754216A (zh) * 2020-06-19 2020-10-09 多加网络科技(北京)有限公司 一种支付链路自动切换方法
US20210081268A1 (en) * 2019-09-15 2021-03-18 Oracle International Corpoation Fast node death detection
CN115174432A (zh) * 2022-06-30 2022-10-11 苏州浪潮智能科技有限公司 Rdma网络状态监测方法、装置、设备及可读存储介质
CN115640149A (zh) * 2022-10-28 2023-01-24 阿里巴巴(中国)有限公司 Rdma事件管理方法、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103404091A (zh) * 2012-11-22 2013-11-20 华为技术有限公司 业务保护方法、设备及系统
US8984173B1 (en) * 2013-09-26 2015-03-17 International Business Machines Corporation Fast path userspace RDMA resource error detection
CN105579971A (zh) * 2013-09-26 2016-05-11 国际商业机器公司 快速通道用户空间rdma资源错误检测
US20170116097A1 (en) * 2015-10-22 2017-04-27 Netapp Inc. Implementing automatic switchover
US20210081268A1 (en) * 2019-09-15 2021-03-18 Oracle International Corpoation Fast node death detection
CN111754216A (zh) * 2020-06-19 2020-10-09 多加网络科技(北京)有限公司 一种支付链路自动切换方法
CN115174432A (zh) * 2022-06-30 2022-10-11 苏州浪潮智能科技有限公司 Rdma网络状态监测方法、装置、设备及可读存储介质
CN115640149A (zh) * 2022-10-28 2023-01-24 阿里巴巴(中国)有限公司 Rdma事件管理方法、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱士彬;曹清华;蒋中秋;闫述;: "无线传感器网络的自适应心跳机制GPRS模块开发" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932273A (zh) * 2023-09-18 2023-10-24 深圳云豹智能有限公司 一种用于rdma中的功能级复位处理方法、装置及存储介质
CN116932273B (zh) * 2023-09-18 2024-06-11 深圳云豹智能有限公司 一种用于rdma中的功能级复位处理方法、装置及存储介质

Also Published As

Publication number Publication date
CN115801642B (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
US10715411B1 (en) Altering networking switch priority responsive to compute node fitness
KR100990415B1 (ko) 데이터 통신에서의 접속 상태를 동기화하는 방법 및 이를 사용하는 통신 노드
CN102868754B (zh) 一种实现集群存储高可用性的方法、节点装置和系统
US7974186B2 (en) Connection recovery device, method and computer-readable medium storing therein processing program
KR101363167B1 (ko) 개선된 분산형 커널 운영 시스템
EP1697843B1 (en) System and method for managing protocol network failures in a cluster system
CN101951345B (zh) 一种报文的发送方法和设备
KR101419579B1 (ko) 서버 고장 상황에서 클라이언트 어플리케이션의 더 빠른 복구를 가능하게 하는 방법
JP2005209201A (ja) 高可用性クラスタにおけるノード管理
KR20060126374A (ko) 개선된 분산형 커널 운영 시스템
US11303737B2 (en) Method and device for data transmission
WO2018074587A1 (ja) サーバ装置、クラスタシステム、クラスタ制御方法およびプログラム
WO2015096548A1 (zh) 基于优先级的流控pfc方法及发送设备、接收设备
CN110943878A (zh) 心跳包传输方法、终端及具有存储功能的装置
CN111371625A (zh) 一种双机热备的实现方法
CN115801642A (zh) 基于状态控制的rdma通讯管理模块、方法、设备及介质
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
US20100082822A1 (en) Technique for realizing high reliability in inter-application communication
WO2012132101A1 (ja) 情報処理装置、および障害対応プログラム
CN115720180A (zh) 基于srio总线通信网络故障实时监测与恢复的方法和系统
US9015518B1 (en) Method for hierarchical cluster voting in a cluster spreading more than one site
JP2006526212A (ja) コンピュータクラスタにおけるデータ収集
CN114422428A (zh) 服务节点的重启方法、装置、电子设备及存储介质
Cisco Shelf Operations Commands
CN111224803B (zh) 一种堆叠系统中多主检测方法及堆叠系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant