專利名稱:文件云同步系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及文件同步技術(shù)領(lǐng)域,特別是涉及ー種文件云同步系統(tǒng)及方法。
背景技術(shù):
文件同步的需求自PC出現(xiàn)并大規(guī)模普及之后就隨之而來(lái),過(guò)去的軟盤,現(xiàn)在的U盤、移動(dòng)硬盤,包括MSN,Email、QQ等即時(shí)通訊工具,都是人們同步、分享文件的主要途徑。進(jìn)入云的時(shí)代,云存儲(chǔ)來(lái)幫助人們存儲(chǔ)文件、管理文件、同步文件、分享文件,有自己得天獨(dú)厚的優(yōu)勢(shì)與便捷性。人們不需要去來(lái)回比較文件的差異性,選擇、拖動(dòng)、拷貝文件,所有的事情云存儲(chǔ)在后臺(tái)悄無(wú)聲息的完成。目前,華為網(wǎng)盤、酷盤等云存儲(chǔ)產(chǎn)品都可以實(shí)現(xiàn)多終端間文件同步的功能。隨著移動(dòng)辦公、移動(dòng)互聯(lián)網(wǎng)的迅速發(fā)展,人們會(huì)通過(guò)不同的終端(例如筆記本、 ipad、智能手機(jī)等)編輯、使用同一文件。如何讓這些不同終端上的同一文件保持同步,是ー個(gè)非?,F(xiàn)實(shí)的問(wèn)題。目前利用云存儲(chǔ)的自動(dòng)同步備份功能是ー個(gè)比較流行的解決方案。例如,用戶在筆記本上創(chuàng)建并且編輯了ー個(gè)doc文檔,自動(dòng)同步到云存儲(chǔ)空間。當(dāng)用戶使用智能手機(jī)的時(shí)候,可以通過(guò)云存儲(chǔ)空間把該doc文檔下載到手機(jī)存儲(chǔ)卡上,實(shí)現(xiàn)了筆記本和手機(jī)的文件同步。實(shí)現(xiàn)多終端的同步,就要記錄不同終端保存文件的差異?,F(xiàn)在的做法是通過(guò)比較文件元數(shù)據(jù)信息,或者將元數(shù)據(jù)信息的變化記錄到log日志中,來(lái)發(fā)現(xiàn)客戶端和服務(wù)器數(shù)據(jù)的差異,并進(jìn)一歩同步這些差異化的文件。這里,元數(shù)據(jù)是ー組信息的集合,用于標(biāo)識(shí)用戶的文件特征屬性,包括文件名、路徑、修改時(shí)間、作者、權(quán)限、內(nèi)容、hash值等內(nèi)容。這種做法存在幾點(diǎn)問(wèn)題在云存儲(chǔ)平臺(tái)上,文件元數(shù)據(jù)信息量很大,捜索匹配會(huì)帶來(lái)大量的系統(tǒng)開(kāi)銷,影響服務(wù)器性能;元數(shù)據(jù)信息無(wú)法記錄增量,A終端修改了ー個(gè)文件,B終端只能重新下載,無(wú)法做到只下載增量部分,這樣會(huì)加大服務(wù)器IO和帶寬壓力;數(shù)據(jù)結(jié)構(gòu)復(fù)雜,不易擴(kuò)展;由于元數(shù)據(jù)信息記錄的是最終狀態(tài),無(wú)法做到歷史版本和記錄的追蹤、還原。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問(wèn)題本發(fā)明要解決的技術(shù)問(wèn)題是如何設(shè)計(jì)ー種用于在不同的終端之間執(zhí)行文件同步處理的簡(jiǎn)單、高效的方案。(ニ)技術(shù)方案為了解決上述技術(shù)問(wèn)題,本發(fā)明提供一種文件云同步方法,所述方法包括步驟SI、在服務(wù)器端以及多個(gè)用戶終端分別建立元數(shù)據(jù)信息表,服務(wù)器端的元數(shù)據(jù)信息表中包含服務(wù)器操作碼,各個(gè)用戶終端的元數(shù)據(jù)信息表中包含用戶終端操作碼;所述元數(shù)據(jù)信息表存儲(chǔ)于云存儲(chǔ)空間中
S2、執(zhí)行當(dāng)前所使用的用戶終端對(duì)文件的操作指令,并根據(jù)當(dāng)前所使用的用戶終端的每一次操作,同時(shí)更新服務(wù)器端和當(dāng)前所使用的用戶終端的元數(shù)據(jù)信息表;S3、將當(dāng)前所使用的用戶終端的用戶終端操作碼與服務(wù)器端操作碼做比較,如果前者小于后者,則根據(jù)二者的差值執(zhí)行當(dāng)前所使用的用戶終端中元數(shù)據(jù)信息表的更新;其中,所述元數(shù)據(jù)信息表存儲(chǔ)于云存儲(chǔ)空間中。優(yōu)選地,所述服務(wù)器端以及多個(gè)用戶終端的元數(shù)據(jù)信息表中還包括文件編號(hào)、內(nèi)容編碼、父節(jié)點(diǎn)ID、文件名以及操作類別中的至少ー個(gè)。優(yōu)選地,所述文件編號(hào)是文件的唯一標(biāo)記號(hào)。優(yōu)選地,服務(wù)器操作碼和用戶終端操作碼的初始值均為0,且每執(zhí)行一次文件操作,服務(wù)器操作碼和用戶終端操作碼的值都分別加I。 優(yōu)選地,所述操作類別包括對(duì)文件的創(chuàng)建、修改、重命名、移動(dòng)、刪除動(dòng)作中的一種。優(yōu)選地,所述元數(shù)據(jù)信息表存儲(chǔ)于云存儲(chǔ)空間中。本發(fā)明還提供了一種文件云同步系統(tǒng),包括管理模塊、操作模塊以及同步模塊,其中,所述管理模塊用于在服務(wù)器端以及多個(gè)用戶終端分別建立元數(shù)據(jù)信息表,服務(wù)器端的元數(shù)據(jù)信息表中包含服務(wù)器操作碼,各個(gè)用戶終端的元數(shù)據(jù)信息表中包含用戶終端操作碼;所述元數(shù)據(jù)信息表存儲(chǔ)于云存儲(chǔ)空間中;所述操作模塊用于執(zhí)行當(dāng)前所使用的用戶終端對(duì)文件的操作指令,并根據(jù)當(dāng)前所使用的用戶終端的每一次操作,同時(shí)更新服務(wù)器端和當(dāng)前所使用的用戶終端的元數(shù)據(jù)信息表;所述同步模塊用于將當(dāng)前所使用的用戶終端的用戶終端操作碼與服務(wù)器端操作碼做比較,如果前者小于后者,則根據(jù)二者的差值執(zhí)行當(dāng)前所使用的用戶終端中元數(shù)據(jù)信息表的更新。(三)有益效果上述技術(shù)方案具有如下優(yōu)點(diǎn)本發(fā)明的方案在云存儲(chǔ)平臺(tái)上實(shí)現(xiàn)ー種簡(jiǎn)單、高效、便于管理、易擴(kuò)展的機(jī)制,有效地實(shí)現(xiàn)了不同終端間的文件同歩。
圖I是本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖;圖2是本發(fā)明的方法流程圖;圖3是本發(fā)明的方法使用場(chǎng)景示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)ー步詳細(xì)描述。以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。如圖I所示,本發(fā)明的一個(gè)實(shí)施例提供一種文件云同步系統(tǒng),用于在不同的終端之間執(zhí)行文件同步處理,具體包括管理模塊11、操作模塊13以及同步模塊15,其中,管理模塊11用于在服務(wù)器端以及多個(gè)用戶終端分別建立元數(shù)據(jù)信息表,服務(wù)器端的元數(shù)據(jù)信息表中包含服務(wù)器操作碼,各個(gè)用戶終端的元數(shù)據(jù)信息表中包含用戶終端操作碼,所述元數(shù)據(jù)信息表存儲(chǔ)于云存儲(chǔ)空間中。管理模塊11還管理用戶云存儲(chǔ)空間,為在用戶終端所創(chuàng)建的每個(gè)文件分配唯一的文件編號(hào),并將文件編號(hào)添加到對(duì)應(yīng)的元數(shù)據(jù)信息表中;操作模塊13,用于執(zhí)行當(dāng)前所使用的用戶終端對(duì)文件的操作指令,并根據(jù)當(dāng)前所使用的用戶終端的每一次操作,同時(shí)更新服務(wù)器端和當(dāng)前所使用的用戶終端的元數(shù)據(jù)信息表;同步模塊15,用于將當(dāng)前所使用的用戶終端的用戶終端操作碼與服務(wù)器端操作碼做比較,如果前者小于后者,則表明云存儲(chǔ)空間有更新,需要同步,則根據(jù)二者的差值執(zhí)行當(dāng)前所使用的用戶終端中元數(shù)據(jù)信息表的更新。其中,文件編號(hào)(fileGuid),是文件的唯一標(biāo)記號(hào),不會(huì)重復(fù),伴隨文件的整個(gè)生命周期。當(dāng)ー個(gè)文件被創(chuàng)建的時(shí)候,fileGuid由服務(wù)器生成并分配,修改、移動(dòng)、重命名等做操作不會(huì)改變fileGuid,直至文件被刪除 ;操作碼(OperationCode),用于標(biāo)識(shí)用戶針對(duì)元數(shù)據(jù)信息的每一次操作,用戶的每ー操作都對(duì)應(yīng)ー個(gè)操作碼,操作碼是ー個(gè)遞增序列。唯一的文件編號(hào)的產(chǎn)生在現(xiàn)有的技術(shù)中有多種實(shí)現(xiàn)手段,例如在UGID中,根據(jù)用戶的MAC地址結(jié)合當(dāng)前時(shí)間以及一串隨機(jī)整數(shù)可產(chǎn)生的唯一編碼來(lái)作為文件編號(hào),對(duì)此,本發(fā)明采用現(xiàn)有成熟的技術(shù)實(shí)現(xiàn)文件編號(hào)的生成,故對(duì)如何生成文件編號(hào)本發(fā)明將不再多做贅述。本發(fā)明同時(shí)提供一種文件云同步方法,如圖2所示,所述方法具體包括如下步驟步驟21,在服務(wù)器端以及多個(gè)用戶終端分別建立元數(shù)據(jù)信息表,服務(wù)器端的元數(shù)據(jù)信息表中包含服務(wù)器操作碼,各個(gè)用戶終端的元數(shù)據(jù)信息表中包含用戶終端操作碼,所述元數(shù)據(jù)信息表存儲(chǔ)于云存儲(chǔ)空間中。此步驟由管理模塊11執(zhí)行。本發(fā)明提供的ー種具體實(shí)施場(chǎng)景如圖3所示,用戶具有多臺(tái)終端設(shè)備,辦公室的臺(tái)式機(jī)為用戶終端A、個(gè)人筆記本為用戶終端B,智能手機(jī)為用戶終端C。初始化的時(shí)候,該用戶的云存儲(chǔ)空間是空的,用戶終端A、B、C對(duì)應(yīng)的為同一云存儲(chǔ)空間,用戶登錄以后,服務(wù)器針對(duì)該用戶建立元數(shù)據(jù)信息表,并且在每個(gè)用戶終端中也分別建立元數(shù)據(jù)信息表。A的本地操作碼(為上述的用戶終端操作碼,以下簡(jiǎn)稱操作碼A)、B的本地操作碼(以下簡(jiǎn)稱操作碼B)、C的本地操作碼(以下簡(jiǎn)稱操作碼C)以及服務(wù)器操作碼都為初始碼O。元數(shù)據(jù)信息表內(nèi)的主要參數(shù)包括用戶的文件編號(hào)、內(nèi)容編碼、父節(jié)點(diǎn)ID、文件名,操作碼以及操作類別等,所述元數(shù)據(jù)信息表在初始化時(shí)如表I所示
FileGuia ContentGuid ParentID Filename OperationCodeAction表I兀數(shù)據(jù)信息表表I中各參數(shù)定義如下FileGuid,文件編號(hào),由服務(wù)器生成并分配,全球唯一。ContentGuid,內(nèi)容編碼,由服務(wù)器生成并分配,全球卩隹一。如果是文件夾,則該表項(xiàng)為空。ParentID,父節(jié)點(diǎn) ID。Fil ename ,文件名。OperationCode,操作碼,用戶在每一次操作后加I。
Ac t i on,操作類別,包括創(chuàng)建、修改、重命名、移動(dòng)、刪除。步驟22,執(zhí)行當(dāng)前所使用的用戶終端對(duì)文件的操作指令,并根據(jù)當(dāng)前所使用的用戶終端的每一次操作,同時(shí)更新服務(wù)器端和當(dāng)前所使用的用戶終端的元數(shù)據(jù)信息表。此步驟由操作模塊13執(zhí)行。如圖3的所示場(chǎng)景中,當(dāng)用戶使用用戶終端A創(chuàng)建了一個(gè)名為“work”的文件夾,服務(wù)器上元數(shù)據(jù)信息表更新如表2所示
FileGuidContentGuid ParentIDFilenameOperationCodeAction
409B5A3678/workI創(chuàng)建 表2更新后的元數(shù)據(jù)信息表用戶使用終端A創(chuàng)建了一個(gè)名為“project, ppt”的文件,服務(wù)器上元數(shù)據(jù)信息表
更新為
FileGuidContentGuidParentIDFilenameOperationCode Action
409B5A3678/workI'創(chuàng)建
3241CV018N342FSD9X76/project, ppt ' 2'創(chuàng)建表3更新后的元數(shù)據(jù)信息表用戶使用終端A將“project, ppt”文件移動(dòng)到“ work”文件夾中,服務(wù)器上元數(shù)
據(jù)信息表更新為
權(quán)利要求
1.一種文件云同步方法,其特征在于,所述方法包括步驟 51、在服務(wù)器端以及多個(gè)用戶終端分別建立元數(shù)據(jù)信息表,服務(wù)器端的元數(shù)據(jù)信息表中包含服務(wù)器操作碼,各個(gè)用戶終端的元數(shù)據(jù)信息表中包含用戶終端操作碼; 52、執(zhí)行當(dāng)前所使用的用戶終端對(duì)文件的操作指令,并根據(jù)當(dāng)前所使用的用戶終端的每一次操作,同時(shí)更新服務(wù)器端和當(dāng)前所使用的用戶終端的元數(shù)據(jù)信息表; 53、將當(dāng)前所使用的用戶終端的用戶終端操作碼與服務(wù)器端操作碼做比較,如果前者小于后者,則根據(jù)二者的差值執(zhí)行當(dāng)前所使用的用戶終端中元數(shù)據(jù)信息表的更新; 其中,所述元數(shù)據(jù)信息表存儲(chǔ)于云存儲(chǔ)空間中。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述服務(wù)器端以及多個(gè)用戶終端的元數(shù)據(jù)信息表中還包括文件編號(hào)、內(nèi)容編碼、父節(jié)點(diǎn)ID、文件名以及操作類別中的至少一個(gè)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述文件編號(hào)是文件的唯一標(biāo)記號(hào)。
4.根據(jù)權(quán)利要求I或2或3所述的方法,其特征在于,服務(wù)器操作碼和用戶終端操作碼的初始值均為O,且每執(zhí)行一次文件操作,服務(wù)器操作碼和用戶終端操作碼的值都分別加Io
5.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述操作類別包括對(duì)文件的創(chuàng)建、修改、重命名、移動(dòng)、刪除動(dòng)作中的一種。
6.一種文件同步系統(tǒng),其特征在于,包括管理模塊、操作模塊以及同步模塊,其中, 所述管理模塊用于在服務(wù)器端以及多個(gè)用戶終端分別建立元數(shù)據(jù)信息表,服務(wù)器端的元數(shù)據(jù)信息表中包含服務(wù)器操作碼,各個(gè)用戶終端的元數(shù)據(jù)信息表中包含用戶終端操作碼;所述元數(shù)據(jù)信息表存儲(chǔ)于云存儲(chǔ)空間中;所述操作模塊用于執(zhí)行當(dāng)前所使用的用戶終端對(duì)文件的操作指令,并根據(jù)當(dāng)前所使用的用戶終端的每一次操作,同時(shí)更新服務(wù)器端和當(dāng)前所使用的用戶終端的元數(shù)據(jù)信息表;所述同步模塊用于將當(dāng)前所使用的用戶終端的用戶終端操作碼與服務(wù)器端操作碼做比較,如果前者小于后者,則根據(jù)二者的差值執(zhí)行當(dāng)前所使用的用戶終端中元數(shù)據(jù)信息表的更新。
全文摘要
本發(fā)明涉及文件同步技術(shù)領(lǐng)域,公開(kāi)了一種文件云同步方法,建立元數(shù)據(jù)信息表;執(zhí)行用戶對(duì)文件的操作指令,并根據(jù)用戶的每一次操作都生成新的操作碼,同時(shí)更新元數(shù)據(jù)信息表;將用戶終端保存的操作碼與服務(wù)器的保存的操作碼做比較,如果小于服務(wù)器保存的操作碼,則表明用戶的云存儲(chǔ)空間有更新,需要同步,并根據(jù)操作碼的差值執(zhí)行同步更新。本發(fā)明還提供一種文件云同步系統(tǒng)。通過(guò)采用本發(fā)明的技術(shù)方案,可以實(shí)現(xiàn)一種簡(jiǎn)單、高效、便于管理、易擴(kuò)展的機(jī)制,有效的實(shí)現(xiàn)不同終端間的文件同步。
文檔編號(hào)H04L29/08GK102811260SQ20121028487
公開(kāi)日2012年12月5日 申請(qǐng)日期2012年8月10日 優(yōu)先權(quán)日2012年8月10日
發(fā)明者汪東升, 徐濤 申請(qǐng)人:清華大學(xué)