欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數據存儲方法及系統(tǒng)與流程

文檔序號:11949351閱讀:252來源:國知局
數據存儲方法及系統(tǒng)與流程
本發(fā)明涉及計算機網絡領域,尤其涉及一種數據存儲方法及系統(tǒng)。
背景技術
:分布式存儲系統(tǒng),是將數據按照一定規(guī)則切分并打散存儲在多臺獨立通用存儲存儲模塊上。傳統(tǒng)的網絡存儲系統(tǒng)采用集中的存儲存儲模塊存放所有數據,存儲存儲模塊成為系統(tǒng)性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規(guī)模存儲應用的需要,而分布式存儲系統(tǒng)采用可擴展的系統(tǒng)結構,利用多臺存儲存儲模塊分擔存儲負荷,利用位置存儲模塊定位存儲信息,它不但提高了系統(tǒng)的可靠性、可用性和存取效率,還易于擴展。存儲集群的成千上萬臺存儲模塊可以將數據充分冗余,從而可以顯著提高數據的安全性。在存儲領域,通常使用年故障率(AFR)來表征磁盤的可靠性,現在市場上通用的磁盤的AFR一般是4%左右,即如果一個集群中有365塊磁盤,那么一年中有磁盤損害的概率為pow(0.96,365)=0.9999996619351175,即一年中幾乎肯定有磁盤失效。而對于分布式存儲集群,實際上磁盤個數通常都達到了上千塊,因此應對磁盤損壞成為了每一個存儲系統(tǒng)都要解決的問題?,F有技術中,通過數據冗余來處理磁盤失效的問題,通常是每一份數據都可以存儲于三塊甚至更多塊磁盤上,當某塊磁盤失效時,可以依靠剩下的兩個副本做數據恢復,防止在磁盤損壞或者存儲模塊宕機時數據丟失。但實際上,數據恢復策略必須要得到完善的設計,否則還是會遇到數據丟失的問題。企業(yè)在搭建存儲集群時,通常都會同批次購買很多的存儲存儲模塊和磁盤,同批次的磁盤往往具備類似的硬件規(guī)格和驅動固件,即可能出現同時失效的情況,在這種情況下,某一塊磁盤開始失效之時,存儲于此塊磁盤上的數據都處于降級的狀態(tài),更壞的是,與之同批次的其他磁盤也隨之失效的概率就會提高,如果此時另外一塊磁盤也失效,則一部分數據將僅剩下一個存活的副本,并且降級程度進一步惡化,如果數據不能盡快修復,降級的數據可能會因最后一個副本所在的磁盤的失效而完全丟失。處理磁盤失效問題,通常的方案是增加副本數,即由原來的三副本策略修改為四副本,這種簡單粗暴的方案會嚴重增加企業(yè)的存儲成本,另外增加副本數之后,數據的寫入性能也會降低,因此不是一個好的方案。通常而言,用戶對于自己的數據都有重要性的區(qū)分。在磁盤出現故障從而產生數據丟失風險時,在同一塊磁盤上的文件重要性并不相同的情況下,一般是根據文件名進行排隊,再將數據從磁盤拷貝到新的磁盤中去,而一塊盤的數據量可以達到8T甚至更多,如果以100MB/s左右的帶寬寫入,則需要大概24小時才能恢復,采用這種無差別的數據恢復模式,對于這塊磁盤的某些重要數據而言,就有丟失的風險。技術實現要素:本發(fā)明實施例提供一種數據存儲方法及系統(tǒng),用以解決現有技術中存在存儲裝置失效時,進行無差別數據恢復時面臨數據丟失的問題。本發(fā)明實施例提供一種數據存儲方法,包括:將每組數據組均存儲到集群中的N個存儲裝置上,以形成數據組對應存儲陣列的映射列表和集群中剩余的可用存儲裝置列表;監(jiān)控集群中各存儲裝置的工作狀態(tài);當存在失效存儲裝置時,確定所述失效存儲裝置所在的至少一個存儲陣列、所述至少一個存儲陣列中剩余的存活存儲裝置及與所述至少一個存儲陣列相關的全部數據組;遍歷所述全部數據組,按照數據的優(yōu)先級,生成待遷移數據的遷移序列;從所述可用存儲裝置列表中選擇可用存儲裝置以替換所述至少一個存儲陣列中的失效存儲裝置;利用所確定的所述至少一個存儲陣列中剩余的存活存儲裝置向替換后的可用存儲裝置按照所述遷移序列遷移數據組。本發(fā)明實施例提供一種數據存儲系統(tǒng),包括:映射模塊,將每組數據組均存儲到集群中的N個存儲裝置上,以形成數據組對應存儲陣列的映射列表和集群中剩余的可用存儲裝置列表;監(jiān)控模塊,用于監(jiān)控集群中各存儲裝置的工作狀態(tài);遷移數據確定模塊,用于當存在失效存儲裝置時,確定所述失效存儲裝置所在的至少一個存儲陣列、所述至少一個存儲陣列中剩余的存活存儲裝置及與所述至少一個存儲陣列相關的全部數據組;遷移序列生成模塊,用于遍歷全部數據組,按照數據的優(yōu)先級,生成待遷移數據的遷移序列;存儲修復模塊,用于從所述可用存儲裝置列表中選擇可用存儲裝置以替換所述至少一個存儲陣列中的失效存儲裝置;數據遷移模塊,利用所確定的所述至少一個存儲陣列中剩余的存活存儲裝置向替換后的可用存儲裝置按照所述遷移序列遷移數據組。本發(fā)明實施例提供的用于分布式存儲的數據存儲方法及系統(tǒng),當系統(tǒng)中存在存儲裝置失效時,按照數據的優(yōu)先級,生成待遷移數據的遷移序列實現重要數據優(yōu)先修復,改變了現有技術中無差別的數據恢復模式,從而顯著提高數據安全性和可用性。附圖說明為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發(fā)明用于分布式存儲的數據存儲方法的流程圖;圖2為本發(fā)明數據存儲方法的一個實施例的流程圖;圖3為本發(fā)明數據存儲方法的另一個實施例的流程圖;圖4為本發(fā)明數據存儲系統(tǒng)的結構示意圖;圖5為本發(fā)明數據存儲系統(tǒng)的一個實施例結構示意圖。具體實施方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。根據本發(fā)明提供的一種用于分布式存儲的數據存儲方法,如圖1所示,該方法包括:將每組數據組均存儲到集群中的N個存儲裝置上,以形成數據組對應存儲陣列的映射列表和集群中的可用存儲裝置列表;監(jiān)控集群中各存儲裝置的工作狀態(tài);當存在失效存儲裝置時,確定所述失效存儲裝置所在的至少一個存儲陣列、所述至少一個存儲陣列中剩余的存活存儲裝置及與所述至少一個存儲陣列相關的全部數據組;遍歷所述全部數據組,按照數據的優(yōu)先級,生成待遷移數據的遷移序列;從所述可用存儲裝置列表中選擇可用存儲裝置以替換所述至少一個存儲陣列中的失效存儲裝置;利用所確定的所述至少一個存儲陣列中剩余的存活存儲裝置向替換后的可用存儲裝置按照所述遷移序列遷移數據組。在一些可選的實施例中,存儲裝置可以是各式存儲器,如RAM、ROM等,也可以是磁盤或軟盤等其他能夠存儲數據的存儲介質。在一些可選的實施例中,在每個存儲裝置上承載至少一組數據組,以便提高存儲裝置的利用率,降低存儲成本。在一些可選的實施例中,可用存儲裝置列表中既包括已經使用但還有足夠的空間去承載其他數據組的存儲裝置,又包括沒有被使用的存儲裝置。在一些可選的實施例中,將每組數據組均存儲到集群中的3個磁盤上,以形成數據組對應存儲陣列的映射列表和集群中的可用磁盤列表,所述映射列表中的部分列表如下表1所示,所述可用磁盤列表中的部分列表如下表2所示,表1:表2:可用磁盤列表d110d20在本實施例中,“dg+常數”用于標記不同的數據組,“d+常數”用于標記不同的磁盤,本發(fā)明在此方面沒有限制。在一些可選的實施例中,存儲陣列中存儲裝置的位置是有順序的,一方面,在存儲陣列中位置靠前的存儲裝置負責接收寫入的數據,并轉發(fā)給其所在存儲陣列中剩余的存儲裝置,另一方面,當存在失效存儲裝置時,利用位置靠前的存儲裝置向新的存儲裝置進行數據遷移。監(jiān)控映射列表中磁盤的工作狀態(tài),在一些可選的實施例中,可以通過不斷地對磁盤進行讀寫操作來監(jiān)控其工作狀態(tài),也可以通過每隔20s對磁盤進行一次讀寫操作,還可以利用現有技術中的監(jiān)控工具如smartmontools來監(jiān)控磁盤的工作狀態(tài)。請參考圖2,當剩余的存活存儲裝置的數量為兩個以上時,根據剩余的各存活存儲裝置在存儲陣列中的位置,生成存儲裝置恢復順序,具體而言,存儲裝置恢復順序可以為存儲陣列中存儲裝置的位置順序,利用位置靠前的存儲裝置向新的存儲裝置進行數據遷移。如磁盤d4失效時,確定其所在的存儲陣列包括(d4,d666,d77)和(d4,d8,d666),磁盤d4的待遷移數據組包括磁盤d666和磁盤d77所共有的數據組dg1和磁盤8和磁盤d666所共有的數據組dg2,由存活磁盤d666負責遷移數據組dg1,存活磁盤d8負責遷移數據組dg2,按照數據的優(yōu)先級,生成待遷移數據的序列,從可用磁盤列表中選擇可用磁盤如d110替換失效磁盤d4。本發(fā)明對存儲裝置恢復順序不做限制,本領域技術人員可以根據不同需求具體設定。在一些可選的實施例中,可以在確定磁盤d4失效之后立即從可用磁盤列表中選擇新的磁盤替換磁盤d4,也可以在確定磁盤d4失效后一定時間內如15分鐘內,磁盤d4沒有修復,則從可用磁盤列表中選擇新的磁盤替換磁盤d4。失效磁盤被替換后更新映射列表。在一些可選的實施例中,遍歷數據組dg1和數據組dg2中所有的文件,生成第一隊列和第二隊列,第一隊列先于第二隊列,隊列中存儲的是文件名而不是文件內容。具體而言,第一隊列中的文件為大于100M的文件,第二隊列中的文件為等于或小于100M的文件,文件越大在其隊列中的位置越靠前,也可以是第一隊列中的文件為讀寫大于熱度閾值的文件,第二隊列中的文件為等于或小于熱度閾值的文件熱度閾值根據用戶需求而定,還可以是第一隊列中的文件為特定時間段內創(chuàng)建的文件或讀寫過的文件,第二隊列中的文件為其他文件。本發(fā)明對生成遷移序列的方式不做限制,本領域技術人員可以根據不同需求具體設定。在一些可選的實施例中,可以先遍歷數據組dg1中的文件,生成遷移序列并按照遷移序列的順序進行遷移,然后再遍歷數據組dg2中的文件,生成遷移序列并按照遷移序列的順序進行遷移。在一些可選的實施例中,數據遷移完成之后從其所在隊列中將其刪除。請參考圖3,當失效存儲裝置的數量為兩個以上時,根據與所述失效存儲裝置對應的至少兩個可用存儲裝置在存儲陣列中的位置,生成存儲裝置恢復順序,具體而言,所述存儲裝置恢復順序可以為可用存儲裝置在存儲陣列的位置順序,位置靠前的可用存儲裝置先于位置靠后的可用存儲裝置。如存儲陣列(d4,d666,d77)中磁盤d4和磁盤d666均失效后,從可用磁盤列表中選擇可用磁盤d110替換失效磁盤d4,以及選擇可用磁盤d20替換失效磁盤d666,可用磁盤d110在存儲陣列中的位置比可用磁盤d20在存儲陣列中的位置靠前,優(yōu)先向可用磁盤d110遷移數據組。在一些可選的實施中,在利用所確定的所述至少一個存儲陣列中剩余的存活存儲裝置向替換后的新存儲裝置至少按照所述遷移序列遷移數據組期間,能夠響應請求更改所述遷移序列。具體而言,磁盤d4失效后,在利用存活磁盤d666向可用磁盤d110按照遷移序列遷移數據組期間,用戶請求優(yōu)先遷移文件file1,若遷移序列中沒有文件file1,通知用戶文件file1已遷移完成;若文件file1在第二隊列,將其轉移到第一隊列中,優(yōu)先進行遷移;若文件文件file1在第一隊列,通知用戶文件文件file1已經開始優(yōu)先遷移。根據本發(fā)明提供的一種用于分布式存儲的數據存儲系統(tǒng)1000,如圖4所示,該系統(tǒng)包括映射模塊100,將每組數據組均存儲到集群中的N個存儲裝置上,以形成數據組對應存儲陣列的映射列表和集群中剩余的可用存儲裝置列表;監(jiān)控模塊101,用于監(jiān)控集群中各存儲裝置的工作狀態(tài);遷移數據確定模塊102,用于當存在失效存儲裝置時,確定所述失效存儲裝置所在的至少一個存儲陣列、所述至少一個存儲陣列中剩余的存活存儲裝置及與所述至少一個存儲陣列相關的全部數據組;遷移序列生成模塊103,用于遍歷全部數據組,按照數據的優(yōu)先級,生成待遷移數據的遷移序列;存儲修復模塊104,用于從所述可用存儲裝置列表中選擇可用存儲裝置以替換所述至少一個存儲陣列中的失效存儲裝置;數據遷移模塊105,利用所確定的所述至少一個存儲陣列中剩余的存活存儲裝置向替換后的可用存儲裝置按照所述遷移序列遷移數據組。該數據存儲系統(tǒng)用于執(zhí)行上述數據存儲方法,并能達到與數據存儲方法相同的技術效果。在一些可選的實施中,所述數據存儲系統(tǒng)還包括人機交互接口,用于在數據遷移模塊利用所確定的所述至少一個存儲陣列中剩余的存活存儲裝置向替換后的新存儲裝置至少按照所述遷移序列遷移數據組期間,響應請求修改所述遷移序列。具體而言,磁盤d4失效后,在利用磁盤d666向磁盤d110按照遷移序列遷移數據組期間,用戶通過人機交互接口請求優(yōu)先遷移文件file1,若遷移序列中沒有文件file1,通知用戶文件file1已遷移完成;若文件file1在第二隊列,將其轉移到第一隊列中,優(yōu)先進行遷移;若文件文件file1在第一隊列,通知用戶文件文件file1已經開始優(yōu)先遷移。圖5為本申請實施例提供的又一種數據存儲系統(tǒng)1200的結構示意圖,本申請具體實施例并不對用戶設備1200的具體實現做限定。如圖5所示,該用戶設備1200可以包括:處理器(processor)1210、通信接口(CommunicationsInterface)1220、存儲器(memory)1230、以及通信總線1240。其中:處理器1210、通信接口1220、以及存儲器1230通過通信總線1240完成相互間的通信。通信接口1220,用于與比如客戶端等的網元通信。處理器1210,用于執(zhí)行程序1232,具體可以執(zhí)行上述方法實施例中的相關步驟。具體地,程序1232可以包括程序代碼,所述程序代碼包括計算機操作指令。處理器1210可能是一個中央處理器CPU,或者是特定集成電路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成實施本申請實施例的一個或多個集成電路。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件?;谶@樣的理解,上述技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,存儲模塊,或者網絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。當前第1頁1 2 3 
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
珠海市| 中卫市| 泸定县| 监利县| 全州县| 全州县| 台北县| 沾益县| 长泰县| 汕尾市| 井研县| 沁水县| 威远县| 长葛市| 钟祥市| 淮阳县| 广饶县| 五莲县| 迭部县| 湄潭县| 金阳县| 镇江市| 新竹市| 河源市| 临洮县| 永修县| 浪卡子县| 民勤县| 莱西市| 甘肃省| 淮北市| 合川市| 富顺县| 栾川县| 玉山县| 中超| 漳浦县| 鄱阳县| 尤溪县| 宜昌市| 平南县|