[發明專利]一種Ceph內核客戶端進行通信的方法、系統、設備及介質有效
| 申請號: | 202110340423.8 | 申請日: | 2021-03-30 |
| 公開(公告)號: | CN113076281B | 公開(公告)日: | 2022-11-04 |
| 發明(設計)人: | 馬龍;張端 | 申請(專利權)人: | 山東英信計算機技術有限公司 |
| 主分類號: | G06F15/173 | 分類號: | G06F15/173;G06F16/182 |
| 代理公司: | 北京連和連知識產權代理有限公司 11278 | 代理人: | 宋薇薇;陳黎明 |
| 地址: | 250101 山東省濟南市高新區*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 ceph 內核 客戶端 進行 通信 方法 系統 設備 介質 | ||
本發明公開了一種Ceph內核客戶端進行通信的方法、系統、設備和存儲介質,方法包括:基于RoCE協議建立Ceph內核客戶端與Ceph分布式存儲之間的通信,創建并初始化發送完成隊列和接收完成隊列;響應于向Ceph分布式存儲發送消息且消息的類型為非阻塞消息,根據消息確定待發送數據的第一大小;根據當前空閑緩存的大小計算本次能夠發送的數據的第二大小,判斷第二大小是否小于第一大小;響應于第二大小小于第一大小,獲取向發送完成隊列發送的請求,并釋放請求對應的緩存以更新當前空閑緩存;以及將待發送數據拷貝到更新后的當前空閑緩存中,向發送完成隊列提交請求以發送待發送數據,并基于已拷貝數據的大小更新第一大小并再次發送數據直到第一大小為零。
技術領域
本發明涉及分布式文件系統領域,更具體地,特別是指一種Ceph內核客戶端進行通信的方法、系統、計算機設備及可讀介質。
背景技術
Ceph是一種分布式文件系統,具有高性能、高可靠性及高可擴展性的特點,可以提供對象存儲、塊設備存儲和文件系統存儲。Ceph提供文件系統存儲時,用戶可以通過NAS客戶端訪問,而當客戶端為linux系統時,還可以通過linux內核中fs模塊進行訪問,當前已有用于linux系統的內核客戶端訪問Ceph存儲文件系統,網絡實現上采用的是tcp/ip通信模式。現有技術中的Ceph內核客戶端的通信延時較高并且CPU占用率較高,通信效率較低。
發明內容
有鑒于此,本發明實施例的目的在于提出一種Ceph內核客戶端進行通信的方法、系統、計算機設備及計算機可讀存儲介質,本發明基于RoCE協議進行Ceph內核客戶端的通信,能夠充分發揮RoCE協議自身低延時、高帶寬及更低cpu占用的優勢,從而提升Ceph內核客戶端的讀寫性能。
基于上述目的,本發明實施例的一方面提供了一種Ceph內核客戶端進行通信的方法,包括如下步驟:基于RoCE協議建立Ceph內核客戶端與Ceph分布式存儲之間的通信,并創建并初始化發送完成隊列和接收完成隊列;響應于Ceph內核客戶端向所述Ceph分布式存儲發送消息,判斷所述消息的類型是否為非阻塞消息,響應于所述消息的類型為非阻塞消息,根據所述消息確定待發送數據的第一大小;獲取當前空閑緩存,根據所述當前空閑緩存的大小計算本次能夠發送的數據的第二大小,判斷所述第二大小是否小于所述第一大小;響應于所述第二大小小于所述第一大小,獲取向所述發送完成隊列發送的請求,并釋放所述請求對應的緩存以更新所述當前空閑緩存;以及將待發送數據拷貝到更新后的所述當前空閑緩存中,向所述發送完成隊列提交請求以發送所述待發送數據,并基于已拷貝數據的大小更新所述第一大小并再次發送數據直到所述第一大小為零。
在一些實施方式中,所述基于RoCE協議建立Ceph內核客戶端與Ceph分布式存儲之間的通信包括:根據IP地址解析地址和路由,并創建并初始化遠程直接存儲器訪問連接上下文;以及發起遠程直接存儲器訪問連接,響應于連接成功,將套接字的狀態設置為已連接。
在一些實施方式中,方法還包括:創建保護域,并注冊所述發送完成隊列和接收完成隊列的事件處理器和完成處理器。
在一些實施方式中,方法還包括:響應于所述第二大小不小于所述第一大小且并未獲取到向所述發送完成隊列發送的請求,在所述當前空閑緩存中寫入所述第一大小的待發送數據。
在一些實施方式中,所述將待發送數據拷貝到更新后的所述當前空閑緩存中包括:獲取釋放的緩存和所述當前空閑緩存的索引,并根據所述索引將待發送數據拷貝到更新后的所述當前空閑緩存的單個或多個內存映射塊中。
在一些實施方式中,方法還包括:響應于接收到所述Ceph分布式存儲發送的消息,判斷接收緩存中是否存在可用數據;以及響應于接收緩存中存在可用數據,將所述可用數據進行拷貝并向所述接收完成隊列發送請求。
在一些實施方式中,方法還包括:響應于接收緩存中不存在可用數據,向所述接收完成隊列獲取完成請求,并判斷所述完成請求是否符合預設要求;響應于所述完成請求不符合預設要求,結束本次接收并提示發生錯誤。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東英信計算機技術有限公司,未經山東英信計算機技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110340423.8/2.html,轉載請聲明來源鉆瓜專利網。





