一种数据处理方法及装置转让专利

申请号 : CN201510463292.7

文献号 : CN106407215B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭真林

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请公开了一种数据处理方法及装置,用以提高对数据处理的效率。所述数据处理方法包括:第一处理节点接收至少一个第二处理节点发送的数据信息,所述数据信息中包含第一数据集合和所述第一数据集合对应的索引信息,所述索引信息用于表征所述第一数据集合中包含的待处理数据的公共特征向量;根据所述数据信息中包含的所述索引信息,从第一处理节点的数据集合库中,查找到与所述索引信息不相同的至少一个第二数据集合;在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。

权利要求 :

1.一种数据处理方法,其特征在于,包括:

第一处理节点接收至少一个第二处理节点发送的数据信息,其中,所述数据信息中包含第一数据集合和所述第一数据集合对应的索引信息,所述索引信息用于表征所述第一数据集合中包含的待处理数据的公共特征向量;

所述第一处理节点根据所述数据信息中包含的所述索引信息,从所述第一处理节点的数据集合库中,查找到与所述索引信息不相同的至少一个第二数据集合;

所述第一处理节点在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,确定所述至少一个相同的待处理数据在所述第一数据集合中的位置信息,并根据确定的所述位置信息,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。

2.如权利要求1所述的数据处理方法,其特征在于,所述数据信息中还包含所述第一数据集合中的每一个待处理数据在所述第一数据集合中的位置信息。

3.如权利要求2所述的数据处理方法,其特征在于,所述根据确定的所述位置信息,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合,包括:若所述第一数据集合对应第一树且至少一个所述第二数据集合对应第二树,那么所述第一处理节点根据确定的所述位置信息,将所述第一树与所述第二树聚合为一棵分布式树。

4.如权利要求1至3任一项所述的数据处理方法,其特征在于,所述方法还包括:所述第一处理节点根据所述数据信息中包含的所述索引信息,从所述第一处理节点的数据集合库中,查找到与所述索引信息相同的至少一个第三数据集合;

所述第一处理节点将所述第一数据集合与至少一个所述第三数据集合进行合并,生成所述索引信息对应的树。

5.如权利要求1所述的数据处理方法,其特征在于,所述第一处理节点在接收至少一个第二处理节点发送的数据信息之前,所述方法还包括:所述第一处理节点获取至少两个待处理数据,并确定每一个所述待处理数据的特征集合,其中,所述特征集合中包含至少一个特征向量;

所述第一处理节点以所述特征向量为划分粒度,将包含相同特征向量的至少一个待处理数据划分得到一个数据集合。

6.如权利要求5所述的数据处理方法,其特征在于,所述第一处理节点以所述特征向量为划分粒度,将包含相同特征向量的至少一个待处理数据划分得到一个数据集合,包括:所述第一处理节点确定一个所述特征向量;

所述第一处理节点从获取到的所述至少两个待处理数据中,查找出包含确定的所述特征向量的的待处理数据;

所述第一处理节点将查找到的所述待处理数据组合得到一个数据集合。

7.如权利要求5或6所述的数据处理方法,其特征在于,所述方法还包括:所述第一处理节点在得到一个数据集合时,确定所述数据集合的索引信息,其中,所述索引信息为用于表征所述数据集合中包含的待处理数据的公共特征向量。

8.如权利要求7所述的数据处理方法,其特征在于,所述第一处理节点将查找到的所述待处理数据组合得到一个数据集合,包括:所述第一处理节点按照查找所述待处理数据的顺序,生成一棵树,并将所述树视为一个数据集合,其中,所述树的每一个节点对应一个待处理数据。

9.如权利要求8所述的数据处理方法,其特征在于,所述方法还包括:所述第一处理节点将得到的所述数据集合存储至所述第一处理节点的数据集合库中。

10.一种数据处理装置,其特征在于,包括:

接收单元,用于接收至少一个第二处理节点发送的数据信息,其中,所述数据信息中包含第一数据集合和所述第一数据集合对应的索引信息,所述索引信息用于表征所述第一数据集合中包含的待处理数据的公共特征向量;

查找单元,用于根据所述数据信息中包含的所述索引信息,从第一处理节点的数据集合库中,查找到与所述索引信息不相同的至少一个第二数据集合;

聚合单元,用于在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,确定所述至少一个相同的待处理数据在所述第一数据集合中的位置信息,并根据确定的所述位置信息,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。

11.如权利要求10所述的数据处理装置,其特征在于,所述数据信息中还包含所述第一数据集合中的每一个待处理数据在所述第一数据集合中的位置信息。

12.如权利要求11所述的数据处理装置,其特征在于,

所述聚合单元,具体用于若所述第一数据集合对应第一树且至少一个所述第二数据集合对应第二树,那么所述第一处理节点根据确定的所述位置信息,将所述第一树与所述第二树聚合为一棵分布式树。

13.如权利要求10至12任一项所述的数据处理装置,其特征在于,所述数据处理装置还包括:合并单元,其中:所述合并单元,用于根据所述数据信息中包含的所述索引信息,从所述第一处理节点的数据集合库中,查找到与所述索引信息相同的至少一个第三数据集合;

将所述第一数据集合与至少一个所述第三数据集合进行合并,生成所述索引信息对应的树。

14.如权利要求13所述的数据处理装置,其特征在于,所述数据处理装置还包括:分类单元,其中:所述分类单元,用于在接收至少一个第二处理节点发送的数据信息之前,获取至少两个待处理数据,并确定每一个所述待处理数据的特征集合,其中,所述特征集合中包含至少一个特征向量;以所述特征向量为划分粒度,将包含相同特征向量的至少一个待处理数据划分得到一个数据集合。

15.如权利要求14所述的数据处理装置,其特征在于,

所述分类单元,具体用于确定一个所述特征向量;从获取到的所述至少两个待处理数据中,查找出包含确定的所述特征向量的的待处理数据;将查找到的所述待处理数据组合得到一个数据集合。

16.如权利要求14或15所述的数据处理装置,其特征在于,所述数据处理装置还包括:确定单元,其中:

所述确定单元,用于在得到一个数据集合时,确定所述数据集合的索引信息,其中,所述索引信息为用于表征所述数据集合中包含的待处理数据的公共特征向量。

17.如权利要求16所述的数据处理装置,其特征在于,所述分类单元将查找到的所述待处理数据组合得到一个数据集合,具体包括:按照查找所述待处理数据的顺序,生成一棵树,并将所述树视为一个数据集合,其中,所述树的每一个节点对应一个待处理数据。

18.如权利要求17所述的数据处理装置,其特征在于,所述数据处理装置还包括:存储单元,其中:所述存储单元,用于将得到的所述数据集合存储至所述第一处理节点的数据集合库中。

说明书 :

一种数据处理方法及装置

技术领域

[0001] 本申请涉及互联网信息处理技术领域,尤其涉及一种数据处理方法及装置。

背景技术

[0002] 目前,随着网络技术的飞速发展,大量用户每天会产生不同类型的大量数据,相应的,服务器也会接收到用户上传的大量数据,并且会对这些大量数据进行处理。例如,每天有大量的视频数据、图像数据、文本数据、用户相关数据等会上传到服务器,服务器往往会对接收到的大量数据进行处理。
[0003] 服务器在进行数据处理时,往往通过两两数据比对的方式确定两两数据之间的相似度,进而确定该两两数据的处理方式。例如,针对待处理的10万张图像,针对每一种图像,服务器将每张图像的各特征与其他图像的各特征进行比较,确定每张图像与其他图像之间的相似度,进而根据相似度确定待处理图像的处理方式。
[0004] 显然,对于大量数据而言,通过数据之间两两比对的方式对数据进行处理,这样,不但存在数据处理效率较低的问题,还存在服务器开销较大的问题。

发明内容

