[发明专利]数据处理方法和装置以及数据表处理方法和装置有效
申请号: | 201610180081.7 | 申请日: | 2016-03-25 |
公开(公告)号: | CN107229663B | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 孙伟光;徐冬;连杰红;汪龙重 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/18 | 分类号: | G06F17/18;G06F17/15 |
代理公司: | 北京市惠诚律师事务所 11353 | 代理人: | 刘子敬 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 装置 以及 数据表 处理 | ||
本发明提供了数据处理方法和装置以及数据表处理方法和装置,通过对数据集的数据个数进行统计之后,根据统计所获得的数据个数,确定哈希函数集的函数个数,进而采用符合所述函数个数的哈希函数集对数据集进行唯一值数计算,从而使得哈希函数集的规模与数据集的规模相匹配,平衡了执行效率和准确度,解决了现有技术中由于哈希函数集的规模固定所导致的执行效率和准确度无法兼顾的问题。同时,通过根据所计算出的唯一值数对数据表的规模进行预测,并根据预测结果评估数据表操作所需占用的资源,进而基于操作所需占用资源的情况,对数据表操作进行优化,实现了在对数据表进行操作的过程中,减少资源的占用,提高操作效率的目的。
技术领域
本发明涉及计算机技术,尤其涉及一种数据处理方法和装置以及数据表处理方法和装置。
背景技术
在实际应用中,尤其是在进行数据表连接操作之前,经常需要统计不重复出现的对象或者事件个数,即独立元素数目也称唯一值数,从而预测数据表的规模。对于较小的数据量,可以首先在内存中对序列进行排序,然后扫描有序序列统计独立元素数目。但是在处理数据流序列时,由于序列非常长,元素取值范围可能比较广,单个元素占用内存可能比较多,导致内存中无法容纳整个序列。
针对这种情况,可以采用Flajolet-Martin(简称FM)算法,FM算法是一种能够较好地解决估算唯一值数的算法。该算法中采用哈希函数集进行运算,基于哈希函数集中各哈希函数的哈希值估算唯一值数。
但现有技术在应用FM算法计算数据表中某一列的唯一值数的过程中,针对不同规模的数据集,采用相同的哈希函数集,导致当数据集的规模较大时,往往唯一值数计算过程执行效率低,执行时间过长;当数据集的规模较小时,唯一值数的准确度又较低。
发明内容
本发明提供一种数据处理方法和装置以及数据表处理方法和装置,用于解决现有技术中采用FM算法进行唯一值数计算时,无法在保证执行效率的同时保证唯一值数的准确度。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种数据处理方法,包括:
对数据集的数据个数进行统计;
根据统计所获得的数据个数,确定哈希函数集的函数个数;
基于FM算法,采用符合所述函数个数的哈希函数集对所述数据集进行唯一值数计算。
第二方面,提供了一种数据处理装置,包括:
统计模块,用于对数据集的数据个数进行统计;
确定模块,用于根据统计所获得的数据个数,确定哈希函数集的函数个数;
计算模块,用于基于FM算法,采用符合所述函数个数的哈希函数集对所述数据集进行唯一值数计算。
第三方面,提供了一种用于预测数据表规模的数据表处理方法,包括:
采用第一所述的数据处理方法,对数据表进行处理,以获得唯一值数;
根据所述唯一值数预测所述数据表的规模。
第四方面,提供了一种用于评估数据表操作的数据表处理方法,包括:
采用第三方面所述的数据表处理方法,对数据表的规模进行预测;
根据所预测出的数据表规模,对所述数据表的操作进行评估,以确定所述操作所需占用的资源。
第五方面,提供了一种用于执行数据表操作的数据表处理方法,包括:
采用第四方面所述的数据表处理方法,对数据表的操作所需占用的资源进行评估;
根据评估结果,对所述数据表执行所述操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610180081.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据清洗方法和装置
- 下一篇:用于管理文件系统元数据的间接数据结构