[發(fā)明專利]基于RDMA的數(shù)據(jù)傳輸方法、裝置及電子設(shè)備有效
| 申請(qǐng)?zhí)枺?/td> | 202110415703.0 | 申請(qǐng)日: | 2021-04-19 |
| 公開(公告)號(hào): | CN112822300B | 公開(公告)日: | 2021-07-13 |
| 發(fā)明(設(shè)計(jì))人: | 劉國輝;李銘 | 申請(qǐng)(專利權(quán))人: | 北京易捷思達(dá)科技發(fā)展有限公司 |
| 主分類號(hào): | H04L29/08 | 分類號(hào): | H04L29/08;G06F13/28 |
| 代理公司: | 北京知果之信知識(shí)產(chǎn)權(quán)代理有限公司 11541 | 代理人: | 卜榮麗;李志剛 |
| 地址: | 100089 北京市海淀區(qū)西*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 rdma 數(shù)據(jù)傳輸 方法 裝置 電子設(shè)備 | ||
本發(fā)明公開了一種基于RDMA的數(shù)據(jù)傳輸方法、裝置及電子設(shè)備,其中方法包括:發(fā)送端從發(fā)送請(qǐng)求池中獲取發(fā)送請(qǐng)求,將發(fā)送請(qǐng)求發(fā)送至接收端和等待響應(yīng)隊(duì)列,接收端的RDMA接收隊(duì)列通過接收請(qǐng)求接收發(fā)送請(qǐng)求中的傳輸數(shù)據(jù),并將傳輸數(shù)據(jù)復(fù)制到數(shù)據(jù)接收進(jìn)程中,接收端基于唯一標(biāo)識(shí)從接收端發(fā)送請(qǐng)求池中獲取發(fā)送請(qǐng)求,并將發(fā)送請(qǐng)求初始化為響應(yīng)請(qǐng)求,將唯一標(biāo)識(shí)存入響應(yīng)請(qǐng)求發(fā)送到發(fā)送端,發(fā)送端的RDMA接收隊(duì)列接收唯一標(biāo)識(shí),根據(jù)唯一標(biāo)識(shí)從等待響應(yīng)隊(duì)列中找到對(duì)應(yīng)的發(fā)送請(qǐng)求,并將發(fā)送請(qǐng)求釋放回到發(fā)送請(qǐng)求池中;本發(fā)明避免了數(shù)據(jù)傳輸過程中再進(jìn)行額外的內(nèi)存分配帶來的開銷,提高了效率,降低了延遲。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,具體涉及一種基于RDMA的數(shù)據(jù)傳輸方法、裝置及電子設(shè)備。
背景技術(shù)
RDMA(Remote Direct Memory Access)技術(shù)全稱遠(yuǎn)程直接內(nèi)存訪問,是為解決網(wǎng)絡(luò)傳輸中服務(wù)器端數(shù)據(jù)處理的延遲而產(chǎn)生的,其與TCP/IP的模式本質(zhì)上的不同在于RDMA在CPU上是零拷貝的,支持RDMA的網(wǎng)卡會(huì)通過DMA將需要傳輸?shù)膬?nèi)存數(shù)據(jù)拷貝到網(wǎng)卡上發(fā)送出去,這個(gè)過程不需要CPU的參與,而TCP/IP模式下,需要CPU主動(dòng)將數(shù)據(jù)拷貝到TCP的緩沖區(qū)中,然后TCP再將緩沖區(qū)中的數(shù)據(jù)發(fā)送給網(wǎng)卡,網(wǎng)卡才能將這些數(shù)據(jù)傳輸出去。
與TCP/IP模式不同的是,RDMA有一套自己的應(yīng)用程序編程接口(API),這就導(dǎo)致傳統(tǒng)的socket編程無法適用于RDMA編程,在數(shù)據(jù)傳輸過程中,需要調(diào)用系統(tǒng)API再進(jìn)行額外的數(shù)據(jù)結(jié)構(gòu)內(nèi)存分配釋放操作,延遲較高,效率較低,并且花費(fèi)CPU初始化新分配的請(qǐng)求,整個(gè)流程消耗時(shí)間較長(zhǎng)。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種基于RDMA 的數(shù)據(jù)傳輸方法及裝置,以解決現(xiàn)有的數(shù)據(jù)傳輸過程中,需要調(diào)用系統(tǒng)API進(jìn)行額外的數(shù)據(jù)結(jié)構(gòu)內(nèi)存分配釋放操作導(dǎo)致的延遲較高、效率較低、整個(gè)流程消耗時(shí)間較長(zhǎng)的問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明的第一方面提供了一種基于RDMA的數(shù)據(jù)傳輸方法,包括:
發(fā)送端通過發(fā)送端的數(shù)據(jù)發(fā)送進(jìn)程從發(fā)送請(qǐng)求池中獲取發(fā)送請(qǐng)求,將所述發(fā)送請(qǐng)求發(fā)送至接收端和等待響應(yīng)隊(duì)列,其中,所述發(fā)送請(qǐng)求包含預(yù)先對(duì)應(yīng)的傳輸數(shù)據(jù)以及發(fā)送請(qǐng)求的唯一標(biāo)識(shí);
接收端的RDMA接收隊(duì)列通過預(yù)先獲取的接收請(qǐng)求,接收所述發(fā)送請(qǐng)求中的傳輸數(shù)據(jù),并將所述傳輸數(shù)據(jù)復(fù)制到數(shù)據(jù)接收進(jìn)程中,將所述接收請(qǐng)求釋放回到接收請(qǐng)求池中;
接收端基于發(fā)送端發(fā)送請(qǐng)求的唯一標(biāo)識(shí)從接收端發(fā)送請(qǐng)求池中獲取發(fā)送請(qǐng)求,并將所述發(fā)送請(qǐng)求初始化為響應(yīng)請(qǐng)求,將發(fā)送端發(fā)送請(qǐng)求的唯一標(biāo)識(shí)存入所述響應(yīng)請(qǐng)求,將所述響應(yīng)請(qǐng)求發(fā)送到發(fā)送端;
發(fā)送端通過發(fā)送端的RDMA接收隊(duì)列接收所述響應(yīng)請(qǐng)求中發(fā)送端發(fā)送請(qǐng)求的唯一標(biāo)識(shí),根據(jù)所述發(fā)送請(qǐng)求的唯一標(biāo)識(shí)從所述等待響應(yīng)隊(duì)列中找到對(duì)應(yīng)的發(fā)送請(qǐng)求,并將所述發(fā)送請(qǐng)求釋放回到發(fā)送請(qǐng)求池中。
可選地,所述將所述發(fā)送請(qǐng)求發(fā)送至接收端和等待響應(yīng)隊(duì)列包括:
將所述發(fā)送請(qǐng)求的RDMA工作請(qǐng)求發(fā)送到RDMA發(fā)送隊(duì)列;
所述RDMA發(fā)送隊(duì)列通過RDMA傳輸協(xié)議將所述發(fā)送請(qǐng)求的RDMA工作請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)發(fā)送到接收端,其中,所述發(fā)送請(qǐng)求的RDMA工作請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)包括傳輸數(shù)據(jù)以及發(fā)送請(qǐng)求的唯一標(biāo)識(shí);
將所述發(fā)送請(qǐng)求發(fā)送至等待響應(yīng)隊(duì)列。
可選地,所述發(fā)送請(qǐng)求包含的傳輸數(shù)據(jù)是按照如下方法對(duì)應(yīng)的:
發(fā)送端獲取傳輸數(shù)據(jù);
發(fā)送端將所述傳輸數(shù)據(jù)復(fù)制到所述發(fā)送請(qǐng)求的數(shù)據(jù)緩沖區(qū)。
可選地,所述接收端的RDMA接收隊(duì)列通過預(yù)先獲取的接收請(qǐng)求,接收所述發(fā)送請(qǐng)求中的傳輸數(shù)據(jù),并將所述傳輸數(shù)據(jù)復(fù)制到數(shù)據(jù)接收進(jìn)程中,將所述接收請(qǐng)求釋放回到接收請(qǐng)求池中,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京易捷思達(dá)科技發(fā)展有限公司,未經(jīng)北京易捷思達(dá)科技發(fā)展有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110415703.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 將RDMA語義映射到高速存儲(chǔ)
- 一種基于RDMA的數(shù)據(jù)傳輸方法及RDMA網(wǎng)卡
- RDMA資源泄漏檢測(cè)和報(bào)告
- 一種數(shù)據(jù)訪問方法以及相關(guān)裝置
- 內(nèi)存訪問方法和裝置
- 一種虛擬硬盤的映射方法、設(shè)備和云計(jì)算平臺(tái)
- 基于流量負(fù)載預(yù)測(cè)的RDMA緩沖區(qū)動(dòng)態(tài)分配方法
- 基于迭代逼近的RDMA緩沖區(qū)動(dòng)態(tài)分配方法
- 面向分布式文件系統(tǒng)的RDMA通信地址交換方法
- 基于InfiniBand的通信方法、設(shè)備及存儲(chǔ)介質(zhì)
- 一種并發(fā)數(shù)據(jù)傳輸控制方法、裝置及終端
- 數(shù)據(jù)傳輸處理方法和數(shù)據(jù)傳輸器
- 一種數(shù)據(jù)傳輸方法及裝置
- 數(shù)據(jù)傳輸方法、裝置及設(shè)備
- 一種數(shù)據(jù)傳輸終端、方法及系統(tǒng)
- 一種物聯(lián)網(wǎng)數(shù)據(jù)傳輸方式的選擇方法和裝置
- 數(shù)據(jù)傳輸方法、數(shù)據(jù)傳輸裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種基于電價(jià)的非實(shí)時(shí)數(shù)據(jù)傳輸調(diào)度方法
- 基于云計(jì)算的數(shù)據(jù)傳輸處理方法、裝置及系統(tǒng)
- 一種數(shù)據(jù)處理方法、裝置及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





