System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及智能監控領域,具體而言,涉及一種存儲系統的修復方法及裝置、存儲介質及電子裝置。
技術介紹
1、當前科學技術迅速發展,互聯網、云計算、物聯網、醫學和地理科學等領域創造產生大量數據,包括中國在內的許多國家已經將發展大數據提高至國家戰略高度,人類已經進入了大數據的時代。信息網絡技術迅速發展,數據爆炸式增長,給存儲行業帶來前所未有的巨大壓力。隨著個人計算機性能的提升和網絡技術的普及,越來越多的企業開始改用分布式存儲系統。分布式存儲系統是由存儲技術與網絡技術結合產生的
,廣泛應用于海量數據存儲,系統中的存儲節點在地理上分布在廣闊的區域并通過網絡連接。分布式存儲系統的組成節點是價格低廉的商用個人計算機,所以這種存儲系統易于擴展。但是,根據理論分析,組成系統的廉價節點數目越多系統的可靠性越差。各項研究表明,現在的大型分布式存儲系統由于硬盤故障、網絡故障、惡意攻擊和自然災害等原因,數據失效時常態。因此如何有效地保證系統可靠性和數據可用性是亟待解決的問題。
2、現有技術中一般通過增加冗余來提高系統穩定性,傳統的復制編碼方案一般通過多副本機制來實現。這種冗余方式的優點是高修復效率、低網絡帶寬。但這些優點是建立在犧牲大量存儲開銷和維護開銷的基礎上,因此,這種方式難以滿足現在大數據時代對存儲的需求。因此更多的分布式存儲系統采用糾刪編碼存儲數據,傳統的糾刪編碼提高了存儲效率,糾刪編碼數據修復時需要從多個節點讀取數據,從而帶來了更高的數據修復帶寬開銷。為改進糾刪編碼,dimakis等人提出了再生編碼,以在不使用副本的情況下減少修
3、上述再生編碼和局部性修復編碼都是在存儲節點具有相等的存儲容量,并且新生節點從每個幫助節點獲取相等信息量的假設上提出的。目前實際網絡中,不同節點的存儲開銷和修復帶寬不盡相同,如內容交付網絡和傳感器網絡。可變的節點存儲容量和修復帶寬可以有效降低系統的存儲開銷和修復帶寬,節省系統的網絡資源。
4、現代分布式存儲系統的主流架構是基于大型企業數據存儲的層次架構,在實際的數據存儲中,通常采用兩層網絡結構,以機架為單位進行部署。2019年侯韓旭等人針對多機架模型提出了機架感知再生碼的精確修復結構,可以實現最小存儲冗余和最小跨機架修復帶寬,但僅研究了單節點故障的情況。
5、而實際的分布式存儲系統多為基于大型企業數據存儲的分層架構,這導致系統在修復節點時需要使用機架間網絡進行通信,然而機架間網絡資源較為稀缺,跨機架修復成本比較高,修復效率和集群性能受到了制約。因此,現有技術研究存在著許多不足:現有技術僅對但節點故障進行了探討,而多節點故障在實際系統中頻發,導致在進行數據修復時,會帶來較大的修復帶寬,維護開銷大。
6、針對相關技術中,現有的存儲系統修復方案在進行數據修復時,會帶來較大的修復帶寬,導致維護開銷大的問題,目前尚未提出有效的解決方案。
7、因此,有必要對相關技術予以改良以克服相關技術中的所述缺陷。
技術實現思路
1、本申請實施例提供了一種存儲系統的修復方法及裝置、存儲介質及電子裝置,以至少解決相關技術中,現有的存儲系統修復方案在進行數據修復時,會帶來較大的修復帶寬,導致維護開銷大的問題。
2、根據本申請實施例的一方面,提供了一種存儲系統的修復方法,包括:在檢測到存儲系統中存在故障節點的情況下,確定目標機架的故障節點的數量f,其中,所述存儲系統包括所述目標機架,故障節點為所述存儲系統中出現故障的存儲節點,f為正整數;根據所述f與r的第一大小關系、所述f與n的第二大小關系確定所述目標機架的修復方式,其中,r和n均為正整數,r小于n,r為預設節點數量閾值,n為所述存儲系統中單個機架的存儲節點的總數;按照所述修復方式從幸存節點下載編碼塊,根據所述編碼塊生成新生節點,并根據所述新生節點修復所述目標機架中的故障節點,其中,所述幸存節點為所述存儲系統中未出現故障的存儲節點,所述存儲節點中均存儲有編碼塊。
3、進一步地,根據所述f與r的第一大小關系、所述f與n的第二大小關系確定所述目標機架的修復方式,包括:在所述f小于或等于所述r的情況下,確定所述目標機架的修復方式為節點本地修復;在所述f大于所述r、且所述f小于所述n的情況下,確定所述目標機架的修復方式為節點合作修復;在所述f等于所述n的情況下,確定所述目標機架的修復方式為機架修復。
4、進一步地,按照所述修復方式從幸存節點下載編碼塊,根據所述編碼塊生成新生節點,并根據所述新生節點修復所述目標機架中的故障節點,包括:在所述修復方式為節點本地修復的情況下,從d個本地幫助節點的每個本地幫助節點中下載β個編碼塊,其中,所述本地幫助節點為所述目標機架中故障節點之外的存儲節點,d,β為正整數;根據獲取到的d*β個編碼塊生成第t個新生節點,并根據所述第t個新生節點修復所述目標機架中的第t個故障節點,其中,t為正整數,t為1,2,…f。
5、進一步地,按照所述修復方式從幸存節點下載編碼塊,根據所述編碼塊生成新生節點,并根據所述新生節點修復所述目標機架中的故障節點,包括:在所述修復方式為節點合作修復的情況下,從n-f+i個本地幫助節點的每個本地幫助節點中下載β1個編碼塊,并從dc個可用機架的每個可用機架中下載βc個編碼塊,其中,所述本地幫助節點為所述目標機架中故障節點之外的存儲節點,所述可用機架為所述存儲系統中所述目標機架之外的機架,所述βc個編碼塊為所述可用機架中跨機架幫助節點所存儲編碼塊的線性組合,所述跨機架幫助節點為所述可用機架中的幸存節點;根據獲取到的(n-f+i)*β1+dc*βc個編碼塊生成第i+1個新生節點,并根據所述第i+1個新生節點修復所述目標機架中的第i+1個故障節點,其中,i為整數,i為0,1,2,…f-r-1;以及,從d個本地幫助節點的每個本地幫助節點中下載β個編碼塊,根據獲取到的d*β個編碼塊生成第j+1個新生節點,并根據所述第j+1個新生節點修復所述目標機架中的第j+1個故障節點,其中,j為正整數,j為f-r,f-r+1,…f-1。
6、進一步地,按照所述修復方式從幸存節點下載編碼塊,根據所述編碼塊生成新生節點,并根據所述新生節點修復所述目標機架中的故障節點,包括:在所述修復方式為機架修復的情況下,從m-1個可用機架的每個可用機架中下載βc個編碼塊,根據獲取到的(m-1)*βc個編碼塊生成第一個新生節點,并根據所述第一個新生節點修復所述目標機架中的第一個故障節點,其中,m為所述存儲系統的機架數量,m為正整數,所述可用機架為所述存儲系統中所述目標機架之外的機架,所述βc個編碼塊為所述可用機架中跨機架幫助節點所存儲編碼塊的線性組合,所述跨機架幫助節點為本文檔來自技高網...
【技術保護點】
1.一種存儲系統的修復方法,其特征在于,包括:
2.根據權利要求1所述的存儲系統的修復方法,其特征在于,根據所述f與r的第一大小關系、所述f與n的第二大小關系確定所述目標機架的修復方式,包括:
3.根據權利要求2所述的存儲系統的修復方法,其特征在于,按照所述修復方式從幸存節點下載編碼塊,根據所述編碼塊生成新生節點,并根據所述新生節點修復所述目標機架中的故障節點,包括:
4.根據權利要求2所述的存儲系統的修復方法,其特征在于,按照所述修復方式從幸存節點下載編碼塊,根據所述編碼塊生成新生節點,并根據所述新生節點修復所述目標機架中的故障節點,包括:
5.根據權利要求2所述的存儲系統的修復方法,其特征在于,按照所述修復方式從幸存節點下載編碼塊,根據所述編碼塊生成新生節點,并根據所述新生節點修復所述目標機架中的故障節點,包括:
6.根據權利要求1所述的存儲系統的修復方法,其特征在于,所述方法還包括:
7.根據權利要求3至5任一項所述的存儲系統的修復方法,其特征在于,根據所述新生節點修復所述目標機架中的故障節點之后,所述
8.根據權利要求7所述的存儲系統的修復方法,其特征在于,所述目標函數包括:
9.一種存儲系統的修復裝置,其特征在于,包括:
10.一種計算機可讀的存儲介質,其特征在于,所述計算機可讀的存儲介質包括存儲的程序,其中,所述程序運行時執行上述權利要求1至8任一項中所述的方法。
11.一種電子裝置,包括存儲器和處理器,其特征在于,所述存儲器中存儲有計算機程序,所述處理器被設置為通過所述計算機程序執行所述權利要求1至8任一項中所述的方法。
...【技術特征摘要】
1.一種存儲系統的修復方法,其特征在于,包括:
2.根據權利要求1所述的存儲系統的修復方法,其特征在于,根據所述f與r的第一大小關系、所述f與n的第二大小關系確定所述目標機架的修復方式,包括:
3.根據權利要求2所述的存儲系統的修復方法,其特征在于,按照所述修復方式從幸存節點下載編碼塊,根據所述編碼塊生成新生節點,并根據所述新生節點修復所述目標機架中的故障節點,包括:
4.根據權利要求2所述的存儲系統的修復方法,其特征在于,按照所述修復方式從幸存節點下載編碼塊,根據所述編碼塊生成新生節點,并根據所述新生節點修復所述目標機架中的故障節點,包括:
5.根據權利要求2所述的存儲系統的修復方法,其特征在于,按照所述修復方式從幸存節點下載編碼塊,根據所述編碼塊生成新生節點,并根據所述新生節點修復所...
【專利技術屬性】
技術研發人員:曾心儀,郭玉章,
申請(專利權)人:中國建設銀行股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。