本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)聚合方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的不斷發(fā)展,在云環(huán)境下進(jìn)行業(yè)務(wù)數(shù)據(jù)的存儲與統(tǒng)計也越來越普遍。例如,對qps(querypersecond,每秒查詢率)、pv(pageview,頁面瀏覽量)等不同類別的業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲與統(tǒng)計。由于在云環(huán)境下存儲的數(shù)據(jù)量很大,因此在對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行統(tǒng)計時,需要對海量的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合。
目前,在對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,首先將不同時間段接收到的各個類別的業(yè)務(wù)數(shù)據(jù)寫入到文件中,然后從文件中讀取需要聚合的某一類別的全部業(yè)務(wù)數(shù)據(jù),最后將讀取的業(yè)務(wù)數(shù)據(jù)按照時間進(jìn)行排序后發(fā)送給計算服務(wù)器進(jìn)行數(shù)據(jù)聚合,例如發(fā)送給mapreduce(映射歸約)服務(wù)器進(jìn)行數(shù)據(jù)聚合,具體可以如圖5所示。然而,由于在進(jìn)行數(shù)據(jù)聚合時,需要對文件進(jìn)行讀寫操作,而為了解決進(jìn)行文件讀寫操作過程中存在的文件鎖沖突的問題,會在數(shù)據(jù)聚合時進(jìn)行一次保存有待聚合數(shù)據(jù)的文件復(fù)制過程,從而造成數(shù)據(jù)計算的延遲較高,并且由于還需要將讀取的業(yè)務(wù)數(shù)據(jù)按照時間進(jìn)行一次排序,從而造成數(shù)據(jù)聚合的過程較為繁瑣,數(shù)據(jù)聚合操作的效率較低,數(shù)據(jù)聚合操作延遲較高;同時由于業(yè)務(wù)數(shù)據(jù)在從文件中讀取并完成聚合操作后,如果再次接收到與進(jìn)行聚合操作的業(yè)務(wù)數(shù)據(jù)時間相同或者時間更早的業(yè)務(wù)數(shù)據(jù),再次接收到的這部分業(yè)務(wù)數(shù)據(jù)將被丟棄,從而造成數(shù)據(jù)聚合統(tǒng)計的精確度較低。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提供一種數(shù)據(jù)聚合方法及裝置,主要目的是解決在對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時存在數(shù)據(jù)聚合操作延遲較高的 技術(shù)問題。
與此同時,本發(fā)明還提供一種數(shù)據(jù)聚合方法及裝置,主要目的是解決數(shù)據(jù)聚合統(tǒng)計精確度較低的技術(shù)問題。
為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
一方面,本發(fā)明提供一種數(shù)據(jù)聚合方法,包括:
數(shù)據(jù)聚合服務(wù)器接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù),所述業(yè)務(wù)數(shù)據(jù)攜帶有時間戳,所述時間戳用于標(biāo)識所述業(yè)務(wù)服務(wù)器接收到所述業(yè)務(wù)數(shù)據(jù)的時間;
檢測所述時間戳是否大于目標(biāo)時間戳,所述目標(biāo)時間戳為所述數(shù)據(jù)聚合服務(wù)器上一次接收到所述業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳;
若所述時間戳大于所述目標(biāo)時間戳,則將時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合,所述目標(biāo)時間戳對應(yīng)的業(yè)務(wù)數(shù)據(jù)保存在預(yù)置存儲位置。
另一方面,本發(fā)明提供一種數(shù)據(jù)聚合裝置,包括:
接收單元,用于接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù),所述業(yè)務(wù)數(shù)據(jù)攜帶有時間戳,所述時間戳用于標(biāo)識所述業(yè)務(wù)服務(wù)器接收到所述業(yè)務(wù)數(shù)據(jù)的時間;
檢測單元,用于檢測所述接收單元接收的所述時間戳是否大于目標(biāo)時間戳,所述目標(biāo)時間戳為上一次接收到所述業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳;
聚合單元,用于若所述檢測單元檢測所述時間戳大于所述目標(biāo)時間戳,則將時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合,所述目標(biāo)時間戳對應(yīng)的業(yè)務(wù)數(shù)據(jù)保存在預(yù)置存儲位置。
借由上述技術(shù)方案,本發(fā)明實施例提供的技術(shù)方案至少具有下列優(yōu)點:
本發(fā)明提供的一種數(shù)據(jù)聚合方法及裝置,當(dāng)需要對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,首先數(shù)據(jù)聚合服務(wù)器接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù),然后實時檢測業(yè)務(wù)數(shù)據(jù)中攜帶的時間戳是否大于所述數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳,若大 于,則將時間戳與數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳相同的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。與目前在對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,都需要對用于存儲業(yè)務(wù)數(shù)據(jù)的文件進(jìn)行讀寫操作,并且還需要將讀取的業(yè)務(wù)數(shù)據(jù)按照時間進(jìn)行一次排序,同時如果再次接收到與進(jìn)行聚合操作的業(yè)務(wù)數(shù)據(jù)時間相同或者時間更早的業(yè)務(wù)數(shù)據(jù),這部分業(yè)務(wù)數(shù)據(jù)將被丟棄相比,本發(fā)明由于只需要通過檢測當(dāng)前業(yè)務(wù)數(shù)據(jù)的時間戳是否大于數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳,即可實現(xiàn)對不同時間段的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合,提高數(shù)據(jù)聚合的效率,并且由于檢測操作是實時進(jìn)行的,可以降低數(shù)據(jù)聚合操作的延遲,提高數(shù)據(jù)聚合的實時性;同時由于本發(fā)明中設(shè)置了時間容忍期,可以對當(dāng)前接收到的時間較早的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合操作,進(jìn)而提高了數(shù)據(jù)聚合統(tǒng)計的精確度。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了本發(fā)明實施例提供的一種數(shù)據(jù)聚合方法的流程圖;
圖2示出了本發(fā)明實施例提供的另一種數(shù)據(jù)聚合方法的流程圖;
圖3示出了本發(fā)明實施例提供的一種數(shù)據(jù)聚合裝置的結(jié)構(gòu)示意圖;
圖4示出了本發(fā)明實施例提供的另一種數(shù)據(jù)聚合裝置的結(jié)構(gòu)示意圖;
圖5示出了本發(fā)明提供的現(xiàn)有數(shù)據(jù)聚合流程示意圖;
圖6示出了本發(fā)明實施例提供的不同業(yè)務(wù)數(shù)據(jù)服務(wù)器中業(yè)務(wù)數(shù)據(jù)時間戳示意圖;
圖7示出了本發(fā)明實施例提供的不同數(shù)據(jù)聚合服務(wù)器本地時間示意圖;
圖8示出了本發(fā)明實施例提供的數(shù)據(jù)聚合服務(wù)器中不同業(yè)務(wù)數(shù)據(jù)的時 間戳示意圖;
圖9示出了本發(fā)明實施例提供的業(yè)務(wù)數(shù)據(jù)服務(wù)器時間與數(shù)據(jù)聚合服務(wù)器時間的映射方式示意圖。
具體實施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
本發(fā)明實施例提供的一種數(shù)據(jù)聚合方法,如圖1所示,所述方法包括:
101、數(shù)據(jù)聚合服務(wù)器接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)。
其中,所述業(yè)務(wù)數(shù)據(jù)攜帶有時間戳,所述時間戳用于標(biāo)識所述業(yè)務(wù)服務(wù)器接收到所述業(yè)務(wù)數(shù)據(jù)的時間。例如,業(yè)務(wù)數(shù)據(jù)服務(wù)器接收到業(yè)務(wù)數(shù)據(jù)的時間為10:01,則數(shù)據(jù)聚合服務(wù)器接收到的業(yè)務(wù)數(shù)據(jù)中攜帶的時間戳為10:01。所述數(shù)據(jù)聚合服務(wù)器用于對業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合處理;所述業(yè)務(wù)數(shù)據(jù)可以為qps(querypersecond,每秒查詢率)、pv(pageview,頁面瀏覽量)等不同類別的業(yè)務(wù)數(shù)據(jù),也可以為同一類別不同應(yīng)用的業(yè)務(wù)數(shù)據(jù),如應(yīng)用a和應(yīng)用b的pv數(shù)據(jù),本發(fā)明實施例不做限定。
102、檢測所述時間戳是否大于目標(biāo)時間戳。
其中,所述目標(biāo)時間戳為所述數(shù)據(jù)聚合服務(wù)器上一次接收到所述業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)時該業(yè)務(wù)數(shù)據(jù)攜帶的時間戳。不同時間戳可以按照時間順序以列表、時間軸等方式進(jìn)行展示,本發(fā)明實施例不做限定,例如,當(dāng)不同時間戳按照時間順序以時間軸等方式進(jìn)行展示時,時間軸上的時間會不斷向前滾動,以保證時間軸上的時間為當(dāng)前時間。對于本發(fā)明實施例,通過檢測所述時間戳是否大于目標(biāo)時間戳,即檢測當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)的時間與上一次接收到業(yè)務(wù)數(shù)據(jù)的時間是否發(fā)生變化,從而確定是否觸發(fā)業(yè)務(wù)數(shù)據(jù)聚合操作,從而保證了對業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合操作的實時性。
對于本發(fā)明實施例,可以以秒為單位配置時間戳、以分鐘為單位配置 時間戳等,本發(fā)明實施例不做限定。當(dāng)以秒為單位配置時間戳?xí)r,不同時間戳以秒來進(jìn)行區(qū)分,如10:01:01、10:01:02、10:01:03等;當(dāng)以分鐘為單位配置時間戳?xí)r,不同時間戳以分鐘來進(jìn)行區(qū)分,如10:01、10:02、10:03,其中,10:01:01-10:01:59都?xì)w為10:01,以此類推。
例如,業(yè)務(wù)數(shù)據(jù)服務(wù)器以分鐘為單位配置時間戳,若數(shù)據(jù)聚合服務(wù)器當(dāng)前接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳為10:01,數(shù)據(jù)聚合服務(wù)器上一次接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳同為10:01,則確定不觸發(fā)業(yè)務(wù)數(shù)據(jù)聚合操作;若數(shù)據(jù)聚合服務(wù)器當(dāng)前接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳為10:02,大于數(shù)據(jù)聚合服務(wù)器上一次接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳10:01,則確定觸發(fā)業(yè)務(wù)數(shù)據(jù)聚合操作。
103、若所述時間戳大于所述目標(biāo)時間戳,則將時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。
其中,所述目標(biāo)時間戳對應(yīng)的業(yè)務(wù)數(shù)據(jù)保存在預(yù)置存儲位置。所述預(yù)置存儲位置可以為預(yù)置映射關(guān)系表、預(yù)置隊列等,本發(fā)明實施例不做限定。對于本發(fā)明實施例,若所述時間戳大于所述目標(biāo)時間戳,如由10:01變?yōu)榱?0:02、或者由10:01:01變?yōu)榱?0:01:02,說明當(dāng)前業(yè)務(wù)數(shù)據(jù)攜帶的時間戳向前發(fā)生了變化,即實時觸發(fā)對上一時間戳的全部業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合操作,從而保證了業(yè)務(wù)數(shù)據(jù)聚合操作的實時性,提高了業(yè)務(wù)數(shù)據(jù)的聚合操作效率。
本發(fā)明實施例提供的一種數(shù)據(jù)聚合方法,當(dāng)需要對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,首先數(shù)據(jù)聚合服務(wù)器接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù),然后實時檢測業(yè)務(wù)數(shù)據(jù)中攜帶的時間戳是否大于所述數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳,若大于,則將時間戳與數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳相同的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。與目前在對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,都需要對用于存儲業(yè)務(wù)數(shù)據(jù)的文件進(jìn)行讀寫操作,并且還需要將讀取的業(yè)務(wù)數(shù)據(jù)按照時間進(jìn)行一次排序相比,本發(fā)明由于只需要通過檢測當(dāng)前業(yè)務(wù)數(shù)據(jù)的時間戳是否大于數(shù)據(jù)聚合服務(wù)器 上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳,即可實現(xiàn)對不同時間段的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合,提高數(shù)據(jù)聚合的效率,并且由于檢測操作是實時進(jìn)行的,可以降低數(shù)據(jù)聚合操作的延遲,同時可以提高數(shù)據(jù)聚合的實時性。
進(jìn)一步地,本發(fā)明實施例提供另一種數(shù)據(jù)聚合方法,如圖2所示,所述方法包括:
201、數(shù)據(jù)聚合服務(wù)器接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)。
其中,所述業(yè)務(wù)數(shù)據(jù)攜帶有時間戳,所述時間戳用于標(biāo)識所述業(yè)務(wù)服務(wù)器接收到所述業(yè)務(wù)數(shù)據(jù)的時間。所述數(shù)據(jù)聚合服務(wù)器和所述業(yè)務(wù)數(shù)據(jù)的相應(yīng)描述可以參照圖1所述實施例的對應(yīng)描述,在此不再贅述。
202、檢測所述時間戳是否大于目標(biāo)時間戳。
其中,所述目標(biāo)時間戳為所述數(shù)據(jù)聚合服務(wù)器上一次接收到所述業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)時該業(yè)務(wù)數(shù)據(jù)攜帶的時間戳。所述時間戳的配置方式的具體描述可以參照圖1所述實施例的對應(yīng)描述,在此不再贅述。
對于本發(fā)明實施例,通過檢測所述時間戳是否大于目標(biāo)時間戳,即檢測當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)的時間與上一次接收到業(yè)務(wù)數(shù)據(jù)的時間是否向前發(fā)生變化,從而確定是否觸發(fā)業(yè)務(wù)數(shù)據(jù)聚合操作,從而保證了對業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合操作的實時性。
進(jìn)一步地,步驟202之后還可以包括:若所述時間戳與所述目標(biāo)時間戳相同,則將當(dāng)前接收到的所述業(yè)務(wù)數(shù)據(jù)緩存到與所述目標(biāo)時間戳對應(yīng)的預(yù)置隊列中。其中,所述預(yù)置隊列中緩存有時間戳為所述目標(biāo)時間戳的全部業(yè)務(wù)數(shù)據(jù)。不同預(yù)置隊列分別緩存有時間戳不同的業(yè)務(wù)數(shù)據(jù),由于對隊列進(jìn)行緩存和讀取操作的延遲較低,因此,將業(yè)務(wù)數(shù)據(jù)緩存到隊列中,可以進(jìn)一步降低數(shù)據(jù)聚合操作的延遲,提高數(shù)據(jù)聚合操作的實時性。若所述時間戳小于所述目標(biāo)時間戳,則將當(dāng)前接收到的所述業(yè)務(wù)數(shù)據(jù)刪除。如時間戳由10:01變?yōu)榱?9:50,則將當(dāng)前接收到的時間戳為09:50的業(yè)務(wù)數(shù)據(jù)刪除,從而保證數(shù)據(jù)聚合的準(zhǔn)確性。
203、若所述時間戳大于所述目標(biāo)時間戳,則將時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。
其中,所述目標(biāo)時間戳對應(yīng)的業(yè)務(wù)數(shù)據(jù)保存在預(yù)置存儲位置。所述預(yù)置存儲位置可以為預(yù)置映射關(guān)系表、預(yù)置隊列等,本發(fā)明實施例不做限定。
對于本發(fā)明實施例,步驟203之前還可以包括:判斷當(dāng)前接收到所述業(yè)務(wù)數(shù)據(jù)之后的第一預(yù)置時間段內(nèi),是否接收到時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)。需要說明的是,當(dāng)某一個時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合后,由于傳輸數(shù)據(jù)延遲等原因,業(yè)務(wù)數(shù)據(jù)服務(wù)器有可能再次接收到該時間戳的業(yè)務(wù)數(shù)據(jù),此時,如果不對延遲接收到的業(yè)務(wù)數(shù)據(jù)進(jìn)行處理,會造成業(yè)務(wù)數(shù)據(jù)的丟失,進(jìn)而使得業(yè)務(wù)數(shù)據(jù)聚合的準(zhǔn)確性較低,因此,在進(jìn)行數(shù)據(jù)聚合之前,通過配置時間容忍期,即第一預(yù)置時間段,可以避免延遲接收到的業(yè)務(wù)數(shù)據(jù)的丟失,提高業(yè)務(wù)數(shù)據(jù)聚合統(tǒng)計的準(zhǔn)確性。
其中,所述第一預(yù)置時間段可以根據(jù)時間戳的配置單位進(jìn)行配置。例如,若時間戳的配置單位為秒,則第一預(yù)置時間段可以為1秒、2秒等,若時間戳的配置單位為分鐘,則第一預(yù)置時間段可以為1分鐘、2分鐘等。通過根據(jù)時間戳的配置單位配置第一預(yù)置時間段,可以進(jìn)一步提高時間容忍期的配置準(zhǔn)確性,進(jìn)而進(jìn)一步提高業(yè)務(wù)數(shù)據(jù)聚合的準(zhǔn)確性。
此時,步驟203具體可以包括:若未接收到,則將時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合;若接收到,則將在所述第一預(yù)置時間段內(nèi)接收到的所述業(yè)務(wù)數(shù)據(jù)和時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。
例如,業(yè)務(wù)數(shù)據(jù)服務(wù)器以分鐘為單位配置時間戳,則此時將第一預(yù)置時間段配置為5分鐘。若數(shù)據(jù)聚合服務(wù)器當(dāng)前接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳為10:02,數(shù)據(jù)聚合服務(wù)器上一次接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳為10:01,則在對時間戳為10:01的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合前,判斷從當(dāng)前時間開始后的五分鐘內(nèi)是否接收到攜帶的時間戳為10:01的業(yè)務(wù)數(shù)據(jù),若接收到,則將在五分鐘內(nèi)接收到的時間戳為10:01的業(yè)務(wù)數(shù)據(jù)和之前接收到的時間戳為10:01的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合;若未接收到,說明此時不存在延遲的業(yè)務(wù)數(shù)據(jù),將時間戳為10:01的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合,從而保證了數(shù)據(jù)聚合的準(zhǔn)確性。
進(jìn)一步地,步驟203之后還可以包括:建立與當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù) 的時間戳對應(yīng)的隊列;將所述業(yè)務(wù)數(shù)據(jù)緩存在所述隊列中。由于不同時間戳對應(yīng)不同的隊列,因此通過新建隊列對當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)進(jìn)行保存。
204、判斷所述業(yè)務(wù)數(shù)據(jù)服務(wù)器是否終止接收與所述當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù)。
其中,類型相同的業(yè)務(wù)數(shù)據(jù)具體可以為業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù),例如,判斷是否終止接收類別為qps的業(yè)務(wù)數(shù)據(jù);類型相同的業(yè)務(wù)數(shù)據(jù)具體還可以為相同應(yīng)用的業(yè)務(wù)數(shù)據(jù),例如,判斷是否終止接收應(yīng)用a的業(yè)務(wù)數(shù)據(jù)。
對于本發(fā)明實施例,步驟204具體可以包括:判斷在當(dāng)前接收到所述業(yè)務(wù)數(shù)據(jù)之后的第二預(yù)置時間段內(nèi),是否接收到與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù);若未接收到,則確認(rèn)所述業(yè)務(wù)數(shù)據(jù)服務(wù)器終止接收與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù)。需要說明的是,若在當(dāng)前接收到所述業(yè)務(wù)數(shù)據(jù)之后的一定時間段內(nèi),未接收到與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù),可以確定業(yè)務(wù)數(shù)據(jù)服務(wù)器終止接收與所述當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù)。
其中,第二預(yù)置時間段具體可以根據(jù)時間戳的配置單位進(jìn)行配置。例如,若時間戳的配置單位為秒,則第二預(yù)置時間段可以為1秒、2秒等,若時間戳的配置單位為分鐘,則第二預(yù)置時間段可以為1分鐘、2分鐘等。通過根據(jù)時間戳的配置單位配置第二預(yù)置時間段,可以進(jìn)一步提高終止接收業(yè)務(wù)數(shù)據(jù)的判斷精度,進(jìn)而提高業(yè)務(wù)數(shù)據(jù)聚合操作的準(zhǔn)確性。
205、若所述業(yè)務(wù)數(shù)據(jù)服務(wù)器終止接收與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù),則對當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。
對于本發(fā)明實施例,當(dāng)業(yè)務(wù)數(shù)據(jù)服務(wù)器終止接收與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù)時,說明數(shù)據(jù)聚合服務(wù)器不再接收該類型業(yè)務(wù)數(shù)據(jù),即此時無法通過再次接收到該類型業(yè)務(wù)數(shù)據(jù)來判斷該類型業(yè)務(wù)數(shù)據(jù)的時間戳是否發(fā)生變化,因此在該種情況下,直接對當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合,可以保證當(dāng)業(yè)務(wù)數(shù)據(jù)服務(wù)器終止接收與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù)時,也可以完成對當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。
對于本發(fā)明實施例,步驟205具體可以包括:若所述業(yè)務(wù)數(shù)據(jù)服務(wù)器 終止接收與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù),則獲取與當(dāng)前時間戳不同的下一個相鄰時間戳對應(yīng)的聚合計算服務(wù)器的本地時間,所述業(yè)務(wù)數(shù)據(jù)服務(wù)器配置的每一個不同的時間戳分別對應(yīng)一個聚合計算服務(wù)器的本地時間,具體可以如圖9所示;根據(jù)所述聚合計算服務(wù)器的本地時間對當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。其中,數(shù)據(jù)聚合服務(wù)器的本地時間可以按照時間順序以列表、時間軸等方式進(jìn)行展示,本發(fā)明實施例不做限定。
需要說明的是,由于網(wǎng)絡(luò)狀況條件、不同服務(wù)器的時間存在差異等問題,會使得數(shù)據(jù)聚合服務(wù)器的本地時間與業(yè)務(wù)數(shù)據(jù)服務(wù)器配置的時間戳并不相同,例如,如圖6和圖7所示,業(yè)務(wù)數(shù)據(jù)服務(wù)器1的業(yè)務(wù)數(shù)據(jù)由數(shù)據(jù)聚合服務(wù)器1處理,可以看出業(yè)務(wù)數(shù)據(jù)服務(wù)器1配置的時間戳為10:01:01,而此時對應(yīng)的數(shù)據(jù)聚合服務(wù)器1的本地時間為10:03:01,可見數(shù)據(jù)聚合服務(wù)器的本地時間與對應(yīng)的業(yè)務(wù)數(shù)據(jù)服務(wù)器配置的時間戳并不相同;并且在數(shù)據(jù)聚合服務(wù)器中,在同一時刻同一個監(jiān)控項的不同業(yè)務(wù)數(shù)據(jù)到達(dá)數(shù)據(jù)聚合服務(wù)器的時間戳也可能不同,不同監(jiān)控項的時間戳也可能不同,例如,如圖8所示,對于監(jiān)控項相同的業(yè)務(wù)數(shù)據(jù)pv,在同一時刻應(yīng)用a中該業(yè)務(wù)數(shù)據(jù)的時間戳10:00:00與應(yīng)用b中該業(yè)務(wù)數(shù)據(jù)的時間戳10:01:10不同;對于監(jiān)控項不同的業(yè)務(wù)數(shù)據(jù)pv與rt,業(yè)務(wù)數(shù)據(jù)的時間戳也不相同。另外,由于業(yè)務(wù)數(shù)據(jù)采集手段的原因,業(yè)務(wù)數(shù)據(jù)到達(dá)數(shù)據(jù)聚合服務(wù)器的時間與該業(yè)務(wù)數(shù)據(jù)到達(dá)業(yè)務(wù)數(shù)據(jù)服務(wù)器的時間不同,例如,如圖9所示,某一個業(yè)務(wù)數(shù)據(jù)到達(dá)業(yè)務(wù)數(shù)據(jù)服務(wù)器的時間為10:01,該業(yè)務(wù)數(shù)據(jù)到達(dá)數(shù)據(jù)聚合服務(wù)器的時間為10:03,因此,在做實時數(shù)據(jù)聚合時,通過采用業(yè)務(wù)數(shù)據(jù)服務(wù)器配置的時間戳作為觸發(fā)時間,而不同時采用數(shù)據(jù)聚合服務(wù)器本地時間作為觸發(fā)時間,可以保證數(shù)據(jù)聚合的準(zhǔn)確。并且通過按照時間順序建立業(yè)務(wù)數(shù)據(jù)服務(wù)器配置的每一個不同的時間戳與數(shù)據(jù)聚合服務(wù)器的本地時間之間的一一對應(yīng)關(guān)系,可以保證時間的一致性,當(dāng)業(yè)務(wù)數(shù)據(jù)服務(wù)器終止接收某一類別的業(yè)務(wù)數(shù)據(jù)時,通過數(shù)據(jù)聚合服務(wù)器的本地時間依然可以保證準(zhǔn)確進(jìn)行該類別業(yè)務(wù)數(shù)據(jù)的聚合操作。
對于本發(fā)明實施例,具體的應(yīng)用場景可以如下所示,但不限于此,包括:如圖9所示,數(shù)據(jù)聚合服務(wù)器在時間軸sb點接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送 的業(yè)務(wù)數(shù)據(jù),獲取該業(yè)務(wù)數(shù)據(jù)攜帶的時間戳為11:02,檢測到大于上一次在時間軸sa點接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳11:01,此時對時間戳為11:01的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)集合。進(jìn)一步地,判斷在從當(dāng)前時間開始的5分鐘內(nèi),未接收到與時間戳為11:02的業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù),可以確定業(yè)務(wù)數(shù)據(jù)服務(wù)器終止接收與時間戳為11:02的業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù),此時當(dāng)數(shù)據(jù)聚合服務(wù)器的本地時間到達(dá)11:07時(對應(yīng)業(yè)務(wù)數(shù)據(jù)服務(wù)器的11:03),對時間戳為11:02的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合,從而保證對時間戳為11:02的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。
本發(fā)明實施例提供的另一種數(shù)據(jù)聚合方法,當(dāng)需要對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,首先數(shù)據(jù)聚合服務(wù)器接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù),然后實時檢測業(yè)務(wù)數(shù)據(jù)中攜帶的時間戳是否大于所述數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳,若大于,則將時間戳與數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳相同的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。與目前在對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,都需要對用于存儲業(yè)務(wù)數(shù)據(jù)的文件進(jìn)行讀寫操作,并且還需要將讀取的業(yè)務(wù)數(shù)據(jù)按照時間進(jìn)行一次排序,同時如果再次接收到與進(jìn)行聚合操作的業(yè)務(wù)數(shù)據(jù)時間相同或者時間更早的業(yè)務(wù)數(shù)據(jù),這部分業(yè)務(wù)數(shù)據(jù)將被丟棄相比,本發(fā)明實施例由于只需要通過檢測當(dāng)前業(yè)務(wù)數(shù)據(jù)的時間戳是否大于數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳,即可實現(xiàn)對不同時間段的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合,提高數(shù)據(jù)聚合的效率,并且由于檢測操作是實時進(jìn)行的,可以降低數(shù)據(jù)聚合操作的延遲,提高數(shù)據(jù)聚合的實時性;同時由于本發(fā)明實施例中設(shè)置了時間容忍期,可以對當(dāng)前接收到的時間較早的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合操作,進(jìn)而提高了數(shù)據(jù)聚合統(tǒng)計的精確度。
進(jìn)一步地,作為圖1所示方法的具體實現(xiàn),本發(fā)明實施例提供一種數(shù)據(jù)聚合裝置,如圖3所示,所述裝置可以包括:接收單元31、檢測單元32、聚合單元33。
接收單元31,用于接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù),所述業(yè)務(wù)數(shù)據(jù)攜帶有時間戳,所述時間戳用于標(biāo)識所述業(yè)務(wù)服務(wù)器接收到所述業(yè)務(wù)數(shù) 據(jù)的時間;
檢測單元32,用于檢測所述接收單元31接收的所述時間戳是否大于目標(biāo)時間戳,所述目標(biāo)時間戳為上一次接收到所述業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳;
聚合單元33,用于若所述檢測單元32檢測所述時間戳大于所述目標(biāo)時間戳,則將時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合,所述目標(biāo)時間戳對應(yīng)的業(yè)務(wù)數(shù)據(jù)保存在預(yù)置存儲位置。
需要說明的是,該裝置實施例與前述方法實施例對應(yīng),為便于閱讀,本裝置實施例不再對前述方法實施例中的細(xì)節(jié)內(nèi)容進(jìn)行逐一贅述,但應(yīng)當(dāng)明確,本實施例中的裝置能夠?qū)?yīng)實現(xiàn)前述方法實施例中的全部內(nèi)容。
本發(fā)明實施例提供的一種數(shù)據(jù)聚合裝置,當(dāng)需要對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,首先數(shù)據(jù)聚合服務(wù)器接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù),然后實時檢測業(yè)務(wù)數(shù)據(jù)中攜帶的時間戳是否大于所述數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳,若大于,則將時間戳與數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳相同的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。與目前在對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,都需要對用于存儲業(yè)務(wù)數(shù)據(jù)的文件進(jìn)行讀寫操作,并且還需要將讀取的業(yè)務(wù)數(shù)據(jù)按照時間進(jìn)行一次排序相比,本發(fā)明由于只需要通過檢測當(dāng)前業(yè)務(wù)數(shù)據(jù)的時間戳是否大于數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳,即可實現(xiàn)對不同時間段的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合,提高數(shù)據(jù)聚合的效率,并且由于檢測操作是實時進(jìn)行的,可以降低數(shù)據(jù)聚合操作的延遲,同時可以提高數(shù)據(jù)聚合的實時性。
進(jìn)一步地,作為圖2所示方法的具體實現(xiàn),本發(fā)明實施例提供一種數(shù)據(jù)聚合裝置,如圖4所示,所述裝置可以包括:接收單元41、檢測單元42、聚合單元43。
接收單元41,用于接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù),所述業(yè)務(wù)數(shù)據(jù)攜帶有時間戳,所述時間戳用于標(biāo)識所述業(yè)務(wù)服務(wù)器接收到所述業(yè)務(wù)數(shù)據(jù)的時間;
檢測單元42,用于檢測所述接收單元41接收的所述時間戳是否大于目標(biāo)時間戳,所述目標(biāo)時間戳為上一次接收到所述業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳;
聚合單元43,用于若所述檢測單元42檢測所述時間戳是否大于所述目標(biāo)時間戳,則將時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合,所述目標(biāo)時間戳對應(yīng)的業(yè)務(wù)數(shù)據(jù)保存在預(yù)置存儲位置。
進(jìn)一步地,所述裝置還包括:判斷單元44。
所述判斷單元44,用于判斷當(dāng)前接收到所述業(yè)務(wù)數(shù)據(jù)之后的第一預(yù)置時間段內(nèi),是否接收到時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù);
所述聚合單元43,具體用于若當(dāng)前接收到所述業(yè)務(wù)數(shù)據(jù)之后的第一預(yù)置時間段內(nèi)未接收到時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù),則將時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合;或者
若當(dāng)前接收到所述業(yè)務(wù)數(shù)據(jù)之后的第一預(yù)置時間段內(nèi)接收到時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù),則將在所述第一預(yù)置時間段內(nèi)接收到的所述業(yè)務(wù)數(shù)據(jù)和時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。
進(jìn)一步地,所述判斷單元44,還用于判斷所述業(yè)務(wù)數(shù)據(jù)服務(wù)器是否終止接收與所述當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù);
所述聚合單元43,還用于若所述業(yè)務(wù)數(shù)據(jù)服務(wù)器終止接收與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù),則對當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。
進(jìn)一步地,所述裝置還包括:確認(rèn)單元45。
所述判斷單元44,具體用于判斷在當(dāng)前接收到所述業(yè)務(wù)數(shù)據(jù)之后的第二預(yù)置時間段內(nèi),是否接收到與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù);
所述確認(rèn)單元45,用于若未接收到,則確認(rèn)所述業(yè)務(wù)數(shù)據(jù)服務(wù)器終止接收與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù)。
進(jìn)一步地,所述聚合單元43具體可以包括:獲取模塊4301、聚合模塊4302。
獲取模塊4301,用于若所述業(yè)務(wù)數(shù)據(jù)服務(wù)器終止接收與所述業(yè)務(wù)數(shù)據(jù)類型相同的業(yè)務(wù)數(shù)據(jù),則獲取與當(dāng)前時間戳不同的下一個相鄰時間戳對應(yīng)的聚合計算服務(wù)器的本地時間,所述業(yè)務(wù)數(shù)據(jù)服務(wù)器配置的每一個不同的 時間戳分別對應(yīng)一個聚合計算服務(wù)器的本地時間;
聚合模塊4302,用于根據(jù)所述聚合計算服務(wù)器的本地時間對當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。
進(jìn)一步地,所述裝置還包括:緩存單元46、刪除單元47。
緩存單元46,用于若所述時間戳與所述目標(biāo)時間戳相同,則將當(dāng)前接收到的所述業(yè)務(wù)數(shù)據(jù)緩存到與所述目標(biāo)時間戳對應(yīng)的預(yù)置隊列中,所述預(yù)置隊列中緩存有時間戳為所述目標(biāo)時間戳的全部業(yè)務(wù)數(shù)據(jù);
刪除單元47,用于若所述時間戳小于所述目標(biāo)時間戳,則將當(dāng)前接收到的所述業(yè)務(wù)數(shù)據(jù)刪除。
進(jìn)一步地,所述裝置還包括:建立單元48。
所述建立單元48,用于建立與當(dāng)前接收到的業(yè)務(wù)數(shù)據(jù)的時間戳對應(yīng)的隊列;
所述緩存單元46,還用于將所述業(yè)務(wù)數(shù)據(jù)緩存在所述隊列中。
需要說明的是,該裝置實施例與前述方法實施例對應(yīng),為便于閱讀,本裝置實施例不再對前述方法實施例中的細(xì)節(jié)內(nèi)容進(jìn)行逐一贅述,但應(yīng)當(dāng)明確,本實施例中的裝置能夠?qū)?yīng)實現(xiàn)前述方法實施例中的全部內(nèi)容。
本發(fā)明實施例提供的另一種數(shù)據(jù)聚合裝置,當(dāng)需要對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,首先數(shù)據(jù)聚合服務(wù)器接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù),然后實時檢測業(yè)務(wù)數(shù)據(jù)中攜帶的時間戳是否大于所述數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳,若大于,則將時間戳與數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳相同的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合。與目前在對云環(huán)境中存儲的海量業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合時,都需要對用于存儲業(yè)務(wù)數(shù)據(jù)的文件進(jìn)行讀寫操作,并且還需要將讀取的業(yè)務(wù)數(shù)據(jù)按照時間進(jìn)行一次排序,同時如果再次接收到與進(jìn)行聚合操作的業(yè)務(wù)數(shù)據(jù)時間相同或者時間更早的業(yè)務(wù)數(shù)據(jù),這部分業(yè)務(wù)數(shù)據(jù)將被丟棄相比,本發(fā)明實施例由于只需要通過檢測當(dāng)前業(yè)務(wù)數(shù)據(jù)的時間戳是否大于數(shù)據(jù)聚合服務(wù)器上一次接收到業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳,即可實現(xiàn)對不同時間段的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合,提高數(shù)據(jù)聚合的效率,并且由于檢測操作是實時進(jìn)行的,可以降 低數(shù)據(jù)聚合操作的延遲,提高數(shù)據(jù)聚合的實時性;同時由于本發(fā)明實施例中設(shè)置了時間容忍期,可以對當(dāng)前接收到的時間較早的業(yè)務(wù)數(shù)據(jù)進(jìn)行聚合操作,進(jìn)而提高了數(shù)據(jù)聚合統(tǒng)計的精確度。
所述數(shù)據(jù)聚合裝置包括處理器和存儲器,上述接收單元、檢測單元、聚合單元、判斷單元、確認(rèn)單元、緩存單元、刪除單元、建立單元等均作為程序單元存儲在存儲器中,由處理器執(zhí)行存儲在存儲器中的上述程序單元來實現(xiàn)相應(yīng)的功能。
處理器中包含內(nèi)核,由內(nèi)核去存儲器中調(diào)取相應(yīng)的程序單元。內(nèi)核可以設(shè)置一個或以上,通過調(diào)整內(nèi)核參數(shù)來解決在對圖表中被選中的圖形進(jìn)行顯示時存在顯示卡頓的問題。
存儲器可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram),存儲器包括至少一個存儲芯片。
本申請還提供了一種計算機(jī)程序產(chǎn)品,當(dāng)在數(shù)據(jù)處理設(shè)備上執(zhí)行時,適于執(zhí)行初始化有如下方法步驟的程序代碼:數(shù)據(jù)聚合服務(wù)器接收業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù),所述業(yè)務(wù)數(shù)據(jù)攜帶有時間戳,所述時間戳用于標(biāo)識所述業(yè)務(wù)服務(wù)器接收到所述業(yè)務(wù)數(shù)據(jù)的時間;檢測所述時間戳是否大于目標(biāo)時間戳,所述目標(biāo)時間戳為所述數(shù)據(jù)聚合服務(wù)器上一次接收到所述業(yè)務(wù)數(shù)據(jù)服務(wù)器發(fā)送的業(yè)務(wù)數(shù)據(jù)攜帶的時間戳;若所述時間戳大于所述目標(biāo)時間戳不相同,則將時間戳為所述目標(biāo)時間戳的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合,所述目標(biāo)時間戳對應(yīng)的業(yè)務(wù)數(shù)據(jù)保存在預(yù)置存儲位置。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實施例的數(shù)據(jù)聚合方法、裝置、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn) 流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
存儲器可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。存儲器是計算機(jī)可讀介質(zhì)的示例。
計算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲器(sram)、動態(tài)隨機(jī)存取存儲器(dram)、其他類型的隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機(jī)可讀 介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
以上僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。