[0005] 本申请实施例提供一种数据处理方法及装置,用以提高对数据处理的效率。
[0006] 本申请实施例提供了一种数据处理方法,包括:
[0007] 第一处理节点接收至少一个第二处理节点发送的数据信息,其中,所述数据信息中包含第一数据集合和所述第一数据集合对应的索引信息,所述索引信息用于表征所述第一数据集合中包含的待处理数据的公共特征向量;
[0008] 所述第一处理节点根据所述数据信息中包含的所述索引信息,从所述第一处理节点的数据集合库中,查找到与所述索引信息不相同的至少一个第二数据集合;
[0009] 所述第一处理节点在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。
[0010] 本申请实施例提供了一种数据处理装置,包括:
[0011] 接收单元,用于接收至少一个第二处理节点发送的数据信息,其中,所述数据信息中包含第一数据集合和所述第一数据集合对应的索引信息,所述索引信息用于表征所述第一数据集合中包含的待处理数据的公共特征向量;
[0012] 查找单元,用于根据所述数据信息中包含的所述索引信息,从所述第一处理节点的数据集合库中,查找到与所述索引信息不相同的至少一个第二数据集合;
[0013] 聚合单元,用于在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。
[0014] 有益效果:
[0015] 本申请实施例第一处理节点接收至少一个第二处理节点发送的数据信息,所述数据信息中包含第一数据集合和所述第一数据集合对应的索引信息,所述索引信息用于表征所述第一数据集合中包含的待处理数据的公共特征向量;根据所述数据信息中包含的所述索引信息,从所述第一处理节点的数据集合库中,查找到与所述索引信息不相同的至少一个第二数据集合;在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。这样,在分布式系统中,主处理节点在接收到辅处理节点发送的数据信息时,对于索引信息不同的两个数据集合,若包含相同的待处理数据,则主处理节点可以将包含相同的待处理数据的两个数据集合进行聚合,有效地提升了数据聚合速度,进而提升了海量数据的处理效率。

附图说明

[0016] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0017] 图1为本申请实施例提供的一种数据处理方法的流程示意图;
[0018] 图2为本申请实施例提供的一种数据处理方法的流程示意图;
[0019] 图3为特征向量A3对应的数据集合的结构示意图;
[0020] 图4为执行聚合操作的示意图;
[0021] 图5为执行合并操作的示意图;
[0022] 图6为本申请实施例提供的一种数据处理装置的结构示意图。

具体实施方式

