實時系統數據的去重方法和裝置制造方法
【專利摘要】本發明公開了一種實時系統數據的去重方法和裝置。其中,實時系統數據的去重方法包括接收實時系統數據;判斷第一數據的數據源與實時系統數據的數據源是否相同,其中,第一數據為存儲在數據緩沖區中的數據;在判斷出第一數據的數據源與實時系統數據的數據源相同的情況下,刪除第一數據中的數據源與實時系統數據數據源相同的數據;以及暫存實時系統數據至數據緩沖區。通過本發明,解決了實時系統去重效率低的問題,進而達到了提高實時系統效果。
【專利說明】實時系統數據的去重方法和裝置
【技術領域】
[0001]本發明涉及計算機領域,具體而言,涉及一種實時系統數據的去重方法和裝置。
【背景技術】
[0002]StreamInsight是美國微軟公司提供的實時數據流處理框架,可以用于高效實時計算。但是StreamInsight沒有自帶去重統計數據功能,而實際應用中有時候需要用到去重統計數據。
[0003]實時處理系統通常是每隔一段時間獲取一次最新的數據,這樣方便了系統的實時管理,但是同時數據量會很大。同時,實時系統的數據一般而言都有數據周期,對數據進行統計時常常會發生重復統計的情況。以視頻實時處理系統需要實時接收播放數據為例,每個播放Id每間隔一段時間會發送一個快照數據,表示最新的播放信息。
[0004]現有技術解決方案是使用流剪輯的方法來統計播放次數,采用流剪輯的方法計播放次數時,先給播放數據賦予一定的生命周期,假如I分鐘計算一次播放次數,則生播放數據的命周期設置為I分鐘,當遇到播放Id相同的新快照時,將舊快照的生命周期截斷至新快照的起始時間,當想要計算00:00:00到00:00:59這個時間區間內的播放次數時,只需要在59秒的瞬間統計一下快照總數即可。雖然流剪輯方案看起來可以很方便的統計播放次數,但實施起來卻不容易,因為需要使用同一個流的自連接來實現,假如I分鐘內有IOw次播放快照,那么相當于IOw個播放快照條目和IOw個播放快照條目進行集合的笛卡兒積運算,然后過濾出符合篩選條件的記錄。這個計算是非常消耗CPU以及內存的。
[0005]針對相關技術中對實時系統數據進行去重的效率較低的問題,目前尚未提出有效的解決方案。
【發明內容】
[0006]本發明的主要目的在于提供一種實時系統數據的去重方法和裝置,以解決實時系統數據去重效率較低的問題。
[0007]為了實現上述目的,根據本發明的一個方面,提供了一種實時系統數據的去重方法,包括:接收實時系統數據;判斷第一數據的數據源與實時系統數據的數據源是否相同,其中,第一數據為存儲在數據緩沖區中的數據;在判斷出第一數據的數據源與實時系統數據的數據源相同的情況下,刪除第一數據中數據源與實時系統數據數據源相同的數據;以及暫存實時系統數據至數據緩沖區。
[0008]進一步地,實時系統數據的數量為多個,判斷第一數據的數據源與實時系統數據的數據源是否相同包括:每接收一個實時系統數據,判斷一次第一數據的數據源與實時系統數據的數據源是否相同。
[0009]進一步地,通過判斷每一個第一數據的標識ID與實時系統數據的標識ID是否相同,來判斷第一數據的數據源與實時系統數據的數據源是否相同。
[0010]進一步地,在暫存實時系統數據至數據緩沖區之后,去重方法還包括:將數據緩沖區中的數據存儲至目標存儲區域;以及清空數據緩沖區中的數據。
[0011]進一步地,每間隔預定時間將數據緩沖區中的數據存儲至目標存儲區域。
[0012]進一步地,實時系統數據為來自視頻實時處理系統或者網頁實時處理系統的數據。
[0013]為了實現上述目的,根據本發明的另一方面,提供了一種實時系統數據的去重裝置,該去重裝置主要用于執行本發明上述內容所提供的任一種實時系統數據的去重方法。
[0014]為了實現上述目的,根據本發明的另一方面,提供了一種實時系統數據的去重裝置,包括:接收單元,用于接收實時系統數據;判斷單元,用于判斷第一數據的數據源與實時系統數據的數據源是否相同,其中,第一數據為存儲在數據緩沖區中的數據;刪除單元,用于在判斷出第一數據的數據源與實時系統數據的數據源相同的情況下,刪除第一數據中數據源與實時系統數據數據源相同的數據;以及暫存單元,用于暫存實時系統數據至數據緩沖區。
[0015]進一步地,實時系統數據的數量為多個,判斷單元包括:判斷子單元,用于每接收一個實時系統數據,判斷一次第一數據的數據源與實時系統數據的數據源是否相同。
[0016]進一步地,判斷子單元包括:判斷模塊,用于判斷每一個第一數據的標識ID與實時系統數據的標識ID是否相同,來判斷第一數據的數據源與實時系統數據的數據源是否相同。
[0017]進一步地,去重裝置還包括:存儲單元,用于將數據緩沖區中的數據存儲至目標存儲區域;以及清空單元,用于清空數據緩沖區中的數據。
[0018]進一步地,存儲單元用于每間隔預定時間將數據緩沖區中的數據存儲至目標存儲區域。
[0019]進一步地,實時系統數據為來自視頻實時處理系統或者網頁實時處理系統的數據。
[0020]本發明采用接收實時系統數據;判斷第一數據的數據源與實時系統數據的數據源是否相同,其中,第一數據為存儲在數據緩沖區中的數據;在判斷出第一數據的數據源與實時系統數據的數據源相同的情況下,刪除第一數據中的數據源與實時系統數據數據源相同的數據;以及暫存實時系統數據至數據緩沖區。在接收實時系統數據之前先建立一個數據緩沖區,通過將實時系統數據暫存至緩沖區,且在數據暫存至緩沖區之前,先對數據進行判斷,如果緩沖區中有來自同一個數據源的數據則先刪除數據緩沖區中的這個數據源的數據,在進行下一步的處理之前就將數據源的重復數據去重,避免了同一個數據源的大量數據直接進入實時處理系統進行去重,解決了實時系統去重效率低的問題,進而達到了提高實時系統效果。
【專利附圖】
【附圖說明】
[0021]構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0022]圖1是根據本發明實施例的實時系統數據去重方法的流程圖;
[0023]圖2是根據現有技術的流剪輯之前的數據生命周期示意圖;
[0024]圖3是根據現有技術的流剪輯之后的數據生命周期示意圖;以及[0025]圖4是根據本發明實施例的實時系統數據去重裝置的結構示意圖。
【具體實施方式】
[0026]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發明。
[0027]本發明提供一種實時系統數據的去重方法,下面對本發明的實時系統數據的去重方法進行具體介紹:
[0028]圖1是本發明實施例的實時系統數據去重方法的流程圖。如圖1所示,該方法包括如下的步驟S102至步驟S108:
[0029]步驟S102,接收實時系統數據。具體地,在接收數據之前,先在內存里開辟一個數據緩沖區。
[0030]步驟S104,判斷第一數據的數據源與實時系統數據的數據源是否相同,其中,第一數據為存儲在數據緩沖區中的數據。
[0031]步驟S106,在判斷出第一數據的數據源與實時系統數據的數據源相同的情況下,刪除第一數據中的數據源與實時系統數據數據源相同的數據,
[0032]步驟S108,暫存實時系統數據至數據緩沖區。
[0033]本發明實施例的實時系統數據的去重方法,在接收實時系統數據之前先建立一個數據緩沖區,通過將實時系統數據暫存至緩沖區,且在數據暫存至緩沖區之前,先對數據進行判斷,如果緩沖區中有來自同一個數據源的數據則先刪除數據緩沖區中的這個數據源的數據,在進行下一步的處理之前就將數據源的重復數據去重,避免了同一個數據源的大量數據直接進入實時處理系統進行去重,解決了實時系統去重效率低的問題,進而達到了提高實時系統處理數據效率的效果。
[0034]進一步地,實時系統數據為多個,判斷第一數據的數據源與實時系統數據的數據源是否相同包括:每接收一個實時系統數據,判斷一次第一數據的數據源與接收到的實時系統數據的數據源是否相同。實時系統的各個數據源會每間隔一段時間發送一個最新的數據,以便于監控系統的運行狀態,每接收一個新的數據時,進行一次判斷,即將數據緩沖區中的數據的數據源與接收到的這個實時系統數據的數據源進行比較,如果數據緩沖區中某個數據的數據源與接收到的這個實時系統數據的數據源相同,則刪除數據緩沖區中的舊數據,暫存這個數據源發來的最新數據。
[0035]進一步地,在本發明實施例中,可以通過判斷每一個第一數據的標識ID與實時系統數據的標識ID是否相同,來判斷第一數據的數據源與實時系統數據的數據源是否相同,其中,當判斷出某個第一數據的標識ID與實時系統數據的標識ID相同的情況下,確定這個第一數據的數據源與實時系統數據的數據源相同,反之,則不相同。此種通過標識ID進行判斷的方式也稱作自連接判斷方式,以實時系統數據為來自視頻實時處理系統的數據為例進一步說明,假設目前在處理很多條“播放記錄”的集合,每條播放記錄都有一個唯一的播放Id,對于判斷新接收到的視頻播放數據的數據源與已經記錄的視頻播放數據的數據源是否相同,則將新接收到的視頻播放數據集合與已經記錄的視頻播放數據集合進行連接,這兩個集合在連接的時候,根據播放Id作為連接的條件判定,即從新接收到的視頻數據集合中選擇任意一個播放Id的播放記錄,到已經記錄的視頻播放數據的集合中去查找是否具有同樣播放Id的播放記錄。
[0036]通過一對一的自連接,來判斷數據緩沖區中的數據與實時系統數據是否來自同一個源的效率要遠遠高于多對多的數據自連接,判斷的效率較高。
[0037]進一步地,在暫存實時系統數據至數據緩沖區之后,本發明實施例的實時系統數據的去重方法還包括,每間隔預定時間將數據緩沖區中的數據存儲至目標存儲區域,并清空數據緩沖區中的數據。
[0038]為了讓實時系統的最新數據及時輸出,以便實時獲取實時系統的運行狀態,所以需要每隔一段時間將去重的數據存儲起來,以便于下一步的處理。在數據存儲之后,清空緩沖區,以便與緩沖區緩沖后面接收到的數據。預定時間的長短可以根據后續處理系統對數據實時性的要求來確定。
[0039]進一步地,本發明實施例的實時數據的去重方法可以用于統計一段時間以內地視屏播放次數,或者用于統計一段時間內網頁瀏覽的次數,即,在本發明實施例所提供的實時系統數據的去重方法中,實時系統數據可以是來自視頻實時處理系統的數據,也可以是來自網頁實時處理系統的數據。為了更好的理解本發明實施例,下面以統計一段時間內的視頻播放次數為例來說明本發明實施例的實時數據的去重方法。
[0040]在00:00:00到00:00:59這段時間內收到的快照如下表所示:
[0041]
【權利要求】
1.一種實時系統數據的去重方法,其特征在于,包括: 接收所述實時系統數據; 判斷第一數據的數據源與所述實時系統數據的數據源是否相同,其中,所述第一數據為存儲在數據緩沖區中的數據; 在判斷出所述第一數據的數據源與所述實時系統數據的數據源相同的情況下,刪除所述第一數據中數據源與所述實時系統數據數據源相同的數據;以及暫存所述實時系統數據至所述數據緩沖區。
2.根據權利要求1所述的去重方法,其特征在于,所述實時系統數據的數量為多個,判斷第一數據的數據源與所述實時系統數據的數據源是否相同包括:每接收一個所述實時系統數據,判斷一次所述第一數據的數據源與所述實時系統數據的數據源是否相同。
3.根據權利要求2所述的去重方法,其特征在于,通過判斷每一個所述第一數據的標識ID與所述實時系統數據的標識ID是否相同,來判斷所述第一數據的數據源與所述實時系統數據的數據源是否相同。
4.根據權利要求1所述的去重方法,其特征在于,在暫存所述實時系統數據至所述數據緩沖區之后,所述去重方法還包括: 將所述數據緩沖區中的數據存儲至目標存儲區域;以及 清空所述數據緩沖區中的數據。
5.根據權利要求4所述的去重方法,其特征在于,每間隔預定時間將所述數據緩沖區中的數據存儲至所述目標存儲區域。
6.根據權利要求1所述的去重方法,其特征在于,所述實時系統數據為來自視頻實時處理系統或者網頁實時處理系統的數據。
7.一種實時系統數據的去重裝置,其特征在于,包括: 接收單元,用于接收所述實時系統數據; 判斷單元,用于判斷第一數據的數據源與所述實時系統數據的數據源是否相同,其中,所述第一數據為存儲在數據緩沖區中的數據; 刪除單元,用于在判斷出所述第一數據的數據源與所述實時系統數據的數據源相同的情況下,刪除所述第一數據中數據源與所述實時系統數據數據源相同的數據;以及暫存單元,用于暫存所述實時系統數據至所述數據緩沖區。
8.根據權利要求7所述的去重裝置,其特征在于,所述實時系統數據的數量為多個,所述判斷單元包括: 判斷子單元,用于每接收一個所述實時系統數據,判斷一次所述第一數據的數據源與所述實時系統數據的數據源是否相同。
9.根據權利要求8所述的去重裝置,其特征在于,所述判斷子單元包括: 判斷模塊,用于判斷每一個所述第一數據的標識ID與所述實時系統數據的標識ID是否相同,來判斷所述第一數據的數據源與所述實時系統數據的數據源是否相同。
10.根據權利要求7所述的去重裝置,其特征在于,所述去重裝置還包括: 存儲單元,用于將所述數據緩沖區中的數據存儲至目標存儲區域;以及 清空單元,用于清空所述數據緩沖區中的數據。
11.根據權利要 求10所述的去重裝置,其特征在于,所述存儲單元用于每間隔預定時間將所述數據緩沖區中的數據存儲至所述目標存儲區域。
12.根據權利要求7所述的去重裝置,其特征在于,所述實時系統數據為來自視頻實時處理系統或者網頁實時處理系統的數據。
【文檔編號】G06F17/30GK103559282SQ201310551776
【公開日】2014年2月5日 申請日期:2013年11月7日 優先權日:2013年11月7日
【發明者】楊基彬 申請人:北京國雙科技有限公司