[发明专利]基数统计方法、装置、系统、设备和计算机可读存储介质有效
申请号: | 202010339945.1 | 申请日: | 2020-04-26 |
公开(公告)号: | CN111563109B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 杜红光;罗华林;何凯;夏春伟 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/22 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 张丽颖 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基数 统计 方法 装置 系统 设备 计算机 可读 存储 介质 | ||
本发明实施例提供了一种基数统计方法、装置、系统、设备和计算机可读存储介质。该方法在数据节点侧获取目标数据和目标数据对应的维度数据;利用哈希算法,对目标数据进行哈希计算,获得目标数据对应的哈希值;利用位图算法,为目标数据对应的维度数据生成位图数组;利用预设的哈希表,对应存储目标数据对应的哈希值和为目标数据对应的维度数据生成的位图数组;将哈希表向预设的计算节点发送。该方法在计算节点侧接收多个数据节点分别发送的哈希表;合并多个数据节点分别发送的哈希表,在合并后得到的哈希表中,对多个位图数组按照比特位执行基数统计处理。本发明通过两层哈希的方式可以节省数据的存储空间并且快速、准确的完成基数统计。
技术领域
本发明涉及计算机技术领域,特别是涉及一种基数统计方法、装置、系统、设备和计算机可读存储介质。
背景技术
基数统计用于统计一批数据中的不重复元素数据的个数。基数统计常见于计算独立用户数(Unique Visitor,简称UV)、维度的独立取值数等应用场景中。在实际生产环境中,经常会遇到要求基数统计精准的场景。例如:在对网站的访问入口分别进行两种方式的调整(如入口外观不同)之后,需要对这两种入口进行AB实验,在AB实验中,需要精确统计预设时间段内这两种入口分别对应的独立用户访问量,以便对这两种入口进行上线前的数据分析。
目前,在分布式计算环境下,常用的基数统计算法为HyberLogLog算法。
针对HyberLogLog算法而言,由于元素数据的数量级和存储空间为正比关系,所以HyberLogLog算法为了在有限的存储空间中标记足够多的元素数据,在存储元素数据时,对元素数据进行了压缩处理,但是,该压缩处理使得元素数据本身出现了数据损失,元素数据出现数据损失使得HyberLogLog算法的计算精确性较低,误差较大,无法满足精确统计的要求。
发明内容
本发明实施例的目的在于提供一种基数统计方法、装置、系统、设备和计算机可读存储介质,以解决现有的基数统计方式的统计精度较低的问题。
针对上述技术问题,本发明实施例的具体技术方案如下:
在本发明实施的第一方面,首先提供了一种基数统计方法,在数据节点侧执行的步骤,包括:获取目标数据以及所述目标数据对应的维度数据;利用预设的哈希算法,对所述目标数据进行哈希计算,以便获得所述目标数据对应的哈希值;利用预设的位图算法,为所述目标数据对应的维度数据生成位图数组;其中,所述位图数组中的每个比特位映射一个待基数统计的维度元素;利用预设的哈希表,对应存储所述目标数据对应的哈希值以及为所述目标数据对应的维度数据生成的位图数组;将所述哈希表向预设的计算节点发送,以便所述计算节点根据接收到的所述哈希表中的位图数组,按照比特位执行基数统计处理。
其中,所述目标数据对应的维度数据中包括:所述目标数据的多个维度值;所述利用预设的位图算法,为所述目标数据对应的维度数据生成位图数组,包括:查询预先为所述数据节点对应设置的映射关系表,确定所述维度数据中的多个维度值对应的维度元素;其中,所述映射关系表用于记录至少一个维度元素以及每个所述维度元素在位图数组中映射的比特位;根据所述维度数据中的多个维度值对应的维度元素,在所述位图数组中所述多个维度值对应的维度元素映射的比特位标识第一比特值,在其他比特位标识第二比特值,得到所述维度数据对应的位图数组。
其中,所述利用预设的哈希表,对应存储所述目标数据对应的哈希值以及所述目标数据的维度数据对应的位图数组,包括:在Java语言环境中,利用Trove包将所述目标数据对应的哈希值以及为所述目标数据对应的维度数据生成的位图数组对应存储到所述哈希表中。
其中,在所述利用预设的哈希表,对应存储所述目标数据对应的哈希值以及为所述目标数据对应的维度数据生成的位图数组之后,在所述将所述哈希表向预设的计算节点发送之前,还包括:在所述哈希表中,查询是否存在相同的哈希值;如果在所述哈希表中存在相同的哈希值,则对所述相同的哈希值对应的多个位图数组进行聚合处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010339945.1/2.html,转载请声明来源钻瓜专利网。