基于状态控制的RDMA通讯管理模块、方法、设备及介质技术

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

【技术实现步骤摘要】
基于状态控制的RDMA通讯管理模块、方法、设备及介质


[0001]本专利技术涉及数据中心存储
,具体涉及一种基于状态控制的RDMA通讯管理模块、方法、设备及介质。

技术介绍

[0002]大数据时代已经到来,传统的TCP/IP通讯方式在数据包处理过程中,要经过操作系统及其他软件层,需要占用大量的服务器资源和内存总线带宽,数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制移动,这种方式已无法匹配海量数据传输需求。
[0003]RDMA 远程直接数据存取技术方式,作为一种新型的通讯方式,支持通过网络在两个系统中直接进行数据的内存拷贝,RDMA技术的主要特点包括:CPU Offload:无需CPU干预,应用程序可以访问远程主机内存而不消耗远程主机中的任何CPU,远程主机内存能够被读取而不需要远程主机上的进程(或CPU)参与。远程主机的CPU的缓存(cache)不会被访问的内存内容所填充;Kernel Bypass:RDMA 提供一个专有的 Verbs interface ,而不是传统的TCP/IP Socket interface,应用程序可以直接在用户态执行数据传输,不需要在内核态与用户态之间做上下文切换;Zero Copy:每个应用程序都能直接访问集群中的设备的虚拟内存,这意味着应用程序能够直接执行数据传输,在不涉及到网络软件栈的情况下,数据能够被直接发送到缓冲区或者能够直接从缓冲区里接收,而不需要被复制到网络层。
[0004]通过上述的技术特点,使得RDMA技术具备高带宽、低延迟等特点,成为海量数据传输的新希望和焦点。
[0005]而为了保证高性能,RDMA技术对网络有苛刻要求,要求无损网络、不丢包,即使网络有异常,也需要快速监测和剔除,避免影响全局;而为了高性能,RDMA通道本身采用无状态设计,包括read、write和atomic等基本操作,只需要本端明确信息的源和目的地址,远端应用不感知此次通信,而本端缺少直接的网络异常监测手段。在业界,通常采用在业务层面每个消息报文设置超时时间,通过超时机制间接监控RDMA通道状态。
[0006]由于RDMA对无损网络的高性能要求,以及RDMA传输本身的技术特征,使得直接监测通道非常困难,而通过消息超时机制由于与业务耦合,存在以下已知诸多问题:1、业务消息包的超时设置,既要考虑消息本身的处理时长需要,也要兼顾快速监测出通道状态的需求,两者很难兼得,尤其对于一类批处理处理的业务消息,本身处理时长可能就需要分钟级别,基本不能监管实现快速监测出通道状态的异常;2、存在很大的不确定,即发生网络故障(闪断、风暴)时,系统正在处理的消息包,很大程度影响、决定了监测通道异常的时间量级;3、即使有了故障监测,无故障恢复自动重连等系统机制,需要重启业务客户端来重建通道连接,缺少对RDMA通道完善状态的全面管理。

技术实现思路

[0007]本专利技术提供一种基于状态控制的RDMA通讯管理方法、电子设备及介质,以解决上述问题。
[0008]本专利技术通过下述技术方案实现:一种基于状态控制的RDMA通讯管理模块,所述RDMA通讯管理模块基于RDMA通道的心跳机制结合HB网络、叠加对RDMA通道的状态监测进行设置,将所述RDMA通讯管理模块按集群节点网络配置,并建立点对点RDMA通道和相应的心跳监控,其中,所述RDMA通讯管理模块包括分别设置在业务层的业务模块、设置在通讯服务层的RDMA通道管理模块、设置在通讯协议层的RDMA HB模块,所述RDMA HB模块通过RDMA通道发送心跳包和确认包给通讯层的RDMA内核,并通过接收所述RDMA内核返回的心跳包和确认包来判断所述RDMA通道是否正常,并将判断结果传输给RDMA通道管理模块,所述业务模块通过所述RDMA通道管理模块对所述RDMA通道进行状态查询并对该RDMA通道的通道状态进行相应的切换,所述RDMA通道管理模块根据所述判断结果对该RDMA通道以及该RMDA通道对应的资源进行相应的处理。
[0009]在业务层设置业务模块,主要是为了对RDMA通道的状态进行随时切换,便于对RDMA通道的状态进行控制,而业务模块的控制依据则是根据设置在通讯服务层的RDMA通道管理模块的信号进行相应的控制,若RDMA通道管理模块创建RDMA通道成功,业务模块将RDMA通道的状态设置成正常状态,若RDMA通道管理模块创建RDMA通道失败,业务模块将RDMA通道的状态设置成初始化状态;而RDMA HB模块在RDMA通道创建成功后对该RDMA通道通过启动心跳包和确认包的发送和检测进行监测,监测RDMA通道的通断并将监测的信号反馈给RDMA通道管理模块,RDMA通道管理模块做出相应的动作,同时,实时将RDMA通道的通断情况传输给业务模块,业务模块根据实际情况控制RDMA通道的状态。
[0010]本专利技术还公开了一种使用上述的基于状态控制的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通道管理模块销毁临时通道和资源。
[0011]作为优化,S3中,所述RDMA通道在降级状态下保留收包功能,且所述RDMA通道管理
模块创建一个关于该降级状态的RDMA通道的临时RDMA通道进行新业务消息包地发送。
[0012]这样,在降级状态下使RDMA通道保留收包功能,当该RDMA通道恢复为正常状态后,可以使该RDMA通道继续发送消息包,创建一个临时的RDMA通道发送新业务消息包,这样可以使新业务消息包的收发不会因为该RDMA通道的状态改变而受到影响。
[0013]作为优化,S3中,所述RDMA通道在降级状态下保留收包功能,且上层的业务模块根据除该降级状态的RDMA通道以外的RDMA通道的冗余性,选择除该降级状态的RDMA通道以外的正常状态的RDMA通道进行新业务消息包地发送。
[0014]这样,当该RDMA通道变为降级状态后,业务模块控制其他的RDM本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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通道的状...

【专利技术属性】
技术研发人员:苏龙成
申请(专利权)人:深圳市泛联信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1