本發明專利技術公開了一種基于任務負載感知的糾刪碼歸檔方法及系統,屬于計算機存儲技術領域。本發明專利技術方法首先獲取糾刪碼集群中歸檔條帶的每個節點任務數和每個節點上含有的當前歸檔條帶數據分塊個數;之后選取任務數最小且含有當前歸檔條帶數據分塊較多的一個存儲節點作為編碼節點,并更新編碼節點的任務數;然后根據任務數最小原則和供給節點選取規則,依次選取所有數據分塊的供給節點,并且更新其任務數;最后編碼節點通過供給節點提供的數據分塊進行編碼計算,生成校驗分塊,完成歸檔任務。本發明專利技術還實現了一種基于任務負載感知的糾刪碼歸檔系統。本發明專利技術解決了現有歸檔方法中將大量歸檔任務集中分配到某個數據節點而導致的歸檔任務不均衡問題。
【技術實現步驟摘要】
一種基于任務負載感知的糾刪碼歸檔方法及系統
本專利技術屬于計算機存儲
,更具體地,涉及一種基于任務負載感知的糾刪碼歸檔方法及系統。
技術介紹
為了保障集群數據的可靠性和提高計算并行度,現有的分布式存儲集群(HDFS,GFS)大多使用副本形式保存數據,即每個數據塊在分布式集群中保存兩個或者三個副本。副本形式的數據存儲,雖然可以提高數據可靠性和并行度,但是存儲開銷較大,空間利用率不高。針對數據一次寫多次讀的集群環境,通過糾刪碼歸檔不經常被訪問的數據,可以降低數據的存儲開銷,提高存儲空間的利用率。在隨機布局歸檔過程中,負載不均衡是影響歸檔性能的重要因素。在現有的隨機布局歸檔中,一般都采用集中式數據歸檔和分布式數據歸檔。歸檔以條帶為單位,條帶主節點從條帶從節點獲取源數據,編碼出校驗數據。主節點還可以同時作為從節點,從本地磁盤獲取源數據。在集中式數據歸檔中,隨機選擇存儲集群中的一個節點作為所有條帶的編碼節點,編碼節點磁盤上的數據塊,直接以隨機讀的方式從磁盤獲取,編碼需要但是不在編碼節點磁盤上的數據塊則通過網絡傳輸的方式從其他節點上獲取。在分布式數據歸檔中,針對歸檔的每一個條帶,根據數據局部性,選擇局部性最大的數據節點作為該條帶的編碼節點,對于不在編碼主節點上的數據塊,通過網絡從其它節點上獲取。現有的隨機布局歸檔方案的主要存在以下問題:如果編碼節點需要通過網絡獲取大量的非本地數據塊,并且集群中的數據塊分布不均勻,即不同的存儲節點上存儲的數據塊數量差異較大,集群節點負載不均衡,那么整個集群的歸檔性能將會大幅度下降。
技術實現思路
針對現有技術的以上缺陷或改進需求,本專利技術提供了一種基于任務負載感知的糾刪碼歸檔方法及系統,其目的在于實時感知各存儲節點的任務負載,根據各存儲節點的任務負載實時更新編碼模塊和供給模塊,完成校驗數據的計算和分配,最終完成數據的歸檔,由此解決現有隨機布局歸檔方案中存在的:任務負載不均衡和任務堆積,進一步降低磁盤隨機讀的性能,以及網絡資源帶寬分配不均勻導致網絡性能降低的技術問題。為實現上述目的,按照本專利技術的一個方面,提供了一種基于任務負載感知的糾刪碼歸檔方法,該方法包括:(1)選取編碼節點:獲取當前歸檔條帶每個存儲節點的任務數和每個存儲節點所含有本條帶數據分塊的個數,選取任務數最小且含有當前條帶數據分塊最多的一個存儲節點作為編碼節點,編碼節點的任務數更新為任務數加糾刪碼的校驗分塊數;(2)選取供給節點:依次獲取當前條帶中各個數據分塊的供給節點,并更新供給節點的任務數;(3)編碼計算分配:編碼節點獲取所有供給節點中的數據分塊進行編碼計算,得到校驗分塊,并將校驗分塊傳輸給其他非供給節點;(4)循環編碼分配:判斷是否還有其他條帶沒有進行歸檔,若有則選定該條帶返回步驟(1);否則結束歸檔。進一步地,所述步驟(2)包括以下子步驟:(21)獲取當前數據分塊所在的所有存儲節點,選取任務數最小的存儲節點作為候選節點;(22)候選節點中若有編碼節點,則選編碼節點同時作為當前數據分塊的供給節點;(23)候選節點中若無編碼節點,則任選一個候選節點作為供給節點;供給節點任務數加1,編碼節點任務數加1;(24)判斷是否還有其他數據分塊沒有選取供給節點,若有則選定該數據分塊返回子步驟(21);否則結束供給節點的選擇。進一步地,所述步驟(3)包括以下子步驟:(31)每個供給節點從本地磁盤中讀取相應的數據分塊;非編碼節點的供給節點通過網絡將數據分塊發送給編碼節點;(32)編碼節點根據所有供給節點提供的數據分塊進行編碼計算,獲取校驗分塊;(33)編碼節點通過網絡將生成的校驗分塊傳輸給存儲集群中的非供給節點。按照本專利技術的另一方面,提供了一種基于任務負載感知的糾刪碼歸檔系統,該系統包括:編碼節點選取模塊,用于獲取當前歸檔條帶每個存儲節點的任務數和每個存儲節點所含有本條帶數據分塊的個數,選取任務數最小且含有當前條帶數據分塊最多的一個存儲節點作為編碼節點,編碼節點的任務數更新為任務數加糾刪碼的校驗分塊數;供給節點選取模塊,用于依次獲取當前條帶中各個數據分塊的供給節點,并更新供給節點的任務數;編碼計算分配模塊,用于利用編碼節點獲取所有供給節點中的數據分塊進行編碼計算,得到校驗分塊,并將校驗分塊傳輸給其他非供給節點;循環編碼分配模塊,用于判斷是否還有其他條帶沒有進行歸檔,若有則選定該條帶返回編碼節點選取模塊;否則結束歸檔。進一步地,所述供給節點選取模塊包括以下部分:候選節點選取單元,用于獲取當前數據分塊所在的所有存儲節點,選取任務數最小的存儲節點作為候選節點;第一供給節點選取單元,用于判斷若候選節點中有編碼節點,則選編碼節點同時作為當前數據分塊的供給節點;第二供給節點選取單元,用于判斷若候選節點中沒有編碼節點,則任選一個候選節點作為供給節點;供給節點任務數加1,編碼節點任務數加1;循環選取單元,用于判斷是否還有其他數據分塊沒有選取供給節點,若有則選定該數據分塊返回候選節點選取單元;否則結束供給節點的選擇。進一步地,所述編碼計算分配模塊包括以下部分:數據傳輸單元,用于控制每個供給節點從本地磁盤中讀取相應的數據分塊;非編碼節點的供給節點通過網絡將數據分塊發送給編碼節點;校驗獲取單元,用于控制編碼節點根據所有供給節點提供的數據分塊進行編碼計算,獲取校驗分塊;校驗儲存單元,用于控制編碼節點通過網絡將生成的校驗分塊傳輸給存儲集群中的非供給節點??傮w而言,通過本專利技術所構思的以上技術方案與現有技術相比,具有以下技術特征及有益效果:(1)本專利技術根據集群節點任務數,考慮整個集群節點的任務負載感知,同時考慮到節點數據的局部性,選取編碼節點和供給節點,實現了負載均衡的效果,提高整體歸檔性能;(2)本專利技術根據集群節點的工作情況,動態更新編碼節點和供給節點的任務數,再對整體進行優選選擇,減輕了網絡資源的競爭,實現高效歸檔的目標。附圖說明圖1是本專利技術方法的流程示意圖;圖2是本專利技術方法實施例的流程圖;圖3是本專利技術方法實施例中的數據塊分布圖;圖4是本專利技術方法實施例中的條帶1歸檔前后節點任務數示意圖;圖5是本專利技術方法實施例中的當前歸檔條帶1的歸檔數據流示意圖。具體實施方式為了使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。此外,下面所描述的本專利技術各個實施方式中所涉及到的技術特征只要彼此之間未構成沖突就可以相互組合。以下首先就本專利技術的相關術語進行解釋和說明:任務數:各條帶節點歸檔前任務數為當前條帶每個節點需要響應用戶請求的個數;各節點任務數的更新包括:編碼節點發送r個校驗分塊,其任務數加r;編碼節點每接收一個數據分塊,其任務數增加1;供給節點每傳輸一個數據分塊,其任務數增加1;糾刪碼歸檔:為保證數據可用性,數據通常按副本方式存放在存儲系統中,如雙副本、三副本;隨著系統的運行,這些副本數據的訪問頻度將降低,如果仍舊按副本方式進行存放,將導致很低的存儲空間利用率,如采用三副本備份方式的空間利用率僅為33.3%,為了提高存儲空間利用率,通常采用糾刪碼進行存放,將數據從副本方式轉存為糾刪碼方式的過程被稱為糾刪碼歸檔;節點數據塊以及條帶:在歸檔的編碼過程中,讀本文檔來自技高網...