[0023] 为了实现本申请的目的,本申请实施例提供了一种数据处理方法以及装置,在分布式系统中,主处理节点在接收到辅处理节点发送的数据信息时,对于索引信息不同的两个数据集合,若包含相同的待处理数据,则主处理节点可以将包含相同的待处理数据的两个数据集合进行聚合,有效地提升了数据聚合速度,进而提升了海量数据的处理效率。
[0024] 下面结合本申请各个具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0025] 图1为本申请实施例提供的一种数据处理方法的流程示意图。所述方法可以如下所述。
[0026] 步骤101:第一处理节点接收至少一个第二处理节点发送的数据信息。
[0027] 其中,所述数据信息中包含第一数据集合和所述第一数据集合对应的索引信息,所述索引信息用于表征所述第一数据集合中包含的待处理数据的公共特征向量。
[0028] 在步骤101中,本申请实施例中所述的“第一处理节点”和“第二处理节点”中的“第一”和“第二”仅仅用于区分不同的处理节点,没有其他特殊含义。本申请实施例中所述的处理节点可以是分布式系统中的任意一个处理节点(例如:处理器或者服务器),也可以是非分布式系统中的处理节点,这样的处理节点又可以被称为计算节点。
[0029] 不同的处理节点对于本地存储的待处理数据进行分类,以形成不同类型的数据集合。每一个数据集合对应一个索引信息。
[0030] 其中,本申请实施例中所述待处理数据可以是文本数据,也可以是图片数据,还可以是图像数据,这里不做具体限定。
[0031] 下面以一个处理节点为例说明数据集合的确定方式。
[0032] 图2为本申请实施例提供的一种数据处理方法的流程示意图。从图2中所示的内容可以了解一个处理节点如何确定数据集合(或者说如何将本地存储的待处理数据进行分类)。所述方法可以如下所示。
[0033] S201:第一处理节点获取至少两个待处理数据,并确定每一个所述待处理数据的特征集合。
[0034] 其中,所述特征集合中包含至少一个特征向量。
[0035] 在S201中,第一处理节点从本地数据库或者其他第三方数据库中获取多个待处理数据(这里可以称为至少两个待处理数据),并对获取到的待处理数据进行分类处理。
[0036] 具体地,由于每一个待处理数据具备用于区别于其他待处理数据的特征值,那么处理节点对于需要处理的待处理数据,提取每一个待处理数据的特征向量,形成针对该待处理数据的特征向量集合。
[0037] 具体地,对于不同的待处理数据,提取得到的每一个待处理数据的特征向量不同,例如:若待处理数据属于文本数据,确定每一个文本数据的关键词,将提取得到的关键词作为该文本数据的特征向量,并将提取得到的多个关键词形成的关键词集合作为该文本数据的特征向量集合。
[0038] 若待处理数据属于图片数据,可通过图片特征提取方法提取出每一个图片数据的点、线、轮廓、像素点等特征值,将提取得到的特征值作为该图片数据的特征向量,并将提取得到的多个特征值形成的特征值集合作为该图片数据的特征向量集合。
[0039] 例如,假设第一处理节点获取5个图片数据,针对每一个图片数据,确定每一个图片数据的特征向量集合。
[0040] 具体地,针对每一个图片数据执行以下操作直至得到每一个图片数据的特征向量集合:
[0041] 选择其中一个图片数据,利用图片特征提取方法从选择的图片数据中提取该图片数据的特征值,并提取到的特征值构成的特征集合作为该图片数据的特征向量集合。
[0042] 假设,第一处理节点获取的5个图片数据为:P0、P1、P2、P3和P4,通过上述方式得到的每一个图片数据的特征向量集合为:P0对应的特征向量集合为{A1、A2、A3};P1对应的特征向量集合为{A2、A3、A4};P2对应的特征向量集合为{A3、A4、A5};P3对应的特征向量集合为{A5、A6、A7};P4对应的特征向量集合为{A7、A8、A9}。
[0043] 需要说明的是,处理节点提取待处理数据的特征向量集合的方法还可以包含尺度不变特征转换(Scale-invariant feature transform,SIFT)法、simhash算法等等,这里对于提取待处理数据的特征向量集合的方法不做具体限定。
[0044] S202:所述第一处理节点以所述特征向量为划分粒度,将包含相同特征向量的至少一个待处理数据划分得到一个数据集合。
[0045] 在S202中,所述第一处理节点根据每一个所述待处理数据的特征集合中包含的特征向量,确定获取的至少两个待处理数据中包含的特征向量。
[0046] 所述第一处理节点选择一个所述特征向量,从获取到的所述至少两个待处理数据中,查找出包含确定的所述特征向量的待处理数据;
[0047] 所述第一处理节点将查找到的所述待处理数据组合得到一个数据集合。
[0048] 例如:第一处理节点获取的5个图片数据为:P0、P1、P2、P3和P4,通过上述方式得到的每一个图片数据的特征向量集合为:P0对应的特征向量集合为{A1、A2、A3};P1对应的特征向量集合为{A2、A3、A4};P2对应的特征向量集合为{A3、A4、A5};P3对应的特征向量集合为{A5、A6、A7};P4对应的特征向量集合为{A7、A8、A9}。
[0049] 在得到每一个图片数据的特征向量集合时,根据每一个图片数据的特征向量集合中包含的特征向量,可以得到获取的5个图片数据中包含的特征向量:A1、A2、A3、A4、A5、A6、A7、A8和A9。
[0050] 从得到获取的5个图片数据中包含的特征向量中选择一个特征向量,确定包含选择的特征向量的图片数据:若选择的特征向量为A1,那么包含特征向量A1的图片数据有P0;若选择的特征向量为A2,那么包含特征向量A2的图片数据有P0和P1;若选择的特征向量为A3,那么包含特征向量A3的图片数据有P0、P1和P2;若选择的特征向量为A4,那么包含特征向量A4的图片数据有P1和P2;若选择的特征向量为A5,那么包含特征向量A5的图片数据有P2和P3;若选择的特征向量为A6,那么包含特征向量A6的图片数据有P3;若选择的特征向量为A7,那么包含特征向量A7的图片数据有P3和P4;若选择的特征向量为A8,那么包含特征向量A8的图片数据有P4;若选择的特征向量为A9,那么包含特征向量A9的图片数据有P4。
[0051] 这样得到9个数据集合:A1对应的{P0};A2对应的{P0、P1};A3对应的{P0、P1、P2};A4对应的{P1、P2};A5对应的{P2、P3};A6对应的{P3};A7对应的{P3、P4};A8对应的{P4};A9对应的{P4}。
[0052] 可选地,所述第一处理节点在得到一个数据集合时,确定所述数据集合的索引信息。
[0053] 其中,所述索引信息为用于表征所述数据集合中包含的待处理数据的公共特征向量。
[0054] 仍以上述事例为例,在得到9个数据集合时,分别为每一个数据集合确定索引信息。例如:{P0}的索引信息为A1;{P0、P1}的索引信息为A2;{P0、P1、P2}的索引信息为A3;{P1、P2}的索引信息为A4;{P2、P3}的索引信息为A5;{P3}的索引信息为A6;{P3、P4}的索引信息为A7;{P4}的索引信息为A8;{P4}的索引信息为A9。
[0055] 需要说明的是,本申请实施例中所述的索引信息可以采用倒排索引的形式,索引信息中包含属性值和数据集合中包含的各个数据的地址信息。
[0056] 可选地,所述第一处理节点将查找到的所述待处理数据组合得到一个数据集合,包括:
[0057] 所述第一处理节点按照查找所述待处理数据的顺序,生成一棵树,并将所述树视为一个数据集合。
[0058] 其中,所述树的每一个节点对应一个待处理数据。
[0059] 在本申请实施例中,第一处理节点在以所述特征向量为划分粒度将包含相同特征向量的至少一个待处理数据划分得到一个数据集合时,可以将得到的数据集合以树的形式存储,即以所述特征向量为树的根节点,按照查找到包含该根节点的待处理数据的顺序,依次生成该树的根节点的叶子节点。
[0060] 仍以上述事例为例,在得到9个数据集合时,分别将每一个数据集合以树的形式存储。以{P0、P1、P2}为例说明树的结构。如图3所示,为特征向量A3对应的数据集合的结构示意图。
[0061] 从图3中可以看出,树的根节点为数据集合的索引信息A3,P0、P1和P2分别为根节点的叶子节点。
[0062] 这里需要说明的是,图3中仅仅给出了一种树的结构示意图,至于P0、P1和P2这些叶子节点之间的关系可以根据预先提供的方式得到,例如:预先提供的方式可以是每一个根节点包含两个叶子节点,优先查找到的叶子节点位于根节点的左侧;还可以根据实际需要生成,这里对于树的生成方式不做具体限定。
[0063] 这样,第一处理节点对本地或者获取的待处理数据进行分类处理之后,得到每一个特征向量对应的数据集合,即得到待处理数据的“森林”。
[0064] 可选地,所述方法还包括:
[0065] 所述第一处理节点将得到的所述数据集合存储至第一处理节点的数据集合库中。
[0066] 这里的数据集合库可以是指第一处理节点本地的数据集合库,也可以是指与第一处理节点对应的数据集合库,该数据集合库在不在第一处理节点本地不做具体限定。
[0067] 需要说明的是,所述第一处理节点将得到的所述数据集合存储至数据集合库中,可以将每一个数据集合的索引信息进行整合,存储在索引列表中,这样针对索引列表中包含的每一个索引信息,可以确定每一个索引信息对应数据集合,进而得到每一个索引信息对应的待处理数据。
[0068] 第二处理节点发送的数据信息中包含的数据集合也可以通过上述方式得到,这里不再做详细赘述。
[0069] 在分布式系统中,每一个处理节点在对指定位置(例如:本地或者其他第三方数据库)中的待处理数据进行分类处理之后,还需要对各个处理节点得到的数据集合进行整合,这样可以对海量数据进行有效处理,因此,对于分布式系统中的任意一个处理节点,存在接收其他处理节点发送的数据信息的情形。
[0070] 步骤102:所述第一处理节点根据所述数据信息中包含的所述索引信息,从所述第一处理节点的数据集合库中,查找与所述索引信息是否相同的数据集合,若不相同,则执行步骤103;否则,执行步骤106。
[0071] 步骤103:所述第一处理节点查找到与所述索引信息不相同的至少一个第二数据集合。
[0072] 在步骤103中,所述第一处理节点遍历数据集合库中每一个数据集合的索引信息,将遍历到的索引信息与接收到的所述数据信息中包含的所述索引信息进行比较,确定遍历到的索引信息与接收到的所述数据信息中包含的所述索引信息是否相同,并获取遍历到的与接收到的所述数据信息中包含的所述索引信息不相同的索引信息对应的数据集合作为第二数据集合。
[0073] 需要说明的是,本申请实施例中涉及到的“第一数据集合”和“第二数据集合”中的“第一”和“第二”没有特殊含义,只是用来区分不同数据集合。
[0074] 步骤104:所述第一处理节点判断所述第一数据集合与至少一个所述第二数据集合中是否包含相同的待处理数据,若包含,则执行步骤105;若不包含,则放弃本轮操作。
[0075] 在步骤104中,所述第一处理节点将第一数据集合中包含的待处理数据与每一个第二数据集合中包含的待处理数据进行比较,确定第一数据集合中包含的待处理数据是否与每一个第二数据集合中包含的待处理数据相同。
[0076] 步骤105:所述第一处理节点在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。
[0077] 在步骤105中,所述第一处理节点在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,说明所述第一数据集合与至少一个所述第二数据集合存在相同或者相似性,即可对所述第一数据集合与至少一个所述第二数据集合执行聚合操作,得到一个数据集合。
[0078] 可选地,所述数据信息中还包含所述第一数据集合中的每一个待处理数据在所述第一数据集合中的位置信息;所述第一处理节点在对对所述第一数据集合与至少一个所述第二数据集合执行聚合操作时,确定所述第一数据集合与至少一个所述第二数据集合中包含的至少一个相同的待处理数据在所述第一数据集合中的位置信息;根据确定的所述位置信息,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。
[0079] 假设,第一处理节点接收到第二处理节点发送的数据信息中包含的数据集合为{P0、P5、P6},索引信息为A5;从数据集合库中查找到索引信息不同且包含相同数据的数据集合为{P0}对应的索引信息为A1;{P0、P1}对应的索引信息为A2;{P0、P1、P2}对应的索引信息为A3。
[0080] 也就是说,{P0、P5、P6}对应的索引信息为A5与{P0}对应的索引信息为A1进行聚合,{P0、P5、P6}对应的索引信息为A5与{P0、P1}对应的索引信息为A2进行聚合,{P0、P5、P6}对应的索引信息为A5与{P0、P1、P2}对应的索引信息为A3进行聚合。
[0081] 需要说明的是,执行聚合操作的位置信息为P0对应的位置信息。
[0082] 可选地,若所述第一数据集合对应第一树且至少一个所述第二数据集合对应第二树,那么所述第一处理节点根据确定的所述位置信息,将所述第一树与所述第二树聚合为一棵分布式树。
[0083] 下面以{P0、P5、P6}对应的索引信息为A5与{P0、P1、P2}对应的索引信息为A3进行聚合为例进行说明。
[0084] 如图4所示,为执行聚合操作的示意图。
[0085] 从图4中可以看出,{P0、P5、P6}对应的索引信息为A5对应的树结构1为:以A5为根节点,P0和P5为根节点的叶子节点,P6为P0的叶子节点;{P0、P1、P2}对应的索引信息为A3对应的树结构2为:以A3为根节点,P0和P1为根节点的叶子节点,P2为P0的叶子节点。由于执行聚合操作的位置信息为P0对应的位置信息,即在P0节点处将树结构1与树结构2进行聚合,形成分布式树。
[0086] 步骤106:所述第一处理节点查找到与所述索引信息相同的至少一个第三数据集合。
[0087] 步骤107:所述第一处理节点将所述第一数据集合与至少一个所述第三数据集合进行合并,生成所述索引信息对应的树。
[0088] 在步骤107中,所述第一处理节点在确定所述第一数据集合的索引信息与至少一个所述第三数据集合的索引信息时,说明所述第一数据集合与至少一个所述第二数据集合存在相同特征,即可对所述第一数据集合与至少一个所述第二数据集合执行合并操作,得到一个数据集合。
[0089] 假设,第一处理节点接收到第二处理节点发送的数据信息中包含的数据集合为{P0、P5、P6},索引信息为A5;从数据集合库中查找到索引信息A5对应的数据集合为{P2、P3},对{P0、P5、P6}与{P2、P3}执行合并操作,得到一个数据集合{P0、P5、P6、P2、P3}。
[0090] 如图5所示,为执行合并操作的示意图。
[0091] 从图5中可以看出,{P0、P5、P6}对应的索引信息为A5对应的树结构1为:以A5为根节点,P0和P5为根节点的叶子节点,P6为P0的叶子节点;{P2、P3}对应的索引信息为A5对应的树结构2为:以A5为根节点,P2和P3为根节点的叶子节点。由于执行合并操作,即在A5根节点处生成两个叶子节点:P2和P3,形成分布式树。
[0092] 通过本申请实施例的方案,第一处理节点接收至少一个第二处理节点发送的数据信息,所述数据信息中包含第一数据集合和所述第一数据集合对应的索引信息,所述索引信息用于表征所述第一数据集合中包含的待处理数据的公共特征向量;根据所述数据信息中包含的所述索引信息,从第一处理节点的数据集合库中,查找到与所述索引信息不相同的至少一个第二数据集合;在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。这样,在分布式系统中,主处理节点在接收到辅处理节点发送的数据信息时,对于索引信息不同的两个数据集合,若包含相同的待处理数据,则主处理节点可以将包含相同的待处理数据的两个数据集合进行聚合,有效地提升了数据聚合速度,进而提升了海量数据的处理效率。
[0093] 以上为本申请实施例提供的数据处理方法,基于同样的思路,本申请实施例还提供了一种数据处理装置,如图6所示,为本申请实施例提供的一种数据处理装置的结构示意图。所述数据处理装置包括:接收单元61、查找单元62和聚合单元63,其中:
[0094] 接收单元61,用于接收至少一个第二处理节点发送的数据信息,其中,所述数据信息中包含第一数据集合和所述第一数据集合对应的索引信息,所述索引信息用于表征所述第一数据集合中包含的待处理数据的公共特征向量;
[0095] 查找单元62,用于根据所述数据信息中包含的所述索引信息,从第一处理节点的数据集合库中,查找到与所述索引信息不相同的至少一个第二数据集合;
[0096] 聚合单元63,用于在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。
[0097] 可选地,所述数据信息中还包含所述第一数据集合中的每一个待处理数据在所述第一数据集合中的位置信息;
[0098] 所述聚合单元63,具体用于在确定所述第一数据集合与至少一个所述第二数据集合中包含至少一个相同的待处理数据时,确定所述至少一个相同的待处理数据在所述第一数据集合中的位置信息;
[0099] 根据确定的所述位置信息,将所述第一数据集合与至少一个所述第二数据集合聚合为一个数据集合。
[0100] 具体地,所述聚合单元63,具体用于若所述第一数据集合对应第一树且至少一个所述第二数据集合对应第二树,那么所述第一处理节点根据确定的所述位置信息,将所述第一树与所述第二树聚合为一棵分布式树。
[0101] 可选地,所述数据处理装置还包括:合并单元64,其中:
[0102] 所述合并单元64,用于根据所述数据信息中包含的所述索引信息,从所述第一处理节点的数据集合库中,查找到与所述索引信息相同的至少一个第三数据集合;
[0103] 将所述第一数据集合与至少一个所述第三数据集合进行合并,生成所述索引信息对应的树。
[0104] 可选地,所述数据处理装置还包括:分类单元65,其中:
[0105] 所述分类单元65,用于在接收至少一个第二处理节点发送的数据信息之前,获取至少两个待处理数据,并确定每一个所述待处理数据的特征集合,其中,所述特征集合中包含至少一个特征向量;以所述特征向量为划分粒度,将包含相同特征向量的至少一个待处理数据划分得到一个数据集合。
[0106] 具体地,所述分类单元65,具体用于确定一个所述特征向量;从获取到的所述至少两个待处理数据中,查找出包含确定的所述特征向量的的待处理数据;将查找到的所述待处理数据组合得到一个数据集合。
[0107] 可选地,所述数据处理装置还包括:确定单元66,其中:
[0108] 所述确定单元66,用于在得到一个数据集合时,确定所述数据集合的索引信息,其中,所述索引信息为用于表征所述数据集合中包含的待处理数据的公共特征向量。
[0109] 具体地,所述分类单元65将查找到的所述待处理数据组合得到一个数据集合,具体包括:
[0110] 按照查找所述待处理数据的顺序,生成一棵树,并将所述树视为一个数据集合,其中,所述树的每一个节点对应一个待处理数据。
[0111] 可选地,所述数据处理装置还包括:存储单元67,其中:
[0112] 所述存储单元67,用于将得到的所述数据集合存储至所述第一处理节点的数据集合库中。
[0113] 需要说明的是,本申请实施例中所述数据处理装置可以通过硬件方式实现,也可以通过软件方式实现,这里对于数据处理装置的实现方式不做具体限定。
[0114] 这样,在分布式系统中,若本申请实施例中所述数据处理装置分别被部署在主处理节点和辅处理节点上,那么主处理节点在接收到辅处理节点发送的数据信息时,对于索引信息不同的两个数据集合,若包含相同的待处理数据,则主处理节点可以将包含相同的待处理数据的两个数据集合进行聚合,有效地提升了数据聚合速度,进而提升了海量数据的处理效率。
[0115] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0116] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0117] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0118] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0119] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0120] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0121] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0122] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0123] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。