本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)去重的方法和設(shè)備。
背景技術(shù):
一個(gè)用戶在進(jìn)行網(wǎng)絡(luò)活動(dòng)時(shí)會(huì)產(chǎn)生大量的數(shù)據(jù),而產(chǎn)生的大量數(shù)據(jù)有很多是重復(fù)的數(shù)據(jù),例如:用戶為了保證自己發(fā)送的數(shù)據(jù)可以被服務(wù)器接收到,用戶會(huì)發(fā)送多條所述數(shù)據(jù),此時(shí)用戶發(fā)送的多條所述數(shù)據(jù)就是重復(fù)數(shù)據(jù),當(dāng)重復(fù)數(shù)據(jù)較多時(shí)不僅會(huì)占據(jù)服務(wù)器大量的存儲(chǔ)空間,也會(huì)占據(jù)服務(wù)器中過多的計(jì)算資源,由于服務(wù)器會(huì)進(jìn)行過多的重復(fù)計(jì)算,致使服務(wù)器計(jì)算效率低下。
在現(xiàn)有技術(shù)中針對(duì)上述問題提出了一種數(shù)據(jù)去重方案:通過分析用戶產(chǎn)生重復(fù)數(shù)據(jù)的規(guī)律,確定出去重周期,下游數(shù)據(jù)處理設(shè)備根據(jù)去重周期對(duì)接收到的數(shù)據(jù)進(jìn)行去重。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下問題:
在用戶發(fā)送數(shù)據(jù)時(shí),同一用戶設(shè)備發(fā)送的多個(gè)數(shù)據(jù)可能發(fā)送到不同的下游數(shù)據(jù)處理設(shè)備中,而下游數(shù)據(jù)處理設(shè)備在對(duì)數(shù)據(jù)進(jìn)行去重時(shí)只能對(duì)自身中的數(shù)據(jù)進(jìn)行去重,現(xiàn)有技術(shù)雖然可以有效的對(duì)單個(gè)下游數(shù)據(jù)處理設(shè)備中的重復(fù)數(shù)據(jù)去重,但是當(dāng)同一用戶設(shè)備將多個(gè)重復(fù)數(shù)據(jù)發(fā)送到不同的下游數(shù)據(jù)處理設(shè)備中時(shí),下游數(shù)據(jù)處理設(shè)備集群不能對(duì)所述多個(gè)重復(fù)數(shù)據(jù)進(jìn)行有效去重。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)去重的方法和設(shè)備,用以解決現(xiàn)有技術(shù)中下游數(shù)據(jù)處理設(shè)備集群不能對(duì)同一用戶設(shè)備發(fā)送給不同下游數(shù)據(jù)處理設(shè)備的多個(gè)重復(fù)數(shù)據(jù)進(jìn)行有效去重。
本發(fā)明提供一種數(shù)據(jù)去重的方法,所述方法應(yīng)用于包括多個(gè)下游數(shù)據(jù)處理設(shè)備的系統(tǒng)中,所述方法包括:
中間設(shè)備獲取所接收到的數(shù)據(jù)中攜帶的唯一標(biāo)識(shí);
所述中間設(shè)備根據(jù)預(yù)設(shè)的對(duì)應(yīng)關(guān)系和所述數(shù)據(jù)中的所述唯一標(biāo)識(shí),確定 所述數(shù)據(jù)將要被發(fā)送到的下游數(shù)據(jù)處理設(shè)備;
所述中間設(shè)備將所述數(shù)據(jù)發(fā)送到所述下游數(shù)據(jù)處理設(shè)備,以使所述下游數(shù)據(jù)處理設(shè)備對(duì)相同數(shù)據(jù)進(jìn)行數(shù)據(jù)去重。
相同來源的數(shù)據(jù)所攜帶的唯一標(biāo)識(shí)至少部分相同。
所述中間設(shè)備獲取所述數(shù)據(jù)中攜帶的唯一標(biāo)識(shí),具體包括:
所述中間設(shè)備解析所述數(shù)據(jù);
所述中間設(shè)備判斷解析后的所述數(shù)據(jù)內(nèi)容是否為空;
如果為空,所述中間設(shè)備刪除所述數(shù)據(jù);
如果不為空,所述中間設(shè)備獲取所述數(shù)據(jù)中攜帶的唯一標(biāo)識(shí)。
一種中間設(shè)備,所述中間設(shè)備應(yīng)用于包括多個(gè)下游數(shù)據(jù)處理設(shè)備的系統(tǒng)中,所述中間設(shè)備包括:
獲取模塊,用于獲取所接收到的數(shù)據(jù)中攜帶的唯一標(biāo)識(shí);
確定模塊,用于根據(jù)預(yù)設(shè)的對(duì)應(yīng)關(guān)系和所述數(shù)據(jù)中的所述唯一標(biāo)識(shí),確定所述數(shù)據(jù)將要被發(fā)送到的下游數(shù)據(jù)處理設(shè)備;
發(fā)送模塊,用于將所述數(shù)據(jù)發(fā)送到所述下游數(shù)據(jù)處理設(shè)備,以使所述下游數(shù)據(jù)處理設(shè)備對(duì)相同數(shù)據(jù)進(jìn)行數(shù)據(jù)去重。
相同來源的數(shù)據(jù)所攜帶的唯一標(biāo)識(shí)至少部分相同。
所述獲取模塊,具體用于:
解析所述數(shù)據(jù);
判斷解析后的所述數(shù)據(jù)內(nèi)容是否為空;
如果為空,刪除所述數(shù)據(jù);
如果不為空,獲取所述數(shù)據(jù)中攜帶的唯一標(biāo)識(shí)。
一種數(shù)據(jù)去重的方法,所述方法應(yīng)用于包括多個(gè)下游數(shù)據(jù)處理設(shè)備的系統(tǒng)中,所述系統(tǒng)中還包括:中間設(shè)備,所述方法包括:
下游數(shù)據(jù)處理設(shè)備接收所述中間設(shè)備發(fā)送的數(shù)據(jù),所述數(shù)據(jù)是根據(jù)預(yù)設(shè)的對(duì)應(yīng)關(guān)系和所述數(shù)據(jù)中的攜帶的唯一標(biāo)識(shí)發(fā)送的;
所述下游數(shù)據(jù)處理設(shè)備判斷是否存在與所述數(shù)據(jù)相同的數(shù)據(jù);
如果存在,所述下游數(shù)據(jù)處理設(shè)備對(duì)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)去重。
相同來源的數(shù)據(jù)所攜帶的唯一標(biāo)識(shí)至少部分相同。
所述下游數(shù)據(jù)處理設(shè)備判斷是否存在與所述數(shù)據(jù)相同的數(shù)據(jù),具體包括:
所述下游數(shù)據(jù)處理設(shè)備確定出與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù);
所述下游數(shù)據(jù)處理設(shè)備在確定出的與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù)中判斷是否存在與所述數(shù)據(jù)的所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù);
所述下游數(shù)據(jù)處理設(shè)備對(duì)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)去重,具體包括:
所述下游數(shù)據(jù)處理設(shè)備將與所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù)進(jìn)行合并,以使所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù)只保留一個(gè)。
一種下游數(shù)據(jù)處理設(shè)備,應(yīng)用于包括多個(gè)下游數(shù)據(jù)處理設(shè)備和中間設(shè)備的系統(tǒng)中,所述系統(tǒng)中還包括:中間設(shè)備,所述下游數(shù)據(jù)處理設(shè)備包括:
接收模塊,用于接收所述中間設(shè)備發(fā)送的數(shù)據(jù),所述數(shù)據(jù)是根據(jù)預(yù)設(shè)的對(duì)應(yīng)關(guān)系和所述數(shù)據(jù)中的攜帶的唯一標(biāo)識(shí)發(fā)送的;
判斷模塊,用于判斷是否存在與所述數(shù)據(jù)相同的數(shù)據(jù);
去重模塊,如果存在與所述數(shù)據(jù)相同的數(shù)據(jù),用于對(duì)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)去重。
相同來源的數(shù)據(jù)所攜帶的唯一標(biāo)識(shí)至少部分相同。
所述判斷模塊,具體用于:
確定出與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù);
在確定出的與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù)中判斷是否存在與所述數(shù)據(jù)的所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù);
所述去重模塊,具體用于:
將與所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù)進(jìn)行合并,以使所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù)只保留一個(gè)。
本發(fā)明實(shí)施例根據(jù)獲取的數(shù)據(jù)中攜帶的唯一標(biāo)識(shí)和預(yù)設(shè)的對(duì)應(yīng)關(guān)系,確定將所述數(shù)據(jù)發(fā)送到的所述下游數(shù)據(jù)處理設(shè)備,本發(fā)明實(shí)施例通過將具有相同唯一標(biāo)識(shí)的數(shù)據(jù)發(fā)送到同一下游數(shù)據(jù)處理設(shè)備上,使得一個(gè)下游數(shù)據(jù)處理設(shè)備可以對(duì)發(fā)送的重復(fù)數(shù)據(jù)進(jìn)行徹底去重,進(jìn)而使得下游數(shù)據(jù)處理設(shè)備集群對(duì)發(fā)送的多個(gè)重復(fù)數(shù)據(jù)可以進(jìn)行有效去重。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí) 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中的一種數(shù)據(jù)去重流程示意圖;
圖2為本發(fā)明實(shí)施例中的一種數(shù)據(jù)去重的方法流程圖之一;
圖3為本發(fā)明實(shí)施例中的一種數(shù)據(jù)去重的流程圖之二;
圖4為本發(fā)明實(shí)施例中的一種數(shù)據(jù)去重流程示意圖;
圖5為本發(fā)明實(shí)施例中的一種中間設(shè)備結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例中的一種下游數(shù)據(jù)處理設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
用戶設(shè)備會(huì)將數(shù)據(jù)隨機(jī)發(fā)送到任一上游設(shè)備中,然后再通過中間設(shè)備將數(shù)據(jù)發(fā)送到下游數(shù)據(jù)處理設(shè)備中進(jìn)行數(shù)據(jù)去重,具體如圖1所示,其中,用戶設(shè)備1發(fā)送了3個(gè)數(shù)據(jù)a到下游數(shù)據(jù)處理設(shè)備中,接收到數(shù)據(jù)a的下游數(shù)據(jù)處理設(shè)備包括:下游數(shù)據(jù)處理設(shè)備1和下游數(shù)據(jù)處理設(shè)備2,下游數(shù)據(jù)處理設(shè)備1接收到了2個(gè)數(shù)據(jù)a,下游數(shù)據(jù)處理設(shè)備2接收到了1個(gè)數(shù)據(jù)a,通過現(xiàn)有技術(shù)中,下游數(shù)據(jù)處理設(shè)備1可以對(duì)自身接收到的數(shù)據(jù)a進(jìn)行有效去重,但是服務(wù)器最終仍會(huì)接收到2個(gè)數(shù)據(jù)a,即下游數(shù)據(jù)處理設(shè)備集群不能對(duì)多個(gè)重復(fù)數(shù)據(jù)進(jìn)行有效去重,圖1中的其他用戶終端發(fā)送的重復(fù)數(shù)據(jù)同樣存在上述問題。
為了解決上述問題,本發(fā)明提出了一種數(shù)據(jù)去重的方法,具體如圖2所示,所述方法應(yīng)用于包括多個(gè)下游數(shù)據(jù)處理設(shè)備的系統(tǒng)中,所述方法包括以下步驟:
步驟201,中間設(shè)備獲取所接收到的數(shù)據(jù)中攜帶的唯一標(biāo)識(shí)。
其中,相同來源的數(shù)據(jù)所攜帶的唯一標(biāo)識(shí)至少部分相同。
具體的,數(shù)據(jù)的唯一標(biāo)識(shí)中可以包含發(fā)送所述數(shù)據(jù)的用戶設(shè)備的唯一標(biāo)識(shí),如:mac(mediaaccesscontrol,媒體訪問控制)信息,也可以為所述用戶設(shè)備的其他唯一標(biāo)識(shí),以及其他信息,所述其他信息可以是相同的也可以是不同的,這樣可以保證同一用戶設(shè)備發(fā)送的數(shù)據(jù)中至少有部分標(biāo)識(shí)是相同的,同樣也保證了同一用戶發(fā)送的相同數(shù)據(jù)中至少存在部分相同的標(biāo)識(shí),同時(shí),所述數(shù)據(jù)的唯一標(biāo)識(shí)還可以為根據(jù)所述數(shù)據(jù)的內(nèi)容為所述數(shù)據(jù)分發(fā)的,其中,相同的數(shù)據(jù)分發(fā)的唯一標(biāo)識(shí)至少部分相同的。所述數(shù)據(jù)唯一標(biāo)識(shí)的標(biāo)識(shí)方法可以根據(jù)實(shí)際情況確定,但是凡是可以根據(jù)所述唯一標(biāo)識(shí)確定相同數(shù)據(jù)的標(biāo)識(shí)方法均屬于本發(fā)明的保護(hù)范圍。
所述中間設(shè)備具體可以為數(shù)據(jù)分發(fā)設(shè)備。
所述中間設(shè)備獲取所述數(shù)據(jù)中攜帶的唯一標(biāo)識(shí),具體包括:
所述中間設(shè)備解析所述數(shù)據(jù);
所述中間設(shè)備判斷解析后的所述數(shù)據(jù)內(nèi)容是否為空;
如果為空,所述中間設(shè)備刪除所述數(shù)據(jù);
如果不為空,所述中間設(shè)備獲取所述數(shù)據(jù)中攜帶的唯一標(biāo)識(shí)。
具體的,只有在所述數(shù)據(jù)的內(nèi)容不為空時(shí)才是有效數(shù)據(jù),數(shù)據(jù)處理設(shè)備的計(jì)算資源只有在處理有效數(shù)據(jù)時(shí)才是被合理的利用,當(dāng)數(shù)據(jù)內(nèi)容為空時(shí),所述數(shù)據(jù)是無(wú)效數(shù)據(jù)需要所述中間設(shè)備刪除,避免了浪費(fèi)下游數(shù)據(jù)處理設(shè)備的計(jì)算資源。
步驟202,所述中間設(shè)備根據(jù)預(yù)設(shè)的對(duì)應(yīng)關(guān)系和所述數(shù)據(jù)中的所述唯一標(biāo)識(shí),確定所述數(shù)據(jù)將要被發(fā)送到的所述下游數(shù)據(jù)處理設(shè)備。
具體的,由于下游數(shù)據(jù)處理設(shè)備是根據(jù)預(yù)設(shè)的對(duì)應(yīng)關(guān)系和所述數(shù)據(jù)中的所述唯一標(biāo)識(shí)確定的,因此保證了具有部分相同或全部相同的唯一標(biāo)識(shí)的數(shù)據(jù)發(fā)送到同一下游數(shù)據(jù)處理設(shè)備上。
其中,預(yù)設(shè)的對(duì)應(yīng)關(guān)系是數(shù)據(jù)攜帶的唯一標(biāo)識(shí)中相同部分標(biāo)識(shí)和下游數(shù)據(jù)處理設(shè)備唯一標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
建立預(yù)設(shè)的所述對(duì)應(yīng)關(guān)系時(shí),包括:
當(dāng)所述下游數(shù)據(jù)處理設(shè)備是按照所述數(shù)據(jù)歸屬區(qū)域進(jìn)行數(shù)據(jù)去重時(shí),根據(jù)所述數(shù)據(jù)歸屬的區(qū)域預(yù)先建立不同來源的數(shù)據(jù)的唯一標(biāo)識(shí)和下游數(shù)據(jù)處理設(shè)備唯一標(biāo)識(shí)的對(duì)應(yīng)關(guān)系;
當(dāng)所述下游數(shù)據(jù)處理設(shè)備是按照負(fù)載均衡的原則進(jìn)行數(shù)據(jù)去重時(shí),根據(jù)各個(gè)所述下游數(shù)據(jù)處理設(shè)備對(duì)應(yīng)的所述數(shù)據(jù)預(yù)先建立不同來源的數(shù)據(jù)的唯一標(biāo)識(shí)和下游數(shù)據(jù)處理設(shè)備唯一標(biāo)識(shí)的對(duì)應(yīng)關(guān)系;
當(dāng)所述下游數(shù)據(jù)處理設(shè)備是按照所述數(shù)據(jù)的類型進(jìn)行數(shù)據(jù)去重時(shí),根據(jù)所述數(shù)據(jù)的類型預(yù)先建立不同來源的數(shù)據(jù)的唯一標(biāo)識(shí)和下游數(shù)據(jù)處理設(shè)備唯一標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
具體的,當(dāng)有多個(gè)下游數(shù)據(jù)處理設(shè)備同時(shí)處理中間設(shè)備轉(zhuǎn)發(fā)的數(shù)據(jù)時(shí),為了保證相同數(shù)據(jù)發(fā)送到同一個(gè)下游數(shù)據(jù)處理設(shè)備中,預(yù)先建立不同來源的數(shù)據(jù)的唯一標(biāo)識(shí)和下游數(shù)據(jù)處理設(shè)備唯一標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,并且在所述多個(gè)下游數(shù)據(jù)處理設(shè)備在共同處理中間設(shè)備轉(zhuǎn)發(fā)的數(shù)據(jù)時(shí),為了保證下游數(shù)據(jù)處理設(shè)備集群更高的處理效率,需要根據(jù)劃分規(guī)則對(duì)數(shù)據(jù)進(jìn)行劃分,以使每個(gè)下游數(shù)據(jù)處理設(shè)備都可以對(duì)中間設(shè)備轉(zhuǎn)發(fā)的部分?jǐn)?shù)據(jù)進(jìn)行處理,其中,劃分規(guī)則包括:按數(shù)據(jù)的歸屬區(qū)域進(jìn)行劃分、按負(fù)載均衡的原則進(jìn)行劃分、按數(shù)據(jù)類型進(jìn)行劃分等,例如:當(dāng)數(shù)據(jù)的歸屬區(qū)域進(jìn)行劃分,下游數(shù)據(jù)處理設(shè)備1是負(fù)責(zé)處理北京地區(qū)的數(shù)據(jù)時(shí),如果發(fā)送的數(shù)據(jù)屬于北京地區(qū),即發(fā)送數(shù)據(jù)的用戶設(shè)備歸屬北京地區(qū),那么將北京地區(qū)中不同來源的數(shù)據(jù)的唯一標(biāo)識(shí)和下游數(shù)據(jù)處理設(shè)備1的唯一標(biāo)識(shí)確定為對(duì)應(yīng)關(guān)系;當(dāng)按照負(fù)載均衡的原則對(duì)下游數(shù)據(jù)處理設(shè)備進(jìn)行劃分時(shí),每個(gè)下游數(shù)據(jù)處理設(shè)備需要處理標(biāo)識(shí)數(shù)目相同的數(shù)據(jù),如果此時(shí)需要為下游數(shù)據(jù)處理設(shè)備1分配某一標(biāo)識(shí)的數(shù)據(jù)時(shí),那么將該設(shè)備發(fā)送的數(shù)據(jù)的唯一標(biāo)識(shí)和下游數(shù)據(jù)處理設(shè)備1確定為對(duì)應(yīng)關(guān)系,當(dāng)然,按照負(fù)載均衡的原則在對(duì)下游數(shù)據(jù)處理設(shè)備進(jìn)行劃分時(shí),還可以按照下游數(shù)據(jù)處理設(shè)備處理的用戶設(shè)備的數(shù)量來進(jìn)行負(fù)載均衡,即下游數(shù)據(jù)處理設(shè)備處理相同數(shù)目的用戶設(shè)備發(fā)送的數(shù)據(jù),本發(fā)明的目的是為了讓下游數(shù)據(jù)處理設(shè)備按照負(fù)載均衡的方式來對(duì)數(shù)據(jù)進(jìn)行處理,因此所有負(fù)載均衡的分配方式均屬于本發(fā)明的保護(hù)范圍;當(dāng)按照數(shù)據(jù)類型進(jìn)行劃分(所述類型可以以固定設(shè)備和移動(dòng)設(shè)備發(fā)送數(shù)據(jù)類型進(jìn)行劃分,還可以以不同的操作系統(tǒng)發(fā)送的數(shù)據(jù)類型進(jìn)行劃分等)時(shí),如果下游數(shù)據(jù)處理設(shè)備1是處理安卓系統(tǒng)發(fā)送的數(shù)據(jù)時(shí),那么將不同數(shù)據(jù)來源的安卓系統(tǒng)發(fā)送的數(shù)據(jù)的唯一標(biāo)識(shí)與所述下游數(shù)據(jù)處理設(shè)備1的唯一標(biāo)識(shí)確定為對(duì)應(yīng)關(guān)系。當(dāng)然還可以包括其他劃分規(guī)則,本發(fā)明的目的是為了讓數(shù)據(jù)處理的速度更快,因此所有可以加快數(shù)據(jù)處 理速度的劃分規(guī)則均屬于本發(fā)明的保護(hù)范圍。
步驟203,所述中間設(shè)備將所述數(shù)據(jù)發(fā)送到所述下游數(shù)據(jù)處理設(shè)備,以使所述下游數(shù)據(jù)處理設(shè)備對(duì)相同數(shù)據(jù)進(jìn)行數(shù)據(jù)去重。
具體的,由于重復(fù)數(shù)據(jù)是在一定時(shí)間內(nèi)產(chǎn)生的概率較大,所述一定時(shí)間即為一個(gè)去重周期,因此在所述下游數(shù)據(jù)處理設(shè)備對(duì)數(shù)據(jù)進(jìn)行去重時(shí),所述下游數(shù)據(jù)處理設(shè)備需要確定出屬于同一去重周期內(nèi)獲取到的所述數(shù)據(jù),例如:所述去重周期為5分鐘,當(dāng)所述下游數(shù)據(jù)處理設(shè)備獲取所述中間設(shè)備發(fā)送的數(shù)據(jù)時(shí),所述下游數(shù)據(jù)處理設(shè)備獲取最近5分鐘之內(nèi)的其他數(shù)據(jù),當(dāng)然所述去重周期還可以為1分鐘、3分鐘或10分鐘等,具體的去重周期可以根據(jù)實(shí)際情況確定。在所述下游數(shù)據(jù)處理設(shè)備確定出屬于同一去重周期內(nèi)的數(shù)據(jù)后,篩選出具有相同唯一標(biāo)識(shí)的數(shù)據(jù),如果數(shù)據(jù)的唯一標(biāo)識(shí)是用戶設(shè)備的唯一標(biāo)識(shí),那么同一用戶設(shè)備發(fā)送的所有數(shù)據(jù)都會(huì)被分配到同一下游數(shù)據(jù)處理設(shè)備上,此時(shí)篩選出的數(shù)據(jù)為同一用戶設(shè)備在一個(gè)去重周期內(nèi)發(fā)送的所有數(shù)據(jù),然后所述下游數(shù)據(jù)處理設(shè)備判斷篩選出的數(shù)據(jù)是否存在相同的數(shù)據(jù),如果存在,則進(jìn)行去重操作,在進(jìn)行去重操作時(shí),所述下游數(shù)據(jù)處理設(shè)備將具有相同的所述唯一標(biāo)識(shí)的數(shù)據(jù)進(jìn)行合并,以使具有相同的所述唯一標(biāo)識(shí)的數(shù)據(jù)只保留一個(gè);如果數(shù)據(jù)的唯一標(biāo)識(shí)是根據(jù)不同的數(shù)據(jù)進(jìn)行分配的,即相同的數(shù)據(jù)分配相同的唯一標(biāo)識(shí),不同的數(shù)據(jù)分配不同的唯一標(biāo)識(shí),那么同一用戶設(shè)備發(fā)送的不同數(shù)據(jù)中的唯一標(biāo)識(shí)也是不同的,即同一用戶設(shè)備發(fā)送的不同的數(shù)據(jù)可能會(huì)被分配到不同的下游數(shù)據(jù)處理設(shè)備上,此時(shí)需要篩選出同一去重周期內(nèi)發(fā)送的所有數(shù)據(jù),然后在確定出的與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù)中判斷是否存在與所述數(shù)據(jù)具有相同的所述唯一標(biāo)識(shí)的數(shù)據(jù),即判斷同一去重周期內(nèi)是否存在唯一標(biāo)識(shí)相同的數(shù)據(jù),如果存在則表示所述下游數(shù)據(jù)處理設(shè)備中存在相同的數(shù)據(jù),需要進(jìn)行去重操作,在進(jìn)行去重操作時(shí),所述下游數(shù)據(jù)處理設(shè)備將具有相同的所述唯一標(biāo)識(shí)的數(shù)據(jù)進(jìn)行合并,以使具有相同的所述唯一標(biāo)識(shí)的數(shù)據(jù)只保留一個(gè)。
本發(fā)明實(shí)施例根據(jù)獲取的數(shù)據(jù)中攜帶的唯一標(biāo)識(shí)和預(yù)設(shè)的對(duì)應(yīng)關(guān)系,確定將所述數(shù)據(jù)發(fā)送到的所述下游數(shù)據(jù)處理設(shè)備,本發(fā)明實(shí)施例通過將具有相同唯一標(biāo)識(shí)的數(shù)據(jù)發(fā)送到同一下游數(shù)據(jù)處理設(shè)備上,使得一個(gè)下游數(shù)據(jù)處理設(shè)備可以對(duì)發(fā)送的重復(fù)數(shù)據(jù)進(jìn)行徹底去重,進(jìn)而使得下游數(shù)據(jù)處理設(shè)備集群 對(duì)發(fā)送的多個(gè)重復(fù)數(shù)據(jù)可以進(jìn)行有效去重。
本發(fā)明還提出了一種數(shù)據(jù)去重的方法,具體如圖3所示,所述方法應(yīng)用于包括多個(gè)下游數(shù)據(jù)處理設(shè)備的系統(tǒng)中,所述系統(tǒng)中還包括:中間設(shè)備,所述方法包括:
步驟301,下游數(shù)據(jù)處理設(shè)備接收所述中間設(shè)備發(fā)送的數(shù)據(jù),所述數(shù)據(jù)是根據(jù)預(yù)設(shè)的對(duì)應(yīng)關(guān)系和所述數(shù)據(jù)中的攜帶的唯一標(biāo)識(shí)發(fā)送的;
步驟302,所述下游數(shù)據(jù)處理設(shè)備判斷是否存在與所述數(shù)據(jù)相同的數(shù)據(jù)。如果存在,則執(zhí)行步驟303,如果不存在,則結(jié)束流程。
步驟303,所述下游數(shù)據(jù)處理設(shè)備對(duì)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)去重。
相同來源的數(shù)據(jù)所攜帶的唯一標(biāo)識(shí)至少部分相同。
所述下游數(shù)據(jù)處理設(shè)備判斷是否存在與所述數(shù)據(jù)相同的數(shù)據(jù),具體包括:
所述下游數(shù)據(jù)處理設(shè)備確定出與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù);
所述下游數(shù)據(jù)處理設(shè)備在確定出的與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù)中判斷是否存在與所述數(shù)據(jù)的所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù);
所述下游數(shù)據(jù)處理設(shè)備對(duì)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)去重,具體包括:
所述下游數(shù)據(jù)處理設(shè)備將與所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù)進(jìn)行合并,以使所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù)只保留一個(gè)。
其中,具體的數(shù)據(jù)去重過程在上述方法中已有詳細(xì)說明,在此不再一一贅述。
本發(fā)明實(shí)施例根據(jù)獲取的數(shù)據(jù)中攜帶的唯一標(biāo)識(shí)和預(yù)設(shè)的對(duì)應(yīng)關(guān)系,確定將所述數(shù)據(jù)發(fā)送到的所述下游數(shù)據(jù)處理設(shè)備,本發(fā)明實(shí)施例通過將具有相同唯一標(biāo)識(shí)的數(shù)據(jù)發(fā)送到同一下游數(shù)據(jù)處理設(shè)備上,使得一個(gè)下游數(shù)據(jù)處理設(shè)備可以對(duì)發(fā)送的重復(fù)數(shù)據(jù)進(jìn)行徹底去重,進(jìn)而使得下游數(shù)據(jù)處理設(shè)備集群對(duì)發(fā)送的多個(gè)重復(fù)數(shù)據(jù)可以進(jìn)行有效去重。
為了進(jìn)一步闡述本申請(qǐng)的技術(shù)思想,現(xiàn)結(jié)合具體的應(yīng)用場(chǎng)景,對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行說明,具體如圖4所示,其中,數(shù)據(jù)的唯一標(biāo)識(shí)是用戶設(shè)備的唯一標(biāo)識(shí),如:mac信息,預(yù)先建立的對(duì)應(yīng)關(guān)系為:用戶設(shè)備1的mac信息對(duì)應(yīng)的下游數(shù)據(jù)處理設(shè)備為下游數(shù)據(jù)處理設(shè)備1,具體步驟如下:
1、數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備在接收到上游設(shè)備轉(zhuǎn)發(fā)的數(shù)據(jù)時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲取數(shù) 據(jù)中的mac信息,其中,數(shù)據(jù)是用戶設(shè)備1發(fā)送的,此時(shí)mac信息為用戶設(shè)備1的mac信息;
2、數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備根據(jù)mac信息和對(duì)應(yīng)關(guān)系確定將要發(fā)送到的下游數(shù)據(jù)處理設(shè)備為下游數(shù)據(jù)處理設(shè)備1;
3、數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備將數(shù)據(jù)轉(zhuǎn)發(fā)到下游數(shù)據(jù)處理設(shè)備1中;
4、下游數(shù)據(jù)處理設(shè)備1確定與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù);
5、下游數(shù)據(jù)處理設(shè)備1在確定出的與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù)中確定出與所述數(shù)據(jù)具有相同唯一標(biāo)識(shí)的數(shù)據(jù);
6、下游數(shù)據(jù)處理設(shè)備1在確定出的與所述數(shù)據(jù)具有相同唯一標(biāo)識(shí)的數(shù)據(jù)中判斷是否存在相同的數(shù)據(jù);
7、如果存在,下游數(shù)據(jù)處理設(shè)備1將具有相同的所述唯一標(biāo)識(shí)的數(shù)據(jù)進(jìn)行合并,以使具有相同的所述唯一標(biāo)識(shí)的數(shù)據(jù)只保留一個(gè),即下游數(shù)據(jù)處理設(shè)備1中只保留一個(gè)所述數(shù)據(jù)。
基于與上述方法同樣的申請(qǐng)構(gòu)思,本發(fā)明提出了一種中間設(shè)備,如圖5所示,所述中間設(shè)備應(yīng)用于包括多個(gè)下游數(shù)據(jù)處理設(shè)備的系統(tǒng)中,所述中間設(shè)備包括:
獲取模塊51,用于獲取所接收到的數(shù)據(jù)中攜帶的唯一標(biāo)識(shí);
確定模塊52,用于根據(jù)預(yù)設(shè)的對(duì)應(yīng)關(guān)系和所述數(shù)據(jù)中的所述唯一標(biāo)識(shí),確定所述數(shù)據(jù)將要被發(fā)送到的下游數(shù)據(jù)處理設(shè)備;
發(fā)送模塊53,用于將所述數(shù)據(jù)發(fā)送到所述下游數(shù)據(jù)處理設(shè)備,以使所述下游數(shù)據(jù)處理設(shè)備對(duì)相同數(shù)據(jù)進(jìn)行數(shù)據(jù)去重。
相同來源的數(shù)據(jù)所攜帶的唯一標(biāo)識(shí)至少部分相同。
所述獲取模塊,具體用于:
解析所述數(shù)據(jù);
判斷解析后的所述數(shù)據(jù)內(nèi)容是否為空;
如果為空,刪除所述數(shù)據(jù);
如果不為空,獲取所述數(shù)據(jù)中攜帶的唯一標(biāo)識(shí)。
其中,具體的數(shù)據(jù)去重過程在上述方法中已有詳細(xì)說明,在此不再一一贅述。
本發(fā)明實(shí)施例根據(jù)獲取的數(shù)據(jù)中攜帶的唯一標(biāo)識(shí)和預(yù)設(shè)的對(duì)應(yīng)關(guān)系,確定將所述數(shù)據(jù)發(fā)送到的所述下游數(shù)據(jù)處理設(shè)備,本發(fā)明實(shí)施例通過將具有相同唯一標(biāo)識(shí)的數(shù)據(jù)發(fā)送到同一下游數(shù)據(jù)處理設(shè)備上,使得一個(gè)下游數(shù)據(jù)處理設(shè)備可以對(duì)發(fā)送的重復(fù)數(shù)據(jù)進(jìn)行徹底去重,進(jìn)而使得下游數(shù)據(jù)處理設(shè)備集群對(duì)發(fā)送的多個(gè)重復(fù)數(shù)據(jù)可以進(jìn)行有效去重。
基于與上述方法同樣的申請(qǐng)構(gòu)思,本發(fā)明還提出了一種下游數(shù)據(jù)處理設(shè)備,具體如圖6所示,應(yīng)用于包括多個(gè)下游數(shù)據(jù)處理設(shè)備和中間設(shè)備的系統(tǒng)中,所述系統(tǒng)中還包括:中間設(shè)備,所述下游數(shù)據(jù)處理設(shè)備包括:
接收模塊61,用于接收所述中間設(shè)備發(fā)送的數(shù)據(jù),所述數(shù)據(jù)是根據(jù)預(yù)設(shè)的對(duì)應(yīng)關(guān)系和所述數(shù)據(jù)中的攜帶的唯一標(biāo)識(shí)發(fā)送的;
判斷模塊62,用于判斷是否存在與所述數(shù)據(jù)相同的數(shù)據(jù);
去重模塊63,如果存在與所述數(shù)據(jù)相同的數(shù)據(jù),用于對(duì)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)去重。
相同來源的數(shù)據(jù)所攜帶的唯一標(biāo)識(shí)至少部分相同。
所述判斷模塊,具體用于:
確定出與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù);
在確定出的與所述數(shù)據(jù)屬于同一去重周期內(nèi)獲取到的數(shù)據(jù)中判斷是否存在與所述數(shù)據(jù)的所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù);
所述去重模塊,具體用于:
將與所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù)進(jìn)行合并,以使所述唯一標(biāo)識(shí)具有部分相同的數(shù)據(jù)只保留一個(gè)。
其中,具體的數(shù)據(jù)去重過程在上述方法中已有詳細(xì)說明,在此不再一一贅述。
本發(fā)明實(shí)施例根據(jù)獲取的數(shù)據(jù)中攜帶的唯一標(biāo)識(shí)和預(yù)設(shè)的對(duì)應(yīng)關(guān)系,確定將所述數(shù)據(jù)發(fā)送到的所述下游數(shù)據(jù)處理設(shè)備,本發(fā)明實(shí)施例通過將具有相同唯一標(biāo)識(shí)的數(shù)據(jù)發(fā)送到同一下游數(shù)據(jù)處理設(shè)備上,使得一個(gè)下游數(shù)據(jù)處理設(shè)備可以對(duì)發(fā)送的重復(fù)數(shù)據(jù)進(jìn)行徹底去重,進(jìn)而使得下游數(shù)據(jù)處理設(shè)備集群對(duì)發(fā)送的多個(gè)重復(fù)數(shù)據(jù)可以進(jìn)行有效去重。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可 讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到至少兩個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。