專利名稱:一種異構(gòu)平臺下數(shù)據(jù)分布存儲的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲領(lǐng)域,更具體地說,涉及一種異構(gòu)平臺下數(shù)據(jù)分布存儲的方法及裝置。
背景技術(shù):
隨著計算機技術(shù)的飛速發(fā)展和信息化的逐步深入,數(shù)據(jù)急劇增長并推動存儲行業(yè)快速發(fā)展,越來越多不同架構(gòu)的存儲設(shè)備需要協(xié)同工作,越來越多不同部門的存儲設(shè)備需要共享數(shù)據(jù),但如何實現(xiàn)跨部門間的數(shù)據(jù)分布式存儲和管理成為難點。所謂數(shù)據(jù)保護(hù)就是在多部門異構(gòu)存儲平臺上保存數(shù)據(jù),但目前無論是否有權(quán)限,各部門都可以看到保存在本地的數(shù)據(jù),這樣可能會導(dǎo)致數(shù)據(jù)被篡改或泄露,造成不安全。為了滿足迅速增長的數(shù)據(jù)處理需求,Google提出了 Google文件系統(tǒng)(GoogleFile System,簡寫GFS),GFS架構(gòu)如圖1所示。GFS與傳統(tǒng)的分布式文件系統(tǒng)有著很多相同的設(shè)計目標(biāo),比如性能、可伸縮性、可靠性以及可用性。另外,GFS將組件失效認(rèn)為是常態(tài)事件,而不是意外事件。GFS包括幾百甚至幾千臺普通的廉價設(shè)備組裝的存儲機器,同時被相當(dāng)數(shù)量的客戶機訪問。GFS組件的數(shù)量和質(zhì)量導(dǎo)致在任何給定時間內(nèi)都有可能發(fā)生某些組件無法工作,且無法從它們目前的失效狀態(tài)中恢復(fù)。例如應(yīng)用程序bug、操作系統(tǒng)的bug、人為失誤,甚至還有硬盤、內(nèi)存、連接器、網(wǎng)絡(luò)以及電源失效等問題。所以,持續(xù)監(jiān)控、錯誤偵測、災(zāi)難冗余以及自動恢復(fù)的機制必須集成在GFS中。以通常的標(biāo)準(zhǔn)衡量,Google文件非常巨大,數(shù)GB的文件非常普遍。每個文件通常都包含許多應(yīng)用程序?qū)ο?,比如web文檔。當(dāng)需要處理快速增長的、并且由數(shù)億個對象構(gòu)成的數(shù)TB的數(shù)據(jù)集時,采用管理數(shù)億個KB大小的小文件的方式是非常不明智的,盡管有些文件系統(tǒng)支持這樣的管理方式。因此,設(shè)計的假設(shè)條件和參數(shù),比如I/O操作和Block (塊)的尺寸都需要重新考慮。
GFS中絕大部分文件的修改是采用在文件尾部追加數(shù)據(jù),而不是覆蓋原有數(shù)據(jù)的方式,對文件的隨機寫入操作幾乎不存在,一旦寫完之后,對文件的操作就只有讀,而且通常是按順序讀。大量的數(shù)據(jù)符合上述特性,例如數(shù)據(jù)分析程序掃描的超大的數(shù)據(jù)集;正在運行的應(yīng)用程序生成的連續(xù)的數(shù)據(jù)流;存檔的數(shù)據(jù);由一臺機器生成、另外一臺機器處理的中間數(shù)據(jù),這些中間數(shù)據(jù)的處理可能是同時進(jìn)行的、也可能是后續(xù)才處理的。對于這種針對海量文件的訪問模式,客戶端對數(shù)據(jù)塊緩存是沒有意義的,數(shù)據(jù)的追加操作是性能優(yōu)化和原子性保證的主要考慮因素。應(yīng)用程序和文件系統(tǒng)API (Application Programming Interface,應(yīng)用程序編程接口)的協(xié)同設(shè)計提高了整個系統(tǒng)的靈活性。比如,放松了對GFS —致性模型的要求,這樣就減輕了文件系統(tǒng)對應(yīng)用程序的苛刻要求,大大簡化了 GFS的設(shè)計。GFS引入了原子性的記錄追加操作,從而保證多個客戶端能夠同時進(jìn)行追加操作,不需要額外的同步操作來保證數(shù)據(jù)的一致性。GFS實現(xiàn)數(shù)據(jù)在大量廉價機器進(jìn)行分布式存儲,但是在GFS架構(gòu)下,數(shù)據(jù)對全部機器都是可見的,不區(qū)分權(quán)限,其造成不安全,因此,該方案無法滿足不同部門之間的數(shù)據(jù)共
享要求。Bluesky (藍(lán)天)主要探討一種方法橋接云和本地應(yīng)用作為一個網(wǎng)絡(luò)文件服務(wù),它所關(guān)注的是用云服務(wù)替代傳統(tǒng)網(wǎng)絡(luò)文件服務(wù),基于代理的解決方案,將請求轉(zhuǎn)換成在互聯(lián)網(wǎng)上相應(yīng)的云存儲API調(diào)用?;谠频拇鎯Ψ?wù)可以提供本地文件系統(tǒng)功能,同時累積了由第三方服務(wù)所帶來可擴(kuò)展性和成本方面的好處,Bluesky的架構(gòu)如圖2所示。由圖2可見,其架構(gòu)思想是在前端向客戶端提供NFS (Network File System,網(wǎng)絡(luò)文件系統(tǒng))和CIFS (Common Internet File System,通用Internet文件系統(tǒng))標(biāo)準(zhǔn)接口,客戶端可以通過這兩種標(biāo)準(zhǔn)接口上傳下載文件。本地磁盤作為一個緩存,只緩存一部分?jǐn)?shù)據(jù),根據(jù)某一策略對數(shù)據(jù)進(jìn)行換進(jìn)換出。接著通過調(diào)用公有云存儲平臺接口進(jìn)行數(shù)據(jù)存儲,但在上傳數(shù)據(jù)之前需要對數(shù)據(jù)加密,以確保數(shù)據(jù)的安全。Bluesky系統(tǒng)中有一個Clearner,它的主要作用是垃圾回收,可作用于作為緩存的本地磁盤上,也可以作用于云存儲平臺中,但由于云平臺中的數(shù)據(jù)是加密的,無法識別數(shù)據(jù)是否需要讓Clearner進(jìn)行清除,所以只能對部分?jǐn)?shù)據(jù)進(jìn)行加密或Clearner需要帶著密鑰進(jìn)行工作,影響數(shù)據(jù)的安全。Bluesky解決了直接使用公有云存儲平臺因帶寬限制而產(chǎn)生的長時間延遲問題,一定程度上彌補了公有云存儲平臺的安全問題。其缺點主要是首先,Bluesky因為本地只緩存部分?jǐn)?shù)據(jù)而無法進(jìn)行重復(fù)數(shù)據(jù)刪除,上傳到公有云存儲平臺中的數(shù)據(jù)量較大,增加上傳時間;其次,由于本地采用了日志結(jié)構(gòu)的文件系統(tǒng)管理和存儲數(shù)據(jù),數(shù)據(jù)管理不方便,數(shù)據(jù)量較大;最后,采用加密的方式保護(hù)數(shù)據(jù)會大大增加計算復(fù)雜度和預(yù)處理時間。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述數(shù)據(jù)不安全、運算復(fù)雜、處理速度慢的缺陷,提供一種數(shù)據(jù)較安全、運算簡單、處理速度較快的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法及裝置。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是構(gòu)造一種異構(gòu)平臺下數(shù)據(jù)分布存儲的方法,包括如下步驟
A)客戶端向服務(wù)器端發(fā)送請求,并通過所述服務(wù)器端驗證后將元數(shù)據(jù)傳送給第一服務(wù)
器;
B)所述第一服務(wù)器依據(jù)所述元數(shù)據(jù)創(chuàng)建或更新本地數(shù)據(jù)庫中的元信息;
C)所述客戶端上傳第一數(shù)據(jù),所述第一服務(wù)器接收所述第一數(shù)據(jù)并將其拆分成多個塊數(shù)據(jù)后分別保存到本地多個服務(wù)器中;
D)讀取所述多個塊數(shù)據(jù),并將所述每一個塊數(shù)據(jù)按設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù);
E)分別將所述第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù),將所述每一個字節(jié)對應(yīng)位置的第三數(shù)據(jù)依次連接得到多個第四數(shù)據(jù),并將所述多個第四數(shù)據(jù)分別存儲到多個存儲設(shè)備中。在本發(fā)明所述的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法中,所述步驟D)進(jìn)一步包括 Dl)獲取所述塊數(shù)據(jù)的首地址,并判斷所述塊數(shù)據(jù)是否可讀,如是,執(zhí)行步驟D2);否
貝U,退出本次操作;
D2)從所述首地址開始依次讀取所述塊數(shù)據(jù),并將所述每一個塊數(shù)據(jù)按所述設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù)。在本發(fā)明所述的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法中,所述設(shè)定字節(jié)數(shù)為四個字節(jié)。在本發(fā)明所述的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法中,所述步驟E)進(jìn)一步包括 El)分別將所述第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù);
E2)分別依次將所述每一個字節(jié)中對應(yīng)位置的第三數(shù)據(jù)保持不變,將其余位置的第三數(shù)據(jù)清零;
E3)分別將所述對應(yīng)位置的第三數(shù)據(jù)所在的字節(jié)數(shù)據(jù)進(jìn)行相應(yīng)位數(shù)的左移或右移后并進(jìn)行疊加得到多個第四數(shù)據(jù);
E4)將所述多個第四數(shù)據(jù)分別存儲到預(yù)先設(shè)定的多個存儲設(shè)備中。在本發(fā)明所述的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法中,所述設(shè)定位數(shù)為一位或兩位或四位。本發(fā)明還涉及一種實現(xiàn)上述異構(gòu)平臺下數(shù)據(jù)分布存儲的方法的裝置,包括 請求及數(shù)據(jù)傳送模塊用于使客戶端向服務(wù)器端發(fā)送請求,并通過所述服務(wù)器端驗證 后將元數(shù)據(jù)傳送給第一服務(wù)器;
信息創(chuàng)建更新模塊用于使所述第一服務(wù)器依據(jù)所述元數(shù)據(jù)創(chuàng)建或更新本地數(shù)據(jù)庫中的元信息;
數(shù)據(jù)上傳及保存模塊用于使所述客戶端上傳第一數(shù)據(jù),所述第一服務(wù)器接收所述第一數(shù)據(jù)并將其拆分成多個塊數(shù)據(jù)后分別保存到本地多個服務(wù)器中;
數(shù)據(jù)讀取及拆分模塊用于讀取所述多個塊數(shù)據(jù),并將所述每一個塊數(shù)據(jù)按字節(jié)拆分成多個第二數(shù)據(jù);
數(shù)據(jù)拆分及存儲模塊用于分別將所述第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù),將所述每一個字節(jié)對應(yīng)位置的第三數(shù)據(jù)依次連接得到多個第四數(shù)據(jù),并將所述多個第四數(shù)據(jù)分別存儲到多個存儲設(shè)備中。在本發(fā)明所述的實現(xiàn)上述異構(gòu)平臺下數(shù)據(jù)分布存儲的方法的裝置,所述數(shù)據(jù)讀取及拆分模塊進(jìn)一步包括
地址獲取及判斷單元用于獲取所述塊數(shù)據(jù)的首地址,并判斷所述塊數(shù)據(jù)是否可讀,并在不可讀時退出本次操作;
塊數(shù)據(jù)讀取及拆分單元用于從所述首地址開始依次讀取所述塊數(shù)據(jù),并將所述每一個塊數(shù)據(jù)按所述設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù)。在本發(fā)明所述的實現(xiàn)上述異構(gòu)平臺下數(shù)據(jù)分布存儲的方法的裝置,所述設(shè)定字節(jié)數(shù)為四個字節(jié)。在本發(fā)明所述的實現(xiàn)上述異構(gòu)平臺下數(shù)據(jù)分布存儲的方法的裝置,所述數(shù)據(jù)拆分及存儲模塊進(jìn)一步包括
位拆分單元用于分別將所述第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù);
數(shù)據(jù)清零單元用于分別依次將所述每一個字節(jié)中對應(yīng)位置的第三數(shù)據(jù)保持不變,將其余位置的第三數(shù)據(jù)清零;
數(shù)據(jù)移位疊加單元用于分別將所述對應(yīng)位置的第三數(shù)據(jù)所在的字節(jié)數(shù)據(jù)進(jìn)行相應(yīng)位數(shù)的左移或右移后并進(jìn)行疊加得到多個第四數(shù)據(jù);
分布存儲單元用于將所述多個第四數(shù)據(jù)分別存儲到預(yù)先設(shè)定的多個存儲設(shè)備中。在本發(fā)明所述的實現(xiàn)上述異構(gòu)平臺下數(shù)據(jù)分布存儲的方法的裝置,所述設(shè)定位數(shù)為一位或兩位或四位。實施本發(fā)明的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法及裝置,具有以下有益效果由于第一服務(wù)器接收第一數(shù)據(jù)后將其拆分成多個塊數(shù)據(jù),并將多個塊數(shù)據(jù)分別保存到本地多個服務(wù)器中;然后讀取多個塊數(shù)據(jù),并將每一個塊數(shù)據(jù)按設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù);再分別將第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù),將每一個字節(jié)對應(yīng)位置的第三數(shù)據(jù)依次連接得到多個第四數(shù)據(jù),不需要運算復(fù)雜的加密和解密,所以運算簡單、處理速度較快;由于將多個第四數(shù)據(jù)分別存儲到多個存儲設(shè)備(多個異構(gòu)平臺下的存儲設(shè)備)中,即每個存儲設(shè)備只保存一部分?jǐn)?shù)據(jù)信息(經(jīng)過位拆分并重組的數(shù)據(jù)),無法還原出正常數(shù)據(jù),所以數(shù)據(jù)較安全。
圖1是背景技術(shù)中GFS的架構(gòu) 圖2是背景技術(shù)中Bluesky的架構(gòu)圖;
圖3是本發(fā)明異構(gòu)平臺下數(shù)據(jù)分布存儲的方法及裝置實施例中方法的流程 圖4是所述實施例中塊數(shù)據(jù)拆分成第二數(shù)據(jù)的具體流程 圖5是所述實施例中將第二數(shù)據(jù)進(jìn)行拆分并重組后分別進(jìn)行存儲的具體流程 圖6是所述實施例中第二數(shù)據(jù)按四位進(jìn)行拆分的示意 圖7是所述實施例中第二數(shù)據(jù)按兩位進(jìn)行拆分的示意 圖8是所述實施例中裝置的結(jié)構(gòu)示意 圖9是所述實施例中異構(gòu)平臺下數(shù)據(jù)分布存儲的系統(tǒng)整體架構(gòu) 圖10是不同大小文件的加密時間和本發(fā)明中位拆分時間的測試結(jié)果對比圖。
具體實施例方式為了便于本領(lǐng)域的普通技術(shù)人員能夠理解并實施本發(fā)明,下面將結(jié)合附圖對本發(fā)明實施例作進(jìn)一步說明。在本發(fā)明異構(gòu)平臺下數(shù)據(jù)分布存儲的方法及裝置實施例中,其方法的流程圖如圖
3所示。圖3中,該方法包括
步驟SOl客戶端向服務(wù)器端發(fā)送請求,并通過所述服務(wù)器端驗證后將元數(shù)據(jù)傳送給第一服務(wù)器本步驟中,客戶端向服務(wù)器端發(fā)送請求(上傳數(shù)據(jù)或下載數(shù)據(jù)的請求)后,并通過服務(wù)器端驗證身份后,將將元數(shù)據(jù)傳送給第一服務(wù)器,本實施例中,第一服務(wù)器為元數(shù)據(jù)服務(wù)器。值得一提的是,本實施例中,元數(shù)據(jù)為是描述數(shù)據(jù)及其環(huán)境的數(shù)據(jù),換句話說,元數(shù)據(jù)就是數(shù)據(jù)的屬性信息即數(shù)據(jù)的配置信息,例如數(shù)據(jù)分成幾塊、數(shù)據(jù)的大小和數(shù)據(jù)存儲的位置等信息。值得一提的是,上述服務(wù)器端(本地服務(wù)器端)包括第一服務(wù)器。步驟S02第一服務(wù)器依據(jù)元數(shù)據(jù)創(chuàng)建或更新本地數(shù)據(jù)庫中的元信息本步驟中,第一服務(wù)器依據(jù)上述元數(shù)據(jù)創(chuàng)建或更新本地數(shù)據(jù)庫中的元信息,也即更新數(shù)據(jù)的屬性信息,例如待處理文件的大小或文件名等信息。
步驟S03客戶端上傳第一數(shù)據(jù),第一服務(wù)器接收第一數(shù)據(jù)并將其拆分成多個塊數(shù)據(jù)后分別保存到本地多個服務(wù)器中本步驟中,客戶端上傳第一數(shù)據(jù),第一服務(wù)器接收第一數(shù)據(jù)并對其進(jìn)行處理,具體就是將第一數(shù)據(jù)進(jìn)行拆分成多個塊數(shù)據(jù),再將上述多個塊數(shù)據(jù)分別保存到本地多個服務(wù)器中(具體是本地服務(wù)器集群的存儲單元中)。值得一提的是,本實施例中的第一數(shù)據(jù)的數(shù)據(jù)量較大,如果只用一個服務(wù)器來存儲的話,負(fù)擔(dān)較大,有時甚至一個服務(wù)器的存儲空間可不足以存儲數(shù)據(jù),不能滿足對大存儲空間的需要,為了減小系統(tǒng)負(fù)擔(dān),本實施例中,將第一數(shù)據(jù)分散保存到多個服務(wù)器中(即本地服務(wù)器集群中)。步驟S04讀取多個塊數(shù)據(jù),并將每一個塊數(shù)據(jù)按設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù)由于塊數(shù)據(jù)的數(shù)據(jù)量較大,為了后續(xù)進(jìn)行數(shù)據(jù)拆分的方便,本步驟中,從上述存儲單元中讀取上述多個塊數(shù)據(jù),并將每一個塊數(shù)據(jù)按設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù),將數(shù)據(jù)量較大的塊數(shù)據(jù)拆分成數(shù)據(jù)量較小的多個第二數(shù)據(jù),這樣可使運算簡單,減少處理時間。值得一提的是,本實施例中,上述設(shè)定字節(jié)數(shù)為四個字節(jié),這時計算較方便,處理時間也較短。當(dāng)然,在本實施例的另外一些情況下,設(shè)定字節(jié)數(shù)可進(jìn)行相應(yīng)調(diào)整,例如設(shè)定字節(jié)數(shù)為兩個字節(jié)或其他字節(jié)數(shù)。步驟S05分別將第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù),將每一個字節(jié)對應(yīng)位置的第三數(shù)據(jù)依次連接得到多個第四數(shù)據(jù),并將多個第四數(shù)據(jù)分別存儲到多個存儲設(shè)備中本步驟中,具體來講,就是將第二數(shù)據(jù)四個字節(jié)中每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù),上述設(shè)定位數(shù)為一位或兩位或四位,例如當(dāng)設(shè)定位數(shù)為一位時,每一個字節(jié)的數(shù)據(jù)可拆分成八個第三數(shù)據(jù);當(dāng)設(shè)定位數(shù)為兩位時,每一個字節(jié)的數(shù)據(jù)可拆分成四個第三數(shù)據(jù);當(dāng)設(shè)定位數(shù)為四位時,每一個字節(jié)的數(shù)據(jù)可拆分成兩個第三數(shù)據(jù)。然后將每一個字節(jié)(即第二數(shù)據(jù)的每一個字節(jié))中對應(yīng)位置的第三數(shù)據(jù)按所在字節(jié)的先后順序依次連接得到多個第四數(shù)據(jù),并將多個第四數(shù)據(jù)分別存儲到多個異構(gòu)平臺下的存儲設(shè)備中,每個存儲設(shè)備中存儲的是局部數(shù)據(jù),且是原始數(shù)據(jù)經(jīng)過拆分后的,不經(jīng)授權(quán)無法看到真實數(shù)據(jù),這樣可保證數(shù)據(jù)的安全性。此外,該方法不需要加密和解密,消除了加密和解密的復(fù)雜性,使運算較為簡單,減少了處理的時間,處理速度較快。對于本實施例而 言,上述步驟S04可進(jìn)一步細(xì)化,其具體流程圖如圖4所示,圖4中,步驟S04進(jìn)一步包括
步驟S401獲取塊數(shù)據(jù)的首地址,并判斷塊數(shù)據(jù)是否可讀本步驟中,具體就是獲取上述多個塊數(shù)據(jù)的首地址,也即存儲上述多個塊數(shù)據(jù)的存儲單元的首地址,并判斷塊數(shù)據(jù)是否可讀,也就是塊數(shù)據(jù)是否已準(zhǔn)備好可供讀??;換句話說,其表現(xiàn)形式就是獲取將要進(jìn)行位拆分的數(shù)據(jù)句柄(一個數(shù)據(jù)句柄是一個四字節(jié)長的數(shù)值),并判斷數(shù)據(jù)句柄是否正確,如果判斷的結(jié)果為是,則執(zhí)行步驟S403 ;如果判斷的結(jié)果為否,則執(zhí)行步驟S402。步驟S402退出本次操作如果上述步驟S401的判斷結(jié)果為否,則執(zhí)行本步驟。本步驟中,退出本次操作。步驟S403從首地址開始依次讀取塊數(shù)據(jù),并將每一個塊數(shù)據(jù)按設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù)如果上述步驟S401的判斷結(jié)果為是,則執(zhí)行本步驟。本步驟中,從首地址開始依次讀取塊數(shù)據(jù),也就是從存儲塊數(shù)據(jù)的第一個存儲單元開始依次讀取塊數(shù)據(jù)(也可以是從數(shù)據(jù)句柄開始讀取字符),并將塊數(shù)據(jù)按設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù),本步驟中,在讀取塊數(shù)據(jù)時,當(dāng)然有判斷的過程,具體就是判斷塊數(shù)據(jù)是否讀取完畢,也就是判斷存儲塊數(shù)據(jù)的所有存儲單元中的數(shù)據(jù)是否全部被讀取,或者說不停地判斷是否讀取到最后一個存儲單元。本實施例中,將塊數(shù)據(jù)按四個字節(jié)拆分成多個第二數(shù)據(jù),也就是每一個第二數(shù)據(jù)的長度都是四個字節(jié)。當(dāng)塊數(shù)據(jù)按四個字節(jié)進(jìn)行拆分時,可使后續(xù)的位拆分及重組(合并)操作處理速度較快,運算簡單。當(dāng)然,在本實施例的另外一些情況下,每一個塊數(shù)據(jù)也可按其他字節(jié)數(shù)進(jìn)行拆分。對于本實施例而言,上述步驟S05可進(jìn)一步細(xì)化,其具體流程圖如圖5所示,圖5中,步驟S05進(jìn)一步包括
步驟S501分別將第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù)本步驟中,具體來講,就是將第二數(shù)據(jù)四個字節(jié)中每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù),上述設(shè)定位數(shù)為一位或兩位或四位,例如當(dāng)設(shè)定位數(shù)為一位時,每一個字節(jié)的數(shù)據(jù)可拆分成八個第三數(shù)據(jù);當(dāng)設(shè)定位數(shù)為兩位時,每一個字節(jié)的數(shù)據(jù)可拆分成四個第三數(shù)據(jù);當(dāng)設(shè)定位數(shù)為四位時,每一個字節(jié)的數(shù)據(jù)可拆分成兩個第三數(shù)據(jù)。當(dāng)然,在本實施例的另外一些情況下,設(shè)定位數(shù)根據(jù)實際需要可進(jìn)行相應(yīng)調(diào)整。步驟S502分別依次將每一個字節(jié)中對應(yīng)位置的第三數(shù)據(jù)保持不變,將其余位置的第三數(shù)據(jù)清零本實施例中,因為要將每一個字節(jié)中對應(yīng)位置的第三數(shù)據(jù)進(jìn)行拼接,具體來講,就是分別將第二數(shù)據(jù)四個字節(jié)中每一個字節(jié)拆分后的對應(yīng)位置的第三數(shù)據(jù)進(jìn)行拼接,當(dāng)?shù)诙?shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按四位進(jìn)行拆分時,每一個字節(jié)的數(shù)據(jù)可拆分成第一個第三數(shù)據(jù)和第二個第三數(shù)據(jù),也就是將第二數(shù)據(jù)的第一個字節(jié)、第二個字節(jié)、第三個字節(jié)和第四個字節(jié)中的第一·個第三數(shù)據(jù)按原順序依次連接,并將第二數(shù)據(jù)的第一個字節(jié)、第二個字節(jié)、第三個字節(jié)和第四個字節(jié)中的第二個第三數(shù)據(jù)按原順序依次連接,上述拼接或連接的操作也可叫合并操作,經(jīng)過合并后,可得到兩組16位的數(shù)據(jù)。在本實施例中,上述合并操作是通過移位及疊加得到的。本步驟中,分別依次將每一個字節(jié)中對應(yīng)位置的第三數(shù)據(jù)保持不變,將其余位置的第三數(shù)據(jù)清零,例如當(dāng)要將第二數(shù)據(jù)的第一個字節(jié)、第二個字節(jié)、第三個字節(jié)和第四個字節(jié)中的第一個第三數(shù)據(jù)按原順序依次連接時,首先使第二數(shù)據(jù)的第一個字節(jié)、第二個字節(jié)、第三個字節(jié)和第四個字節(jié)中的第一個第三數(shù)據(jù)保持不變,將第二數(shù)據(jù)的第一個字節(jié)、第二個字節(jié)、第三個字節(jié)和第四個字節(jié)中的第二個第三數(shù)據(jù)所在的位清零;當(dāng)要將第二數(shù)據(jù)的第一個字節(jié)、第二個字節(jié)、第三個字節(jié)和第四個字節(jié)中的第二個第三數(shù)據(jù)按原順序依次連接時,首先使第二數(shù)據(jù)的第一個字節(jié)、第二個字節(jié)、第三個字節(jié)和第四個字節(jié)中的第二個第三數(shù)據(jù)保持不變,將第二數(shù)據(jù)的第一個字節(jié)、第二個字節(jié)、第三個字節(jié)和第四個字節(jié)中的第一個第三數(shù)據(jù)所在的位清零。步驟S503分別將對應(yīng)位置的第三數(shù)據(jù)所在的字節(jié)數(shù)據(jù)進(jìn)行相應(yīng)位數(shù)的左移或右移后并進(jìn)行疊加得到多個第四數(shù)據(jù)為了方便理解,以上述按四位拆分為例來描述此步驟,將第二個字節(jié)的數(shù)據(jù)(本字節(jié)內(nèi)第一個第三數(shù)據(jù)不變,其他位清零后的數(shù)據(jù))右移四位后與第一個字節(jié)的數(shù)據(jù)進(jìn)行疊加得到第一部分?jǐn)?shù)據(jù);將第四個字節(jié)的數(shù)據(jù)(本字節(jié)內(nèi)第一個第三數(shù)據(jù)不變,其他位清零后的數(shù)據(jù))右移四位后與第三個字節(jié)的數(shù)據(jù)進(jìn)行疊加得到第二部分?jǐn)?shù)據(jù)。第一部分?jǐn)?shù)據(jù)和第二部分?jǐn)?shù)據(jù)構(gòu)成第一個第四數(shù)據(jù),這里的第四數(shù)據(jù)為16位數(shù)據(jù)。將第一個字節(jié)的數(shù)據(jù)(本字節(jié)內(nèi)第二個第三數(shù)據(jù)不變,其他位清零后的數(shù)據(jù))左移四位后與第二個字節(jié)的數(shù)據(jù)進(jìn)行疊加得到第三部分?jǐn)?shù)據(jù);將第三個字節(jié)的數(shù)據(jù)(本字節(jié)內(nèi)第二個第三數(shù)據(jù)不變,其他位清零)左移四位后與第四個字節(jié)的數(shù)據(jù)進(jìn)行疊加得到第四部分?jǐn)?shù)據(jù),第三部分?jǐn)?shù)據(jù)與第四部分?jǐn)?shù)據(jù)構(gòu)成第二個第四數(shù)據(jù)。圖6是本實施例中將第二數(shù)據(jù)的每一個字節(jié)按四位進(jìn)行拆分并拼接(合并或重組)的示意圖。步驟S504將多個第四數(shù)據(jù)分別存儲到預(yù)先設(shè)定的多個存儲設(shè)備中本步驟中,將多個第四數(shù)據(jù)分別存儲到預(yù)先設(shè)定的多個存儲設(shè)備中,例如將上述第一個第四數(shù)據(jù)存儲到一個存儲設(shè)備中,將第二個第四數(shù)據(jù)存儲到另一個存儲設(shè)備中,也就是每個字節(jié)的數(shù)據(jù)按四位進(jìn)行拆分,即把全部數(shù)據(jù)中每個字節(jié)的前四位合成第一個第四數(shù)據(jù)保存在一個存儲平臺上,后四位合成第二個第四數(shù)據(jù)保存在另外一個存儲平臺上。值得一提的是,本實施例中的多個存儲設(shè)備是異構(gòu)平臺下的存儲設(shè)備。用戶只能看到部分?jǐn)?shù)據(jù),而且看到的是真實數(shù)據(jù)經(jīng)過拆分后的數(shù)據(jù),沒有經(jīng)過授權(quán),是不能看到真實數(shù)據(jù)的,這樣可保證數(shù)據(jù)的安全性。圖7是本實施例中將第二數(shù)據(jù)的每一個字節(jié)按兩位進(jìn)行拆分并拼接(合并或重組)的示意圖,以第二數(shù)據(jù)的第一個字節(jié)(O字節(jié))、第二個字節(jié)(I字節(jié))、第三個字節(jié)(2字節(jié))和第四個字節(jié)(3字節(jié))的第一個第三數(shù)據(jù)進(jìn)行拼接為例,分別將第二數(shù)據(jù)的第一個字節(jié)(O字節(jié))、第二個字節(jié)(I字節(jié))、第三個字節(jié)(2字節(jié))和第四個字節(jié)(3字節(jié))的第一個第三數(shù)據(jù)“01”、“00”、“00”和“10”保持不變,將本字節(jié)內(nèi)其余位清零,也即第二數(shù)據(jù)的第一個字節(jié)(O字節(jié))、第二個字節(jié)(I字節(jié))、第三個字節(jié)(2字節(jié))和第四個字節(jié)(3字節(jié))的數(shù)據(jù)分別變成“0100 0000,,、“0000 0000,,、“0000 0000”和“1000 0000”,然后分別將“0000 0000,,、“00000000”和“ 1000 0000”依次右移兩位、四位和六位后與第一個字節(jié)的數(shù)據(jù)進(jìn)行累加,得到第一個第四數(shù)據(jù)“01 00 00 10”;其他依照相似原理分別進(jìn)行移位累計,并得到第二個第四數(shù)據(jù)“01 11 10 01”、第三個第四數(shù)據(jù)“11 11 11 10”和第四個第四數(shù)據(jù)“00 01 10 11”,然后將第一個第四數(shù)據(jù)“01 00 00 10”、第二個第四數(shù)據(jù)“01 11 10 01”、第三個第四數(shù)據(jù)“11 11 11 10”和第四個第四數(shù)據(jù)“00 01 10 11”分別存儲到不同的存儲設(shè)備中。也就是說,將每個字節(jié)數(shù)據(jù)按兩位進(jìn)行拆分,即把全部數(shù)據(jù)中每個字節(jié)的前兩位合成第一個第四數(shù)據(jù)保存一個存儲平臺上,接著的兩位、又兩位、最后兩位各合成一個第四數(shù)據(jù)分別保存在不同的存儲平臺上。當(dāng)然,根據(jù)實際情況,可選擇相應(yīng)位數(shù)的位拆分。這樣既實現(xiàn)數(shù)據(jù)的分布式存儲,又保證每個部 門看到的數(shù)據(jù)都不是真實數(shù)據(jù),實現(xiàn)了用戶數(shù)據(jù)的隱私保護(hù)。本實施例還涉及一種實現(xiàn)上述方法的裝置,其結(jié)構(gòu)示意圖如圖8所示。圖8中,該裝置包括請求及數(shù)據(jù)傳送模塊1、信息創(chuàng)建更新模塊2、數(shù)據(jù)上傳及保存模塊3、數(shù)據(jù)讀取及拆分模塊4和數(shù)據(jù)拆分及存儲模塊5 ;其中,請求及數(shù)據(jù)傳送模塊I用于使客戶端向服務(wù)器端發(fā)送請求,并通過服務(wù)器端驗證后將元數(shù)據(jù)傳送給第一服務(wù)器;信息創(chuàng)建更新模塊2用于使第一服務(wù)器依據(jù)元數(shù)據(jù)創(chuàng)建或更新本地數(shù)據(jù)庫中的元信息;數(shù)據(jù)上傳及保存模塊3用于使客戶端上傳第一數(shù)據(jù),第一服務(wù)器接收第一數(shù)據(jù)并將其拆分成多個塊數(shù)據(jù)后分別保存到本地多個服務(wù)器中;數(shù)據(jù)讀取及拆分模塊4用于讀取多個塊數(shù)據(jù),并將每一個塊數(shù)據(jù)按字節(jié)拆分成多個第二數(shù)據(jù);數(shù)據(jù)拆分及存儲模塊5用于分別將第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù),將每一個字節(jié)對應(yīng)位置的第三數(shù)據(jù)依次連接得到多個第四數(shù)據(jù),并將多個第四數(shù)據(jù)分別存儲到多個存儲設(shè)備中。上述數(shù)據(jù)讀取及拆分模塊4進(jìn)一步包括地址獲取及判斷單元41和塊數(shù)據(jù)讀取及拆分單元42 ;其中,地址獲取及判斷單元41用于獲取塊數(shù)據(jù)的首地址,并判斷塊數(shù)據(jù)是否可讀,并在不可讀時退出本次操作;塊數(shù)據(jù)讀取及拆分單元42用于從首地址開始依次讀取塊數(shù)據(jù),并將每一個塊數(shù)據(jù)按設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù)。本實施例中,上述設(shè)定字節(jié)數(shù)為四個字節(jié)。本實施例中,上述數(shù)據(jù)拆分及存儲模塊5進(jìn)一步包括位拆分單元51、數(shù)據(jù)清零單元52、數(shù)據(jù)移位疊加單元53和分布存儲單元用54 ;其中,位拆分單元51用于分別將第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù);數(shù)據(jù)清零單元52用于分別依次將每一個字節(jié)中對應(yīng)位置的第三數(shù)據(jù)保持不變,將其余位置的第三數(shù)據(jù)清零;數(shù)據(jù)移位疊加單元53用于分別將對應(yīng)位置的第三數(shù)據(jù)所在的字節(jié)數(shù)據(jù)進(jìn)行相應(yīng)位數(shù)的左移或右移后并進(jìn)行疊加得到多個第四數(shù)據(jù);分布存儲單元用54于將多個第四數(shù)據(jù)分別存儲到預(yù)先設(shè)定的多個存儲設(shè)備中。本實施例中,上述設(shè)定位數(shù)為一位或兩位或四位。圖9是本實施例中異構(gòu)平臺下數(shù)據(jù)分布存儲的系統(tǒng)整體架構(gòu)圖,客戶端可與服務(wù)器端進(jìn)行交互,即上傳或下載數(shù)據(jù)。圖10是不同大小文件的加密時間和本發(fā)明中位拆分時間的測試結(jié)果對比圖,分別測試不同大小文件的加密時間和位拆分時間,其中時間是每一份實驗數(shù)據(jù)處理十次的平均時間,實驗數(shù)據(jù)源的大小分別為1MB、9. 89MB、99. 75MB,300MB,511MB、794MB和1035MB的七份數(shù)據(jù)。從圖10中看到,位拆分機制的性能大約是加密的10倍。總之,在本實施例中,為了解決數(shù)據(jù)在異構(gòu)平臺上的隱私保護(hù)問題,即不希望各個部門看到真實的數(shù)據(jù),針對多部門的異構(gòu)數(shù)據(jù)分布式存儲架構(gòu)為企業(yè)提供一個數(shù)據(jù)管理和數(shù)據(jù)存儲平臺,可以將企業(yè)存儲在系統(tǒng)中的數(shù)據(jù)分布存放在不同部門的存儲設(shè)備中,每個部門沒有授權(quán)都無法看到真實數(shù)據(jù),由于數(shù)據(jù)存放在本部門內(nèi)部,這樣企業(yè)就可以充分利用現(xiàn)有各部門存儲資源完成數(shù)據(jù)存儲,同時達(dá)到了節(jié)省數(shù)據(jù)存儲和管理的成本。具體是,當(dāng)客戶端和服務(wù)器端完成交互(客戶 端上傳數(shù)據(jù),由服務(wù)器接收處理數(shù)據(jù)并保存到本地集群中,或客戶端下載數(shù)據(jù),服務(wù)器從本地獲取數(shù)據(jù)并傳送給客戶端)后,服務(wù)器還需要監(jiān)測本地更新的數(shù)據(jù),首先對其進(jìn)行位拆分,就是對服務(wù)器中需要分布式存儲到不同部門異構(gòu)平臺的數(shù)據(jù),先對其按位進(jìn)行拆分,拆分后放置在不同部門的存儲設(shè)備上,這樣數(shù)據(jù)在不同部門異構(gòu)平臺上分布式存儲,由于每個部門中存儲的都是局部的不完整數(shù)據(jù),即使是部門管理員也無法看到真實的數(shù)據(jù),這樣就有效的解決了數(shù)據(jù)隱私保護(hù)問題。位拆分機制直觀簡單,容易獲得高性能。采用位拆分的方法進(jìn)行預(yù)處理,性能優(yōu)于加密算法,將數(shù)據(jù)上傳到不同部門的存儲設(shè)備上,即利用不同部門的異構(gòu)存儲平臺,并行訪問多存儲,又實現(xiàn)對用戶數(shù)據(jù)隱私的保護(hù)?,F(xiàn)有技術(shù)中將對傳輸?shù)讲煌块T的存儲設(shè)備前做預(yù)處理(如加密等),那么每個部門也看不到保存在本地的原始數(shù)據(jù),也可以實現(xiàn)對用戶數(shù)據(jù)隱私的保護(hù),但加密和解密計算復(fù)雜,性能較低,采用本發(fā)明的位拆分方法既可以保護(hù)用戶數(shù)據(jù)隱私,也可以獲得較高性能,同時可以利用多個不同的異構(gòu)平臺下的存儲資源。值得一提的是,當(dāng)客戶端要下載數(shù)據(jù)時,要將不同存儲平臺上的數(shù)據(jù)進(jìn)行相應(yīng)拆分并合并后得到真實數(shù)據(jù),即按照原來位拆分的逆過程得到真實數(shù)據(jù),然后用戶將真實數(shù)據(jù)進(jìn)行下載。以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種異構(gòu)平臺下數(shù)據(jù)分布存儲的方法,其特征在于,包括如下步驟 A)客戶端向服務(wù)器端發(fā)送請求,并通過所述服務(wù)器端驗證后將元數(shù)據(jù)傳送給第一服務(wù)器; B)所述第一服務(wù)器依據(jù)所述元數(shù)據(jù)創(chuàng)建或更新本地數(shù)據(jù)庫中的元信息; C)所述客戶端上傳第一數(shù)據(jù),所述第一服務(wù)器接收所述第一數(shù)據(jù)并將其拆分成多個塊數(shù)據(jù)后分別保存到本地多個服務(wù)器中; D)讀取所述多個塊數(shù)據(jù),并將所述每一個塊數(shù)據(jù)按設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù); E)分別將所述第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù),將所述每一個字節(jié)對應(yīng)位置的第三數(shù)據(jù)依次連接得到多個第四數(shù)據(jù),并將所述多個第四數(shù)據(jù)分別存儲到多個存儲設(shè)備中。
2.根據(jù)權(quán)利要求1所述的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法,其特征在于,所述步驟D)進(jìn)一步包括 Dl)獲取所述塊數(shù)據(jù)的首地址,并判斷所述塊數(shù)據(jù)是否可讀,如是,執(zhí)行步驟D2);否貝U,退出本次操作; D2)從所述首地址開始依次讀取所述塊數(shù)據(jù),并將所述每一個塊數(shù)據(jù)按所述設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法,其特征在于,所述設(shè)定字節(jié)數(shù)為四個字節(jié)。
4.根據(jù)權(quán)利要求1至3任意一項所述的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法,其特征在于,所述步驟E )進(jìn)一步包括 El)分別將所述第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù); E2)分別依次將所述每一個字節(jié)中對應(yīng)位置的第三數(shù)據(jù)保持不變,將其余位置的第三數(shù)據(jù)清零; E3)分別將所述對應(yīng)位置的第三數(shù)據(jù)所在的字節(jié)數(shù)據(jù)進(jìn)行相應(yīng)位數(shù)的左移或右移后并進(jìn)行疊加得到多個第四數(shù)據(jù); E4)將所述多個第四數(shù)據(jù)分別存儲到預(yù)先設(shè)定的多個存儲設(shè)備中。
5.根據(jù)權(quán)利要求4所述的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法,其特征在于,所述設(shè)定位數(shù)為一位或兩位或四位。
6.一種實現(xiàn)如權(quán)利要求1所述的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法的裝置,其特征在于,包括 請求及數(shù)據(jù)傳送模塊用于使客戶端向服務(wù)器端發(fā)送請求,并通過所述服務(wù)器端驗證后將元數(shù)據(jù)傳送給第一服務(wù)器; 信息創(chuàng)建更新模塊用于使所述第一服務(wù)器依據(jù)所述元數(shù)據(jù)創(chuàng)建或更新本地數(shù)據(jù)庫中的元信息; 數(shù)據(jù)上傳及保存模塊用于使所述客戶端上傳第一數(shù)據(jù),所述第一服務(wù)器接收所述第一數(shù)據(jù)并將其拆分成多個塊數(shù)據(jù)后分別保存到本地多個服務(wù)器中; 數(shù)據(jù)讀取及拆分模塊用于讀取所述多個塊數(shù)據(jù),并將所述每一個塊數(shù)據(jù)按字節(jié)拆分成多個第二數(shù)據(jù); 數(shù)據(jù)拆分及存儲模塊用于分別將所述第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù),將所述每一個字節(jié)對應(yīng)位置的第三數(shù)據(jù)依次連接得到多個第四數(shù)據(jù),并將所述多個第四數(shù)據(jù)分別存儲到多個存儲設(shè)備中。
7.根據(jù)權(quán)利要求6所述的實現(xiàn)上述異構(gòu)平臺下數(shù)據(jù)分布存儲的方法的裝置,其特征在于,所述數(shù)據(jù)讀取及拆分模塊進(jìn)一步包括 地址獲取及判斷單元用于獲取所述塊數(shù)據(jù)的首地址,并判斷所述塊數(shù)據(jù)是否可讀,并在不可讀時退出本次操作; 塊數(shù)據(jù)讀取及拆分單元用于從所述首地址開始依次讀取所述塊數(shù)據(jù),并將所述每一個塊數(shù)據(jù)按所述設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的實現(xiàn)上述異構(gòu)平臺下數(shù)據(jù)分布存儲的方法的裝置,其特征在于,所述設(shè)定字節(jié)數(shù)為四個字節(jié)。
9.根據(jù)權(quán)利要求6至8任意一項所述的實現(xiàn)上述異構(gòu)平臺下數(shù)據(jù)分布存儲的方法的裝置,其特征在于,所述數(shù)據(jù)拆分及存儲模塊進(jìn)一步包括 位拆分單元用于分別將所述第二數(shù)據(jù)的每一個字節(jié)的數(shù)據(jù)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù); 數(shù)據(jù)清零單元用于分別依次將所述每一個字節(jié)中對應(yīng)位置的第三數(shù)據(jù)保持不變,將其余位置的第三數(shù)據(jù)清零; 數(shù)據(jù)移位疊加單元用于分別將所述對應(yīng)位置的第三數(shù)據(jù)所在的字節(jié)數(shù)據(jù)進(jìn)行相應(yīng)位數(shù)的左移或右移后并進(jìn)行疊加得到多個第四數(shù)據(jù); 分布存儲單元用于將所述多個第四數(shù)據(jù)分別存儲到預(yù)先設(shè)定的多個存儲設(shè)備中。
10.根據(jù)權(quán)利要求9所述的實現(xiàn)上述異構(gòu)平臺下數(shù)據(jù)分布存儲的方法的裝置,其特征在于,所述設(shè)定位數(shù)為一位或兩位或四位。
全文摘要
本發(fā)明涉及一種異構(gòu)平臺下數(shù)據(jù)分布存儲的方法及裝置,其方法包括如下步驟:客戶端向服務(wù)器端發(fā)送請求,并通過服務(wù)器端驗證后將元數(shù)據(jù)傳送給第一服務(wù)器;第一服務(wù)器創(chuàng)建或更新本地數(shù)據(jù)庫中的元信息;客戶端上傳第一數(shù)據(jù),第一服務(wù)器接收第一數(shù)據(jù)并將其拆分成多個塊數(shù)據(jù)后分別保存到本地多個服務(wù)器中;讀取多個塊數(shù)據(jù),并將每一個塊數(shù)據(jù)按設(shè)定字節(jié)數(shù)拆分成多個第二數(shù)據(jù);分別將第二數(shù)據(jù)的每一個字節(jié)按設(shè)定位數(shù)拆分成多個第三數(shù)據(jù),將每一個字節(jié)對應(yīng)位置的第三數(shù)據(jù)依次連接得到多個第四數(shù)據(jù),并將多個第四數(shù)據(jù)分別存儲到多個存儲設(shè)備中。實施本發(fā)明的異構(gòu)平臺下數(shù)據(jù)分布存儲的方法及裝置,具有以下有益效果數(shù)據(jù)較安全、運算簡單、處理速度較快。
文檔編號H04L29/08GK103067519SQ201310001268
公開日2013年4月24日 申請日期2013年1月4日 優(yōu)先權(quán)日2013年1月4日
發(fā)明者張偉 申請人:深圳市廣道高新技術(shù)有限公司