本公開涉及云存儲領(lǐng)域,尤其涉及數(shù)據(jù)分布式存儲的方法和裝置。
背景技術(shù):
越來越多的用戶正在把他們的數(shù)據(jù)從本地向云端轉(zhuǎn)移,相比于將數(shù)據(jù)存儲在本地,云端存儲更具便利性和可靠性,特別地,其還具有近乎無限的可延展性。
圖1示出了一種現(xiàn)有的將本地數(shù)據(jù)向云端轉(zhuǎn)移的示意圖。如圖1所述,用戶端的數(shù)據(jù)通過中間應(yīng)用連接遠(yuǎn)端數(shù)據(jù)中心以進行數(shù)據(jù)轉(zhuǎn)移,或者也可采用直連的方式,直接將數(shù)據(jù)轉(zhuǎn)移到遠(yuǎn)端數(shù)據(jù)中心。該方案中,用戶被鎖定到單個數(shù)據(jù)中心,用戶的使用嚴(yán)重受限于該數(shù)據(jù)中心。如果用戶希望將數(shù)據(jù)遷移到另一數(shù)據(jù)中心,需要耗費大量的時間、人力以及成本。
圖2示出了另一現(xiàn)有的將本地數(shù)據(jù)向云端轉(zhuǎn)移的示意圖。如圖2所示,用戶的數(shù)據(jù)可分別存儲在a地、b地、c地和d地的4個遠(yuǎn)端數(shù)據(jù)中心。用戶通過數(shù)據(jù)專線連接至指定的遠(yuǎn)端數(shù)據(jù)中心,即圖2中的d地的數(shù)據(jù)中心。這4個數(shù)據(jù)中心彼此間可通過數(shù)據(jù)專線交互訪問,由這4個數(shù)據(jù)中心構(gòu)成的數(shù)據(jù)中心系統(tǒng)來進行內(nèi)部資源調(diào)配。該方案中,用戶仍被鎖定到單個數(shù)據(jù)中心,即圖2中d點的數(shù)據(jù)中心,用戶的數(shù)據(jù)均要通過該數(shù)據(jù)中心。此外,不同數(shù)據(jù)節(jié)點間通過數(shù)據(jù)專線連接,成本高昂。
技術(shù)實現(xiàn)要素:
有鑒于此,本公開提出了一種新的云存儲方案,其使得用戶不再被單個數(shù)據(jù)中心鎖定,并且使得用戶能夠根據(jù)需要充分利用多個數(shù)據(jù)中心的資源。
根據(jù)本公開的一方面,提供了一種數(shù)據(jù)分布式存儲的方法,所述方法應(yīng)用于中央調(diào)度引擎,所述方法包括:從用戶端接收與多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例,所述多個使用比例是由用戶設(shè)置的;從所述用戶端接收針對目標(biāo)文件的上傳請求;基于所述多個使用比例確定所述目標(biāo)文件的分割指示和存儲目的地,所述分割指示用于指示如何對所述目標(biāo)文件進行分割以得到多個數(shù)據(jù)塊,所述存儲目的地用于指示每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心是所述多個數(shù)據(jù)中心中用于存儲該數(shù)據(jù)塊的數(shù)據(jù)中心,其中,存儲至所述多個數(shù)據(jù)中心中的每個數(shù)據(jù)中心的所述數(shù)據(jù)塊的總大小占所述目標(biāo)文件大小的比例為該數(shù)據(jù)中心對應(yīng)的所述使用比例;發(fā)送所述分割指示和所述存儲目的地至所述用戶端,以指示所述用戶端對所述目標(biāo)文件進行分割并將分割得到的每個所述數(shù)據(jù)塊存儲至對應(yīng)的所述目標(biāo)數(shù)據(jù)中心。
在一種可能的實現(xiàn)方式中,在從所述用戶端接收所述多個使用比例之前,所述方法還包括:
向所述用戶端提供用于確定所述多個使用比例的參考信息,所述參考信息包括所述多個數(shù)據(jù)中心中每個數(shù)據(jù)中心的屬性和/或至少一組推薦的使用比例,其中,每個數(shù)據(jù)中心的所述屬性包括該數(shù)據(jù)中心的計費標(biāo)準(zhǔn)和性能指標(biāo),每組所述推薦的使用比例包括與所述多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例。
在一種可能的實現(xiàn)方式中,所述方法還包括,針對每個所述數(shù)據(jù)塊:
請求該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心為該數(shù)據(jù)塊分配存儲位置標(biāo)識和第一簽名授權(quán)信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第一簽名授權(quán)信息用于在將該數(shù)據(jù)塊存儲至該目標(biāo)數(shù)據(jù)中心時進行簽名授權(quán)驗證;
發(fā)送該數(shù)據(jù)塊的所述存儲位置標(biāo)識和所述第一簽名授權(quán)信息至所述用戶端。
在一種可能的實現(xiàn)方式中,所述方法還包括:
從用戶端接收所述目標(biāo)文件的屬性,所述屬性包括所述目標(biāo)文件的文件格式;
基于所述屬性確定所述目標(biāo)文件的預(yù)處理信息,所述預(yù)處理信息用于指示如何對所述目標(biāo)文件進行預(yù)處理;
發(fā)送所述預(yù)處理信息至所述用戶端。
在一種可能的實現(xiàn)方式中,基于所述屬性確定所述目標(biāo)文件的預(yù)處理信息,包括:
基于所述屬性得到至少一種候選的預(yù)處理信息;
向所述用戶端發(fā)送所述至少一種候選的預(yù)處理信息;
接收所述用戶端發(fā)送的預(yù)處理選擇指示,所述預(yù)處理選擇指示用于指示被用戶選中的候選的預(yù)處理信息;
確定所述預(yù)處理選擇指示所指示的預(yù)處理信息為所述目標(biāo)文件的預(yù)處理信息。
在一種可能的實現(xiàn)方式中,所述方法還包括:
發(fā)送第一數(shù)據(jù)塊排序指示至所述用戶端,所述第一數(shù)據(jù)塊排序指示用于指示所述用戶端如何對分割得到的所述多個數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,所述方法還包括:
從所述用戶端接收針對所述目標(biāo)文件的下載請求,所述下載請求包括所述目標(biāo)文件的標(biāo)識;
獲取所述目標(biāo)文件的所述存儲目的地和合并指示,所述合并指示用于指示如何對下載得到的所述多個數(shù)據(jù)塊進行合并以得到所述目標(biāo)文件;
發(fā)送所述存儲目的地和所述合并指示至所述用戶端,以指示所述用戶端從所述存儲目的地所指示的目標(biāo)數(shù)據(jù)中心下載對應(yīng)的所述數(shù)據(jù)塊并對下載的所述數(shù)據(jù)塊進行合并。
在一種可能的實現(xiàn)方式中,針對每個所述數(shù)據(jù)塊:
獲取該數(shù)據(jù)塊的存儲位置標(biāo)識和第二授權(quán)簽名信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第二簽名授權(quán)信息用于在從目標(biāo)數(shù)據(jù)中心下載該數(shù)據(jù)塊時進行簽名授權(quán)驗證;
發(fā)送所述存儲位置標(biāo)識和所述第二授權(quán)簽名信息至所述用戶端。
在一種可能的實現(xiàn)方式中,所述方法還包括:
獲取所述目標(biāo)文件的第二數(shù)據(jù)塊排序指示,所述第二數(shù)據(jù)塊排序指示用于指示在下載得到所述多個數(shù)據(jù)塊之后以及在對所述多個數(shù)據(jù)塊合并之前如何對所述多個數(shù)據(jù)塊進行重新排序;
發(fā)送所述第二數(shù)據(jù)塊排序指示至所述用戶端。
在一種可能的實現(xiàn)方式中,所述方法還包括:
獲取所述目標(biāo)文件的后處理信息,所述后處理信息用于指示如何對合并得到的所述目標(biāo)文件進行后處理;
發(fā)送所述后處理信息至所述用戶端。
在一種可能的實現(xiàn)方式中,所述方法還包括:
從所述用戶端接收針對所述目標(biāo)文件的刪除請求,所述刪除請求包括所述目標(biāo)文件的標(biāo)識;
獲取所述目標(biāo)文件的所述存儲目的地;
發(fā)送所述存儲目的地至所述用戶端,以指示所述用戶端從所述存儲目的地所指示的目標(biāo)數(shù)據(jù)中心刪除對應(yīng)的所述數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,所述方法還包括,針對每個所述數(shù)據(jù)塊:
獲取該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第三授權(quán)簽名信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第三簽名授權(quán)信息用于在從目標(biāo)數(shù)據(jù)中心刪除該數(shù)據(jù)塊時進行簽名授權(quán)驗證;
發(fā)送所述存儲位置標(biāo)識和所述第三授權(quán)簽名信息至所述用戶端。
根據(jù)本公開的另一方面,提供了一種數(shù)據(jù)分布式存儲的方法,所述方法應(yīng)用于用戶端,所述方法包括:接收用戶設(shè)置的與多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例并發(fā)送至中央調(diào)度引擎;向所述中央調(diào)度引擎發(fā)送針對目標(biāo)文件的上傳請求;從所述中央調(diào)度引擎接收所述目標(biāo)文件的分割指示和存儲目的地;基于所述分割指示對所述目標(biāo)文件進行分割以得到多個數(shù)據(jù)塊;基于所述存儲目的地將每個所述數(shù)據(jù)塊存儲至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心是所述多個數(shù)據(jù)中心中用于存儲該數(shù)據(jù)塊的數(shù)據(jù)中心;其中,存儲至所述多個數(shù)據(jù)中心中的每個數(shù)據(jù)中心的所述數(shù)據(jù)塊的總大小占所述目標(biāo)文件大小的比例為該數(shù)據(jù)中心對應(yīng)的所述使用比例。
在一種可能的實現(xiàn)方式中,在接收用戶設(shè)置的所述多個使用比例之前,所述方法還包括:
從所述中央調(diào)度引擎接收用于確定所述多個使用比例的參考信息,所述參考信息包括所述多個數(shù)據(jù)中心中每個數(shù)據(jù)中心的屬性和/或至少一組推薦的使用比例,其中,每個數(shù)據(jù)中心的所述屬性包括該數(shù)據(jù)中心的計費標(biāo)準(zhǔn)和性能指標(biāo),每組所述推薦的使用比例包括與所述多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例。
在一種可能的實現(xiàn)方式中,所述方法還包括:
從所述中央調(diào)度引擎接收每個所述數(shù)據(jù)塊的存儲位置標(biāo)識和第一簽名授權(quán)信息;
所述基于所述存儲目的地將每個所述數(shù)據(jù)塊存儲至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,包括:
針對每個所述數(shù)據(jù)塊,將該數(shù)據(jù)塊和該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第一簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第一簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下將該數(shù)據(jù)塊存儲在所述存儲位置標(biāo)識所指示的存儲位置。
在一種可能的實現(xiàn)方式中,所述方法還包括:
發(fā)送所述目標(biāo)文件的屬性至所述中央調(diào)度引擎,所述屬性包括所述目標(biāo)文件的文件格式;
從所述中央調(diào)度引擎接收所述目標(biāo)文件的預(yù)處理信息,所述預(yù)處理信息是所述中央調(diào)度引擎基于所述目標(biāo)文件的所述屬性確定的;
在對所述目標(biāo)文件進行分割前,基于所述預(yù)處理信息對所述目標(biāo)文件進行預(yù)處理。
在一種可能的實現(xiàn)方式中,所述方法還包括:
在發(fā)送所述目標(biāo)文件的屬性至所述中央調(diào)度引擎之后,從所述中央調(diào)度引擎接收至少一種候選的預(yù)處理信息;
接收用戶針對所述至少一種候選的預(yù)處理信息的選擇操作;
發(fā)送預(yù)處理選擇指示至所述中央調(diào)度引擎,所述預(yù)處理選擇指示用于指示被用戶選中的所述候選的預(yù)處理信息。
在一種可能的實現(xiàn)方式中,所述方法還包括:
從所述中央調(diào)度引擎接收第一數(shù)據(jù)塊排序指示;
在對所述目標(biāo)文件進行分割后,基于所述第一數(shù)據(jù)塊排序指示對分割得到的所述多個數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,所述方法還包括:
發(fā)送針對所述目標(biāo)文件的下載請求至所述中央調(diào)度引擎,所述下載請求包括所述目標(biāo)文件的標(biāo)識;
從所述中央調(diào)度引擎接收所述目標(biāo)文件的所述存儲目的地和合并指示;
基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心下載所述多個數(shù)據(jù)塊;
基于所述合并指示對下載得到的所述多個數(shù)據(jù)塊進行合并以得到所述目標(biāo)文件。
在一種可能的實現(xiàn)方式中,所述方法還包括:
針對每個數(shù)據(jù)塊,從所述中央調(diào)度引擎接收該數(shù)據(jù)塊的存儲位置標(biāo)識和第二授權(quán)簽名信息;
所述基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心下載所述多個數(shù)據(jù)塊,包括:
針對每個所述數(shù)據(jù)塊,將該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第二簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第二簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下返回存儲在所述存儲位置標(biāo)識所指示的存儲位置的數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,所述方法還包括:
從所述中央調(diào)度引擎接收所述目標(biāo)文件的第二數(shù)據(jù)塊排序指示,所述第二數(shù)據(jù)塊排序指示用于指示在下載得到所述多個數(shù)據(jù)塊之后以及在合并所述多個第二數(shù)據(jù)塊之前如何對所述多個數(shù)據(jù)塊進行重新排序;
在下載所述多個數(shù)據(jù)塊之后并在對所述多個數(shù)據(jù)塊進行合并之前,基于所述第二數(shù)據(jù)塊排序?qū)λ龆鄠€數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,所述方法還包括:
從所述中央調(diào)度引擎接收所述目標(biāo)文件的后處理信息;
基于所述后處理信息對合并得到所述目標(biāo)文件進行后處理。
在一種可能的實現(xiàn)方式中,所述方法還包括:
發(fā)送針對所述目標(biāo)文件的刪除請求至所述中央調(diào)度引擎,所述下載請求包括所述目標(biāo)文件的標(biāo)識;
從所述中央調(diào)度引擎接收所述目標(biāo)文件的所述存儲目的地;
基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心刪除所述多個數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,所述方法還包括:
針對每個所述數(shù)據(jù)塊,從所述中央調(diào)度引擎接收該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第三授權(quán)簽名信息;
所述基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心刪除所述多個數(shù)據(jù)塊,包括:將所述存儲位置標(biāo)識和第三簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第三簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下刪除存儲在所述存儲位置標(biāo)識所指示的存儲位置的數(shù)據(jù)塊
根據(jù)本公開的另一方面,提供了一種數(shù)據(jù)分布式存儲的裝置,所述裝置應(yīng)用于中央調(diào)度引擎,所述裝置包括:使用比例獲取模塊,用于從用戶端接收與多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例,所述多個使用比例是由用戶設(shè)置的;上傳請求接收模塊,用于從所述用戶端接收針對目標(biāo)文件的上傳請求;分割和存儲目的確定模塊,用于基于所述多個使用比例確定所述目標(biāo)文件的分割指示和存儲目的地,所述分割指示用于指示如何對所述目標(biāo)文件進行分割以得到多個數(shù)據(jù)塊,所述存儲目的地用于指示每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心是所述多個數(shù)據(jù)中心中用于存儲該數(shù)據(jù)塊的數(shù)據(jù)中心,其中,存儲至所述多個數(shù)據(jù)中心中的每個數(shù)據(jù)中心的所述數(shù)據(jù)塊的總大小占所述目標(biāo)文件大小的比例為該數(shù)據(jù)中心對應(yīng)的所述使用比例;分割和存儲目的發(fā)送模塊,用于發(fā)送所述分割指示和所述存儲目的地至所述用戶端,以指示所述用戶端對所述目標(biāo)文件進行分割并將分割得到的每個所述數(shù)據(jù)塊存儲至對應(yīng)的所述目標(biāo)數(shù)據(jù)中心。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
參考信息提供模塊,用于在從所述用戶端接收所述多個使用比例之前,向所述用戶端提供用于確定所述多個使用比例的參考信息,所述參考信息包括所述多個數(shù)據(jù)中心中每個數(shù)據(jù)中心的屬性和/或至少一組推薦的使用比例,其中,每個數(shù)據(jù)中心的所述屬性包括該數(shù)據(jù)中心的計費標(biāo)準(zhǔn)和性能指標(biāo),每組所述推薦的使用比例包括與所述多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
第一簽名授權(quán)獲取模塊,用于針對每個所述數(shù)據(jù)塊,請求該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心為該數(shù)據(jù)塊分配存儲位置標(biāo)識和第一簽名授權(quán)信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第一簽名授權(quán)信息用于在將該數(shù)據(jù)塊存儲至該目標(biāo)數(shù)據(jù)中心時進行簽名授權(quán)驗證;
第一簽名授權(quán)發(fā)送模塊,發(fā)送該數(shù)據(jù)塊的所述存儲位置標(biāo)識和所述第一簽名授權(quán)信息至所述用戶端。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
文件屬性接收模塊,用于從用戶端接收所述目標(biāo)文件的屬性,所述屬性包括所述目標(biāo)文件的文件格式;
預(yù)處理信息確定模塊,用于基于所述屬性確定所述目標(biāo)文件的預(yù)處理信息,所述預(yù)處理信息用于指示如何對所述目標(biāo)文件進行預(yù)處理;
預(yù)處理信息發(fā)送模塊,用于發(fā)送所述預(yù)處理信息至所述用戶端。
在一種可能的實現(xiàn)方式中,所述預(yù)處理信息確定模塊具體用于:
基于所述屬性得到至少一種候選的預(yù)處理信息;
向所述用戶端發(fā)送所述至少一種候選的預(yù)處理信息;
接收所述用戶端發(fā)送的預(yù)處理選擇指示,所述預(yù)處理選擇指示用于指示被用戶選中的所述候選的預(yù)處理信息;
確定所述預(yù)處理選擇指示所指示的預(yù)處理信息為所述目標(biāo)文件的預(yù)處理信息。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
第一排序指示發(fā)送模塊,用于發(fā)送第一數(shù)據(jù)塊排序指示至所述用戶端,所述第一數(shù)據(jù)塊排序指示用于指示所述用戶端如何對分割得到的所述多個數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
下載請求接收模塊,用于從所述用戶端接收針對所述目標(biāo)文件的下載請求,所述下載請求包括所述目標(biāo)文件的標(biāo)識;
存儲目的和合并獲取模塊,用于獲取所述目標(biāo)文件的所述存儲目的地和合并指示,所述合并指示用于指示如何對下載得到的所述多個數(shù)據(jù)塊進行合并以得到所述目標(biāo)文件;
存儲目的和合并發(fā)送模塊,用于發(fā)送所述存儲目的地和所述合并指示至所述用戶端,以指示所述用戶端從所述存儲目的地所指示的目標(biāo)數(shù)據(jù)中心下載對應(yīng)的所述數(shù)據(jù)塊并對下載的所述數(shù)據(jù)塊進行合并。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
第二簽名授權(quán)獲取模塊,用于針對每個所述數(shù)據(jù)塊,獲取該數(shù)據(jù)塊的存儲位置標(biāo)識和第二授權(quán)簽名信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第二簽名授權(quán)信息用于在從目標(biāo)數(shù)據(jù)中心下載該數(shù)據(jù)塊時進行簽名授權(quán)驗證;
第二簽名授權(quán)發(fā)送模塊,用于發(fā)送所述存儲位置標(biāo)識和所述第二授權(quán)簽名信息至所述用戶端。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
第二排序指示獲取模塊,用于獲取所述目標(biāo)文件的第二數(shù)據(jù)塊排序指示,所述第二數(shù)據(jù)塊排序指示用于指示在下載得到所述多個數(shù)據(jù)塊之后以及在對所述多個數(shù)據(jù)塊合并之前如何對所述多個數(shù)據(jù)塊進行重新排序;
第二排序指示發(fā)送模塊,用于發(fā)送所述第二數(shù)據(jù)塊排序指示至所述用戶端。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
后處理信息獲取模塊,用于獲取所述目標(biāo)文件的后處理信息,所述后處理信息用于指示如何對合并得到的所述目標(biāo)文件進行后處理;
后處理信息發(fā)送模塊,用于發(fā)送所述后處理信息至所述用戶端。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
刪除請求獲取模塊,用于從所述用戶端接收針對所述目標(biāo)文件的刪除請求,所述刪除請求包括所述目標(biāo)文件的標(biāo)識;
存儲目的獲取模塊,用于獲取所述目標(biāo)文件的所述存儲目的地;
存儲目的發(fā)送模塊,用于發(fā)送所述存儲目的地至所述用戶端,以指示所述用戶端從所述存儲目的地所指示的目標(biāo)數(shù)據(jù)中心刪除對應(yīng)的所述數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
第三簽名授權(quán)獲取模塊,用于針對每個所述數(shù)據(jù)塊,獲取該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第三授權(quán)簽名信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第三簽名授權(quán)信息用于在從目標(biāo)數(shù)據(jù)中心刪除該數(shù)據(jù)塊時進行簽名授權(quán)驗證;
第三簽名授權(quán)發(fā)送模塊,用于發(fā)送所述存儲位置標(biāo)識和所述第三授權(quán)簽名信息至所述用戶端。
根據(jù)本公開的另一方面,提供了一種數(shù)據(jù)分布式存儲的裝置,所述裝置應(yīng)用于中央調(diào)度引擎,所述裝置包括:使用比例接收模塊,用于接收用戶設(shè)置的與多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例并發(fā)送至中央調(diào)度引擎;上傳請求發(fā)送模塊,用于向所述中央調(diào)度引擎發(fā)送針對目標(biāo)文件的上傳請求;分割和存儲目的接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的分割指示和存儲目的地;分割模塊,用于基于所述分割指示對所述目標(biāo)文件進行分割以得到多個數(shù)據(jù)塊;上傳模塊,用于基于所述存儲目的地將每個所述數(shù)據(jù)塊存儲至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心是所述多個數(shù)據(jù)中心中用于存儲該數(shù)據(jù)塊的數(shù)據(jù)中心;其中,存儲至所述多個數(shù)據(jù)中心中的每個數(shù)據(jù)中心的所述數(shù)據(jù)塊的總大小占所述目標(biāo)文件
11170315大小的比例為該數(shù)據(jù)中心對應(yīng)的所述使用比例。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
參考信息接收模塊,用于在接收用戶設(shè)置的所述多個使用比例之前,從所述中央調(diào)度引擎接收用于確定所述多個使用比例的參考信息,所述參考信息包括所述多個數(shù)據(jù)中心中每個數(shù)據(jù)中心的屬性和/或至少一組推薦的使用比例,其中,每個數(shù)據(jù)中心的所述屬性包括該數(shù)據(jù)中心的計費標(biāo)準(zhǔn)和性能指標(biāo),每組所述推薦的使用比例包括與所述多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
第一簽名授權(quán)接收模塊,用于從所述中央調(diào)度引擎接收每個所述數(shù)據(jù)塊的存儲位置標(biāo)識和第一簽名授權(quán)信息;
所述上傳模塊具體用于:將該數(shù)據(jù)塊和該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第一簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第一簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下將該數(shù)據(jù)塊存儲在所述存儲位置標(biāo)識所指示的存儲位置。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
屬性發(fā)送模塊,用于發(fā)送所述目標(biāo)文件的屬性至所述中央調(diào)度引擎,所述屬性包括所述目標(biāo)文件的文件格式;
預(yù)處理信息接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的預(yù)處理信息,所述預(yù)處理信息是所述中央調(diào)度引擎基于所述目標(biāo)文件的所述屬性確定的;
預(yù)處理模塊,用于在對所述目標(biāo)文件進行分割前,基于所述預(yù)處理信息對所述目標(biāo)文件進行預(yù)處理。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
候選預(yù)處理信息接收模塊,用于在發(fā)送所述目標(biāo)文件的屬性至所述中央調(diào)度引擎之后,從所述中央調(diào)度引擎接收至少一種候選的預(yù)處理信息;
預(yù)處理選擇接收模塊,用于接收用戶針對所述至少一種候選的預(yù)處理信息的選擇操作;
預(yù)處理選擇發(fā)送模塊,用于發(fā)送預(yù)處理選擇指示至所述中央調(diào)度引擎,所述預(yù)處理選擇指示用于指示被用戶選中的所述候選的預(yù)處理信息。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
第一排序指示接收模塊,用于從所述中央調(diào)度引擎接收第一數(shù)據(jù)塊排序指示;
第一排序模塊,用于在對所述目標(biāo)文件進行分割后,基于所述第一數(shù)據(jù)塊排序指示對分割得到的所述多個數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
下載請求發(fā)送模塊,用于發(fā)送針對所述目標(biāo)文件的下載請求至所述中央調(diào)度引擎,所述下載請求包括所述目標(biāo)文件的標(biāo)識;
存儲目的和合并接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的所述存儲目的地和合并指示;
下載模塊,用于基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心下載所述多個數(shù)據(jù)塊;
合并模塊,用于基于所述合并指示對下載得到的所述多個數(shù)據(jù)塊進行合并以得到所述目標(biāo)文件。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
第二簽名授權(quán)接收模塊,用于從所述中央調(diào)度引擎接收該數(shù)據(jù)塊的存儲位置標(biāo)識和第二授權(quán)簽名信息;
所述合并模塊具體用于:將所述存儲位置標(biāo)識和第二簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第二簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下返回存儲在所述存儲位置標(biāo)識所指示的存儲位置的數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
第二排序指示接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的第二數(shù)據(jù)塊排序指示,所述第二數(shù)據(jù)塊排序指示用于指示在下載得到所述多個數(shù)據(jù)塊之后以及在合并所述多個第二數(shù)據(jù)塊之前如何對所述多個數(shù)據(jù)塊進行重新排序;
第二排序模塊,用于在下載所述多個數(shù)據(jù)塊之后并在對所述多個數(shù)據(jù)塊進行合并之前,基于所述第二數(shù)據(jù)塊排序?qū)λ龆鄠€數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
后處理信息接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的后處理信息;
后處理模塊,用于基于所述后處理信息對合并得到所述目標(biāo)文件進行后處理。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
刪除請求發(fā)送模塊,用于發(fā)送針對所述目標(biāo)文件的刪除請求至所述中央調(diào)度引擎,所述下載請求包括所述目標(biāo)文件的標(biāo)識;
存儲目的接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的所述存儲目的地;
刪除模塊,用于基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心刪除所述多個數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
第三簽名授權(quán)接收模塊,用于從所述中央調(diào)度引擎接收該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第三授權(quán)簽名信息;
所述刪除模塊具體用于:針對每個所述數(shù)據(jù)塊,將所述存儲位置標(biāo)識和第三簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第三簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下刪除存儲在所述存儲位置標(biāo)識所指示的存儲位置的數(shù)據(jù)塊。
根據(jù)本公開的另一方面,提供了一種數(shù)據(jù)分布式存儲的裝置,該裝置包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為執(zhí)行如上所述的任意方法。根據(jù)本公開的另一方面,提供了一種計算機可讀存儲介質(zhì),在所述計算機可讀存儲介質(zhì)上存儲有計算機程序指令,所述計算機程序指令被處理器執(zhí)行時實現(xiàn)如上所述的任意方法。
根據(jù)本公開,通過中央控制引擎根據(jù)用戶設(shè)置的使用比例指示用戶端對文件進行分割,并將分割得到的各個數(shù)據(jù)塊按照該使用比例分別存儲到各個數(shù)據(jù)中心,使得用戶不被鎖定至單個數(shù)據(jù)中心,而能夠按照個人需要靈活調(diào)整其對各個數(shù)據(jù)中心的使用率,以便用戶充分利用各個數(shù)據(jù)中心。此外,對文件進行分割并將分割得到的各個數(shù)據(jù)塊分別存儲至不同的數(shù)據(jù)中心,也進一步提高了存儲的安全性。而且,根據(jù)本公開,在中央控制引擎的指導(dǎo)下,用戶端直接與數(shù)據(jù)中心進行文件交互,而無需文件流經(jīng)中央控制引擎,避免中央調(diào)度引擎成為制約整個系統(tǒng)的瓶頸,有利于使整個系統(tǒng)具有更好的性能和安全性。
根據(jù)下面參考附圖對示例性實施例的詳細(xì)說明,本公開的其它特征及方面將變得清楚。
附圖說明
包含在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本公開的示例性實施例、特征和方面,并且用于解釋本公開的原理。
圖1示出一種現(xiàn)有的將本地數(shù)據(jù)向云端轉(zhuǎn)移的示意圖。
圖2示出另一現(xiàn)有的將本地數(shù)據(jù)向云端轉(zhuǎn)移的示意圖。
圖3示出根據(jù)本公開的一個實施例的數(shù)據(jù)分布式存儲的方法的流程圖。
圖4示出根據(jù)本公開的一個實施例的數(shù)據(jù)分布式存儲的方法的流程圖。
圖5示出根據(jù)本公開的一個實施例的數(shù)據(jù)分布式存儲的裝置的結(jié)構(gòu)框圖。
圖6示出根據(jù)本公開的一個實施例的數(shù)據(jù)分布式存儲的裝置的結(jié)構(gòu)框圖。
圖7示出根據(jù)本公開的一個實施例的數(shù)據(jù)分布式存儲的裝置的結(jié)構(gòu)框圖。
圖8示出了根據(jù)本公開的一個示例性實施例的云存儲系統(tǒng)的交互示意圖。
具體實施方式
以下將參考附圖詳細(xì)說明本公開的各種示例性實施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
在這里專用的詞“示例性”意為“用作例子、實施例或說明性”。這里作為“示例性”所說明的任何實施例不必解釋為優(yōu)于或好于其它實施例。
另外,為了更好的說明本公開,在下文的具體實施方式中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有某些具體細(xì)節(jié),本公開同樣可以實施。在一些實例中,對于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本公開的主旨。
需要說明地是,本公開中的“第一”、“第二”、“第三”等僅是為了區(qū)分不同“上傳”、“下載”、“刪除”等不同描述主題,不用于對描述對象進行實質(zhì)限定。
本文中的用戶端,指特定用戶所登錄的用戶端,而不用于限定其是同一客戶端,也不用于限定其是同一設(shè)備上的客戶端。
實施例1
圖3示出根據(jù)本公開一實施例的數(shù)據(jù)分布式存儲的方法的流程圖。如圖1所示,該方法包括下面的步驟。
步驟302,從用戶端接收與多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例,所述多個使用比例是由用戶設(shè)置的。
例如,設(shè)有數(shù)據(jù)中心a、b、c、d、e、f,則接收到的多個使用比例可以是:a:20%,b:20%,c:20%,d:20%,e:20%,f:0,也可以是a:20%,b:20%,c:20%,d:20%,e:20%,后者被認(rèn)為默認(rèn)數(shù)據(jù)中心f對應(yīng)的使用比例是0%。二者均表示數(shù)據(jù)中心a、b、c、d、e各存儲該目標(biāo)文件的20%,數(shù)據(jù)中心f不用于存儲該目標(biāo)文件。
用戶可在用戶端輸入該多個使用比例,用戶可在默認(rèn)的使用比例的基礎(chǔ)上進行調(diào)整,用戶也可選擇直接采用默認(rèn)的使用比例,等等,本公開對此不做限制。
在一種可能的實現(xiàn)方式中,在步驟302之前,所述方法還可包括:向所述用戶端提供用于確定所述多個使用比例的參考信息,所述參考信息包括所述多個數(shù)據(jù)中心中每個數(shù)據(jù)中心的屬性和/或至少一組推薦的使用比例,其中,每個數(shù)據(jù)中心的所述屬性包括該數(shù)據(jù)中心的計費標(biāo)準(zhǔn)和性能指標(biāo),每組所述推薦的使用比例包括與所述多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例。
上述數(shù)據(jù)中心的性能指標(biāo)可以包括iops(隨機讀寫)、吞吐量、可靠性中的部分或全部。除計費標(biāo)準(zhǔn)和性能指標(biāo)外,數(shù)據(jù)中心的屬性還可以包括數(shù)據(jù)中心的位置、所使用的連接技術(shù)(諸如某云服務(wù)采用的oss、某云服務(wù)采用的blob等)等。
上述實現(xiàn)方式中,中央調(diào)度引擎可根據(jù)大數(shù)據(jù)、用戶的歷史使用行為和/或目標(biāo)文件的大小等,基于一定的推薦原則,向用戶提供推薦的使用比例。例如,在一個示例中,中央調(diào)度引擎可以基于成本最優(yōu)的原則得到一組推薦的使用比例,可以基于性能最優(yōu)的原則得到一組推薦的使用比例,還可以基于成本和性能均衡的原則得到一組推薦的使用比例,并將這3組推薦的使用比例都提供給用戶,以供用戶參考和/或選擇。
在本實現(xiàn)方式中,通過為用戶提供參考信息,便于用戶確定最符合自身需要的使用比例。
步驟304,從所述用戶端接收針對目標(biāo)文件的上傳請求。
在一種可能的實現(xiàn)方式中,還可根據(jù)需要將該目標(biāo)文件的簡單屬性發(fā)送給中央調(diào)度引擎,例如目標(biāo)文件的文件格式和/或文件大小等。
步驟306,基于所述多個使用比例確定所述目標(biāo)文件的分割指示和存儲目的地,所述分割指示用于指示如何對所述目標(biāo)文件進行分割以得到多個數(shù)據(jù)塊,所述存儲目的地用于指示每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心是所述多個數(shù)據(jù)中心中用于存儲該數(shù)據(jù)塊的數(shù)據(jù)中心,其中,存儲至所述多個數(shù)據(jù)中心中的每個數(shù)據(jù)中心的所述數(shù)據(jù)塊的總大小占所述目標(biāo)文件大小的比例為該數(shù)據(jù)中心對應(yīng)的所述使用比例。
在一個示例中,設(shè)使用比例為:a:20%,b:20%,c:20%,d:20%,e:20%,,f:0,可考慮將目標(biāo)文件分割成5的倍數(shù)個等大的數(shù)據(jù)塊,例如5個、10個、15個、……,可結(jié)合具體情況來確定,例如,參考目標(biāo)文件的大小,該分割指示可指示將該目標(biāo)文件分割成10個等大的數(shù)據(jù)塊。在該分割指示指示將目標(biāo)文件分割成10個等大的數(shù)據(jù)塊的情況下,存儲目的地可指示其中2個數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心為數(shù)據(jù)中心a,2個對應(yīng)數(shù)據(jù)中心b、2個對應(yīng)數(shù)據(jù)中心c、2個對應(yīng)數(shù)據(jù)中心d、2個存儲數(shù)據(jù)中心e。換言之,存儲目的地可指示2個數(shù)據(jù)塊存儲至數(shù)據(jù)中心a,2個存儲至數(shù)據(jù)中心b,2個存儲至數(shù)據(jù)中心c,2個存儲至數(shù)據(jù)中心d,2個存儲至數(shù)據(jù)中心e。
在另一個示例中,設(shè)使用比例同樣為:a:20%,b:20%,c:20%,d:20%,e:20%,f:0,分割指示可指示將目標(biāo)文件分割成9個數(shù)據(jù)塊,其中8個數(shù)據(jù)塊等大,剩余1個數(shù)據(jù)塊的大小是其他數(shù)據(jù)塊大小的兩倍。第一存儲目的地可指示較大的數(shù)據(jù)塊存儲至a,其他8個等大的數(shù)據(jù)塊兩兩對應(yīng)分別剩余4個數(shù)據(jù)中心。
步驟308,發(fā)送所述分割指示和所述存儲目的地至所述用戶端,以指示所述用戶端對所述目標(biāo)文件進行分割并將分割得到的每個所述數(shù)據(jù)塊存儲至對應(yīng)的所述目標(biāo)數(shù)據(jù)中心。
例如,中央數(shù)據(jù)引擎可向該用戶端發(fā)送配置文件,該配置文件可包括該分割指示和該存儲目的地。
用戶端可基于該分割指示運行本地的分割算法以對所述目標(biāo)文件進行分割,并可基于所述存儲目的地請求每個目標(biāo)數(shù)據(jù)中心將對應(yīng)的所述數(shù)據(jù)塊存儲在該目標(biāo)數(shù)據(jù)中心。
在一種可能的實現(xiàn)方式中,所述方法還包括,針對每個所述數(shù)據(jù)塊:請求該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心為該數(shù)據(jù)塊分配存儲位置標(biāo)識和第一簽名授權(quán)信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第一簽名授權(quán)信息用于在將該數(shù)據(jù)塊存儲至該目標(biāo)數(shù)據(jù)中心時進行簽名授權(quán)驗證;發(fā)送該數(shù)據(jù)塊的所述存儲位置標(biāo)識和所述第一簽名授權(quán)信息至所述用戶端。
例如,中央數(shù)據(jù)引擎可通過上述配置文件將該存儲位置和第一簽名授權(quán)信息發(fā)送至用戶端,即該配置配置文件可包括該存儲位置和第一簽名授權(quán)信息。該第一存儲位置標(biāo)識可以是能夠用于唯一地標(biāo)識數(shù)據(jù)塊的存儲位置的任意信息。
一些數(shù)據(jù)中心可能希望對要存儲的每個數(shù)據(jù)塊進行簽名授權(quán)驗證。根據(jù)本實現(xiàn)方式,用戶端可將該數(shù)據(jù)塊、該數(shù)據(jù)塊的存儲位置標(biāo)識和第一簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至對應(yīng)的目標(biāo)數(shù)據(jù)中心,該目標(biāo)數(shù)據(jù)中心可先基于該第一簽名授權(quán)信息進行簽名授權(quán)驗證,如果驗證通過,則將該數(shù)據(jù)塊存儲至該存儲位置標(biāo)識所指示的存儲位置;如果驗證不通過,則不存儲該數(shù)據(jù)塊。
本實現(xiàn)方式中,由中央調(diào)度引擎向云服務(wù)提供者申請每個數(shù)據(jù)塊的存儲位置和第一簽名授權(quán)信息(例如,數(shù)字簽名)并下發(fā)至用戶端,從而用戶端無需具備獨立訪問云服務(wù)的全部權(quán)限,大大提高了整個系統(tǒng)的風(fēng)險可控性和安全性。
上述實施例中,中央控制引擎根據(jù)用戶設(shè)置的使用比例指示用戶端如何對文件進行分割和存儲以滿足該使用比例,使得用戶能夠按照需要靈活調(diào)整其對各個數(shù)據(jù)中心的使用率。此外,對文件進行分割以及將分割得到的數(shù)據(jù)塊分別存儲至不同數(shù)據(jù)中心,這也有利于提高數(shù)據(jù)的安全性。而且,在中央控制引擎的指示下,用戶端直接與遠(yuǎn)端數(shù)據(jù)中心進行存儲交互,存儲的數(shù)據(jù)無需流經(jīng)中央控制引擎,避免中央調(diào)度引擎成為制約整個系統(tǒng)的瓶頸,使得整個系統(tǒng)具有更好的性能和安全性。
在一種可能的實現(xiàn)方式中,所述方法還包括:從用戶端接收所述目標(biāo)文件的屬性,所述屬性包括所述目標(biāo)文件的文件格式;基于所述屬性確定所述目標(biāo)文件的預(yù)處理信息,所述預(yù)處理信息用于指示如何對所述目標(biāo)文件進行預(yù)處理;發(fā)送所述預(yù)處理信息至所述用戶端。
例如,中央數(shù)據(jù)引擎也可通過上述配置文件將該預(yù)處理信息發(fā)送至用戶端。
文件格式可以指“圖片”、“視頻”等,也可指例如“jpeg”、“avi”等,也可以同時包括這兩者,例如,如果目標(biāo)文件的文件格式可能是“圖片,jpeg”。文件的屬性還可包括文件的大小等。這些均可根據(jù)需要設(shè)置,本公開對此不作限定。
該預(yù)處理信息可以包括指示壓縮算法的信息、指示去重算法的信息、指示加密算法的信息等等中的部分或全部,具體可根據(jù)需要設(shè)置,本公開對此不作限定。用戶端可基于接收到的所述預(yù)處理信息運行本地的相應(yīng)算法模塊以對該目標(biāo)文件進行預(yù)處理。
在上述實現(xiàn)方式的一個示例中,基于所述屬性確定所述目標(biāo)文件的預(yù)處理信息,包括:基于所述屬性得到至少一種候選的預(yù)處理信息;向所述用戶端發(fā)送所述至少一種候選的預(yù)處理信息;接收所述用戶端發(fā)送的預(yù)處理選擇指示,所述預(yù)處理選擇指示用于指示被用戶選中的所述候選的預(yù)處理信息;確定所述預(yù)處理選擇指示所指示的預(yù)處理信息為所述目標(biāo)文件的預(yù)處理信息。
例如,中央調(diào)度引擎可基于文件的屬性提供多種可選的壓縮算法、多種可選的去重算法以及多種可選的加密算法等等。用戶可一一選擇其希望采用的加密算法、去重算法和加密算法等,并通過預(yù)處理選擇指示發(fā)送給中央調(diào)度引擎,以使得中央調(diào)度引擎確定目標(biāo)文件的預(yù)處理信息。
根據(jù)本示例,最終確定的預(yù)處理方案不僅適用于目標(biāo)文件的屬性,還可滿足用戶的偏好,有利于進一步提高用戶體驗。
在一種可能的實現(xiàn)方式里,所述方法還包括:發(fā)送第一數(shù)據(jù)塊排序指示至所述用戶端,所述第一數(shù)據(jù)塊排序指示用于指示所述用戶端如何對分割得到的所述多個數(shù)據(jù)塊重新排序。
例如,中央數(shù)據(jù)引擎可通過上述配置文件將該數(shù)據(jù)塊排序指示發(fā)送至用戶端。
根據(jù)本示例,用戶端還可根據(jù)第一數(shù)據(jù)塊排序指示對分割得到的各個數(shù)據(jù)塊進行重新排序,然后再將重新排序后的各個數(shù)據(jù)塊存儲至對應(yīng)的目標(biāo)數(shù)據(jù)中心,從而有利于進一步增加數(shù)據(jù)安全性。
在一種可能的實現(xiàn)方式,中央調(diào)度引擎可以通過上述配置文件下發(fā)針對該目標(biāo)文件的全流程數(shù)據(jù)處理指示和第一簽名授權(quán)信息,例如,該全流程數(shù)據(jù)處理指示可以包括諸如指示壓縮算法、去重算法、加密算法等的預(yù)處理信息、分割指示、存儲目的地、數(shù)據(jù)塊排序指示等。
該配置文件可存儲至某個數(shù)據(jù)中心,例如,中央調(diào)度引擎可在配置文件中指示用戶端將其存儲至某個數(shù)據(jù)中心。
以上從上傳文件的角度對根據(jù)本公開的云端數(shù)據(jù)存儲方法進行了介紹。以下將從下載文件和刪除文件的角度的方法進行相應(yīng)介紹。
先從下載文件的角度進行介紹。
在一種可能的實現(xiàn)方式中,所述方法還可包括:從所述用戶端接收針對所述目標(biāo)文件的下載請求,所述下載請求包括所述目標(biāo)文件的標(biāo)識;獲取所述目標(biāo)文件的所述存儲目的地和合并指示,所述合并指示用于指示如何對下載得到的所述多個數(shù)據(jù)塊進行合并以得到所述目標(biāo)文件;發(fā)送所述存儲目的地和所述合并指示至所述用戶端,以指示所述用戶端從所述存儲目的地所指示的目標(biāo)數(shù)據(jù)中心下載對應(yīng)的所述數(shù)據(jù)塊并對下載的所述數(shù)據(jù)塊進行合并。
下載數(shù)據(jù)塊的過程可以看做是上傳數(shù)據(jù)塊的逆過程。合并多個數(shù)據(jù)塊以得到目標(biāo)文件的過程可以看做是分割目標(biāo)文件以得到多個數(shù)據(jù)塊的過程的逆過程。
在一種可能的實現(xiàn)方式中,所述方法還可包括:針對每個所述數(shù)據(jù)塊:獲取該數(shù)據(jù)塊的存儲位置標(biāo)識和第二授權(quán)簽名信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第二簽名授權(quán)信息用于在從目標(biāo)數(shù)據(jù)中心下載該數(shù)據(jù)塊時進行簽名授權(quán)驗證;發(fā)送所述存儲位置標(biāo)識和所述第二授權(quán)簽名信息至所述用戶端。
在一種可能的實現(xiàn)方式中,所述方法還可包括:獲取所述目標(biāo)文件的第二數(shù)據(jù)塊排序指示,所述第二數(shù)據(jù)塊排序指示用于指示在下載得到所述多個數(shù)據(jù)塊之后以及在對所述多個數(shù)據(jù)塊合并之前如何對所述多個數(shù)據(jù)塊進行重新排序;發(fā)送所述第二數(shù)據(jù)塊排序指示至所述用戶端。
對下載后的數(shù)據(jù)塊重新排序的過程可以看做是對上傳前的數(shù)據(jù)塊進行重新排序的過程的逆過程。
在一種可能的實現(xiàn)方式中,所述方法還可包括:獲取所述目標(biāo)文件的后處理信息,所述后處理信息用于指示如何對合并得到的所述目標(biāo)文件進行后處理;發(fā)送所述后處理信息至所述用戶端。
下載目標(biāo)文件后的后處理過程可以看做是上傳目標(biāo)文件前的預(yù)處理過程的逆過程。
中央調(diào)度引擎可基于上傳目標(biāo)文件時使用的配置信息,獲取下載時需使用的存儲目的地、合并指示、存儲位置標(biāo)識、第二數(shù)據(jù)塊排序指示、后處理信息等,并請求各個目標(biāo)數(shù)據(jù)中心為下載存儲在存儲位置標(biāo)識所指示的存儲位置處的數(shù)據(jù)塊的操作分配第二簽名授權(quán)信息,然后通過配置文件將下載所需的全流程數(shù)據(jù)處理指示和第二簽名授權(quán)信息一起下發(fā)給用戶端。
下文從刪除文件的角度進行介紹。
在一種可能的實現(xiàn)方式中,所述方法還包括:從所述用戶端接收針對所述目標(biāo)文件的刪除請求,所述刪除請求包括所述目標(biāo)文件的標(biāo)識;獲取所述目標(biāo)文件的所述存儲目的地;發(fā)送所述存儲目的地至所述用戶端,以指示所述用戶端從所述存儲目的地所指示的目標(biāo)數(shù)據(jù)中心刪除對應(yīng)的所述數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,所述方法還包括:針對每個所述數(shù)據(jù)塊:獲取該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第三授權(quán)簽名信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第三簽名授權(quán)信息用于在從目標(biāo)數(shù)據(jù)中心刪除該數(shù)據(jù)塊時進行簽名授權(quán)驗證;發(fā)送所述存儲位置標(biāo)識和所述第三授權(quán)簽名信息至所述用戶端。
中央調(diào)度引擎可基于上傳目標(biāo)文件時使用的配置信息,獲取刪除時需使用的存儲目的地、合并指示、存儲位置標(biāo)識、第二數(shù)據(jù)塊排序指示、后處理信息等,并請求各個目標(biāo)數(shù)據(jù)中心為刪除存儲在存儲位置標(biāo)識所指示的存儲位置處的數(shù)據(jù)塊的操作分配第三簽名授權(quán)信息,然后通過配置文件將刪除所需的這些全流程處理指示和第三簽名授權(quán)信息一起下發(fā)給用戶端。
實施例2
圖4示出根據(jù)本公開一實施例的數(shù)據(jù)分布式存儲的方法的流程圖。該方法可應(yīng)用于用戶端。如圖1所示,該方法包括以下步驟:
步驟402,接收用戶設(shè)置的與多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例并發(fā)送至中央調(diào)度引擎;
步驟404,向所述中央調(diào)度引擎發(fā)送針對目標(biāo)文件的上傳請求;
步驟406,從所述中央調(diào)度引擎接收所述目標(biāo)文件的分割指示和存儲目的地;
步驟408,基于所述分割指示對所述目標(biāo)文件進行分割以得到多個數(shù)據(jù)塊;
步驟410,基于所述存儲目的地將每個所述數(shù)據(jù)塊存儲至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心是所述多個數(shù)據(jù)中心中用于存儲該數(shù)據(jù)塊的數(shù)據(jù)中心,其中,存儲至所述多個數(shù)據(jù)中心中的每個數(shù)據(jù)中心的所述數(shù)據(jù)塊的總大小占所述目標(biāo)文件大小的比例為該數(shù)據(jù)中心對應(yīng)的所述使用比例。
在一種可能的實現(xiàn)方式中,在步驟402之前,所述方法還包括:從所述中央調(diào)度引擎接收用于確定所述多個使用比例的參考信息,所述參考信息包括所述多個數(shù)據(jù)中心中每個數(shù)據(jù)中心的屬性和/或至少一組推薦的使用比例,其中,每個數(shù)據(jù)中心的所述屬性包括該數(shù)據(jù)中心的計費標(biāo)準(zhǔn)和性能指標(biāo),每組所述推薦的使用比例包括與所述多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例。
在一種可能的實現(xiàn)方式中,所述方法還包括:從所述中央調(diào)度引擎接收每個所述數(shù)據(jù)塊的存儲位置標(biāo)識和第一簽名授權(quán)信息?;谒龃鎯δ康牡貙⒚總€所述數(shù)據(jù)塊存儲至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心(步驟410)可以包括:針對每個所述數(shù)據(jù)塊,將該數(shù)據(jù)塊和該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第一簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第一簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下將該數(shù)據(jù)塊存儲在所述存儲位置標(biāo)識所指示的存儲位置。
在一種可能的實現(xiàn)方式中,所述方法還包括:發(fā)送所述目標(biāo)文件的屬性至所述中央調(diào)度引擎,所述屬性包括所述目標(biāo)文件的文件格式;從所述中央調(diào)度引擎接收所述目標(biāo)文件的預(yù)處理信息,所述預(yù)處理信息是所述中央調(diào)度引擎基于所述目標(biāo)文件的所述屬性確定的;在對所述目標(biāo)文件進行分割前,基于所述預(yù)處理信息對所述目標(biāo)文件進行預(yù)處理。
在一種可能的實現(xiàn)方式中,所述方法還包括:從所述中央調(diào)度引擎接收第一數(shù)據(jù)塊排序指示;在對所述目標(biāo)文件進行分割后,基于所述第一數(shù)據(jù)塊排序指示對分割得到的所述多個數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,所述方法還包括:發(fā)送針對所述目標(biāo)文件的下載請求至所述中央調(diào)度引擎,所述下載請求包括所述目標(biāo)文件的標(biāo)識;從所述中央調(diào)度引擎接收所述目標(biāo)文件的所述存儲目的地和合并指示;基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心下載所述多個數(shù)據(jù)塊;基于所述合并指示對下載得到的所述多個數(shù)據(jù)塊進行合并以得到所述目標(biāo)文件。
在一種可能的實現(xiàn)方式中,所述方法還包括:針對每個數(shù)據(jù)塊,從所述中央調(diào)度引擎接收該數(shù)據(jù)塊的存儲位置標(biāo)識和第二授權(quán)簽名信息。所述基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心下載所述多個數(shù)據(jù)塊,包括:針對每個所述數(shù)據(jù)塊,將該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第二簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第二簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下返回存儲在所述存儲位置標(biāo)識所指示的存儲位置的數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,所述方法還包括:從所述中央調(diào)度引擎接收所述目標(biāo)文件的第二數(shù)據(jù)塊排序指示,所述第二數(shù)據(jù)塊排序指示用于指示在下載得到所述多個數(shù)據(jù)塊之后以及在合并所述多個第二數(shù)據(jù)塊之前如何對所述多個數(shù)據(jù)塊進行重新排序;在下載所述多個數(shù)據(jù)塊之后并在對所述多個數(shù)據(jù)塊進行合并之前,基于所述第二數(shù)據(jù)塊排序?qū)λ龆鄠€數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,所述方法還包括:從所述中央調(diào)度引擎接收所述目標(biāo)文件的后處理信息;基于所述后處理信息對合并得到所述目標(biāo)文件進行后處理。
在一種可能的實現(xiàn)方式中,所述方法還包括:發(fā)送針對所述目標(biāo)文件的刪除請求至所述中央調(diào)度引擎,所述下載請求包括所述目標(biāo)文件的標(biāo)識;從所述中央調(diào)度引擎接收所述目標(biāo)文件的所述存儲目的地;基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心刪除所述多個數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,所述方法還包括:針對每個所述數(shù)據(jù)塊,從所述中央調(diào)度引擎接收該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第三授權(quán)簽名信息;所述基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心刪除所述多個數(shù)據(jù)塊,包括:將所述存儲位置標(biāo)識和第三簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第三簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下刪除存儲在所述存儲位置標(biāo)識所指示的存儲位置的數(shù)據(jù)塊。
實施例3
圖5示出根據(jù)本公開的一個實施例的數(shù)據(jù)分布式存儲的裝置500的結(jié)構(gòu)框圖。該裝置可應(yīng)用于中央調(diào)度引擎。如圖5所述,裝置500包括:使用比例獲取模塊502,用于從用戶端接收與多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例,所述多個使用比例是由用戶設(shè)置的;上傳請求接收模塊504,用于從所述用戶端接收針對目標(biāo)文件的上傳請求;分割和存儲目的確定模塊506,用于基于所述多個使用比例確定所述目標(biāo)文件的分割指示和存儲目的地,所述分割指示用于指示如何對所述目標(biāo)文件進行分割以得到多個數(shù)據(jù)塊,所述存儲目的地用于指示每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心是所述多個數(shù)據(jù)中心中用于存儲該數(shù)據(jù)塊的數(shù)據(jù)中心,其中,存儲至所述多個數(shù)據(jù)中心中的每個數(shù)據(jù)中心的所述數(shù)據(jù)塊的總大小占所述目標(biāo)文件大小的比例為該數(shù)據(jù)中心對應(yīng)的所述使用比例;分割和存儲目的發(fā)送模塊508,用于發(fā)送所述分割指示和所述存儲目的地至所述用戶端,以指示所述用戶端對所述目標(biāo)文件進行分割并將分割得到的每個所述數(shù)據(jù)塊存儲至對應(yīng)的所述目標(biāo)數(shù)據(jù)中心.
在一種可能的實現(xiàn)方式中,裝置500還包括參考信息提供模塊,用于在從所述用戶端接收所述多個使用比例之前,向所述用戶端提供用于確定所述多個使用比例的參考信息,所述參考信息包括所述多個數(shù)據(jù)中心中每個數(shù)據(jù)中心的屬性和/或至少一組推薦的使用比例,其中,每個數(shù)據(jù)中心的所述屬性包括該數(shù)據(jù)中心的計費標(biāo)準(zhǔn)和性能指標(biāo),每組所述推薦的使用比例包括與所述多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例。
在一種可能的實現(xiàn)方式中,裝置500還包括:第一簽名授權(quán)獲取模塊,用于針對每個所述數(shù)據(jù)塊,請求該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心為該數(shù)據(jù)塊分配存儲位置標(biāo)識和第一簽名授權(quán)信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第一簽名授權(quán)信息用于在將該數(shù)據(jù)塊存儲至該目標(biāo)數(shù)據(jù)中心時進行簽名授權(quán)驗證;第一簽名授權(quán)發(fā)送模塊,發(fā)送該數(shù)據(jù)塊的所述存儲位置標(biāo)識和所述第一簽名授權(quán)信息至所述用戶端。
在一種可能的實現(xiàn)方式中,裝置500還包括:文件屬性接收模塊,用于從用戶端接收所述目標(biāo)文件的屬性,所述屬性包括所述目標(biāo)文件的文件格式;預(yù)處理信息確定模塊,用于基于所述屬性確定所述目標(biāo)文件的預(yù)處理信息,所述預(yù)處理信息用于指示如何對所述目標(biāo)文件進行預(yù)處理;預(yù)處理信息發(fā)送模塊,用于發(fā)送所述預(yù)處理信息至所述用戶端。
在一種可能的實現(xiàn)方式中,所述預(yù)處理信息確定模塊具體用于:基于所述屬性得到至少一種候選的預(yù)處理信息;向所述用戶端發(fā)送所述至少一種候選的預(yù)處理信息;接收所述用戶端發(fā)送的預(yù)處理選擇指示,所述預(yù)處理選擇指示用于指示被用戶選中的所述候選的預(yù)處理信息;確定所述預(yù)處理選擇指示所指示的預(yù)處理信息為所述目標(biāo)文件的預(yù)處理信息。
在一種可能的實現(xiàn)方式中,裝置500還包括:第一排序指示發(fā)送模塊,用于發(fā)送第一數(shù)據(jù)塊排序指示至所述用戶端,所述第一數(shù)據(jù)塊排序指示用于指示所述用戶端如何對分割得到的所述多個數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,裝置500還包括:下載請求接收模塊,用于從所述用戶端接收針對所述目標(biāo)文件的下載請求,所述下載請求包括所述目標(biāo)文件的標(biāo)識;存儲目的和合并獲取模塊,用于獲取所述目標(biāo)文件的所述存儲目的地和合并指示,所述合并指示用于指示如何對下載得到的所述多個數(shù)據(jù)塊進行合并以得到所述目標(biāo)文件;存儲目的和合并發(fā)送模塊,用于發(fā)送所述存儲目的地和所述合并指示至所述用戶端,以指示所述用戶端從所述存儲目的地所指示的目標(biāo)數(shù)據(jù)中心下載對應(yīng)的所述數(shù)據(jù)塊并對下載的所述數(shù)據(jù)塊進行合并。
在一種可能的實現(xiàn)方式中,裝置500還包括:第二簽名授權(quán)獲取模塊,用于針對每個所述數(shù)據(jù)塊,獲取該數(shù)據(jù)塊的存儲位置標(biāo)識和第二授權(quán)簽名信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第二簽名授權(quán)信息用于在從目標(biāo)數(shù)據(jù)中心下載該數(shù)據(jù)塊時進行簽名授權(quán)驗證;第二簽名授權(quán)發(fā)送模塊,用于發(fā)送所述存儲位置標(biāo)識和所述第二授權(quán)簽名信息至所述用戶端。
在一種可能的實現(xiàn)方式中,裝置500還包括:第二排序指示獲取模塊,用于獲取所述目標(biāo)文件的第二數(shù)據(jù)塊排序指示,所述第二數(shù)據(jù)塊排序指示用于指示在下載得到所述多個數(shù)據(jù)塊之后以及在對所述多個數(shù)據(jù)塊合并之前如何對所述多個數(shù)據(jù)塊進行重新排序;第二排序指示發(fā)送模塊,用于發(fā)送所述第二數(shù)據(jù)塊排序指示至所述用戶端。
在一種可能的實現(xiàn)方式中,裝置500還包括:后處理信息獲取模塊,用于獲取所述目標(biāo)文件的后處理信息,所述后處理信息用于指示如何對合并得到的所述目標(biāo)文件進行后處理;后處理信息發(fā)送模塊,用于發(fā)送所述后處理信息至所述用戶端。
在一種可能的實現(xiàn)方式中,裝置500還包括:刪除請求獲取模塊,用于從所述用戶端接收針對所述目標(biāo)文件的刪除請求,所述刪除請求包括所述目標(biāo)文件的標(biāo)識;存儲目的獲取模塊,用于獲取所述目標(biāo)文件的所述存儲目的地;存儲目的發(fā)送模塊,用于發(fā)送所述存儲目的地至所述用戶端,以指示所述用戶端從所述存儲目的地所指示的目標(biāo)數(shù)據(jù)中心刪除對應(yīng)的所述數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,裝置500還包括:第三簽名授權(quán)獲取模塊,用于針對每個所述數(shù)據(jù)塊,獲取該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第三授權(quán)簽名信息,所述存儲位置標(biāo)識用于指示該數(shù)據(jù)塊在該目標(biāo)數(shù)據(jù)中心中的存儲位置,所述第三簽名授權(quán)信息用于在從目標(biāo)數(shù)據(jù)中心刪除該數(shù)據(jù)塊時進行簽名授權(quán)驗證;第三簽名授權(quán)發(fā)送模塊,用于發(fā)送所述存儲位置標(biāo)識和所述第三授權(quán)簽名信息至所述用戶端。
實施例4
圖6示出根據(jù)本公開的一個實施例的數(shù)據(jù)分布式存儲的裝置600的結(jié)構(gòu)框圖。裝置600可應(yīng)用于用戶端。如圖6所示,裝置600包括:使用比例接收模塊602,用于接收用戶設(shè)置的與多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例并發(fā)送至中央調(diào)度引擎;上傳請求發(fā)送模塊604,用于向所述中央調(diào)度引擎發(fā)送針對目標(biāo)文件的上傳請求;分割和存儲目的接收模塊606,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的分割指示和存儲目的地;分割模塊608,用于基于所述分割指示對所述目標(biāo)文件進行分割以得到多個數(shù)據(jù)塊;上傳模塊610,用于基于所述存儲目的地將每個所述數(shù)據(jù)塊存儲至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,每個所述數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心是所述多個數(shù)據(jù)中心中用于存儲該數(shù)據(jù)塊的數(shù)據(jù)中心。其中,存儲至所述多個數(shù)據(jù)中心中的每個數(shù)據(jù)中心的所述數(shù)據(jù)塊的總大小占所述目標(biāo)文件大小的比例為該數(shù)據(jù)中心對應(yīng)的所述使用比例。
在一種可能的實現(xiàn)方式中,裝置600還包括:參考信息接收模塊,用于在接收用戶設(shè)置的所述多個使用比例之前,從所述中央調(diào)度引擎接收用于確定所述多個使用比例的參考信息,所述參考信息包括所述多個數(shù)據(jù)中心中每個數(shù)據(jù)中心的屬性和/或至少一組推薦的使用比例,其中,每個數(shù)據(jù)中心的所述屬性包括該數(shù)據(jù)中心的計費標(biāo)準(zhǔn)和性能指標(biāo),每組所述推薦的使用比例包括與所述多個數(shù)據(jù)中心一一對應(yīng)的多個使用比例。
在一種可能的實現(xiàn)方式中,裝置600還包括:第一簽名授權(quán)接收模塊,用于從所述中央調(diào)度引擎接收每個所述數(shù)據(jù)塊的存儲位置標(biāo)識和第一簽名授權(quán)信息。所述上傳模塊610具體用于:將該數(shù)據(jù)塊和該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第一簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第一簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下將該數(shù)據(jù)塊存儲在所述存儲位置標(biāo)識所指示的存儲位置。
在一種可能的實現(xiàn)方式中,裝置600還包括:屬性發(fā)送模塊,用于發(fā)送所述目標(biāo)文件的屬性至所述中央調(diào)度引擎,所述屬性包括所述目標(biāo)文件的文件格式;預(yù)處理信息接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的預(yù)處理信息,所述預(yù)處理信息是所述中央調(diào)度引擎基于所述目標(biāo)文件的所述屬性確定的;預(yù)處理模塊,用于在對所述目標(biāo)文件進行分割前,基于所述預(yù)處理信息對所述目標(biāo)文件進行預(yù)處理。
在一種可能的實現(xiàn)方式中,裝置600還包括:候選預(yù)處理信息接收模塊,用于在發(fā)送所述目標(biāo)文件的屬性至所述中央調(diào)度引擎之后,從所述中央調(diào)度引擎接收至少一種候選的預(yù)處理信息;預(yù)處理選擇接收模塊,用于接收用戶針對所述至少一種候選的預(yù)處理信息的選擇操作;預(yù)處理選擇發(fā)送模塊,用于發(fā)送預(yù)處理選擇指示至所述中央調(diào)度引擎,所述預(yù)處理選擇指示用于指示被用戶選中的所述候選的預(yù)處理信息。
在一種可能的實現(xiàn)方式中,裝置600還包括:第一排序指示接收模塊,用于從所述中央調(diào)度引擎接收第一數(shù)據(jù)塊排序指示;第一排序模塊,用于在對所述目標(biāo)文件進行分割后,基于所述第一數(shù)據(jù)塊排序指示對分割得到的所述多個數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,裝置600還包括:下載請求發(fā)送模塊,用于發(fā)送針對所述目標(biāo)文件的下載請求至所述中央調(diào)度引擎,所述下載請求包括所述目標(biāo)文件的標(biāo)識;存儲目的和合并接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的所述存儲目的地和合并指示;下載模塊,用于基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心下載所述多個數(shù)據(jù)塊;合并模塊,用于基于所述合并指示對下載得到的所述多個數(shù)據(jù)塊進行合并以得到所述目標(biāo)文件。
在一種可能的實現(xiàn)方式中,裝置600還包括:第二簽名授權(quán)接收模塊,用于從所述中央調(diào)度引擎接收該數(shù)據(jù)塊的存儲位置標(biāo)識和第二授權(quán)簽名信息。合并模塊具體用于:將所述存儲位置標(biāo)識和第二簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第二簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下返回存儲在所述存儲位置標(biāo)識所指示的存儲位置的數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,裝置600還包括:第二排序指示接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的第二數(shù)據(jù)塊排序指示,所述第二數(shù)據(jù)塊排序指示用于指示在下載得到所述多個數(shù)據(jù)塊之后以及在合并所述多個第二數(shù)據(jù)塊之前如何對所述多個數(shù)據(jù)塊進行重新排序;第二排序模塊,用于在下載所述多個數(shù)據(jù)塊之后并在對所述多個數(shù)據(jù)塊進行合并之前,基于所述第二數(shù)據(jù)塊排序?qū)λ龆鄠€數(shù)據(jù)塊重新排序。
在一種可能的實現(xiàn)方式中,裝置600還包括:后處理信息接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的后處理信息;后處理模塊,用于基于所述后處理信息對合并得到所述目標(biāo)文件進行后處理。
在一種可能的實現(xiàn)方式中,裝置600還包括:刪除請求發(fā)送模塊,用于發(fā)送針對所述目標(biāo)文件的刪除請求至所述中央調(diào)度引擎,所述下載請求包括所述目標(biāo)文件的標(biāo)識;存儲目的接收模塊,用于從所述中央調(diào)度引擎接收所述目標(biāo)文件的所述存儲目的地;刪除模塊,用于基于所述存儲目的地從所述各個目標(biāo)數(shù)據(jù)中心刪除所述多個數(shù)據(jù)塊。
在一種可能的實現(xiàn)方式中,裝置600還包括:第三簽名授權(quán)接收模塊,用于從所述中央調(diào)度引擎接收該數(shù)據(jù)塊的所述存儲位置標(biāo)識和第三授權(quán)簽名信息;所述刪除模塊具體用于:針對每個所述數(shù)據(jù)塊,將所述存儲位置標(biāo)識和第三簽名授權(quán)信息關(guān)聯(lián)地發(fā)送至該數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心,以請求該目標(biāo)數(shù)據(jù)中心使用所述第三簽名授權(quán)信息進行簽名授權(quán)驗證并在驗證通過的情況下刪除存儲在所述存儲位置標(biāo)識所指示的存儲位置的數(shù)據(jù)塊。
圖7是根據(jù)一示例性實施例示出的一種用于數(shù)據(jù)分布式存儲的裝置700的框圖。裝置700可被提供為安裝用戶端的設(shè)備或安裝中央調(diào)度引擎的設(shè)備。參照圖7,裝置700包括處理組件722,其進一步包括一個或多個處理器,以及由存儲器732所代表的存儲器資源,用于存儲可由處理組件722的執(zhí)行的指令,例如應(yīng)用程序。存儲器732中存儲的應(yīng)用程序可以包括一個或一個以上的每一個對應(yīng)于一組指令的模塊。此外,處理組件722被配置為執(zhí)行指令,以執(zhí)行上述方法。
裝置700還可以包括一個電源組件726被配置為執(zhí)行裝置700的電源管理,一個有線或無線網(wǎng)絡(luò)接口750被配置為將裝置700連接到網(wǎng)絡(luò),和一個輸入輸出(i/o)接口758。裝置700可以操作基于存儲在存儲器732的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。
在示例性實施例中,還提供了一種非易失性計算機可讀存儲介質(zhì),例如包括計算機程序指令的存儲器832,上述計算機程序指令可由裝置800的處理組件822執(zhí)行以完成上述方法。
應(yīng)用示例
圖8示出了根據(jù)本公開的一個示例性實施例的云存儲系統(tǒng)的交互示意圖。如圖所示,該云存儲系統(tǒng)包括用戶端802、中央調(diào)度引擎804和多個數(shù)據(jù)中心806。中央調(diào)度引擎804對用戶進行驗證。驗證通過后,中央調(diào)度引擎804根據(jù)用戶端802的上傳/下載/刪除請求等,請求各個數(shù)據(jù)中心806分配相應(yīng)的簽名授權(quán)信息,并將該授權(quán)驗證信息和全流程數(shù)據(jù)處理配置指示下發(fā)給用戶端802。用戶端802基于接收到的該授權(quán)驗證信息和全流程數(shù)據(jù)處理指示在本端運行相應(yīng)算法以對數(shù)據(jù)進行處理,并直接與各個數(shù)據(jù)中心806進行數(shù)據(jù)交互。每個數(shù)據(jù)中心806可以是私有云,也可以是公有云,本公開對此不作限定。
以下以應(yīng)用本公開的一個具體應(yīng)用示例為例進行說明。
該示例中,某用戶的注冊過程如下。
1、用戶在注冊時,需提供用于唯一標(biāo)識用戶的用戶id,并設(shè)置對應(yīng)于該用戶id的登錄密碼。用戶id和登錄密碼會被保存在中央調(diào)度引擎,作為用戶登錄的認(rèn)證依據(jù)。
2、在用戶端,在用戶注冊時,為該用戶產(chǎn)生一個唯一的密鑰,可稱之為主密鑰,該主密鑰用于對用戶端的數(shù)據(jù)進行加密。
3、在用戶注冊時,向用戶提供多個數(shù)據(jù)中心的屬性,每個數(shù)據(jù)中心的屬性包括該數(shù)據(jù)中心的計費標(biāo)準(zhǔn)、性能指標(biāo)、位置、所使用的連接技術(shù)等。
4、用戶輸入自己期望的與多個數(shù)據(jù)中心對應(yīng)的多個使用比例,用戶端將該使用比例發(fā)送至中央調(diào)度引擎,中央調(diào)度引擎可保存該使用比例。后續(xù)用戶可根據(jù)需要隨時調(diào)整該使用比例,每次調(diào)整后,用戶端都將更新后的使用比例發(fā)送至中央調(diào)度引擎。
該示例中,某次用戶登錄并上傳文件的過程如下。
s1、在用戶端,用戶輸入用戶id和登錄密碼,并輸入主密鑰進行雙向確認(rèn)。
s2、(可選地)用戶端從中央調(diào)度引擎交互取得用戶對各個數(shù)據(jù)中心的使用比例和使用量,同時取得各個數(shù)據(jù)中心的屬性。用戶可確定是否調(diào)整當(dāng)前使用的數(shù)據(jù)中心和相應(yīng)使用比例,如果調(diào)整,則調(diào)整后的被選用的數(shù)據(jù)中心和相應(yīng)使用比例會被發(fā)送至中央調(diào)度引擎。
s3、用戶端可加載目標(biāo)文件,并將目標(biāo)文件的屬性,該屬性包括文件大小和文件類型發(fā)送至中央調(diào)度引擎。
s4、中央調(diào)度引擎基于用戶選用的數(shù)據(jù)中心和相應(yīng)使用比例,并考慮文件的大小,確定目標(biāo)文件的分割指示和存儲目的地。
中央調(diào)度引擎請求分割后的每個數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心為該數(shù)據(jù)塊分配存儲位置標(biāo)識和第一簽名授權(quán)信息。
中央調(diào)度引擎基于文件類型為用戶端提供至少一個候選的壓縮算法、至少一種候選的去重算法和至少一種候選的加密算法。用戶可在用戶端選擇其中一種壓縮算法、一種去重算法和一種加密算法,并通過預(yù)處理選擇指示告知中央調(diào)度引擎。
s5、中央調(diào)度引擎向用戶端下發(fā)配置文件,該配置文件可以包括第一簽名授權(quán)信息和全流程處理處理指示,該全流程處理指示可以包括指示壓縮算法的信息、指示去重算法的信息、指示加密算法的信息、分割指示、指示數(shù)據(jù)塊排序算法的信息、每個數(shù)據(jù)塊要存儲的數(shù)據(jù)中心和在該數(shù)據(jù)中心中的存儲位置標(biāo)識。該配置文件中還包括指示將該配置文件存儲至某數(shù)據(jù)中心的某存儲位置的存儲信息。
s6、目標(biāo)文件可以被看做二進制數(shù)據(jù)流。用戶端先給目標(biāo)文件映射的二進制數(shù)據(jù)流添加校驗碼,然后根據(jù)配置文件的指導(dǎo),運行本地算法模塊對目標(biāo)文件進行數(shù)據(jù)處理,并將數(shù)據(jù)塊傳輸?shù)竭h(yuǎn)端數(shù)據(jù)中心。在傳輸之前,用戶端先與該遠(yuǎn)端數(shù)據(jù)中心建立加密通道。
s7、用主密鑰對該配置文件進行加密,并將該配置文件存儲到所指示的數(shù)據(jù)中心的存儲位置。
s8、用戶端傳輸完所有數(shù)據(jù)塊后,通知中央調(diào)度引擎。中央調(diào)度引擎標(biāo)記目標(biāo)文件已上傳完畢。中央調(diào)度引擎還記錄配置文件自身的存儲信息。同時用戶端以用戶指定的方式通知用戶上傳成功。
該示例中,某次用戶登錄并下載文件的過程如下。
s1、在用戶端,用戶輸入用戶id和登錄密碼,并輸入主密鑰進行雙向確認(rèn)。
s2、用戶在文件樹中選擇需下載的目標(biāo)文件以及下載后的文件的保存路徑。用戶端將選中的目標(biāo)文件的標(biāo)識發(fā)送至中央調(diào)度引擎。
s3、中央調(diào)度引擎在所記錄的存儲信息指示的位置取回上傳目標(biāo)文件時使用的配置文件,并下發(fā)給用戶端。
s4、用戶端使用主密鑰對該配置文件進行解密,并將解密后的配置文件發(fā)送至中央調(diào)度引擎。
s5、中央調(diào)度引擎根據(jù)上傳時使用的配置信息生成下載需使用的配置信息。下載需使用的配置信息包括下載的全流程數(shù)據(jù)處理指示。下載的處理流程是上傳的處理流程的逆過程。
在此期間,中央調(diào)度引擎請求每個數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心為下載該數(shù)據(jù)塊分配第二簽名授權(quán)信息。
該第二簽名授權(quán)信息和下載需使用的其他配置信息一起以配置文件的形式被下發(fā)到用戶端。
s6、用戶端在該配置文件的指導(dǎo)下從遠(yuǎn)端的數(shù)據(jù)中心下載各個數(shù)據(jù)塊并進行還原。
s7,、用戶端還對還原后的數(shù)據(jù)進行校驗。如果校驗成功,則以用戶指定的形式保存文件并通知用戶下載成功。
該示例中,某次用戶登錄并刪除文件的過程如下。
s1、在用戶端,用戶輸入用戶id和登錄密碼,并輸入主密鑰進行雙向確認(rèn)。
s2、用戶在文件樹中選擇需刪除的目標(biāo)文件。用戶端將選中的目標(biāo)文件的標(biāo)識發(fā)送至中央調(diào)度引擎。
s3、中央調(diào)度引擎在所記錄的存儲信息指示的位置取回上傳目標(biāo)文件時使用的配置文件,并下發(fā)給用戶端。
s4、用戶端使用主密鑰對該配置文件進行解密,并將解密后的配置文件發(fā)送至中央調(diào)度引擎。
s5、中央調(diào)度引擎根據(jù)上傳時使用的配置信息生成刪除需使用的配置信息。
在此期間,中央調(diào)度引擎請求每個數(shù)據(jù)塊對應(yīng)的目標(biāo)數(shù)據(jù)中心為刪除該數(shù)據(jù)塊分配第三簽名授權(quán)信息。
該第三簽名授權(quán)信息和刪除需使用的其他配置信息一起以配置文件的形式被下發(fā)到用戶端。
s6、用戶端在該配置文件的指導(dǎo)下,直接建立與各個數(shù)據(jù)中心的加密通道連接,并于連接中觸發(fā)對各個數(shù)據(jù)塊的刪除動作。
s7、當(dāng)從遠(yuǎn)端數(shù)據(jù)中心刪除所有數(shù)據(jù)塊時,用戶端通知中央調(diào)度引擎,中央調(diào)度引擎中可標(biāo)識已完成對該目標(biāo)文件的刪除。同時用戶端以用戶指定的方式通知用戶。
本公開可以是系統(tǒng)、方法和/或計算機程序產(chǎn)品。計算機程序產(chǎn)品可以包括計算機可讀存儲介質(zhì),其上載有用于使處理器實現(xiàn)本公開的各個方面的計算機可讀程序指令。
計算機可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計算機可讀存儲介質(zhì)例如可以是――但不限于――電存儲設(shè)備、磁存儲設(shè)備、光存儲設(shè)備、電磁存儲設(shè)備、半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、靜態(tài)隨機存取存儲器(sram)、便攜式壓縮盤只讀存儲器(cd-rom)、數(shù)字多功能盤(dvd)、記憶棒、軟盤、機械編碼設(shè)備、例如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計算機可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘枴?/p>
這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質(zhì)下載到各個計算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機或外部存儲設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網(wǎng)關(guān)計算機和/或邊緣服務(wù)器。每個計算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計算機可讀程序指令,并轉(zhuǎn)發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設(shè)備中的計算機可讀存儲介質(zhì)中。
用于執(zhí)行本公開操作的計算機程序指令可以是匯編指令、指令集架構(gòu)(isa)指令、機器指令、機器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言—諸如smalltalk、c++等,以及常規(guī)的過程式編程語言—諸如“c”語言或類似的編程語言。計算機可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠(yuǎn)程計算機上執(zhí)行、或者完全在遠(yuǎn)程計算機或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機的情形中,遠(yuǎn)程計算機可以通過任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計算機可讀程序指令,從而實現(xiàn)本公開的各個方面。
這里參照根據(jù)本公開實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述了本公開的各個方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現(xiàn)。
這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質(zhì)中,這些指令使得計算機、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲有指令的計算機可讀介質(zhì)則包括一個制造品,其包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的各個方面的指令。
也可以把計算機可讀程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
附圖中的流程圖和框圖顯示了根據(jù)本公開的多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
以上已經(jīng)描述了本公開的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋各實施例的原理、實際應(yīng)用或?qū)κ袌鲋械募夹g(shù)的技術(shù)改進,或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實施例。