发明名称 从大数据中高效计算用户数的方法
摘要 一种在数据分析系统中,从大数据环境中高效计算用户数的方法,包括位置标识、位置计算、位置存储和用户数计算共四个操作步骤。本发明采用二进制数表示存储对象,其中为1的位表示该位置有对应用户。最终计算符合匹配条件的用户数时,根据存储位置的二进制对象,计算其中二进制1的个数,就得到用户数数据。如果是多纬度组合匹配计算用户数时,则对位置对象进行位运算,就能够非常方便地获得所需要的用户数的数据。本发明在大数据中计算不同维度的用户数的方法,不仅计算速度快捷、高效,节约了计算资源,还能够保证计算结果准确、运算方式灵活、方便。因此,本发明具有很好的推广应用前景。
申请公布号 CN103577583A 申请公布日期 2014.02.12
申请号 CN201310553203.9 申请日期 2013.11.08
申请人 北京首信科技股份有限公司 发明人 王西刚;董芸;李学春;刘志远
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京德琦知识产权代理有限公司 11018 代理人 夏宪富
主权项 一种从大数据中高效计算用户数的方法,其特征在于:所述方法包括下列操作步骤:(1)位置标识、即对用户数据进行预处理:为每个用户配置一个数字标识,作为其唯一的用户标识,且保证每个用户的数字标识是连续的,用于在二进制数据计算过程中表示该用户所在的二进制位的位置;再将用户标识和数字标识的对应关系加载于计算机内存,形成“用户名:数字标识”键值对的数据结构;(2)位置计算、即该方法的核心操作:从大数据中扫描一部分用户数据,并逐条进行数据处理:先对其中每个用户数据找出用户标识,再从内存键值对中分别获取其对应的数字标识,并将该数字标识存储到链表List数据结构中;且在存储过程中执行去重处理,保证该链表中没有相同的数字标识;然后将该链表转换成内存中的位对象,使得该位对象的数字标识位置为1;(3)位置存储:利用数据库中存储二进制大对象文件的容器BLOB(BINARY LARGE OBJECT),将步骤(2)计算获得的List数据结构中的二进制位置信息从计算机内存中存储到计算机磁盘上:把二进制数据中对应数字位置成1,其他位都置成0,并存储于磁盘,以供对其进行查询和增量计算;所述增量计算是反复循环执行步骤(2)和(3),且在每次执行步骤(2)时,都要将已经生成的位对象和已有的BLOB位对象执行位或运算,其目的是要和已经得到的计算结果进行合并,达到用户去重的效果;(4)用户数计算:计算符合匹配条件的用户数,即计算BLOB存储位置二进制位对象中的二进制1的个数,就能得到所需的用户数数据;如果是多个纬度组合匹配计算用户数时,则要对位对象进行相应的位运算,再计算位运算后的BLOB对象的1的个数,才能得到所需求的用户数数据。
地址 100015 北京市朝阳区将台路5号