一種客戶端文件更新方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及但不限于客戶端文件更新領(lǐng)域,尤其涉及一種客戶端文件更新方法和系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有的客戶端文件更新方法包括全量更新和增量更新。增量更新指的是進(jìn)行更新操作時(shí),只更新需要改變的地方,不需要更新或者已經(jīng)更新過(guò)的地方則不會(huì)重復(fù)更新,增量更新與全量更新相對(duì)。
[0003]相對(duì)全量更新,增加更新速度更快,對(duì)客戶端的數(shù)據(jù)處理資源、數(shù)據(jù)存儲(chǔ)資源的占用小。
[0004]現(xiàn)有的客戶端文件增量更新方法一般包括如下步驟:
[0005]客戶端在獲知與自身存儲(chǔ)的文件對(duì)應(yīng)的服務(wù)器上的文件進(jìn)行了更新后,向服務(wù)器發(fā)送文件更新請(qǐng)求;
[0006]客戶端在接收到服務(wù)器的應(yīng)答消息后,將所述自身存儲(chǔ)的文件發(fā)送至服務(wù)器;
[0007]服務(wù)器接收到來(lái)自客戶端的文件后,將接收的文件和服務(wù)器上的更新文件進(jìn)行對(duì)比,找到增量數(shù)據(jù);
[0008]服務(wù)器將所述找到的增量數(shù)據(jù)發(fā)送至客戶端。
[0009]可選的,當(dāng)客戶端將自身存儲(chǔ)的文件發(fā)送至服務(wù)器時(shí),如果自身存儲(chǔ)的文件較大,為提高傳輸效率,可對(duì)自身存儲(chǔ)的文件進(jìn)行分塊操作,再將分塊數(shù)據(jù)、以及用于服務(wù)器識(shí)別分塊數(shù)據(jù)的校驗(yàn)數(shù)據(jù)發(fā)送至服務(wù)器。
[0010]現(xiàn)有的客戶端文件增量更新方法具有以下不足:
[0011]1,尋找增量數(shù)據(jù)的操作由服務(wù)器完成,當(dāng)進(jìn)行文件更新的客戶端較多時(shí),容易導(dǎo)致服務(wù)器計(jì)算壓力大,對(duì)服務(wù)器的軟件和硬件要求高;
[0012]2,當(dāng)服務(wù)器和客戶端之間傳輸分塊數(shù)據(jù)時(shí),服務(wù)器需要?jiǎng)澐执鎯?chǔ)空間存儲(chǔ)校驗(yàn)數(shù)據(jù),當(dāng)進(jìn)行文件更新的客戶端較多時(shí),校驗(yàn)數(shù)據(jù)也較多,占用服務(wù)器較大的存儲(chǔ)資源。
【發(fā)明內(nèi)容】
[0013]本發(fā)明提供了一種客戶端文件更新方法和系統(tǒng),以解決如何避免客戶端文件進(jìn)行增量更新時(shí)服務(wù)器承擔(dān)過(guò)大計(jì)算壓力的技術(shù)問(wèn)題。
[0014]為解決上述問(wèn)題,本發(fā)明提供了一種客戶端文件更新方法,所述方法包括:
[0015]客戶端向服務(wù)器發(fā)送文件更新請(qǐng)求,所述文件更新請(qǐng)求攜帶待更新文件標(biāo)識(shí);
[0016]服務(wù)器接收到所述文件更新請(qǐng)求后,將所述標(biāo)識(shí)對(duì)應(yīng)的更新后的文件發(fā)送至客戶端;
[0017]客戶端對(duì)自身存儲(chǔ)的待更新文件和所述更新后的文件進(jìn)行對(duì)比,找到增量數(shù)據(jù);
[0018]客戶端根據(jù)所述增量數(shù)據(jù),對(duì)自身存儲(chǔ)的待更新文件進(jìn)行增量更新。
[0019]可選的,所述方法還包括:
[0020]服務(wù)器在獲知文件發(fā)生了更新后,對(duì)更新后的文件進(jìn)行分塊;
[0021]服務(wù)器將分塊文件以及用于識(shí)別分塊文件的校驗(yàn)數(shù)據(jù)存儲(chǔ)在外部緩存器。
[0022]可選的,所述服務(wù)器將所述標(biāo)識(shí)對(duì)應(yīng)的更新后的文件發(fā)送至客戶端,包括:
[0023]服務(wù)器根據(jù)所述標(biāo)識(shí),從所述外部緩存器下載與所述標(biāo)識(shí)對(duì)應(yīng)的更新后的分塊文件;
[0024]服務(wù)器將該分塊文件以及用于識(shí)別該分塊文件的校驗(yàn)數(shù)據(jù)發(fā)送至客戶端。
[0025]可選的,所述方法還包括:
[0026]客戶端對(duì)自身存儲(chǔ)的待更新文件進(jìn)行增量更新后,記錄更新日志,所述更新日志包括:用戶更新記錄、用戶信息和/或客戶端系統(tǒng)配置信息。
[0027]為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種文件更新的客戶端,所述客戶端包括:
[0028]存儲(chǔ)模塊,用于存儲(chǔ)文件;
[0029]更新請(qǐng)求模塊,用于向服務(wù)器發(fā)送文件更新請(qǐng)求,所述文件更新請(qǐng)求攜帶待更新文件標(biāo)識(shí);
[0030]計(jì)算模塊,用于接收來(lái)自服務(wù)器的與所述標(biāo)識(shí)對(duì)應(yīng)的更新后的文件,并將自身存儲(chǔ)的待更新文件和所述更新后的文件進(jìn)行對(duì)比,找到增量數(shù)據(jù);
[0031]文件更新模塊,用于根據(jù)所述增量數(shù)據(jù),對(duì)自身存儲(chǔ)的待更新文件進(jìn)行增量更新。
[0032]可選的,所述客戶端還包括:
[0033]更新記錄模塊,用于對(duì)自身存儲(chǔ)的待更新文件進(jìn)行增量更新后,記錄更新日志,所述更新日志包括:用戶更新記錄、用戶信息和/或客戶端系統(tǒng)配置信息。
[0034]為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種文件更新的服務(wù)器,所述服務(wù)器包括:
[0035]更新監(jiān)測(cè)模塊,用于接收來(lái)自客戶端的文件更新請(qǐng)求,所述文件更新請(qǐng)求攜帶待更新文件標(biāo)識(shí);
[0036]更新文件發(fā)送模塊,用于接收到所述文件更新請(qǐng)求后,將所述標(biāo)識(shí)對(duì)應(yīng)的更新后的文件發(fā)送至客戶端。
[0037]可選的,所述服務(wù)器還包括:
[0038]文件分塊模塊,用于在獲知文件發(fā)生了更新后,對(duì)更新后的文件進(jìn)行分塊;
[0039]所述更新文件發(fā)送模塊,還用于將通過(guò)文件分塊模塊得到的分塊文件以及用于識(shí)別分塊文件的校驗(yàn)數(shù)據(jù)存儲(chǔ)在外部緩存器。
[0040]可選的,更新文件發(fā)送模塊,用于將所述標(biāo)識(shí)對(duì)應(yīng)的更新后的文件發(fā)送至客戶端,包括:
[0041]根據(jù)所述標(biāo)識(shí),從所述外部緩存器下載與所述標(biāo)識(shí)對(duì)應(yīng)的更新后的分塊文件;
[0042]將分塊文件以及用于識(shí)別該分塊文件的校驗(yàn)數(shù)據(jù)發(fā)送至客戶端。
[0043]上述技術(shù)方案在客戶端文件進(jìn)行增量更新時(shí),將尋找增量數(shù)據(jù)的操作轉(zhuǎn)移到客戶端執(zhí)行,減小了服務(wù)器的計(jì)算壓力;對(duì)每個(gè)客戶端而言,在同一時(shí)間需要更新的文件有限,進(jìn)而需要進(jìn)行的尋找增量數(shù)據(jù)的操作數(shù)量較少,客戶端增加的計(jì)算壓力在可接受范圍內(nèi)。
【附圖說(shuō)明】
[0044]圖1為本發(fā)明實(shí)施例的客戶端文件更新方法流程圖;
[0045]圖2為本發(fā)明實(shí)施例的文件更新的客戶端組成模塊圖;
[0046]圖3為本發(fā)明實(shí)施例的文件更新的服務(wù)器組成模塊圖。
【具體實(shí)施方式】
[0047]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0048]圖1為本發(fā)明實(shí)施例的客戶端文件更新方法流程圖。
[0049]S101客戶端向服務(wù)器發(fā)送文件更新請(qǐng)求,所述文件更新請(qǐng)求攜帶待更新文件標(biāo)識(shí);
[0050]可選的,客戶端從服務(wù)器獲知文件更新通知后,向服務(wù)器發(fā)送文件更新請(qǐng)求;
[0051]S102服務(wù)器接收到所述文件更新請(qǐng)求后,將所述標(biāo)識(shí)對(duì)應(yīng)的更新后的文件發(fā)送至客戶端;
[0052]S103客戶端對(duì)自身存儲(chǔ)的待更新文件和所述更新后的文件進(jìn)行對(duì)比,找到增量數(shù)據(jù);
[0053]S104客戶端根據(jù)所述增量數(shù)據(jù),對(duì)自身存儲(chǔ)的待更新文件進(jìn)行增量更新。
[0054]可選的,在上述方法之前,服務(wù)器在獲知文件發(fā)生了更新后,對(duì)更新后的文件進(jìn)行分塊;服務(wù)器將分塊文件以及用于識(shí)別分塊文件的校驗(yàn)數(shù)據(jù)存儲(chǔ)在外部緩存器。
[0055]對(duì)應(yīng)的,步驟S102服務(wù)器將所述標(biāo)識(shí)對(duì)應(yīng)的更新后的文件發(fā)送至客戶端,包括:
[0056]服務(wù)器根據(jù)所述標(biāo)識(shí),從所述外部緩存器下載與所述標(biāo)識(shí)對(duì)應(yīng)的更新后的分塊文件;服務(wù)器將該分塊文件以及用于識(shí)別該分塊文件的校驗(yàn)數(shù)據(jù)發(fā)送至客戶端。
[0057]上述技術(shù)方案中服務(wù)器將分塊后的更新文件存儲(chǔ)在外部緩存器,而不是存儲(chǔ)在服務(wù)器,可節(jié)省服務(wù)器的存儲(chǔ)空間。上述技術(shù)方案服務(wù)器通過(guò)對(duì)更新文件進(jìn)行分塊,傳輸分塊文件,可提高更新文件的傳輸效率。
[0058]可選的,上述方法還包括:
[0059]客戶端對(duì)自身存儲(chǔ)的待更新文件進(jìn)行增量更新后,記錄更新