System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据分析方法、装置、设备、介质及产品制造方法及图纸_技高网

数据分析方法、装置、设备、介质及产品制造方法及图纸

技术编号:41288933 阅读:5 留言:0更新日期:2024-05-11 09:38
本申请公开了一种数据分析方法、装置、设备、介质及产品,包括:创建和/或初始化第一布隆过滤器和第二布隆过滤器;获取待处理数据,每个键值关联至少一条数据记录;在第一布隆过滤器不包含待处理数据的键值的情况下,在第一布隆过滤器中记录待处理数据的键值,并将待处理数据的行号索引写入第一索引分组;在第一布隆过滤器包含待处理数据的键值的情况下,在第二布隆过滤器中记录待处理数据的键值;针对第一索引分组中的每一行待处理数据,基于第二布隆过滤器是否包含待处理数据的键值的遍历结果,从待处理数据关联的所有键值中筛选出目标键值,目标键值为仅关联一条数据记录的键值;从待处理数据中,直接输出由目标键值组成的目标待处理数据。

【技术实现步骤摘要】

本申请属于数据分析,尤其涉及一种数据分析方法、装置、设备、介质及产品


技术介绍

1、在日常工作中,经常会遇到需要对数据库中的数据进行排序或统计分析等处理,这种情况下,通常采用窗口函数实现。最早的窗口函数是基于有序数据实现的,因此大多数场景都需要先对数据库中数据按照分区列进行排序,然后按照有序的数据进行依次计算即可。

2、相关技术中,针对数据库中键值较高的场景,基于窗口函数实现排序需要大量的值比较,非常耗时。尤其是数据量达到10亿、100亿、甚至千亿行之后,内存占用非常大,在内存有限的情况下,无法通过上述排序方式完成。


技术实现思路

1、本申请实施例的目的是提供一种数据分析方法及其装置,能够解决在高键值场景下基于窗口函数实现排序需要大量的值比较,比较耗时的问题。

2、第一方面,本申请实施例提供一种数据分析方法,该方法包括:创建和/或初始化第一布隆过滤器和第二布隆过滤器;获取待处理数据,其中,每条待处理数据由一条数据记录及其关联的键值组成,每个键值关联至少一条数据记录;针对待处理数据进行第一次遍历;在第一布隆过滤器不包含待处理数据的键值的情况下,在第一布隆过滤器中记录待处理数据的键值,并将待处理数据的行号索引写入第一索引分组;在第一布隆过滤器包含待处理数据的键值的情况下,在第二布隆过滤器中记录待处理数据的键值;针对第一索引分组对应的所有待处理数据进行第二次遍历;基于第二布隆过滤器是否包含待处理数据的键值的遍历结果,从待处理数据关联的所有键值中筛选出目标键值,其中,目标键值为仅关联一条数据记录的键值;从待处理数据中,直接输出由目标键值组成的目标待处理数据。

3、在第一方面的一些可实现方式中,基于第二布隆过滤器是否包含待处理数据的键值的遍历结果,从待处理数据关联的所有键值中筛选出目标键值,包括:在第二布隆过滤器中不包含待处理数据的键值的情况下,确定待处理数据的键值为目标键值。

4、在第一方面的一些可实现方式中,在针对待处理数据进行第一次遍历之后,方法还包括:在第一布隆过滤器包含待处理数据的键值的情况下,获取与键值所对应的第二索引分组;将待处理数据的行号索引写入待处理数据的键值所对应的第二索引分组。

5、在第一方面的一些可实现方式中,将待处理数据的行号索引写入待处理数据的键值所对应的第二索引分组,包括:通过哈希桶分组的方式,将待处理数据的行号索引写入待处理数据的键值所对应的第二索引分组。

6、在第一方面的一些可实现方式中,在针对第一索引分组对应的所有待处理数据进行第二次遍历之后,方法还包括:在第二布隆过滤器包含待处理数据的键值的情况下,将第一索引分组中待处理数据的行号索引写入待处理数据的键值所对应的第二索引分组。

7、在第一方面的一些可实现方式中,在将第一索引分组中待处理数据的行号索引写入待处理数据的键值所对应的第二索引分组之后,方法还包括:确定同一第二索引分组中所有行号索引所对应的待处理数据均对应同一键值;基于同一第二索引分组中所有行号索引,对同一键值关联的所有数据记录进行运算处理。

8、在第一方面的一些可实现方式中,基于同一第二索引分组中所有行号索引,对同一键值关联的所有数据记录进行运算处理,包括:基于同一第二索引分组中所有行号索引,对同一键值关联的所有数据记录进行排序和/或求和,输出结果。

