[發(fā)明專利]一種Ceph內(nèi)核客戶端進(jìn)行通信的方法、系統(tǒng)、設(shè)備及介質(zhì)有效
| 申請?zhí)枺?/td> | 202110340423.8 | 申請日: | 2021-03-30 |
| 公開(公告)號: | CN113076281B | 公開(公告)日: | 2022-11-04 |
| 發(fā)明(設(shè)計(jì))人: | 馬龍;張端 | 申請(專利權(quán))人: | 山東英信計(jì)算機(jī)技術(shù)有限公司 |
| 主分類號: | G06F15/173 | 分類號: | G06F15/173;G06F16/182 |
| 代理公司: | 北京連和連知識(shí)產(chǎn)權(quán)代理有限公司 11278 | 代理人: | 宋薇薇;陳黎明 |
| 地址: | 250101 山東省濟(jì)南市高新區(qū)*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 ceph 內(nèi)核 客戶端 進(jìn)行 通信 方法 系統(tǒng) 設(shè)備 介質(zhì) | ||
1.一種Ceph內(nèi)核客戶端進(jìn)行通信的方法,其特征在于,包括以下步驟:
基于RoCE協(xié)議建立Ceph內(nèi)核客戶端與Ceph分布式存儲(chǔ)之間的通信,并創(chuàng)建并初始化發(fā)送完成隊(duì)列和接收完成隊(duì)列;
響應(yīng)于所述Ceph內(nèi)核客戶端向所述Ceph分布式存儲(chǔ)發(fā)送消息,判斷所述消息的類型是否為非阻塞消息,響應(yīng)于所述消息的類型為非阻塞消息,根據(jù)所述消息確定待發(fā)送數(shù)據(jù)的第一大小;
獲取當(dāng)前空閑緩存,根據(jù)所述當(dāng)前空閑緩存的大小計(jì)算本次能夠發(fā)送的數(shù)據(jù)的第二大小,判斷所述第二大小是否小于所述第一大小;
響應(yīng)于所述第二大小小于所述第一大小,獲取向所述發(fā)送完成隊(duì)列發(fā)送的請求,并釋放所述請求對應(yīng)的緩存以更新所述當(dāng)前空閑緩存;以及
將待發(fā)送數(shù)據(jù)拷貝到更新后的所述當(dāng)前空閑緩存中,向所述發(fā)送完成隊(duì)列提交請求以發(fā)送所述待發(fā)送數(shù)據(jù),并基于已拷貝數(shù)據(jù)的大小更新所述第一大小并再次發(fā)送數(shù)據(jù)直到所述第一大小為零,
方法還包括:
響應(yīng)于接收到所述Ceph分布式存儲(chǔ)發(fā)送的消息,判斷接收緩存中是否存在可用數(shù)據(jù);以及
響應(yīng)于接收緩存中存在可用數(shù)據(jù),將所述可用數(shù)據(jù)進(jìn)行拷貝并向所述接收完成隊(duì)列發(fā)送請求。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于RoCE協(xié)議建立Ceph內(nèi)核客戶端與Ceph分布式存儲(chǔ)之間的通信包括:
根據(jù)IP地址解析地址和路由,并創(chuàng)建并初始化遠(yuǎn)程直接存儲(chǔ)器訪問連接上下文;以及
發(fā)起遠(yuǎn)程直接存儲(chǔ)器訪問連接,響應(yīng)于連接成功,將套接字的狀態(tài)設(shè)置為已連接。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括:
創(chuàng)建保護(hù)域,并注冊所述發(fā)送完成隊(duì)列和接收完成隊(duì)列的事件處理器和完成處理器。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
響應(yīng)于所述第二大小不小于所述第一大小且并未獲取到向所述發(fā)送完成隊(duì)列發(fā)送的請求,在所述當(dāng)前空閑緩存中寫入所述第一大小的待發(fā)送數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將待發(fā)送數(shù)據(jù)拷貝到更新后的所述當(dāng)前空閑緩存中包括:
獲取釋放的緩存和所述當(dāng)前空閑緩存的索引,并根據(jù)所述索引將待發(fā)送數(shù)據(jù)拷貝到更新后的所述當(dāng)前空閑緩存的單個(gè)或多個(gè)內(nèi)存映射塊中。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
響應(yīng)于接收緩存中不存在可用數(shù)據(jù),向所述接收完成隊(duì)列獲取完成請求,并判斷所述完成請求是否符合預(yù)設(shè)要求;
響應(yīng)于所述完成請求不符合預(yù)設(shè)要求,結(jié)束本次接收并提示發(fā)生錯(cuò)誤。
7.一種Ceph內(nèi)核客戶端進(jìn)行通信的系統(tǒng),其特征在于,包括:
創(chuàng)建模塊,配置用于基于RoCE協(xié)議建立Ceph內(nèi)核客戶端與Ceph分布式存儲(chǔ)之間的通信,并創(chuàng)建并初始化發(fā)送完成隊(duì)列和接收完成隊(duì)列;
第一判斷模塊,配置用于響應(yīng)于所述Ceph內(nèi)核客戶端向所述Ceph分布式存儲(chǔ)發(fā)送消息,判斷所述消息的類型是否為非阻塞消息,響應(yīng)于所述消息的類型為非阻塞消息,根據(jù)所述消息確定待發(fā)送數(shù)據(jù)的第一大小;
第二判斷模塊,配置用于獲取當(dāng)前空閑緩存,根據(jù)所述當(dāng)前空閑緩存的大小計(jì)算本次能夠發(fā)送的數(shù)據(jù)的第二大小,判斷所述第二大小是否小于所述第一大小;
緩存模塊,配置用于響應(yīng)于所述第二大小小于所述第一大小,獲取向所述發(fā)送完成隊(duì)列發(fā)送的請求,并釋放所述請求對應(yīng)的緩存以更新所述當(dāng)前空閑緩存;以及
執(zhí)行模塊,配置用于將待發(fā)送數(shù)據(jù)拷貝到更新后的所述當(dāng)前空閑緩存中,向所述發(fā)送完成隊(duì)列提交請求以發(fā)送所述待發(fā)送數(shù)據(jù),并基于已拷貝數(shù)據(jù)的大小更新所述第一大小并再次發(fā)送數(shù)據(jù)直到所述第一大小為零,
系統(tǒng)還包括第三判斷模塊,配置用于:響應(yīng)于接收到所述Ceph分布式存儲(chǔ)發(fā)送的消息,判斷接收緩存中是否存在可用數(shù)據(jù);以及響應(yīng)于接收緩存中存在可用數(shù)據(jù),將所述可用數(shù)據(jù)進(jìn)行拷貝并向所述接收完成隊(duì)列發(fā)送請求。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于山東英信計(jì)算機(jī)技術(shù)有限公司,未經(jīng)山東英信計(jì)算機(jī)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110340423.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F15-00 通用數(shù)字計(jì)算機(jī)
G06F15-02 .通過鍵盤輸入的手動(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)來改變程序的;學(xué)習(xí)機(jī)器
- 一種通過Zabbix監(jiān)控Ceph集群的方法
- 一種實(shí)現(xiàn)Ceph集群融合的方法及裝置
- 一種Ceph分布式存儲(chǔ)系統(tǒng)的資源限制及分配方法
- 數(shù)據(jù)處理方法和裝置
- 一種基于Ceph的跨數(shù)據(jù)中心Oracle高可用實(shí)現(xiàn)方法
- 一種基于librbd庫測試rbd上傳速度的方法
- 管理ceph集群的方法及云本地存儲(chǔ)協(xié)調(diào)器
- 一種單機(jī)KVM虛擬化下快速部署多節(jié)點(diǎn)Ceph集群的方法和系統(tǒng)
- 一種分布式存儲(chǔ)集群的自動(dòng)化部署方法
- 一種OpenPOWER平臺(tái)上CEPH系統(tǒng)的使用方法及相關(guān)組件