【技術保護點】
一種基于任務負載感知的糾刪碼歸檔方法,其特征在于,該方法包括以下步驟:(1)選取編碼節點:獲取當前歸檔條帶每個存儲節點的任務數和每個存儲節點所含有本條帶數據分塊的個數,選取任務數最小且含有當前條帶數據分塊最多的一個存儲節點作為編碼節點,編碼節點的任務數更新為任務數加糾刪碼的校驗分塊數;(2)選取供給節點:依次獲取當前條帶中各個數據分塊的供給節點,并更新供給節點的任務數;(3)編碼計算分配:編碼節點獲取所有供給節點中的數據分塊進行編碼計算,得到校驗分塊,并將校驗分塊傳輸給其他非供給節點;(4)循環編碼分配:判斷是否還有其他條帶沒有進行歸檔,若有則選定該條帶返回步驟(1);否則結束歸檔。
【技術特征摘要】
1.一種基于任務負載感知的糾刪碼歸檔方法,其特征在于,該方法包括以下步驟:(1)選取編碼節點:獲取當前歸檔條帶每個存儲節點的任務數和每個存儲節點所含有本條帶數據分塊的個數,選取任務數最小且含有當前條帶數據分塊最多的一個存儲節點作為編碼節點,編碼節點的任務數更新為任務數加糾刪碼的校驗分塊數;(2)選取供給節點:依次獲取當前條帶中各個數據分塊的供給節點,并更新供給節點的任務數;(3)編碼計算分配:編碼節點獲取所有供給節點中的數據分塊進行編碼計算,得到校驗分塊,并將校驗分塊傳輸給其他非供給節點;(4)循環編碼分配:判斷是否還有其他條帶沒有進行歸檔,若有則選定該條帶返回步驟(1);否則結束歸檔。2.根據權利要求1所述的一種基于任務負載感知的糾刪碼歸檔方法,其特征在于,所述步驟(2)包括以下子步驟:(21)獲取當前數據分塊所在的所有存儲節點,選取任務數最小的存儲節點作為候選節點;(22)候選節點中若有編碼節點,則選編碼節點同時作為當前數據分塊的供給節點;(23)候選節點中若無編碼節點,則任選一個候選節點作為供給節點;供給節點任務數加1,編碼節點任務數加1;(24)判斷是否還有其他數據分塊沒有選取供給節點,若有則選定該數據分塊返回子步驟(21);否則結束供給節點的選擇。3.根據權利要求1或2所述的一種基于任務負載感知的糾刪碼歸檔方法,其特征在于,所述步驟(3)包括以下子步驟:(31)每個供給節點從本地磁盤中讀取相應的數據分塊;非編碼節點的供給節點通過網絡將數據分塊發送給編碼節點;(32)編碼節點根據所有供給節點提供的數據分塊進行編碼計算,獲取校驗分塊;(33)編碼節點通過網絡將生成的校驗分塊傳輸給存儲集群中的非供給節點。4.一種基于任務負載感知的糾刪碼歸檔系統,其特征在于,該系統包括以下部...
【專利技術屬性】
技術研發人員:黃建忠,曹強,謝長生,夏杰,周盼萍,王艷群,
申請(專利權)人:華中科技大學,
類型:發明
國別省市:湖北,42
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。