基于RDMA的大数据传输系统、方法、装置、设备及存储介质制造方法及图纸

技术编号:33247071 阅读:19 留言:0更新日期:2022-04-27 18:01
本发明专利技术公开了一种基于RDMA的大数据传输方法、装置、设备及存储介质,解决了MapReduce存算分离架构下基于以太网和TCP/IP协议数据传输效率低下的技术问题。本申请中,包括:计算节点、混洗节点、分布式文件系统、TCP/IP网络和RDMA网络,计算节点分别与混洗节点和分布式文件系统进行数据交互,TCP/IP网络分别与计算节点、混洗节点和分布式文件系统里连接,RDMA网络分别与计算节点、混洗节点和分布式文件系统连接。连接。连接。

【技术实现步骤摘要】
基于RDMA的大数据传输系统、方法、装置、设备及存储介质


[0001]本专利技术涉及计算机通信
,尤其涉及一种基于RDMA的大数据传输系统、方法、装置、设备及存储介质。

技术介绍

[0002]近年来,大数据分析与处理技术在以互联网为代表的行业中得到了广泛应用。在多类典型的数据分析与处理方法中,MapReduce计算模型最为流行。MapReduce是一种编程模型,用于大规模数据集的并行运算,它具有较强的通用性和可伸缩性,能够很好地满足多种算法、各类数据在不同规模的计算资源上执行的需求。
[0003]MapReduce计算模型的计算过程分为Map和Reduce两个阶段。在Map阶段,模型依照用户关心的字段完成数据的分类组织;在Reduce阶段,模型在完成同类数据上目标字段的汇总计算。因此,MapReduce计算过程中必然涉及到数据的传输,具体包括:Map阶段加载输入数据;Map阶段的中间结果传输给Reduce阶段;Reduce阶段保存输出数据。其中,Map阶段的中间结果传输给Reduce阶段的机制一般称为“混洗”。
[0004]传统大数据计算框架的混洗机制在经典场景下有其合理性,它们在技术实现的简单性、应用环境的兼容性具有一定优势。然而,在当今数据计算业务复杂度提升、存算分离架构流行的趋势下,传统混洗机制的数据传输效率低的问题也开始突显。因此,如何进一步提高混洗机制的效率是我们亟待解决的问题。
[0005]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0006]本专利技术的主要目的在于提供一种基于RDMA的大数据传输系统、方法、装置、设备及存储介质,旨在解决现有技术混洗机制数据传输性能不足的技术问题。
[0007]为实现上述目的,本专利技术提供了一种基于RDMA的大数据传输系统。该系统包括:计算节点、混洗节点、分布式文件系统、TCP/IP网络和RDMA网络,所述计算节点分别与所述混洗节点和所述分布式文件系统进行数据交互,所述TCP/IP网络分别与所述计算节点、所述混洗节点和所述分布式文件系统里连接,所述RDMA网络分别与所述计算节点、所述混洗节点和所述分布式文件系统连接;所述RDMA网络,用于:传输数据发送指令;以及,传输数据文件;所述计算节点,用于:根据大数据应用程序执行对应的计算任务;以及,参与所述混洗节点执行混洗任务;所述混洗节点,用于:接收数据文件;以及,执行混洗任务;所述分布式文件系统,用于:存储计算过程中产生的数据;所述TCP/IP网络,用于:传输数据发送指令。
[0008]本专利技术提供了一种大数据传输方法,应用于如上所述的基于RDMA的大数据传输系统,所述方法,包括:接收Reduce节点上的Reduce进程发送的拉取数据请求,获取所述拉取数据请求中的第一元信息;
[0009]根据所述第一元信息,在本节点上预设的RDMA通信内存中分配的第一内存缓冲区
中查找所述Reduce进程需要拉取的数据分片;
[0010]若存在,获取所述数据分片在所述第一内存缓冲区的存储位置,根据所述数据分片和所述存储位置生成第二元信息;
[0011]将所述第二元信息发送给所述Reduce进程,以使所述Reduce进程根据所述第二元信息在Reduce节点上的预设的RDMA通信内存中分配第二内存缓冲区,并根据所述第二元信息将所述数据分片从所述第一内存缓冲区中拉取到所述第二内存缓冲区中。
[0012]优选地,所述接收Reduce节点上的Reduce进程发送的拉取数据请求,获取所述拉取数据请求中的第一元信息的步骤之前,还包括:
[0013]接收Map节点上的Map进程发送的数据推送请求,获取所述数据推送请求中的第三元信息;
[0014]根据所述第三元信息在本节点上的预设的RDMA通信内存中分配对应的第三内存缓冲区,并生成第四元信息;
[0015]将所述第四元信息反馈给所述Map进程,以使所述Map进程接收到第四元信息后,根据所述第四元信息推送对应的数据分片;
[0016]接收所述Map进程推送的数据分片,根据所述第四元信息将所述数据分片写入所述对应的第三内存缓冲区;
[0017]在所述对应的第三内存缓冲区写入完毕后,将所述数据分片写入本节点上的本地磁盘中。
[0018]优选地,所述接收Map节点上的Map进程发送的数据推送请求,获取所述数据推送请求中的第三元信息的步骤之前,还包括:系统初始化的步骤;
[0019]调用本节点上的RDMA开发库API,在本节点的内存中注册一块内存区域作为第一RDMA通信内存,生成第一通信地址;
[0020]将所述第一通信地址发送给Map节点上的Map进程,以使Map进程获取所述第一通信地址后,Map节点上的混洗客户端调用Map节点上的RDMA开发库API,将Map节点上的预置的内存块注册为第二RDMA通信内存,生成第二通信地址,反馈所述第二通信地址至本节点;
[0021]将所述第一通信地址发送给Reduce节点上的Reduce进程,以使Reduce进程获取所述第一通信地址后,Reduce节点上的混洗客户端调用Reduce节点上的RDMA开发库API,将Reduce节点上的预置的内存块注册为第三RDMA通信内存,生成第三通信地址,反馈所述第三通信地址至本节点。
[0022]优选地,所述在所述对应的第二内存缓冲区写入完毕后,将所述数据分片写入独立混洗节点上的本地磁盘中的步骤之后,还包括:
[0023]获取本节点上的本地RDMA通信内存资源的使用情况;
[0024]在所述使用情况达到预设值时,清除所述第三内存缓冲区的数据分片,释放所述第三内存缓冲区内存。
[0025]优选地,所述若存在,获取所述数据分片在所述第一内存缓冲区的存储位置,根据所述数据分片和所述存储位置生成第二元信息的步骤,还包括:
[0026]若不存在,则获取所述数据分片在本节点磁盘上的存储位置,将所述存储位置映射到本节点的RDMA通信内存中的第一内存缓冲区,得到所述数据分片在所述第一内存缓冲区的映射存储位置,根据所述数据分片和所述映射存储位置生成第二元信息。
[0027]优选地,所述将所述第二元信息发送给所述Reduce进程,以使所述Reduce进程根据所述第二元信息在Reduce节点上的预设的RDMA通信内存中分配第二内存缓冲区,并根据所述第二元信息将所述数据分片从所述第一内存缓冲区中拉取到所述第二内存缓冲区中的步骤之后,还包括:
[0028]获取数据拉取状态;
[0029]在所述数据拉取状态为拉取完毕时,断开所述数据分片与本节点上的所述第一内存缓冲区的映射。
[0030]此外,为实现上述目的,本专利技术还提出一种基于RDMA的大数据传输装置,所述基于RDMA的大数据传输装置包括:
[0031]请求接收模块,用于接收Reduce节点上的Reduce进程发送的拉取数据请求,获取所述拉取数据请求中的第一元信息;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RDMA的大数据传输系统,其特征在于,包括:计算节点、混洗节点、分布式文件系统、TCP/IP网络和RDMA网络,所述计算节点分别与所述混洗节点和所述分布式文件系统进行数据交互,所述TCP/IP网络分别与所述计算节点、所述混洗节点和所述分布式文件系统里连接,所述RDMA网络分别与所述计算节点、所述混洗节点和所述分布式文件系统连接;所述RDMA网络,用于:传输数据发送指令;以及,传输数据文件;所述计算节点,用于:根据大数据应用程序执行对应的计算任务;以及,参与所述混洗节点执行混洗任务;所述混洗节点,用于:接收数据文件;以及,执行混洗任务;所述分布式文件系统,用于:存储计算过程中产生的数据;所述TCP/IP网络,用于:传输数据发送指令。2.一种大数据传输方法,其特征在于,应用于如权利要求1所述的基于RDMA的大数据传输系统,所述方法,包括:接收Reduce节点上的Reduce进程发送的拉取数据请求,获取所述拉取数据请求中的第一元信息;根据所述第一元信息,在本节点上预设的RDMA通信内存中分配的第一内存缓冲区中查找所述Reduce进程需要拉取的数据分片;若存在,获取所述数据分片在所述第一内存缓冲区的存储位置,根据所述数据分片和所述存储位置生成第二元信息;将所述第二元信息发送给所述Reduce进程,以使所述Reduce进程根据所述第二元信息在Reduce节点上的预设的RDMA通信内存中分配第二内存缓冲区,并根据所述第二元信息将所述数据分片从所述第一内存缓冲区中拉取到所述第二内存缓冲区中。3.根据权利要求2所述的大数据传输方法,其特征在于,所述接收Reduce节点上的Reduce进程发送的拉取数据请求,获取所述拉取数据请求中的第一元信息的步骤之前,还包括:接收Map节点上的Map进程发送的数据推送请求,获取所述数据推送请求中的第三元信息;根据所述第三元信息在本节点上的预设的RDMA通信内存中分配对应的第三内存缓冲区,并生成第四元信息;将所述第四元信息反馈给所述Map进程,以使所述Map进程接收到第四元信息后,根据所述第四元信息推送对应的数据分片;接收所述Map进程推送的数据分片,根据所述第四元信息将所述数据分片写入所述对
应的第三内存缓冲区;在所述对应的第三内存缓冲区写入完毕后,将所述数据分片写入本节点上的本地磁盘中。4.根据权利要求3所述的大数据传输方法,其特征在于,所述接收Map节点上的Map进程发送的数据推送请求,获取所述数据推送请求中的第三元信息的步骤之前,还包括:系统初始化的步骤;调用本节点上的RDMA开发库API,在本节点的内存中注册一块内存区域作为第一RDMA通信内存,生成第一通信地址;将所述第一通信地址发送给Map节点上的Map进程,以使Map进程获取所述第一通信地址后,Map节点上的混洗客户端调用Map节点上的RDMA开发库API,将Map节点上的内存中注册一块内存区域作为第二RDMA通信内存,生成第二通信地址,反馈所述第二通信地址至本节点;将所述第一通信地址发送给Reduce节点上的Reduce进程,以使Red...

【专利技术属性】
技术研发人员:林健洪志刚
申请(专利权)人:东云睿连武汉计算技术有限公司
类型:发明
国别省市:

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

1