[发明专利]基数统计方法、装置、系统、设备和计算机可读存储介质有效
申请号: | 202010339945.1 | 申请日: | 2020-04-26 |
公开(公告)号: | CN111563109B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 杜红光;罗华林;何凯;夏春伟 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/22 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 张丽颖 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基数 统计 方法 装置 系统 设备 计算机 可读 存储 介质 | ||
1.一种基数统计方法,其特征在于,在数据节点侧执行的步骤,包括:
获取目标数据以及所述目标数据对应的维度数据;
利用预设的哈希算法,对所述目标数据进行哈希计算,以便获得所述目标数据对应的哈希值;
利用预设的位图算法,为所述目标数据对应的维度数据生成位图数组;其中,所述位图数组中的每个比特位映射一个待基数统计的维度元素;
其中,所述目标数据对应的维度数据中包括所述目标数据的多个维度值;
所述利用预设的位图算法,为所述目标数据对应的维度数据生成位图数组,包括:
查询预先为所述数据节点对应设置的映射关系表,确定所述维度数据中的多个维度值对应的维度元素;其中,所述映射关系表用于记录至少一个维度元素以及每个所述维度元素在位图数组中映射的比特位;
根据所述维度数据中的多个维度值对应的维度元素,在所述位图数组中所述多个维度值对应的维度元素映射的比特位标识第一比特值,在其他比特位标识第二比特值,得到所述维度数据对应的位图数组;
利用预设的哈希表,对应存储所述目标数据对应的哈希值以及为所述目标数据对应的维度数据生成的位图数组;
将所述哈希表向预设的计算节点发送,以便所述计算节点根据接收到的所述哈希表中的位图数组,按照比特位执行基数统计处理。
2.根据权利要求1所述的方法,其特征在于,在所述利用预设的哈希表,对应存储所述目标数据对应的哈希值以及为所述目标数据对应的维度数据生成的位图数组之后,在所述将所述哈希表向预设的计算节点发送之前,还包括:
在所述哈希表中,查询是否存在相同的哈希值;
如果在所述哈希表中存在相同的哈希值,则对所述相同的哈希值对应的多个位图数组进行聚合处理。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述利用预设的哈希表,对应存储所述目标数据对应的哈希值以及所述目标数据的维度数据对应的位图数组,包括:
在Java语言环境中,利用Trove包将所述目标数据对应的哈希值以及为所述目标数据对应的维度数据生成的位图数组对应存储到所述哈希表中。
4.一种基数统计方法,其特征在于,在计算节点侧执行的步骤,包括:
接收多个数据节点分别发送的哈希表;其中,在每个所述哈希表中对应存储了哈希值和位图数组;所述哈希值是利用预设的哈希算法对目标数据进行哈希计算得到的,所述位图数组是利用预设的位图算法为所述目标数据对应的维度数据生成的;所述位图数组中的每个比特位映射一个待基数统计的维度元素;
获取每个所述数据节点对应的映射关系表;所述映射关系表用于记录至少一个维度元素以及每个所述维度元素在预设的位图数组中映射的比特位;
根据每个所述数据节点对应的映射关系表,对多个所述数据节点分别发送的哈希表中的位图数组进行对齐处理,以便多个所述哈希表中的位图数组的比特位数量相等并对应位置的比特位映射的维度元素相同;
合并所述多个数据节点分别发送的哈希表,并在合并后得到的哈希表中,对多个所述位图数组按照比特位执行基数统计处理。
5.根据权利要求4所述的方法,其特征在于,所述在合并后得到的哈希表中,对多个所述位图数组按照比特位执行基数统计处理,包括:
在所述合并后得到的哈希表中,查询是否存在相同的哈希值;
如果在所述哈希表中存在相同的哈希值,则对所述相同的哈希值对应的多个位图数组执行聚合操作,得到所述相同的哈希值对应的聚合位图数组;
在所述合并后得到的哈希表中,对所述相同的哈希值对应的聚合位图数组以及其余的哈希值分别对应的位图数组,按照比特位执行基数统计处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010339945.1/1.html,转载请声明来源钻瓜专利网。