9、第二方面,本申请实施例提供一种数据分析装置,该装置包括:创建和/或初始化模块,用于创建和/或初始化第一布隆过滤器和第二布隆过滤器;获取模块,获取待处理数据,其中,每条待处理数据由一条数据记录及其关联的键值组成,每个键值关联至少一条数据记录;遍历模块,用于针对待处理数据进行第一次遍历;记录模块,用于在第一布隆过滤器不包含待处理数据的键值的情况下,在第一布隆过滤器中记录待处理数据的键值,并将待处理数据的行号索引写入第一索引分组;记录模块,还用于在第一布隆过滤器包含待处理数据的键值的情况下,在第二布隆过滤器中记录待处理数据的键值;遍历模块,还用于针对第一索引分组对应的所有待处理数据进行第二次遍历;筛选模块,用于基于第二布隆过滤器是否包含待处理数据的键值的遍历结果,从待处理数据关联的所有键值中筛选出目标键值,其中,目标键值为仅关联一条数据记录的键值;输出模块,用于从待处理数据中,直接输出由目标键值组成的目标待处理数据。

10、在第二方面的一些可实现方式中,筛选模块具体用于:在第二布隆过滤器中不包含待处理数据的键值的情况下,确定待处理数据的键值为目标键值。

11、在第二方面的一些可实现方式中,装置还包括:获取模块,用于在针对待处理数据进行第一次遍历之后,在第一布隆过滤器包含待处理数据的键值的情况下,获取与键值所对应的第二索引分组;写入模块,用于将待处理数据的行号索引写入待处理数据的键值所对应的第二索引分组。

12、在第二方面的一些可实现方式中,写入模块具体用于:通过哈希桶分组的方式,将待处理数据的行号索引写入待处理数据的键值所对应的第二索引分组。

13、在第二方面的一些可实现方式中,装置还包括:写入模块,还用于在针对第一索引分组对应的所有待处理数据进行第二次遍历之后,在第二布隆过滤器包含待处理数据的键值的情况下,将第一索引分组中待处理数据的行号索引写入待处理数据的键值所对应的第二索引分组。

14、在第二方面的一些可实现方式中,装置还包括:确定模块,用于在将第一索引分组中待处理数据的行号索引写入待处理数据的键值所对应的第二索引分组之后,确定同一第二索引分组中所有行号索引所对应的待处理数据均对应同一键值;数据处理模块,用于基于同一第二索引分组中所有行号索引,对同一键值关联的所有数据记录进行运算处理。

15、在第二方面的一些可实现方式中,数据处理模块具体用于:基于同一第二索引分组中所有行号索引,对同一键值关联的所有数据记录进行排序和/或求和,输出结果。

16、第三方面,本申请实施例提供一种电子设备,包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面的数据分析方法的步骤。

17、第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面的数据分析方法的步骤。

18、第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品被存储在非易失的存储介质中,所述计算机程序产品被至少一个处理器执行以实现如第一方面的数据分析方法的步骤。

19、第六方面,本申请实施例提供了一种芯片,该芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面的数据分析方法的步骤。

20、本申请提供一种数据分析方法、装置、设备、介质及产品,创建和/或初始化第一布隆过滤器和第二布隆过滤器;获取待处理数据,其中,每条待处理数据由一条数据记录及其关联的键值组成,每个键值关联至少一条数据记录;针本文档来自技高网...

【技术保护点】

1.一种数据分析方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述第二布隆过滤器是否包含所述待处理数据的键值的遍历结果,从所述待处理数据关联的所有键值中筛选出目标键值,包括:

3.根据权利要求1所述的方法,其特征在于,在所述针对所述待处理数据进行第一次遍历之后,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述将所述待处理数据的行号索引写入所述待处理数据的键值所对应的第二索引分组,包括:

5.根据权利要求3所述的方法,其特征在于,在所述针对所述第一索引分组对应的所有待处理数据进行第二次遍历之后,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,在所述将所述第一索引分组中所述待处理数据的行号索引写入所述待处理数据的键值所对应的第二索引分组之后,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述基于所述同一第二索引分组中所有行号索引,对所述同一键值关联的所有数据记录进行运算处理,包括:

8.一种数据分析装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的数据分析方法的步骤。

11.一种计算机程序产品,其特征在于,所述计算机程序产品被存储在非易失的存储介质中,所述计算机程序产品被至少一个处理器执行时实现如权利要求1-7中任意一项所述的数据分析方法的步骤。

...

【技术特征摘要】

1.一种数据分析方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述第二布隆过滤器是否包含所述待处理数据的键值的遍历结果,从所述待处理数据关联的所有键值中筛选出目标键值,包括:

3.根据权利要求1所述的方法,其特征在于,在所述针对所述待处理数据进行第一次遍历之后,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述将所述待处理数据的行号索引写入所述待处理数据的键值所对应的第二索引分组,包括:

5.根据权利要求3所述的方法,其特征在于,在所述针对所述第一索引分组对应的所有待处理数据进行第二次遍历之后,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,在所述将所述第一索引分组中所述待处理数据的行号索引写入所述待处理数据的...

【专利技术属性】
技术研发人员:张勇陈卓陈乐代莎鲁楠王小玉王成林赵东明
申请(专利权)人:中移动信息技术有限公司
类型:发明
国别省市:

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

1