AGNSS用户去重统计方法技术

技术编号:17541638 阅读:39 留言:0更新日期:2018-03-24 18:41
本发明专利技术提供了一种AGNSS用户去重统计方法,包括以下步骤:(1)将AGNSS用户转成数字签名。(2)根据数字签名转成低存储占用且可判定其是否存在的BITMAP数据结构。(3)在BITMAP数据结构中进行有效次比较进行低错误率地判断去重。本发明专利技术基于计算机互联网大数据技术,便于实现,并有效的提高统计效率。本发明专利技术仅在AGNSS用户的数量相关统计,降低存储数据所占用的流量和带来不必要的存储空间浪费,同时减少在统计过程中对CPU计算资源的占用。

AGNSS user deweighting method

The present invention provides a AGNSS user deweighting method, which includes the following steps: (1) converting AGNSS users into digital signatures. (2) turn the digital signature into a BITMAP data structure that is low in storage and can determine whether it exists. (3) to make an effective comparison in the BITMAP data structure to make a low error rate judgment. The invention is based on the large data technology of the computer Internet, which is easy to realize and effectively improves the statistical efficiency. The invention only relates statistics to the number of AGNSS users, reduces the traffic occupied by the storage data and brings unnecessary waste of storage space, and reduces the occupancy of CPU computing resources in the statistical process.

