本申請涉及互聯(lián)網(wǎng)信息處理技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
背景技術(shù):
目前,隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,大量用戶每天會產(chǎn)生不同類型的大量數(shù)據(jù),相應(yīng)的,服務(wù)器也會接收到用戶上傳的大量數(shù)據(jù),并且會對這些大量數(shù)據(jù)進(jìn)行處理。例如,每天有大量的視頻數(shù)據(jù)、圖像數(shù)據(jù)、文本數(shù)據(jù)、用戶相關(guān)數(shù)據(jù)等會上傳到服務(wù)器,服務(wù)器往往會對接收到的大量數(shù)據(jù)進(jìn)行處理。
服務(wù)器在進(jìn)行數(shù)據(jù)處理時,往往通過兩兩數(shù)據(jù)比對的方式確定兩兩數(shù)據(jù)之間的相似度,進(jìn)而確定該兩兩數(shù)據(jù)的處理方式。例如,針對待處理的10萬張圖像,針對每一種圖像,服務(wù)器將每張圖像的各特征與其他圖像的各特征進(jìn)行比較,確定每張圖像與其他圖像之間的相似度,進(jìn)而根據(jù)相似度確定待處理圖像的處理方式。
顯然,對于大量數(shù)據(jù)而言,通過數(shù)據(jù)之間兩兩比對的方式對數(shù)據(jù)進(jìn)行處理,這樣,不但存在數(shù)據(jù)處理效率較低的問題,還存在服務(wù)器開銷較大的問題。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種數(shù)據(jù)處理方法及裝置,用以提高對數(shù)據(jù)處理的效率。
本申請實施例提供了一種數(shù)據(jù)處理方法,包括:
第一處理節(jié)點接收至少一個第二處理節(jié)點發(fā)送的數(shù)據(jù)信息,其中,所述數(shù)據(jù)信息中包含第一數(shù)據(jù)集合和所述第一數(shù)據(jù)集合對應(yīng)的索引信息,所述索引信 息用于表征所述第一數(shù)據(jù)集合中包含的待處理數(shù)據(jù)的公共特征向量;
所述第一處理節(jié)點根據(jù)所述數(shù)據(jù)信息中包含的所述索引信息,從所述第一處理節(jié)點的數(shù)據(jù)集合庫中,查找到與所述索引信息不相同的至少一個第二數(shù)據(jù)集合;
所述第一處理節(jié)點在確定所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合中包含至少一個相同的待處理數(shù)據(jù)時,將所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合聚合為一個數(shù)據(jù)集合。
本申請實施例提供了一種數(shù)據(jù)處理裝置,包括:
接收單元,用于接收至少一個第二處理節(jié)點發(fā)送的數(shù)據(jù)信息,其中,所述數(shù)據(jù)信息中包含第一數(shù)據(jù)集合和所述第一數(shù)據(jù)集合對應(yīng)的索引信息,所述索引信息用于表征所述第一數(shù)據(jù)集合中包含的待處理數(shù)據(jù)的公共特征向量;
查找單元,用于根據(jù)所述數(shù)據(jù)信息中包含的所述索引信息,從所述第一處理節(jié)點的數(shù)據(jù)集合庫中,查找到與所述索引信息不相同的至少一個第二數(shù)據(jù)集合;
聚合單元,用于在確定所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合中包含至少一個相同的待處理數(shù)據(jù)時,將所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合聚合為一個數(shù)據(jù)集合。
有益效果:
本申請實施例第一處理節(jié)點接收至少一個第二處理節(jié)點發(fā)送的數(shù)據(jù)信息,所述數(shù)據(jù)信息中包含第一數(shù)據(jù)集合和所述第一數(shù)據(jù)集合對應(yīng)的索引信息,所述索引信息用于表征所述第一數(shù)據(jù)集合中包含的待處理數(shù)據(jù)的公共特征向量;根據(jù)所述數(shù)據(jù)信息中包含的所述索引信息,從所述第一處理節(jié)點的數(shù)據(jù)集合庫中,查找到與所述索引信息不相同的至少一個第二數(shù)據(jù)集合;在確定所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合中包含至少一個相同的待處理數(shù)據(jù)時,將所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合聚合為一個數(shù)據(jù)集合。這樣,在分布式系統(tǒng)中,主處理節(jié)點在接收到輔處理節(jié)點發(fā)送的數(shù)據(jù)信息時,對 于索引信息不同的兩個數(shù)據(jù)集合,若包含相同的待處理數(shù)據(jù),則主處理節(jié)點可以將包含相同的待處理數(shù)據(jù)的兩個數(shù)據(jù)集合進(jìn)行聚合,有效地提升了數(shù)據(jù)聚合速度,進(jìn)而提升了海量數(shù)據(jù)的處理效率。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1為本申請實施例提供的一種數(shù)據(jù)處理方法的流程示意圖;
圖2為本申請實施例提供的一種數(shù)據(jù)處理方法的流程示意圖;
圖3為特征向量A3對應(yīng)的數(shù)據(jù)集合的結(jié)構(gòu)示意圖;
圖4為執(zhí)行聚合操作的示意圖;
圖5為執(zhí)行合并操作的示意圖;
圖6為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。
具體實施方式
為了實現(xiàn)本申請的目的,本申請實施例提供了一種數(shù)據(jù)處理方法以及裝置,在分布式系統(tǒng)中,主處理節(jié)點在接收到輔處理節(jié)點發(fā)送的數(shù)據(jù)信息時,對于索引信息不同的兩個數(shù)據(jù)集合,若包含相同的待處理數(shù)據(jù),則主處理節(jié)點可以將包含相同的待處理數(shù)據(jù)的兩個數(shù)據(jù)集合進(jìn)行聚合,有效地提升了數(shù)據(jù)聚合速度,進(jìn)而提升了海量數(shù)據(jù)的處理效率。
下面結(jié)合本申請各個具體實施例及相應(yīng)的附圖對本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
圖1為本申請實施例提供的一種數(shù)據(jù)處理方法的流程示意圖。所述方法可 以如下所述。
步驟101:第一處理節(jié)點接收至少一個第二處理節(jié)點發(fā)送的數(shù)據(jù)信息。
其中,所述數(shù)據(jù)信息中包含第一數(shù)據(jù)集合和所述第一數(shù)據(jù)集合對應(yīng)的索引信息,所述索引信息用于表征所述第一數(shù)據(jù)集合中包含的待處理數(shù)據(jù)的公共特征向量。
在步驟101中,本申請實施例中所述的“第一處理節(jié)點”和“第二處理節(jié)點”中的“第一”和“第二”僅僅用于區(qū)分不同的處理節(jié)點,沒有其他特殊含義。本申請實施例中所述的處理節(jié)點可以是分布式系統(tǒng)中的任意一個處理節(jié)點(例如:處理器或者服務(wù)器),也可以是非分布式系統(tǒng)中的處理節(jié)點,這樣的處理節(jié)點又可以被稱為計算節(jié)點。
不同的處理節(jié)點對于本地存儲的待處理數(shù)據(jù)進(jìn)行分類,以形成不同類型的數(shù)據(jù)集合。每一個數(shù)據(jù)集合對應(yīng)一個索引信息。
其中,本申請實施例中所述待處理數(shù)據(jù)可以是文本數(shù)據(jù),也可以是圖片數(shù)據(jù),還可以是圖像數(shù)據(jù),這里不做具體限定。
下面以一個處理節(jié)點為例說明數(shù)據(jù)集合的確定方式。
圖2為本申請實施例提供的一種數(shù)據(jù)處理方法的流程示意圖。從圖2中所示的內(nèi)容可以了解一個處理節(jié)點如何確定數(shù)據(jù)集合(或者說如何將本地存儲的待處理數(shù)據(jù)進(jìn)行分類)。所述方法可以如下所示。
S201:第一處理節(jié)點獲取至少兩個待處理數(shù)據(jù),并確定每一個所述待處理數(shù)據(jù)的特征集合。
其中,所述特征集合中包含至少一個特征向量。
在S201中,第一處理節(jié)點從本地數(shù)據(jù)庫或者其他第三方數(shù)據(jù)庫中獲取多個待處理數(shù)據(jù)(這里可以稱為至少兩個待處理數(shù)據(jù)),并對獲取到的待處理數(shù)據(jù)進(jìn)行分類處理。
具體地,由于每一個待處理數(shù)據(jù)具備用于區(qū)別于其他待處理數(shù)據(jù)的特征值,那么處理節(jié)點對于需要處理的待處理數(shù)據(jù),提取每一個待處理數(shù)據(jù)的特征 向量,形成針對該待處理數(shù)據(jù)的特征向量集合。
具體地,對于不同的待處理數(shù)據(jù),提取得到的每一個待處理數(shù)據(jù)的特征向量不同,例如:若待處理數(shù)據(jù)屬于文本數(shù)據(jù),確定每一個文本數(shù)據(jù)的關(guān)鍵詞,將提取得到的關(guān)鍵詞作為該文本數(shù)據(jù)的特征向量,并將提取得到的多個關(guān)鍵詞形成的關(guān)鍵詞集合作為該文本數(shù)據(jù)的特征向量集合。
若待處理數(shù)據(jù)屬于圖片數(shù)據(jù),可通過圖片特征提取方法提取出每一個圖片數(shù)據(jù)的點、線、輪廓、像素點等特征值,將提取得到的特征值作為該圖片數(shù)據(jù)的特征向量,并將提取得到的多個特征值形成的特征值集合作為該圖片數(shù)據(jù)的特征向量集合。
例如,假設(shè)第一處理節(jié)點獲取5個圖片數(shù)據(jù),針對每一個圖片數(shù)據(jù),確定每一個圖片數(shù)據(jù)的特征向量集合。
具體地,針對每一個圖片數(shù)據(jù)執(zhí)行以下操作直至得到每一個圖片數(shù)據(jù)的特征向量集合:
選擇其中一個圖片數(shù)據(jù),利用圖片特征提取方法從選擇的圖片數(shù)據(jù)中提取該圖片數(shù)據(jù)的特征值,并提取到的特征值構(gòu)成的特征集合作為該圖片數(shù)據(jù)的特征向量集合。
假設(shè),第一處理節(jié)點獲取的5個圖片數(shù)據(jù)為:P0、P1、P2、P3和P4,通過上述方式得到的每一個圖片數(shù)據(jù)的特征向量集合為:P0對應(yīng)的特征向量集合為{A1、A2、A3};P1對應(yīng)的特征向量集合為{A2、A3、A4};P2對應(yīng)的特征向量集合為{A3、A4、A5};P3對應(yīng)的特征向量集合為{A5、A6、A7};P4對應(yīng)的特征向量集合為{A7、A8、A9}。
需要說明的是,處理節(jié)點提取待處理數(shù)據(jù)的特征向量集合的方法還可以包含尺度不變特征轉(zhuǎn)換(Scale-invariant feature transform,SIFT)法、simhash算法等等,這里對于提取待處理數(shù)據(jù)的特征向量集合的方法不做具體限定。
S202:所述第一處理節(jié)點以所述特征向量為劃分粒度,將包含相同特征向量的至少一個待處理數(shù)據(jù)劃分得到一個數(shù)據(jù)集合。
在S202中,所述第一處理節(jié)點根據(jù)每一個所述待處理數(shù)據(jù)的特征集合中包含的特征向量,確定獲取的至少兩個待處理數(shù)據(jù)中包含的特征向量。
所述第一處理節(jié)點選擇一個所述特征向量,從獲取到的所述至少兩個待處理數(shù)據(jù)中,查找出包含確定的所述特征向量的待處理數(shù)據(jù);
所述第一處理節(jié)點將查找到的所述待處理數(shù)據(jù)組合得到一個數(shù)據(jù)集合。
例如:第一處理節(jié)點獲取的5個圖片數(shù)據(jù)為:P0、P1、P2、P3和P4,通過上述方式得到的每一個圖片數(shù)據(jù)的特征向量集合為:P0對應(yīng)的特征向量集合為{A1、A2、A3};P1對應(yīng)的特征向量集合為{A2、A3、A4};P2對應(yīng)的特征向量集合為{A3、A4、A5};P3對應(yīng)的特征向量集合為{A5、A6、A7};P4對應(yīng)的特征向量集合為{A7、A8、A9}。
在得到每一個圖片數(shù)據(jù)的特征向量集合時,根據(jù)每一個圖片數(shù)據(jù)的特征向量集合中包含的特征向量,可以得到獲取的5個圖片數(shù)據(jù)中包含的特征向量:A1、A2、A3、A4、A5、A6、A7、A8和A9。
從得到獲取的5個圖片數(shù)據(jù)中包含的特征向量中選擇一個特征向量,確定包含選擇的特征向量的圖片數(shù)據(jù):若選擇的特征向量為A1,那么包含特征向量A1的圖片數(shù)據(jù)有P0;若選擇的特征向量為A2,那么包含特征向量A2的圖片數(shù)據(jù)有P0和P1;若選擇的特征向量為A3,那么包含特征向量A3的圖片數(shù)據(jù)有P0、P1和P2;若選擇的特征向量為A4,那么包含特征向量A4的圖片數(shù)據(jù)有P1和P2;若選擇的特征向量為A5,那么包含特征向量A5的圖片數(shù)據(jù)有P2和P3;若選擇的特征向量為A6,那么包含特征向量A6的圖片數(shù)據(jù)有P3;若選擇的特征向量為A7,那么包含特征向量A7的圖片數(shù)據(jù)有P3和P4;若選擇的特征向量為A8,那么包含特征向量A8的圖片數(shù)據(jù)有P4;若選擇的特征向量為A9,那么包含特征向量A9的圖片數(shù)據(jù)有P4。
這樣得到9個數(shù)據(jù)集合:A1對應(yīng)的{P0};A2對應(yīng)的{P0、P1};A3對應(yīng)的{P0、P1、P2};A4對應(yīng)的{P1、P2};A5對應(yīng)的{P2、P3};A6對應(yīng)的{P3};A7對應(yīng)的{P3、P4};A8對應(yīng)的{P4};A9對應(yīng)的{P4}。
可選地,所述第一處理節(jié)點在得到一個數(shù)據(jù)集合時,確定所述數(shù)據(jù)集合的索引信息。
其中,所述索引信息為用于表征所述數(shù)據(jù)集合中包含的待處理數(shù)據(jù)的公共特征向量。
仍以上述事例為例,在得到9個數(shù)據(jù)集合時,分別為每一個數(shù)據(jù)集合確定索引信息。例如:{P0}的索引信息為A1;{P0、P1}的索引信息為A2;{P0、P1、P2}的索引信息為A3;{P1、P2}的索引信息為A4;{P2、P3}的索引信息為A5;{P3}的索引信息為A6;{P3、P4}的索引信息為A7;{P4}的索引信息為A8;{P4}的索引信息為A9。
需要說明的是,本申請實施例中所述的索引信息可以采用倒排索引的形式,索引信息中包含屬性值和數(shù)據(jù)集合中包含的各個數(shù)據(jù)的地址信息。
可選地,所述第一處理節(jié)點將查找到的所述待處理數(shù)據(jù)組合得到一個數(shù)據(jù)集合,包括:
所述第一處理節(jié)點按照查找所述待處理數(shù)據(jù)的順序,生成一棵樹,并將所述樹視為一個數(shù)據(jù)集合。
其中,所述樹的每一個節(jié)點對應(yīng)一個待處理數(shù)據(jù)。
在本申請實施例中,第一處理節(jié)點在以所述特征向量為劃分粒度將包含相同特征向量的至少一個待處理數(shù)據(jù)劃分得到一個數(shù)據(jù)集合時,可以將得到的數(shù)據(jù)集合以樹的形式存儲,即以所述特征向量為樹的根節(jié)點,按照查找到包含該根節(jié)點的待處理數(shù)據(jù)的順序,依次生成該樹的根節(jié)點的葉子節(jié)點。
仍以上述事例為例,在得到9個數(shù)據(jù)集合時,分別將每一個數(shù)據(jù)集合以樹的形式存儲。以{P0、P1、P2}為例說明樹的結(jié)構(gòu)。如圖3所示,為特征向量A3對應(yīng)的數(shù)據(jù)集合的結(jié)構(gòu)示意圖。
從圖3中可以看出,樹的根節(jié)點為數(shù)據(jù)集合的索引信息A3,P0、P1和P2分別為根節(jié)點的葉子節(jié)點。
這里需要說明的是,圖3中僅僅給出了一種樹的結(jié)構(gòu)示意圖,至于P0、 P1和P2這些葉子節(jié)點之間的關(guān)系可以根據(jù)預(yù)先提供的方式得到,例如:預(yù)先提供的方式可以是每一個根節(jié)點包含兩個葉子節(jié)點,優(yōu)先查找到的葉子節(jié)點位于根節(jié)點的左側(cè);還可以根據(jù)實際需要生成,這里對于樹的生成方式不做具體限定。
這樣,第一處理節(jié)點對本地或者獲取的待處理數(shù)據(jù)進(jìn)行分類處理之后,得到每一個特征向量對應(yīng)的數(shù)據(jù)集合,即得到待處理數(shù)據(jù)的“森林”。
可選地,所述方法還包括:
所述第一處理節(jié)點將得到的所述數(shù)據(jù)集合存儲至第一處理節(jié)點的數(shù)據(jù)集合庫中。
這里的數(shù)據(jù)集合庫可以是指第一處理節(jié)點本地的數(shù)據(jù)集合庫,也可以是指與第一處理節(jié)點對應(yīng)的數(shù)據(jù)集合庫,該數(shù)據(jù)集合庫在不在第一處理節(jié)點本地不做具體限定。
需要說明的是,所述第一處理節(jié)點將得到的所述數(shù)據(jù)集合存儲至數(shù)據(jù)集合庫中,可以將每一個數(shù)據(jù)集合的索引信息進(jìn)行整合,存儲在索引列表中,這樣針對索引列表中包含的每一個索引信息,可以確定每一個索引信息對應(yīng)數(shù)據(jù)集合,進(jìn)而得到每一個索引信息對應(yīng)的待處理數(shù)據(jù)。
第二處理節(jié)點發(fā)送的數(shù)據(jù)信息中包含的數(shù)據(jù)集合也可以通過上述方式得到,這里不再做詳細(xì)贅述。
在分布式系統(tǒng)中,每一個處理節(jié)點在對指定位置(例如:本地或者其他第三方數(shù)據(jù)庫)中的待處理數(shù)據(jù)進(jìn)行分類處理之后,還需要對各個處理節(jié)點得到的數(shù)據(jù)集合進(jìn)行整合,這樣可以對海量數(shù)據(jù)進(jìn)行有效處理,因此,對于分布式系統(tǒng)中的任意一個處理節(jié)點,存在接收其他處理節(jié)點發(fā)送的數(shù)據(jù)信息的情形。
步驟102:所述第一處理節(jié)點根據(jù)所述數(shù)據(jù)信息中包含的所述索引信息,從所述第一處理節(jié)點的數(shù)據(jù)集合庫中,查找與所述索引信息是否相同的數(shù)據(jù)集合,若不相同,則執(zhí)行步驟103;否則,執(zhí)行步驟106。
步驟103:所述第一處理節(jié)點查找到與所述索引信息不相同的至少一個第 二數(shù)據(jù)集合。
在步驟103中,所述第一處理節(jié)點遍歷數(shù)據(jù)集合庫中每一個數(shù)據(jù)集合的索引信息,將遍歷到的索引信息與接收到的所述數(shù)據(jù)信息中包含的所述索引信息進(jìn)行比較,確定遍歷到的索引信息與接收到的所述數(shù)據(jù)信息中包含的所述索引信息是否相同,并獲取遍歷到的與接收到的所述數(shù)據(jù)信息中包含的所述索引信息不相同的索引信息對應(yīng)的數(shù)據(jù)集合作為第二數(shù)據(jù)集合。
需要說明的是,本申請實施例中涉及到的“第一數(shù)據(jù)集合”和“第二數(shù)據(jù)集合”中的“第一”和“第二”沒有特殊含義,只是用來區(qū)分不同數(shù)據(jù)集合。
步驟104:所述第一處理節(jié)點判斷所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合中是否包含相同的待處理數(shù)據(jù),若包含,則執(zhí)行步驟105;若不包含,則放棄本輪操作。
在步驟104中,所述第一處理節(jié)點將第一數(shù)據(jù)集合中包含的待處理數(shù)據(jù)與每一個第二數(shù)據(jù)集合中包含的待處理數(shù)據(jù)進(jìn)行比較,確定第一數(shù)據(jù)集合中包含的待處理數(shù)據(jù)是否與每一個第二數(shù)據(jù)集合中包含的待處理數(shù)據(jù)相同。
步驟105:所述第一處理節(jié)點在確定所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合中包含至少一個相同的待處理數(shù)據(jù)時,將所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合聚合為一個數(shù)據(jù)集合。
在步驟105中,所述第一處理節(jié)點在確定所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合中包含至少一個相同的待處理數(shù)據(jù)時,說明所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合存在相同或者相似性,即可對所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合執(zhí)行聚合操作,得到一個數(shù)據(jù)集合。
可選地,所述數(shù)據(jù)信息中還包含所述第一數(shù)據(jù)集合中的每一個待處理數(shù)據(jù)在所述第一數(shù)據(jù)集合中的位置信息;所述第一處理節(jié)點在對對所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合執(zhí)行聚合操作時,確定所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合中包含的至少一個相同的待處理數(shù)據(jù)在所述第一數(shù)據(jù)集合中的位置信息;根據(jù)確定的所述位置信息,將所述第一數(shù)據(jù)集合與至少 一個所述第二數(shù)據(jù)集合聚合為一個數(shù)據(jù)集合。
假設(shè),第一處理節(jié)點接收到第二處理節(jié)點發(fā)送的數(shù)據(jù)信息中包含的數(shù)據(jù)集合為{P0、P5、P6},索引信息為A5;從數(shù)據(jù)集合庫中查找到索引信息不同且包含相同數(shù)據(jù)的數(shù)據(jù)集合為{P0}對應(yīng)的索引信息為A1;{P0、P1}對應(yīng)的索引信息為A2;{P0、P1、P2}對應(yīng)的索引信息為A3。
也就是說,{P0、P5、P6}對應(yīng)的索引信息為A5與{P0}對應(yīng)的索引信息為A1進(jìn)行聚合,{P0、P5、P6}對應(yīng)的索引信息為A5與{P0、P1}對應(yīng)的索引信息為A2進(jìn)行聚合,{P0、P5、P6}對應(yīng)的索引信息為A5與{P0、P1、P2}對應(yīng)的索引信息為A3進(jìn)行聚合。
需要說明的是,執(zhí)行聚合操作的位置信息為P0對應(yīng)的位置信息。
可選地,若所述第一數(shù)據(jù)集合對應(yīng)第一樹且至少一個所述第二數(shù)據(jù)集合對應(yīng)第二樹,那么所述第一處理節(jié)點根據(jù)確定的所述位置信息,將所述第一樹與所述第二樹聚合為一棵分布式樹。
下面以{P0、P5、P6}對應(yīng)的索引信息為A5與{P0、P1、P2}對應(yīng)的索引信息為A3進(jìn)行聚合為例進(jìn)行說明。
如圖4所示,為執(zhí)行聚合操作的示意圖。
從圖4中可以看出,{P0、P5、P6}對應(yīng)的索引信息為A5對應(yīng)的樹結(jié)構(gòu)1為:以A5為根節(jié)點,P0和P5為根節(jié)點的葉子節(jié)點,P6為P0的葉子節(jié)點;{P0、P1、P2}對應(yīng)的索引信息為A3對應(yīng)的樹結(jié)構(gòu)2為:以A3為根節(jié)點,P0和P1為根節(jié)點的葉子節(jié)點,P2為P0的葉子節(jié)點。由于執(zhí)行聚合操作的位置信息為P0對應(yīng)的位置信息,即在P0節(jié)點處將樹結(jié)構(gòu)1與樹結(jié)構(gòu)2進(jìn)行聚合,形成分布式樹。
步驟106:所述第一處理節(jié)點查找到與所述索引信息相同的至少一個第三數(shù)據(jù)集合。
步驟107:所述第一處理節(jié)點將所述第一數(shù)據(jù)集合與至少一個所述第三數(shù)據(jù)集合進(jìn)行合并,生成所述索引信息對應(yīng)的樹。
在步驟107中,所述第一處理節(jié)點在確定所述第一數(shù)據(jù)集合的索引信息與至少一個所述第三數(shù)據(jù)集合的索引信息時,說明所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合存在相同特征,即可對所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合執(zhí)行合并操作,得到一個數(shù)據(jù)集合。
假設(shè),第一處理節(jié)點接收到第二處理節(jié)點發(fā)送的數(shù)據(jù)信息中包含的數(shù)據(jù)集合為{P0、P5、P6},索引信息為A5;從數(shù)據(jù)集合庫中查找到索引信息A5對應(yīng)的數(shù)據(jù)集合為{P2、P3},對{P0、P5、P6}與{P2、P3}執(zhí)行合并操作,得到一個數(shù)據(jù)集合{P0、P5、P6、P2、P3}。
如圖5所示,為執(zhí)行合并操作的示意圖。
從圖5中可以看出,{P0、P5、P6}對應(yīng)的索引信息為A5對應(yīng)的樹結(jié)構(gòu)1為:以A5為根節(jié)點,P0和P5為根節(jié)點的葉子節(jié)點,P6為P0的葉子節(jié)點;{P2、P3}對應(yīng)的索引信息為A5對應(yīng)的樹結(jié)構(gòu)2為:以A5為根節(jié)點,P2和P3為根節(jié)點的葉子節(jié)點。由于執(zhí)行合并操作,即在A5根節(jié)點處生成兩個葉子節(jié)點:P2和P3,形成分布式樹。
通過本申請實施例的方案,第一處理節(jié)點接收至少一個第二處理節(jié)點發(fā)送的數(shù)據(jù)信息,所述數(shù)據(jù)信息中包含第一數(shù)據(jù)集合和所述第一數(shù)據(jù)集合對應(yīng)的索引信息,所述索引信息用于表征所述第一數(shù)據(jù)集合中包含的待處理數(shù)據(jù)的公共特征向量;根據(jù)所述數(shù)據(jù)信息中包含的所述索引信息,從第一處理節(jié)點的數(shù)據(jù)集合庫中,查找到與所述索引信息不相同的至少一個第二數(shù)據(jù)集合;在確定所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合中包含至少一個相同的待處理數(shù)據(jù)時,將所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合聚合為一個數(shù)據(jù)集合。這樣,在分布式系統(tǒng)中,主處理節(jié)點在接收到輔處理節(jié)點發(fā)送的數(shù)據(jù)信息時,對于索引信息不同的兩個數(shù)據(jù)集合,若包含相同的待處理數(shù)據(jù),則主處理節(jié)點可以將包含相同的待處理數(shù)據(jù)的兩個數(shù)據(jù)集合進(jìn)行聚合,有效地提升了數(shù)據(jù)聚合速度,進(jìn)而提升了海量數(shù)據(jù)的處理效率。
以上為本申請實施例提供的數(shù)據(jù)處理方法,基于同樣的思路,本申請實施 例還提供了一種數(shù)據(jù)處理裝置,如圖6所示,為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。所述數(shù)據(jù)處理裝置包括:接收單元61、查找單元62和聚合單元63,其中:
接收單元61,用于接收至少一個第二處理節(jié)點發(fā)送的數(shù)據(jù)信息,其中,所述數(shù)據(jù)信息中包含第一數(shù)據(jù)集合和所述第一數(shù)據(jù)集合對應(yīng)的索引信息,所述索引信息用于表征所述第一數(shù)據(jù)集合中包含的待處理數(shù)據(jù)的公共特征向量;
查找單元62,用于根據(jù)所述數(shù)據(jù)信息中包含的所述索引信息,從第一處理節(jié)點的數(shù)據(jù)集合庫中,查找到與所述索引信息不相同的至少一個第二數(shù)據(jù)集合;
聚合單元63,用于在確定所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合中包含至少一個相同的待處理數(shù)據(jù)時,將所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合聚合為一個數(shù)據(jù)集合。
可選地,所述數(shù)據(jù)信息中還包含所述第一數(shù)據(jù)集合中的每一個待處理數(shù)據(jù)在所述第一數(shù)據(jù)集合中的位置信息;
所述聚合單元63,具體用于在確定所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合中包含至少一個相同的待處理數(shù)據(jù)時,確定所述至少一個相同的待處理數(shù)據(jù)在所述第一數(shù)據(jù)集合中的位置信息;
根據(jù)確定的所述位置信息,將所述第一數(shù)據(jù)集合與至少一個所述第二數(shù)據(jù)集合聚合為一個數(shù)據(jù)集合。
具體地,所述聚合單元63,具體用于若所述第一數(shù)據(jù)集合對應(yīng)第一樹且至少一個所述第二數(shù)據(jù)集合對應(yīng)第二樹,那么所述第一處理節(jié)點根據(jù)確定的所述位置信息,將所述第一樹與所述第二樹聚合為一棵分布式樹。
可選地,所述數(shù)據(jù)處理裝置還包括:合并單元64,其中:
所述合并單元64,用于根據(jù)所述數(shù)據(jù)信息中包含的所述索引信息,從所述第一處理節(jié)點的數(shù)據(jù)集合庫中,查找到與所述索引信息相同的至少一個第三數(shù)據(jù)集合;
將所述第一數(shù)據(jù)集合與至少一個所述第三數(shù)據(jù)集合進(jìn)行合并,生成所述索引信息對應(yīng)的樹。
可選地,所述數(shù)據(jù)處理裝置還包括:分類單元65,其中:
所述分類單元65,用于在接收至少一個第二處理節(jié)點發(fā)送的數(shù)據(jù)信息之前,獲取至少兩個待處理數(shù)據(jù),并確定每一個所述待處理數(shù)據(jù)的特征集合,其中,所述特征集合中包含至少一個特征向量;以所述特征向量為劃分粒度,將包含相同特征向量的至少一個待處理數(shù)據(jù)劃分得到一個數(shù)據(jù)集合。
具體地,所述分類單元65,具體用于確定一個所述特征向量;從獲取到的所述至少兩個待處理數(shù)據(jù)中,查找出包含確定的所述特征向量的的待處理數(shù)據(jù);將查找到的所述待處理數(shù)據(jù)組合得到一個數(shù)據(jù)集合。
可選地,所述數(shù)據(jù)處理裝置還包括:確定單元66,其中:
所述確定單元66,用于在得到一個數(shù)據(jù)集合時,確定所述數(shù)據(jù)集合的索引信息,其中,所述索引信息為用于表征所述數(shù)據(jù)集合中包含的待處理數(shù)據(jù)的公共特征向量。
具體地,所述分類單元65將查找到的所述待處理數(shù)據(jù)組合得到一個數(shù)據(jù)集合,具體包括:
按照查找所述待處理數(shù)據(jù)的順序,生成一棵樹,并將所述樹視為一個數(shù)據(jù)集合,其中,所述樹的每一個節(jié)點對應(yīng)一個待處理數(shù)據(jù)。
可選地,所述數(shù)據(jù)處理裝置還包括:存儲單元67,其中:
所述存儲單元67,用于將得到的所述數(shù)據(jù)集合存儲至所述第一處理節(jié)點的數(shù)據(jù)集合庫中。
需要說明的是,本申請實施例中所述數(shù)據(jù)處理裝置可以通過硬件方式實現(xiàn),也可以通過軟件方式實現(xiàn),這里對于數(shù)據(jù)處理裝置的實現(xiàn)方式不做具體限定。
這樣,在分布式系統(tǒng)中,若本申請實施例中所述數(shù)據(jù)處理裝置分別被部署在主處理節(jié)點和輔處理節(jié)點上,那么主處理節(jié)點在接收到輔處理節(jié)點發(fā)送的數(shù) 據(jù)信息時,對于索引信息不同的兩個數(shù)據(jù)集合,若包含相同的待處理數(shù)據(jù),則主處理節(jié)點可以將包含相同的待處理數(shù)據(jù)的兩個數(shù)據(jù)集合進(jìn)行聚合,有效地提升了數(shù)據(jù)聚合速度,進(jìn)而提升了海量數(shù)據(jù)的處理效率。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機可讀介質(zhì)的示例。
計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存 (PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。