[發明專利]分布式塊存儲系統中糾刪碼并發IO的方法及存儲裝置有效
| 申請號: | 201710621639.5 | 申請日: | 2017-07-27 |
| 公開(公告)號: | CN107678680B | 公開(公告)日: | 2020-07-17 |
| 發明(設計)人: | 陳仲濤 | 申請(專利權)人: | 深圳市聯云港科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 深圳市鼎智專利代理事務所(普通合伙) 44411 | 代理人: | 湯銀 |
| 地址: | 518000 廣東省深圳市福田區沙頭街道*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 存儲系統 中糾刪碼 并發 io 方法 存儲 裝置 | ||
1.一種分布式塊存儲系統中糾刪碼并發IO的方法,其特征在于,所述分布式塊存儲系統中糾刪碼并發IO的方法包括如下步驟:
A、前端主機糾刪碼并行發送IO到存儲主機的IO隊列中,所述IO包含數據偏移量offset及數據長度length;
B、將發送到存儲主機的IO根據數據偏移量offset的大小順序插入到跳表中,具體包括以下:
B1、首先將需要插入的IO為IOinsert,從跳表中找到數據偏移量offset小于或等于IOinsert數據偏移量offset中最大的IOmin;
B2、將所述IOmin的下一個節點稱為IOlast,所述IOinsert、IOmin及IOlast的數據偏移量offset的大小順序為offsetmin≤offsetinsert<offsetlast;
B3、當滿足offsetmin+lengthmin<offsetinsert及offsetinsert+lenthinsert<offsetlast時,所述IOinsert與跳表中的所有IO都不重疊,IO成功插入到跳表中;
C、判斷所述IO是否成功插入到跳表中,若是,則把成功插入到跳表中的IO發送到存儲主機中存儲;若否,則把所述IO插入到等待隊列及沖突隊列中。
2.根據權利要求1所述的分布式塊存儲系統中糾刪碼并發IO的方法,其特征在于,所述步驟C之后還包括步驟D:
D、當完成整個IO路徑時,插入到前端主機的完成IO隊列中。
3.根據權利要求1所述的分布式塊存儲系統中糾刪碼并發IO的方法,其特征在于,所述跳表在初始化時,分別插入數據偏移量offset為負無窮大及正無窮大兩個IO。
4.根據權利要求3所述的分布式塊存儲系統中糾刪碼并發IO的方法,其特征在于,所述步驟C具體包括:
C1、當IOinsert與IOmin或IOlast重疊時,所述IOinsert沒有成功插入到跳表中;
C2、將所述IOinsert插入到等待隊列及插入到沖突隊列中,所述沖突隊列用于存放在等待隊列中與IOinsert重疊的IO。
5.根據權利要求2所述的分布式塊存儲系統中糾刪碼并發IO的方法,其特征在于,所述步驟D具體包括:
D1、當IO完成時,所述IO從跳表中刪除;
D2、將所述IO遍歷沖突隊列后,把沖突隊列中的IO從等待隊列刪除,重新插入到IO隊列并重新插入跳表中。
6.一種存儲裝置,其特征在于,所述存儲裝置包括:前端主機、與所述前端主機通信連接的存儲主機;
所述前端主機中構建有虛擬磁盤,并用于管理虛擬磁盤的生命周期,完成數據的接收、緩存、轉發功能;
所述存儲主機是數據的最終存放地點,將存儲資源抽象成多個存儲組件,每個所述存儲組件由大型稀疏文件鏈組成;
所述存儲主機中存儲有計算機程序,該計算機程序被前端主機執行時實現權利要求1-5任一項所述的分布式塊存儲系統中糾刪碼并發IO的方法;
所述前端主機用于調用所述存儲主機中的計算機程序,以執行上述權利要求1-5任一項所述的分布式塊存儲系統中糾刪碼并發IO的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市聯云港科技有限公司,未經深圳市聯云港科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710621639.5/1.html,轉載請聲明來源鉆瓜專利網。





