本申請實施例提供一種數據恢復方法、系統、設備及存儲介質。存儲系統中的多個存儲節點,用于存儲目標數據的多個數據塊,該多個數據塊包括:目標數據的第一數量的原始數據塊以及第一數量的原始數據塊生成的校驗數據塊。客戶端觸發降級讀操作時,優先讀取至少第一數量個存儲節點中的數據塊,并基于流量控制策略控制向冗余存儲節點讀取數據塊的速度,使得降級讀操作對存儲系統造成的壓力是靈活可控的。從而,當存儲系統的訪問壓力較大時,可基于流量控制策略降低對存儲系統增加較大的額外訪問壓力的風險,當存儲系統的訪問壓力較小時,可通過至少第一數量的存儲節點以及冗余存儲節點快速接收到足夠數量的數據塊,從而有效降低降級讀操作的時延毛刺。降級讀操作的時延毛刺。降級讀操作的時延毛刺。
【技術實現步驟摘要】
數據恢復方法、系統、設備及存儲介質
[0001]本申請涉及計算機
,尤其涉及一種數據恢復方法、系統、設備及存儲介質。
技術介紹
[0002]糾刪碼(Erasure Code)是一種編碼容錯技術,用于在部分數據丟失時,恢復原始數據。糾刪碼可在保證可靠性的同時占用更少的存儲空間,因而被廣泛地應用于分布式存儲系統中。基于糾刪碼技術,可根據K個原始數據塊計算生成M個校驗數據塊。當任意數據塊丟失時,可采用剩余的至少K個數據塊對丟失的數據塊進行數據恢復。
[0003]在分布式存系統中,K+M個數據塊存儲在的數據存儲節點中,當任意數據塊丟失時,客戶端需向至少K個數據存儲節點發送降級讀請求,并等待該至少K個數據存儲節點均返回數據塊后再進行數據恢復。在上述過程中,出現部分降級讀請求的時延遠大于平均時延(即請求毛刺)的概率較高。因此,有待提出一種新的解決方案。
技術實現思路
[0004]本申請的多個方面提供一種數據恢復方法、系統、設備及存儲介質,用以優化降級讀請求的中的請求毛刺的概率。
[0005]本申請實施例提供一種數據恢復方法,其中,目標數據的多個數據塊存儲在存儲系統的多個存儲節點上;所述多個數據塊包括:所述目標數據的第一數量的原始數據塊以及所述第一數量的原始數據塊生成的校驗數據塊;所述方法包括:檢測到存儲系統存在任一異常存儲節點時,從所述存儲系統的未異常存儲節點中,確定第一節點集以及第二節點集;所述第一節點集中的存儲節點的數量大于或等于所述第一數量;向所述第一節點集中的存儲節點發送針對所述異常存儲節點中的異常數據塊的降級讀請求,以及,采用預設的流量控制策略,向所述第二節點集中的目標存儲節點發送所述降級讀請求;接收到所述第一節點集和/或所述目標存儲節點中的第二數量的存儲節點返回的數據塊時,根據所述第二數量的存儲節點返回的數據塊,對所述異常數據塊進行數據恢復;所述第二數量,大于或者等于所述第一數量。
[0006]可選地,從所述存儲系統的未異常存儲節點中,確定第一節點集以及第二節點集,包括:確定所述存儲系統的訪問壓力;根據所述存儲系統的訪問壓力,從所述存儲系統的未異常存儲節點中,確定大于或等于所述第一數量的存儲節點,得到所第一節點集;以及,將所述未異常存儲節點中除所述第一節點集之外的存儲節點,作為所述第二節點集。
[0007]可選地,采用預設的流量控制策略,向所述第二節點集中的目標存儲節點發送降級讀請求,包括:若設定時間范圍內接收到的與所述異常數據塊關聯的數據塊的數量小于所述第二數量,則采用預設的流量控制策略,向所述第二節點集中的目標存儲節點發送降級讀請求。
[0008]可選地,采用預設的流量控制策略,向所述第二節點集中的目標存儲節點發送降
級讀請求,包括:將針對所述第二節點集中的存儲節點的降級讀請求添加到流量控制隊列中;在所述存儲系統滿足預設的流量控制條件時,從所述流量控制隊列中選取所述目標存儲節點對應的降級讀請求;向所述目標存儲節點發送對應的降級讀請求。
[0009]可選地,所述流量控制條件,包括:在單位時間內向所述存儲系統發出的請求的數量位于設定數量范圍;或者,在單位時間內向所述存儲系統發出的請求的流量帶寬位于設定帶寬范圍;或者,在單位時間內向所述存儲系統發出的請求的發送速度位于設定速度范圍。
[0010]可選地,在所述存儲系統滿足預設的流量控制條件時,從所述流量控制隊列中選取所述目標存儲節點對應的降級讀請求,包括:在所述存儲系統滿足預設的流量控制條件時,根據所述存儲系統滿足的流量控制條件的等級,確定待發送的冗余降級讀請求的數量;根據所述待發送的冗余降級讀請求的數量,從所述流量控制隊列中選取降級讀請求,得到所述目標存儲節點對應的降級讀請求。
[0011]可選地,在所述存儲系統滿足預設的流量控制條件時,從所述流量控制隊列中選取所述目標存儲節點對應的降級讀請求,包括:在所述存儲系統滿足預設的流量控制條件時,從所述第二節點集中,確定處于輕載狀態或者均衡狀態的存儲節點,作為所述目標存儲節點;從所述流量控制隊列中,選取所述目標存儲節點對應的降級讀請求。
[0012]本申請實施例還提供一種存儲系統,包括:客戶端以及多個存儲節點;其中,所述多個存儲節點,用于存儲目標數據的多個數據塊;所述多個數據塊包括:所述目標數據的第一數量的原始數據塊以及所述第一數量的原始數據塊生成的校驗數據塊;以及,在接收到所述客戶端發送的針對異常數據塊的降級讀請求時,向所述客戶端返回所述異常數據塊關聯的數據塊;所述客戶端用于:檢測到所述多個存儲節點中存在任一異常存儲節點時,從未異常存儲節點中,確定第一節點集以及第二節點集;所述第一節點集中的存儲節點的數量大于或等于所述第一數量;向所述第一節點集中的存儲節點發送針對所述異常存儲節點中的異常數據塊的降級讀請求,以及,采用預設的流量控制策略,向所述第二節點集中的目標存儲節點發送所述降級讀請求;接收到所述第一節點集和/或所述目標存儲節點中的第二數量的存儲節點返回的數據塊時,根據所述第二數量的存儲節點返回的數據塊,對所述異常數據塊進行數據恢復;所述第二數量,大于或者等于所述第一數量。
[0013]可選地,所述客戶端在采用預設的流量控制策略,向所述第二節點集中的目標存儲節點發送降級讀請求時,具體用于:將針對所述第二節點集中的存儲節點的降級讀請求添加到流量控制隊列中;在所述存儲系統滿足預設的流量控制條件時,從所述流量控制隊列中選取所述目標存儲節點對應的降級讀請求;向所述目標存儲節點發送對應的降級讀請求。
[0014]本申請實施例還提供一種電子設備,包括:存儲器和處理器;所述存儲器用于存儲一條或多條計算機指令;所述處理器用于執行所述一條或多條計算機指令以用于:執行本申請實施例提供的方法中的步驟。
[0015]本申請實施例還提供一種存儲有計算機程序的計算機可讀存儲介質,計算機程序被處理器執行時能夠實現本申請實施例提供的方法中的步驟。
[0016]本申請實施例提供的數據恢復方法中,存儲系統中的多個存儲節點,用于存儲目標數據的多個數據塊,該多個數據塊包括:目標數據的第一數量的原始數據塊以及第一數
量的原始數據塊生成的校驗數據塊。客戶端觸發降級讀操作時,優先讀取至少第一數量個存儲節點中的數據塊,并基于流量控制策略控制向冗余存儲節點讀取數據塊的速度,使得降級讀操作對存儲系統造成的壓力是靈活可控的。從而,當存儲系統的訪問壓力較大時,可基于流量控制策略降低對存儲系統增加較大的額外訪問壓力的風險,當存儲系統的訪問壓力較小時,可通過至少第一數量的存儲節點以及冗余存儲節點快速接收到足夠數量的數據塊,從而有效降低降級讀操作的時延毛刺,尤其是長尾時延毛刺。
附圖說明
[0017]此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0018]圖1為本申請一示例性實施例提供的存儲系統的結構示意圖;
[0019]圖2為本申請一示例本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種數據恢復方法,其中,目標數據的多個數據塊存儲在存儲系統的多個存儲節點上;所述多個數據塊包括:所述目標數據的第一數量的原始數據塊以及所述第一數量的原始數據塊生成的校驗數據塊;所述方法包括:檢測到存儲系統存在任一異常存儲節點時,從所述存儲系統的未異常存儲節點中,確定第一節點集以及第二節點集;所述第一節點集中的存儲節點的數量大于或等于所述第一數量;向所述第一節點集中的存儲節點發送針對所述異常存儲節點中的異常數據塊的降級讀請求,以及,采用預設的流量控制策略,向所述第二節點集中的目標存儲節點發送所述降級讀請求;接收到所述第一節點集和/或所述目標存儲節點中的第二數量的存儲節點返回的數據塊時,根據所述第二數量的存儲節點返回的數據塊,對所述異常數據塊進行數據恢復;所述第二數量,大于或者等于所述第一數量。2.根據權利要求1所述的方法,其中,從所述存儲系統的未異常存儲節點中,確定第一節點集以及第二節點集,包括:確定所述存儲系統的訪問壓力;根據所述存儲系統的訪問壓力,從所述存儲系統的未異常存儲節點中,確定大于或等于所述第一數量的存儲節點,得到所第一節點集;以及,將所述未異常存儲節點中除所述第一節點集之外的存儲節點,作為所述第二節點集。3.根據權利要求1所述的方法,其中,采用預設的流量控制策略,向所述第二節點集中的目標存儲節點發送降級讀請求,包括:若設定時間范圍內接收到的與所述異常數據塊關聯的數據塊的數量小于所述第二數量,則采用預設的流量控制策略,向所述第二節點集中的目標存儲節點發送降級讀請求。4.根據權利要求1所述的方法,其中,采用預設的流量控制策略,向所述第二節點集中的目標存儲節點發送降級讀請求,包括:將針對所述第二節點集中的存儲節點的降級讀請求添加到流量控制隊列中;在所述存儲系統滿足預設的流量控制條件時,從所述流量控制隊列中選取所述目標存儲節點對應的降級讀請求;向所述目標存儲節點發送對應的降級讀請求。5.根據權利要求4所述的方法,其中,所述流量控制條件,包括:在...
【專利技術屬性】
技術研發人員:魏舒展,趙亞飛,吳益群,董元元,
申請(專利權)人:阿里巴巴中國有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。