跨數據中心實現云存儲數據同步的方法和裝置制造方法
【專利摘要】本申請提供了跨數據中心實現云存儲數據同步的方法和裝置。本發明中,通過分別在源數據中心、目的數據中心建立云存儲系統,分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,比較從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,在前者大于后者時,從所述源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。這實現了跨數據中心實現云存儲數據同步,保證云存儲的高可靠性。
【專利說明】跨數據中心實現云存儲數據同步的方法和裝置
【技術領域】
[0001]本申請涉及計算機存儲技術,特別涉及跨數據中心實現云存儲數據同步的方法和裝置。
【背景技術】
[0002]云存儲是在云計算(Cloud Computing)概念上延伸和發展出來的。云計算是分布式處理(Distributed Computing)、并行處理(Parallel Computing)和網格計算(GridComputing)的發展,是透過網絡將龐大的計算處理程序自動分拆成無數個較小的子程序,再交由多部服務器所組成的龐大系統經計算分析之后將處理結果回傳給用戶。通過云計算技術,網絡服務提供者可以在數秒之內,處理數以千萬計甚至億計的信息,達到和”超級計算機”同樣強大的網絡服務。
[0003]云存儲的概念與云計算類似,它是指通過集群應用、網格技術或分布式文件系統等功能,將網絡中大量各種不同類型的存儲設備通過應用軟件集合起來協同工作,共同對外提供數據存儲和業務訪問功能的一個系統,保證數據的安全性,并節約存儲空。
[0004]目前,云存儲已經成為未來存儲發展的一種趨勢,但是,未來云存儲的發展趨勢,主要還是從安全性、可靠性、實用性等角度進行發展。而跨數據中心實現云存儲數據同步,滿足了云存儲在高可靠性的要求,其使得在一數據中心發生故障比如掉電甚至大規模停電等災難的情況下,依舊能從另一個數據中心恢復。
[0005]因此,跨數據中心實現云存儲數據同步的方法是當前亟待解決的技術問題。
【發明內容】
[0006]本申請提供了跨數據中心實現云存儲數據同步的方法和裝置,以跨數據中心實現云存儲數據同步,保證云存儲的高可靠性。
[0007]本申請提供的技術方案包括:
[0008]一種跨數據中心實現云存儲數據同步的方法,包括:
[0009]分別在源數據中心、目的數據中心建立云存儲系統,所述源數據中心、目的數據中心分處兩個不同位置,在源數據中心、目的數據中心建立的云存儲系統均包含元數據節點,在所述源數據中心建立的云存儲系統,稱為源云存儲系統,用于對外提供云存儲服務,在收到數據更新請求時,將所述數據更新請求對應的相關數據組織成一個單位數據單元,按照編號順序遞增的方式為所述單位數據單元分配編號,并將所述單位數據單元以及被分配的編號存儲在本地;在所述目的數據中心建立的云存儲系統,稱為目的云存儲系統,用于備份源云存儲系統;
[0010]分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,其中,如果目的云存儲系統的元數據節點本地未存儲單位數據單元,則默認目的云存儲系統的元數據節點本地單位數據單元的最大編號為設定值;[0011]比較從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,
[0012]如果前者等于后者,則等待設定時間,之后返回分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號的操作;
[0013]如果前者小于后者,則發出告警提示;
[0014]如果前者大于后者,則從所述源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。
[0015]一種跨數據中心實現云存儲數據同步的裝置,該裝置用于在源數據中心、目的數據中心之間進行數據同步,其中,所述源數據中心、目的數據中心分處兩個不同位置,且均建立了云存儲系統,在源數據中心、目的數據中心建立的云存儲系統均包含元數據節點,在所述源數據中心建立的云存儲系統,稱為源云存儲系統,用于對外提供云存儲服務,在收到數據更新請求時,將所述數據更新請求對應的相關數據組織成一個單位數據單元,按照編號順序遞增的方式為所述單位數據單元分配編號,并將所述單位數據單元以及被分配的編號存儲在本地;在所述目的數據中心建立的云存儲系統,稱為目的云存儲系統,用于備份源云存儲系統;
[0016]該裝置包括:
[0017]獲取單元,用于分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,其中,如果目的云存儲系統的元數據節點本地未存儲單位數據單元,則默認目的云存儲系統的元數據節點本地單位數據單元的最大編號為設定值;
[0018]比較單元,用于比較從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,
[0019]如果前者等于后者,則等待設定時間,之后返回分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號的操作;
[0020]如果前者小于后者,則發出告警提示;
[0021]如果前者大于后者,則發送通知給數據同步單元;
[0022]所述數據同步單元,用于從所述源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。
[0023]由以上技術方案可以看出,本發明中,通過分別在源數據中心、目的數據中心建立云存儲系統,分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,比較從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,在前者大于后者時,從所述源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。這實現了跨數據中心實現云存儲數據同步,保證云存儲的高可靠性。
【專利附圖】
【附圖說明】
[0024]圖1為本發明實施例提供的方法流程圖;
[0025]圖2為本發明實施例提供的步驟104實現流程圖;
[0026]圖3為本發明實施例提供的在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步的流程圖;
[0027]圖4為本發明實施例提供的裝置結構圖。
【具體實施方式】
[0028]為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。
[0029]本發明提供了跨數據中心實現云存儲數據同步的方法,下面通過圖1進行描述:
[0030]參見圖1,圖1為本發明實施例提供的方法流程圖。如圖1所示,該流程可包括以下步驟:
[0031]步驟101,分別在源數據中心、目的數據中心建立云存儲系統。
[0032]這里,源數據中心、目的數據中心分處兩個不同位置,兩地距離可能幾百公里,甚至上千公里。
[0033]本發明中,在源數據中心、目的數據中心建立云存儲系統,其結構類似,主要包括:元數據節點和Chunk節點,其中,元數據節點用于管理云存儲系統,主要存儲了一些文件的索引信息,而Chunk節點存儲了文件的具體內容。
[0034]在本發明中,為便于描述,將在所述源數據中心建立的云存儲系統,稱為源云存儲系統,該源云存儲系統在正常情況下對外提供云存儲服務,具體為:在收到數據更新請求時,將所述數據更新請求對應的相關數據組織成一個單位數據單元,按照編號順序遞增的方式為所述單位數據單元分配編號,并將所述單位數據單元以及被分配的編號存儲在本地;這里,所述數據更新請求一般包括:寫請求和/或刪除請求。比如,當源云存儲系統的元數據節點接收到寫請求時,則將該寫請求對應的相關數據組織成一個單位數據單元(稱為metalog),按照編號順序遞增的方式為所述單位數據單元分配編號,比如,在未收到該寫請求之前,本地單位數據單元已分配的最大編號為M,而在收到寫請求時,將該寫請求對應的相關數據組織成一個單位數據單元,為該單位數據單元分配編號M+1。之后,將所述單位數據單元以及被分配的編號存儲在本地。
[0035]作為本發明的一個實施例,所述數據更新請求對應的相關數據包括但不限于:
[0036]數據標識,所述數據標識為:文件或者文件夾的標識;
[0037]操作類型;其中,所述操作類型包括:修改、刪除、或創建。
[0038]其中,在數據標識為文件的標識時,所述數據更新請求對應的相關數據還包括文件中的內容在源云存儲服務系統存儲的路徑信息。
[0039]在本發明中,為便于描述,將在所述目的數據中心建立的云存儲系統,稱為目的云存儲系統,用于備份源云存儲系統。
[0040]步驟102,分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,其中,如果目的云存儲系統的元數據節點本地未存儲單位數據單元,則默認目的云存儲系統的元數據節點本地單位數據單元的最大編號為設定值。
[0041]作為本發明的一個實施例,步驟102中分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號是在目的數據中心建立目的云存儲系統是在源數據中心建立源云存儲系統之后的設定時間建立、且所述源云存儲系統依據數據更新請求完成數據更新后執行的。這里,所述設定時間是源云存儲系統和目的云存儲系統建立相隔的時間。
[0042]而如果目的數據中心建立的目的云存儲系統是在超出所述設定時間之后建立的,則可不執行步驟102,直接對源云存儲系統進行停機,并按照批量同步的方式在源數據中心、目的數據中心之間執行數據同步。原因是:目的數據中心建立的目的云存儲系統是在超出所述設定時間之后建立的,則說明源云存儲系統截至到當前可能已經存儲了大量單位數據單元,這會導致最后在所述源數據中心、目的數據中心之間執行數據同步的單位數據單元比較多,為節省同步時間,則對源云存儲系統進行停機,并按照批量同步的方式在源數據中心、目的數據中心之間執行數據同步。
[0043]步驟103,比較從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,如果前者等于后者,則等待設定時間,之后返回分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號的操作;如果前者小于后者,則發出告警提示;如果前者大于后者,則執行步驟104。
[0044]步驟104,從所述源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。
[0045]作為本發明的一個實施例,優選地,本步驟104中,所述從所述源云存儲系統的元數據節點本地獲取滿足條件的單位數據單元是在從源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取的編號相差在設定范圍之內的前提下執行的。
[0046]而如果從源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取的編號相差超過設定范圍,則不執行步驟104,而是對源云存儲系統進行停機,并按照批量同步的方式在源數據中心、目的數據中心之間執行數據同步。原因是:如果從源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取的編號相差超過設定范圍,則說明最后在所述源數據中心、目的數據中心之間執行數據同步的單位數據單元比較多,為節省同步時間,則對源云存儲系統進行停機,并按照批量同步的方式在源數據中心、目的數據中心之間執行數據同步。
[0047]至此,完成圖1所示流程。優選地,在圖1所示流程中步驟104完成數據同步后,還可以進一步將本次參與同步的最大編號的單位數據單元的編號記錄在目的云存儲服務器,以便實時查看目的服務器中的最大編號。
[0048]在圖1所示流程中,作為本發明的一個優選實施例,步驟104中所述從源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步可通過圖2所示:
[0049]參見圖2,圖2為本發明實施例提供的步驟104實現流程圖。如圖2所示,該流程可包括以下步驟:
[0050]步驟201,識別所述源云存儲系統的元數據節點本地存在的滿足以下條件的單位數據單元數量:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號。
[0051]步驟202,比較該識別出的單位數據單元數量與設定的批量單位N,如果前者小于或等于后者,則執行步驟203,如果前者大于后者,則執行步驟204。
[0052]這里,N可根據實際情況設置,比如設置為50。
[0053]步驟203,直接從源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。
[0054]步驟204,先從源云存儲系統的元數據節點本地獲取N個滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步;之后將獲取的單位數據單元中的最大編號作為候選編號,識別所述源云存儲系統的元數據節點本地存在的滿足以下條件的單位數據單元數量:編號大于候選編號,返回比較該識別出的單位數據單元數量與設定的批量單位N的操作。
[0055]本步驟204是在該識別出的單位數據單元數量大于設定的批量單位N的前提下執行的。以N為50為例,則本步驟204中,假如從所述目的云存儲系統的元數據節點本地獲取的編號為50,從所述源云存儲系統的元數據節點本地獲取的編號為200,則先從源云存儲系統的元數據節點本地獲取編號為51至100的單位數據單元,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步;之后,再從源云存儲系統的元數據節點本地獲取編號為101至150的單位數據單元,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步,最后,從源云存儲系統的元數據節點本地獲取編號為151至200的單位數據單元,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。通過這種分批同步,能夠避免源數據中心、目的數據中心之間在數據同步時出現網絡擁塞。
[0056]至此,完成圖2所示流程。
[0057]其中,在上述步驟203、步驟204中,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步可通過圖3所示流程實現:
[0058]參見圖3,圖3為本發明實施例提供的在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步的流程圖。如圖3所示,該流程可包括以下步驟:
[0059]步驟301,針對獲取的每一單位數據單元,識別該單位數據單元包含的數據標識,如果為文件夾的標識,則執行步驟302,如果為文件標識,則執行步驟303。
[0060]步驟302,直接將該單位數據單元包含的所有數據組織成一個報文向目的數據中心發送。
[0061]步驟303,將該單位數據單元包含的所有數據組織成一個報文向目的數據中心發送,并在該單位數據單元包含的操作類型不為刪除時,依據該單位數據單元包含的路徑信息獲取文件內容,將獲取的文件內容寫入至目的數據中心。[0062]至此,完成圖3所示流程。通過圖3所示流程,能夠實現跨數據中心實現云存儲數據同步,保證云存儲的高可靠性。
[0063]需要說明的是,本發明中,在源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步之前,該方法進一步包括:
[0064]基于設定的專用帶寬在源數據中心、目的數據中心之間建立網絡連接,
[0065]如果網絡連接未建立成功,則嘗試設定次數,在嘗試設定次數之后仍未成功在源數據中心、目的數據中心之間成功建立網絡連接,則發出告警提示。
[0066]以上對本發明提供的方法進行了描述,下面對本發明提供的裝置進行描述:
[0067]參見圖4,圖4為本發明實施例提供的裝置結構圖。該裝置用于在源數據中心、目的數據中心之間進行數據同步,其中,所述源數據中心、目的數據中心分處兩個不同位置,且均建立了云存儲系統,在源數據中心、目的數據中心建立的云存儲系統均包含元數據節點,在所述源數據中心建立的云存儲系統,稱為源云存儲系統,用于對外提供云存儲服務,在收到數據更新請求時,將所述數據更新請求對應的相關數據組織成一個單位數據單元,按照編號順序遞增的方式為所述單位數據單元分配編號,并將所述單位數據單元以及被分配的編號存儲在本地;在所述目的數據中心建立的云存儲系統,稱為目的云存儲系統,用于備份源云存儲系統;
[0068]如圖4所示,該裝置包括:
[0069]獲取單元,用于分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,其中,如果目的云存儲系統的元數據節點本地未存儲單位數據單元,則默認目的云存儲系統的元數據節點本地單位數據單元的最大編號為設定值;
[0070]比較單元,用于比較從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,
[0071]如果前者等于后者,則等待設定時間,之后返回分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號的操作;
[0072]如果前者小于后者,則發出告警提示;
[0073]如果前者大于后者,則發送通知給數據同步單元;
[0074]所述數據同步單元,用于從所述源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。
[0075]優選地,本發明中,所述數據更新請求對應的相關數據包括但不限于:
[0076]數據標識,所述數據標識為:文件或者文件夾的標識;
[0077]在數據標識為文件的標識時,文件中的內容在源云存儲服務系統存儲的路徑信息;在數據標識為文件夾的標識時,文件夾在源云存儲服務系統存儲的路徑信息;
[0078]操作類型;其中,所述操作類型包括:修改、刪除、或創建;
[0079]發生操作的時間戳。
[0080]優選地,本發明中,所述獲取單元從源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步包括:
[0081]識別所述源云存儲系統的元數據節點本地存在的滿足以下條件的單位數據單元數量:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號;
[0082]比較該識別出的單位數據單元數量與設定的批量單位N ;
[0083]如果前者小于或等于后者,則直接從源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步;
[0084]如果前者大于后者,則先從源云存儲系統的元數據節點本地獲取N個滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步;之后將獲取的單位數據單元中的最大編號作為候選編號,識別所述源云存儲系統的元數據節點本地存在的滿足以下條件的單位數據單元數量:編號大于候選編號,返回比較該識別出的單位數據單元數量與設定的批量單位N的操作。
[0085]優選地,本發明中,所述數據同步單元在源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步包括:
[0086]針對獲取的每一單位數據單元,如果該單位數據單元包含的數據標識為文件夾的標識,則直接將該單位數據單元包含的所有數據組織成一個報文向目的數據中心發送;如果該單位數據單元包含的數據標識為文件的標識,則將該單位數據單元包含的所有數據組織成一個報文向目的數據中心發送,并在該單位數據單元包含的操作類型不為刪除時,依據該單位數據單元包含的路徑信息獲取文件內容,將獲取的文件內容寫入至目的數據中心。
[0087]優選地,本發明中,所述獲取單元分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號是在目的數據中心建立目的云存儲系統是在源數據中心建立源云存儲系統之后的設定時間建立、且所述源云存儲系統依據數據更新請求完成數據更新后執行的;
[0088]所述數據同步單元從所述源云存儲系統的元數據節點本地獲取滿足條件的單位數據單元是在從源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取的編號相差在設定范圍之內的前提下執行的;
[0089]所述數據同步單元還在目的數據中心建立的目的云存儲系統在超出設定時間之后建立,或者,從源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取的編號相差超過設定范圍時,進一步對源云存儲系統進行停機,并按照批量同步的方式在源數據中心、目的數據中心之間執行數據同步;所述設定時間是源云存儲系統和目的云存儲系統建立相隔的時間。
[0090]至此,完成圖4所示的裝置描述。
[0091]由以上技術方案可以看出,本發明中,通過分別在源數據中心、目的數據中心建立云存儲系統,分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,比較從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,在前者大于后者時,從所述源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。這實現了跨數據中心實現云存儲數據同步,保證云存儲的高可靠性。
[0092]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
【權利要求】
1.一種跨數據中心實現云存儲數據同步的方法,其特征在于,該方法包括: 分別在源數據中心、目的數據中心建立云存儲系統,所述源數據中心、目的數據中心分處兩個不同位置,在源數據中心、目的數據中心建立的云存儲系統均包含元數據節點,在所述源數據中心建立的云存儲系統,稱為源云存儲系統,用于對外提供云存儲服務,在收到數據更新請求時,將所述數據更新請求對應的相關數據組織成一個單位數據單元,按照編號順序遞增的方式為所述單位數據單元分配編號,并將所述單位數據單元以及被分配的編號存儲在本地;在所述目的數據中心建立的云存儲系統,稱為目的云存儲系統,用于備份源云存儲系統; 分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,其中,如果目的云存儲系統的元數據節點本地未存儲單位數據單元,則默認目的云存儲系統的元數據節點本地單位數據單元的最大編號為設定值; 比較從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號, 如果前者等于后者,則等待設定時間,之后返回分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號的操作; 如果前者小于后者,則發出告警提示; 如果前者大于后者,則從所述源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。
2.根據權利要求1所述的方法,其特征在于,所述數據更新請求對應的相關數據包括但不限于: 數據標識,所述數據標識為:文件`或者文件夾的標識; 在數據標識為文件的標識時,文件中的內容在源云存儲服務系統存儲的路徑信息;在數據標識為文件夾的標識時,文件夾在源云存儲服務系統存儲的路徑信息; 操作類型;其中,所述操作類型包括:修改、刪除、或創建; 發生操作的時間戳。
3.根據權利要求1或2所述的方法,其特征在于,所述從源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步包括: 識別所述源云存儲系統的元數據節點本地存在的滿足以下條件的單位數據單元數量:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號; 比較該識別出的單位數據單元數量與設定的批量單位N ; 如果前者小于或等于后者,則直接從源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步; 如果前者大于后者,則先從源云存儲系統的元數據節點本地獲取N個滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步;之后將獲取的單位數據單元中的最大編號作為候選編號,識別所述源云存儲系統的元數據節點本地存在的滿足以下條件的單位數據單元數量:編號大于候選編號,返回比較該識別出的單位數據單元數量與設定的批量單位N的操作。
4.根據權利要求3所述的方法,其特征在于,所述在源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步包括: 針對獲取的每一單位數據單元,如果該單位數據單元包含的數據標識為文件夾的標識,則直接將該單位數據單元包含的所有數據組織成一個報文向目的數據中心發送;如果該單位數據單元包含的數據標識為文件的標識,則將該單位數據單元包含的所有數據組織成一個報文向目的數據中心發送,并在該單位數據單元包含的操作類型不為刪除時,依據該單位數據單元包含的路徑信息獲取文件內容,將獲取的文件內容寫入至目的數據中心。
5.根據權利要求1所述的方法,其特征在于,所述分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號是在目的數據中心建立目的云存儲系統是在源數據中心建立源云存儲系統之后的設定時間建立、且所述源云存儲系統依據數據更新請求完成數據更新后執行的。
6.根據權利要求1所述的方法,其特征在于,所述從所述源云存儲系統的元數據節點本地獲取滿足條件的單位數據單元是在從源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取的編號相差在設定范圍之內的前提下執行的。
7.根據權利要求5或6所述的方法,其特征在于,如果目的數據中心建立的目的云存儲系統是在超出設定時間 之后建立的,或者,從源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取的編號相差超過設定范圍,則該方法進一步包括: 對源云存儲系統進行停機,并按照批量同步的方式在源數據中心、目的數據中心之間執行數據同步; 所述設定時間是源云存儲系統和目的云存儲系統建立相隔的時間。
8.根據權利要求1所述的方法,其特征在于,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步之前,該方法進一步包括: 基于設定的專用帶寬在源數據中心、目的數據中心之間建立網絡連接, 如果網絡連接未建立成功,則嘗試設定次數,在嘗試設定次數之后仍未成功在源數據中心、目的數據中心之間成功建立網絡連接,則發出告警提示。
9.一種跨數據中心實現云存儲數據同步的裝置,其特征在于,該裝置用于在源數據中心、目的數據中心之間進行數據同步,其中,所述源數據中心、目的數據中心分處兩個不同位置,且均建立了云存儲系統,在源數據中心、目的數據中心建立的云存儲系統均包含元數據節點,在所述源數據中心建立的云存儲系統,稱為源云存儲系統,用于對外提供云存儲服務,在收到數據更新請求時,將所述數據更新請求對應的相關數據組織成一個單位數據單元,按照編號順序遞增的方式為所述單位數據單元分配編號,并將所述單位數據單元以及被分配的編號存儲在本地;在所述目的數據中心建立的云存儲系統,稱為目的云存儲系統,用于備份源云存儲系統; 該裝置包括: 獲取單元,用于分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號,其中,如果目的云存儲系統的元數據節點本地未存儲單位數據單元,則默認目的云存儲系統的元數據節點本地單位數據單元的最大編號為設定值; 比較單元,用于比較從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號, 如果前者等于后者,則等待設定時間,之后返回分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號的操作;如果前者小于后者,則發出告警提示; 如果前者大于后者,則發送通知給數據同步單元; 所述數據同步單元,用于從所述源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步。
10.根據權利要求9所述的裝置,其特征在于,所述數據更新請求對應的相關數據包括但不限于: 數據標識,所述數據標識為:文件或者文件夾的標識; 在數據標識為文件的標識時,文件中的內容在源云存儲服務系統存儲的路徑信息;在數據標識為文件夾的標識時,文件夾在源云存儲服務系統存儲的路徑信息; 操作類型;其中,所述操作類型包括:修改、刪除、或創建; 發生操作的時間戳。
11.根據權利要求9或10所述的裝置,其特征在于,所述獲取單元從源云存儲系統的元數據節點本地獲取滿足以下條件的單`位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步包括: 識別所述源云存儲系統的元數據節點本地存在的滿足以下條件的單位數據單元數量:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號; 比較該識別出的單位數據單元數量與設定的批量單位N ; 如果前者小于或等于后者,則直接從源云存儲系統的元數據節點本地獲取滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步; 如果前者大于后者,則先從源云存儲系統的元數據節點本地獲取N個滿足以下條件的單位數據單元:編號大于從所述目的云存儲系統的元數據節點本地獲取的編號,在所述源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步;之后將獲取的單位數據單元中的最大編號作為候選編號,識別所述源云存儲系統的元數據節點本地存在的滿足以下條件的單位數據單元數量:編號大于候選編號,返回比較該識別出的單位數據單元數量與設定的批量單位N的操作。
12.根據權利要求11所述的裝置,其特征在于,所述數據同步單元在源數據中心、目的數據中心之間對該獲取的單位數據單元執行數據同步包括: 針對獲取的每一單位數據單元,如果該單位數據單元包含的數據標識為文件夾的標識,則直接將該單位數據單元包含的所有數據組織成一個報文向目的數據中心發送;如果該單位數據單元包含的數據標識為文件的標識,則將該單位數據單元包含的所有數據組織成一個報文向目的數據中心發送,并在該單位數據單元包含的操作類型不為刪除時,依據該單位數據單元包含的路徑信息獲取文件內容,將獲取的文件內容寫入至目的數據中心。
13.根據權利要求9所述的裝置,其特征在于,所述獲取單元分別從所述源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取單位數據單元的最大編號是在目的數據中心建立目的云存儲系統是在源數據中心建立源云存儲系統之后的設定時間建立、且所述源云存儲系統依據數據更新請求完成數據更新后執行的; 所述數據同步單元從所述源云存儲系統的元數據節點本地獲取滿足條件的單位數據單元是在從源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取的編號相差在設定范圍之內的前提下執行的; 所述數據同步單元還在目的數據中心建立的目的 云存儲系統在超出設定時間之后建立,或者,從源云存儲系統的元數據節點本地和所述目的云存儲系統的元數據節點本地獲取的編號相差超過設定范圍時,進一步對源云存儲系統進行停機,并按照批量同步的方式在源數據中心、目的數據中心之間執行數據同步;所述設定時間是源云存儲系統和目的云存儲系統建立相隔的時間。
【文檔編號】H04L29/08GK103716384SQ201310693744
【公開日】2014年4月9日 申請日期:2013年12月17日 優先權日:2013年12月17日
【發明者】高風樸, 黃欽皇 申請人:創新科存儲技術(深圳)有限公司, 創新科軟件技術(深圳)有限公司