用于基数估计的方法、装置、电子设备及存储介质制造方法及图纸

技术编号:28871439 阅读:16 留言:0更新日期:2021-06-15 23:04
本申请涉及计算机软件技术领域,公开了一种用于基数估计的方法,接收由一个或多个初始规则组成的基数估计规则;调用所述基数估计规则中涉及的各所述初始规则关联的计数器,所述计数器基于超对数计数HLLC算法生成,每个计数器对应数据为基于其对应的初始规则过滤后的数据;基于所述基数估计规则结合调用的所述计数器生成基数估计结果并执行基数估计结果输出。在实时的、万亿级或无限量基数估计场景下,由于对需要进行基数估计的数据,预先使用HLLC算法进行初始基数估计,得到多个计数器,在接收到用户输入的查询条件,需要进行基数估计时,可以根据基数估计规则调用预先生成的计数器进行计算,从而可以满足计数量和实时性的需求。

【技术实现步骤摘要】
用于基数估计的方法、装置、电子设备及存储介质
本申请涉及计算机软件
,例如涉及一种用于基数估计的方法、装置、电子设备及存储介质。
技术介绍
在基数估计场景中,常常需要支持实时,即亚秒级别的基数估计。这样的实时的基数估计场景下,目前所有的方法中普遍使用超对数计数(HyperLogLogCounting,HLLC)算法作为估计算法。但是基于HLLC算法实现的计数器对于少量的数据可以实现实时估算,对于亿万级或无限量基数估计场景,使用一个基于HLLC算法实现的计数器,很难及时的完成基数估计。如何在实时的、万亿级或无限量基数估计场景下,解决基数估计问题,成为亟需解决的问题。
技术实现思路
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。本公开实施例提供一种用于基数估计的方法、装置、电子设备及存储介质,以解决在实时的、万亿级或无限量基数估计场景下,解决基数估计问题。本公开实施例提供一种用于基数估计的方法,包括:接收用户输入的查询条件;从所述查询条件中提取基数估计规则,所述基数估计规则为N个初始规则之间的计算关系,N为正整数;从预生成的W个基于超对数计数HLLC算法生成的计数器中,调用各初始规则对应的计数器,W为正整数;基于所述基数估计规则结合调用的计数器生成基数估计结果;将所述基数估计结果作为查询结果输出。在一些实施方式中,所述计算关系中存在相交关系。在一些实施方式中,基于所述基数估计规则结合调用的计数器生成基数估计结果,包括:对所述基数估计规则进行等价转换,转换为所述计算关系中无相交关系的等价规则;使用所述等价规则对调用的所述计数器进行基数估计生成基数估计结果。在一些实施方式中,按下述方式对所述基数估计规则进行等价转换:其中,A为初始规则,n为大于1的整数,k为大于1的整数。在一些实施方式中,所述将所述基数估计结果作为查询结果输出之前,还包括:确定所述等价规则的计算关系中基数估计结果最大的第一合并关系;获取所述第一合并关系对应的误差;将所述第一合并关系对应的误差作为当前基数估计规则的误差,对所述基数估计结果进行误差消减。在一些实施方式中,所述第一合并关系对应的误差err基于如下公式进行确定:,其中∈为HLLC算法的误差。在一些实施方式中,基于HLLC算法生成W个计数器,包括:获取数据,所述数据涉及M个维度,M为正整数;基于W个初始规则从各维度对数据进行过滤,得到W个过滤后的数据组合;对各所述数据组合基于HLLC算法进行初始基数估计,生成各数据组合的计数器。在一些实施方式中,每一初始规则包括所述M个维度中部分或全部维度的过滤规则。本公开实施例提供一种用于基数估计的装置,包括:接收模块,用于接收用户输入的查询条件;提取模块,用于从所述查询条件中提取基数估计规则,所述基数估计规则为N个初始规则之间的计算关系,N为正整数;调用模块,用于从预生成的W个基于超对数计数HLLC算法生成的计数器中,调用各初始规则对应的计数器,W为正整数;生成模块,用于基于所述基数估计规则结合调用的计数器生成基数估计结果;输出模块,用于将所述基数估计结果作为查询结果输出。在一些实施方式中,所述计算关系中存在相交关系。在一些实施方式中,所述生成模块基于所述基数估计规则结合调用的计数器生成基数估计结果,用于:对所述基数估计规则进行等价转换,转换为所述计算关系中无相交关系的等价规则;使用所述等价规则对调用的所述计数器进行基数估计生成基数估计结果。在一些实施方式中,所述生成模块按下述方式对所述基数估计规则进行等价转换:其中,A为初始规则,n为大于1的整数,k为大于1的整数。在一些实施方式中,所述输出模块将所述基数估计结果作为查询结果输出之前,还用于:确定所述等价规则的计算关系中基数估计结果最大的第一合并关系;获取所述第一合并关系对应的误差;将所述第一合并关系对应的误差作为当前基数估计规则的误差,对所述基数估计结果进行误差消减。在一些实施方式中,所述第一合并关系对应的误差err基于如下公式进行确定:,其中∈为HLLC算法的误差。在一些实施方式中,基于HLLC算法生成W个计数器,包括:获取数据,所述数据涉及M个维度,M为正整数;基于W个初始规则从各维度对数据进行过滤,得到W个过滤后的数据组合;对各所述数据组合基于HLLC算法进行初始基数估计,生成各数据组合的计数器。在一些实施方式中,每一初始规则包括所述M个维度中部分或全部维度的过滤规则。本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行本公开实施例提供的方法。本公开实施例还提供一种电子设备,包括处理器及存储器,所述存储器存储有计算机指令,所述处理器被配置为基于所述计算机指令执行本公开实施例提供的方法。本公开实施例提供的用于基数估计的方法、装置、存储介质及电子设备,可以实现以下技术效果:在实时的、万亿级或无限量基数估计场景下,由于对需要进行基数估计的数据,预先使用HLLC算法进行初始基数估计,得到多个计数器,在接收到用户输入的查询条件,需要进行基数估计时,可以根据基数估计规则调用预先生成的计数器进行计算,从而可以满足计数量和实时性的需求。以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。附图说明一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:图1是本公开实施例提供的一种用于基数估计的方法的流程图之一;图2是本公开实施例提供的一种用于基数估计的方法的流程图之二;图3是本公开实施例提供的一种用于基数估计的方法的流程图之三;图4是本公开实施例提供的一种用于基数估计的方法的流程图之四;图5是本公开实施例提供的一种用于基数估计的结构示意图;图6是本公开实施例提供的一种电子设备的结构示意图。具体实施方式为了能够更加详尽地了解本公开实施例的特点与
技术实现思路
,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。本公开实施例的说明书和权利要求书及上述本文档来自技高网
...

【技术保护点】
1.一种用于基数估计的方法,其特征在于,包括:/n接收用户输入的查询条件;/n从所述查询条件中提取基数估计规则,所述基数估计规则为N个初始规则之间的计算关系,N为正整数;/n从预生成的W个基于超对数计数HLLC算法生成的计数器中,调用各初始规则对应的计数器,W为正整数;/n基于所述基数估计规则结合调用的计数器生成基数估计结果;/n将所述基数估计结果作为查询结果输出。/n

【技术特征摘要】
1.一种用于基数估计的方法,其特征在于,包括:
接收用户输入的查询条件;
从所述查询条件中提取基数估计规则,所述基数估计规则为N个初始规则之间的计算关系,N为正整数;
从预生成的W个基于超对数计数HLLC算法生成的计数器中,调用各初始规则对应的计数器,W为正整数;
基于所述基数估计规则结合调用的计数器生成基数估计结果;
将所述基数估计结果作为查询结果输出。


2.如权利要求1所述的方法,其特征在于,所述计算关系中存在相交关系。


3.如权利要求2所述的方法,其特征在于,基于所述基数估计规则结合调用的计数器生成基数估计结果,包括:
对所述基数估计规则进行等价转换,转换为所述计算关系中无相交关系的等价规则;
使用所述等价规则对调用的所述计数器进行基数估计生成基数估计结果。


4.如权利要求2所述的方法,其特征在于,按下述方式对所述基数估计规则进行等价转换:



其中,A为初始规则,n为大于1的整数,k为大于1的整数。


5.如权利要求4所述的方法,其特征在于,所述将所述基数估计结果作为查询结果输出之前,还包括:
确定所述等价规则的计算关系中基数估计结果...

【专利技术属性】
技术研发人员:张贵川
申请(专利权)人:北京明略昭辉科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1