欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法及系統(tǒng)的制作方法

文檔序號:10594502閱讀:338來源:國知局
對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法及系統(tǒng),包括以下步驟:S1,將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有wifi功能的存儲設(shè)備進行綁定;S2,個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷,遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;S3,個人私有云存儲系統(tǒng)將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成多個任務(wù)組并等待帶有wifi功能的存儲設(shè)備主動獲??;S4,所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)。本發(fā)明實現(xiàn)了將多個云存儲賬號的內(nèi)容智能化自動備份到同一個存儲設(shè)備,保證了數(shù)據(jù)的安全性。
【專利說明】
對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法及系統(tǒng),屬于公有云存儲賬戶數(shù)據(jù)備份技術(shù)領(lǐng)域。【背景技術(shù)】
[0002]云存儲是在云計算(cloud computing)概念上延伸和發(fā)展出來的一個新的概念, 是指通過集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中各種不同類型的存儲設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務(wù)訪問功能的一個系統(tǒng)。 在云存儲系統(tǒng)(即公有云存儲賬戶,如百度網(wǎng)盤、360云盤、金山快盤等)中,可以存儲的數(shù)據(jù)量很大,因而很多用戶為了清理手機內(nèi)存同時與好友分享文件(比如照片、文檔等),往往會將個人的私人文件發(fā)送至云存儲系統(tǒng)中進行存儲。但與此同時,又逐漸暴露了新的問題:比如云賬號被盜,那么用戶的個人隱私很可能就會被泄露。因此,使用云存儲時,數(shù)據(jù)安全性問題成為用戶的主要顧慮。另外,用戶所需的某些重要文件上傳至云存儲系統(tǒng)后,可能會因為某些原因而導(dǎo)致審核未通過進而被刪除,從而給用戶帶來一定的損失,同時造成不好的用戶體驗,因而對云存儲系統(tǒng)中的數(shù)據(jù)進行及時備份就顯的非常重要。
[0003]存儲設(shè)備,比如移動硬盤,它的存儲空間一般也比較大,為用戶個人擁有,用于存儲備份重要的文件。用戶若想將云存儲系統(tǒng)中有用的文件(包括用戶自己通過手機上傳至云存儲系統(tǒng)中的文件及其他人上傳至云存儲系統(tǒng)并分享給用戶的文件)存入其移動硬盤中,則需要先通過電腦將文件從云存儲系統(tǒng)下載下來,然后再存入移動硬盤。此外,若云存儲系統(tǒng)中有文件更新,也仍需要用戶去人工識別并下載存入其個人移動硬盤中。此外,一個用戶可能有多個云存儲賬戶,如何實現(xiàn)將多個云存儲賬戶的內(nèi)容都自動備份到同一個存儲設(shè)備中、以及如何實現(xiàn)各個云存儲賬戶中有內(nèi)容更新時自動進行備份,這也是人們迫切想要解決的問題。
【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于,提供一種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法及系統(tǒng),它可以有效解決現(xiàn)有技術(shù)中存在的問題,實現(xiàn)將多個云存儲賬號的內(nèi)容智能化自動備份到同一個存儲設(shè)備,保證了數(shù)據(jù)的安全性。
[0005]為解決上述技術(shù)問題,本發(fā)明采用如下的技術(shù)方案:一種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法,包括以下步驟:
[0006]S1,將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有wifi功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多個不同的賬戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;
[0007]S2,個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷,遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;
[0008]S3,個人私有云存儲系統(tǒng)將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成多個任務(wù)組并等待帶有wifi功能的存儲設(shè)備主動獲?。?br>[0009] S4,所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)。
[0010]優(yōu)選的,步驟si具體包括:
[0011] S11,訪問帶有wifi功能的存儲設(shè)備的Web管理界面,并利用個人私有云存儲系統(tǒng)的賬號和密碼進行登陸;登陸成功后,所述的帶有Wifi功能的存儲設(shè)備即與個人私有云存儲系統(tǒng)的賬戶建立了綁定關(guān)系;
[0012] S12,在所述的帶有wifi功能的存儲設(shè)備的Web管理界面上發(fā)起對多個公有云存儲賬戶的綁定請求;通過公有云存儲系統(tǒng)的開放編程接口(即OpenAPI)獲取訪問授權(quán),獲得相應(yīng)的授權(quán)key;[〇〇13] S13,將所述的公有云存儲系統(tǒng)的名稱、授權(quán)key和帶有wifi功能的存儲設(shè)備的設(shè)備編號上傳至個人私有云存儲系統(tǒng)并保存;
[0014] S14,個人私有云存儲系統(tǒng)創(chuàng)建多個不同的虛擬容器,(在每個虛擬容器中,利用公有云存儲系統(tǒng)的API及相應(yīng)的授權(quán)KEY進行登錄,同時設(shè)置用戶期望同步的目錄,默認(rèn)為根目錄)使得各個虛擬容器分別與多個公有云存儲賬戶或公有云存儲賬戶中指定的一個或多個目錄一一對應(yīng)關(guān)聯(lián),并且各個虛擬容器均與同一個帶有wifi功能的存儲設(shè)備進行關(guān)聯(lián)。 [〇〇15]通過上述方法實現(xiàn)將個人私有云存儲系統(tǒng)的賬戶與公有云存儲賬戶及帶有wifi 功能的存儲設(shè)備進行綁定,從而可以實現(xiàn)個人私有云存儲系統(tǒng)與帶有wifi功能的存儲設(shè)備和公有云存儲系統(tǒng)之間以及帶有wifi功能的存儲設(shè)備與公有云存儲系統(tǒng)之間進行高效、安全、穩(wěn)定的通信;尤其是通過利用不同的虛擬容器分別與多個公有云存儲賬戶一一對應(yīng)關(guān)聯(lián),并且各個虛擬容器均與同一個帶有wifi功能的存儲設(shè)備進行關(guān)聯(lián),從而可以更精確、快捷的管控各個云存儲賬戶的內(nèi)容備份及更新任務(wù)。
[0016]上述的步驟S14中,個人私有云存儲系統(tǒng)創(chuàng)建多個不同的虛擬容器時會給每個容器分配一個唯一標(biāo)識,當(dāng)虛擬容器與多個公有云存儲賬戶以及某個帶有WiFi功能的存儲設(shè)備進行綁定時,個人私有云存儲系統(tǒng)會記錄容器唯一標(biāo)識與公有云存儲賬戶以及某個帶有 WiFi功能的存儲設(shè)備之間的關(guān)系并保存至個人私有云存儲系統(tǒng)的數(shù)據(jù)庫中。[〇〇17]優(yōu)選的,步驟S2具體包括:所述的不同的虛擬容器對與其相關(guān)聯(lián)的公有云存儲賬戶或公有云存儲賬戶下的指定目錄及子目錄和文件進行首次遍歷,生成META DATA的數(shù)據(jù)結(jié)構(gòu)(即目錄和文件的結(jié)構(gòu),還包含了最后修改時間、文件長度、MD5值、是否已經(jīng)被下載到帶有wifi功能的存儲設(shè)備等信息);遍歷完成后,將所述的文件名按照N個為一組,劃分為多個組后,導(dǎo)出為json格式的數(shù)據(jù)(多種計算機語言都對其進行了支持),并保存至數(shù)據(jù)庫中; 其中,遍歷時,以目錄或文件名稱作為索引值,以文件長度、最后修改時間、MD5值、是否是目錄等信息作為結(jié)構(gòu)體類型的數(shù)據(jù)塊;從而可以優(yōu)化個人云存儲系統(tǒng)對備份任務(wù)的管理,便于向帶有wifi功能的存儲設(shè)備傳遞任務(wù)。
[0018]步驟S3具體包括:各個不同的虛擬容器將數(shù)據(jù)庫中的數(shù)據(jù)按照分組生成多個任務(wù)組,并且等待帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后按照分組獲取任務(wù);帶有wifi功能的存儲設(shè)備每次只下載一個分組的任務(wù)信息,而不是全部的任務(wù)信息,從而可以便于獲得新任務(wù)、更新任務(wù)的完成情況以及降低個人云存儲平臺的壓力。[〇〇19]上述方法中,所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,首先連接到個人私有云存儲系統(tǒng),下載數(shù)據(jù)備份任務(wù);其中,所有的任務(wù)都按照N個為一組,每組任務(wù)里均包含了公有云存儲系統(tǒng)的賬號信息和需要從此公有云存儲系統(tǒng)中備份的文件名稱。
[0020]優(yōu)選的,步驟S4具體包括:帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,檢測存儲設(shè)備的狀態(tài),若為Active,則向個人私有云存儲系統(tǒng)發(fā)起任務(wù)獲取請求,個人私有云存儲系統(tǒng)查詢到與該設(shè)備關(guān)聯(lián)的所有虛擬容器,然后將虛擬容器內(nèi)第一個未全部完成的任務(wù)組下發(fā)給該設(shè)備;該設(shè)備保存任務(wù)內(nèi)容和分組的編號,并根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù);每完成一個文件的下載或者完成一個任務(wù)組的全部或部分文件的下載,則向相應(yīng)的虛擬容器更新任務(wù)完成情況以及存儲設(shè)備的剩余可用空間 (帶有wifi功能的存儲設(shè)備在下載任務(wù)時,就同時獲得了生成該任務(wù)的虛擬容器的唯一標(biāo)識);若存儲設(shè)備的剩余可用空間小于預(yù)設(shè)值,則放棄已經(jīng)獲得的當(dāng)前分組的后續(xù)任務(wù),設(shè)置存儲設(shè)備的狀態(tài)為Inactive,并停止數(shù)據(jù)同步服務(wù);否則相應(yīng)的虛擬容器在接受到任務(wù)更新請求后,根據(jù)分組編號和文件名稱在分組中查找對應(yīng)的記錄,若找到對應(yīng)的文件記錄, 則設(shè)置fetched= 1 (其中,每一個文件都對應(yīng)了一個fetched值);其中,fetched為META DATA結(jié)構(gòu)體中包含的一個成員,用于表示是否已經(jīng)被下載到用戶的帶有wifi功能的存儲設(shè)備,fetched的默認(rèn)值為0;若未找到對應(yīng)的文件記錄,則返回false信號至帶有wifi功能的存儲設(shè)備,帶有wifi功能的存儲設(shè)備收到false信號后,放棄已經(jīng)獲得的當(dāng)前分組的后續(xù)任務(wù)并重新獲取第一個未完成的任務(wù)組(這表示任務(wù)分組出現(xiàn)了更新,因此需要重新獲取任務(wù)分組);帶有wifi功能的存儲設(shè)備每完成一個任務(wù)組的下載后,自動請求下一個未完成任務(wù)組,直至完成最后一個未完成任務(wù)組。根據(jù)帶有wifi功能的存儲設(shè)備的硬件性能,可以逐個對虛擬容器內(nèi)的任務(wù)組進行處理,或者同時對多個虛擬容器內(nèi)的任務(wù)分組進行處理。從而可以根據(jù)數(shù)據(jù)更新列表從公有云存儲賬戶準(zhǔn)確的備份所需數(shù)據(jù),提高了數(shù)據(jù)備份的效率和整個系統(tǒng)的運行效率。此外,設(shè)置fetched為META DATA結(jié)構(gòu)體中包含的一個成員,從而便于標(biāo)記任務(wù)的下載完成情況;這樣當(dāng)帶有wifi功能的存儲設(shè)備下次再聯(lián)網(wǎng)后,可以直接下載未完成的任務(wù),而不用從頭開始全部下載,減輕了帶有wifi功能的存儲設(shè)備的壓力,提高了數(shù)據(jù)傳輸效率。[〇〇21]步驟S4中,檢測存儲設(shè)備的狀態(tài)時,需要存儲設(shè)備將其當(dāng)前的剩余存儲空間發(fā)送至個人私有云存儲系統(tǒng)中,個人私有云存儲系統(tǒng)根據(jù)預(yù)設(shè)值的大小給存儲設(shè)備反饋其當(dāng)前的狀態(tài),為 Active 或 Inactive。
[0022]當(dāng)存儲設(shè)備的狀態(tài)為Inactive時,也需要定期重新獲取其最新的狀態(tài)。[〇〇23]前述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法中,所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,記錄任務(wù)內(nèi)容和分組的編號,并根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)具體包括:并行處理或串行處理;所述的并行處理即帶有wifi功能的存儲設(shè)備先獲取與此設(shè)備關(guān)聯(lián)的所有虛擬容器的第一個任務(wù)組數(shù)據(jù),然后并行進行多個文件的下載;所述的串行處理即每次只獲取一個虛擬容器的任務(wù)組數(shù)據(jù)并進行文件同步,處理完一個虛擬容器的所有任務(wù)分組后再依次處理下一個虛擬容器的任務(wù)數(shù)據(jù)。如果帶有wifi功能的存儲設(shè)備內(nèi)置的CPU性能好,則采用并行處理,如果CPU 性能差,則采用串行處理;另外存儲設(shè)備的讀寫速度也影響了這個設(shè)置的選擇,可根據(jù)不同的硬件性能,設(shè)置最大的并行的任務(wù)數(shù)。
[0024]前述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法中,步驟S2還包括:個人私有云存儲系統(tǒng)定期對與其相關(guān)聯(lián)的公有云存儲賬戶下的目錄及文件名進行補充遍歷(補充遍歷的間隔時間可以調(diào)整,默認(rèn)24小時一次),并與本地緩存的目錄及文件名列表進行比對,找出新文件,生成下載/同步任務(wù)列表;具體包括:[〇〇25]首先,個人私有云存儲系統(tǒng)從數(shù)據(jù)庫中按照分組的順序加載目錄結(jié)構(gòu)的json數(shù)據(jù),在程序的內(nèi)存中保存該數(shù)組結(jié)構(gòu),并將該數(shù)組命名為:〇ld;(所述的數(shù)組中包含的元素可以通過文件名進行檢索,每一個元素都包含了一個數(shù)據(jù)塊,數(shù)據(jù)塊內(nèi)保存了與該文件名對應(yīng)的MD5值、文件長度、最后修改時間等與META DATA相關(guān)的信息);
[0026]其次,按照首次遍歷的方式對公有云存儲賬戶下的目錄及文件名進行補充遍歷, 獲得最新的目錄遍歷結(jié)果的數(shù)組結(jié)構(gòu),并將該數(shù)組命名為:new;(其結(jié)構(gòu)與old相同,同樣的,該數(shù)組中包含的元素可以通過文件名進行檢索,但是該數(shù)據(jù)結(jié)構(gòu)中每一個元素包含的 fetched 值都為0);
[0027]再次,從old數(shù)組中取出一個元素,在new數(shù)組中查找與該元素文件名相同的元素, 如果沒有找到,則放棄此old數(shù)組中的該元素;如果找到了對應(yīng)的元素,則對比兩個元素的 MD5值或文件長度和最后修改時間(當(dāng)公有云存儲系統(tǒng)支持MD5值時,則通過對比MD5值;當(dāng)公有云存儲系統(tǒng)不支持MD5值時,則通過對比文件長度和最后修改時間來代替MD5值的比對;由于云盤的文件一旦下載/備份到帶有wifi功能的存儲設(shè)備后,用戶會從云盤上刪除對應(yīng)的文件,然后存入更多的新文件到云盤;因此在個人私有云存儲系統(tǒng)對公有云存儲賬戶文件進行掃描時要考慮到這種情況的出現(xiàn));如果相同,則把old數(shù)組中元素的fetched值復(fù)制給new數(shù)組中對應(yīng)的元素;重復(fù)本操作,直到〇 1 d數(shù)組中所有的元素都取出;[〇〇28]最后,補充遍歷完成后,將new數(shù)組的數(shù)據(jù)從程序的內(nèi)存導(dǎo)出為json格式的數(shù)據(jù), 并以分組方式保存至數(shù)據(jù)庫中。
[0029]從而可以僅對各個公有云存儲賬戶更新的文件進行自動、及時備份,進一步提高了數(shù)據(jù)自動更新的效率;此外,上述方法中,在上一次掃描結(jié)果生成為多個任務(wù)組之后,在任務(wù)組中已經(jīng)有部分任務(wù)已經(jīng)完成了(fetched等于1),如果這些任務(wù)已經(jīng)處于完成的狀態(tài),而且云盤中對應(yīng)的文件沒有刪除,那么在最新的云盤文件掃描結(jié)果中,就要根據(jù)老的任務(wù)列表來設(shè)置任務(wù)的狀態(tài)為已完成(設(shè)置fetched為1)。具體的說,通過上述方法,從而可以把最新的公有云存儲的目錄和文件結(jié)構(gòu)與數(shù)據(jù)庫中存儲的老舊數(shù)據(jù)進行合并。如果老舊數(shù)據(jù)中記錄的文件名在當(dāng)前的公有云存儲中已經(jīng)不存在了(例如被用戶刪除了),那么就要在合并過程中刪除這些記錄;如果新舊記錄里都有同名的文件,還要根據(jù)MD5的值或文件長度和最后修改時間來判斷文件是否有內(nèi)容的變化,如果文件產(chǎn)生了變化,就標(biāo)記為未下載,否則就根據(jù)老記錄的狀態(tài)來設(shè)置任務(wù)的下載狀態(tài)。對于只有新記錄里存在的文件名,則直接設(shè)置為未下載。
[0030]一種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的系統(tǒng),包括:
[0031]綁定模塊,用于將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有 Wifi功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多個不同的賬戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;
[0032]遍歷模塊,用于個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷;
[0033]第一數(shù)據(jù)導(dǎo)出及存儲模塊,用于遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;
[0034]任務(wù)生成及分配模塊,用于個人私有云存儲系統(tǒng)將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成多個任務(wù)組并等待帶有wifi功能的存儲設(shè)備主動獲??;
[0035]自動下載模塊,用于所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)。[〇〇36]優(yōu)選的,所述的綁定模塊還包括:[〇〇37]登錄模塊,用于訪問帶有wifi功能的存儲設(shè)備的Web管理界面,并利用個人私有云存儲系統(tǒng)的賬號和密碼進行登陸;登陸成功后,所述的帶有wifi功能的存儲設(shè)備即與個人私有云存儲系統(tǒng)的賬戶建立了綁定關(guān)系;[0〇38]綁定請求發(fā)送模塊,用于在所述的帶有wifi功能的存儲設(shè)備的Web管理界面上發(fā)起對多個公有云存儲賬戶的綁定請求;[〇〇39]訪問授權(quán)獲取模塊,用于通過公有云存儲系統(tǒng)的開放編程接口(S卩OpenAPI)獲取訪問授權(quán),獲得相應(yīng)的授權(quán)key;[0〇4〇]信息上傳模塊,用于將所述的公有云存儲系統(tǒng)的名稱、授權(quán)key和帶有wifi功能的存儲設(shè)備的設(shè)備編號上傳至個人私有云存儲系統(tǒng)并保存;[0041 ]虛擬容器創(chuàng)建及關(guān)聯(lián)模塊,用于個人私有云存儲系統(tǒng)創(chuàng)建多個不同的虛擬容器, (在每個虛擬容器中,利用公有云存儲系統(tǒng)的API及相應(yīng)的授權(quán)KEY進行登錄,同時設(shè)置用戶期望同步的目錄,默認(rèn)為根目錄)使得各個虛擬容器分別與多個公有云存儲賬戶或公有云存儲賬戶中指定的一個或多個目錄一一對應(yīng)關(guān)聯(lián),并且各個虛擬容器均與同一個帶有wifi 功能的存儲設(shè)備進行關(guān)聯(lián)。[〇〇42]優(yōu)選的,所述的遍歷模塊還包括:
[0043]數(shù)組結(jié)構(gòu)生成模塊,用于所述的不同的虛擬容器對與其相關(guān)聯(lián)的公有云存儲賬戶或公有云存儲賬戶下的指定目錄及子目錄和文件進行首次遍歷,生成META DATA的數(shù)據(jù)結(jié)構(gòu);
[0044]第一數(shù)據(jù)導(dǎo)出及存儲模塊還包括:
[0045]數(shù)據(jù)分組模塊,用于遍歷完成后,將所述的文件名按照N個為一組,劃分為多個組后,導(dǎo)出為json格式的數(shù)據(jù),并保存至數(shù)據(jù)庫中;其中,遍歷時,以目錄或文件名稱作為索引值。
[0046]優(yōu)選的,所述的自動下載模塊還包括:
[0047]狀態(tài)檢測模塊,用于帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,檢測存儲設(shè)備的狀態(tài);[〇〇48]記錄模塊,用于若存儲設(shè)備的狀態(tài)為Active,則向個人私有云存儲系統(tǒng)發(fā)起任務(wù)獲取請求,個人私有云存儲系統(tǒng)查詢到與該設(shè)備關(guān)聯(lián)的所有虛擬容器,然后將虛擬容器內(nèi)第一個未全部完成的任務(wù)組下發(fā)給該設(shè)備;該設(shè)備保存任務(wù)內(nèi)容和分組的編號;[〇〇49]信息反饋模塊,用于帶有wifi功能的存儲設(shè)備每完成一個文件的下載或者完成一個任務(wù)組的全部或部分文件的下載,則向相應(yīng)的虛擬容器更新任務(wù)完成情況以及存儲設(shè)備的剩余可用空間;
[0050]文件記錄查找及設(shè)置模塊,用于若存儲設(shè)備的剩余可用空間大于預(yù)設(shè)值時,則相應(yīng)的虛擬容器在接受到任務(wù)更新請求后,根據(jù)分組編號和文件名稱在分組中查找對應(yīng)的記錄,若找到對應(yīng)的文件記錄,貝丨彳設(shè)置fetched=l;其中,fetched為METADATA結(jié)構(gòu)體中包含的一個成員,用于表示是否已經(jīng)被下載到用戶的帶有wifi功能的存儲設(shè)備,fetched的默認(rèn)值為0;若未找到對應(yīng)的文件記錄,則返回false信號至帶有wifi功能的存儲設(shè)備;
[0051]任務(wù)放棄及重新獲取模塊,用于帶有wifi功能的存儲設(shè)備收到false信號后,放棄已經(jīng)獲得的當(dāng)前分組的后續(xù)任務(wù)并重新獲取第一個未完成的任務(wù)組;[〇〇52]任務(wù)自動請求模塊,用于帶有wifi功能的存儲設(shè)備每完成一個任務(wù)組的下載后, 自動請求下一個未完成任務(wù)組,直至完成最后一個未完成任務(wù)組。[〇〇53]前述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的系統(tǒng)中,所述的遍歷模塊還包括:[〇〇54]補充遍歷及對比模塊,用于個人私有云存儲系統(tǒng)定期對與其相關(guān)聯(lián)的公有云存儲賬戶下的目錄及文件名進行補充遍歷,并與本地緩存的目錄及文件名列表進行比對,找出新文件,生成下載/同步任務(wù)列表;
[0055]所述的補充遍歷及對比模塊具體包括:
[0056]數(shù)據(jù)加載及存儲模塊:用于個人私有云存儲系統(tǒng)從數(shù)據(jù)庫中按照分組的順序加載目錄結(jié)構(gòu)的json數(shù)據(jù),在程序的內(nèi)存中保存該數(shù)組結(jié)構(gòu),并將該數(shù)組命名為:〇ld;
[0057]補充遍歷模塊:用于按照首次遍歷的方式對公有云存儲賬戶下的目錄及文件名進行補充遍歷,獲得最新的目錄遍歷結(jié)果的數(shù)組結(jié)構(gòu),并將該數(shù)組命名為mew;
[0058]數(shù)據(jù)對比模塊:用于從old數(shù)組中取出一個元素,在new數(shù)組中查找與該元素文件名相同的元素,如果沒有找到,則放棄此old數(shù)組中的該元素;如果找到了對應(yīng)的元素,則對比兩個元素的MD5值或文件長度和最后修改時間;如果相同,則把old數(shù)組中元素的fetched 值復(fù)制給new數(shù)組中對應(yīng)的元素;重復(fù)本操作,直到〇 1 d數(shù)組中所有的元素都取出;
[0059]第二數(shù)據(jù)導(dǎo)出及存儲模塊,用于補充遍歷完成后,將new數(shù)組的數(shù)據(jù)從程序的內(nèi)存導(dǎo)出為json格式的數(shù)據(jù),并以分組方式保存至數(shù)據(jù)庫中。
[0060]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:[0061 ]1、通過利用將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有Wifi功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多個不同的賬戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷,遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;個人私有云存儲系統(tǒng)將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成多個任務(wù)組并等待帶有Wifi功能的存儲設(shè)備主動獲取;所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,
[0062]根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)。從而實現(xiàn)了將多個云存儲賬號的內(nèi)容智能化自動備份到同一個存儲設(shè)備,保證了數(shù)據(jù)的安全[〇〇63]性,方便了用戶使用;且整個過程均無需用戶手工操作,數(shù)據(jù)備份效率較高;[〇〇64]2、通過利用不同的虛擬容器分別與多個公有云存儲賬戶一一對應(yīng)關(guān)聯(lián),并且各個虛擬容器均與同一個帶有wifi功能的存儲設(shè)備進行關(guān)聯(lián),從而可以更精確、快捷的管控各個云存儲賬戶的內(nèi)容備份及更新任務(wù);[〇〇65]3、個人私有云存儲系統(tǒng)定期對與其相關(guān)聯(lián)的公有云存儲賬戶下的目錄及文件名進行補充遍歷,并與本地緩存的目錄及文件名列表進行比對,找出新文件,生成下載/同步任務(wù)列表,從而可以僅對各個公有云存儲賬戶更新的文件進行自動、及時備份,進一步提高了數(shù)據(jù)自動更新的效率?!靖綀D說明】
[0066]圖1是本發(fā)明的一種實施例的方法流程圖;[〇〇67]圖2是個人私有云存儲系統(tǒng)的賬戶與Baidu Yun賬戶及帶有wifi功能的存儲設(shè)備進行綁定的方法流程圖;[〇〇68]圖3是帶有wifi功能的存儲設(shè)備執(zhí)行備份任務(wù)以及個人私有云存儲系統(tǒng)(點滴云) 發(fā)現(xiàn)公有云存儲上有新文件并生成備份任務(wù)的流程圖。[〇〇69]下面結(jié)合附圖和【具體實施方式】對本發(fā)明作進一步的說明?!揪唧w實施方式】
[0070]本發(fā)明的實施例1: 一種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法,如圖1、 圖3所示,包括以下步驟:
[0071] S1,將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有wifi功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多個不同的賬戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;具體包括:[〇〇72] S11,訪問帶有wifi功能的存儲設(shè)備的Web管理界面,并利用個人私有云存儲系統(tǒng)的賬號和密碼進行登陸;登陸成功后,所述的帶有wifi功能的存儲設(shè)備即與個人私有云存儲系統(tǒng)的賬戶建立了綁定關(guān)系;[〇〇73] S12,在所述的帶有wifi功能的存儲設(shè)備的Web管理界面上發(fā)起對多個公有云存儲賬戶的綁定請求;通過公有云存儲系統(tǒng)的開放編程接口(即OpenAPI)獲取訪問授權(quán),獲得相應(yīng)的授權(quán)key;[〇〇74] S13,將所述的公有云存儲系統(tǒng)的名稱、授權(quán)key和帶有wifi功能的存儲設(shè)備的設(shè)備編號上傳至個人私有云存儲系統(tǒng)并保存;[〇〇75] S14,個人私有云存儲系統(tǒng)創(chuàng)建多個不同的虛擬容器,(在每個虛擬容器中,利用公有云存儲系統(tǒng)的API及相應(yīng)的授權(quán)KEY進行登錄,同時設(shè)置用戶期望同步的目錄,默認(rèn)為根目錄)使得各個虛擬容器分別與多個公有云存儲賬戶或公有云存儲賬戶中指定的一個或多個目錄一一對應(yīng)關(guān)聯(lián),并且各個虛擬容器均與同一個帶有wifi功能的存儲設(shè)備進行關(guān)聯(lián); [〇〇76] S2,個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷,遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;具體包括:所述的不同的虛擬容器對與其相關(guān)聯(lián)的公有云存儲賬戶或公有云存儲賬戶下的指定目錄及子目錄和文件進行首次遍歷,生成META DATA的數(shù)據(jù)結(jié)構(gòu);遍歷完成后,將所述的文件名按照N個為一組, 劃分為多個組后,導(dǎo)出為json格式的數(shù)據(jù),并保存至數(shù)據(jù)庫中;其中,遍歷時,以目錄或文件名稱作為索引值;[〇〇77]步驟S2還包括:個人私有云存儲系統(tǒng)定期對與其相關(guān)聯(lián)的公有云存儲賬戶下的目錄及文件名進行補充遍歷,并與本地緩存的目錄及文件名列表進行比對,找出新文件,生成下載/同步任務(wù)列表;具體包括:[〇〇78]首先,個人私有云存儲系統(tǒng)從數(shù)據(jù)庫中按照分組的順序加載目錄結(jié)構(gòu)的json數(shù)據(jù),在程序的內(nèi)存中保存該數(shù)組結(jié)構(gòu),并將該數(shù)組命名為:old;
[0079]其次,按照首次遍歷的方式對公有云存儲賬戶下的目錄及文件名進行補充遍歷, 獲得最新的目錄遍歷結(jié)果的數(shù)組結(jié)構(gòu),并將該數(shù)組命名為mew;
[0080]再次,從old數(shù)組中取出一個元素,在new數(shù)組中查找與該元素文件名相同的元素, 如果沒有找到,則放棄此old數(shù)組中的該元素;如果找到了對應(yīng)的元素,則對比兩個元素的 MD5值或文件長度和最后修改時間;如果相同,則把old數(shù)組中元素的fetched值復(fù)制給new 數(shù)組中對應(yīng)的元素;重復(fù)本操作,直到〇 1 d數(shù)組中所有的元素都取出;[0081 ]最后,補充遍歷完成后,將new數(shù)組的數(shù)據(jù)從程序的內(nèi)存導(dǎo)出為json格式的數(shù)據(jù), 并以分組方式保存至數(shù)據(jù)庫中;
[0082]S3,個人私有云存儲系統(tǒng)中的各個虛擬容器將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成多個任務(wù)組并等待帶有wifi功能的存儲設(shè)備主動獲??;
[0083]S4,所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù);具體包括:帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,檢測存儲設(shè)備的狀態(tài),若為Act ive,則向個人私有云存儲系統(tǒng)發(fā)起任務(wù)獲取請求,個人私有云存儲系統(tǒng)查詢到與該設(shè)備關(guān)聯(lián)的所有虛擬容器,然后將虛擬容器內(nèi)第一個未全部完成的任務(wù)組下發(fā)給該設(shè)備;該設(shè)備保存任務(wù)內(nèi)容和分組的編號,并根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù);每完成一個文件的下載或者完成一個任務(wù)組的全部或部分文件的下載,則向相應(yīng)的虛擬容器更新任務(wù)完成情況以及存儲設(shè)備的剩余可用空間;若存儲設(shè)備的剩余可用空間小于預(yù)設(shè)值,則放棄已經(jīng)獲得的當(dāng)前分組的后續(xù)任務(wù),設(shè)置存儲設(shè)備的狀態(tài)為Inactive,并停止數(shù)據(jù)同步服務(wù);否則相應(yīng)的虛擬容器在接受到任務(wù)更新請求后,根據(jù)分組編號和文件名稱在分組中查找對應(yīng)的記錄,若找到對應(yīng)的文件記錄,則設(shè)置fetched=l;其中,fetched為META DATA結(jié)構(gòu)體中包含的一個成員,用于表示是否已經(jīng)被下載到用戶的帶有wifi功能的存儲設(shè)備,fetched的默認(rèn)值為0; 若未找到對應(yīng)的文件記錄,則返回false信號至帶有wifi功能的存儲設(shè)備,帶有wifi功能的存儲設(shè)備收到false信號后,放棄已經(jīng)獲得的當(dāng)前分組的后續(xù)任務(wù)并重新獲取第一個未完成的任務(wù)組;帶有wifi功能的存儲設(shè)備每完成一個任務(wù)組的下載后,自動請求下一個未完成任務(wù)組,直至完成最后一個未完成任務(wù)組;其中,所述的帶有wif i功能的存儲設(shè)備聯(lián)網(wǎng)后,記錄任務(wù)內(nèi)容和分組的編號,并根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)具體包括:并行處理或串行處理;所述的并行處理即帶有 wifi功能的存儲設(shè)備先獲取與此設(shè)備關(guān)聯(lián)的所有虛擬容器的第一個任務(wù)組數(shù)據(jù),然后并行進行多個文件的下載;所述的串行處理即每次只獲取一個虛擬容器的任務(wù)組數(shù)據(jù)并進行文件同步,處理完一個虛擬容器的所有任務(wù)分組后再依次處理下一個虛擬容器的任務(wù)數(shù)據(jù)。 [〇〇84] 一種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的系統(tǒng),包括:[〇〇85]綁定模塊,用于將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有 wifi功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多個不同的賬戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;[〇〇86]遍歷模塊,用于個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷;
[0087]第一數(shù)據(jù)導(dǎo)出及存儲模塊,用于遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;
[0088]任務(wù)生成及分配模塊,用于個人私有云存儲系統(tǒng)將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成多個任務(wù)組并等待帶有wifi功能的存儲設(shè)備主動獲取;
[0089]自動下載模塊,用于所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)。
[0090]所述的綁定模塊還包括:
[0091]登錄模塊,用于訪問帶有wifi功能的存儲設(shè)備的Web管理界面,并利用個人私有云存儲系統(tǒng)的賬號和密碼進行登陸;登陸成功后,所述的帶有wifi功能的存儲設(shè)備即與個人私有云存儲系統(tǒng)的賬戶建立了綁定關(guān)系;[0〇92]綁定請求發(fā)送模塊,用于在所述的帶有wifi功能的存儲設(shè)備的Web管理界面上發(fā)起對多個公有云存儲賬戶的綁定請求;[〇〇93]訪問授權(quán)獲取模塊,用于通過公有云存儲系統(tǒng)的開放編程接口(S卩OpenAPI)獲取訪問授權(quán),獲得相應(yīng)的授權(quán)key;
[0094]信息上傳模塊,用于將所述的公有云存儲系統(tǒng)的名稱、授權(quán)key和帶有wifi功能的存儲設(shè)備的設(shè)備編號上傳至個人私有云存儲系統(tǒng)并保存;
[0095]虛擬容器創(chuàng)建及關(guān)聯(lián)模塊,用于個人私有云存儲系統(tǒng)創(chuàng)建多個不同的虛擬容器, (在每個虛擬容器中,利用公有云存儲系統(tǒng)的API及相應(yīng)的授權(quán)KEY進行登錄,同時設(shè)置用戶期望同步的目錄,默認(rèn)為根目錄)使得各個虛擬容器分別與多個公有云存儲賬戶或公有云存儲賬戶中指定的一個或多個目錄一一對應(yīng)關(guān)聯(lián),并且各個虛擬容器均與同一個帶有wifi 功能的存儲設(shè)備進行關(guān)聯(lián)。[〇〇96]所述的遍歷模塊還包括:
[0097]數(shù)組結(jié)構(gòu)生成模塊,用于所述的不同的虛擬容器對與其相關(guān)聯(lián)的公有云存儲賬戶或公有云存儲賬戶下的指定目錄及子目錄和文件進行首次遍歷,生成META DATA的數(shù)據(jù)結(jié)構(gòu);[〇〇98]第一數(shù)據(jù)導(dǎo)出及存儲模塊還包括:
[0099]數(shù)據(jù)分組模塊,用于遍歷完成后,將所述的文件名按照N個為一組,劃分為多個組后,導(dǎo)出為json格式的數(shù)據(jù),并保存至數(shù)據(jù)庫中;其中,遍歷時,以目錄或文件名稱作為索引值。
[0100]所述的自動下載模塊還包括:
[0101]狀態(tài)檢測模塊,用于帶有Wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,檢測存儲設(shè)備的狀態(tài);
[0102]記錄模塊,用于若存儲設(shè)備的狀態(tài)為Active,則向個人私有云存儲系統(tǒng)發(fā)起任務(wù)獲取請求,個人私有云存儲系統(tǒng)查詢到與該設(shè)備關(guān)聯(lián)的所有虛擬容器,然后將虛擬容器內(nèi)第一個未全部完成的任務(wù)組下發(fā)給該設(shè)備;該設(shè)備保存任務(wù)內(nèi)容和分組的編號;
[0103]信息反饋模塊,用于帶有Wifi功能的存儲設(shè)備每完成一個文件的下載或者完成一個任務(wù)組的全部或部分文件的下載,則向相應(yīng)的虛擬容器更新任務(wù)完成情況以及存儲設(shè)備的剩余可用空間;
[0104]文件記錄查找及設(shè)置模塊,用于若存儲設(shè)備的剩余可用空間大于預(yù)設(shè)值時,則相應(yīng)的虛擬容器在接受到任務(wù)更新請求后,根據(jù)分組編號和文件名稱在分組中查找對應(yīng)的記錄,若找到對應(yīng)的文件記錄,貝U設(shè)置fetched= 1;其中,fetched為META DATA結(jié)構(gòu)體中包含的一個成員,用于表示是否已經(jīng)被下載到用戶的帶有wifi功能的存儲設(shè)備,fetched的默認(rèn)值為〇;若未找到對應(yīng)的文件記錄,則返回false信號至帶有wifi功能的存儲設(shè)備;
[0105]任務(wù)放棄及重新獲取模塊,用于帶有wifi功能的存儲設(shè)備收到false信號后,放棄已經(jīng)獲得的當(dāng)前分組的后續(xù)任務(wù)并重新獲取第一個未完成的任務(wù)組;
[0106]任務(wù)自動請求模塊,用于帶有wifi功能的存儲設(shè)備每完成一個任務(wù)組的下載后, 自動請求下一個未完成任務(wù)組,直至完成最后一個未完成任務(wù)組。[〇1〇7]所述的遍歷模塊還包括:[〇1〇8]補充遍歷及對比模塊,用于個人私有云存儲系統(tǒng)定期對與其相關(guān)聯(lián)的公有云存儲賬戶下的目錄及文件名進行補充遍歷,并與本地緩存的目錄及文件名列表進行比對,找出新文件,生成下載/同步任務(wù)列表;
[0109]所述的補充遍歷及對比模塊具體包括:
[0110]數(shù)據(jù)加載及存儲模塊:用于個人私有云存儲系統(tǒng)從數(shù)據(jù)庫中按照分組的順序加載目錄結(jié)構(gòu)的json數(shù)據(jù),在程序的內(nèi)存中保存該數(shù)組結(jié)構(gòu),并將該數(shù)組命名為:〇ld;
[0111]補充遍歷模塊:用于按照首次遍歷的方式對公有云存儲賬戶下的目錄及文件名進行補充遍歷,獲得最新的目錄遍歷結(jié)果的數(shù)組結(jié)構(gòu),并將該數(shù)組命名為mew;
[0112]數(shù)據(jù)對比模塊:用于從old數(shù)組中取出一個元素,在new數(shù)組中查找與該元素文件名相同的元素,如果沒有找到,則放棄此old數(shù)組中的該元素;如果找到了對應(yīng)的元素,則對比兩個元素的MD5值或文件長度和最后修改時間;如果相同,則把old數(shù)組中元素的fetched 值復(fù)制給new數(shù)組中對應(yīng)的元素;重復(fù)本操作,直到〇 1 d數(shù)組中所有的元素都取出;
[0113]第二數(shù)據(jù)導(dǎo)出及存儲模塊,用于補充遍歷完成后,將new數(shù)組的數(shù)據(jù)從程序的內(nèi)存導(dǎo)出為json格式的數(shù)據(jù),并以分組方式保存至數(shù)據(jù)庫中。
[0114]實施例2:—種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法,如圖1所示,包括以下步驟:[〇115]S1,將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有wifi功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多個不同的賬戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;具體包括:[〇116]S11,訪問帶有wifi功能的存儲設(shè)備的Web管理界面,并利用個人私有云存儲系統(tǒng)的賬號和密碼進行登陸;登陸成功后,所述的帶有wifi功能的存儲設(shè)備即與個人私有云存儲系統(tǒng)的賬戶建立了綁定關(guān)系;[〇117]S12,在所述的帶有wifi功能的存儲設(shè)備的Web管理界面上發(fā)起對多個公有云存儲賬戶的綁定請求;通過公有云存儲系統(tǒng)的開放編程接口(即OpenAPI)獲取訪問授權(quán),獲得相應(yīng)的授權(quán)key;[〇118]S13,將所述的公有云存儲系統(tǒng)的名稱、授權(quán)key和帶有wifi功能的存儲設(shè)備的設(shè)備編號上傳至個人私有云存儲系統(tǒng)并保存;
[0119]S14,個人私有云存儲系統(tǒng)創(chuàng)建多個不同的虛擬容器,(在每個虛擬容器中,利用公有云存儲系統(tǒng)的API及相應(yīng)的授權(quán)KEY進行登錄,同時設(shè)置用戶期望同步的目錄,默認(rèn)為根目錄)使得各個虛擬容器分別與多個公有云存儲賬戶或公有云存儲賬戶中指定的一個或多個目錄一一對應(yīng)關(guān)聯(lián),并且各個虛擬容器均與同一個帶有wifi功能的存儲設(shè)備進行關(guān)聯(lián); [〇12〇]S2,個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷,遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;具體包括:所述的不同的虛擬容器對與其相關(guān)聯(lián)的公有云存儲賬戶或公有云存儲賬戶下的指定目錄及子目錄和文件進行首次遍歷,生成META DATA的數(shù)據(jù)結(jié)構(gòu);遍歷完成后,將所述的文件名按照N個為一組, 劃分為多個組后,導(dǎo)出為json格式的數(shù)據(jù),并保存至數(shù)據(jù)庫中;其中,遍歷時,以目錄或文件名稱作為索引值;
[0121]S3,個人私有云存儲系統(tǒng)中的各個不同的虛擬容器將數(shù)據(jù)庫中的數(shù)據(jù)按照分組生成多個任務(wù)組,并且等待帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后按照分組獲取任務(wù);
[0122]S4,所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù);具體包括:帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,檢測存儲設(shè)備的狀態(tài),若為Act ive,則向個人私有云存儲系統(tǒng)發(fā)起任務(wù)獲取請求,個人私有云存儲系統(tǒng)查詢到與該設(shè)備關(guān)聯(lián)的所有虛擬容器,然后將虛擬容器內(nèi)第一個未全部完成的任務(wù)組下發(fā)給該設(shè)備;該設(shè)備保存任務(wù)內(nèi)容和分組的編號,并根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù);每完成一個文件的下載或者完成一個任務(wù)組的全部或部分文件的下載,則向相應(yīng)的虛擬容器更新任務(wù)完成情況以及存儲設(shè)備的剩余可用空間;若存儲設(shè)備的剩余可用空間小于預(yù)設(shè)值,則放棄已經(jīng)獲得的當(dāng)前分組的后續(xù)任務(wù),設(shè)置存儲設(shè)備的狀態(tài)為Inactive,并停止數(shù)據(jù)同步服務(wù);否則相應(yīng)的虛擬容器在接受到任務(wù)更新請求后,根據(jù)分組編號和文件名稱在分組中查找對應(yīng)的記錄,若找到對應(yīng)的文件記錄,則設(shè)置fetched=l;其中,fetched為META DATA結(jié)構(gòu)體中包含的一個成員,用于表示是否已經(jīng)被下載到用戶的帶有wifi功能的存儲設(shè)備,fetched的默認(rèn)值為0; 若未找到對應(yīng)的文件記錄,則返回false信號至帶有wifi功能的存儲設(shè)備,帶有wifi功能的存儲設(shè)備收到false信號后,放棄已經(jīng)獲得的當(dāng)前分組的后續(xù)任務(wù)并重新獲取第一個未完成的任務(wù)組;帶有wifi功能的存儲設(shè)備每完成一個任務(wù)組的下載后,自動請求下一個未完成任務(wù)組,直至完成最后一個未完成任務(wù)組。
[0123]—種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的系統(tǒng),包括:
[0124]綁定模塊,用于將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有 wifi功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多個不同的賬戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;
[0125]遍歷模塊,用于個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷;
[0126]第一數(shù)據(jù)導(dǎo)出及存儲模塊,用于遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;
[0127]任務(wù)生成及分配模塊,用于個人私有云存儲系統(tǒng)將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成多個任務(wù)組并等待帶有wifi功能的存儲設(shè)備主動獲取;
[0128]自動下載模塊,用于所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)。
[0129]所述的綁定模塊還包括:[〇13〇]登錄模塊,用于訪問帶有wifi功能的存儲設(shè)備的Web管理界面,并利用個人私有云存儲系統(tǒng)的賬號和密碼進行登陸;登陸成功后,所述的帶有wifi功能的存儲設(shè)備即與個人私有云存儲系統(tǒng)的賬戶建立了綁定關(guān)系;[〇131]綁定請求發(fā)送模塊,用于在所述的帶有wifi功能的存儲設(shè)備的Web管理界面上發(fā)起對多個公有云存儲賬戶的綁定請求;
[0132]訪問授權(quán)獲取模塊,用于通過公有云存儲系統(tǒng)的開放編程接口(S卩OpenAPI)獲取訪問授權(quán),獲得相應(yīng)的授權(quán)key;
[0133]信息上傳模塊,用于將所述的公有云存儲系統(tǒng)的名稱、授權(quán)key和帶有wifi功能的存儲設(shè)備的設(shè)備編號上傳至個人私有云存儲系統(tǒng)并保存;
[0134]虛擬容器創(chuàng)建及關(guān)聯(lián)模塊,用于個人私有云存儲系統(tǒng)創(chuàng)建多個不同的虛擬容器, (在每個虛擬容器中,利用公有云存儲系統(tǒng)的API及相應(yīng)的授權(quán)KEY進行登錄,同時設(shè)置用戶期望同步的目錄,默認(rèn)為根目錄)使得各個虛擬容器分別與多個公有云存儲賬戶或公有云存儲賬戶中指定的一個或多個目錄一一對應(yīng)關(guān)聯(lián),并且各個虛擬容器均與同一個帶有wifi 功能的存儲設(shè)備進行關(guān)聯(lián)。[〇135]所述的遍歷模塊還包括:
[0136]數(shù)組結(jié)構(gòu)生成模塊,用于所述的不同的虛擬容器對與其相關(guān)聯(lián)的公有云存儲賬戶或公有云存儲賬戶下的指定目錄及子目錄和文件進行首次遍歷,生成META DATA的數(shù)據(jù)結(jié)構(gòu);
[0137]第一數(shù)據(jù)導(dǎo)出及存儲模塊還包括:
[0138]數(shù)據(jù)分組模塊,用于遍歷完成后,將所述的文件名按照N個為一組,劃分為多個組后,導(dǎo)出為json格式的數(shù)據(jù),并保存至數(shù)據(jù)庫中;其中,遍歷時,以目錄或文件名稱作為索引值。
[0139]所述的自動下載模塊還包括:
[0140]狀態(tài)檢測模塊,用于帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,檢測存儲設(shè)備的狀態(tài);
[0141]記錄模塊,用于若存儲設(shè)備的狀態(tài)為Active,則向個人私有云存儲系統(tǒng)發(fā)起任務(wù)獲取請求,個人私有云存儲系統(tǒng)查詢到與該設(shè)備關(guān)聯(lián)的所有虛擬容器,然后將虛擬容器內(nèi)第一個未全部完成的任務(wù)組下發(fā)給該設(shè)備;該設(shè)備保存任務(wù)內(nèi)容和分組的編號;
[0142]信息反饋模塊,用于帶有wifi功能的存儲設(shè)備每完成一個文件的下載或者完成一個任務(wù)組的全部或部分文件的下載,則向相應(yīng)的虛擬容器更新任務(wù)完成情況以及存儲設(shè)備的剩余可用空間;
[0143]文件記錄查找及設(shè)置模塊,用于若存儲設(shè)備的剩余可用空間大于預(yù)設(shè)值時,則相應(yīng)的虛擬容器在接受到任務(wù)更新請求后,根據(jù)分組編號和文件名稱在分組中查找對應(yīng)的記錄,若找到對應(yīng)的文件記錄,貝U設(shè)置fetched= 1;其中,fetched為META DATA結(jié)構(gòu)體中包含的一個成員,用于表示是否已經(jīng)被下載到用戶的帶有wifi功能的存儲設(shè)備,fetched的默認(rèn)值為〇;若未找到對應(yīng)的文件記錄,則返回false信號至帶有wifi功能的存儲設(shè)備;
[0144]任務(wù)放棄及重新獲取模塊,用于帶有wifi功能的存儲設(shè)備收到false信號后,放棄已經(jīng)獲得的當(dāng)前分組的后續(xù)任務(wù)并重新獲取第一個未完成的任務(wù)組;
[0145]任務(wù)自動請求模塊,用于帶有wifi功能的存儲設(shè)備每完成一個任務(wù)組的下載后, 自動請求下一個未完成任務(wù)組,直至完成最后一個未完成任務(wù)組。
[0146]實施例3:—種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法,包括以下步驟:
[0147]S1,將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有wifi功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多個不同的賬戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;
[0148]S2,個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷,遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;
[0149]S3,個人私有云存儲系統(tǒng)將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成多個任務(wù)組并等待帶有wifi功能的存儲設(shè)備主動獲取;
[0150]S4,所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)。
[0151]—種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的系統(tǒng),包括:[〇152]綁定模塊,用于將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有 wifi功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多個不同的賬戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;[〇153]遍歷模塊,用于個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷;
[0154]第一數(shù)據(jù)導(dǎo)出及存儲模塊,用于遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;
[0155]任務(wù)生成及分配模塊,用于個人私有云存儲系統(tǒng)將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成多個任務(wù)組并等待帶有wifi功能的存儲設(shè)備主動獲??;
[0156]自動下載模塊,用于所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)。[〇15"7]本發(fā)明的一種實施例的工作原理:如圖2所示,訪問帶有wif i功能的A盤的Web管理界面,并利用個人私有云存儲系統(tǒng)的賬號和密碼進行登陸;登陸成功后,所述的A盤即與個人私有云存儲系統(tǒng)的賬戶建立了綁定關(guān)系;在所述的A盤的Web管理界面上發(fā)起對多個公有云存儲賬戶(比如360云盤的賬戶、百度云的賬戶、金山云盤賬戶、騰訊云盤賬戶等)的綁定請求;通過360云盤、百度云、金山云盤、騰訊云盤的開放編程接口(S卩OpenAPI)獲取訪問授權(quán),獲得相應(yīng)的授權(quán)key;將所述的公有云存儲系統(tǒng)的名稱(360云盤、百度云、金山云盤、騰訊云盤)、授權(quán)key和A盤的設(shè)備編號上傳至個人私有云存儲系統(tǒng)并保存;個人私有云存儲系統(tǒng)創(chuàng)建5個不同的虛擬容器,如a虛擬容器、b虛擬容器、c虛擬容器、d虛擬容器和e虛擬容器 (可在a虛擬容器中,利用360云盤的API及相應(yīng)的授權(quán)KEY進行登錄;在b虛擬容器中,利用百度云的API及相應(yīng)的授權(quán)KEY進行登錄,以此類推),并建立以下關(guān)聯(lián)關(guān)系:
[0158] 36〇zsT 盤-a 容器-A 盤[〇159] 百度zsT b容器A盤[〇16〇] 金山云盤的xxx目錄---c容器-A盤
[0161] 騰訊zsT盤的xxx目錄d容器A盤
[0162]騰訊云盤的yyy目錄一一e容器一一A盤
[0163]利用a虛擬容器、b虛擬容器、c虛擬容器、d虛擬容器和e虛擬容器分別管控360云盤賬戶、百度云賬戶、金山云盤賬戶中的指定目錄及騰訊云盤賬戶中的指定目錄的數(shù)據(jù)備份及更新任務(wù),并且均與同一個存儲設(shè)備關(guān)聯(lián),實現(xiàn)了將不同云存儲賬戶或不同云存儲賬戶中指定目錄下的數(shù)據(jù)備份至同一個存儲設(shè)備中。
[0164]以上工作原理中,所述的360云盤賬戶、百度云賬戶、金山云盤賬戶、騰訊云盤賬戶也可以為360云盤或其他云盤的幾個不同的賬戶。
【主權(quán)項】
1.一種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法,其特征在于,包括以下步驟:S1,將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有wifi功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多個不同的賬 戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;52,個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首次遍歷,遍 歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù)庫中;53,個人私有云存儲系統(tǒng)將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成多個任務(wù)組并等待帶有 wifi功能的存儲設(shè)備主動獲??;54,所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動 從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法,其特征在 于,步驟S1具體包括:S11,訪問帶有wifi功能的存儲設(shè)備的Web管理界面,并利用個人私有云存儲系統(tǒng)的賬 號和密碼進行登陸;登陸成功后,所述的帶有wifi功能的存儲設(shè)備即與個人私有云存儲系 統(tǒng)的賬戶建立了綁定關(guān)系;512,在所述的帶有wifi功能的存儲設(shè)備的Web管理界面上發(fā)起對多個公有云存儲賬戶 的綁定請求;通過公有云存儲系統(tǒng)的開放編程接口獲取訪問授權(quán),獲得相應(yīng)的授權(quán)key;513,將所述的公有云存儲系統(tǒng)的名稱、授權(quán)key和帶有wifi功能的存儲設(shè)備的設(shè)備編 號上傳至個人私有云存儲系統(tǒng)并保存;514,個人私有云存儲系統(tǒng)創(chuàng)建多個不同的虛擬容器,使得各個虛擬容器分別與多個公 有云存儲賬戶或公有云存儲賬戶中指定的一個或多個目錄一一對應(yīng)關(guān)聯(lián),并且各個虛擬容 器均與同一個帶有wifi功能的存儲設(shè)備進行關(guān)聯(lián)。3.根據(jù)權(quán)利要求2所述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法,其特征在 于,步驟S2具體包括:所述的個人私有云存儲系統(tǒng)中的不同的虛擬容器對與其相關(guān)聯(lián)的公 有云存儲賬戶或公有云存儲賬戶下的指定目錄及子目錄和文件進行首次遍歷,生成META DATA的數(shù)據(jù)結(jié)構(gòu);遍歷完成后,將所述的文件名按照N個為一組,劃分為多個組后,導(dǎo)出為 json格式的數(shù)據(jù),并保存至數(shù)據(jù)庫中;其中,遍歷時,以目錄或文件名稱作為索引值;步驟S3 具體包括:各個不同的虛擬容器將數(shù)據(jù)庫中的數(shù)據(jù)按照分組生成多個任務(wù)組,并且等待帶 有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后按照分組獲取任務(wù)。4.根據(jù)權(quán)利要求2所述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法,其特征在 于,步驟S4具體包括:帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,檢測存儲設(shè)備的狀態(tài),若為Active, 則向個人私有云存儲系統(tǒng)發(fā)起任務(wù)獲取請求,個人私有云存儲系統(tǒng)查詢到與該設(shè)備關(guān)聯(lián)的 所有虛擬容器,然后將虛擬容器內(nèi)第一個未全部完成的任務(wù)組下發(fā)給該設(shè)備;該設(shè)備保存 任務(wù)內(nèi)容和分組的編號,并根據(jù)當(dāng)前任務(wù)組中的目錄及文件名自動從各個公有云存儲賬戶 中開始下載任務(wù)數(shù)據(jù);每完成一個文件的下載或者完成一個任務(wù)組的全部或部分文件的下 載,則向相應(yīng)的虛擬容器更新任務(wù)完成情況以及存儲設(shè)備的剩余可用空間;若存儲設(shè)備的 剩余可用空間小于預(yù)設(shè)值,則放棄已經(jīng)獲得的當(dāng)前分組的后續(xù)任務(wù),設(shè)置存儲設(shè)備的狀態(tài) 為Inactive,并停止數(shù)據(jù)同步服務(wù);否則相應(yīng)的虛擬容器在接受到任務(wù)更新請求后,根據(jù)分 組編號和文件名稱在分組中查找對應(yīng)的記錄,若找到對應(yīng)的文件記錄,則設(shè)置fetChed=l;其中,fetched為META DATA結(jié)構(gòu)體中包含的一個成員,用于表示是否已經(jīng)被下載到用戶的 帶有wifi功能的存儲設(shè)備,fetched的默認(rèn)值為0;若未找到對應(yīng)的文件記錄,則返回false 信號至帶有wifi功能的存儲設(shè)備,帶有wifi功能的存儲設(shè)備收到false信號后,放棄已經(jīng)獲 得的當(dāng)前分組的后續(xù)任務(wù)并重新獲取第一個未完成的任務(wù)組;帶有wifi功能的存儲設(shè)備每 完成一個任務(wù)組的下載后,自動請求下一個未完成任務(wù)組,直至完成最后一個未完成任務(wù) 組。5.根據(jù)權(quán)利要求1?4任一項所述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的方法, 其特征在于,步驟S2還包括:個人私有云存儲系統(tǒng)定期對與其相關(guān)聯(lián)的公有云存儲賬戶下 的目錄及文件名進行補充遍歷,并與本地緩存的目錄及文件名列表進行比對,找出新文件, 生成下載/同步任務(wù)列表;具體包括:首先,個人私有云存儲系統(tǒng)從數(shù)據(jù)庫中按照分組的順序加載目錄結(jié)構(gòu)的json數(shù)據(jù),在 程序的內(nèi)存中保存該數(shù)組結(jié)構(gòu),并將該數(shù)組命名為:〇 Id;其次,按照首次遍歷的方式對公有云存儲賬戶下的目錄及文件名進行補充遍歷,獲得 最新的目錄遍歷結(jié)果的數(shù)組結(jié)構(gòu),并將該數(shù)組命名為:new;再次,從old數(shù)組中取出一個元素,在new數(shù)組中查找與該元素文件名相同的元素,如果 沒有找到,則放棄此old數(shù)組中的該元素;如果找到了對應(yīng)的元素,則對比兩個元素的MD5值 或文件長度和最后修改時間;如果相同,則把old數(shù)組中元素的fetched值復(fù)制給new數(shù)組中 對應(yīng)的元素;重復(fù)本操作,直到old數(shù)組中所有的元素都取出;最后,補充遍歷完成后,將new數(shù)組的數(shù)據(jù)從程序的內(nèi)存導(dǎo)出為json格式的數(shù)據(jù),并以 分組方式保存至數(shù)據(jù)庫中。6.—種對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的系統(tǒng),其特征在于,包括:綁定模塊,用于將個人私有云存儲系統(tǒng)的賬戶與多個公有云存儲賬戶及某個帶有wifi 功能的存儲設(shè)備進行綁定;所述的多個公有云存儲賬戶包括:同一個公有云存儲系統(tǒng)的多 個不同的賬戶或者多個不同的公有云存儲系統(tǒng)的一個或多個不同的賬戶;遍歷模塊,用于個人私有云存儲系統(tǒng)對各個公有云存儲賬戶下的目錄及文件名進行首 次遍歷;第一數(shù)據(jù)導(dǎo)出及存儲模塊,用于遍歷完成后,將目錄及文件名數(shù)據(jù)導(dǎo)出并保存至數(shù)據(jù) 庫中;任務(wù)生成及分配模塊,用于個人私有云存儲系統(tǒng)將數(shù)據(jù)庫中的目錄及文件名數(shù)據(jù)生成 多個任務(wù)組并等待帶有wifi功能的存儲設(shè)備主動獲??;自動下載模塊,用于所述的帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,根據(jù)當(dāng)前任務(wù)組中的目 錄及文件名自動從各個公有云存儲賬戶中開始下載任務(wù)數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的系統(tǒng),其特征在 于,所述的綁定模塊還包括:登錄模塊,用于訪問帶有wifi功能的存儲設(shè)備的Web管理界面,并利用個人私有云存儲 系統(tǒng)的賬號和密碼進行登陸;登陸成功后,所述的帶有wifi功能的存儲設(shè)備即與個人私有 云存儲系統(tǒng)的賬戶建立了綁定關(guān)系;綁定請求發(fā)送模塊,用于在所述的帶有wifi功能的存儲設(shè)備的Web管理界面上發(fā)起對 多個公有云存儲賬戶的綁定請求;訪問授權(quán)獲取模塊,用于通過公有云存儲系統(tǒng)的開放編程接口獲取訪問授權(quán),獲得相 應(yīng)的授權(quán)key;信息上傳模塊,用于將所述的公有云存儲系統(tǒng)的名稱、授權(quán)key和帶有wifi功能的存儲 設(shè)備的設(shè)備編號上傳至個人私有云存儲系統(tǒng)并保存;虛擬容器創(chuàng)建及關(guān)聯(lián)模塊,用于個人私有云存儲系統(tǒng)創(chuàng)建多個不同的虛擬容器,使得 各個虛擬容器分別與多個公有云存儲賬戶或公有云存儲賬戶中指定的一個或多個目錄一 一對應(yīng)關(guān)聯(lián),并且各個虛擬容器均與同一個帶有wifi功能的存儲設(shè)備進行關(guān)聯(lián)。8.根據(jù)權(quán)利要求6所述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的系統(tǒng),其特征在 于,所述的遍歷模塊還包括:數(shù)組結(jié)構(gòu)生成模塊,用于所述的不同的虛擬容器對與其相關(guān)聯(lián)的公有云存儲賬戶或公 有云存儲賬戶下的指定目錄及子目錄和文件進行首次遍歷,生成METADATA的數(shù)據(jù)結(jié)構(gòu); 第一數(shù)據(jù)導(dǎo)出及存儲模塊還包括:數(shù)據(jù)分組模塊,用于遍歷完成后,將所述的文件名按照N個為一組,劃分為多個組后,導(dǎo) 出為json格式的數(shù)據(jù),并保存至數(shù)據(jù)庫中;其中,遍歷時,以目錄或文件名稱作為索引值。9.根據(jù)權(quán)利要求8所述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的系統(tǒng),其特征在 于,所述的自動下載模塊還包括:狀態(tài)檢測模塊,用于帶有wifi功能的存儲設(shè)備聯(lián)網(wǎng)后,檢測存儲設(shè)備的狀態(tài);記錄模塊,用于若存儲設(shè)備的狀態(tài)為Active,則向個人私有云存儲系統(tǒng)發(fā)起任務(wù)獲取 請求,個人私有云存儲系統(tǒng)查詢到與該設(shè)備關(guān)聯(lián)的所有虛擬容器,然后將虛擬容器內(nèi)第一 個未全部完成的任務(wù)組下發(fā)給該設(shè)備;該設(shè)備保存任務(wù)內(nèi)容和分組的編號;信息反饋模塊,用于帶有wifi功能的存儲設(shè)備每完成一個文件的下載或者完成一個任 務(wù)組的全部或部分文件的下載,則向相應(yīng)的虛擬容器更新任務(wù)完成情況以及存儲設(shè)備的剩 余可用空間;文件記錄查找及設(shè)置模塊,用于若存儲設(shè)備的剩余可用空間大于預(yù)設(shè)值時,則相應(yīng)的 虛擬容器在接受到任務(wù)更新請求后,根據(jù)分組編號和文件名稱在分組中查找對應(yīng)的記錄, 若找到對應(yīng)的文件記錄,則設(shè)置fetched=l;其中,fetched為META DATA結(jié)構(gòu)體中包含的一 個成員,用于表示是否已經(jīng)被下載到用戶的帶有wifi功能的存儲設(shè)備,fetched的默認(rèn)值為 〇;若未找到對應(yīng)的文件記錄,則返回false信號至帶有wifi功能的存儲設(shè)備;任務(wù)放棄及重新獲取模塊,用于帶有wifi功能的存儲設(shè)備收到false信號后,放棄已經(jīng) 獲得的當(dāng)前分組的后續(xù)任務(wù)并重新獲取第一個未完成的任務(wù)組;任務(wù)自動請求模塊,用于帶有wifi功能的存儲設(shè)備每完成一個任務(wù)組的下載后,自動 請求下一個未完成任務(wù)組,直至完成最后一個未完成任務(wù)組。10.根據(jù)權(quán)利要求6?9任一項所述的對公有云存儲系統(tǒng)的數(shù)據(jù)進行多賬號備份的系 統(tǒng),其特征在于,所述的遍歷模塊還包括:補充遍歷及對比模塊,用于個人私有云存儲系統(tǒng)定期對與其相關(guān)聯(lián)的公有云存儲賬戶 下的目錄及文件名進行補充遍歷,并與本地緩存的目錄及文件名列表進行比對,找出新文 件,生成下載/同步任務(wù)列表;所述的補充遍歷及對比模塊具體包括:數(shù)據(jù)加載及存儲模塊:用于個人私有云存儲系統(tǒng)從數(shù)據(jù)庫中按照分組的順序加載目錄結(jié)構(gòu)的json數(shù)據(jù),在程序的內(nèi)存中保存該數(shù)組結(jié)構(gòu),并將該數(shù)組命名為:〇ld;補充遍歷模塊:用于按照首次遍歷的方式對公有云存儲賬戶下的目錄及文件名進行補 充遍歷,獲得最新的目錄遍歷結(jié)果的數(shù)組結(jié)構(gòu),并將該數(shù)組命名為mew;數(shù)據(jù)對比模塊:用于從old數(shù)組中取出一個元素,在new數(shù)組中查找與該元素文件名相 同的元素,如果沒有找到,則放棄此old數(shù)組中的該元素;如果找到了對應(yīng)的元素,則對比兩 個元素的MD5值或文件長度和最后修改時間;如果相同,則把old數(shù)組中元素的fetched值復(fù) 制給new數(shù)組中對應(yīng)的元素;重復(fù)本操作,直到〇 1 d數(shù)組中所有的元素都取出;第二數(shù)據(jù)導(dǎo)出及存儲模塊,用于補充遍歷完成后,將new數(shù)組的數(shù)據(jù)從程序的內(nèi)存導(dǎo)出 為json格式的數(shù)據(jù),并以分組方式保存至數(shù)據(jù)庫中。
【文檔編號】G06F11/14GK105956491SQ201610340073
【公開日】2016年9月21日
【申請日】2016年5月19日
【發(fā)明人】徐超
【申請人】北京春鴻企業(yè)管理咨詢有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宝清县| 九龙县| 东港市| 南开区| 福贡县| 蒙阴县| 广宁县| 炎陵县| 兴文县| 藁城市| 阿荣旗| 泰顺县| 瑞金市| 涪陵区| 兴隆县| 七台河市| 澳门| 隆化县| 时尚| 水富县| 泸水县| 志丹县| 宜丰县| 炎陵县| 南宁市| 赫章县| 永济市| 莱西市| 从化市| 揭西县| 乌拉特前旗| 凤冈县| 凌云县| 龙胜| 寿阳县| 丹阳市| 福建省| 武鸣县| 乡宁县| 安吉县| 林芝县|