一种分布式数据去重处理方法及装置的制造方法

文档序号:9787443阅读:456来源:国知局
一种分布式数据去重处理方法及装置的制造方法
【技术领域】
[0001] 本发明涉及数据处理技术领域,尤其涉及一种分布式数据去重处理方法及装置。
【背景技术】
[0002] 随着业务发展,我们的用户行为数据出现了爆发式增长,目前每天的用户行为事 件数据已超过10亿,部分产品的累计用户/机器数已超5亿。为了实时分析截止当前时刻有 多少新增用户(机器),当天有多少用户(机器)活跃,充值或其他的行为事件发送的人数机 器数。使用传统的方法将数据储存后计算已经不能满足数据量的飞速增长,即使使用分布 式的列式数据库,导入的延时、计算的复杂度、数据储存的成本都非常高。
[0003] 业界现有去重方案主要有两类,一类是精确去重但是非即席查询,而且在数据量 较大时往往需要较长的计算时间才能得出结果;第二类是非精确去重的即席查询,查询速 度比较快,消耗的资源也相对较少,但是计算出来的结果不是精确值。

【发明内容】

[0004] 本发明实施例提供的一种分布式数据去重处理方法及装置,解决了目前的精确去 重但是非即席查询,所导致的在数据量较大时往往需要较长的计算时间才能得出结果的技 术问题,以及非精确去重的即席查询,导致的计算出来的结果不是精确值的技术问题。
[0005] 本发明实施例提供的一种分布式数据去重处理方法,包括:
[0006] 将具有相同去重字段值的数据对应存储在预置分片中;
[0007] 将存储在所述预置分片中的所有所述数据进行列存储到Lucene中;
[0008] 根据所述Lucene提取每个所述预置分片中的去重列,并进行每一列的倒排索引;
[0009] 根据每个所述预置分片的所述倒排索引获取所述去重列对应的去重值;
[0010] 将获取到的所有所述去重值进行累加获取到最终去重值。
[0011] 可选地,将具有相同去重字段值的数据对应存储在预置分片中具体包括:
[0012] 在分布式数据存储过程中,确定分布式数据中的待去重字段;
[0013] 根据所述待去重字段对应的所述去重字段值进行分片路由,将具有相同去重字段 值的所述数据对应存储在预置分片中。
[0014] 可选地,根据所述Lucene提取每个所述预置分片中的去重列,并进行每一列的倒 排索引具体包括:
[0015] 根据所述Lucene提取每个所述预置分片中的去重列;
[0016] 根据所述去重列对每一列所述数据建立对应的倒排索引。
[0017] 可选地,根据每个所述预置分片的所述倒排索引获取所述去重列对应的去重值具 体包括:
[0018] 对每个所述预置分片结合预置分段位图进行去重判断,获取到每一所述去重列中 每一个所述数据对应的去重值。
[0019] 可选地,对每个所述预置分片结合预置分段位图进行去重判断,获取到每一所述 去重列中每一个所述数据对应的去重值具体包括:
[0020] 对每个所述预置分片中的所述去重列位图进行复数个段的分段处理形成与每个 所述去重列对应的所述预置分段位图;
[0021] 对每个所述预置分段位图进行去重判断,获取到每一所述去重列中每一个所述数 据对应的去重值。
[0022] 可选地,对每个所述预置分片中的所述去重列位图进行复数个段的分段处理形成 与每个所述去重列对应的所述预置分段位图具体包括:
[0023]对所述预置分段位图中的一个段进行优先队列的创建;
[0024] 将所述数据依次插入进所述优先队列,直到所述优先队列插满;
[0025] 将插满所述数据的所述优先队列中的数据转移至所述预置分段位图中形成与所 述优先队列的长度一致的新的所述预置分段位图。
[0026]可选地,所述优先队列的容量为(所述优先队列的长度*k)/32,所述k为大于0,且 小于1。
[0027] 本发明实施例提供的一种分布式数据去重处理装置,包括:
[0028] 第一存储单元,用于将具有相同去重字段值的数据对应存储在预置分片中;
[0029]第二存储单元,用于将存储在所述预置分片中的所有所述数据进行列存储到 Lucene 中;
[0030] 索引单元,用于根据所述Lucene提取每个所述预置分片中的去重列,并进行每一 列的倒排索引;
[0031] 第一去重值获取单元,用于根据每个所述预置分片的所述倒排索引获取所述去重 列对应的去重值;
[0032] 最终去重值获取单元,用于将获取到的所有所述去重值进行累加获取到最终去重 值。
[0033]可选地,第一存储单元具体包括:
[0034] 确定子单元,用于在分布式数据存储过程中,确定分布式数据中的待去重字段;
[0035] 第一存储子单元,用于根据所述待去重字段对应的所述去重字段值进行分片路 由,将具有相同去重字段值的所述数据对应存储在预置分片中。
[0036]可选地,索引单元具体包括:
[0037] 提取子单元,用于根据所述Lucene提取每个所述预置分片中的去重列;
[0038] 索引子单元,用于根据所述去重列对每一列所述数据建立对应的倒排索引。
[0039] 可选地,第一去重值获取单元,具体用于对每个所述预置分片结合预置分段位图 进行去重判断,获取到每一所述去重列中每一个所述数据对应的去重值;
[0040] 所述第一去重值获取单元具体包括:
[0041] 分段处理子单元,用于对每个所述预置分片中的所述去重列位图进行复数个段的 分段处理形成与每个所述去重列对应的所述预置分段位图;
[0042] 第一去重值获取子单元,用于对每个所述预置分段位图进行去重判断,获取到每 一所述去重列中每一个所述数据对应的去重值。
[0043] 可选地,分段处理子单元具体包括:
[0044]创建模块,用于对所述预置分段位图中的一个段进行优先队列的创建;
[0045] 数据插入模块,用于将所述数据依次插入进所述优先队列,直到所述优先队列插 满;
[0046] 数据转移模块,用于将插满所述数据的所述优先队列中的数据转移至所述预置 分段位图中形成与所述优先队列的长度一致的新的所述预置分段位图;
[0047]其中,所述优先队列的容量为(所述优先队列的长度*k)/32,所述k为大于0,且小 于1。
[0048] 从以上技术方案可以看出,本发明实施例具有以下优点:
[0049] 本发明实施例提供的一种分布式数据去重处理方法及装置,其中,分布式数据去 重处理方法包括:将具有相同去重字段值的数据对应存储在预置分片中;将存储在预置分 片中的所有数据进行列存储到Lucene中;根据Lucene提取每个预置分片中的去重列,并进 行每一列的倒排索引;根据每个预置分片的倒排索引获取去重列对应的去重值;将获取到 的所有去重值进行累加获取到最终去重值。本实施例中,通过将具有相同去重字段值的数 据对应存储在预置分片中,然后将存储在预置分片中的所有数据进行列存储到Lucene中, 再根据Lucene提取每个预置分片中的去重列,并进行每一列的倒排索引,根据每个预置分 片的倒排索引获取去重列对应的去重值,最后将获取到的所有去重值进行累加获取到最终 去重值,便实现了对分布式数据高效且精确的去重处理,解决了目前的精确去重但是非即 席查询,所导致的在数据量较大时往往需要较长的计算时间才能得出结果的技术问题,以 及非精确去重的即席查询,导致的计算出来的结果不是精确值的技术问题。
【附图说明】
[0050] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其它的附图。
[0051] 图1为本发明实施例提供的一种分布式数据去重处理方法的一个实施例的流程示 意图;
[0052]图2为本发明实施例提供的一种分布式数据去重处理方法的另一个实施例的流程 示意图;
[0053]图3为本发明实施例提供的一种分布式数据去重处理方法的另一个实施例的流程 示意图;
[0054] 图4为本发明实施例提供的预置分段位图的一个实施例的流程示意图;
[0055] 图5为本发明实施例提供的一种分布式数据去重处理装置的一个实施例的结构示 意图;
[0056] 图6为本发明实施例提供的一种分布式数据去重处理装置的另一个实施例的结构 示意图;
[0057] 图7为本发明实施例提供的一种分布式数据去重处理装置的另一个实施例的结构 示意图;
[0058
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1