CN107918618A - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN107918618A
CN107918618A CN201610884184.1A CN201610884184A CN107918618A CN 107918618 A CN107918618 A CN 107918618A CN 201610884184 A CN201610884184 A CN 201610884184A CN 107918618 A CN107918618 A CN 107918618A
Authority
CN
China
Prior art keywords
user
users
processed
attribute value
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610884184.1A
Other languages
English (en)
Other versions
CN107918618B (zh
Inventor
习明昊
金钟良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Beijing Co Ltd
Original Assignee
Tencent Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Beijing Co Ltd filed Critical Tencent Technology Beijing Co Ltd
Priority to CN201610884184.1A priority Critical patent/CN107918618B/zh
Publication of CN107918618A publication Critical patent/CN107918618A/zh
Application granted granted Critical
Publication of CN107918618B publication Critical patent/CN107918618B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Game Theory and Decision Science (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据处理方法。该方法包括:对应已存储的所有用户的用户数据中每一个属性参数的每一个属性值建立以所述属性值映射用户标识的倒排索引表;分别对每一个属性值映射用户标识的倒排索引表进行压缩;以及存储压缩后的每一个属性值映射用户标识的倒排索引表。通过本发明可以极大地降低人群画像的数据计算量和计算时间,节约计算设备的硬件资源。

Description

数据处理方法及装置
技术领域
本申请涉及数据分析和挖掘技术领域,尤其涉及对数据进行处理的方法及装置。
背景技术
相比传统的线下会员管理、问卷调查等,大数据技术使得企业能够通过互联网更便利地获取用户多方面的信息,更精准地了解用户的行为习惯、消费习惯等。通过大数据挖掘得出的用户画像以及人群画像可以应用在企业的精准营销和定向市场推广活动中。其中,用户画像(User Persona)是通过将收集到的用户信息分类并进行标签化,从而抽象得出的用户模型。用户画像可以包括用户各方面的信息所属的分类,例如,一个用户的用户画像可以包括女性、北京、80后、白领、爱看美剧、有孩子、喜欢兰蔻,等。人群画像是通过对一个群组用户的用户画像进行分析,得到这个群组的用户在各个属性信息维度上的分布情况,例如,一个群组的人群画像可以包括:这个群组的性别分布、年龄分布、学历分布、爱好分布等等。但是,通常情况下进行人群画像通常需要从每日数TB级别的曝光数据中对千万或上亿级的人群包进行计算和分析,需要耗费大量的时间和计算设备的硬件资源。
发明内容
本申请提供了一种数据处理方法,该方法包括:对应已存储的所有用户的用户数据中每一个属性参数的每一个属性值建立以该属性值映射用户标识的倒排索引表;分别对每一个属性值映射用户标识的倒排索引表进行压缩;以及存储压缩后每一个属性值映射用户标识的倒排索引表。
本申请还提供了一种数据处理方法,该方法包括:对待处理的用户数据包进行数据压缩;读取存储的各个属性值映射用户标识的倒排索引表;分别针对每一个属性参数的每一个属性值,根据压缩后的待处理的用户数据包与读取的所述属性值映射用户标识的倒排索引表确定待处理用户数据包所涉及用户中具有所述属性值的用户的数目;根据待处理用户数据包所涉及用户中具有各个属性值的用户的数目确定待处理用户数据包所涉及用户中具有各个属性值的用户所占比重;以及输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目和所占比重。
本申请还提供了一种数据处理装置,该装置包括:
分析模块,用于对应已存储的所有用户的用户数据中每一个属性参数的每一个属性值建立以所述属性值映射用户标识的倒排索引表;
压缩模块,用于分别对每一个属性值映射用户标识的倒排索引表进行压缩;以及
存储模块,用于存储压缩后每一个属性值映射用户标识的倒排索引表。
本申请还提供了一种数据处理装置,该装置包括:
第二压缩模块,用于对待处理的用户数据包进行数据压缩;
读取模块用于读取存储的各个属性值映射用户标识的倒排索引表;
求交集模块,用于分别针对每一个属性参数的每一个属性值,根据压缩后的待处理的用户数据包与该属性值映射用户标识的倒排索引表确定待处理用户数据包所涉及用户中具有该属性值的用户的数目;
求占比模块,用于根据待处理用户数据包所涉及用户中具有各个属性值的用户的数目确定待处理用户数据包所涉及用户中具有各个属性值的用户所占比重;以及
输出模块,用于输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目和所占比重。
通过上述数据处理方法和装置,将人群画像的数据分析和挖掘过程分为离线数据处理和在线数据处理两个部分。通过离线数据处理过程,对系统已经存储的用户数据进行分析,得到各个属性值映射用户标识的倒排索引表,并存储在系统的数据库中。在在线数据处理过程中,利用属性值映射用户标识的倒排索引表对待画像的人群包进行集合运算,从而得到待画像人群包的画像数据,从而可以极大地减少在线人群画像所需的计算时间,从而降低对计算设备的硬件要求。此外,通过数据压缩可以进一步降低存储数据所需的空间大小以及数据的计算量,因而可以进一步节约硬件资源,提高计算速度。
附图说明
为了更清楚的说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中,
图1显示了本申请实例所提供的离线数据处理方法流程;
图2显示了一个以用户的即时通信QQ号码为索引的用户属性表的示例;
图3a和图3b分别显示了一个倒排索引表的示例;
图4显示了本申请实例所提供的在线数据处理方法流程;
图5显示了确定待处理用户数据包所涉及用户中具有某一属性值的用户的数目的流程;
图6显示了一个输出待处理用户数据包所涉及用户中以性别分组输出男性和女性用户的数目以及占比的示例;
图7显示了离线数据处理单元700的内部结构;
图8显示了在线数据处理单元800的内部结构;
图9显示了离线数据处理单元900的硬件结构;以及
图10显示了在线数据处理单元1000的硬件结构。
具体实施方式
下面将结合附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实例是本申请一部分实例,而不是全部的实例。基于本申请中的实例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实例,都属于本申请保护的范围。
如前所述,由于数据量过于巨大,通常在进行人群画像时需要耗费大量的时间以及计算设备的硬件资源,为此,本发明提出了一种数据处理方法,可以大大缩短数据的处理时间,从而节省计算设备,例如服务器的资源。
本发明的数据处理方法包括离线数据处理和在线数据处理两个主要部分。下面将分别详细介绍离线数据处理和在线数据处理两个部分的具体实现方法。
关于离线数据处理的过程,下面将结合图1详细说明。
图1显示了本申请实例所提供的离线数据处理方法流程。如图1所示,该离线数据处理方法包括:
步骤101:对应已存储的所有用户的用户数据中每一个属性参数的每一个属性值建立以该属性值映射用户标识的倒排索引表。
在本步骤中,需要对已存储的所有用户的用户数据进行分析处理。需要说明的是,上述用户数据包括用户唯一的身份标识,例如用户的身份证号码、手机号码、用户移动终端的国际移动设备标识(IMEI)或广告标识符(IDFA)、又或者是QQ号或微信号等用户的即时通信号码等可以唯一标识用户身份的标识。
上述用户数据还包括描述用户各方面特性的各个属性参数的属性值,这些属性参数包括:描述用户身份的静态属性参数,例如:用户的性别、年龄、学历、所处地域、身份等等。这些属性参数还包括描述用户在互联网环境下行为的动态属性,例如:用户的娱乐、出行、社交等等描述用户偏好的信息。上述属性参数甚至还可以包括描述用户消费习惯的消费属性,例如用户的消费意向、消费意识、消费心理、消费嗜好等等。此外,上述属性参数还可以包括反映用户在环境、社会或者交际、感情过程中的心理反应,或者心理活动的心理属性。在本文中,将每个用户数据中对应各个属性参数的具体内容称为属性值。例如,一个用户的静态属性参数的参数值可以包括:性别:女、年龄:25岁、学历:大学本科、以及居住地:北京等等。
在上述步骤101中,建立以该属性值映射用户标识的倒排索引表具体可以包括:对已存储的所有用户的用户数据进行分析处理得到以用户标识为索引的用户属性表;然后,再以上述用户属性表为基础进行数据处理,对应每一个属性参数的每一个属性值建立以该属性值映射用户标识的倒排索引表。
其中,上述用户属性表为一张大宽表,其中的每一行对应一个用户;上述用户属性表的某一列,例如第一列为各行对应用户的用户标识,其余各列分别记录对应用户的用户数据中各个属性参数的属性值。
由于用户数据中包含用户的用户标识以及用户各个属性参数的属性值,因此,在本步骤中,可以通过对存储的全部用户的用户数据进行分析处理,得到上述以用户标识为索引的用户属性表,其中,每一行代表一个用户,每一列代表一个属性参数。
图2显示了一张以用户的即时通信QQ号码为索引的用户属性表的示例。如图2所示,上述用户属性表的第一例为各个用户的QQ号码,第二列开始为用户数据中包含的各个用户的各个属性参数、性别、年龄、学历、居住地、工作以及收入等等属性值。上述用户属性表的每一行代表一个QQ用户。
在本步骤中,具体可以使用映射和归约(MapReduce)集群并行运算模型对所有用户的用户数据进行文件分片扫描以及合并计算,得到每个用户的用户数据在各个属性参数上的属性值。从而得到上述以用户标识为索引的用户属性表。本领域的技术人员可以了解,MapReduce是一种编程模型,主要用于大规模数据集的并行运算。
在具体实践中,可以直接使用已有的以MapReduce并行运算编程模型为基础的开源代码完成上述功能。当然,也可以采用现有其他的集群算法完成上述功能。
在生成了上述用户属性表之后,由于上述用户属性表中记录了每一个用户的各个属性参数的属性值,因此,通过在每一行的用户数据中搜索特定属性值的方式即可得到每一个属性值对应的用户标识列表,也即,如果对应某个特定的属性值,如果可以在上述用户属性表的某一行中搜索到这一属性值,即可将这一行对应用户的用户标识加入该属性值映射用户标识的倒排索引表中。
具体实现中,也可以使用MapReduce并行运算编程模型提供的开源代码对上述用户属性表进行处理,对应每个属性参数的每一个属性值建立一个属性值映射用户标识的倒排索引表。
需要说明的是,通常情况下,倒排索引表主要应用于需要根据属性值来查找记录的情况。通常,倒排索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。具体而言,在本申请中,每个倒排索引表中包含一个属性值和具有该属性值用户的用户标识列表。
图3a和图3b分别显示了属性值映射用户标识的倒排索引表的示例,其中,图3a显示的是全部用户中属性值为女性的用户的QQ号码;图3b显示的是全部用户中是属性值为男性的用户的QQ号码。
步骤102:分别对每一个属性值映射用户标识的倒排索引表进行压缩。
在本步骤中,可以通过多种数据压缩算法来实现上述数据压缩,例如,可以通过位图(Bit-Map)、线性概率计数算法或者基数预估算法等方法来实现,从而减少数据存储和处理所需的空间和时间。上述基数预估算法具体可以包括例如Hyperloglog、AdaptiveCounting以及LogLog Counting等算法。通常,通过基数预估算法对原始亿级数据量的用户数据进行压缩后,仅需要数K或数十K比特左右的存储空间即可存放压缩后的数据文件。
本领域技术人员可以理解,虽然这些压缩算法会牺牲一定的数据准确性,但是,由于这些算法精度可控,并不会导致计算结果误差过大,反而利用这些压缩算法可以大幅节省存储和计算的资源。
步骤103:存储压缩后每一个属性值映射用户标识的倒排索引表。
需要说明的是,上述倒排索引表可以存储在计算设备本身的数据库中,或者也可以存储在独立与计算设备的单独的数据库设备中。
通过上述离线数据处理过程可以看出,在对需要进行人群画像的用户数据进行分析和画像之前,首先对系统中存储的全部用户的用户数据进行预先分析整理和倒排索引处理,从而可以得到全部用户中各个参数的各个属性值对应的用户标识。这些倒排索引表可以用于后续对需要进行人群画像的人群包数据的在线分析和画像,可以大大节省在线分析和画像所需的时间。并且,在上述离线数据处理过程中,对于生成的各个属性值映射用户标识的倒排索引表还进一步进行了压缩处理,通过压缩可以大大减少存储所有倒排索引表所需的存储空间。例如,在使用Hyperloglog算法的情况下每个倒排索引表可以仅需使用64K比特的存储空间来存储,从而大大节省了数据的存储空间。
下面将结合附图详细说明本申请所提出数据处理方法的在线数据处理过程部分。关于本申请实例所提供的在线数据处理过程,下面将结合图4详细说明。
图4显示了本申请实例所提供的在线数据处理方法流程。如图4所示,该在线数据处理方法包括:
步骤401,对待处理的用户数据包进行压缩。
在本申请中,将需要进行人群画像的一个群组用户的用户数据集合称为待处理的用户数据包。该待处理的用户数据包中的每一项对应一个用户,包含该用户的用户标识以及该用户对应各个属性参数的属性值。
在本步骤中,可以采用与上述步骤103相同的数据压缩方法对待处理的用户数据包。例如,在本步骤中,可以通过位图、线性概率计数算法或者基数预估算法等方法对待处理的用户数据包进行数据压缩。通常,如前所述,通过Hyperloglog对原始亿级数据量的用户数据进行压缩后,仅需要64k左右的存储空间即可存放压缩后的数据。
步骤402:读取存储的各个属性值映射用户标识的倒排索引表。
在本步骤中,可以从自身设备的数据库中读取存储的各个属性值映射用户标识的倒排索引表;也可以从独立于自身设备的单独的数据库设备中读取存储的各个属性值映射用户标识的倒排索引表。
步骤403:分别针对每一个属性参数的每一个属性值,根据压缩后的待处理的用户数据包与系统存储的该属性值映射用户标识的倒排索引表确定待处理用户数据包所涉及用户中具有该属性值的用户的数目。
在本步骤中,通过将压缩后的待处理的用户数据包与某个属性值映射用户标识的倒排索引表求交集运算,即可得到待处理的用户数据包所涉及用户中,也即需要进行人群画像的用户群中,具有该属性值的用户的数目。例如,将压缩后待处理的用户数据包与属性值女性映射用户标识的倒排索引表进行交集运算后即可得到待处理用户数据包所涉及用户中女性用户的数目。
且在本步骤中,需要分别针对每一个属性参数的每一个属性值均进行上述求交集的运算,也即将压缩后待处理的用户数据包和系统存储的各个属性值映射用户标识的倒排索引表分别求交集,即可得到待处理用户数据包所涉及用户中具有各种属性的用户的数目,从而可以得到待处理的用户数据包所涉及用户在各个属性参数维度上的人群画像数据。
需要说明的是,如果在步骤103和401中所采用的数据压缩算法是Hyperloglog算法,而由于Hyperloglog算法不支持求交集运算,则在本步骤中需要进一步利用容斥原理确定待处理用户数据包所涉及用户中具有该属性值的用户的数目。具体方法如图5所示,主要可以包括如下步骤:
步骤4031:确定待处理用户数据包所涉及用户数A;
步骤4032:确定某个属性值映射用户标识的倒排索引表中用户标识的数目B;
步骤4033:求压缩后待处理用户数据包和上述某个属性值映射用户标识的倒排索引表的并集;
步骤4034:确定上述并集所涉及用户的数目C;以及
步骤4035:确定待处理用户数据包所涉及用户中具有该属性值的用户的数目为A+B-C。
步骤404:根据待处理用户数据包所涉及用户中具有各个属性值的用户的数目确定待处理用户数据包所涉及用户中具有各个属性值的用户所占比重。
上述比重是指待处理用户数据包所涉及用户具有某个属性值的用户的数目占所涉及用户总数的比例。
步骤405:输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目和所占比重。
在本步骤中,可以通过图或表的方式按照属性参数分组输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目以及所占比重,例如,可以通过饼图、柱状图以及表格等方式显示待处理用户数据包所涉及用户中具有各个属性值的用户的数目以及占比。
图6显示了一个输出待处理用户数据包所涉及用户中的不同性别的分布。具体而言,图6以饼图的方式显示了待处理用户数据包所涉及用户中男性用户、女性用户以及性别未知的用户的数量以及所占比重。从图6可以看出,在待处理用户数据包所涉及的用户中,男性用户有27,642,706个,占比48.91%;女性用户有27,904,452个,占比49.37%;未知性别用户970,720个,占比1.72%。通过图6用户可以清晰地了解被画像的人群数据包所包含用户的性别分布情况。在上述输出过程中,可以针对用户感兴趣的属性参数都生成类似的图或者表格,以便清晰地展示待分析人群数据包的画像。
在上述在线数据处理过程中,系统中的计算设备将所有倒排索引表数据读入内存中后,针对特定人群的用户数据包,只需要首先进行压缩,然后使用压缩后的用户数据包和每个倒排索引表进行位运算便可得到特定人群的画像数据,而不需要对整个用户数据包进行分片扫描以及合并运算等等处理,从而大大简化了在线人群画像时的处理过程,在数据处理的时间效率上有很大提升。而且由于不仅是系统存储的倒排索引表经过压缩,且待处理用户数据包也经过压缩,因此,进一步大大减少了位运算的数据量,使得整个运算过程可以在极短时间内计算完成,不仅节省了运算所需的时间,也节省了系统资源。例如,上述方法使得服务器侧单机处理成为可能,极大地降低了系统的硬件成本。
对应上述数据处理方法,本申请还提供了一种数据处理装置。该装置可以是用于进行数据挖掘的服务器或其他计算设备。该装置主要包括:离线数据处理单元700和/或在线数据处理单元800。也即上述离线数据处理单元700以及在线数据处理单元800可以由同一个计算设备来实现或者分别由不同的计算设备来实现。
其中,离线处理单元700的内部结构如图7所示,具体可以包括:分析模块701、压缩模块702和存储模块703。
其中,分析模块701用于对应已存储的所有用户的用户数据中每一个属性参数的每一个属性值建立以该属性值映射用户标识的倒排索引表。具体而言,分析模块701可以参照上述步骤101所述的方法执行,具体可以包括:处理子模块,用于对已存储的所有用户的用户数据进行分析,得到以用户标识为索引的用户属性表;以及映射子模块,用于以上述用户属性表为基础,对应每一个属性参数的每一个属性值建立以所述属性值映射用户标识的倒排索引表。在具体的应用中,分析模块701可以利用MapReduce模型提供的合并运算方法来实现上述功能。
压缩模块702用于分别对每一个属性值映射用户标识的倒排索引表进行压缩。具体而言,上述压缩模块702可以采用上述步骤102所述的方法进行数据压缩。例如,可以采用线性概率计数算法或基数预估算法进行压缩。
存储模块703,用于存储压缩后每一个属性值映射用户标识的倒排索引表。具体而言,存储模块703可以采用上述步骤103所述的方法存储压缩后的倒排索引表。存储模块703可以将压缩后的倒排索引表存储至自身的数据库中或者存储至与自身设备独立的单独的数据库中。
通过上述离线数据处理单元700,在对需要进行人群画像的用户数据进行分析和画像之前,首先对系统中存储的全部用户的用户数据进行预先分析整理和倒排索引处理,从而可以得到全部用户中各个参数的各个属性值对应的用户标识。这些倒排索引表可以用于后续对需要进行人群画像的人群包数据的分析和画像。并且,在上述离线数据处理过程中,对于生成的各个属性值映射用户标识的倒排索引表还进一步进行了压缩处理,通过压缩可以大大减少存储所有倒排索引表所需的存储空间。
上述在线数据处理单元800的内部结构如图8所示,主要可以包括:第二压缩模块801、读取模块802、求交集模块803、求占比模块804以及输出模块805。
第二压缩模块801用于对待处理的用户数据包进行数据压缩。具体而言,上述第二压缩模块801可以采用上述步骤401所述的方法对待处理的用户数据包进行压缩处理,例如采用线性概率计数算法或基数预估算法进行压缩。
读取模块802用于读取存储的各个属性值映射用户标识的倒排索引表。上述读取模块802可以从内部的数据库中读取各个属性值映射用户标识的倒排索引表;也可以从独立与自身设备的数据库中读取各个属性值映射用户标识的倒排索引表。
求交集模块803用于分别针对每一个属性参数的每一个属性值,根据压缩后的待处理的用户数据包与该属性值映射用户标识的倒排索引表确定待处理用户数据包所涉及用户中具有该属性值的用户的数目。
具体而言,求交集模块803可以直接对压缩后的待处理的用户数据包与存储的该属性值映射用户标识的倒排索引表求交集,从而确定待处理用户数据包所涉及用户中具有该属性值的用户的数目。
除此之外,如前所述,在采用Hyperloglog算法对用户数据以及倒排索引表进行压缩的情况下,无法直接对压缩后的数据求交集运算,则在这种情况下求交集模块803还可以通过上述步骤4031~步骤4035所述的方法确定待处理用户数据包所涉及用户中具有该属性值的用户的数目。在这种情况下,求交集模块803可以具体包括下述子模块:
第一用户数确定子模块,用于确定待处理用户数据包所涉及用户数A;
第二用户数确定子模块,用于确定某个属性值映射用户标识的倒排索引表中用户标识的数目B;
求并集子模块,用于求压缩后待处理用户数据包和上述某个属性值映射用户标识的倒排索引表的并集;
第三用户数确定子模块,用于确定上述并集所涉及用户的数目C;以及
计算子模块,用于确定待处理用户数据包所涉及用户中具有该属性值的用户的数目为A+B-C。
此外,求占比模块804用于根据待处理用户数据包所涉及用户中具有各个属性值的用户的数目确定待处理用户数据包所涉及用户中具有各个属性值的用户所占比重。如前所述,上述比重是指待处理用户数据包所涉及用户具有某个属性值的用户的数目占所涉及用户总数的比例。
输出模块805用于输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目和所占比重。如前所述,上述输出模块805可以通过图或表的方式按照属性参数分组输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目以及所占比重,例如,可以通过饼图、柱状图以及表格等方式显示待处理用户数据包所涉及用户中具有各个属性值的用户的数目以及所占比重。
上述在线数据处理单元将所有倒排索引表数据读入内存中后,针对特定人群的用户数据包,只需要首先进行压缩,然后使用压缩后的用户数据包和每个倒排索引表进行位运算便可得到特定人群的画像数据,而不需要对整个用户数据包进行分片扫描以及合并运算等处理,从而大大简化了在线人群画像时的处理过程,在数据处理的时间效率上有很大提升。而且由于不仅是系统存储的倒排索引表经过压缩,且待处理用户数据包也经过压缩,因此,进一步大大减少了位运算的数据量,使得整个运算过程可以在极短时间内计算完成,不仅节省了运算所需的时间,也节省了系统资源。
图9显示了本申请实例所述的离线数据处理装置的硬件结构示意图。如图9所示,上述离线数据处理装置900可以包括:用于存储指令的存储器901、用于执行存储于存储器中指令的处理器902。上述离线数据处理装置还可以包括存储倒排索引表的数据库903。该处理器902通过连接单元904与所述存储器901以及所述数据库903进行通信。上述指令包含如下指令模块:分析模块701、压缩模块702和存储模块703。
图10显示了本申请实例所述的在线数据处理装置的硬件结构示意图。如图10所示,上述在线数据处理装置1000可以包括:用于存储指令的存储器1001、用于执行存储于存储器中指令的处理器1002。上述在线数据处理装置还可以包括存储倒排索引表的数据库1003。该处理器1002通过连接单元1004与所述存储器1001以及所述数据库1003进行通信。上述指令包含如下指令模块:第二压缩模块801、读取模块802、求交集模块803、求占比模块804以及输出模块805。
需要说明的是,图9所示的离线数据处理装置和图10所示的在线数据处理装置中都显示有存储倒排索引表的数据库,这仅仅是一个示例。在实际的应用中,上述数据库也可以不集成在同一个计算设备中,而可以是独立于离线数据处理装置和/或在线数据处理装置的单独的数据库,在这种情况下,图9和10中的数据库903/1003可以用可以与独立数据库设备连接的数据存取接口来替代。
以上所述仅为本申请的实例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (25)

1.一种数据处理方法,其特征在于,包括:
对应已存储的所有用户的用户数据中每一个属性参数的每一个属性值建立以所述属性值映射用户标识的倒排索引表;
分别对每一个属性值映射用户标识的倒排索引表进行压缩;以及
存储压缩后每一个属性值映射用户标识的倒排索引表。
2.根据权利要求1所述的数据处理方法,其特征在于,所述建立以该属性值映射用户标识的倒排索引表包括:
对已存储的所有用户的用户数据进行分析,得到以用户标识为索引的用户属性表;以及
以所述用户属性表为基础,对应每一个属性参数的每一个属性值建立以所述属性值映射用户标识的倒排索引表。
3.根据权利要求2所述的数据处理方法,其特征在于,所述用户属性表的每一行对应一个用户;所述用户属性表的某一列为各行对应用户的用户标识,其余各列分别记录对应用户的用户数据中各个属性参数的属性值。
4.根据权利要求2所述的数据处理方法,其特征在于,所述对存储的所有用户的用户数据进行分析包括:使用映射和归约并行运算方法对所有用户的用户数据进行文件分片扫描以及合并计算,得到每个用户的用户数据在各个属性参数上的属性值。
5.根据权利要求2所述的数据处理方法,其特征在于,所述对应每一个属性参数的每一个属性值建立以所述属性值映射用户标识的倒排索引表包括:在每一行的用户数据中搜索某个特定属性值,如果可以在所述用户属性表的某一行中搜索到所述属性值,则将这一行对应用户的用户标识加入所述属性值映射用户标识的倒排索引表中。
6.根据权利要求1所述的数据处理方法,其特征在于,所述对每一个属性值映射用户标识的倒排索引表进行压缩包括:通过基数预估算法分别对每一个属性值映射用户标识的倒排索引表进行数据压缩。
7.根据权利要求1所述的数据处理方法,其特征在于,所述对每一个属性值映射用户标识的倒排索引表进行压缩包括:通过线性概率计数算法分别对每一个属性值映射用户标识的倒排索引表进行数据压缩。
8.根据权利要求1所述的数据处理方法,其特征在于,进一步包括:
对待处理的用户数据包进行数据压缩;
读取存储的各个属性值映射用户标识的倒排索引表;
分别针对每一个属性参数的每一个属性值,根据压缩后的待处理的用户数据包与读取的所述属性值映射用户标识的倒排索引表确定待处理用户数据包所涉及用户中具有所述属性值的用户的数目;
根据待处理用户数据包所涉及用户中具有各个属性值的用户的数目确定待处理用户数据包所涉及用户中具有各个属性值的用户所占比重;以及
输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目和所占比重。
9.根据权利要求8所述的数据处理方法,其特征在于,所述对待处理的用户数据包进行数据压缩包括:通过基数预估算法对待处理的用户数据包进行数据压缩。
10.根据权利要求8所述的数据处理方法,其特征在于,所述对待处理的用户数据包进行数据压缩包括:通过线性概率计数算法对待处理的用户数据包进行数据压缩。
11.根据权利要求8所述的数据处理方法,其特征在于,所述确定待处理用户数据包所涉及用户中具有所述属性值的用户的数目包括:将压缩后的待处理的用户数据包与所述属性值映射用户标识的倒排索引表求交集,得到待处理的用户数据包所涉及用户中具有所述属性值的用户的数目。
12.根据权利要求8所述的数据处理方法,其特征在于,所述确定待处理用户数据包所涉及用户中具有所述属性值的用户的数目包括:
确定待处理用户数据包所涉及用户数A;
确定某个属性值映射用户标识的倒排索引表中用户标识的数目B;
求压缩后待处理用户数据包和上述某个属性值映射用户标识的倒排索引表的并集;
确定上述并集所涉及用户的数目C;以及
确定待处理用户数据包所涉及用户中具有该属性值的用户的数目为A+B-C。
13.根据权利要求8所述的方法,其特征在于,所述输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目和所占比重包括:通过图或表的方式按照属性参数分组输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目以及所占比重。
14.一种数据处理方法,其特征在于,包括:
对待处理的用户数据包进行数据压缩;
读取存储的各个属性值映射用户标识的倒排索引表;
分别针对每一个属性参数的每一个属性值,根据压缩后的待处理的用户数据包与读取的所述属性值映射用户标识的倒排索引表确定待处理用户数据包所涉及用户中具有所述属性值的用户的数目;
根据待处理用户数据包所涉及用户中具有各个属性值的用户的数目确定待处理用户数据包所涉及用户中具有各个属性值的用户所占比重;以及
输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目和所占比重。
15.根据权利要求14所述的数据处理方法,其特征在于,所述对待处理的用户数据包进行数据压缩包括:通过基数预估算法对待处理的用户数据包进行数据压缩。
16.根据权利要求14所述的数据处理方法,其特征在于,所述对待处理的用户数据包进行数据压缩包括:通过线性概率计数算法对待处理的用户数据包进行数据压缩。
17.根据权利要求14所述的数据处理方法,其特征在于,所述确定待处理用户数据包所涉及用户中具有所述属性值的用户的数目包括:将压缩后的待处理的用户数据包与所述属性值映射用户标识的倒排索引表求交集,得到待处理的用户数据包所涉及用户中具有所述属性值的用户的数目。
18.根据权利要求14所述的数据处理方法,其特征在于,所述确定待处理用户数据包所涉及用户中具有所述属性值的用户的数目包括:
确定待处理用户数据包所涉及用户数A;
确定某个属性值映射用户标识的倒排索引表中用户标识的数目B;
求压缩后待处理用户数据包和上述某个属性值映射用户标识的倒排索引表的并集;
确定上述并集所涉及用户的数目C;以及
确定待处理用户数据包所涉及用户中具有该属性值的用户的数目为A+B-C。
19.根据权利要求14所述的方法,其特征在于,所述输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目和所占比重包括:通过图或表的方式按照属性参数分组输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目以及所占比重。
20.一种数据处理装置,其特征在于,包括:
分析模块,用于对应已存储的所有用户的用户数据中每一个属性参数的每一个属性值建立以所述属性值映射用户标识的倒排索引表;
压缩模块,用于分别对每一个属性值映射用户标识的倒排索引表进行压缩;以及
存储模块,用于存储压缩后每一个属性值映射用户标识的倒排索引表。
21.根据权利要求20所述的装置,其特征在于,所述分析模块包括:
处理子模块,用于对已存储的所有用户的用户数据进行分析,得到以用户标识为索引的用户属性表;以及
映射子模块,用于以所述用户属性表为基础,对应每一个属性参数的每一个属性值建立以所述属性值映射用户标识的倒排索引表。
22.根据权利要求20所述的装置,其特征在于,进一步包括:
第二压缩模块,用于对待处理的用户数据包进行数据压缩;
读取模块用于读取存储的各个属性值映射用户标识的倒排索引表;
求交集模块,用于分别针对每一个属性参数的每一个属性值,根据压缩后的待处理的用户数据包与该属性值映射用户标识的倒排索引表确定待处理用户数据包所涉及用户中具有该属性值的用户的数目;
求占比模块,用于根据待处理用户数据包所涉及用户中具有各个属性值的用户的数目确定待处理用户数据包所涉及用户中具有各个属性值的用户所占比重;以及
输出模块,用于输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目和所占比重。
23.根据权利要求22所述的装置,其特征在于,所述求交集模块包括:
第一用户数确定子模块,用于确定待处理用户数据包所涉及用户数A;
第二用户数确定子模块,用于确定某个属性值映射用户标识的倒排索引表中用户标识的数目B;
求并集子模块,用于求压缩后待处理用户数据包和上述某个属性值映射用户标识的倒排索引表的并集;
第三用户数确定子模块,用于确定上述并集所涉及用户的数目C;以及计算子模块,用于确定待处理用户数据包所涉及用户中具有该属性值的用户的数目为A+B-C。
24.一种数据处理装置,其特征在于,包括:
第二压缩模块,用于对待处理的用户数据包进行数据压缩;
读取模块用于读取存储的各个属性值映射用户标识的倒排索引表;
求交集模块,用于分别针对每一个属性参数的每一个属性值,根据压缩后的待处理的用户数据包与该属性值映射用户标识的倒排索引表确定待处理用户数据包所涉及用户中具有该属性值的用户的数目;
求占比模块,用于根据待处理用户数据包所涉及用户中具有各个属性值的用户的数目确定待处理用户数据包所涉及用户中具有各个属性值的用户所占比重;以及
输出模块,用于输出待处理用户数据包所涉及用户中具有各个属性值的用户的数目和所占比重。
25.根据权利要求24所述的装置,其特征在于,所述求交集模块包括:
第一用户数确定子模块,用于确定待处理用户数据包所涉及用户数A;
第二用户数确定子模块,用于确定某个属性值映射用户标识的倒排索引表中用户标识的数目B;
求并集子模块,用于求压缩后待处理用户数据包和上述某个属性值映射用户标识的倒排索引表的并集;
第三用户数确定子模块,用于确定上述并集所涉及用户的数目C;以及
计算子模块,用于确定待处理用户数据包所涉及用户中具有该属性值的用户的数目为A+B-C。
CN201610884184.1A 2016-10-10 2016-10-10 数据处理方法及装置 Active CN107918618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610884184.1A CN107918618B (zh) 2016-10-10 2016-10-10 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610884184.1A CN107918618B (zh) 2016-10-10 2016-10-10 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN107918618A true CN107918618A (zh) 2018-04-17
CN107918618B CN107918618B (zh) 2023-03-24

Family

ID=61892583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610884184.1A Active CN107918618B (zh) 2016-10-10 2016-10-10 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN107918618B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109064310A (zh) * 2018-07-06 2018-12-21 美利车(北京)网络技术有限公司 一种资源获取方法及装置
CN110609707A (zh) * 2018-06-14 2019-12-24 北京嘀嘀无限科技发展有限公司 在线数据处理系统生成方法、装置及设备
CN110737662A (zh) * 2019-10-10 2020-01-31 腾讯科技(深圳)有限公司 一种数据分析方法、装置、服务器及计算机存储介质
CN111190941A (zh) * 2019-12-30 2020-05-22 北京奇艺世纪科技有限公司 一种信息统计方法及装置
CN111292107A (zh) * 2018-12-06 2020-06-16 北京嘀嘀无限科技发展有限公司 用户数据处理方法、装置、电子设备及存储介质
CN111932315A (zh) * 2020-09-02 2020-11-13 上海优扬新媒信息技术有限公司 数据展示的方法及装置、电子设备及计算机可读存储介质
CN113761102A (zh) * 2020-11-18 2021-12-07 北京沃东天骏信息技术有限公司 数据处理方法、装置、服务器、系统和存储介质
CN115129724A (zh) * 2022-08-29 2022-09-30 畅捷通信息技术股份有限公司 一种统计型报表分页方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521244A (zh) * 2011-11-14 2012-06-27 江苏联著实业有限公司 一种基于学习式owl建模的用户资料分析系统
CN102982153A (zh) * 2012-11-29 2013-03-20 北京亿赞普网络技术有限公司 一种信息检索方法及其装置
CN103164408A (zh) * 2011-12-09 2013-06-19 阿里巴巴集团控股有限公司 基于垂直搜索引擎的信息存储、查询方法及其装置
US20160147886A1 (en) * 2014-11-20 2016-05-26 Facebook, Inc. Querying Groups of Users Based on User Attributes for Social Analytics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521244A (zh) * 2011-11-14 2012-06-27 江苏联著实业有限公司 一种基于学习式owl建模的用户资料分析系统
CN103164408A (zh) * 2011-12-09 2013-06-19 阿里巴巴集团控股有限公司 基于垂直搜索引擎的信息存储、查询方法及其装置
CN102982153A (zh) * 2012-11-29 2013-03-20 北京亿赞普网络技术有限公司 一种信息检索方法及其装置
US20160147886A1 (en) * 2014-11-20 2016-05-26 Facebook, Inc. Querying Groups of Users Based on User Attributes for Social Analytics

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张洋: ",CodingLabs - 解读Cardinality Estimation算法(第一部分:基本概念)", 《HTTP://BLOG.CODINGLABS.ORG/ARTICLES/ALGORITHMS-FOR-CARDINALITY-ESTIMATION-PART-I.HTML?UTM_SOURCE=LD246.COM》 *
杨雷: "《MapReduce作业执行性能优化若干关键技术研究》", 31 December 2015, 东北大学出版社 *
艾艺红等: "《微积分》", 31 August 2015, 重庆大学出版社 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609707A (zh) * 2018-06-14 2019-12-24 北京嘀嘀无限科技发展有限公司 在线数据处理系统生成方法、装置及设备
CN110609707B (zh) * 2018-06-14 2021-11-02 北京嘀嘀无限科技发展有限公司 在线数据处理系统生成方法、装置及设备
CN109064310A (zh) * 2018-07-06 2018-12-21 美利车(北京)网络技术有限公司 一种资源获取方法及装置
CN111292107A (zh) * 2018-12-06 2020-06-16 北京嘀嘀无限科技发展有限公司 用户数据处理方法、装置、电子设备及存储介质
CN110737662A (zh) * 2019-10-10 2020-01-31 腾讯科技(深圳)有限公司 一种数据分析方法、装置、服务器及计算机存储介质
CN111190941A (zh) * 2019-12-30 2020-05-22 北京奇艺世纪科技有限公司 一种信息统计方法及装置
CN111932315A (zh) * 2020-09-02 2020-11-13 上海优扬新媒信息技术有限公司 数据展示的方法及装置、电子设备及计算机可读存储介质
CN111932315B (zh) * 2020-09-02 2023-10-24 度小满科技(北京)有限公司 数据展示的方法及装置、电子设备及计算机可读存储介质
CN113761102A (zh) * 2020-11-18 2021-12-07 北京沃东天骏信息技术有限公司 数据处理方法、装置、服务器、系统和存储介质
CN113761102B (zh) * 2020-11-18 2024-07-16 北京沃东天骏信息技术有限公司 数据处理方法、装置、服务器、系统和存储介质
CN115129724A (zh) * 2022-08-29 2022-09-30 畅捷通信息技术股份有限公司 一种统计型报表分页方法、系统、设备及介质

Also Published As

Publication number Publication date
CN107918618B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN107918618B (zh) 数据处理方法及装置
CN108763314B (zh) 一种兴趣推荐方法、装置、服务器及存储介质
US11899681B2 (en) Knowledge graph building method, electronic apparatus and non-transitory computer readable storage medium
CN107844565B (zh) 商品搜索方法和装置
US8972498B2 (en) Mobile-based realtime location-sensitive social event engine
US20140095308A1 (en) Advertisement distribution apparatus and advertisement distribution method
CN108491388B (zh) 数据集获取方法、分类方法、装置、设备及存储介质
CN107193974B (zh) 基于人工智能的地域性信息确定方法和装置
WO2013138968A1 (en) Method and system for hybrid information query
CN103455411B (zh) 日志分类模型的建立、行为日志分类方法及装置
CN108959329B (zh) 一种文本分类方法、装置、介质及设备
CN109903127A (zh) 一种群组推荐方法、装置、存储介质及服务器
JP2018509664A (ja) モデル生成方法、単語重み付け方法、装置、デバイス及びコンピュータ記憶媒体
CN103279515A (zh) 基于微群的推荐方法及微群推荐装置
KR101559719B1 (ko) 효과적인 마케팅을 도출하는 자동학습 시스템 및 방법
US20240184865A1 (en) Systems and methods for providing user validation
CN108665513B (zh) 基于用户行为数据的绘图方法和装置
CN112966076B (zh) 智能问答问题的生成方法、装置、计算机设备及存储介质
CN118035056A (zh) 一种面向多模态数据查询的基准测试方法和测试框架
CN105512270B (zh) 一种确定相关对象的方法和装置
CN112667869A (zh) 数据处理方法、设备、系统及存储介质
Ababneh et al. Social media usage in education: big data perspective
CN115114805A (zh) 自主式交通系统架构的信息交互对离散仿真方法
CN113778996A (zh) 一种大数据流数据处理方法、装置、电子设备及存储介质
CN112650925A (zh) 一种用于一卡通的app信息推送系统、方法及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant