一種文件同步方法、服務(wù)器及終端的制作方法
【專(zhuān)利摘要】本申請(qǐng)?zhí)峁┝艘环N文件同步方法、服務(wù)器及終端,其中方法包括:接收終端發(fā)送的文件同步請(qǐng)求;響應(yīng)所述文件同步請(qǐng)求,從服務(wù)器保存的所述文件的各版本數(shù)據(jù)中查找第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄;發(fā)送所述第一記錄數(shù)據(jù)至所述終端,以使所述終端根據(jù)所述第一記錄數(shù)據(jù)及所述終端上的第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。本申請(qǐng)可以縮短文件同步的時(shí)間,減少網(wǎng)絡(luò)資源消耗、提高同步的效率。
【專(zhuān)利說(shuō)明】一種文件同步方法、服務(wù)器及終端
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及數(shù)據(jù)同步【技術(shù)領(lǐng)域】,尤其涉及一種文件同步方法、服務(wù)器及終端。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和信息化程度的提高,為了提高數(shù)據(jù)管理的便捷性和安全性,終端用戶可憑借數(shù)據(jù)同步技術(shù),將一臺(tái)終端上的文件數(shù)據(jù)同步備份到其他終端,實(shí)現(xiàn)在不同終端上管理同一份文件數(shù)據(jù)。目前,文件數(shù)據(jù)同步通常采用兩種方式,其中,方式一是:終端向服務(wù)器端查詢文件數(shù)據(jù)的目錄結(jié)構(gòu),對(duì)比終端與服務(wù)器端各自保存的文件數(shù)據(jù)的目錄結(jié)構(gòu),根據(jù)雙方目錄結(jié)構(gòu)的差異更新終端上的文件數(shù)據(jù);方式二是:終端下載服務(wù)器端所保存的文件數(shù)據(jù)的目錄結(jié)構(gòu),終端對(duì)比其與服務(wù)器端各自保存的文件數(shù)據(jù)的目錄結(jié)構(gòu),根據(jù)雙方目錄結(jié)構(gòu)的差異更新終端上的文件數(shù)據(jù)。
[0003]在方式一中,終端每次同步文件數(shù)據(jù),都需要與服務(wù)器端進(jìn)行多次交互,遍歷服務(wù)器端所保存的文件數(shù)據(jù)的每一層目錄、子目錄及子文件,然后與終端保存的文件數(shù)據(jù)的目錄結(jié)構(gòu)進(jìn)行比較,因此同步時(shí)耗時(shí)較長(zhǎng)。在方式二中,終端在同步前,要將服務(wù)器端保存的文件數(shù)據(jù)的目錄結(jié)構(gòu)下載到本地,當(dāng)文件數(shù)據(jù)的目錄結(jié)構(gòu)較大時(shí),下載目錄結(jié)構(gòu)不僅會(huì)增加帶寬壓力,也會(huì)消耗較長(zhǎng)時(shí)間,影響同步的效率。
【發(fā)明內(nèi)容】
[0004]本申請(qǐng)?zhí)峁┝艘环N文件同步方法、服務(wù)器及終端,可提高文件數(shù)據(jù)的同步效率,同時(shí)減少同步文件數(shù)據(jù)時(shí)的網(wǎng)絡(luò)資源消耗和帶寬壓力。
[0005]本申請(qǐng)第一方面提供一種文件同步方法,包括:
[0006]接收終端發(fā)送的文件同步請(qǐng)求;
[0007]響應(yīng)所述文件同步請(qǐng)求,從服務(wù)器保存的所述文件的各版本數(shù)據(jù)中查找第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄;
[0008]發(fā)送所述第一記錄數(shù)據(jù)至所述終端,以使所述終端根據(jù)所述第一記錄數(shù)據(jù)及所述終端上的第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
[0009]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及本次同步的最高版本號(hào);
[0010]所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的全部操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),且低于或等于本次同步的最高版本號(hào)。
[0011]結(jié)合第一方面,在第二種可行的實(shí)施方式中,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及數(shù)量閾值;
[0012]所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),所述預(yù)定數(shù)量的值等于所述數(shù)量閾值。
[0013]結(jié)合第一方面以及第一方面的第一和第二種可行的實(shí)施方式,在第三種可行的實(shí)施方式中,所述發(fā)送所述第一記錄數(shù)據(jù)至所述終端之后,所述方法還包括:
[0014]接收所述終端發(fā)送的所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí);
[0015]根據(jù)所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí),更新所述用戶對(duì)所述終端的同步記錄;
[0016]查詢所述用戶的其他終端最近一次同步所述文件的版本號(hào);
[0017]若所述終端本次同步所述文件的版本號(hào)低于所述用戶的其他終端最近一次同步所述文件的版本號(hào),則從所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中,刪除在接收所述文件同步請(qǐng)求的之前產(chǎn)生的操作記錄。
[0018]本申請(qǐng)第二方面提供一種文件同步方法,包括:
[0019]發(fā)送文件同步請(qǐng)求至服務(wù)器;
[0020]查找第二記錄數(shù)據(jù),所述第二記錄數(shù)據(jù)包括終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄;
[0021]接收所述服務(wù)器響應(yīng)所述文件同步請(qǐng)求而發(fā)送的第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄;
[0022]根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
[0023]結(jié)合第二方面,在第一種可行的實(shí)施方式中,所述查找第二記錄數(shù)據(jù),包括:
[0024]查找所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的每一條操作記錄;
[0025]按照操作路徑拆分或合并所述每一條操作記錄,得到所述第二記錄數(shù)據(jù)。
[0026]結(jié)合第二方面,在第二種可行的實(shí)施方式中,所述第一記錄數(shù)據(jù)包括至少一條操作記錄;
[0027]所述根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作,包括:
[0028]按照操作路徑拆分或合并所述至少一條操作記錄,以簡(jiǎn)化所述第一記錄數(shù)據(jù);
[0029]根據(jù)簡(jiǎn)化后的第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù),得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
[0030]結(jié)合第二方面以及第二方面的第一和第二種可行的實(shí)施方式,在第三種可行的實(shí)施方式中,所述根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作之后,所述方法還包括:
[0031]將所述第一記錄數(shù)據(jù)中所述文件的最高版本號(hào)記錄為所述終端本次同步所述文件的版本號(hào);
[0032]發(fā)送所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí)至所述服務(wù)器,以使所述服務(wù)器更新所述用戶對(duì)所述終端的同步記錄。
[0033]本申請(qǐng)第三方面提供一種服務(wù)器,包括:
[0034]第一接收模塊,用于接收終端發(fā)送的文件同步請(qǐng)求;
[0035]查找模塊,用于響應(yīng)所述文件同步請(qǐng)求,從服務(wù)器保存的所述文件的各版本數(shù)據(jù)中查找第一記錄數(shù)據(jù),,所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄;
[0036]發(fā)送模塊,用于發(fā)送所述第一記錄數(shù)據(jù)至所述終端,以使所述終端根據(jù)所述第一記錄數(shù)據(jù)及所述終端上的第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
[0037]結(jié)合第三方面,在第一種可行的實(shí)施方式中,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及本次同步的最高版本號(hào);
[0038]所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的全部操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),且低于或等于本次同步的最高版本號(hào)。
[0039]結(jié)合第三方面,在第二種可行的實(shí)施方式中,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及數(shù)量閾值;
[0040]所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),所述預(yù)定數(shù)量的值等于所述數(shù)量閾值。
[0041]結(jié)合第三方面以及第三方面的第一和第二種可行的實(shí)施方式,在第三種可行的實(shí)施方式中,所述服務(wù)器還包括:
[0042]第二接收模塊,用于接收所述終端發(fā)送的所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí);
[0043]更新模塊,用于根據(jù)所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí),更新所述用戶對(duì)所述終端的同步記錄;
[0044]查詢模塊,用于查詢所述用戶的其他終端最近一次同步所述文件的版本號(hào);
[0045]刪除模塊,用于在所述終端本次同步所述文件的版本號(hào)低于所述用戶的其他終端最近一次同步所述文件的版本號(hào)時(shí),從所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中刪除在接收所述文件同步請(qǐng)求的之前產(chǎn)生的操作記錄。
[0046]本申請(qǐng)第四方面提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有程序,執(zhí)行所述程序時(shí)包括本申請(qǐng)第一方面提供的文件同步方法的全部或部分步驟。
[0047]本申請(qǐng)第五方面提供一種服務(wù)器,包括:輸入裝置、輸出裝置和處理器,所述輸入裝置、所述輸出裝置和所述處理器通過(guò)總線相連接,其中:
[0048]所述輸入裝置,用于接收終端發(fā)送的文件同步請(qǐng)求;
[0049]所述處理器,響應(yīng)所述文件同步請(qǐng)求,從服務(wù)器保存的所述文件的各版本數(shù)據(jù)中查找第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄;
[0050]所述輸出裝置,用于發(fā)送所述第一記錄數(shù)據(jù)至所述終端,以使所述終端根據(jù)所述第一記錄數(shù)據(jù)及所述終端上的第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
[0051]結(jié)合第五方面,在第一種可行的實(shí)施方式中,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及本次同步的最高版本號(hào);
[0052]所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的全部操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),且低于或等于本次同步的最高版本號(hào)。
[0053]結(jié)合第五方面,在第二種可行的實(shí)施方式中,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及數(shù)量閾值;
[0054]所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),所述預(yù)定數(shù)量的值等于所述數(shù)量閾值。
[0055]結(jié)合第五方面以及第五方面的第一和第二種可行的實(shí)施方式,在第三種可行的實(shí)施方式中,所述輸入裝置,還用于接收所述終端發(fā)送的所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí);
[0056]所述處理器還用于:
[0057]根據(jù)所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí),更新所述用戶對(duì)所述終端的同步記錄;
[0058]查詢所述用戶的其他終端最近一次同步所述文件的版本號(hào);
[0059]若所述終端本次同步所述文件的版本號(hào)低于所述用戶的其他終端最近一次同步所述文件的版本號(hào),則從所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中,刪除在接收所述文件同步請(qǐng)求之前產(chǎn)生的操作記錄。
[0060]本申請(qǐng)第六方面提供一種終端,包括:
[0061]第一發(fā)送模塊,用于發(fā)送文件同步請(qǐng)求至服務(wù)器;
[0062]查找模塊,用于查找第二記錄數(shù)據(jù),所述第二記錄數(shù)據(jù)包括終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄;
[0063]接收模塊,用于接收所述服務(wù)器響應(yīng)所述文件同步請(qǐng)求而發(fā)送的第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄;
[0064]執(zhí)行模塊,用于根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
[0065]結(jié)合第六方面,在第一種可行的實(shí)施方式中,所述查找模塊,包括:
[0066]查找單元,用于查找所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的每一條操作記錄;
[0067]第一簡(jiǎn)化單元,用于按照操作路徑拆分或合并所述每一條操作記錄,得到所述第二記錄數(shù)據(jù)。
[0068]結(jié)合第六方面,在第二種可行的實(shí)施方式中,所述第一記錄數(shù)據(jù)包括至少一條操作記錄;
[0069]所述執(zhí)行模塊,包括:
[0070]第二簡(jiǎn)化單元,用于按照操作路徑拆分或合并所述至少一條操作記錄,以簡(jiǎn)化所述第一記錄數(shù)據(jù);
[0071]執(zhí)行單元,用于根據(jù)簡(jiǎn)化后的第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù),得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
[0072]結(jié)合第六方面以及第六方面的第一和第二種可行的實(shí)施方式,在第三種可行的實(shí)施方式中,所述終端還包括:
[0073]記錄模塊,用于將所述第一記錄數(shù)據(jù)中所述文件的最高版本號(hào)記錄為所述終端本次同步所述文件的版本號(hào);
[0074]第二發(fā)送模塊,用于發(fā)送所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí)至所述服務(wù)器,以使所述服務(wù)器更新所述用戶對(duì)所述終端的同步記錄。
[0075]本申請(qǐng)第七方面提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有程序,執(zhí)行所述程序時(shí)包括本申請(qǐng)第二方面提供的文件同步方法的全部或部分步驟。
[0076]本申請(qǐng)第八方面提供一種終端,包括:輸入裝置、輸出裝置和處理器,所述輸入裝置、所述輸出裝置和所述處理器通過(guò)總線相連接,其中:
[0077]所述輸出裝置,用于發(fā)送文件同步請(qǐng)求至服務(wù)器;
[0078]所述輸入裝置,用于接收所述服務(wù)器響應(yīng)所述文件同步請(qǐng)求而發(fā)送的第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄;
[0079]所述處理器用于:
[0080]查找第二記錄數(shù)據(jù),所述第二記錄數(shù)據(jù)包括所述終端在所述最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄;
[0081]根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
[0082]結(jié)合第八方面,在第一種可行的實(shí)施方式中,所述處理器查找第二記錄數(shù)據(jù)時(shí),具體步驟為:
[0083]查找所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的每一條操作記錄;
[0084]按照操作路徑拆分或合并所述每一條操作記錄,得到所述第二記錄數(shù)據(jù)。
[0085]結(jié)合第八方面,在第二種可行的實(shí)施方式中,所述第一記錄數(shù)據(jù)包括至少一條操作記錄;
[0086]所述處理器根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作時(shí),具體步驟為:
[0087]按照操作路徑拆分或合并所述至少一條操作記錄,以簡(jiǎn)化所述第一記錄數(shù)據(jù);
[0088]根據(jù)簡(jiǎn)化后的第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù),得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
[0089]結(jié)合第八方面以及第八方面的第一和第二種可行的實(shí)施方式,在第三種可行的實(shí)施方式中,
[0090]所述處理器,還用于將所述第一記錄數(shù)據(jù)中所述文件的最高版本號(hào)記錄為所述終端本次同步所述文件的版本號(hào);
[0091]所述輸出裝置,還用于發(fā)送所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí)至所述服務(wù)器,以使所述服務(wù)器更新所述用戶對(duì)所述終端的同步記錄。
[0092]本申請(qǐng)中,服務(wù)器接收到終端發(fā)送的文件同步請(qǐng)求之后,從保存的該文件的各版本數(shù)據(jù)中查找在終端上次同步該文件之后,該文件產(chǎn)生的操作記錄,并發(fā)送給該終端,無(wú)需與終端進(jìn)行多次交互,且該文件的這些操作記錄與該文件的整個(gè)目錄結(jié)構(gòu)相比,數(shù)據(jù)量較小,傳輸時(shí)不僅節(jié)約時(shí)間,還可減少用戶的網(wǎng)絡(luò)資源消耗。終端可結(jié)合服務(wù)器發(fā)送的操作記錄以及該終端本身在上次同步該文件之后對(duì)該文件執(zhí)行的操作記錄,確定應(yīng)執(zhí)行的操作,無(wú)需逐層遍歷服務(wù)器上的文件目錄并與終端的文件目錄進(jìn)行對(duì)比,從而可有效減少同步時(shí)間,提尚同步效率。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0093]為了更清楚地說(shuō)明本申請(qǐng)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0094]圖1是本申請(qǐng)?zhí)峁┑奈募椒椒ǖ囊粚?shí)施例的流程示意圖;
[0095]圖2是本申請(qǐng)?zhí)峁┑奈募椒椒ǖ牧硪粚?shí)施例的流程示意圖;
[0096]圖3是本申請(qǐng)?zhí)峁┑奈募椒椒ǖ挠忠粚?shí)施例的流程示意圖;
[0097]圖4是本申請(qǐng)?zhí)峁┑姆?wù)器的一實(shí)施例的結(jié)構(gòu)示意圖;
[0098]圖5是本申請(qǐng)?zhí)峁┑姆?wù)器的另一實(shí)施例的結(jié)構(gòu)示意圖;
[0099]圖6是本申請(qǐng)?zhí)峁┑姆?wù)器的又一實(shí)施例的結(jié)構(gòu)示意圖;
[0100]圖7是本申請(qǐng)?zhí)峁┑慕K端的一實(shí)施例的結(jié)構(gòu)示意圖;
[0101]圖8是本申請(qǐng)?zhí)峁┑慕K端的另一實(shí)施例的結(jié)構(gòu)示意圖;
[0102]圖9是本申請(qǐng)?zhí)峁┑慕K端的又一實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0103]下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0104]本申請(qǐng)?zhí)峁┝艘环N文件同步方法、服務(wù)器及終端,可以縮短同步時(shí)間、提高同步效率以及減少網(wǎng)絡(luò)資源消耗。以下結(jié)合附圖分別進(jìn)行詳細(xì)說(shuō)明。
[0105]請(qǐng)參閱圖1,圖1為本申請(qǐng)?zhí)峁┑奈募椒椒ǖ囊粚?shí)施例的流程示意圖。其中,圖1所示的文件同步方法具體可由服務(wù)器實(shí)現(xiàn),如圖1所示,該文件同步方法可以包括以下步驟:
[0106]步驟S101,接收終端發(fā)送的文件同步請(qǐng)求。
[0107]本申請(qǐng)中,服務(wù)器接收終端發(fā)送的文件同步請(qǐng)求,該文件同步請(qǐng)求可指示該終端本次要同步的文件、該終端最近一次同步該文件的時(shí)間、該終端最近一次同步該文件的版本號(hào)、和/或該終端本次同步該文件需要服務(wù)器提供的數(shù)據(jù)(包括目錄結(jié)構(gòu)和/或操作記錄等)O
[0108]步驟S102,響應(yīng)所述文件同步請(qǐng)求,從服務(wù)器保存的所述文件的各版本數(shù)據(jù)中查找第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄。
[0109]具體實(shí)現(xiàn)中,第一記錄數(shù)據(jù)為其他終端或數(shù)據(jù)管理應(yīng)用發(fā)送給服務(wù)器的該文件的各版本數(shù)據(jù)中,在該終端最近一次同步完該文件之后,預(yù)定版本的該文件由于各種修改操作,如插入、添加、刪除等而產(chǎn)生的操作記錄。具體地,上述的預(yù)定版本由終端發(fā)送的文件同步請(qǐng)求來(lái)確定。
[0110]作為一種可能的實(shí)施方式,文件同步請(qǐng)求可包括終端最近一次同步該文件的版本號(hào)以及本次同步的最高版本號(hào)。此時(shí),第一記錄數(shù)據(jù)包括預(yù)定版本的該文件在該終端最近一次同步該文件之后產(chǎn)生的全部操作記錄,其中該預(yù)定版本為版本號(hào)介于終端最近一次同步該文件的版本號(hào)和本次同步的最高版本號(hào)之間(包括本次同步的最高版本號(hào))的所有版本,具體地,本次同步的最高版本號(hào)可以是當(dāng)前該文件的最高版本號(hào),也可以是任何一個(gè)比最近一次同步的版本號(hào)更高的版本號(hào),具體可視終端當(dāng)前的網(wǎng)絡(luò)狀況而定,例如當(dāng)終端的網(wǎng)絡(luò)資源充裕時(shí)(如處于寬帶網(wǎng)絡(luò)連接或無(wú)線網(wǎng)絡(luò)連接狀態(tài)時(shí)),本次同步的最高版本號(hào)可以是當(dāng)前該文件的最高版本號(hào);當(dāng)終端的網(wǎng)絡(luò)資源匱乏時(shí)(如處于移動(dòng)網(wǎng)絡(luò)狀態(tài)時(shí)),本次同步的最高版本號(hào)可以高于終端最近一次同步該文件的版本號(hào),而且低于當(dāng)前該文件的最高版本號(hào)。舉例來(lái)說(shuō),終端最近一次同步該文件的版本號(hào)為V1.0,時(shí)間是2014-2-25,9:00:00,當(dāng)前為止該文件的最高版本號(hào)為V9.0,然而終端處于移動(dòng)網(wǎng)絡(luò)狀態(tài)且流量剩余不多,則本次同步的最高版本號(hào)可以是V4.0,上述的預(yù)定版本為V2.0至V4.0,第一記錄數(shù)據(jù)包括V2.0至V4.0版本的該文件在2014-2-25,9:00:00之后產(chǎn)生的操作記錄。
[0111]作為一種可能的實(shí)施方式,文件同步請(qǐng)求可包括該終端最近一次同步該文件的版本號(hào)以及數(shù)量閾值。此時(shí),第一記錄數(shù)據(jù)可包括預(yù)定版本的該文件在該終端最近一次同步完該文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中該預(yù)定版本的版本號(hào)高于終端最近一次同步該文件的版本號(hào),該預(yù)定數(shù)量的值等于該數(shù)量閾值。具體實(shí)現(xiàn)中,可先從服務(wù)器保存的該文件的各版本數(shù)據(jù)中查找出版本號(hào)高于終端最近一次同步該文件的版本號(hào)的文件數(shù)據(jù),然后以該終端最近一次同步完該文件的時(shí)間點(diǎn)為起始點(diǎn),按照操作時(shí)間從先到后的順序從查找出的文件數(shù)據(jù)中篩選出預(yù)定數(shù)量(該預(yù)定數(shù)量的值等于文件同步請(qǐng)求中的數(shù)量閾值)的操作記錄,作為第一記錄數(shù)據(jù)。
[0112]步驟S103,發(fā)送所述第一記錄數(shù)據(jù)至所述終端,以使所述終端根據(jù)所述第一記錄數(shù)據(jù)及所述終端上的第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
[0113]具體實(shí)現(xiàn)中,在步驟S102中查找到的第一記錄數(shù)據(jù)是由至少一條操作記錄組成的。
[0114]作為一種可能的實(shí)施方式,若終端所處的環(huán)境網(wǎng)絡(luò)資源充裕,服務(wù)器可直接將查找到的至少一條操作記錄發(fā)送給終端,以減緩服務(wù)器的計(jì)算壓力。
[0115]作為另一種可能的實(shí)施方式,若終端處于移動(dòng)網(wǎng)絡(luò)環(huán)境或網(wǎng)絡(luò)通道擁塞,此時(shí)將第一記錄數(shù)據(jù)發(fā)送給終端之前,可先將該至少一條操作記錄按照操作路徑進(jìn)行拆分或合并。例如,“MOVE A, fIto f2”可以拆分成“DELETE Α, Π”和“ADD A, f2”;“ADD B,fl,,、“ADDC, fl” “DELETE B, Π” 可以合并成 “ADDC,fl,,。
[0116]拆分該至少一條操作記錄,可以將該至少一條操作記錄轉(zhuǎn)換成ADD或DELETE這兩種只涉及一個(gè)路徑的基礎(chǔ)操作記錄;按照操作路徑合并這些拆分后得到的基礎(chǔ)操作記錄,可去掉冗余數(shù)據(jù),直觀呈現(xiàn)第一記錄數(shù)據(jù)導(dǎo)致的該文件的最終變更,從而可以減少網(wǎng)絡(luò)資源的消耗和數(shù)據(jù)傳輸時(shí)間。
[0117]在一些可行的實(shí)施方式中,發(fā)送第一記錄數(shù)據(jù)給終端后,該文件同步方法還可包括:
[0118]接收終端發(fā)送的該終端的標(biāo)識(shí)信息、該終端本次同步該文件的版本號(hào)、以及該終端的用戶標(biāo)識(shí);
[0119]根據(jù)該終端的標(biāo)識(shí)信息、該終端本次同步該文件的版本號(hào)、以及該終端的用戶標(biāo)識(shí),更新用戶對(duì)該終端的同步記錄;
[0120]查詢?cè)撚脩舻钠渌K端最近一次同步該文件的版本號(hào);
[0121]若該終端本次同步該文件的版本號(hào)低于該用戶的其他終端最近一次同步該文件的版本號(hào),則從該服務(wù)器保存的該文件的各版本數(shù)據(jù)中,刪除在接收該文件同步請(qǐng)求之前產(chǎn)生的操作記錄。
[0122]具體實(shí)現(xiàn)中,用戶對(duì)該終端的同步記錄可包括該終端的標(biāo)識(shí)信息、該終端的用戶標(biāo)識(shí)、同步該文件的時(shí)間和版本號(hào)等。
[0123]具體實(shí)現(xiàn)中,在同步結(jié)束后,若該終端上保存的是該文件的最低版本,則可刪除服務(wù)器保存的該文件在本次同步開(kāi)始的時(shí)間點(diǎn)之前產(chǎn)生的操作記錄,以減少服務(wù)器的冗余存儲(chǔ),減緩服務(wù)器的存儲(chǔ)壓力。
[0124]在圖1所描述的文件同步方法中,服務(wù)器接收到終端發(fā)送的文件同步請(qǐng)求之后,從保存的該文件的各版本數(shù)據(jù)中查找在終端上次同步該文件之后,該文件產(chǎn)生的操作記錄,并發(fā)送給該終端,無(wú)需與終端進(jìn)行多次交互,且該文件的這些操作記錄與該文件的整個(gè)目錄結(jié)構(gòu)相比,數(shù)據(jù)量較小,傳輸時(shí)不僅節(jié)約時(shí)間,還可減少用戶的網(wǎng)絡(luò)資源消耗。終端可結(jié)合服務(wù)器發(fā)送的操作記錄以及該終端本身在上次同步該文件之后對(duì)該文件執(zhí)行的操作記錄,確定應(yīng)執(zhí)行的操作,無(wú)需逐層遍歷服務(wù)器上的文件目錄并與終端的文件目錄進(jìn)行對(duì)比,從而可有效減少同步時(shí)間,提尚同步效率。
[0125]請(qǐng)參閱圖2,圖2為本申請(qǐng)?zhí)峁┑奈募椒椒ǖ牧硪粚?shí)施例的流程示意圖。其中,圖2所示的文件同步方法具體可由終端實(shí)現(xiàn)。如圖2所示,該文件同步方法可以包括以下步驟:
[0126]S201,發(fā)送文件同步請(qǐng)求至服務(wù)器。
[0127]本申請(qǐng)中,終端向服務(wù)器發(fā)送文件同步請(qǐng)求,該文件同步請(qǐng)求可指示終端本次要同步的文件、終端最近一次同步該文件的時(shí)間、終端最近一次同步該文件的版本號(hào)、和/或本次同步該文件需要服務(wù)器提供的數(shù)據(jù)(包括目錄結(jié)構(gòu)和/或操作記錄等)。
[0128]S202,查找第二記錄數(shù)據(jù),所述第二記錄數(shù)據(jù)包括終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
[0129]本申請(qǐng)中,終端可包括兩種:一種是可直接獲取到對(duì)該文件的操作記錄的終端,此類(lèi)終端一般含有輸入裝置和處理器,可獨(dú)立對(duì)文件進(jìn)行操作,例如計(jì)算機(jī)、平板電腦等;另一種是無(wú)法直接獲取到文件的操作記錄的終端,例如同步U盤(pán)。
[0130]基于終端類(lèi)型的不同,終端查找第二記錄數(shù)據(jù)也有相應(yīng)不同的實(shí)施方式。
[0131]作為一種可行的實(shí)施方式,當(dāng)終端可以直接獲取到對(duì)該文件的操作記錄時(shí),查找第二記錄數(shù)據(jù)的步驟可包括:首先,查找該終端在最近一次同步完該文件之后對(duì)該文件執(zhí)行的每一條操作記錄;然后,按照操作路徑拆分或合并這些操作記錄,得到第二記錄數(shù)據(jù)。
[0132]具體地,拆分是指將一條涉及到多個(gè)路徑的操作記錄拆分成多條只涉及一個(gè)路徑的基礎(chǔ)操作記錄,如“MOVE A, f Ito f2”可以拆分成“DELETE Α,Π”和“ADD A, f2”。合并是指將多條操作路徑相同的操作記錄合并成數(shù)量較少的操作記錄,例如“ADD B, fl”、“ADDC,Π”和“DELETE B,f I”可以合并成“ADD C,f I”。拆分合并操作,可將同步時(shí)需要的數(shù)據(jù)簡(jiǎn)化,去掉冗余的數(shù)據(jù),從而縮短同步的時(shí)間,提高同步效率。
[0133]作為另一種可行的實(shí)施方式,當(dāng)終端無(wú)法直接獲取到文件的操作記錄時(shí),查找第二記錄數(shù)據(jù)的步驟可包括:首先,讀取終端在最近一次同步完該文件后得到并保存的該文件的目錄信息;然后,將最近一次同步完該文件后得到的該文件的目錄信息與該終端當(dāng)前本地存儲(chǔ)的該文件的目錄信息進(jìn)行對(duì)比,可得到該終端在最近一次同步完該文件之后對(duì)該文件執(zhí)行的操作記錄,包括添加的數(shù)據(jù)和/或刪除的數(shù)據(jù)等,這些操作記錄即為第二記錄數(shù)據(jù)。
[0134]S203,接收所述服務(wù)器響應(yīng)所述文件同步請(qǐng)求而發(fā)送的第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄。
[0135]具體實(shí)施中,基于文件同步請(qǐng)求的內(nèi)容的不同,第一記錄數(shù)據(jù)也相應(yīng)有幾種不同的情況。
[0136]作為一種可能的實(shí)施方式,文件同步請(qǐng)求可包括終端最近一次同步該文件的版本號(hào)以及本次同步的最高版本號(hào)。此時(shí),第一記錄數(shù)據(jù)包括預(yù)定版本的該文件在該終端最近一次同步該文件之后產(chǎn)生的全部操作記錄,其中該預(yù)定版本為版本號(hào)介于終端最近一次同步該文件的版本號(hào)和本次同步的最高版本號(hào)之間(包括本次同步的最高版本號(hào))的所有版本,具體地,本次同步的最高版本號(hào)可以是當(dāng)前該文件的最高版本號(hào),也可以是任何一個(gè)比最近一次同步的版本號(hào)更高的版本號(hào),具體可視終端當(dāng)前的網(wǎng)絡(luò)狀況而定。
[0137]作為一種可能的實(shí)施方式,文件同步請(qǐng)求可包括該終端最近一次同步該文件的版本號(hào)以及數(shù)量閾值。此時(shí),第一記錄數(shù)據(jù)可包括預(yù)定版本的該文件在該終端最近一次同步完該文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中該預(yù)定版本的版本號(hào)高于終端最近一次同步該文件的版本號(hào),該預(yù)定數(shù)量的值等于該數(shù)量閾值。
[0138]S204,根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
[0139]具體實(shí)現(xiàn)中,結(jié)合在該終端最近一次同步完該文件的時(shí)間點(diǎn)之后之后,服務(wù)器保存的預(yù)定版本的該文件產(chǎn)生的操作記錄,以及終端對(duì)該文件執(zhí)行的操作記錄,可計(jì)算得到本次同步終端需要執(zhí)行的操作,如:需要添加的數(shù)據(jù)、需要?jiǎng)h除的數(shù)據(jù)等。
[0140]作為一種可能的實(shí)施方式,服務(wù)器所發(fā)送的第一記錄數(shù)據(jù)為服務(wù)器直接從該文件的各版本數(shù)據(jù)中查找出來(lái)的未經(jīng)過(guò)簡(jiǎn)化處理的多條操作記錄,此時(shí),根據(jù)第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù)得到終端應(yīng)執(zhí)行的操作可包括如下步驟:
[0141]首先,按照操作路徑拆分或合并該多條操作記錄,以簡(jiǎn)化第一記錄數(shù)據(jù)。具體地,拆分是指將一條涉及到多個(gè)路徑的操作記錄拆分成多條只涉及一個(gè)路徑的基礎(chǔ)操作記錄,合并是指將多條操作路徑相同的操作記錄合并成數(shù)量較少的操作記錄,例如“MOVE A, fltof2” 可以拆分成 “DELETE Α, Π”和“ADD A,f2”;“ADD B,fl,,、“ADD C, fl,,、“ DELETE B,fl”可以合并成“ADD C,fl”。拆分合并操作,可將同步時(shí)需要的數(shù)據(jù)簡(jiǎn)化,去掉冗余的數(shù)據(jù),從而縮短同步的時(shí)間,提尚同步效率。
[0142]然后,根據(jù)簡(jiǎn)化后的第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù),得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。此時(shí),第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù)中的操作記錄均為只涉及一個(gè)操作路徑的基礎(chǔ)操作記錄,則根據(jù)第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù)得到終端應(yīng)執(zhí)行的操作,可具體為:以終端上次同步完該文件的時(shí)間點(diǎn)為起始點(diǎn),按照操作時(shí)間由先到后的順序?qū)⒌谝挥涗洈?shù)據(jù)和第二記錄數(shù)據(jù)中操作路徑相同的操作記錄合并,根據(jù)合并后的操作記錄即可得到終端應(yīng)執(zhí)行的操作。例如:操作路徑為磁盤(pán)l(fl)的操作記錄依次有:“ADD A,fl”、“ADDB,fl”、“ADD C,fl”和“DELETE B,Π”,以上4條操作記錄可以合并成“ADD AB,fl”,則終端應(yīng)執(zhí)行的操作為:在磁盤(pán)I中添加“AB”。
[0143]作為一種可行的實(shí)施方式,在得到終端應(yīng)執(zhí)行的操作并執(zhí)行該操作之后,該文件同步方法還可包括:
[0144]將第一記錄數(shù)據(jù)中該文件的最高版本號(hào)記錄為該終端本次同步該文件的版本號(hào);發(fā)送該終端的標(biāo)識(shí)信息、該終端本次同步該文件的版本號(hào)、以及該終端的用戶標(biāo)識(shí)至服務(wù)器,以使服務(wù)器更新該用戶對(duì)該終端的同步記錄。
[0145]具體實(shí)現(xiàn)中,用戶對(duì)該終端的同步記錄可包括該終端的標(biāo)識(shí)信息、該終端的用戶標(biāo)識(shí)、同步該文件的時(shí)間和版本號(hào)等。
[0146]在圖2所描述的文件同步方法中,終端向服務(wù)器發(fā)送文件同步請(qǐng)求,然后查找第二記錄數(shù)據(jù),并接收服務(wù)器發(fā)送的第一記錄數(shù)據(jù),無(wú)需與服務(wù)器進(jìn)行多次交互,也無(wú)需逐層遍歷服務(wù)器上的文件目錄,而且第一記錄數(shù)據(jù)由終端上次同步該文件之后該文件產(chǎn)生的操作記錄組成,與該文件的整個(gè)目錄結(jié)構(gòu)相比,數(shù)據(jù)量較小,傳輸時(shí)不僅節(jié)約時(shí)間,還可減少用戶的網(wǎng)絡(luò)資源消耗。第二記錄數(shù)據(jù)為終端在上次同步完該文件之后對(duì)該文件執(zhí)行過(guò)的操作記錄,終端可將第一記錄數(shù)據(jù)進(jìn)行拆分合并后結(jié)合第二記錄數(shù)據(jù),得到終端應(yīng)執(zhí)行的操作,不僅可減少冗余數(shù)據(jù)以及同步時(shí)的計(jì)算量,緩解終端的計(jì)算壓力,同時(shí)提高同步效率。
[0147]請(qǐng)參閱圖3,圖3為本申請(qǐng)?zhí)峁┑奈募椒椒ǖ挠忠粚?shí)施例的流程示意圖。其中,圖3所示的文件同步方法具體可由服務(wù)器和終端交互實(shí)現(xiàn)。如圖3所示,該文件同步方法可以包括以下步驟:
[0148]S301,終端發(fā)送文件同步請(qǐng)求至服務(wù)器。
[0149]本申請(qǐng)中,終端向服務(wù)器發(fā)送文件同步請(qǐng)求,該文件同步請(qǐng)求可指示終端本次要同步的文件、終端最近一次同步該文件的時(shí)間、終端最近一次同步該文件的版本號(hào)、和/或本次同步該文件需要服務(wù)器提供的數(shù)據(jù)(包括目錄結(jié)構(gòu)和/或操作記錄等)。
[0150]S302,終端查找第二記錄數(shù)據(jù)。
[0151]本申請(qǐng)中,第二記錄數(shù)據(jù)包括終端在上次同步完該文件之后對(duì)該文件執(zhí)行的操作記錄。其中終端可包括兩種:一種是可直接獲取到對(duì)該文件的操作記錄的終端,此類(lèi)終端一般含有輸入裝置和處理器,可獨(dú)立對(duì)文件進(jìn)行操作,例如計(jì)算機(jī)、平板電腦等;另一種是無(wú)法直接獲取到文件的操作記錄的終端,例如同步U盤(pán)。
[0152]基于終端類(lèi)型的不同,終端查找第二記錄數(shù)據(jù)也有相應(yīng)不同的實(shí)施方式。
[0153]作為一種可行的實(shí)施方式,當(dāng)終端可以直接獲取到對(duì)該文件的操作記錄時(shí),查找第二記錄數(shù)據(jù)的步驟可包括:首先,查找該終端在最近一次同步完該文件最近一次之后對(duì)該文件執(zhí)行的每一條操作記錄;然后,按照操作路徑拆分或合并這些操作記錄,得到第二記錄數(shù)據(jù)。
[0154]作為另一種可行的實(shí)施方式,當(dāng)終端無(wú)法直接獲取到文件的操作記錄時(shí),查找第二記錄數(shù)據(jù)的步驟可包括:首先,讀取終端在最近一次同步完該文件后得到并保存的該文件的目錄信息;然后,將最近一次同步完該文件后得到的該文件的目錄信息與該終端當(dāng)前本地存儲(chǔ)的該文件的目錄信息進(jìn)行對(duì)比,可得到終端在最近一次同步完該文件之后對(duì)該文件執(zhí)行的操作記錄,包括添加的數(shù)據(jù)和/或刪除的數(shù)據(jù)等,這些操作記錄即為第二記錄數(shù)據(jù)。
[0155]步驟S303,服務(wù)器查找第一記錄數(shù)據(jù)。
[0156]具體實(shí)現(xiàn)中,第一記錄數(shù)據(jù)為其他終端或數(shù)據(jù)管理應(yīng)用發(fā)送給服務(wù)器的該文件的各版本數(shù)據(jù)中,在該終端最近一次同步完該文件之后,預(yù)定版本的該文件由于各種修改操作,如插入、添加、刪除等而產(chǎn)生的操作記錄。具體地,上述的預(yù)定版本由終端發(fā)送的文件同步請(qǐng)求來(lái)確定。
[0157]作為一種可能的實(shí)施方式,文件同步請(qǐng)求可包括終端最近一次同步該文件的版本號(hào)以及本次同步的最高版本號(hào)。此時(shí),第一記錄數(shù)據(jù)包括預(yù)定版本的該文件在該終端最近一次同步該文件之后產(chǎn)生的全部操作記錄,其中該預(yù)定版本為版本號(hào)介于終端最近一次同步該文件的版本號(hào)和本次同步的最高版本號(hào)之間(包括本次同步的最高版本號(hào))的所有版本,具體地,本次同步的最高版本號(hào)可以是當(dāng)前該文件的最高版本號(hào),也可以是任何一個(gè)比最近一次同步的版本號(hào)更高的版本號(hào),具體可視終端當(dāng)前的網(wǎng)絡(luò)狀況而定。
[0158]作為一種可能的實(shí)施方式,文件同步請(qǐng)求可包括該終端最近一次同步該文件的版本號(hào)以及數(shù)量閾值。此時(shí),第一記錄數(shù)據(jù)可包括預(yù)定版本的該文件在該終端最近一次同步完該文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中該預(yù)定版本的版本號(hào)高于終端最近一次同步該文件的版本號(hào),該預(yù)定數(shù)量的值等于該數(shù)量閾值。具體實(shí)現(xiàn)中,可先從服務(wù)器保存的該文件的各版本數(shù)據(jù)中查找出版本號(hào)高于終端最近一次同步該文件的版本號(hào)的文件數(shù)據(jù),然后以該終端最近一次同步完該文件的時(shí)間點(diǎn)為起始點(diǎn),按照操作時(shí)間從先到后的順序從查找出的文件數(shù)據(jù)中篩選出預(yù)定數(shù)量(該預(yù)定數(shù)量的值等于文件同步請(qǐng)求中的數(shù)量閾值)的操作記錄,作為第一記錄數(shù)據(jù)。
[0159]步驟S304,服務(wù)器將第一記錄數(shù)據(jù)發(fā)送給終端。
[0160]具體實(shí)現(xiàn)中,第一記錄數(shù)據(jù)包括至少一條操作記錄,作為一種可能的實(shí)施方式,若終端所處的環(huán)境網(wǎng)絡(luò)資源充裕,服務(wù)器可直接將查找到的至少一條操作記錄發(fā)送給終端,以減緩服務(wù)器的計(jì)算壓力。
[0161]作為另一種可能的實(shí)施方式,若終端處于移動(dòng)網(wǎng)絡(luò)環(huán)境或網(wǎng)絡(luò)通道擁塞,此時(shí)將第一記錄數(shù)據(jù)發(fā)送給終端之前,可先將該至少一條操作記錄按照操作路徑進(jìn)行拆分或合并。
[0162]步驟S305,終端確定應(yīng)執(zhí)行的操作。
[0163]具體實(shí)現(xiàn)中,終端結(jié)合第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù),可計(jì)算得到當(dāng)前同步需要執(zhí)行的操作,如:需要添加的數(shù)據(jù)、需要?jiǎng)h除的數(shù)據(jù)等。
[0164]作為一種可能的實(shí)施方式,第一記錄數(shù)據(jù)為服務(wù)器直接從該文件的各版本數(shù)據(jù)中查找出來(lái)的未經(jīng)過(guò)簡(jiǎn)化處理的多條操作記錄,此時(shí),根據(jù)第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù)得到終端應(yīng)執(zhí)行的操作,可包括如下步驟:
[0165]首先,按照操作路徑拆分或合并該多條操作記錄,以簡(jiǎn)化第一記錄數(shù)據(jù)。具體地,拆分是指將一條涉及到多個(gè)路徑的操作記錄拆分成多條只涉及一個(gè)路徑的基礎(chǔ)操作記錄,合并是指將多條操作路徑相同的操作記錄合并成數(shù)量較少的操作記錄。
[0166]然后,根據(jù)簡(jiǎn)化后的第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù),得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。此時(shí),第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù)中的操作記錄均為只涉及一個(gè)操作路徑的基礎(chǔ)操作記錄,則根據(jù)第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù)得到終端應(yīng)執(zhí)行的操作,可具體為:以終端上次同步完該文件的時(shí)間點(diǎn)為起始點(diǎn),按照操作時(shí)間由先到后的順序?qū)⒌谝挥涗洈?shù)據(jù)和第二記錄數(shù)據(jù)中操作路徑相同的操作記錄合并,根據(jù)合并后的操作記錄即可得到終端應(yīng)執(zhí)行的操作。
[0167]步驟S306,終端執(zhí)行上述應(yīng)執(zhí)行的操作。
[0168]步驟S307,終端記錄本次同步該文件的版本號(hào),具體為將第一記錄數(shù)據(jù)中該文件的最高版本號(hào)記錄為該終端本次同步該文件的版本號(hào)。
[0169]步驟S308,終端發(fā)送該終端的標(biāo)識(shí)信息、該終端本次同步該文件的版本號(hào)、以及該終端的用戶標(biāo)識(shí)至服務(wù)器。
[0170]步驟S309,服務(wù)器根據(jù)該終端的標(biāo)識(shí)信息、該終端本次同步該文件的版本號(hào)、以及該終端的用戶標(biāo)識(shí),更新用戶對(duì)該終端的同步記錄。具體實(shí)現(xiàn)中,用戶對(duì)該終端的同步記錄可包括該終端的標(biāo)識(shí)信息、該終端的用戶標(biāo)識(shí)、同步時(shí)間、同步的版本號(hào)等。
[0171]步驟S310,服務(wù)器查詢?cè)撚脩舻钠渌K端最近一次同步該文件的版本號(hào)。
[0172]步驟S311,服務(wù)器刪除冗余操作記錄。具體為,若該終端本次同步該文件的版本號(hào)低于該用戶的其他終端最近一次同步該文件的版本號(hào),則從該服務(wù)器保存的該文件的各版本數(shù)據(jù)中,刪除在接收該文件同步請(qǐng)求之前產(chǎn)生的操作記錄,以減少服務(wù)器的冗余存儲(chǔ),減緩服務(wù)器的存儲(chǔ)壓力。
[0173]在圖3所描述的文件同步方法中,服務(wù)器與終端無(wú)需進(jìn)行多次交互,也無(wú)需逐層遍歷服務(wù)器上的文件目錄,可減少同步的時(shí)間消耗;終端將操作記錄簡(jiǎn)化后再進(jìn)行同步,可減少冗余數(shù)據(jù),進(jìn)一步縮短同步的耗時(shí),提高同步效率。
[0174]相應(yīng)的,本申請(qǐng)還提供了可用于實(shí)施本申請(qǐng)方法實(shí)施例的服務(wù)器和終端的裝置實(shí)施例,下面結(jié)合附圖對(duì)本申請(qǐng)的服務(wù)器和終端的結(jié)構(gòu)組成進(jìn)行舉例說(shuō)明。
[0175]請(qǐng)參閱圖4,圖4為本申請(qǐng)?zhí)峁┑姆?wù)器的一實(shí)施例的結(jié)構(gòu)示意圖。如圖4所示,該服務(wù)器可包括:第一接收模塊401、查找模塊402和發(fā)送模塊403 ;在一些可能的實(shí)施方式中,該服務(wù)器還可包括第二接收模塊404、更新模塊405、查詢模塊406以及刪除模塊407中至少一種,其中:
[0176]第一接收模塊401,用于接收終端發(fā)送的文件同步請(qǐng)求。
[0177]查找模塊402,用于響應(yīng)所述文件同步請(qǐng)求,從服務(wù)器保存的所述文件的各版本數(shù)據(jù)中查找第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄。
[0178]發(fā)送模塊403,用于發(fā)送所述第一記錄數(shù)據(jù)至所述終端,以使所述終端根據(jù)所述第一記錄數(shù)據(jù)及所述終端上的第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
[0179]本申請(qǐng)中,服務(wù)器接收終端發(fā)送的文件同步請(qǐng)求,該文件同步請(qǐng)求可指示該終端本次要同步的文件、該終端最近一次同步該文件的時(shí)間、該終端最近一次同步該文件的版本號(hào)、和/或該終端本次同步該文件需要服務(wù)器提供的數(shù)據(jù)(包括目錄結(jié)構(gòu)和/或操作記錄等)O
[0180]具體實(shí)現(xiàn)中,第一記錄數(shù)據(jù)為其他終端或數(shù)據(jù)管理應(yīng)用發(fā)送給服務(wù)器的該文件的各版本數(shù)據(jù)中,在該終端最近一次同步完該文件之后,預(yù)定版本的該文件由于各種修改操作,如插入、添加、刪除等而產(chǎn)生的操作記錄。具體地,上述的預(yù)定版本由終端發(fā)送的文件同步請(qǐng)求來(lái)確定。
[0181]作為一種可能的實(shí)施方式,文件同步請(qǐng)求可包括終端最近一次同步該文件的版本號(hào)以及本次同步的最高版本號(hào)。此時(shí),第一記錄數(shù)據(jù)包括預(yù)定版本的該文件在該終端最近一次同步該文件之后產(chǎn)生的全部操作記錄,其中該預(yù)定版本為版本號(hào)介于終端最近一次同步該文件的版本號(hào)和本次同步的最高版本號(hào)之間(包括本次同步的最高版本號(hào))的所有版本,具體地,本次同步的最高版本號(hào)可以是當(dāng)前該文件的最高版本號(hào),也可以是任何一個(gè)比最近一次同步的版本號(hào)更高的版本號(hào),具體可視終端當(dāng)前的網(wǎng)絡(luò)狀況而定,例如當(dāng)終端的網(wǎng)絡(luò)資源充裕時(shí)(如處于寬帶網(wǎng)絡(luò)連接或無(wú)線網(wǎng)絡(luò)連接狀態(tài)時(shí)),本次同步的最高版本號(hào)可以是當(dāng)前該文件的最高版本號(hào);當(dāng)終端的網(wǎng)絡(luò)資源匱乏時(shí)(如處于移動(dòng)網(wǎng)絡(luò)狀態(tài)時(shí)),本次同步的最高版本號(hào)可以高于終端最近一次同步該文件的版本號(hào),而且低于當(dāng)前該文件的最尚版本號(hào)。
[0182]作為一種可能的實(shí)施方式,文件同步請(qǐng)求可包括該終端最近一次同步該文件的版本號(hào)以及數(shù)量閾值。此時(shí),第一記錄數(shù)據(jù)可包括預(yù)定版本的該文件在該終端最近一次同步完該文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,該預(yù)定版本的版本號(hào)高于終端最近一次同步該文件的版本號(hào),該預(yù)定數(shù)量的值等于該數(shù)量閾值。具體實(shí)現(xiàn)中,查找模塊402可先從服務(wù)器保存的該文件的各版本數(shù)據(jù)中查找出版本號(hào)高于終端最近一次同步該文件的版本號(hào)的文件數(shù)據(jù),然后以該終端最近一次同步完該文件的時(shí)間點(diǎn)為起始點(diǎn),按照操作時(shí)間從先到后的順序從查找出的文件數(shù)據(jù)中篩選出預(yù)定數(shù)量(該預(yù)定數(shù)量的值等于文件同步請(qǐng)求中的數(shù)量閾值)的操作記錄,作為第一記錄數(shù)據(jù)。
[0183]具體實(shí)現(xiàn)中,查找模塊402查找到的第一記錄數(shù)據(jù)是由至少一條操作記錄組成的。
[0184]作為一種可能的實(shí)施方式,若終端所處的環(huán)境網(wǎng)絡(luò)資源充裕,發(fā)送模塊403可直接將查找到的至少一條操作記錄發(fā)送給終端,以減緩服務(wù)器的計(jì)算壓力。
[0185]作為另一種可能的實(shí)施方式,若終端處于移動(dòng)網(wǎng)絡(luò)環(huán)境或網(wǎng)絡(luò)通道擁塞,此時(shí)發(fā)送模塊403將第一記錄數(shù)據(jù)發(fā)送給終端之前,可先將該至少一條操作記錄按照操作路徑進(jìn)行拆分或合并。例如,“MOVE A, flto f2”可以拆分成“DELETE Α,Π”和“ADD A,f2”;“ADDB,fl,,、“ADD C,fI” “DELETE B, Π” 可以合并成“ADD C,fl,,。
[0186]拆分該至少一條操作記錄,可以將該至少一條操作記錄轉(zhuǎn)換成ADD或DELETE這兩種只涉及一個(gè)路徑的基礎(chǔ)操作記錄;按照操作路徑合并這些拆分后得到的基礎(chǔ)操作記錄,可去掉冗余數(shù)據(jù),直觀呈現(xiàn)第一記錄數(shù)據(jù)導(dǎo)致的該文件的最終變更,從而可以減少網(wǎng)絡(luò)資源的消耗和數(shù)據(jù)傳輸時(shí)間
[0187]作為一種可行的實(shí)施方式,如圖5所示,該服務(wù)器還可包括第二接收模塊404、更新模塊405、查詢模塊406、刪除模塊407中的至少一種,其中:
[0188]第二接收模塊404,用于接收所述終端發(fā)送的所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí)。
[0189]更新模塊405,用于根據(jù)所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí),更新所述用戶對(duì)所述終端的同步記錄。
[0190]查詢模塊406,用于查詢所述用戶的其他終端最近一次同步所述文件的版本號(hào)。
[0191]刪除模塊407,用于在所述終端本次同步該文件的版本號(hào)低于該用戶的其他終端最近一次同步該文件的版本號(hào)時(shí),從該服務(wù)器保存的該文件的各版本數(shù)據(jù)中,刪除在接收該文件同步請(qǐng)求之前產(chǎn)生的操作記錄。
[0192]具體實(shí)現(xiàn)中,用戶對(duì)該終端的同步記錄可包括該終端的標(biāo)識(shí)信息、該終端的用戶標(biāo)識(shí)、同步該文件的時(shí)間和版本號(hào)等。
[0193]具體實(shí)現(xiàn)中,在同步結(jié)束后,若該終端上保存的是該文件的最低版本,則可刪除服務(wù)器保存的該文件在本次同步開(kāi)始的時(shí)間點(diǎn)之前產(chǎn)生的操作記錄,以減少服務(wù)器的冗余存儲(chǔ),減緩服務(wù)器的存儲(chǔ)壓力。
[0194]在圖4或圖5所描述的服務(wù)器中,在第一接收模塊接收到終端發(fā)送的文件同步請(qǐng)求之后,查找模塊從服務(wù)器保存的該文件的各版本數(shù)據(jù)中查找在該終端上次同步該文件之后該文件產(chǎn)生的操作記錄;發(fā)送模塊將這些操作記錄發(fā)送給該終端,服務(wù)器無(wú)需與終端進(jìn)行多次交互,且與該文件的整個(gè)目錄結(jié)構(gòu)相比,這些操作記錄的數(shù)據(jù)量較小,傳輸時(shí)不僅節(jié)約時(shí)間,還可減少用戶的網(wǎng)絡(luò)資源消耗。終端可結(jié)合服務(wù)器發(fā)送的操作記錄以及該終端本身在上次同步該文件之后對(duì)該文件執(zhí)行的操作記錄,得到應(yīng)執(zhí)行的操作,無(wú)需逐層遍歷服務(wù)器上的文件目錄并與終端的文件目錄進(jìn)行對(duì)比,從而可有效減少同步時(shí)間,提高同步效率。
[0195]請(qǐng)參閱圖6,圖6為本申請(qǐng)?zhí)峁┑姆?wù)器的又一實(shí)施例的結(jié)構(gòu)示意圖。如圖6所示,該服務(wù)器可包括:輸入裝置601、輸出裝置602和處理器603。在本申請(qǐng)的一些實(shí)施例中,輸入裝置601和處理器603之間、輸出裝置602和處理器603之間可以通過(guò)總線或其他方式連接,其中,圖6中以通過(guò)總線連接為例。
[0196]其中,輸入裝置601,用于接收終端發(fā)送的文件同步請(qǐng)求。
[0197]處理器603,用于響應(yīng)所述文件同步請(qǐng)求,從服務(wù)器保存的所述文件的各版本數(shù)據(jù)中查找第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄。
[0198]輸出裝置602,用于發(fā)送所述第一記錄數(shù)據(jù)至所述終端,以使所述終端根據(jù)所述第一記錄數(shù)據(jù)及所述終端上的第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
[0199]作為一種可能的實(shí)施方式,該文件同步請(qǐng)求包括該終端最近一次同步該文件的版本號(hào)以及本次同步的最高版本號(hào);此時(shí)第一記錄數(shù)據(jù)包括預(yù)定版本的該文件在該終端最近一次同步該文件之后產(chǎn)生的全部操作記錄,其中該預(yù)定版本的版本號(hào)高于該終端最近一次同步該文件的版本號(hào),且低于或等于本次同步的最高版本號(hào)。
[0200]作為一種可能的實(shí)施方式,文件同步請(qǐng)求包括該終端最近一次同步該文件的版本號(hào)以及數(shù)量閾值;此時(shí),第一記錄數(shù)據(jù)包括預(yù)定版本的該文件在該終端最近一次同步完該文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中該預(yù)定版本的版本號(hào)高于終端最近一次同步該文件的版本號(hào),該預(yù)定數(shù)量的值等于該數(shù)量閾值。
[0201]作為一種可能的實(shí)施方式,第一記錄數(shù)據(jù)中包括至少一條操作記錄,此時(shí)輸出模塊602發(fā)送第一記錄數(shù)據(jù)至該終端前,可先將其中的至少一條操作記錄按照操作路徑進(jìn)行拆分或合并后,再發(fā)送給該終端。
[0202]作為一種可能的實(shí)施方式,輸入裝置601還用于接收該終端發(fā)送的該終端的標(biāo)識(shí)信息、該終端本次同步該文件的版本號(hào)、以及該終端的用戶標(biāo)識(shí)。
[0203]處理器603還用于:
[0204]根據(jù)該終端的標(biāo)識(shí)信息、該終端本次同步該文件的版本號(hào)、以及該終端的用戶標(biāo)識(shí),更新用戶對(duì)該終端的同步記錄;
[0205]查詢?cè)撚脩舻钠渌K端最近一次同步該文件的版本號(hào);
[0206]若該終端本次同步該文件的版本號(hào)低于該用戶的其他終端最近一次同步該文件的版本號(hào),則從服務(wù)器保存的該文件的各版本數(shù)據(jù)中,刪除在接收文件同步請(qǐng)求的之前產(chǎn)生的操作記錄。
[0207]在圖6所描述的服務(wù)器中,服務(wù)器無(wú)需與終端進(jìn)行多次交互,且無(wú)需逐層遍歷服務(wù)器上的文件目錄并與終端的文件目錄進(jìn)行對(duì)比,此外與該文件的整個(gè)目錄結(jié)構(gòu)相比,在終端最近一次同步該文件的之后產(chǎn)生的操作記錄數(shù)據(jù)量較小,同步時(shí)不僅縮短數(shù)據(jù)傳輸時(shí)間,還可減少用戶的網(wǎng)絡(luò)資源消耗,從而提高同步效率。
[0208]請(qǐng)參閱圖7,圖7為本申請(qǐng)?zhí)峁┑慕K端的一實(shí)施例的結(jié)構(gòu)示意圖。如圖7所示,該終端可包括:第一發(fā)送模塊701、查找模塊702、接收模塊703和執(zhí)行模塊704,其中:
[0209]第一發(fā)送模塊701,用于發(fā)送文件同步請(qǐng)求至服務(wù)器。
[0210]查找模塊702,用于查找第二記錄數(shù)據(jù),所述第二記錄數(shù)據(jù)包括終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
[0211]接收模塊703,用于接收所述服務(wù)器響應(yīng)所述文件同步請(qǐng)求而發(fā)送的第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄。
[0212]執(zhí)行模塊704,用于根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
[0213]本申請(qǐng)中,終端向服務(wù)器發(fā)送文件同步請(qǐng)求,該文件同步請(qǐng)求可指示終端本次要同步的文件、終端最近一次同步該文件的時(shí)間、終端最近一次同步該文件的版本號(hào)、和/或本次同步該文件需要服務(wù)器提供的數(shù)據(jù)(包括目錄結(jié)構(gòu)和/或操作記錄等)。
[0214]本申請(qǐng)中,終端可包括兩種:一種是可直接獲取到對(duì)該文件的操作記錄的終端,此類(lèi)終端一般含有輸入裝置和處理器,可獨(dú)立對(duì)文件進(jìn)行操作,例如計(jì)算機(jī)、平板電腦等;另一種是無(wú)法直接獲取到文件的操作記錄的終端,例如同步U盤(pán)。
[0215]基于終端類(lèi)型的不同,查找模塊702查找第二記錄數(shù)據(jù)也有相應(yīng)不同的實(shí)施方式。
[0216]作為一種可行的實(shí)施方式,當(dāng)終端可以直接獲取到對(duì)該文件的操作記錄時(shí),查找模塊702可進(jìn)一步包括可包括以下單元(圖中未示):
[0217]查找單元,用于查找該終端最近一次同步該文件之后對(duì)該文件執(zhí)行的每一條操作記錄。
[0218]按照操作路徑拆分或合并這些操作記錄,得到第二記錄數(shù)據(jù)。
[0219]具體地,拆分是指將一條涉及到多個(gè)路徑的操作記錄拆分成多條只涉及一個(gè)路徑的基礎(chǔ)操作記錄,如“MOVE A, flto f2”可以拆分成“DELETE Α,Π”和“ADD A, f2”。合并是指將多條操作路徑相同的操作記錄合并成數(shù)量較少的操作記錄,例如“ADD B, fl”、“ADDC,Π”和“DELETE B, fI”可以合并成“ADDC,fl”。拆分合并操作,可將同步時(shí)需要的數(shù)據(jù)簡(jiǎn)化,去掉冗余的數(shù)據(jù),從而縮短同步的時(shí)間,提高同步效率。
[0220]作為另一種可行的實(shí)施方式,當(dāng)終端無(wú)法直接獲取到文件的操作記錄時(shí),查找模塊702查找第二記錄數(shù)據(jù)的步驟可包括:首先,讀取終端在最近一次同步完該文件后得到并保存的該文件的目錄信息;然后,將最近一次同步完該文件后得到的該文件的目錄信息與該終端當(dāng)前本地存儲(chǔ)的該文件的目錄信息進(jìn)行對(duì)比,可得到該終端在最近一次同步完該文件之后對(duì)該文件執(zhí)行的操作記錄,包括添加的數(shù)據(jù)和/或刪除的數(shù)據(jù)等,這些操作記錄即為第二記錄數(shù)據(jù)。
[0221]具體實(shí)施中,基于文件同步請(qǐng)求的內(nèi)容的不同,第一記錄數(shù)據(jù)也相應(yīng)有幾種不同的情況。
[0222]在一種可能的實(shí)施方式中,文件同步請(qǐng)求可包括終端最近一次同步該文件的版本號(hào)以及本次同步的最高版本號(hào)。此時(shí),第一記錄數(shù)據(jù)包括預(yù)定版本的該文件在該終端最近一次同步該文件之后產(chǎn)生的全部操作記錄,其中該預(yù)定版本為版本號(hào)介于終端最近一次同步文件的版本號(hào)和本次同步的最高版本號(hào)之間(包括本次同步的最高版本號(hào))的所有版本,具體地,本次同步的最高版本號(hào)可以是當(dāng)前該文件的最高版本號(hào),也可以是任何一個(gè)比最近一次同步的版本號(hào)更高的版本號(hào),具體可視終端當(dāng)前的網(wǎng)絡(luò)狀況而定。
[0223]在一種可能的實(shí)施方式中,文件同步請(qǐng)求可包括該終端最近一次同步該文件的版本號(hào)以及數(shù)量閾值。此時(shí),第一記錄數(shù)據(jù)可包括預(yù)定版本的該文件在該之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中該預(yù)定版本的版本號(hào)高于終端最近一次同步該文件的版本號(hào),該預(yù)定數(shù)量的值等于該數(shù)量閾值。
[0224]具體實(shí)現(xiàn)中,結(jié)合在該終端最近一次同步完該文件的時(shí)間點(diǎn)之后之后,服務(wù)器保存的預(yù)定版本的該文件產(chǎn)生的操作記錄,以及終端對(duì)該文件執(zhí)行的操作記錄,執(zhí)行模塊704可計(jì)算得到當(dāng)前同步需要執(zhí)行的操作,如:需要添加的數(shù)據(jù)、需要?jiǎng)h除的數(shù)據(jù)等。
[0225]作為一種可能的實(shí)施方式,服務(wù)器所發(fā)送的第一記錄數(shù)據(jù)為服務(wù)器直接從該文件的各版本數(shù)據(jù)中查找出來(lái)的未經(jīng)過(guò)簡(jiǎn)化處理的多條操作記錄,此時(shí),執(zhí)行模塊704可包括以下單元(圖中未示):
[0226]第二記錄簡(jiǎn)化單元,用于按照操作路徑拆分或合并該多條操作記錄,以簡(jiǎn)化第一記錄數(shù)據(jù)。具體地,拆分是指將一條涉及到多個(gè)路徑的操作記錄拆分成多條只涉及一個(gè)路徑的基礎(chǔ)操作記錄,合并是指將多條操作路徑相同的操作記錄合并成數(shù)量較少的操作記錄。拆分合并操作,可將同步時(shí)需要的數(shù)據(jù)簡(jiǎn)化,去掉冗余的數(shù)據(jù),從而縮短同步的時(shí)間,提高同步效率。
[0227]執(zhí)行單元,用于根據(jù)簡(jiǎn)化后的第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù),得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。此時(shí),第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù)中的操作記錄均為只涉及一個(gè)操作路徑的基礎(chǔ)操作記錄,則根據(jù)第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù)得到終端應(yīng)執(zhí)行的操作,可具體為:以該終端上次同步完該文件的時(shí)間點(diǎn)為起始點(diǎn),按照操作時(shí)間由先到后的順序?qū)⒌谝挥涗洈?shù)據(jù)和第二記錄數(shù)據(jù)中操作路徑相同的操作記錄合并,根據(jù)合并后的操作記錄即可得到終端應(yīng)執(zhí)行的操作。例如:操作路徑為磁盤(pán)l(fI)的操作記錄依次有:“ADDA,fl,,、“ADD B,fl,,、“ADD C,fI” 和 “DELETE B,Π”,以上 4 條操作記錄可以合并成“ADDAB, fl”,則終端應(yīng)執(zhí)行的操作為:在磁盤(pán)I中添加“AB”。
[0228]在一些可行的實(shí)施方式中,如圖8所示,該終端還可包括記錄模塊705和第二發(fā)送模塊706中至少一種,其中:
[0229]記錄模塊705,用于在執(zhí)行模塊704得到終端應(yīng)執(zhí)行的操作并執(zhí)行該操作之后,將所述第一記錄數(shù)據(jù)中所述文件的最高版本號(hào)記錄為所述終端本次同步所述文件的版本號(hào)。
[0230]第二發(fā)送模塊706,用于發(fā)送所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí)至所述服務(wù)器,以使所述服務(wù)器更新所述用戶對(duì)所述終端的同步記錄。具體實(shí)現(xiàn)中,用戶對(duì)該終端的同步記錄可包括該終端的標(biāo)識(shí)信息、該終端的用戶標(biāo)識(shí)、同步該文件的時(shí)間和版本號(hào)等。
[0231]在圖7或圖8所描述的終端中,第一發(fā)送模塊向服務(wù)器發(fā)送文件同步請(qǐng)求;查找模塊查找終端在上次同步完該文件之后對(duì)該文件執(zhí)行過(guò)的操作記錄,作為第二記錄數(shù)據(jù);接收模塊接收服務(wù)器發(fā)送的第一記錄數(shù)據(jù),終端無(wú)需與服務(wù)器進(jìn)行多次交互,也無(wú)需逐層遍歷服務(wù)器上的文件目錄,而且第一記錄數(shù)據(jù)由一些操作記錄組成,與該文件的整個(gè)目錄結(jié)構(gòu)相比,數(shù)據(jù)量較小,傳輸時(shí)不僅節(jié)約時(shí)間,還可減少用戶的網(wǎng)絡(luò)資源消耗。執(zhí)行模塊可在根據(jù)第一記錄數(shù)據(jù)和第二記錄數(shù)據(jù)得到終端應(yīng)執(zhí)行的操作之前,可先將第一記錄數(shù)據(jù)進(jìn)行拆分合并,以減少冗余數(shù)據(jù)以及同步時(shí)的計(jì)算量,緩解終端的計(jì)算壓力,同時(shí)提高同步效率。
[0232]請(qǐng)參閱圖9,圖9為本申請(qǐng)?zhí)峁┑慕K端的又一實(shí)施例的結(jié)構(gòu)示意圖。如圖9所示,該終端可包括:輸入裝置901、輸出裝置902和處理器903。在本申請(qǐng)的一些實(shí)施例中,輸入裝置901和處理器903之間、輸出裝置902和處理器903之間可以通過(guò)總線或其他方式連接,其中,圖9中以通過(guò)總線連接為例。
[0233]其中,輸出裝置902,用于發(fā)送文件同步請(qǐng)求至服務(wù)器。
[0234]輸入裝置901,用于接收所述服務(wù)器響應(yīng)所述文件同步請(qǐng)求而發(fā)送的第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄。
[0235]處理器903用于:
[0236]查找第二記錄數(shù)據(jù),所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄;
[0237]根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
[0238]作為一種可能的實(shí)施方式,處理器903查找第二記錄數(shù)據(jù)時(shí),具體步驟為:
[0239]查找所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的每一條操作記錄;
[0240]按照操作路徑拆分或合并所述每一條操作記錄,得到所述第二記錄數(shù)據(jù)。
[0241]作為一種可能的實(shí)施方式,所述第一記錄數(shù)據(jù)包括至少一條操作記錄;
[0242]所述處理器根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作時(shí),具體步驟為:
[0243]按照操作路徑拆分或合并所述至少一條操作記錄,以簡(jiǎn)化所述第一記錄數(shù)據(jù);
[0244]根據(jù)簡(jiǎn)化后的第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù),得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
[0245]作為一種可能的實(shí)施方式,處理器903還用于將所述第一記錄數(shù)據(jù)中所述文件的最高版本號(hào)記錄為所述終端本次同步所述文件的版本號(hào)。
[0246]輸出裝置902還用于發(fā)送所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí)至所述服務(wù)器,以使所述服務(wù)器更新所述用戶對(duì)所述終端的同步記錄。
[0247]在圖9所描述的終端中,終端無(wú)需與服務(wù)器進(jìn)行多次交互,且無(wú)需逐層遍歷服務(wù)器上的文件目錄并與終端的文件目錄進(jìn)行對(duì)比,此外與該文件的整個(gè)目錄結(jié)構(gòu)相比,在終端最近一次同步該文件的之后產(chǎn)生的操作記錄數(shù)據(jù)量較小,同步時(shí)不僅縮短數(shù)據(jù)傳輸時(shí)間,還可減少用戶的網(wǎng)絡(luò)資源消耗,從而提高同步效率。
[0248]需要說(shuō)明的是,對(duì)于前述的各個(gè)方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng),某一些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本申請(qǐng)所必須的。
[0249]在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳細(xì)描述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
[0250]本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:閃存盤(pán)、只讀存儲(chǔ)器(Read-Only Memory, ROM)、隨機(jī)存取器(Random AccessMemory, RAM)、磁盤(pán)或光盤(pán)等。
[0251]以上對(duì)本申請(qǐng)實(shí)施例所提供的文件同步方法、服務(wù)器及終端進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
【權(quán)利要求】
1.一種文件同步方法,其特征在于,包括: 接收終端發(fā)送的文件同步請(qǐng)求; 響應(yīng)所述文件同步請(qǐng)求,從服務(wù)器保存的所述文件的各版本數(shù)據(jù)中查找第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄; 發(fā)送所述第一記錄數(shù)據(jù)至所述終端,以使所述終端根據(jù)所述第一記錄數(shù)據(jù)及所述終端上的第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及本次同步的最高版本號(hào); 所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的全部操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),且低于或等于本次同步的最高版本號(hào)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及數(shù)量閾值; 所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),所述預(yù)定數(shù)量的值等于所述數(shù)量閾值。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其特征在于,所述發(fā)送所述第一記錄數(shù)據(jù)至所述終端之后,所述方法還包括: 接收所述終端發(fā)送的所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí); 根據(jù)所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí),更新所述用戶對(duì)所述終端的同步記錄; 查詢所述用戶的其他終端最近一次同步所述文件的版本號(hào); 若所述終端本次同步所述文件的版本號(hào)低于所述用戶的其他終端最近一次同步所述文件的版本號(hào),則從所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中,刪除在接收所述文件同步請(qǐng)求之前產(chǎn)生的操作記錄。
5.一種文件同步方法,其特征在于,包括: 發(fā)送文件同步請(qǐng)求至服務(wù)器; 查找第二記錄數(shù)據(jù),所述第二記錄數(shù)據(jù)包括終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄; 接收所述服務(wù)器響應(yīng)所述文件同步請(qǐng)求而發(fā)送的第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄; 根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述查找第二記錄數(shù)據(jù),包括: 查找所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的每一條操作記錄; 按照操作路徑拆分或合并所述每一條操作記錄,得到所述第二記錄數(shù)據(jù)。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述第一記錄數(shù)據(jù)包括至少一條操作記錄; 所述根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作,包括: 按照操作路徑拆分或合并所述至少一條操作記錄,以簡(jiǎn)化所述第一記錄數(shù)據(jù); 根據(jù)簡(jiǎn)化后的第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù),得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
8.根據(jù)權(quán)利要求5-7任一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作之后,所述方法還包括: 將所述第一記錄數(shù)據(jù)中所述文件的最高版本號(hào)記錄為所述終端本次同步所述文件的版本號(hào); 發(fā)送所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí)至所述服務(wù)器,以使所述服務(wù)器更新所述用戶對(duì)所述終端的同步記錄。
9.一種服務(wù)器,其特征在于,包括: 第一接收模塊,用于接收終端發(fā)送的文件同步請(qǐng)求; 查找模塊,用于響應(yīng)所述文件同步請(qǐng)求,從服務(wù)器保存的所述文件的各版本數(shù)據(jù)中查找第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄; 發(fā)送模塊,用于發(fā)送所述第一記錄數(shù)據(jù)至所述終端,以使所述終端根據(jù)所述第一記錄數(shù)據(jù)及所述終端上的第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
10.根據(jù)權(quán)利要求9所述的服務(wù)器,其特征在于,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及本次同步的最高版本號(hào); 所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的全部操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),且低于或等于本次同步的最高版本號(hào)。
11.根據(jù)權(quán)利要求9所述的服務(wù)器,其特征在于,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及數(shù)量閾值; 所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),所述預(yù)定數(shù)量的值等于所述數(shù)量閾值。
12.根據(jù)權(quán)利要求9-11任一項(xiàng)所述的服務(wù)器,其特征在于,所述服務(wù)器還包括: 第二接收模塊,用于接收所述終端發(fā)送的所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí); 更新模塊,用于根據(jù)所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí),更新所述用戶對(duì)所述終端的同步記錄; 查詢模塊,用于查詢所述用戶的其他終端最近一次同步所述文件的版本號(hào); 刪除模塊,用于在所述終端本次同步所述文件的版本號(hào)低于所述用戶的其他終端最近一次同步所述文件的版本號(hào)時(shí),從所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中刪除在接收所述文件同步請(qǐng)求的之前產(chǎn)生的操作記錄。
13.—種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于, 所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有程序,執(zhí)行所述程序時(shí)包括如權(quán)利要求1至4任一項(xiàng)所述的步驟。
14.一種服務(wù)器,其特征在于,包括:輸入裝置、輸出裝置和處理器,所述輸入裝置、所述輸出裝置和所述處理器通過(guò)總線相連接,其中: 所述輸入裝置,用于接收終端發(fā)送的文件同步請(qǐng)求; 所述處理器,響應(yīng)所述文件同步請(qǐng)求,從服務(wù)器保存的所述文件的各版本數(shù)據(jù)中查找第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄; 所述輸出裝置,用于發(fā)送所述第一記錄數(shù)據(jù)至所述終端,以使所述終端根據(jù)所述第一記錄數(shù)據(jù)及所述終端上的第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄。
15.根據(jù)權(quán)利要求14所述的服務(wù)器,其特征在于,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及本次同步的最高版本號(hào); 所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的全部操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),且低于或等于本次同步的最高版本號(hào)。
16.根據(jù)權(quán)利要求14所述的服務(wù)器,其特征在于,所述文件同步請(qǐng)求包括所述終端最近一次同步所述文件的版本號(hào)以及數(shù)量閾值; 所述第一記錄數(shù)據(jù)包括預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后依次產(chǎn)生的預(yù)定數(shù)量的操作記錄,其中所述預(yù)定版本的版本號(hào)高于所述終端最近一次同步所述文件的版本號(hào),所述預(yù)定數(shù)量的值等于所述數(shù)量閾值。
17.根據(jù)權(quán)利要求14-16任一項(xiàng)所述的服務(wù)器,其特征在于, 所述輸入裝置,還用于接收所述終端發(fā)送的所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí); 所述處理器還用于: 根據(jù)所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí),更新所述用戶對(duì)所述終端的同步記錄; 查詢所述用戶的其他終端最近一次同步所述文件的版本號(hào); 若所述終端本次同步所述文件的版本號(hào)低于所述用戶的其他終端最近一次同步所述文件的版本號(hào),則從所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中,刪除在接收所述文件同步請(qǐng)求之前產(chǎn)生的操作記錄。
18.一種終端,其特征在于,包括: 第一發(fā)送模塊,用于發(fā)送文件同步請(qǐng)求至服務(wù)器; 查找模塊,用于查找第二記錄數(shù)據(jù),所述第二記錄數(shù)據(jù)包括終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄; 接收模塊,用于接收所述服務(wù)器響應(yīng)所述文件同步請(qǐng)求而發(fā)送的第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄; 執(zhí)行模塊,用于根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
19.根據(jù)權(quán)利要求18所述的終端,其特征在于,所述查找模塊,包括: 查找單元,用于查找所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的每一條操作記錄; 第一簡(jiǎn)化單元,用于按照操作路徑拆分或合并所述每一條操作記錄,得到所述第二記錄數(shù)據(jù)。
20.根據(jù)權(quán)利要求18所述的終端,其特征在于,所述第一記錄數(shù)據(jù)包括至少一條操作記錄; 所述執(zhí)行模塊,包括: 第二簡(jiǎn)化單元,用于按照操作路徑拆分或合并所述至少一條操作記錄,以簡(jiǎn)化所述第一記錄數(shù)據(jù); 執(zhí)行單元,用于根據(jù)簡(jiǎn)化后的第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù),得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
21.根據(jù)權(quán)利要求18-20任一項(xiàng)所述的終端,其特征在于,所述終端還包括: 記錄模塊,用于將所述第一記錄數(shù)據(jù)中所述文件的最高版本號(hào)記錄為所述終端本次同步所述文件的版本號(hào); 第二發(fā)送模塊,用于發(fā)送所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí)至所述服務(wù)器,以使所述服務(wù)器更新所述用戶對(duì)所述終端的同步記錄。
22.—種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于, 所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有程序,執(zhí)行所述程序時(shí)包括如權(quán)利要求5至8任一項(xiàng)所述的步驟。
23.—種終端,其特征在于,包括:輸入裝置、輸出裝置和處理器,所述輸入裝置、所述輸出裝置和所述處理器通過(guò)總線相連接,其中: 所述輸出裝置,用于發(fā)送文件同步請(qǐng)求至服務(wù)器; 所述輸入裝置,用于接收所述服務(wù)器響應(yīng)所述文件同步請(qǐng)求而發(fā)送的第一記錄數(shù)據(jù),所述第一記錄數(shù)據(jù)包括所述服務(wù)器保存的所述文件的各版本數(shù)據(jù)中預(yù)定版本的所述文件在所述終端最近一次同步所述文件之后產(chǎn)生的操作記錄; 所述處理器用于: 查找第二記錄數(shù)據(jù),所述第二記錄數(shù)據(jù)包括所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的操作記錄; 根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
24.根據(jù)權(quán)利要求23所述的終端,其特征在于,所述處理器查找第二記錄數(shù)據(jù)時(shí),具體步驟為: 查找所述終端在最近一次同步所述文件之后對(duì)所述文件執(zhí)行的每一條操作記錄; 按照操作路徑拆分或合并所述每一條操作記錄,得到所述第二記錄數(shù)據(jù)。
25.根據(jù)權(quán)利要求23所述的終端,其特征在于,所述第一記錄數(shù)據(jù)包括至少一條操作記錄; 所述處理器根據(jù)所述第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù)得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作時(shí),具體步驟為: 按照操作路徑拆分或合并所述至少一條操作記錄,以簡(jiǎn)化所述第一記錄數(shù)據(jù); 根據(jù)簡(jiǎn)化后的第一記錄數(shù)據(jù)和所述第二記錄數(shù)據(jù),得到所述終端應(yīng)執(zhí)行的操作,并執(zhí)行所述操作。
26.根據(jù)權(quán)利要求23-25任一項(xiàng)所述的終端,其特征在于, 所述處理器,還用于將所述第一記錄數(shù)據(jù)中所述文件的最高版本號(hào)記錄為所述終端本次同步所述文件的版本號(hào); 所述輸出裝置,還用于發(fā)送所述終端的標(biāo)識(shí)信息、所述終端本次同步所述文件的版本號(hào)、以及所述終端的用戶標(biāo)識(shí)至所述服務(wù)器,以使所述服務(wù)器更新所述用戶對(duì)所述終端的同步記錄。
【文檔編號(hào)】H04L29/08GK104488248SQ201480001814
【公開(kāi)日】2015年4月1日 申請(qǐng)日期:2014年4月15日 優(yōu)先權(quán)日:2014年4月15日
【發(fā)明者】徐開(kāi)富 申請(qǐng)人:華為技術(shù)有限公司