專利名稱:一種文件同步方法及文件同步系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線通訊技術(shù)領(lǐng)域,尤其涉及一種在客戶端和服務(wù)器端同步文件的方
法和系統(tǒng)。
背景技術(shù):
隨著移動(dòng)設(shè)備的日益普及和功能的增強(qiáng),移動(dòng)設(shè)備之間的同步業(yè)務(wù)需求逐漸增 多,以移動(dòng)終端為例,移動(dòng)終端中基于SyncML(同步標(biāo)記語言)的文件同步業(yè)務(wù)逐漸被終端 制造商和運(yùn)營商支持。 以SyncML協(xié)議為例,現(xiàn)有的移動(dòng)設(shè)備之間的文件同步過程如圖1所示, 其中,客戶端指支持該協(xié)議的移動(dòng)設(shè)備。 S101、客戶端發(fā)送需同步的的SyncML數(shù)據(jù)包給服務(wù)器端; SyncML數(shù)據(jù)包為一個(gè)XML文檔,其中的數(shù)據(jù)項(xiàng)為XML文檔的項(xiàng),每一數(shù)據(jù)項(xiàng)的構(gòu)建 方法和標(biāo)簽參照SyncML協(xié)議標(biāo)準(zhǔn)1. 1進(jìn)行,數(shù)據(jù)項(xiàng)中包括標(biāo)識信息和實(shí)際的文件信息。
第一次同步時(shí),客戶端發(fā)送所有需要同步的文件,包括名片夾、日程表等,給服務(wù) 器端。之后的同步根據(jù)日志記錄,只將上次同步后修改過的文件構(gòu)建為數(shù)據(jù)項(xiàng),放入XML文 檔中,構(gòu)建為數(shù)據(jù)包發(fā)送給服務(wù)器端。 S102、服務(wù)器端接收到數(shù)據(jù)包后,解析數(shù)據(jù)包并提取出其中的數(shù)據(jù)項(xiàng);
S103、服務(wù)器端根據(jù)同步規(guī)則確定同步后的文件; 同步規(guī)則有如下幾種l.需要同步的文件以服務(wù)器端為準(zhǔn),2.需要同步的文件以 客戶端為準(zhǔn),3.用戶自定義規(guī)則,比如說新增加的項(xiàng)一律保留等。選用何種同步規(guī)則可以由 用戶事先選擇。 S104、判斷是否有需要服務(wù)器端本地修改的文件,若有,則執(zhí)行步驟S105,否則,執(zhí) 行步驟S106 ; S105、服務(wù)器端修改服務(wù)器端的本地文件; S106、服務(wù)器端構(gòu)建新的SyncML數(shù)據(jù)包,并發(fā)送給客戶端; 在該步驟中,服務(wù)器端根據(jù)同步規(guī)則確定需要客戶端修改的數(shù)據(jù)和修改命令,將 這些數(shù)據(jù)和命令按照SyncML協(xié)議的內(nèi)容構(gòu)建成數(shù)據(jù)包。比如說服務(wù)器端的某一條名片內(nèi) 容與客戶端沖突,如果同步規(guī)則為"需同步的文件以服務(wù)器端為準(zhǔn)",則將服務(wù)器端存儲(chǔ)的 該條名片的內(nèi)容和需要客戶端修改該數(shù)據(jù)的命令,按照協(xié)議內(nèi)容構(gòu)建為數(shù)據(jù)項(xiàng)放入XML文 檔中,將本次同步所有需要客戶端修改的文件內(nèi)容及命令都構(gòu)建為數(shù)據(jù)項(xiàng)并放入XML文檔 中后,將該文檔構(gòu)建為SyncML數(shù)據(jù)包,發(fā)送給客戶端。 S107、客戶端接收到服務(wù)器端發(fā)送的數(shù)據(jù)包后,解析數(shù)據(jù)包,提取其中的數(shù)據(jù)項(xiàng), 修改本地?cái)?shù)據(jù),一直到所有本次同步需修改的數(shù)據(jù)全部修改完畢;
S108、同步過程結(jié)束,客戶端和服務(wù)器端互發(fā)確認(rèn)數(shù)據(jù)包。 在文件同步過程中,同步速度受到設(shè)備數(shù)據(jù)傳輸能力與移動(dòng)設(shè)備處理能力限制與 影響,在數(shù)據(jù)量較小的情況下,同步過程將很快完成。但是很多情況下,需要同步的文件包含了各種圖片,音樂甚至是視頻,數(shù)據(jù)量較大,對于服務(wù)器端和客戶端的的雙向同步,即根 據(jù)同步規(guī)則客戶端和服務(wù)器端都需要修改數(shù)據(jù)的同步,客戶端要將自己的數(shù)據(jù)提供給服務(wù) 器端,而服務(wù)器端要根據(jù)客戶端的數(shù)據(jù)做出修改,最后再返回客戶端。整個(gè)過程,數(shù)據(jù)雙向 傳輸了兩次,當(dāng)數(shù)據(jù)量較大時(shí),等待時(shí)間很長。 此外,在SyncML協(xié)議下的數(shù)據(jù)傳輸時(shí)還面臨著一個(gè)問題,由于傳輸協(xié)議是基于 XML文檔的,電話本記錄等以文本形式存儲(chǔ)的數(shù)據(jù)可以直接放入XML文檔中,但圖片、音頻、 視頻等類型的文件是以二進(jìn)制文件形式存儲(chǔ)的,在同步二進(jìn)制文件時(shí),根據(jù)協(xié)議內(nèi)容必須 先對二進(jìn)制文件進(jìn)行編碼,轉(zhuǎn)化成ASCII文本后才能放入XML文檔中。編碼轉(zhuǎn)換后的文件的 長度相當(dāng)于原來的1.3倍左右,這樣極大的影響了傳輸效率。同時(shí),對較大數(shù)據(jù)進(jìn)行編碼, 浪費(fèi)了 CPU的時(shí)間,而對長度較大的XML文檔構(gòu)成的數(shù)據(jù)包進(jìn)行的解析工作也比較復(fù)雜,增 加了出錯(cuò)的幾率。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種文件同步方法、客戶端及文件同步系統(tǒng),解
決由于現(xiàn)有的同步方法導(dǎo)致的等待時(shí)間長、傳輸效率低、出錯(cuò)率較高等問題。
為解決上述技術(shù)問題,本發(fā)明提供了一種文件同步方法,其特征在于 客戶端選擇需要同步的文件,并將所述文件構(gòu)建成數(shù)據(jù)項(xiàng),發(fā)送給服務(wù)器端,所述
數(shù)據(jù)項(xiàng)中包括所述文件的文件信息和對所述文件執(zhí)行操作所需的命令; 所述服務(wù)器端接收到所述數(shù)據(jù)項(xiàng)后,根據(jù)預(yù)定的同步規(guī)則,選擇對所述需要同步 的文件執(zhí)行的命令,將命令發(fā)送給客戶端執(zhí)行。 優(yōu)選地,所述客戶端選擇需要同步的文件,并將該文件構(gòu)建成數(shù)據(jù)項(xiàng)的過程,具體 包括 客戶端提取該文件的文件信息并填加對該文件執(zhí)行操作所需的命令,構(gòu)建成數(shù)據(jù) 項(xiàng); 其中,所述文件信息至少包括文件名稱、文件大小和文件修改時(shí)間。 優(yōu)選地,所述服務(wù)器端接收到數(shù)據(jù)項(xiàng)后,根據(jù)預(yù)定的同步規(guī)則,選擇對所述需要同
步的文件執(zhí)行的命令,具體包括 所述服務(wù)器端提取所述數(shù)據(jù)項(xiàng)中的文件信息,獲得所述文件信息中的文件名稱、 文件大小和文件修改時(shí)間,根據(jù)預(yù)定的同步規(guī)則,通過同步引擎選擇對所述需要同步的文 件執(zhí)行的命令。 優(yōu)選地,所述同步規(guī)則為 需要同步的文件以服務(wù)器端為準(zhǔn),或者需要同步的文件以客戶端為準(zhǔn),或者用戶 自定義。
優(yōu)選地,所述命令包括讀命令、寫命令和刪除命令。 優(yōu)選地,當(dāng)服務(wù)器端選擇的命令為讀命令時(shí),客戶端收到該命令后,讀取所述需同
步的文件的文件內(nèi)容,發(fā)送給服務(wù)器端,服務(wù)器端收到后將所述文件內(nèi)容寫入本地。 優(yōu)選地,當(dāng)服務(wù)器端選擇的命令為寫命令時(shí),服務(wù)器端將所述寫命令發(fā)送給客戶
端,同時(shí)將所述服務(wù)器端對應(yīng)的需同步的文件的文件內(nèi)容一起發(fā)送給客戶端,客戶端接收
到命令后,將文件內(nèi)容,寫入本地。
優(yōu)選地,當(dāng)服務(wù)器端選擇的命令為刪除命令時(shí),客戶端收到該命令后,刪除所述需 同步文件。 本發(fā)明還提供了一種客戶端,用于與服務(wù)器端進(jìn)行文件同步,所述客戶端包括構(gòu) 建模塊、發(fā)送模塊、接收模塊、本地操作模塊;其中, 構(gòu)建模塊,用于將所述客戶端選擇的需要同步的文件構(gòu)建成數(shù)據(jù)項(xiàng),傳遞給所述 發(fā)送模塊,其中所述數(shù)據(jù)項(xiàng)中包括所述需同步的文件的文件信息和對所述文件執(zhí)行操作所 需的命令; 發(fā)送模塊,用于將所述數(shù)據(jù)項(xiàng)發(fā)送給服務(wù)器端; 接收模塊,用于接收服務(wù)器端發(fā)來的對所述需同步文件執(zhí)行的命令,并傳遞給本 地操作模塊; 本地操作模塊,用于執(zhí)行所述命令。 更進(jìn)一步地,本發(fā)明還提供了一種文件同步系統(tǒng),包括服務(wù)器端,與上述客戶端。
綜上所述,本發(fā)明中的文件同步方法,在客戶端選擇需同步的文件時(shí),只將文件信 息發(fā)送給服務(wù)器端,并不攜帶需要同步的文件的實(shí)際內(nèi)容,服務(wù)器端根據(jù)同步規(guī)則選擇對 文件執(zhí)行的命令后,由客戶端執(zhí)行相應(yīng)命令,從而減小了同步文件傳輸?shù)臄?shù)據(jù)量,提高了傳 輸效率、同時(shí)也降低了出錯(cuò)幾率。
圖1為現(xiàn)有技術(shù)同步文件的流程圖;
圖2為本發(fā)明同步文件的方法的流程圖;
圖3為本發(fā)明實(shí)施例文件同步方法的流程圖;
圖4為本發(fā)明實(shí)施例文件同步系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖。
具體實(shí)施例方式
本發(fā)明的核心思想是,在執(zhí)行文件同步操作時(shí),客戶端只將需同步的文件的文件 信息提取出來,與對該文件執(zhí)行操作所需的命令一起構(gòu)建為數(shù)據(jù)項(xiàng),將數(shù)據(jù)項(xiàng)發(fā)送給服務(wù) 器端。服務(wù)器端按照預(yù)先定義的同步規(guī)則根據(jù)數(shù)據(jù)項(xiàng)中攜帶的文件信息確定需要對該文件 執(zhí)行的命令,將該命令發(fā)送給客戶端執(zhí)行,完成文件的同步。
下面結(jié)合附圖對本發(fā)明的具體實(shí)施方法進(jìn)行說明。
如圖2所示,為本發(fā)明同步文件的方法的流程圖。 S201,客戶端選擇需要同步的文件,并將文件構(gòu)建成數(shù)據(jù)項(xiàng),發(fā)送給服務(wù)器端,數(shù) 據(jù)項(xiàng)中包括文件的文件信息和對文件執(zhí)行操作所需的命令 S202,服務(wù)器端接收到數(shù)據(jù)項(xiàng)后,根據(jù)預(yù)定的同步規(guī)則,選擇對需要同步的文件執(zhí) 行的命令,將命令發(fā)送給客戶端執(zhí)行 下面結(jié)合附圖對本發(fā)明的具體實(shí)施方法進(jìn)行說明。
如圖3所示,本發(fā)明同步文件的方法流程具體處理如下
S301、同步初始化,客戶端和服務(wù)器端交換數(shù)據(jù)能力。 在同步初始化時(shí)客戶端和服務(wù)器端之間首先交換同步能力。兩者通過在初始化數(shù) 據(jù)包和響應(yīng)消息中加入一標(biāo)記來表示是否支持新的文件同步方法,本實(shí)施例中,通過填加〈HUGE〉標(biāo)簽來表示。如果客戶端支持新的文件同步方式,則在初始化包中的〈SyncHdr〉標(biāo) 記中包含〈HUGE〉標(biāo)簽。如果服務(wù)器端也支持新的文件同步方法,則當(dāng)服務(wù)器端在接收到客 戶端發(fā)來的初始化消息時(shí),檢查其中是否包含了 〈HUGE〉標(biāo)簽,如果包含,則服務(wù)器在響應(yīng) 消息中也包含這個(gè)標(biāo)簽。 如果服務(wù)器端不支持新的文件同步方法,則忽略〈HUGE〉標(biāo)簽,在給客戶端的響應(yīng) 消息中也不會(huì)包含有〈HUGE〉標(biāo)簽。 如果是服務(wù)器端支持新的同步方法,而客戶端不支持,則客戶端的初始化消息中 不包含〈HUGE〉標(biāo)簽。 S302、判斷雙方是否支持新的文件同步方法,如果支持,則轉(zhuǎn)步驟S203,否則,按照 現(xiàn)有的文件同步方法進(jìn)行文件同步。 S303、客戶端根據(jù)日志記錄,選擇上次同步后又修改過的文件,作為本次需同步的 文件,針對每個(gè)文件構(gòu)建一個(gè)數(shù)據(jù)項(xiàng)??蛻舳藢?gòu)建好的數(shù)據(jù)項(xiàng)放入XML文檔中,待本次需 同步的所有文件對應(yīng)的數(shù)據(jù)項(xiàng)都構(gòu)建好放入XML文檔后,將該XML文檔構(gòu)建為同步數(shù)據(jù)包, 發(fā)送給服務(wù)器端。 其中,數(shù)據(jù)項(xiàng)的內(nèi)容只包括該文件的文件信息以及對該文件執(zhí)行操作所需的命 令,不包括文件的實(shí)際數(shù)據(jù)內(nèi)容。數(shù)據(jù)項(xiàng)的結(jié)構(gòu)如下
表1.數(shù)據(jù)項(xiàng)基本結(jié)構(gòu)
文件名稱
GUID
LUID
文件大小
最近修改時(shí)間
讀文件命令
寫文件命令
刪除文件命令 上表中,GUID為數(shù)據(jù)項(xiàng)的全局唯一標(biāo)識,LUID為數(shù)據(jù)項(xiàng)的本地唯一標(biāo)識。用來區(qū) 分不同的數(shù)據(jù)。 現(xiàn)有的文件同步是根據(jù)同步文件類型的不同,定義為不同的數(shù)據(jù)項(xiàng)類型,比如定 義為日程表項(xiàng)、電話簿項(xiàng)、圖片項(xiàng)等,每一數(shù)據(jù)項(xiàng)中都包含該文件的實(shí)際數(shù)據(jù)內(nèi)容,對于不 同的數(shù)據(jù)項(xiàng)類型,數(shù)據(jù)項(xiàng)所包含的實(shí)際數(shù)據(jù)內(nèi)容會(huì)有不同。 本發(fā)明的文件同步方法,提供一種新的數(shù)據(jù)項(xiàng)類型來支持該種文件同步方法。對這種數(shù)據(jù)項(xiàng)定義一個(gè)類型,以便SyncML對其進(jìn)行識別,在本實(shí)施例中定義該種數(shù)據(jù)項(xiàng)類型 為huge。。 在對需同步的文件構(gòu)建huge類型數(shù)據(jù)項(xiàng)時(shí),先對該文件進(jìn)行分析,得到該文件的 文件信息,文件信息至少包括文件名稱、文件大小和文件修改時(shí)間,將該文件的文件信息與 服務(wù)器端對該文件執(zhí)行操作所需的命令作為huge類型數(shù)據(jù)項(xiàng)的內(nèi)容。 其中,文件信息用于服務(wù)器端判斷需要對該數(shù)據(jù)項(xiàng)對應(yīng)的文件執(zhí)行何種操作;命 令用于服務(wù)器端選擇相應(yīng)操作所對應(yīng)的命令發(fā)給客戶端執(zhí)行。 在該步驟中也可以根據(jù)實(shí)際情況,只對數(shù)據(jù)量較大的文件采用該種方式進(jìn)行傳
輸,數(shù)據(jù)量較大的文件可以用戶自己定義,比如,只對需要同步的包含音頻、視頻內(nèi)容的文
件采用新的數(shù)據(jù)傳輸方式,其他數(shù)據(jù)量較小的文件采用現(xiàn)有的方法進(jìn)行同步。 S304、服務(wù)器端接收到數(shù)據(jù)包,解析并提取其中的數(shù)據(jù)項(xiàng),若是huge類型的數(shù)據(jù)
項(xiàng),則根據(jù)數(shù)據(jù)項(xiàng)中的文件信息與本地?cái)?shù)據(jù)做出比較,根據(jù)同步規(guī)則,決定同步文件的最終
結(jié)果,即確定哪些數(shù)據(jù)項(xiàng)對應(yīng)的文件內(nèi)容在本次同步過程中需要進(jìn)行修改。 S305、服務(wù)器端取得需要修改的文件的數(shù)據(jù)項(xiàng)內(nèi)容,提取其中的命令,根據(jù)同步的
結(jié)果,選擇對該文件需要執(zhí)行的命令,發(fā)送給客戶端。 本步驟中,若根據(jù)同步規(guī)則,同步結(jié)果是需要服務(wù)器端修改文件以保持跟客戶端 文件內(nèi)容的一致,則服務(wù)器端針對該文件選取的命令為讀命令;若根據(jù)同步規(guī)則,同步結(jié)果 是客戶端需要修改文件以保持跟服務(wù)器端內(nèi)容的一致,則針對該文件服務(wù)器端選取的命令 為寫命令;若根據(jù)同步規(guī)則,同步結(jié)果是需要客戶端刪除該文件,則針對該文件服務(wù)器端選 取的命令為刪除命令;若根據(jù)同步規(guī)則同步結(jié)果為服務(wù)器端需要?jiǎng)h除某一文件,則服務(wù)器 端直接刪除該文件,不需要發(fā)送命令給客戶端執(zhí)行。
S306 、客戶端提取命令; S307、客戶端判斷命令的有效性,若命令有效則執(zhí)行步驟S308,否則,執(zhí)行步驟
S310 ; S308、客戶端判斷需操作的文件是否存在,若存在,則執(zhí)行步驟S309,否則,執(zhí)行步 驟S310 ; S309、根據(jù)命令對文件執(zhí)行相應(yīng)的操作,如讀、寫、刪除等。 當(dāng)服務(wù)器端選擇的命令為讀命令時(shí),客戶端收到該命令后,讀取該文件的文件內(nèi) 容,發(fā)送給服務(wù)器端,服務(wù)器端收到后將所述文件內(nèi)容寫入本地。 當(dāng)服務(wù)器端選擇的命令為寫命令時(shí),服務(wù)器端將寫命令與服務(wù)器端對應(yīng)的所述需 同步的文件的文件內(nèi)容一起發(fā)送給客戶端,客戶端接收到命令后,將該文件內(nèi)容,寫入本 地。 當(dāng)服務(wù)器端選擇的命令為刪除命令時(shí),客戶端收到該命令后,刪除該文件。
S310、判斷是否還有未執(zhí)行的命令,若有,則轉(zhuǎn)步驟S306,否則,執(zhí)行步驟S311。
S311 、同步完成,客戶端與服務(wù)器端互發(fā)確認(rèn)數(shù)據(jù)包。 以上以客戶端與服務(wù)器端遵循SyncML協(xié)議進(jìn)行文件傳輸為例,對該同步方法進(jìn) 行說明,當(dāng)然,客戶端與服務(wù)器端雙方也可以以其他雙方支持的傳輸協(xié)議執(zhí)行文件同步操 作,其方法與此類似,在此不再贅述。其中,客戶端可以是指移動(dòng)終端等移動(dòng)設(shè)備,服務(wù)器端 可以是PC機(jī),也可以是運(yùn)營商提供的支持同步業(yè)務(wù)的服務(wù)器等。端, 其中,客戶端用于進(jìn)行與服務(wù)器端的文件同步,包括構(gòu)建模塊、發(fā)送模塊、接收模 塊、本地操作模塊 構(gòu)建模塊401,用于將客戶端選擇的需要同步的文件構(gòu)建成數(shù)據(jù)項(xiàng),傳遞給發(fā)送模 塊,其中數(shù)據(jù)項(xiàng)中包括需同步的文件的文件信息和對該文件執(zhí)行操作所需的命令;
發(fā)送模塊402,用于將數(shù)據(jù)項(xiàng)發(fā)送給服務(wù)器端; 接收模塊403,用于接收服務(wù)器端發(fā)來的對需同步文件執(zhí)行的命令,并傳遞給本地 操作模塊; 本地操作模塊404,用于執(zhí)行接收模塊傳遞過來的命令。
其中命令包括讀命令、寫命令和刪除命令。 當(dāng)服務(wù)器端發(fā)送給接收模塊403的命令是讀命令時(shí),本地操作模塊404接收到該 命令后,讀取需同步的文件的文件內(nèi)容,發(fā)送給服務(wù)器端; 當(dāng)服務(wù)器端發(fā)送給接收模塊403命令是寫命令時(shí),服務(wù)器端將寫命令與服務(wù)器端 對應(yīng)的需同步的文件的文件內(nèi)容一起發(fā)送接收模塊,本地操作模塊404接收到該命令后, 提取其中的文件內(nèi)容,寫入本地。 當(dāng)服務(wù)器端發(fā)送給接收模塊403的命令為刪除命令時(shí),本地操作模塊404接收到 該命令后,刪除需同步文件。 服務(wù)器端,用于接收到客戶端發(fā)來的數(shù)據(jù)項(xiàng)后,根據(jù)預(yù)定的同步規(guī)則,選擇對需要 同步的文件執(zhí)行的命令,將命令發(fā)送給客戶端執(zhí)行。 若根據(jù)同步規(guī)則,同步結(jié)果是需要服務(wù)器端修改文件以保持跟客戶端文件內(nèi)容的 一致,則服務(wù)器端針對該文件選取的命令為讀命令;若根據(jù)同步規(guī)則,同步結(jié)果是客戶端需 要修改文件以保持跟服務(wù)器端內(nèi)容的一致,則針對該文件服務(wù)器端選取的命令為寫命令; 若根據(jù)同步規(guī)則,同步結(jié)果是需要客戶端刪除該文件,則針對該文件服務(wù)器端選取的命令 為刪除命令;若根據(jù)同步規(guī)則同步結(jié)果為服務(wù)器端需要?jiǎng)h除某一文件,則服務(wù)器端直接刪 除該文件,不需要發(fā)送命令給客戶端執(zhí)行。 應(yīng)當(dāng)理解的是,對本發(fā)明技術(shù)所在領(lǐng)域的普通技術(shù)人員來說,可以根據(jù)本發(fā)明的 技術(shù)方案及其構(gòu)思進(jìn)行相應(yīng)的等同改變或替換,而所有這些改變或替換,都應(yīng)屬于本發(fā)明 所附權(quán)利要求的保護(hù)范圍。
權(quán)利要求
一種文件同步方法,其特征在于客戶端選擇需要同步的文件,并將所述文件構(gòu)建成數(shù)據(jù)項(xiàng),發(fā)送給服務(wù)器端,所述數(shù)據(jù)項(xiàng)中包括所述文件的文件信息和對所述文件執(zhí)行操作所需的命令;所述服務(wù)器端接收到所述數(shù)據(jù)項(xiàng)后,根據(jù)預(yù)定的同步規(guī)則,選擇對所述需要同步的文件執(zhí)行的命令,將命令發(fā)送給客戶端執(zhí)行。
2. 如權(quán)利要求1所述的方法,其特征在于,所述客戶端選擇需要同步的文件,并將該文件構(gòu)建成數(shù)據(jù)項(xiàng)的過程,具體包括客戶端提取該文件的文件信息并填加對該文件執(zhí)行操作所需的命令,構(gòu)建成數(shù)據(jù)項(xiàng);其中,所述文件信息至少包括文件名稱、文件大小和文件修改時(shí)間。
3. 如權(quán)利要求2所述的方法,其特征在于,所述服務(wù)器端接收到數(shù)據(jù)項(xiàng)后,根據(jù)預(yù)定的同步規(guī)則,選擇對所述需要同步的文件執(zhí)行的命令,具體包括所述服務(wù)器端提取所述數(shù)據(jù)項(xiàng)中的文件信息,獲得所述文件信息中的文件名稱、文件大小和文件修改時(shí)間,根據(jù)預(yù)定的同步規(guī)則,通過同步引擎選擇對所述需要同步的文件執(zhí)行的命令。
4. 如權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,所述同步規(guī)則為需要同步的文件以服務(wù)器端為準(zhǔn),或者需要同步的文件以客戶端為準(zhǔn),或者用戶自定義。
5. 如權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,所述命令包括讀命令、寫命令和刪除命令。
6. 如權(quán)利要求5所述的文件同步方法,其特征在于,當(dāng)服務(wù)器端選擇的命令為讀命令時(shí),客戶端收到該命令后,讀取所述需同步的文件的文件內(nèi)容,發(fā)送給服務(wù)器端,服務(wù)器端收到后將所述文件內(nèi)容寫入本地。
7. 如權(quán)利要求5所述的文件同步方法,其特征在于,當(dāng)服務(wù)器端選擇的命令為寫命令時(shí),服務(wù)器端將所述寫命令與服務(wù)器端對應(yīng)的需同步的文件的文件內(nèi)容一起發(fā)送給客戶端,客戶端接收到命令后,提取其中的文件內(nèi)容,寫入本地。
8. 如權(quán)利要求5所述的文件同步方法,其特征在于,當(dāng)服務(wù)器端選擇的命令為刪除命令時(shí),客戶端收到該命令后,刪除所述需同步文件。
9. 一種客戶端,用于與服務(wù)器端進(jìn)行文件同步操作,其特征在于,所述客戶端包括構(gòu)建模塊、發(fā)送模塊、接收模塊、本地操作模塊;其中,構(gòu)建模塊,用于將所述客戶端選擇的需要同步的文件構(gòu)建成數(shù)據(jù)項(xiàng),傳遞給所述發(fā)送模塊,其中所述數(shù)據(jù)項(xiàng)中包括所述需同步的文件的文件信息和對所述文件執(zhí)行操作所需的命令;發(fā)送模塊,用于將所述數(shù)據(jù)項(xiàng)發(fā)送給服務(wù)器端;接收模塊,用于接收服務(wù)器端發(fā)來的對所述需同步文件執(zhí)行的命令,并傳遞給本地操作模塊;本地操作模塊,用于執(zhí)行所述命令。
10. —種文件同步系統(tǒng),包括服務(wù)器端,其特征在于還包括權(quán)利要求9所述的客戶端,所述服務(wù)器端,用于接收到客戶端發(fā)來的數(shù)據(jù)項(xiàng)后,根據(jù)預(yù)定的同步規(guī)則,選擇對需要 同步的文件執(zhí)行的命令,將命令發(fā)送給客戶端執(zhí)行。
全文摘要
本發(fā)明提供了一種文件同步方法,包括客戶端選擇需要同步的文件,并將所述文件構(gòu)建成數(shù)據(jù)項(xiàng),發(fā)送給服務(wù)器端,所述數(shù)據(jù)項(xiàng)中包括所述文件的文件信息和對所述文件執(zhí)行操作所需的命令;所述服務(wù)器端接收到所述數(shù)據(jù)項(xiàng)后,根據(jù)預(yù)定的同步規(guī)則,選擇對所述需要同步的文件執(zhí)行的命令,將命令發(fā)送給客戶端執(zhí)行。本發(fā)明還提供了一種文件同步系統(tǒng)。本發(fā)明客戶端通過在同步時(shí)只發(fā)送需同步的文件的文件信息給服務(wù)器端,收到服務(wù)器端選擇的對需同步的文件命令時(shí),再執(zhí)行命令進(jìn)行相應(yīng)操作,從而提高了文件同步過程的傳輸效率。
文檔編號H04L29/08GK101702732SQ20091019039
公開日2010年5月5日 申請日期2009年9月23日 優(yōu)先權(quán)日2009年9月23日
發(fā)明者文非易 申請人:中興通訊股份有限公司