[發(fā)明專利]一種Linux操作系統(tǒng)下基于RDMA的數(shù)據(jù)傳輸方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 202110255647.9 | 申請(qǐng)日: | 2021-03-09 |
| 公開(kāi)(公告)號(hào): | CN112948318B | 公開(kāi)(公告)日: | 2022-12-06 |
| 發(fā)明(設(shè)計(jì))人: | 宋江波;周耀輝;吳軍疆 | 申請(qǐng)(專利權(quán))人: | 西安奧卡云數(shù)據(jù)科技有限公司 |
| 主分類號(hào): | G06F15/173 | 分類號(hào): | G06F15/173;G06F9/50;G06F12/02 |
| 代理公司: | 西安維賽恩專利代理事務(wù)所(普通合伙) 61257 | 代理人: | 李明全 |
| 地址: | 710000 陜西省西安市西咸*** | 國(guó)省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 linux 操作系統(tǒng) 基于 rdma 數(shù)據(jù)傳輸 方法 裝置 | ||
1.一種Linux操作系統(tǒng)下基于RDMA的數(shù)據(jù)傳輸方法,其特征在于,包括以下步驟:
根據(jù)待數(shù)據(jù)傳輸?shù)倪M(jìn)程,確定所述進(jìn)程對(duì)應(yīng)的用戶態(tài)內(nèi)存空間地址;
將所述用戶態(tài)內(nèi)存空間地址與內(nèi)核態(tài)內(nèi)存空間地址均映射到同一物理內(nèi)存空間地址中;
啟動(dòng)所述進(jìn)程將待傳輸數(shù)據(jù)寫入到用戶態(tài)內(nèi)存空間地址,生成數(shù)據(jù)包并通過(guò)網(wǎng)卡發(fā)送至遠(yuǎn)端服務(wù)器;
構(gòu)建本地事件,獲取寫入所述待傳輸數(shù)據(jù)的第一應(yīng)用程序?qū)?yīng)的第一通信標(biāo)識(shí)碼;
向所述第一應(yīng)用程序發(fā)送數(shù)據(jù)傳輸完成信息;
確定所述進(jìn)程對(duì)應(yīng)的用戶態(tài)內(nèi)存空間地址包括:
申請(qǐng)固定大小的內(nèi)存空間,并注冊(cè)給網(wǎng)卡的DMA,作為所述內(nèi)核態(tài)內(nèi)存空間地址;
構(gòu)建連接報(bào)文并發(fā)送至遠(yuǎn)端服務(wù)器;所述連接報(bào)文包括所述內(nèi)核態(tài)內(nèi)存空間地址的起始地址和終止地址、本端服務(wù)器在數(shù)據(jù)傳輸網(wǎng)絡(luò)中的唯一標(biāo)識(shí)、以及本端應(yīng)用程序的通信標(biāo)識(shí)碼;
接收遠(yuǎn)端服務(wù)器發(fā)來(lái)的連接報(bào)文并解析,得到遠(yuǎn)端服務(wù)器注冊(cè)給網(wǎng)卡的DMA的內(nèi)核態(tài)內(nèi)存空間地址的起始地址和終止地址、以及遠(yuǎn)端服務(wù)器應(yīng)用程序的通信標(biāo)識(shí)碼;
所述數(shù)據(jù)包包括本端服務(wù)器注冊(cè)給網(wǎng)卡的DMA的內(nèi)核態(tài)內(nèi)存空間地址的第一起始地址、遠(yuǎn)端服務(wù)器注冊(cè)給其網(wǎng)卡的DMA的內(nèi)核態(tài)內(nèi)存空間地址的第二起始地址、所述待傳輸數(shù)據(jù)的起始地址相對(duì)于所述第一起始地址的第一偏移量、所述待傳輸數(shù)據(jù)的起始地址相對(duì)于第二起始地址的第二偏移量、所述待傳輸數(shù)據(jù)的大小位、本端服務(wù)器中寫入所述待傳輸數(shù)據(jù)的第一應(yīng)用程序的第一通信標(biāo)識(shí)碼和遠(yuǎn)端服務(wù)器讀取所述待傳輸數(shù)據(jù)的第二應(yīng)用程序的第二通信標(biāo)識(shí)碼;
將所述用戶態(tài)內(nèi)存空間地址與內(nèi)核態(tài)內(nèi)存空間地址均映射到同一物理內(nèi)存空間地址中包括:
將所述用戶態(tài)內(nèi)存空間地址映射到所述物理內(nèi)存空間地址,且將所述內(nèi)核態(tài)內(nèi)存空間地址映射到同一所述物理內(nèi)存空間地址;
或者,將所述用戶態(tài)內(nèi)存空間地址映射到所述內(nèi)核態(tài)內(nèi)存空間地址,再將所述內(nèi)核態(tài)內(nèi)存空間地址映射到物理內(nèi)存地址;
或者,將所述內(nèi)核態(tài)內(nèi)存空間地址映射到所述用戶態(tài)內(nèi)存空間地址,在將所述用戶態(tài)內(nèi)存空間地址映射到物理內(nèi)存地址。
2.如權(quán)利要求1所述的一種Linux操作系統(tǒng)下基于RDMA的數(shù)據(jù)傳輸方法,其特征在于,該方法還包括:
當(dāng)所述內(nèi)核態(tài)內(nèi)存空間地址接收到數(shù)據(jù)時(shí),獲取該數(shù)據(jù)在所述內(nèi)核態(tài)內(nèi)存空間地址中的偏移位和大小位;
將所述偏移位和大小位發(fā)送至用戶態(tài)的應(yīng)用程序;
用戶態(tài)的所述應(yīng)用程序根據(jù)所述偏移位和大小位在所述用戶態(tài)內(nèi)存空間地址中讀取數(shù)據(jù);
在所述內(nèi)核態(tài)內(nèi)存空間地址中刪除所述數(shù)據(jù)。
3.如權(quán)利要求1所述的一種Linux操作系統(tǒng)下基于RDMA的數(shù)據(jù)傳輸方法,其特征在于,生成數(shù)據(jù)包并通過(guò)所述網(wǎng)卡發(fā)送至遠(yuǎn)端服務(wù)器之后還包括:
所述遠(yuǎn)端服務(wù)器的網(wǎng)卡接收所述數(shù)據(jù)包;
解析所述數(shù)據(jù)包,獲取所述第二通信標(biāo)識(shí)碼、第二偏移量和數(shù)據(jù)長(zhǎng)度,并構(gòu)建遠(yuǎn)端事件;
根據(jù)所述遠(yuǎn)端事件將所述數(shù)據(jù)包發(fā)送至所述第二應(yīng)用程序;
所述第二應(yīng)用程序解析所述數(shù)據(jù)包,獲取所述第二偏移量和數(shù)據(jù)長(zhǎng)度接收所述待傳輸數(shù)據(jù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安奧卡云數(shù)據(jù)科技有限公司,未經(jīng)西安奧卡云數(shù)據(jù)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110255647.9/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F15-00 通用數(shù)字計(jì)算機(jī)
G06F15-02 .通過(guò)鍵盤輸入的手動(dòng)操作,以及應(yīng)用機(jī)內(nèi)程序的計(jì)算,例如,袖珍計(jì)算器
G06F15-04 .在引入被處理的數(shù)據(jù)的同時(shí),進(jìn)行編制程序的,例如,在同一記錄載體上
G06F15-08 .應(yīng)用插接板編制程序的
G06F15-16 .兩個(gè)或多個(gè)數(shù)字計(jì)算機(jī)的組合,其中每臺(tái)至少具有一個(gè)運(yùn)算器、一個(gè)程序器及一個(gè)寄存器,例如,用于數(shù)個(gè)程序的同時(shí)處理
G06F15-18 .其中,根據(jù)計(jì)算機(jī)本身在一個(gè)完整的運(yùn)行期間內(nèi)所取得的經(jīng)驗(yàn)來(lái)改變程序的;學(xué)習(xí)機(jī)器
- LINUX內(nèi)核動(dòng)態(tài)加載方法
- 一種Linux嵌入式系統(tǒng)的安全啟動(dòng)方法
- 一種加快嵌入式Linux系統(tǒng)啟動(dòng)的方法
- Linux文件系統(tǒng)的多點(diǎn)備份和實(shí)時(shí)保護(hù)方法
- 基于硬件的Linux軟件開(kāi)發(fā)系統(tǒng)及其構(gòu)建方法
- 將VxWorks任務(wù)移植到Linux的方法及裝置
- 一種Linux內(nèi)核接管socket鏈接的方法和裝置
- 一種Linux系統(tǒng)的備份和還原方法
- 一種基于Linux系統(tǒng)盤的寫過(guò)濾系統(tǒng)和方法
- 一種基于Linux系統(tǒng)盤的熱插拔方法和系統(tǒng)
- 將RDMA語(yǔ)義映射到高速存儲(chǔ)
- 一種基于RDMA的數(shù)據(jù)傳輸方法及RDMA網(wǎng)卡
- RDMA資源泄漏檢測(cè)和報(bào)告
- 一種數(shù)據(jù)訪問(wèn)方法以及相關(guān)裝置
- 內(nèi)存訪問(wèn)方法和裝置
- 一種虛擬硬盤的映射方法、設(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ì)





