信息更新方法、信息更新裝置、終端和服務器的制造方法
【技術領域】
[0001] 本發(fā)明設及信息技術領域,具體而言,設及一種信息更新方法、一種信息更新裝 置、一種終端和一種服務器。
【背景技術】
[0002] 目前,由于移動網(wǎng)絡流量、帶寬和可用性的限制,終端中的應用程序通常需要在終 端上緩存部分數(shù)據(jù),W節(jié)省移動網(wǎng)絡流量,同時在移動網(wǎng)絡質(zhì)量不高或者不可用時依然能 給用戶提供服務。并且,由于服務器的數(shù)據(jù)可能會隨時改變,所W需要檢測并更新終端上的 緩存數(shù)據(jù),W保持終端上的緩存數(shù)據(jù)與服務器的數(shù)據(jù)同步。
[0003] 傳統(tǒng)的數(shù)據(jù)同步方式一般依靠對每一條數(shù)據(jù)記錄最后更新的時間戳或者給出全 局遞增的版本號,但是,在分布式部署的服務環(huán)境下保持多臺服務器時間戳和版本號的全 局一致性的代價非常高,而且運種同步方式難W對處于變動的時間戳或版本號不連續(xù)的場 景下的緩存數(shù)據(jù)進行處理。并且,運種數(shù)據(jù)同步方式需要將終端上的緩存數(shù)據(jù)全部發(fā)送至 服務器,W檢測緩存數(shù)據(jù)是否需要更新,運就需要大量的移動網(wǎng)絡流量和復雜的計算量,對 于終端而言,大量的移動網(wǎng)絡流量和復雜的計算量都是終端難W承受的。
[0004] 因此,如何在檢測終端上的緩存數(shù)據(jù)是否需要更新時降低移動網(wǎng)絡流量的消耗, 同時減少計算量成為目前亟待解決的問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明正是基于上述問題,提出了一種新的技術方案,通過對待檢測信息的特征 值進行序列化和哈希值計算就可檢測終端上的緩存數(shù)據(jù)是否需要更新,不但可W實現(xiàn)移動 網(wǎng)絡流量的極小化,而且算法簡單高效。
[0006] 有鑒于此,本發(fā)明的第一方面提出了一種信息更新方法,用于終端,包括:構(gòu)造空 的布隆過濾器;將所述終端中待檢測信息的特征值序列化成對應的字符串;根據(jù)非加密型 哈希函數(shù)計算所述字符串的哈希值,并根據(jù)所述哈希值填充所述布隆過濾器;將填充后的 所述布隆過濾器和檢測參數(shù)信息發(fā)送至服務器,W供所述服務器根據(jù)填充后的所述布隆過 濾器和所述檢測參數(shù)信息檢測是否更新所述待檢測信息。
[0007] 在該技術方案中,根據(jù)非加密型哈希函數(shù)計算終端中待檢測信息的特征值對應的 字符串的哈希值,并根據(jù)哈希值填充布隆過濾器,具體的,在計算出哈希值后可W將布隆過 濾器中與哈希值對應的位置填充為1,進一步地,將填充后的布隆過濾器和檢測參數(shù)信息發(fā) 送至服務器,W供服務器根據(jù)填充后的布隆過濾器和檢測參數(shù)檢測是否對待檢測信息進行 更新,因此,通過上述技術方案,通過向服務器發(fā)送根據(jù)待檢測信息的特征值對應的字符串 的哈希值填充的布隆過濾器,避免了相關技術中通過將待檢測信息發(fā)送至服務器W檢測是 否更新待檢測信息而消耗較多的移動網(wǎng)絡流量的情況,實現(xiàn)了移動網(wǎng)絡流量的極小化,而 且只需要對待檢測信息的特征值進行序列化和哈希值計算就可實現(xiàn)本技術方案,從而減少 了終端的計算量。
[0008] 在上述技術方案中,優(yōu)選地,所述檢測參數(shù)信息包括:所述待檢測信息的條數(shù)、所 述布隆過濾器的位數(shù)、所述非加密型哈希函數(shù)的個數(shù)。
[0009] 在該技術方案中,檢測參數(shù)信息包括但不限于:待檢測信息的條數(shù)、布隆過濾器的 位數(shù)、非加密型哈希函數(shù)的個數(shù),通過待檢測信息的條數(shù)和布隆過濾器的位數(shù)可W確定非 加密型哈希函數(shù)的個數(shù),W保證檢測的準確性和可靠性,具體的,通過W下公式來確定非加 密型哈希函數(shù)的個數(shù):
[0011]其中,k表示非加密型函數(shù)的個數(shù),m表示布隆過濾器的位數(shù),n表示待檢測信息的 條數(shù)。
[0012] 在上述任一技術方案中,優(yōu)選地,所述構(gòu)造空的布隆過濾器的步驟,還包括:根據(jù) 所述待檢測信息的條數(shù)和每條所述待檢測信息占用的位數(shù),確定空的所述布隆過濾器的位 數(shù)。
[0013] 在該技術方案中,根據(jù)待檢測信息的條數(shù)和每條待檢測信息占用的位數(shù)來確定空 的布隆過濾器的位數(shù),由于無論待檢測信息的內(nèi)容大小,每條待檢測信息占用的位數(shù)固定, 運樣,就可W通過向服務器發(fā)送布隆過濾器來判斷待檢測信息是否需要更新,避免向服務 器直接發(fā)送待檢測信息來判斷待檢測信息而消耗的較多的移動網(wǎng)絡流量,從而實現(xiàn)了移動 網(wǎng)絡流量的極小化。
[0014] 本發(fā)明的第二方面提出了一種信息更新裝置,用于終端,包括:構(gòu)造單元,用于構(gòu) 造空的布隆過濾器;序列化單元,用于將所述終端中待檢測信息的特征值序列化成對應的 字符串;填充單元,用于根據(jù)非加密型哈希函數(shù)計算所述字符串的哈希值,并根據(jù)所述哈希 值填充所述布隆過濾器;發(fā)送單元,用于將填充后的所述布隆過濾器和檢測參數(shù)信息發(fā)送 至服務器,W供所述服務器根據(jù)填充后的所述布隆過濾器和所述檢測參數(shù)信息檢測是否更 新所述待檢測信息。
[0015] 在該技術方案中,根據(jù)非加密型哈希函數(shù)計算終端中待檢測信息的特征值對應的 字符串的哈希值,并根據(jù)哈希值填充布隆過濾器,具體的,在計算出哈希值后可W將布隆過 濾器中與哈希值對應的位置填充為1,進一步地,將填充后的布隆過濾器和檢測參數(shù)信息發(fā) 送至服務器,W供服務器根據(jù)填充后的布隆過濾器和檢測參數(shù)檢測是否對待檢測信息進行 更新,因此,通過上述技術方案,通過向服務器發(fā)送根據(jù)待檢測信息的特征值對應的字符串 的哈希值填充的布隆過濾器,避免了相關技術中通過將待檢測信息發(fā)送至服務器W檢測是 否更新待檢測信息而消耗較多的移動網(wǎng)絡流量的情況,實現(xiàn)了移動網(wǎng)絡流量的極小化,而 且只需要對待檢測信息的特征值進行序列化和哈希值計算就可實現(xiàn)本技術方案,從而減少 了終端的計算量。
[0016] 在上述技術方案中,優(yōu)選地,所述檢測參數(shù)信息包括:所述待檢測信息的條數(shù)、所 述布隆過濾器的位數(shù)、所述非加密型哈希函數(shù)的個數(shù)。
[0017] 在該技術方案中,檢測參數(shù)信息包括但不限于:待檢測信息的條數(shù)、布隆過濾器的 位數(shù)、非加密型哈希函數(shù)的個數(shù),通過待檢測信息的條數(shù)和布隆過濾器的位數(shù)可W確定非 加密型哈希函數(shù)的個數(shù),具體的,通過W下公式來確定非加密型哈希函數(shù)的個數(shù):
[0019]其中,k表示非加密型函數(shù)的個數(shù),m表示布隆過濾器的位數(shù),n表示待檢測信息的 條數(shù)。
[0020] 在上述任一技術方案中,優(yōu)選地,所述構(gòu)造單元包括:確定單元,用于根據(jù)所述待 檢測信息的條數(shù)和每條所述待檢測信息占用的位數(shù),確定空的所述布隆過濾器的位數(shù)。
[0021] 在該技術方案中,根據(jù)待檢測信息的條數(shù)和每條待檢測信息占用的位數(shù)來確定空 的布隆過濾器的位數(shù),由于無論待檢測信息的內(nèi)容大小,每條待檢測信息占用的位數(shù)固定, 運樣,就使得通過向服務器發(fā)送布隆過濾器來判斷待檢測信息是否需要更新,避免向服務 器直接發(fā)送待檢測信息來判斷待檢測信息而消耗的較多的移動網(wǎng)絡流量,從而實現(xiàn)了移動 網(wǎng)絡流量的極小化。
[0022] 本發(fā)明的第=方面提出了一種終端,包括上述技術方案中任一項所述的信息更新 裝置,因此,該終端具有和上述技術方案中任一項所述的信息更新裝置相同的技術效果,在 此不再寶述。
[0023] 本發(fā)明的第四方面提出了一種信息更新方法,用于服務器,包括:接收來自終端的 待檢測信息的布隆過濾器和檢測參數(shù)信息;根據(jù)所述檢測參數(shù)信息和非加密型哈希函數(shù), 計算與所述待檢測信息對應的最新信息的哈希值;根據(jù)所述最新信息的哈希值和所述布隆 過濾器,判斷所述待檢測信息是否為所述最新信息;在判斷結(jié)果為否時,將所述最新信息發(fā) 送至所述終端,W供所述終端根據(jù)所述最新信息對所述待檢測信息進行更新。
[0024] 在該技術方案中,通過接收來自終端的待檢測信息的布隆過濾器和檢測參數(shù)信 息,并根據(jù)檢測參數(shù)信息和非加密性哈希函數(shù)計算與待檢測信息對應的最新信息的哈希 值,進一步地,若根據(jù)最新信息的哈希值和布隆過濾判定待檢測信息不是最新信息時,將最 新信息發(fā)送至終端,W供終端根據(jù)最新信息對待檢測信息進行更新,否則,即若判定待檢測 信息是最新信息時,則不需要對待檢測信息進行更新,因此,通過上述技術方案,根據(jù)最新 信息的哈希值和布隆過濾器判斷是否對待檢測信息進行更新,避免了相關技術中通過接收 待檢測信息W檢測是否對待檢測信息進行更新而消耗較多的移動網(wǎng)絡流量的情況,實現(xiàn)了 移動網(wǎng)絡流量的極小化,而且只需要對待檢測信息對應的最新信息進行哈希值計算就可實 現(xiàn)本技術方案,從而減少了服務器的計算量。
[0025] 在上述技術方案中,優(yōu)選地,所述根據(jù)所述檢測參數(shù)信息和非加密型哈希函數(shù),計 算與所述待檢測信息對應的最新信息的哈希值的步驟,具體包括:將所述最新信息的特征 值序列化成對應的字符串;根據(jù)所述非加密型哈希函數(shù)和所述檢測參數(shù)信息,計算所述最 新信息的特征值對應的字符串的哈希值并作為所述最新信息的哈希值。
[0026] 在該技術方案中,通過將最新信息的特征值序列化成對應的字符串,然后根據(jù)非 加密型哈希函數(shù)和檢測參數(shù)信息計算最新信息的特征值對應的字符串的哈希值作為最新 信息的哈希值,從而實現(xiàn)了根據(jù)非加密型哈希函數(shù)和檢測參數(shù)信息計算得到最新信息的哈 希值的目的。
[0027] 在上述任一技術方案中,優(yōu)選地,所述根據(jù)所述最新信息的哈希值和所述布隆過 濾器,判斷所述待檢測信息是否為所述最新信息的步驟,具體包括:根據(jù)所述最新信息的哈 希值確定所述布隆過濾器的目標位置,判斷所述目標位置是否被填充;