專利名稱:一種數據傳輸方法、設備及系統的制作方法
技術領域:
本發明涉及數據傳輸技術領域,尤其涉及一種數據傳輸方法、設備及系統。
背景技術:
分布式存儲系統是將數據存儲在多個獨立存儲設備的集群系統。為了保證數據的可靠性,同一份數據需要在多個獨立存儲設備上存儲,一般會對同一份數據在系統中保存三份。如果其中任意一個獨立存儲設備出現問題,如故障或負載較重,則需要由另外兩個獨立存儲設備之中任意一個將所述三個獨立存儲設備上共同存儲的數據重新在這三個獨立存儲設備以外的另一個獨立存儲設備上分布,以使得分布式存儲系統中重新形成三份同樣的數據。其重新分布過程,如圖1所示,與設備A存儲有部分相同數據的設備出現問題后, 設備A將該部分相同數據復制傳輸至設備B。現有技術中,設備A復制傳輸該部分相同數據給設備B的過程中(時間T1-T2內), 該部分相同數據是不可訪問的,如果該部分相同數據容量較大,復制傳輸的過程較長,導致其不可訪問時間較長。
發明內容
本發明的實施例提供一種數據傳輸方法、設備及系統,能夠解決現有技術中由于在獨立存儲設備間進行基礎數據的重新分布時,基礎數據在數據復制傳輸時間內不可訪問的問題。為達到上述目的,本發明的實施例采用如下技術方案—種數據傳輸方法,包括根據觸發條件和預先配置的分片參數值創建數據分片,所述數據分片用于臨時數據存儲;接收到處于傳輸狀態的基礎數據的更新請求,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片;在所述數據分片的存儲狀態為飽和狀態時,關閉所述數據分片,并將所述更新操作和更新內容發送給目的獨立存儲設備,以使得所述目的獨立存儲設備根據所述更新操作和更新內容更新所述基礎數據。一種源獨立存儲設備,包括創建分片單元,用于根據觸發條件和預先配置的分片參數值創建數據分片,所述數據分片用于臨時數據存儲;數據存儲單元,用于接收到處于傳輸狀態的基礎數據的更新請求,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片;數據發送單元,用于在所述數據分片的存儲狀態為飽和狀態時,關閉所述數據分片,并將所述更新操作和更新內容發送給目的獨立存儲設備,以使得所述目的獨立存儲設備根據所述更新操作和更新內容更新所述基礎數據。一種數據傳輸系統,包括上述的源獨立存儲設備和目的獨立存儲設備,其中,所述源獨立存儲設備,用于根據觸發條件和預先配置的分片參數值創建數據分片,接收到處于傳輸狀態的基礎數據的更新請求,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片,在所述數據分片的存儲狀態為飽和狀態時,關閉所述數據分片,并將所述更新操作和更新內容發送給目的獨立存儲設備;所述目的獨立存儲設備,用于接收源獨立存儲設備的更新操作和更新內容,并根據所述更新操作和更新內容更新所述基礎數據。本發明實施例提供的數據傳輸方法、設備及系統,由于通過源獨立存儲設備創建的數據分片保存更新操作和更新內容,實現了在源獨立存儲設備向目的獨立存儲設備傳輸數據時,處于傳輸狀態的數據能夠訪問。與現有技術相比,本發明實施例能夠解決現有技術中由于在獨立存儲設備間進行數據的重新分布時,這部分數據在數據復制時間內不可訪問的問題。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為現有技術提供的數據重新分布過程示意圖;圖2為本發明實施例提供的數據傳輸方法流程圖;圖3為本發明又一實施例提供的數據傳輸方法流程圖;圖4為本發明實施例提供的源獨立存儲設備結構示意圖一;圖5為本發明實施例提供的源獨立存儲設備結構示意圖二 ;圖6為本發明實施例提供的數據傳輸系統結構示意圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。為使本發明技術方案的優點更加清楚,下面結合附圖和實施例對本發明作詳細說明。如圖2所示,本發明實施例提供的數據傳輸方法,所述方法包括步驟101、根據觸發條件和預先配置的分片參數值創建數據分片。其中,所述數據分片用于臨時數據存儲。在本實施例中,所述預先配置的分片參數值包括但不限于數據分片的初始大小、 數據分片的數量上限和數據分片的工作時間,所述觸發條件可以是接收到向目的獨立存儲設備傳輸基礎數據的請求或者當前數據分片的存儲狀態為飽和狀態,但不僅局限于此。
步驟102、接收到處于傳輸狀態的基礎數據的更新請求,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片。步驟103、在所述數據分片的存儲狀態為飽和狀態時,關閉所述數據分片,并將所述更新操作和更新內容發送給目的獨立存儲設備,以使得所述目的獨立存儲設備根據所述更新操作和更新內容更新所述基礎數據。上述各個步驟的執行主體是待傳輸基礎數據的源獨立存儲設備,可以是分布式存儲系統中存儲基礎數據的獨立存儲設備,可以是數據庫系統中存儲業務表的獨立存儲設備,此處不作限定。本發明實施例提供的數據傳輸方法,由于通過源獨立存儲設備創建的數據分片保存更新操作和更新內容,實現了源獨立存儲設備向目的獨立存儲設備傳輸數據時,處于傳輸狀態的基礎數據能夠更新。與現有技術相比,本發明實施例能夠解決現有技術中由于在獨立存儲設備間進行數據的重新分布時,處于傳輸狀態的基礎數據在數據復制時間內不可訪問的問題。為了使得本領域的技術人員更好的理解本發明實施例提供過的技術方案,下面將通過又一個具體實例來進一步介紹本發明實施例中提供的數據傳輸方法。如圖3所示,本發明又一實施例提供的的數據傳輸方法,所述方法包括步驟301、源獨立存儲設備根據基礎數據的訪問頻率和所述基礎數據的存儲容量配置數據分片的分片參數值。其中,所述分片參數值包括但不限于數據分片的初始大小、數據分片的數量上限和數據分片的工作時間。通過配置分片參數值,控制在基礎數據由源獨立存儲設備向目的獨立存儲設備傳輸完成時,源獨立存儲設備創建的最后一個數據分片也達到存儲狀態為飽和狀態,避免產生過多的數據分片而增加整個系統的傳輸負擔,所述最后一個數據分片由所述分片參數值決定。優選的,所述分片的初始大小按照創建順序依次減小,使得源獨立存儲設備創建的最后一個數據分片容量最小,進而所述最后一個數據分片存儲的更新操作及更新內容最少。源獨立存儲設備關閉最后一個數據分片并將該數據分片發送到目的獨立存儲設備所占用的時間會很短。值得說明的是,所述分片參數值也可以根據經驗來進行設置,此處不作限定,優選實現方式為步驟301。步驟302、源獨立存儲設備在接收到向目的獨立存儲設備傳輸數據的請求時,源獨立存儲設備根據預先配置的分片參數值創建第一個數據分片。數據分片創建完成后,執行步驟303。在本實施例中,所述請求包括但不限于基礎數據的名稱、地址以及目的獨立存儲設備的地址。并且該請求是基于事件觸發的,所述事件可以是系統中獨立存儲設備發生故障,也可以是系統中獨立存儲設備負載過重。值得說明的是,在所述方法應用在分布式存儲系統時,所述數據分片的邏輯結構沒有約束,數據分片能夠存儲更新操作及更新內容即可。但在所述方法應用在數據庫系統時,所述數據分片的邏輯結構和數據庫中業務表邏輯結構一致。步驟303、源獨立存儲設備發送基礎數據到目的獨立存儲設備。在源獨立存儲設備發送基礎數據到目的獨立存儲設備的過程中,如果有處于傳輸狀態的基礎數據更新請求, 執行步驟304。步驟304、源獨立存儲設備在接收到處于傳輸狀態的基礎數據的更新請求時,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片。在所述數據分片的存儲狀態為飽和狀態時,執行步驟305。其中,所述飽和狀態為更新過程中達到所述預先配置的分片參數值的閾值,例如達到分片的初始大小、達到數據分片的數量上限或達到數據分片的工作時間。步驟305、源獨立存儲設備關閉所述數據分片,并將所述數據分片發送到目的獨立存儲設備,在源獨立存儲設備側根據所述數據分片保存的內容更新所述基礎數據,并判斷所述數據分片是否達到所述分片參數值的閾值,若是達到所述分片參數值的閾值,則執行步驟307,若不是,則執行步驟306。其中,所述分片參數值的閾值包括但不限于數據分片的數量上限及數據分片的工作時間。步驟306、源獨立存儲設備根據所述預先配置的分片參數值創建下一個數據分片。 返回執行步驟304。步驟307、目的獨立存儲設備根據所述更新操作和更新內容更新所述基礎數據。具體的,其數據更新過程按照源獨立存儲設備創建數據分片的順序更新。例如,第一個數據分片和第二個數據分片都對同一個數值進行了修改,則需按照創建數據分片的順序更新,先按照第一個數據分片的更新操作和更新內容更新所述基礎數據,再按照第二個數據分片的更新操作和更新內容更新所述基礎數據。步驟308、當源獨立存儲設備創建的最后一個數據分片的存儲狀態為飽和狀態時, 關閉并發送所述最后一個數據分片到目的獨立存儲設備,根據所述最后一個數據分片的更新操作和更新內容更新所述基礎數據。所述數據更新完成后執行步驟309。步驟309、目的獨立存儲設備發送數據更新完成指令給所述源獨立存儲設備。所述發送數據更新完成指令給所述源獨立存儲設備后,目的獨立存儲設備正常啟用,接收更新操作和更新內容,標志整個數據重新分布的完成。值得說明的是,上述方法同樣可以應用到在線系統的數據實時復制,例如分布式關系數據庫、分布式列式數據庫、分布式圖數據庫、數據庫備份系統或數據庫實時復制系統。本發明又一實施例提供的數據傳輸方法,由于通過源獨立存儲設備創建的數據分片保存更新操作和更新內容,實現了源獨立存儲設備向目的獨立存儲設備傳輸數據時,處于傳輸狀態的數據能夠更新。與現有技術相比,本發明實施例能夠解決現有技術中由于在獨立存儲設備間進行數據的重新分布時,處于傳輸狀態的數據在數據復制時間內不可訪問的問題。本發明實施例提供的源獨立存儲設備,如圖4所示,包括創建分片單元41,用于根據觸發條件和預先配置的分片參數值創建數據分片。其具體實現方式參見圖2中步驟101所示,此處不再贅述。數據存儲單元42,用于接收到處于傳輸狀態的基礎數據的更新請求,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片。其具體實現方式參見圖2中步驟102所示,此處不再贅述。數據發送單元43,用于在所述數據分片的存儲狀態為飽和狀態時,關閉所述數據分片,并將所述更新操作和更新內容發送給目的獨立存儲設備,以使得所述目的獨立存儲設備根據所述更新操作和更新內容更新所述基礎數據。其具體實現方式參見圖2中步驟 103所示,此處不再贅述。進一步的,如圖5所示,所述源獨立存儲設備,還包括分片參數單元44,用于根據基礎數據的訪問頻率和所述基礎數據的存儲容量配置所述數據分片的分片參數值。其中,所述分片參數值包括但不限于數據分片的初始大小、數據分片的數量上限和數據分片的工作時間。其具體實現方式參見圖3中步驟301所示,此處不再贅述。具體的,如圖5所示,所述創建分片單元41,包括第一創建子單元411,用于在接收到向目的獨立存儲設備傳輸基礎數據的請求時, 根據預先配置的分片參數值創建數據分片;其具體實現方式參見圖3中步驟302所示,此處不再贅述。第二創建子單元412,用于在當前數據分片的存儲狀態為飽和狀態時,根據所述預先配置的分片參數值創建下一個數據分片。其具體實現方式參見圖3中步驟306所示,此處不再贅述。進一步的,所述源獨立存儲設備,如圖5所示,還包括數據更新單元45,用于在源獨立存儲設備關閉所述數據分片,并將所述數據分片發送到目的獨立存儲設備后,在源獨立存儲設備側根據所述數據分片中的更新操作和更新內容更新所述基礎數據。其具體實現方式參見圖3中步驟305所示,此處不再贅述。本發明實施例提供的源獨立存儲設備,由于通過源獨立存儲設備創建的數據分片保存更新操作和更新內容,實現了源獨立存儲設備向目的獨立存儲設備傳輸基礎數據時, 處于傳輸狀態的基礎數據能夠訪問。與現有技術相比,本發明實施例能夠解決現有技術中由于在獨立存儲設備間進行數據的重新分布時,這部分數據在數據復制時間內不可訪問的問題。如圖6所示,本發明實施例提供的數據傳輸系統,包括上述源獨立存儲設備51和目的獨立存儲設備52,其中,所述源獨立存儲設備51,用于根據觸發條件和預先配置的分片參數值創建數據分片,接收到處于傳輸狀態的基礎數據的更新請求,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片,在所述數據分片的存儲狀態為飽和狀態時,關閉所述數據分片,并將所述更新操作和更新內容發送給目的獨立存儲設備52 ;所述目的獨立存儲設備52,用于接收源獨立存儲設備51的更新操作和更新內容, 并根據所述更新操作和更新內容更新所述基礎數據。其具體實現方式參見上述源獨立存儲設備和目的獨立存儲設備的具體實施例,此處不再贅述。本發明實施例提供的數據傳輸系統,由于通過源獨立存儲設備創建的數據分片保存更新操作和更新內容,并發送所述更新操作和更新內容到目的獨立存儲設備,使得所述目的獨立存儲設備根據所述更新操作和更新內容更新所述基礎數據。實現了源獨立存儲設備向目的獨立存儲設備傳輸基礎數據時,處于傳輸狀態的基礎數據能夠訪問。與現有技術相比,本發明實施例能夠解決現有技術中由于在獨立存儲設備間進行數據的重新分布時, 這部分數據在數據復制時間內不可訪問的問題。通過以上的實施方式的描述,所屬領域的技術人員可以清楚地了解到本發明可借助軟件加必需的通用硬件的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在可讀取的存儲介質中,如計算機的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機, 服務器,或者網絡設備等)執行本發明各個實施例所述的方法。以上所述,僅為本發明的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應所述以權利要求的保護范圍為準。
權利要求
1.一種數據傳輸方法,其特征在于,包括根據觸發條件和預先配置的分片參數值創建數據分片,所述數據分片用于臨時數據存儲;接收到處于傳輸狀態的基礎數據的更新請求,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片;在所述數據分片的存儲狀態為飽和狀態時,關閉所述數據分片,并將所述更新操作和更新內容發送給目的獨立存儲設備,以使得所述目的獨立存儲設備根據所述更新操作和更新內容更新所述基礎數據。
2.根據權利要求1所述的方法,其特征在于,還包括根據基礎數據的訪問頻率和所述基礎數據的存儲容量配置所述數據分片的分片參數值,所述分片參數值包括數據分片的初始大小、數據分片的數量上限和數據分片的工作時間。
3.根據權利要求2所述的方法,其特征在于,所述分片的初始大小按照創建順序依次減小。
4.根據權利要求1-3任意一項所述的方法,其特征在于,所述根據觸發條件和預先配置的分片參數值創建數據分片,包括在接收到向目的獨立存儲設備傳輸基礎數據的請求時,根據預先配置的分片參數值創建第一個數據分片;在當前數據分片的存儲狀態為飽和狀態時,根據所述預先配置的分片參數值創建下一個數據分片。
5.根據權利要求1所述的方法,其特征在于,將所述更新操作和更新內容發送給目的獨立存儲設備后,還包括根據所述數據分片中的更新操作和更新內容更新所述基礎數據。
6.一種源獨立存儲設備,其特征在于,包括創建分片單元,用于根據觸發條件和預先配置的分片參數值創建數據分片,所述數據分片用于臨時數據存儲;數據存儲單元,用于接收到處于傳輸狀態的基礎數據的更新請求,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片;數據發送單元,用于在所述數據分片的存儲狀態為飽和狀態時,關閉所述數據分片,并將所述更新操作和更新內容發送給目的獨立存儲設備,以使得所述目的獨立存儲設備根據所述更新操作和更新內容更新所述基礎數據。
7.根據權利要求6所述的設備,其特征在于,還包括分片參數單元,用于根據基礎數據的訪問頻率和所述基礎數據的存儲容量配置所述數據分片的分片參數值,所述分片參數值包括數據分片的初始大小、數據分片的數量上限和數據分片的工作時間。
8.根據權利要求6-7任意一項所述的設備,其特征在于,所述創建分片單元,包括第一創建子單元,用于在接收到向目的獨立存儲設備傳輸基礎數據的請求時,根據預先配置的分片參數值創建第一個數據分片;第二創建子單元,用于在當前數據分片的存儲狀態為飽和狀態時,根據所述預先配置的分片參數值創建下一個數據分片。
9.根據權利要求6所述的設備,其特征在于,在所述數據發送單元后,還包括 數據更新單元,根據所述數據分片中的更新操作和更新內容更新所述基礎數據。
10.一種數據傳輸系統,其特征在于,包括權利要求6-9任意一項所述的源獨立存儲設備和目的獨立存儲設備,其中,所述源獨立存儲設備,用于根據觸發條件和預先配置的分片參數值創建數據分片,接收到處于傳輸狀態的基礎數據的更新請求,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片,在所述數據分片的存儲狀態為飽和狀態時,關閉所述數據分片,并將所述更新操作和更新內容發送給目的獨立存儲設備;所述目的獨立存儲設備,用于接收源獨立存儲設備的更新操作和更新內容,并根據所述更新操作和更新內容更新所述基礎數據。
全文摘要
本發明實施例公開了一種數據傳輸方法、設備及系統,涉及數據傳輸技術領域,解決了現有技術中獨立存儲設備間進行數據重新分布時,這部分數據在數據復制時間內不可訪問的問題。所述數據傳輸方法包括根據觸發條件和預先配置的分片參數值創建數據分片,接收到處于傳輸狀態的基礎數據的更新請求,將所述更新請求中攜帶的更新操作和更新內容保存到所述數據分片,在所述數據分片的存儲狀態為飽和狀態時,關閉所述數據分片,并將所述更新操作和更新內容發送給目的獨立存儲設備,以使得所述目的獨立存儲設備根據所述更新操作和更新內容更新所述基礎數據。本發明適用于數據傳輸技術領域,如分布式存儲系統、分布式數據庫、數據庫備份系統。
文檔編號G06F12/02GK102436355SQ20111036196
公開日2012年5月2日 申請日期2011年11月15日 優先權日2011年11月15日
發明者張宇, 阿爾維斯·萊克, 陳堅, 馬蘇德·莫塔扎維 申請人:華為技術有限公司