[发明专利]一种基于RDMA协议消息通信的方法及系统在审
申请号: | 201710565927.3 | 申请日: | 2017-07-12 |
公开(公告)号: | CN107147590A | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 尚付飞 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | H04L12/861 | 分类号: | H04L12/861;G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 rdma 协议 消息 通信 方法 系统 | ||
技术领域
本发明涉及存储管理领域,特别涉及一种基于RDMA协议消息通信的方法及系统。
背景技术
RDMA(远程直接内存访问)技术,是一种能够通过网络把数据直接传入计算机存储区的技术,解决了网络传输中服务器端数据处理出现延迟的问题。RDMA协议通常搭载在InfiniBand体系结构之上,由于InfiniBand体系具有低延时、高带宽的特性,利用二者的优势进行消息通信是目前比较主流的通信方法。
在RDMA协议中有以下三种消息通信方式,请参阅图1、图2和图3,图1为RDMA send/receive模式进行消息通信的示意图,图2为RDMA write模式进行消息通信的示意图,图3为RDMA read模式进行消息通信的示意图。在现有技术中,主要采用RDMA send/receive模式进行消息通信,在进行RDMA send/receive模式操作时,需要先将所需要发送的内容从系统内存中申请空间进行存放,调用发送接口时再将发送内容复制到发送端的共享缓存中,无法发挥RDMA协议的优势。
因此,如何制定一种消息通信方法可以在消息通信时减少复制步骤,实现发送部分的高效传输,是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种基于RDMA协议消息通信的方法及系统,可以在消息通信时减少复制步骤,实现发送部分的高效传输。
为解决上述技术问题,本申请提供一种基于RDMA协议消息通信的方法及系统,该方法包括:
将共享缓存划分为第一预设数量个内存块,并注册第二预设数量个所述内存块;其中,第二预设数量小于第一预设数量;
判断通信数据的字节长度是否大于第二预设数量所述内存块的字节长度总和;
若是,则注册第三预设数量个所述内存块;其中,所述第三预设数量个内存块的字节长度总和加上第二预设数量个所述内存块的字节长度总和大于等于所述通信数据的字节长度,且第三预设数量加上第二预设数量小于等于第一预设数量;
将所述通信数据存储至完成注册的所述内存块中;
发送所述内存块中的所述通信数据至接收端。
可选的,所述将共享缓存划分为第一预设数量个内存块包括:
将所述共享缓存划分为第一预设数量个固定字节长度的所述内存块。
可选的,将所述通信数据存储至完成注册的所述内存块中包括:
判断所述通信数据的字节长度是否大于所述内存块的字节长度;
若是,则将所述通信数据存储至第四预设数量个所述内存块中;其中,第四预设数量个所述内存块的字节长度总和大于等于所述通信数据的字节长度,且第二预设数量加上第三预设数量大于等于第四预设数量;
若否,则将所述通信数据存储至完成注册的所述内存块中的任意一个内存块中。
可选的,发送所述内存块中的所述通信数据至接收端包括:
通过send/receive模式和RDMA read模式发送所述内存块中的所述通信数据至所述接收端。
可选的,该方法还包括:
当所述通信数据全部发送至所述接收端后,删除所述内存块中的数据,并注销第三预设数量个所述内存块。
本申请还提供了一种基于RDMA协议消息通信的系统,所述系统包括:
缓存分配模块,用于将共享缓存划分为第一预设数量个内存块,并注册第二预设数量个所述内存块;其中,第二预设数量小于第一预设数量;
判断模块,用于判断通信数据的字节长度是否大于第二预设数量所述内存块的字节长度总和;
注册模块,用于当通信数据的字节长度大于第二预设数量所述内存块的字节长度总和时,注册第三预设数量个所述内存块;其中,所述第三预设数量个内存块的字节长度总和加上第二预设数量个所述内存块的字节长度总和大于等于所述通信数据的字节长度,且第三预设数量加上第二预设数量小于等于第一预设数量;
存储模块,用于将所述通信数据存储至完成注册的所述内存块中;
发送模块,用于发送所述内存块中的所述通信数据至接收端。
可选的,所述缓存分配模块包括:
划分单元,用于将所述共享缓存划分为第一预设数量个固定字节长度的所述内存块。
可选的,所述存储模块包括:
长度判断单元,用于判断所述通信数据的字节长度是否大于所述内存块的字节长度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710565927.3/2.html,转载请声明来源钻瓜专利网。