一種更新數(shù)據(jù)的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種更新數(shù)據(jù)的方法及系統(tǒng),包括:客戶端向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求,攜帶有過濾條件,其中,過濾條件的參數(shù)包括:時(shí)間起點(diǎn)參數(shù)、最新數(shù)據(jù)時(shí)間參數(shù);服務(wù)器根據(jù)過濾條件獲取數(shù)據(jù),并將獲取的數(shù)據(jù)返回給客戶端;客戶端將接收到的數(shù)據(jù)與客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成更新數(shù)據(jù)。本發(fā)明的更新數(shù)據(jù)的方法和系統(tǒng),客戶端通過將服務(wù)器發(fā)送的數(shù)據(jù)進(jìn)行拼接形成更新數(shù)據(jù),服務(wù)器每次返回的數(shù)據(jù)不存在冗余數(shù)據(jù),并通過設(shè)置過濾條件,大大減少了從服務(wù)器端獲取的數(shù)據(jù)量,降低了服務(wù)器端的資源占用,同時(shí)減少了客戶端和服務(wù)器端數(shù)據(jù)通信所占用的帶寬,降低了服務(wù)器自身的資源消耗,同時(shí)也減少了帶寬消耗。
【專利說明】一種更新數(shù)據(jù)的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)更新【技術(shù)領(lǐng)域】,尤其涉及一種更新數(shù)據(jù)的方法及系統(tǒng)。
【背景技術(shù)】
[0002]在實(shí)時(shí)數(shù)據(jù)處理系統(tǒng)中,客戶端需要顯示的時(shí)間趨勢(shì)圖的時(shí)間跨度一般都大于客戶端每次請(qǐng)求數(shù)據(jù)的時(shí)間跨度,例如,客戶端需要展示某用戶業(yè)務(wù)最新12小時(shí)的時(shí)間趨勢(shì)圖,而客戶端每隔兩分鐘便向服務(wù)器請(qǐng)求一次數(shù)據(jù)。在現(xiàn)有的技術(shù)中,客戶端每次向服務(wù)器請(qǐng)求的數(shù)據(jù)都是整個(gè)時(shí)間趨勢(shì)圖的時(shí)間跨度的數(shù)據(jù),客戶端每隔設(shè)置的時(shí)間閾值便向服務(wù)器請(qǐng)求一次最近12小時(shí)的數(shù)據(jù),則客戶端每次從服務(wù)器請(qǐng)求獲取的數(shù)據(jù)的大部分和上一次請(qǐng)求到的數(shù)據(jù)是重復(fù)的,大大的浪費(fèi)了服務(wù)器的資源,同時(shí)也消耗了大量帶寬來傳輸重復(fù)數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明要解決的一個(gè)技術(shù)問題是提供一種更新數(shù)據(jù)的方法,客戶端通過將服務(wù)器發(fā)送的數(shù)據(jù)進(jìn)行拼接形成更新數(shù)據(jù)。
[0004]一種更新數(shù)據(jù)的方法,包括:客戶端向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求,所述數(shù)據(jù)更新請(qǐng)求攜帶有過濾條件,其中,所述過濾條件的參數(shù)包括:時(shí)間起點(diǎn)參數(shù)、最新數(shù)據(jù)時(shí)間參數(shù);所述服務(wù)器根據(jù)所述過濾條件獲取數(shù)據(jù),并將獲取的數(shù)據(jù)返回給所述客戶端;所述客戶端將接收到的數(shù)據(jù)與所述客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成更新數(shù)據(jù)。
[0005]根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述客戶端以預(yù)設(shè)的時(shí)間閾值為間隔、周期性地向所述服務(wù)器發(fā)送所述數(shù)據(jù)更新請(qǐng)求;所述客戶端將接收到的數(shù)據(jù)與所述客戶端已存儲(chǔ)的數(shù)據(jù)拼接、形成更新數(shù)據(jù)包括:所述客戶端將所述服務(wù)器此次發(fā)送的數(shù)據(jù)與所述客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成時(shí)間趨勢(shì)圖的數(shù)據(jù)源,并且,所述客戶端將接收到的數(shù)據(jù)放入緩存中。
[0006]根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述客戶端向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求包括:所述客戶端接收到生成所述時(shí)間趨勢(shì)圖的指令;當(dāng)所述時(shí)間趨勢(shì)圖是初次加載時(shí),所述客戶端根據(jù)當(dāng)前時(shí)間和所述時(shí)間趨勢(shì)圖的時(shí)間跨度計(jì)算需要獲取數(shù)據(jù)的時(shí)間起點(diǎn),生成所述數(shù)據(jù)更新請(qǐng)求并攜帶所述時(shí)間起點(diǎn)參數(shù),其中,所述時(shí)間起點(diǎn)參數(shù)的值為此需要獲取數(shù)據(jù)的時(shí)間起點(diǎn);所述服務(wù)器根據(jù)所述過濾條件獲取數(shù)據(jù)、并將獲取的數(shù)據(jù)返回給所述客戶端包括:當(dāng)所述服務(wù)器判斷所述數(shù)據(jù)更新請(qǐng)求包含所述時(shí)間起點(diǎn)參數(shù)時(shí),獲取所述時(shí)間起點(diǎn)參數(shù)的值至當(dāng)前時(shí)間點(diǎn)的數(shù)據(jù)并返回所述客戶端。
[0007]根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述客戶端向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求包括:當(dāng)所述時(shí)間趨勢(shì)圖不是初次加載時(shí),所述客戶端從緩存中讀取所述客戶端上最新數(shù)據(jù)的時(shí)間,生成所述數(shù)據(jù)更新請(qǐng)求并攜帶所述最新數(shù)據(jù)時(shí)間參數(shù),其中,所述最新數(shù)據(jù)時(shí)間參數(shù)的值為所述客戶端上最新數(shù)據(jù)的時(shí)間;所述服務(wù)器根據(jù)所述過濾條件獲取數(shù)據(jù)、并將獲取的數(shù)據(jù)返回給所述客戶端包括:當(dāng)所述服務(wù)器判斷所述數(shù)據(jù)更新請(qǐng)求中包含有所述最新數(shù)據(jù)時(shí)間參數(shù)時(shí),獲取所述最新數(shù)據(jù)時(shí)間參數(shù)的值至當(dāng)前時(shí)間點(diǎn)的數(shù)據(jù)并返回客戶端。
[0008]根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,當(dāng)所述數(shù)據(jù)更新請(qǐng)求中還攜帶有時(shí)間粒度時(shí),所述方法還包括:所述服務(wù)器根據(jù)所述時(shí)間粒度獲取數(shù)據(jù),其中,所述服務(wù)器獲取到的各條數(shù)據(jù)的時(shí)間間隔為所述時(shí)間粒度。
[0009]本發(fā)明要解決的一個(gè)技術(shù)問題是提供一種更新數(shù)據(jù)的系統(tǒng),客戶端通過將服務(wù)器發(fā)送的數(shù)據(jù)進(jìn)行拼接形成更新數(shù)據(jù)。
[0010]一種更新數(shù)據(jù)的系統(tǒng),包括:客戶端和服務(wù)器;所述客戶端包括:更新請(qǐng)求發(fā)送單元,用于向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求,所述數(shù)據(jù)更新請(qǐng)求攜帶有過濾條件,其中,所述過濾條件的參數(shù)包括:時(shí)間起點(diǎn)參數(shù)、最新數(shù)據(jù)時(shí)間參數(shù);數(shù)據(jù)拼接單元,用于將接收到的數(shù)據(jù)與所述客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成更新數(shù)據(jù);所述服務(wù)器包括:數(shù)據(jù)獲取單元,用于根據(jù)所述過濾條件獲取數(shù)據(jù),數(shù)據(jù)發(fā)送單元,用于將獲取的數(shù)據(jù)返回給所述客戶端。
[0011]根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述更新請(qǐng)求發(fā)送單元,還用于以預(yù)設(shè)的時(shí)間閾值為間隔、周期性地向所述服務(wù)器發(fā)送所述數(shù)據(jù)更新請(qǐng)求;所述數(shù)據(jù)拼接單元,還用于將所述服務(wù)器此次發(fā)送的數(shù)據(jù)與所述客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成所述時(shí)間趨勢(shì)圖的數(shù)據(jù)源,并且,將接收到的數(shù)據(jù)放入緩存中。
[0012]根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述更新請(qǐng)求發(fā)送單元,包括:時(shí)間起點(diǎn)計(jì)算子模塊,用于當(dāng)所述時(shí)間趨勢(shì)圖是初次加載時(shí),根據(jù)當(dāng)前時(shí)間和所述時(shí)間趨勢(shì)圖的時(shí)間跨度計(jì)算需要獲取數(shù)據(jù)的時(shí)間起點(diǎn);更新請(qǐng)求生成子模塊,用于生成所述數(shù)據(jù)更新請(qǐng)求并攜帶所述時(shí)間起點(diǎn)參數(shù),其中,所述時(shí)間起點(diǎn)參數(shù)的值為此需要獲取數(shù)據(jù)的時(shí)間起點(diǎn);所述數(shù)據(jù)獲取單元,包括:起點(diǎn)數(shù)據(jù)獲取子模塊,用于當(dāng)判斷所述數(shù)據(jù)更新請(qǐng)求包含所述時(shí)間起點(diǎn)參數(shù)時(shí),獲取所述時(shí)間起點(diǎn)參數(shù)的值至當(dāng)前時(shí)間點(diǎn)的數(shù)據(jù)。
[0013]根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述更新請(qǐng)求發(fā)送單元,還包括:最新數(shù)據(jù)時(shí)間計(jì)算子模塊,用于當(dāng)時(shí)間趨勢(shì)圖不是初次加載時(shí),從緩存中讀取所述客戶端上最新數(shù)據(jù)的時(shí)間;所述更新請(qǐng)求生成子模塊,還用于生成所述數(shù)據(jù)更新請(qǐng)求并攜帶所述最新數(shù)據(jù)時(shí)間參數(shù),其中,所述最新數(shù)據(jù)時(shí)間參數(shù)的值為此客戶端上最新數(shù)據(jù)的時(shí)間;所述數(shù)據(jù)獲取單元,包括:最新數(shù)據(jù)獲取子模塊,用于當(dāng)判斷所述數(shù)據(jù)更新請(qǐng)求中包含有所述最新數(shù)據(jù)時(shí)間參數(shù)時(shí),獲取所述最新數(shù)據(jù)時(shí)間參數(shù)的值至當(dāng)前時(shí)間點(diǎn)的數(shù)據(jù)。
[0014]根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述更新請(qǐng)求發(fā)送單元,還包括:時(shí)間粒度設(shè)置單元,用于設(shè)置數(shù)據(jù)的時(shí)間粒度;所述更新請(qǐng)求生成子模塊,還用于在數(shù)據(jù)更新請(qǐng)求中添加所述時(shí)間粒度;所述數(shù)據(jù)獲取單元,還用于根據(jù)所述時(shí)間粒度獲取數(shù)據(jù),其中,所獲取到的各條數(shù)據(jù)的時(shí)間間隔為所述時(shí)間粒度。
[0015]本發(fā)明的更新數(shù)據(jù)的方法和系統(tǒng),客戶端通過將服務(wù)器發(fā)送的數(shù)據(jù)進(jìn)行拼接形成更新數(shù)據(jù),服務(wù)器每次返回的數(shù)據(jù)不存在冗余數(shù)據(jù),并通過設(shè)置過濾條件,大大減少了從服務(wù)器端獲取的數(shù)據(jù)量,降低了服務(wù)器端的資源占用,同時(shí)減少了客戶端和服務(wù)器端數(shù)據(jù)通信所占用的帶寬,降低了服務(wù)器自身的資源消耗,同時(shí)也減少了帶寬消耗。
【專利附圖】
【附圖說明】
[0016]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1為根據(jù)本發(fā)明的更新數(shù)據(jù)的方法的一個(gè)實(shí)施例的流程圖;
[0018]圖2為根據(jù)本發(fā)明的更新數(shù)據(jù)的系統(tǒng)的一個(gè)實(shí)施例的示意圖。
【具體實(shí)施方式】
[0019]下面參照附圖對(duì)本發(fā)明進(jìn)行更全面的描述,其中說明本發(fā)明的示例性實(shí)施例。下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0020]圖1為根據(jù)本發(fā)明的更新數(shù)據(jù)的方法的一個(gè)實(shí)施例的流程圖,如圖1所示:
[0021]步驟101,客戶端向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求,數(shù)據(jù)更新請(qǐng)求包括:過濾條件。
[0022]步驟102,服務(wù)器根據(jù)過濾條件獲取數(shù)據(jù),并將獲取的數(shù)據(jù)返回給客戶端。
[0023]步驟103,客戶端將接收到的數(shù)據(jù)與客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成更新數(shù)據(jù)。
[0024]在一個(gè)實(shí)施例中,服務(wù)器發(fā)送的數(shù)據(jù)與在客戶端中已存儲(chǔ)或存在的數(shù)據(jù)沒有重復(fù),客戶端可以采用緩存、數(shù)據(jù)庫、文件存儲(chǔ)從服務(wù)器獲取的數(shù)據(jù)。客戶端將生成的更新數(shù)據(jù)作為數(shù)據(jù)源,生成時(shí)間趨勢(shì)圖并顯示,或者可以將更新數(shù)據(jù)作為數(shù)據(jù)源,直接顯示。
[0025]在一個(gè)實(shí)施例中,客戶端以預(yù)設(shè)的時(shí)間閾值為間隔、周期性地向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求,例如,可以間隔3分鐘周期發(fā)送數(shù)據(jù)更新請(qǐng)求??蛻舳藢⒎?wù)器此次發(fā)送的數(shù)據(jù)與客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成時(shí)間趨勢(shì)圖的數(shù)據(jù)源,并且,客戶端將接收到的數(shù)據(jù)放入緩存中。
[0026]客戶端與服務(wù)器之間可以采用多種數(shù)據(jù)傳輸方式,例如,webservice、wcf、webapi等等,客戶端將確認(rèn)的過濾條件作為參數(shù)發(fā)送給服務(wù)器。
[0027]服務(wù)器根據(jù)客戶端傳入的過濾條件,獲取符合過濾條件的數(shù)據(jù)。服務(wù)器可以根據(jù)過濾條件從數(shù)據(jù)庫或其它數(shù)據(jù)源中獲取符合過濾條件的數(shù)據(jù),從數(shù)據(jù)源中獲取的此部分?jǐn)?shù)據(jù)和客戶端已有的數(shù)據(jù)是沒有重復(fù)的??蛻舳私邮盏椒?wù)器返回的數(shù)據(jù)后,將此數(shù)據(jù)和客戶端已有的數(shù)據(jù)拼接后作為數(shù)據(jù)源展示在時(shí)間趨勢(shì)圖中。
[0028]本發(fā)明的更新數(shù)據(jù)的方法,過濾條件的參數(shù)包括:時(shí)間起點(diǎn)參數(shù)、最新數(shù)據(jù)時(shí)間參數(shù)等等。在客戶端向服務(wù)器發(fā)請(qǐng)求時(shí),將當(dāng)前客戶端已有數(shù)據(jù)的最新時(shí)間和其它過濾條件發(fā)送給服務(wù)器,服務(wù)器只需要給客戶端返回其請(qǐng)求時(shí)間以后的數(shù)據(jù)即可,不需要每次都返回整個(gè)時(shí)間趨勢(shì)圖整個(gè)時(shí)間跨度的數(shù)據(jù),降低了服務(wù)器自身的資源消耗,同時(shí)也減少了帶寬消耗。
[0029]在一個(gè)實(shí)施例中,客戶端接收到生成時(shí)間趨勢(shì)圖的指令。當(dāng)時(shí)間趨勢(shì)圖是初次加載時(shí),客戶端根據(jù)當(dāng)前時(shí)間和時(shí)間趨勢(shì)圖的時(shí)間跨度計(jì)算需要獲取的數(shù)據(jù)的時(shí)間起點(diǎn)??蛻舳讼蚍?wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求,此數(shù)據(jù)更新請(qǐng)求中包括:時(shí)間起點(diǎn)參數(shù),其值為獲取的數(shù)據(jù)的時(shí)間起點(diǎn)。
[0030]服務(wù)器從數(shù)據(jù)庫或其它的數(shù)據(jù)源中,獲取此時(shí)間起點(diǎn)與當(dāng)前時(shí)間點(diǎn)之間的所有有關(guān)數(shù)據(jù)。例如,在初次加載時(shí),客戶端獲取當(dāng)前時(shí)間為9點(diǎn),時(shí)間趨勢(shì)圖的時(shí)間跨度為I小時(shí),客戶端向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求中的時(shí)間起點(diǎn)為8點(diǎn),服務(wù)器從數(shù)據(jù)庫或其它的數(shù)據(jù)源中,獲取8點(diǎn)與當(dāng)前時(shí)間點(diǎn)9點(diǎn)之間的所有有關(guān)數(shù)據(jù)。
[0031]客戶端在請(qǐng)求數(shù)據(jù)時(shí),首先確認(rèn)要請(qǐng)求的數(shù)據(jù)的過濾條件。過濾條件可以根據(jù)具體的數(shù)據(jù)進(jìn)行設(shè)置,例如,客戶端上最新數(shù)據(jù)的時(shí)間、需要獲取的數(shù)據(jù)的時(shí)間粒度,也可以包括需要獲取數(shù)據(jù)的查詢條件等等,例如,屬于哪個(gè)用戶,為哪種數(shù)據(jù)等。
[0032]當(dāng)時(shí)間趨勢(shì)圖是初次加載時(shí),客戶端需要根據(jù)當(dāng)前時(shí)間和時(shí)間趨勢(shì)圖的時(shí)間跨度計(jì)算出所需要的數(shù)據(jù)的時(shí)間起點(diǎn),例如:客戶端需要展示最近12小時(shí)的數(shù)據(jù),則在初次加載時(shí),記錄下將當(dāng)前時(shí)間往前推移12個(gè)小時(shí)的時(shí)間點(diǎn)。在向服務(wù)器請(qǐng)求數(shù)據(jù)時(shí),此時(shí)間點(diǎn)需要作為參數(shù)放入請(qǐng)求中。
[0033]在一個(gè)實(shí)施例中,當(dāng)時(shí)間趨勢(shì)圖不是初次加載時(shí),客戶端從緩存中讀取最新數(shù)據(jù)的時(shí)間??蛻舳讼蚍?wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求,此數(shù)據(jù)更新請(qǐng)求中包括:最新數(shù)據(jù)時(shí)間參數(shù),其值為客戶端上最新數(shù)據(jù)的時(shí)間。例如,當(dāng)時(shí)間趨勢(shì)圖不是初次加載時(shí),則從客戶端緩存中讀取目前客戶端中最新數(shù)據(jù)的時(shí)間,例如為5分鐘前,在向服務(wù)器請(qǐng)求數(shù)據(jù)時(shí),此5分鐘前時(shí)間點(diǎn)作為參數(shù)放入請(qǐng)求中。
[0034]在一個(gè)實(shí)施例中,客戶端設(shè)置數(shù)據(jù)的時(shí)間粒度。時(shí)間粒度指的是服務(wù)器所獲取到的準(zhǔn)備提供給客戶端的數(shù)據(jù)的時(shí)間間隔??蛻舳嗽跀?shù)據(jù)更新請(qǐng)求中添加時(shí)間粒度。服務(wù)器根據(jù)時(shí)間粒度獲取數(shù)據(jù),獲取到的各條數(shù)據(jù)的時(shí)間間隔為所述時(shí)間粒度。例如,客戶端需要確定要請(qǐng)求的數(shù)據(jù)的時(shí)間粒度,設(shè)置時(shí)間粒度為I分鐘,則意味著期望的返回?cái)?shù)據(jù)中時(shí)間間隔為I分鐘。
[0035]例如,18:00的同時(shí)在線數(shù)為100萬,18:01的同時(shí)在線數(shù)為120萬,客戶端將時(shí)間粒度設(shè)置為10s,則意味著期望的返回?cái)?shù)據(jù)中的時(shí)間間隔為10秒,比如18:00:00的同時(shí)在線數(shù)為100萬,18:00:10的同時(shí)在線數(shù)為102萬,18:00:20的同時(shí)在線為150萬。則服務(wù)器獲取的各個(gè)數(shù)據(jù)的時(shí)間間隔都是10秒,并返回給客戶端。
[0036]客戶端以5分鐘為周期向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求,在每個(gè)數(shù)據(jù)更新請(qǐng)求中都添加的時(shí)間粒度為30秒,則服務(wù)器每5分鐘準(zhǔn)備一次數(shù)據(jù),服務(wù)器準(zhǔn)備的數(shù)據(jù)中的時(shí)間間隔是30s,并發(fā)送給客戶端。
[0037]服務(wù)器獲取數(shù)據(jù)的頻率取決于客戶端發(fā)請(qǐng)求的頻率,接收到客戶端發(fā)送的請(qǐng)求,服務(wù)器即獲取數(shù)據(jù)并返回。例如,對(duì)于一種在線游戲,需要生成統(tǒng)計(jì)用戶在線的時(shí)間趨勢(shì)圖,設(shè)置時(shí)間粒度為I分鐘,則服務(wù)器獲取到的各條數(shù)據(jù)的時(shí)間間隔都為I分鐘,比如服務(wù)器可能獲取到如下數(shù)據(jù):19:00:00的用戶在線數(shù)據(jù),19:01:00的用戶在線數(shù)據(jù),19:02:00的用戶在線數(shù)據(jù)。
[0038]本發(fā)明的更新數(shù)據(jù)的方法,除了第一次是向服務(wù)器請(qǐng)求整個(gè)時(shí)間趨勢(shì)圖的時(shí)間跨度的完整數(shù)據(jù)以外,往后每次請(qǐng)求數(shù)據(jù)時(shí),都會(huì)將當(dāng)前客戶端已有的數(shù)據(jù)的最新時(shí)間T發(fā)送給服務(wù)器,服務(wù)器收到請(qǐng)求后,只會(huì)將時(shí)間T以后的數(shù)據(jù)返回給客戶端,這樣便能夠保證服務(wù)器每次返回的數(shù)據(jù)是客戶端所期待的,不存在冗余數(shù)據(jù)。
[0039]本發(fā)明的更新數(shù)據(jù)的方法,在客戶端發(fā)起請(qǐng)求前,通過設(shè)置過濾條件,大大減少了從服務(wù)器端獲取的數(shù)據(jù)量,降低了服務(wù)器端的資源占用,數(shù)據(jù)量小了同時(shí)減少了客戶端和服務(wù)器端數(shù)據(jù)通信所占用的帶寬,降低了服務(wù)器自身的資源消耗,同時(shí)也減少了帶寬消耗。
[0040]如圖2所示,本發(fā)明提供一種更新數(shù)據(jù)的系統(tǒng),包括:客戶端21和服務(wù)器22。客戶端21包括:更新請(qǐng)求發(fā)送單元211和數(shù)據(jù)拼接單元212。服務(wù)器22包括:數(shù)據(jù)獲取單元221和數(shù)據(jù)發(fā)送單元,222。
[0041]更新請(qǐng)求發(fā)送單元211向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求,數(shù)據(jù)更新請(qǐng)求包括:過濾條件。數(shù)據(jù)拼接單元212將接收到的數(shù)據(jù)與客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成更新數(shù)據(jù)。數(shù)據(jù)獲取單元221根據(jù)過濾條件獲取數(shù)據(jù),數(shù)據(jù)發(fā)送單元222將獲取的數(shù)據(jù)返回給客戶端。
[0042]在一個(gè)實(shí)施例中,數(shù)據(jù)發(fā)送單元222發(fā)送的數(shù)據(jù)與客戶端已存儲(chǔ)的數(shù)據(jù)沒有重復(fù)。數(shù)據(jù)拼接單元212將更新數(shù)據(jù)作為數(shù)據(jù)源,生成時(shí)間趨勢(shì)圖并顯示。
[0043]在一個(gè)實(shí)施例中,更新請(qǐng)求發(fā)送單元211以預(yù)設(shè)的時(shí)間閾值為間隔、周期性地向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求。數(shù)據(jù)拼接單元212將服務(wù)器此次發(fā)送的數(shù)據(jù)與客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成時(shí)間趨勢(shì)圖的數(shù)據(jù)源,并且,將接收到的數(shù)據(jù)放入緩存中。
[0044]在一個(gè)實(shí)施例中,過濾條件的參數(shù)包括:時(shí)間起點(diǎn)參數(shù)、最新數(shù)據(jù)時(shí)間參數(shù)等等。更新請(qǐng)求發(fā)送單元211可以包括:時(shí)間起點(diǎn)計(jì)算子模塊、最新數(shù)據(jù)時(shí)間計(jì)算子模塊和更新請(qǐng)求生成子模塊。
[0045]當(dāng)時(shí)間趨勢(shì)圖是初次加載時(shí),時(shí)間起點(diǎn)計(jì)算子模塊根據(jù)當(dāng)前時(shí)間和時(shí)間趨勢(shì)圖的時(shí)間跨度計(jì)算需要獲取數(shù)據(jù)的時(shí)間起點(diǎn)。更新請(qǐng)求生成子模塊生成數(shù)據(jù)更新請(qǐng)求并攜帶時(shí)間起點(diǎn)參數(shù),其中,時(shí)間起點(diǎn)參數(shù)的值為此需要獲取數(shù)據(jù)的時(shí)間起點(diǎn)。
[0046]數(shù)據(jù)獲取單元221可以包括起點(diǎn)數(shù)據(jù)獲取子模塊,當(dāng)判斷數(shù)據(jù)更新請(qǐng)求包含時(shí)間起點(diǎn)參數(shù)時(shí),起點(diǎn)數(shù)據(jù)獲取模塊獲取時(shí)間起點(diǎn)參數(shù)的值至當(dāng)前時(shí)間點(diǎn)的數(shù)據(jù)。
[0047]在一個(gè)實(shí)施例中,當(dāng)時(shí)間趨勢(shì)圖不是初次加載時(shí),最新數(shù)據(jù)時(shí)間計(jì)算子模塊從緩存中讀取客戶端上最新數(shù)據(jù)的時(shí)間。更新請(qǐng)求生成子模塊生成數(shù)據(jù)更新請(qǐng)求并攜帶最新數(shù)據(jù)時(shí)間參數(shù),最新數(shù)據(jù)時(shí)間參數(shù)的值為此客戶端上最新數(shù)據(jù)的時(shí)間。
[0048]數(shù)據(jù)獲取單元221可以包括最新數(shù)據(jù)獲取子模塊,當(dāng)判斷數(shù)據(jù)更新請(qǐng)求中包含有最新數(shù)據(jù)時(shí)間參數(shù)時(shí),數(shù)據(jù)獲取子模塊獲取最新數(shù)據(jù)時(shí)間參數(shù)的值至當(dāng)前時(shí)間點(diǎn)的數(shù)據(jù)。
[0049]在一個(gè)實(shí)施例中,更新請(qǐng)求發(fā)送單元211設(shè)置數(shù)據(jù)的時(shí)間粒度。更新請(qǐng)求發(fā)送單元211在數(shù)據(jù)更新請(qǐng)求中添加時(shí)間粒度。數(shù)據(jù)獲取單元221根據(jù)時(shí)間粒度獲取數(shù)據(jù),所獲取到的各條數(shù)據(jù)的時(shí)間間隔為時(shí)間粒度。
[0050]本發(fā)明的更新數(shù)據(jù)的方法和系統(tǒng),除了第一次是獲取完整數(shù)據(jù)以外,以后每次請(qǐng)求數(shù)據(jù)時(shí),都會(huì)將當(dāng)前客戶端已有的數(shù)據(jù)的最新時(shí)間T發(fā)送給服務(wù)器,服務(wù)器收到請(qǐng)求后,只會(huì)將時(shí)間T以后的數(shù)據(jù)返回給客戶端,能夠保證服務(wù)器每次返回的數(shù)據(jù)不存在冗余數(shù)據(jù),并通過設(shè)置過濾條件,大大減少了從服務(wù)器端獲取的數(shù)據(jù)量,降低了服務(wù)器端的資源占用,數(shù)據(jù)量小了同時(shí)減少了客戶端和服務(wù)器端數(shù)據(jù)通信所占用的帶寬,降低了服務(wù)器自身的資源消耗,同時(shí)也減少了帶寬消耗。
[0051]可能以許多方式來實(shí)現(xiàn)本發(fā)明的方法和系統(tǒng)。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實(shí)現(xiàn)本發(fā)明的方法和系統(tǒng)。用于方法的步驟的上述順序僅是為了進(jìn)行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實(shí)施例中,還可將本發(fā)明實(shí)施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲(chǔ)用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
[0052]本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對(duì)于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實(shí)施例是為了更好說明本發(fā)明的原理和實(shí)際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計(jì)適于特定用途的帶有各種修改的各種實(shí)施例。
【權(quán)利要求】
1.一種更新數(shù)據(jù)的方法,其特征在于,包括: 客戶端向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求;所述數(shù)據(jù)更新請(qǐng)求攜帶有過濾條件,其中,所述過濾條件的參數(shù)包括:時(shí)間起點(diǎn)參數(shù)、最新數(shù)據(jù)時(shí)間參數(shù); 所述服務(wù)器根據(jù)所述過濾條件獲取數(shù)據(jù),并將獲取的數(shù)據(jù)返回給所述客戶端; 所述客戶端將接收到的數(shù)據(jù)與所述客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成更新數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述客戶端以預(yù)設(shè)的時(shí)間閾值為間隔、周期性地向所述服務(wù)器發(fā)送所述數(shù)據(jù)更新請(qǐng)求; 所述客戶端將接收到的數(shù)據(jù)與所述客戶端已存儲(chǔ)的數(shù)據(jù)拼接、形成更新數(shù)據(jù)包括:所述客戶端將所述服務(wù)器此次發(fā)送的數(shù)據(jù)與所述客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成時(shí)間趨勢(shì)圖的數(shù)據(jù)源,并且,所述客戶端將接收到的數(shù)據(jù)放入緩存中。
3.如權(quán)利要求2所述的方法,其特征在于: 所述客戶端向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求包括: 所述客戶端接收到生成所述時(shí)間趨勢(shì)圖的指令; 當(dāng)所述時(shí)間趨勢(shì)圖是初次加載時(shí),所述客戶端根據(jù)當(dāng)前時(shí)間和所述時(shí)間趨勢(shì)圖的時(shí)間跨度計(jì)算需要獲取數(shù)據(jù)的時(shí)間起點(diǎn),生成所述數(shù)據(jù)更新請(qǐng)求并攜帶所述時(shí)間起點(diǎn)參數(shù),其中,所述時(shí)間起點(diǎn)參數(shù)的值為此需要獲取數(shù)據(jù)的時(shí)間起點(diǎn); 所述服務(wù)器根據(jù)所述過濾條件獲取數(shù)據(jù)、并將獲取的數(shù)據(jù)返回給所述客戶端包括:當(dāng)所述服務(wù)器判斷所述數(shù)據(jù)更新請(qǐng)求包含所述時(shí)間起點(diǎn)參數(shù)時(shí),獲取所述時(shí)間起點(diǎn)參數(shù)的值至當(dāng)前時(shí)間點(diǎn)的數(shù)據(jù)并返回所述客戶端。
4.如權(quán)利要求2所述的方法,其特征在于: 所述客戶端向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求包括: 當(dāng)所述時(shí)間趨勢(shì)圖不是初次加載時(shí),所述客戶端從緩存中讀取所述客戶端上最新數(shù)據(jù)的時(shí)間,生成所述數(shù)據(jù)更新請(qǐng)求并攜帶所述最新數(shù)據(jù)時(shí)間參數(shù),其中,所述最新數(shù)據(jù)時(shí)間參數(shù)的值為所述客戶端上最新數(shù)據(jù)的時(shí)間; 所述服務(wù)器根據(jù)所述過濾條件獲取數(shù)據(jù)、并將獲取的數(shù)據(jù)返回給所述客戶端包括: 當(dāng)所述服務(wù)器判斷所述數(shù)據(jù)更新請(qǐng)求中包含有所述最新數(shù)據(jù)時(shí)間參數(shù)時(shí),獲取所述最新數(shù)據(jù)時(shí)間參數(shù)的值至當(dāng)前時(shí)間點(diǎn)的數(shù)據(jù)并返回所述客戶端。
5.如權(quán)利要求2所述的方法,其特征在于: 當(dāng)所述數(shù)據(jù)更新請(qǐng)求中還攜帶有時(shí)間粒度時(shí),所述方法還包括: 所述服務(wù)器根據(jù)所述時(shí)間粒度獲取數(shù)據(jù),其中,所述服務(wù)器獲取到的各條數(shù)據(jù)的時(shí)間間隔為所述時(shí)間粒度。
6.一種更新數(shù)據(jù)的系統(tǒng),其特征在于,包括: 客戶端和服務(wù)器; 所述客戶端包括: 更新請(qǐng)求發(fā)送單元,用于向服務(wù)器發(fā)送數(shù)據(jù)更新請(qǐng)求,所述數(shù)據(jù)更新請(qǐng)求攜帶有過濾條件,其中,所述過濾條件的參數(shù)包括:時(shí)間起點(diǎn)參數(shù)、最新數(shù)據(jù)時(shí)間參數(shù); 數(shù)據(jù)拼接單元,用于將接收到的數(shù)據(jù)與所述客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成更新數(shù)據(jù); 所述服務(wù)器包括: 數(shù)據(jù)獲取單元,用于根據(jù)所述過濾條件獲取數(shù)據(jù), 數(shù)據(jù)發(fā)送單元,用于將獲取的數(shù)據(jù)返回給所述客戶端。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于: 所述更新請(qǐng)求發(fā)送單元,還用于以預(yù)設(shè)的時(shí)間閾值為間隔、周期性地向所述服務(wù)器發(fā)送所述數(shù)據(jù)更新請(qǐng)求; 所述數(shù)據(jù)拼接單元,還用于將所述服務(wù)器此次發(fā)送的數(shù)據(jù)與所述客戶端已存儲(chǔ)的數(shù)據(jù)拼接,形成所述時(shí)間趨勢(shì)圖的數(shù)據(jù)源,并且,將接收到的數(shù)據(jù)放入緩存中。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于: 所述更新請(qǐng)求發(fā)送單元,包括: 時(shí)間起點(diǎn)計(jì)算子模塊,用于當(dāng)所述時(shí)間趨勢(shì)圖是初次加載時(shí),根據(jù)當(dāng)前時(shí)間和所述時(shí)間趨勢(shì)圖的時(shí)間跨度計(jì)算需要獲取數(shù)據(jù)的時(shí)間起點(diǎn); 更新請(qǐng)求生成子模塊,用于生成所述數(shù)據(jù)更新請(qǐng)求并攜帶所述時(shí)間起點(diǎn)參數(shù),其中,所述時(shí)間起點(diǎn)參數(shù)的值為此需要獲取數(shù)據(jù)的時(shí)間起點(diǎn); 所述數(shù)據(jù)獲取單元,包括: 起點(diǎn)數(shù)據(jù)獲取子模塊,用于當(dāng)判斷所述數(shù)據(jù)更新請(qǐng)求包含所述時(shí)間起點(diǎn)參數(shù)時(shí),獲取所述時(shí)間起點(diǎn)參數(shù)的值至當(dāng)前時(shí)間點(diǎn)的數(shù)據(jù)。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于: 所述更新請(qǐng)求發(fā)送單元,還包括: 最新數(shù)據(jù)時(shí)間計(jì)算子模塊,用于當(dāng)時(shí)間趨勢(shì)圖不是初次加載時(shí),從緩存中讀取所述客戶端上最新數(shù)據(jù)的時(shí)間; 所述更新請(qǐng)求生成子模塊,還用于生成所述數(shù)據(jù)更新請(qǐng)求并攜帶所述最新數(shù)據(jù)時(shí)間參數(shù),其中,所述最新數(shù)據(jù)時(shí)間參數(shù)的值為此客戶端上最新數(shù)據(jù)的時(shí)間; 所述數(shù)據(jù)獲取單元,包括: 最新數(shù)據(jù)獲取子模塊,用于當(dāng)判斷所述數(shù)據(jù)更新請(qǐng)求中包含有所述最新數(shù)據(jù)時(shí)間參數(shù)時(shí),獲取所述最新數(shù)據(jù)時(shí)間參數(shù)的值至當(dāng)前時(shí)間點(diǎn)的數(shù)據(jù)。
10.如權(quán)利要求7所述的系統(tǒng),其特征在于: 所述更新請(qǐng)求發(fā)送單元,還包括: 時(shí)間粒度設(shè)置單元,還用于設(shè)置數(shù)據(jù)的時(shí)間粒度; 所述更新請(qǐng)求生成子模塊,還用于在數(shù)據(jù)更新請(qǐng)求中添加所述時(shí)間粒度; 所述數(shù)據(jù)獲取單元,還用于根據(jù)所述時(shí)間粒度獲取數(shù)據(jù),其中,所獲取到的各條數(shù)據(jù)的時(shí)間間隔為所述時(shí)間粒度。
【文檔編號(hào)】H04L29/08GK104331494SQ201410654721
【公開日】2015年2月4日 申請(qǐng)日期:2014年11月17日 優(yōu)先權(quán)日:2014年11月17日
【發(fā)明者】王鵬 申請(qǐng)人:北京國(guó)雙科技有限公司