數據處理方法及裝置制造方法
【專利摘要】本發明公開了一種數據處理方法及裝置,屬于存儲【技術領域】。該方法包括:接收寫數據請求,寫數據請求包括邏輯地址和數據;為邏輯地址分配物理地址;根據接收寫數據請求的時間信息,創建映射關系,映射關系包括關鍵信息與數據的對應關系,關鍵信息包括時間信息、邏輯地址和物理地址;將映射關系保存在存儲器中。本發明對于同一個邏輯地址在不同時間寫入的數據,以不同的物理地址和不同的時間信息進行保存,從而在后續的恢復過程中,可以基于隨機時間點進行恢復,且不對數據進行實際備份,減少了對系統資源的占用。
【專利說明】數據處理方法及裝置
【技術領域】
[0001]本發明涉及存儲【技術領域】,特別涉及一種數據處理方法及裝置。
【背景技術】
[0002]目前,在存儲系統中通常采用快照的方式來實現數據備份。預先設置好進行快照的時間點,定時對IO請求中待寫入的地址中存儲的數據進行快照,當需要恢復某個時間點的數據時,再將快照數據轉化為備份或副本數據。但是這種技術無法將數據恢復到任意時間點,而只能恢復到快照時間點。
【發明內容】
[0003]為了解決現有技術的問題,本發明實施例提供了一種數據處理方法及裝置。所述技術方案如下:
[0004]第一方面,提供了一種數據處理方法,所述方法應用于存儲設備中,所述存儲設備包括存儲器,所述方法包括:
[0005]所述存儲設備接收寫數據請求,所述寫數據請求包括邏輯地址和數據;
[0006]為所述邏輯地址分配物理地址;
[0007]根據接收所述寫數據請求的時間信息,創建映射關系,所述映射關系包括關鍵信息與所述數據的對應關系,所述關鍵信息包括所述時間信息、所述邏輯地址和所述物理地址;
[0008]將所述映射關系保存在所述存儲器中。
[0009]結合第一方面,在本發明實施例提供的第一種可能實現方式中,還包括:接收讀數據請求,所述讀數據請求包括所述邏輯地址;
[0010]確定所述邏輯地址對應的最新的時間是所述時間信息;
[0011]根據所述映射關系,確定所述時間信息對應的物理地址;
[0012]根據所述物理地址,獲得所述數據。
[0013]結合第一方面上述任一種可能實現方式,在第一方面提供的第二種可能實現方式中,還包括:預先設置保護時間段;
[0014]確定所述時間信息在所述保護時間段內。
[0015]結合第一方面上述任一種可能實現方式,在第一方面提供的第三種可能實現方式中,還包括:所述讀數據請求還攜帶指定時間信息,根據所述物理地址,獲得所述數據之前還包括:
[0016]確定所述時間信息為所述存儲器中所保存的映射關系中在所述指定時間信息之前且與所述指定時間信息之間時間間隔最短的時間信息。
[0017]結合第一方面上述任一種可能實現方式,在第一方面提供的第四種可能實現方式中,還包括:當所述寫數據請求所攜帶的邏輯地址為源LUN時,釋放所述時間信息之后的時間信息對應的映射關系中的物理地址。[0018]第二方面,提供了一種數據處理裝置,所述裝置包括:
[0019]接收模塊,用于接收寫數據請求,所述寫數據請求包括邏輯地址和數據;
[0020]分配模塊,用于為所述邏輯地址分配物理地址;
[0021]映射關系創建模塊,用于根據接收所述寫數據請求的時間信息,創建映射關系,所述映射關系包括關鍵信息與所述數據的對應關系,所述關鍵信息包括所述時間信息、所述邏輯地址和所述物理地址;
[0022]保存模塊,用于保存所述映射關系。
[0023]結合第二方面,在第二方面提供的第一種可能實現方式中,還包括:所述接收模塊還用于接收讀數據請求,所述讀數據請求包括所述邏輯地址;
[0024]所述裝置還包括:時間信息確定模塊,用于確定所述邏輯地址對應的最新的時間是所述時間信息;
[0025]物理地址確定模塊,用于根據所述映射關系,確定所述時間信息對應的物理地址;
[0026]獲取模塊,用于根據所述物理地址,獲得所述數據。
[0027]結合第二方面的上述任一可能實現方式,在第二方面提供的第二種可能實現方式中,所述裝置還包括:
[0028]設置模塊,用于預先設置保護時間段;
[0029]所述時間信息確定模塊還用于確定所述時間信息在所述保護時間段內。
[0030]結合第二方面,在第二方面提供的第三種可能實現方式中,所述讀數據請求還攜帶指定時間信息,所述處理器還用于確定所述時間信息為所述存儲器中所保存的映射關系中在所述指定時間信息之前且與所述指定時間信息之間時間間隔最短的時間信息。
[0031]結合第二方面的上述任一可能實現方式,在第二方面提供的第四種可能實現方式中,所述裝置還包括:
[0032]釋放模塊,用于當所述寫數據請求所攜帶的邏輯地址為源LUN時,釋放所述時間信息之后的時間信息對應的映射關系中的物理地址。
[0033]本發明實施例提供的技術方案帶來的有益效果是:
[0034]通過該存儲設備接收寫數據請求,該寫數據請求包括邏輯地址和數據,為該邏輯地址分配物理地址,根據接收該寫數據請求的時間信息,創建映射關系,該映射關系包括關鍵信息與該數據的對應關系,該關鍵信息包括該時間信息、該邏輯地址和該物理地址,將該映射關系保存在該存儲器中。采用本發明實施例提供的方法,使得在接收到寫數據請求時,建立包括該寫數據請求發生的時間信息、寫數據請求的邏輯地址以及為當前寫數據請求所分配的物理地址之間的映射關系,對于同一個邏輯地址在不同時間寫入的數據,以不同的物理地址和不同的時間信息進行保存,從而在后續的恢復過程中,可以基于隨機時間點進行恢復,且不對數據進行實際備份,減少了對系統資源的占用。
【專利附圖】
【附圖說明】
[0035]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0036]圖1a是本發明實施例提供的應用場景圖;
[0037]圖1是本發明實施例提供的數據處理方法流程圖;
[0038]圖2是本發明實施例提供的數據處理方法流程圖;
[0039]圖3是本發明實施例提供的數據恢復的流程圖;
[0040]圖4是本發明實施例提供的存儲設備的示意圖;
[0041]圖5是本發明實施例提供的一種數據處理裝置的結構示意圖。
【具體實施方式】
[0042]為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述。
[0043]本發明實施例提供的數據處理方法可以在存儲系統上實現,如圖1a所示,該存儲系統包括主機、存儲設備和連接設備。
[0044]主機可以包括當前技術已知的任何計算設備,如服務器、臺式計算機等等。在主機內部,安裝有操作系統以及其他應用程序。
[0045]存儲設備可以包括當前技術已知的存儲設備,如獨立磁盤冗余陣列(RedundantArrays of Independent Disks, RAID)、磁盤族(Just a Bunch Of Disks, JBOD)、直接存取存儲器(Direct Access Storage Device, DASD)的一個或多個互連的磁盤驅動器,諸如磁帶庫、一個或多個存儲單元的磁帶存儲設備。
[0046]連接設備可以包括當前技術已知的存儲設備和主機之間的任何接口,如光纖交換機,或者其他現有的交換機。
[0047]需要說明的是,對于大多數存儲設備而言,并不直接對操作系統呈現存儲設備所包含的物理磁盤本身,而是將各物理磁盤提供的存儲空間映射為一段邏輯區域,即邏輯存儲單元(Logical Unit Number, LUN),供用戶使用。因此,操作系統對磁盤進行的讀寫操作實際上是在LUN層面進行的操作。
[0048]而對于存儲設備來說,為例簡化存儲資源的配置管理,提出了一種自動精簡配置技術,該自動精簡配置技術是從傳統的空間分配方式直接演化而來的一中存儲虛擬化技術,自動精簡配置技術不會一次性的劃分過大的空間給主機的某個應用程序,而是根據該應用程序實際所需要的容量,多次的少量的分配給應用程序,當該應用程序所產生的數據增長,分配的容量空間已不夠的時候,會再次從存儲設備中補充分配一部分存儲空間。在自動精簡配置技術中,在接收到寫數據請求時,會根據寫數據請求所攜帶的邏輯地址,為該寫數據請求的數據分配物理地址,將數據按照分配的物理地址寫入存儲器后,會根據邏輯地址和分配的物理地址創建映射關系,以確定數據的邏輯存儲位置和實際存儲位置。
[0049]圖1是本發明實施例提供的一種數據處理方法的流程圖。該實施例的執行主體為存儲設備,參見圖1,該方法包括:
[0050]101、該存儲設備接收寫數據請求,該寫數據請求包括邏輯地址和數據。
[0051 ] 102、為該邏輯地址分配物理地址。
[0052]103、根據接收該寫數據請求的時間信息,創建映射關系,該映射關系包括關鍵信息與該數據的對應關系,該關鍵信息包括該時間信息、該邏輯地址和該物理地址。[0053]104、將該映射關系保存在該存儲器中。
[0054]本發明實施例提供的方法,通過該存儲設備接收寫數據請求,該寫數據請求包括邏輯地址和數據,為該邏輯地址分配物理地址,根據接收該寫數據請求的時間信息,創建映射關系,該映射關系包括關鍵信息與該數據的對應關系,該關鍵信息包括該時間信息、該邏輯地址和該物理地址,將該映射關系保存在該存儲器中。采用本發明實施例提供的方法,使得在接收到寫數據請求時,建立包括該寫數據請求發生的時間信息、寫數據請求的邏輯地址以及為當前寫數據請求所分配的物理地址之間的映射關系,對于同一個邏輯地址在不同時間寫入的數據,以不同的物理地址和不同的時間信息進行保存,從而在后續的恢復過程中,可以基于隨機時間點進行恢復,且不對數據進行實際備份,減少了對系統資源的占用。
[0055]圖2是本發明實施例提供的另一種數據處理方法的流程圖。該實施例的執行主體為存儲設備,參見圖2,該方法包括:
[0056]201、預先設置源LUN的保護時間段。
[0057]為了避免由于對所有數據均進行備份而造成的對存儲資源的過渡占用,可以預先設置源LUN的保護時間段,以保證所備份的數據均處于該保護時間段內。因此,在第一次進行數據備份之前,用戶可以在存儲設備提供的設置界面中設置源LUN (Logical UnitNumber,邏輯單元號)的保護時間段,如,可以將源LUN的保護時間段設置為最近一個月,或最近幾天等。存儲設備獲取用戶設置的源LUN的保護時間段,并將源LUN的保護時間段與該源LUN對應保存,在進行持續數據備份時,可以直接讀取該源LUN的保護時間段。
[0058]202、接收寫數據請求,所述寫數據請求包括邏輯地址和數據。
[0059]對于自動精簡配置技術來說,當接收到對源LUN的邏輯地址的寫數據請求時,則從空閑物理空間中為該邏輯地址分配物理地址。
[0060]203、為該邏輯地址分配物理地址。
[0061]該物理地址與該映射關系中已存儲的邏輯地址所對應的物理地址不同。
[0062]可選地,每當創建一個新的映射關系,則需要將該新的映射關系存儲于存儲器的相應區域,則每當接收到寫數據請求,則可以判斷當前存儲器中是否有已存儲的映射關系,如果有,則判斷已存儲的映射關系中該邏輯地址所對應的時間信息中的最新時間信息是否在保護時間段中,當確定在保護時間段內,則為邏輯地址分配物理地址,如果確定在不保護時間段內,則將該最新時間信息對應的物理地址分配給該邏輯地址。當然,如果沒有,則無需進行判斷。
[0063]204、將該數據寫入該物理地址。
[0064]為邏輯地址分配了物理地址之后,將該寫數據請求對應的數據寫入該物理地址,當前該物理地址中保存了該邏輯地址對應的最新數據。
[0065]205、根據接收所述寫數據請求的時間信息,創建映射關系,所述映射關系包括關鍵信息與所述數據的對應關系,所述關鍵信息包括所述時間信息、所述邏輯地址和所述物理地址。
[0066]其中,時間信息為接收到該寫數據請求的時間。已存儲的映射關系可以包括多組映射關系,每組映射關系中均包括時間信息、所述邏輯地址和所述物理地址與數據的對應關系。對于每個寫數據請求,數據均存儲于不同的物理地址中,且對于同一個邏輯地址來說,其可以對應多個數據,每個數據均對應于不同的物理地址、時間信息。[0067]206、將映射關系保存在存儲器中。
[0068]其中,每一個映射關系包括KEY值以及與該KEY值對應的VALUE值,且任意兩個映射關系的KEY值均不相同,使得每一個映射關系的KEY值僅與其本身的VALUE值對應,存儲設備可以通過KEY值找到與之唯一對應的VALUE值。為了能夠記錄持續備份的多個數據的邏輯地址、時間信息和物理地址的對應關系,映射關系的KEY值包括邏輯地址和時間信息,VALUE值包括物理地址。如果當前已保存了多項映射關系,則可以根據新創建的映射關系對其進行更新。
[0069]例如,在本次寫數據請求之前,存儲設備保存的映射關系可以用LUN映射表的形式表示,該LUN映射表如表1所示,LUN映射表中包括3個映射關系,分別為KEY值源LUN的邏輯地址LI和寫入時間Tl對應于VALUE值物理地址Pl,KEY值源LUN的邏輯地址L2和寫入時間Tl對應于VALUE值物理地址P2,KEY值源LUN的邏輯地址L3和寫入時間Tl對應于VALUE值物理地址P3,當存儲設備在T2時刻對源LUN的邏輯地址LI進行寫數據請求時,則第一邏輯地址為LI,第一物理地址為Pl,假設存儲設備獲取到源LUN的保護時間段為5天,Tl在T2之前I天,則可以獲知Tl在源LUN的保護時間段內,則為第一邏輯地址LI分配第二物理地址P4,存儲設備將寫數據請求對應的數據寫入第二物理地址P4,在LUN映射表中創建KEY值為LI和T2,VALUE值為P4的映射關系,如表2所示,更新后的LUN映射表中包括原有的表1中的3個映射關系,以及剛創建的I個映射關系,該剛創建的I個映射關系為KEY值源LUN的邏輯地址LI和寫入時間T2對應于VALUE值物理地址P4。
[0070]表1
[0071]
【權利要求】
1.一種數據處理方法,其特征在于,所述方法應用于存儲設備中,所述存儲設備包括存儲器,所述方法包括: 所述存儲設備接收寫數據請求,所述寫數據請求包括邏輯地址和數據; 為所述邏輯地址分配物理地址; 根據接收所述寫數據請求的時間信息,創建映射關系,所述映射關系包括關鍵信息與所述數據的對應關系,所述關鍵信息包括所述時間信息、所述邏輯地址和所述物理地址; 將所述映射關系保存在所述存儲器中。
2.根據權利要求1所述的方法,其特征在于,還包括:接收讀數據請求,所述讀數據請求包括所述邏輯地址; 確定所述邏輯地址對應的最新的時間是所述時間信息; 根據所述映射關系,確定所述時間信息對應的物理地址; 根據所述物理地址,獲得所述數據。
3.根據權利要求1所述的方法,其特征在于,還包括: 預先設置保護時間段; 確定所述時間信息在所述保護時間段內。
4.根據權利要求2所述的方法,其特征在于,所述讀數據請求還攜帶指定時間信息,根據所述物理地址,獲得所述數據之前還包括:` 確定所述時間信息為所述存儲器中所保存的映射關系中在所述指定時間信息之前且與所述指定時間信息之間時間間隔最短的時間信息。
5.根據權利要求4所述的方法,其特征在于,當所述寫數據請求所攜帶的邏輯地址為源LUN時,釋放所述時間信息之后的時間信息對應的映射關系中的物理地址。
6.一種數據處理裝置,其特征在于,所述裝置包括: 接收模塊,用于接收寫數據請求,所述寫數據請求包括邏輯地址和數據; 分配模塊,用于為所述邏輯地址分配物理地址; 映射關系創建模塊,用于根據接收所述寫數據請求的時間信息,創建映射關系,所述映射關系包括關鍵信息與所述數據的對應關系,所述關鍵信息包括所述時間信息、所述邏輯地址和所述物理地址; 保存模塊,用于保存所述映射關系。
7.根據權利要求6所述的裝置,其特征在于, 所述接收模塊還用于接收讀數據請求,所述讀數據請求包括所述邏輯地址; 所述裝置還包括:時間信息確定模塊,用于確定所述邏輯地址對應的最新的時間是所述時間信息; 物理地址確定模塊,用于根據所述映射關系,確定所述時間信息對應的物理地址; 獲取模塊,用于根據所述物理地址,獲得所述數據。
8.根據權利要求7所述的裝置,其特征在于,所述裝置還包括: 設置模塊,用于預先設置保護時間段; 所述時間信息確定模塊還用于確定所述時間信息在所述保護時間段內。
9.根據權利要求7所述的裝置,其特征在于,所述讀數據請求還攜帶指定時間信息,所述處理器還用于確定所述時間信息為所述存儲器中所保存的映射關系中在所述指定時間信息之前且與所述指定時間信息之間時間間隔最短的時間信息。
10.根據權利要求7所述的裝置,其特征在于,所述裝置還包括: 釋放模塊,用于當所述寫數據請求所攜帶的邏輯地址為源LUN時,釋放所述時間信息之后的時間 信息對應的映射關系中的物理地址。
【文檔編號】G06F11/14GK103761190SQ201310704287
【公開日】2014年4月30日 申請日期:2013年12月19日 優先權日:2013年12月19日
【發明者】代海軍 申請人:華為技術有限公司