【技术实现步骤摘要】
AGNSS用户去重统计方法
本专利技术涉及软件开发
,具体涉及大数据存储检索清洗技术。
技术介绍
近年来,随着技术的发展,人类对各类精准定位服务的需求日益迫切。商业公司对用户的总量的统计也侧面反映了公司的业务指标,如果采用传统的存储每个用户信息来做增量更新,固然可以解决统计的问题,但是其消耗的存储资源随着用户量的暴增而非线性的增长。同时,在这些海量数据中的比对去重时间成本也指数式暴涨。
技术实现思路
为了解决现有技术存在的问题,需要一种平衡时间和空间的耗损同时允许可以接受的低错误率的处理方法。本专利技术提供了一种AGNSS(辅助全球导航卫星系统)用户去重统计方法,解决了海量AGNSS迅速去重统计的技术问题,同时兼顾存储占用低,计算去重快。本专利技术采用的技术方案如下:一种AGNSS用户新的去重统计方法,包括以下步骤:步骤1,将AGNSS用户转成数字签名。步骤2,根据数字ID转成低存储占用且可判定其是否存在的BITMAP(位图)数据结构。步骤3,在BITMAP数据结构中进行有效次比较进行低错误率地判断去重。进一步地,AGNSS用户的数字根据提供的算法转换成数字签名。进一步地,将AGNSS用户数字签名映射到固定长度的BITMAP中。任意新老用户的AGNSS用户的数字签名标识都可以判断去重。本专利技术的有益效果如下:1、减少占用存储空间,同时存储空间不随用户量非线性无序增加。本专利技术在可预见的的用户数量下实现下完全固定,当一定的错误率增加的情况下,可适当考虑增加存储空间,空间增加幅度完全不随用户增长指数不可控增加。2、加快去重检索的速度,通过特殊的存储方法和检索算法可以将全数据扫描转换成计算机基本移位比较操作。附图说明图1是本专利技术BloomFilter初始化存储结果图。图2是本专利技术BloomFilter存储后结构图。具体实施方式下文中,结合附图和实施例对本专利技术作进一步阐述。本专利技术一种AGNSS用户新的去重统计方法,包括以下步骤:定义一:将AGNSS用户的ID转成数字标签:通常采用Hash(哈希)算法,考虑到一些算法有可能为负值,从存储空间和存储表示便利性考虑,本专利技术选择BKDRHash算法来计算任意AGNSS用户ID的数字标签,原因有以下几种考虑:1、此算法得到的AGNSS用户数字标签一定为正数。2、如果不考虑得到数字标签的长度的情况,此算法得到的数字标签重复率比较低。经过各个Hash算法自测比较结果如下:其中数据类型1为100000个字母和数字组成的随机串哈希冲突个数。数据类型2为100000个有意义的英文句子哈希冲突个数。数据类型3为数据1的哈希值与1000003(大素数)求模后存储到线性表中冲突的个数。数据类型4为数据1的哈希值与10000019(更大素数)求模后存储到线性表中冲突的个数。通过比对,可以看到BKDRHash算法的碰撞率在各种应用场景下碰撞率是比较低的。下面是该算法的Scala版本的实现:seed作为本身的Hash初始值推荐一般是素数和奇数,这边考虑现在计算机计算架构移位操作的优势,优先采用同时2的指数减1的形式。考虑到此算法生成的Hash值有可能非常巨大,超出一般计算机所能存储的最大值的范围,会对固定max取余保证一般计算机的存储的可行性。定义二:采用BloomFilter(布隆过滤器)算法对各个AGNSS用户ID进行标记。BloomFilter基于BITMAP,一般用于数据的去重计算。BITMAP中用一个bit位来表示一个数字,用于精确计算,但是如果数据量大到一定程度,需要采用BloomFilter。Bloomfilter可以看做是对BITMAP的扩展,但不同于BITMAP,Bloomfilter是用多个bit位是否同时存在来判定元素是否存在,其为一种估算的数据结构,存在误判(FalsePositive)的情况。BloomFilter的核心是一个m位的BitSet和k个Hash函数(散列函数,把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值)。初始时BitSet中所有位的值都设置为0,假设取m=10,k=3,用浅色表示某位为0,深色表示为1,初始存储结果如图1所示。插入元素的步骤具体如下:步骤S11,计算k个Hash值。步骤S12,将k个Hash值对m取模得到k个下标。步骤S13,将BitSet中k个下标对应的位设置为1。比如向BloomFilter插入元素“TestName”。分别用3个Hash函数计算“TestName”的Hash值,将Hash值对10取模,得到在[0,10)范围内的r1、r2、r3,假设计算结果为:r1=h1(“TestName”)%m=1r2=h2(“TestName”)%m=3r3=h3(“TestName”)%m=5于是将BitSet中第1位、第3位和第5位的值置为1:“TestName”对应的BloomFilter的存储结构如图2所示。判断“TestName”是否在BloomFilter字典里,同样需要三步:步骤S21,计算k个Hash值。步骤S22,将k个Hash值对m取模得到k个下标。步骤S23,检查BitSet中k个下标对应的位是否都为1。如果BloomFilter里有“TestName”,那BitSet中相应的k位值显然都为1。问题是即使BloomFilter里没有“TestName”,还是可能由于之前插入的元素而导致“TestName”对应的k位值都为1,因此会错误地认为集合里已经有“TestName”了,这就是BloomFilter会出错的地方。在算法空间复杂度方面,BloomFilter不会动态增长,运行过程中维护的始终只是m位的BitSet,所以空间复杂度只有O(m)。时间复杂度方面,BloomFilter的插入与属于操作主要都是在计算k个Hash,所以都是O(k)。但是如上述所提及,BloomFilter算法会有一定错误率,错误率一般有以下两种:FP=FalsePositiveFN=FalseNegative对应BloomFilter的情况下,FP就是「集合里没有某元素,查找结果是有该元素」,FN就是「集合里有某元素,查找结果是没有该元素」。FN显然总是0,FP会随着BloomFilter中插入元素的数量而增加--极限情况就是所有bit都为1,这时任何元素都会被认为在集合里。其中FP的推导结果如下:n是当前集合里元素的数量,BloomFilter总共占用多少bit位存储,k代表选取多少个Hash函数:n=0时,FP=0;n趋于无穷大时,FP趋于1;k/m和n保持不变时,k越大,FP越小;k、m的取值受用户量的预估和存储空间,能接受的错误率的影响。在实施例中,以AGNSS用户统计为例,AGNSS用户主要手机终端量暴增,总用户量破亿的情况比较常见。按照传统的存储用户数据结构,其存储成本随着用户量的增加会不可控的增加,其检索成本之高相对统计成本也难以接受。对于计算总量去重的简单统计需求,采用本专利技术所采用的方法可以在可以接受的错误比例下,采用相对较廉价的方法获得比较令人满意的计算成果。本专利技术的主要优点包括:1、本方法的降低了存储空间,如果采用一些支持直接内存分配语言来实现上述方法,进一步提高空间复用率和节省实现和存储的空间复杂本文档来自技高网...
AGNSS用户去重统计方法

【技术保护点】
一种AGNSS用户去重统计方法,其特征在于,包括以下步骤:步骤1,将AGNSS用户ID转成数字签名;步骤2,将数字签名转成BITMAP数据结构;步骤3,在BITMAP数据结构中进行去重。

【技术特征摘要】
1.一种AGNSS用户去重统计方法,其特征在于,包括以下步骤:步骤1,将AGNSS用户ID转成数字签名;步骤2,将数字签名转成BITMAP数据结构;步骤3,在BITMAP数据结构中进行去重。2.如权利要求1所述的一种AGNSS用户去重统计方法,其特征在于,步骤1中根据BKDRHash算法将AGNSS用户转换成数字签名。3.如权利要求2所述的一种AGNSS用户去重统计方法,其特征在于,步骤2中将AGNSS用户数字签名映射到BITMAP数据结构中。4.如权利要求1所述的一种AGNSS用户去重统计方法,其特征在于,采用BloomFilter算法对AGNSS用户ID进行标记。5.如权利要求4所述的...

【专利技术属性】
技术研发人员:万景琨陈有为
申请(专利权)人:千寻位置网络有限公司
类型:发明
国别省市:上海,31

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

1