基于列存储和键值存储的人群画像方法及系统与流程

文档序号:13422101阅读:1104来源:国知局
基于列存储和键值存储的人群画像方法及系统与流程

本发明属于信息技术技术领域,具体涉及一种基于列存储和键值存储的人群画像方法及系统。



背景技术:

人群画像是为了让团队成员在产品设计的过程中能够抛开个人喜好,将焦点关注在目标用户的动机和行为上进行产品设计。简单讲就是通过收集与分析消费者社会属性、生活习惯、消费行为等主要信息的数据之后,抽象模拟出的一种调查分析报告,是用户信息标签。譬如在百度指数输入产品关键词,就会得出搜索该产品消费人群的行为喜好。人群画像能够对产品运营、客户维系起到精准用户群体以及获取用户需求反馈信息作用。

目前,在针对海量的用户进行人群画像时,由于数据庞大的原因,在查找满足一定条件的用户时,耗费时间比较长,因此,进行人群画像时响应速度比较慢。



技术实现要素:

本发明是为了解决上述问题而进行的,目的在于提供一种计算效率高、响应迅速的基于列存储和键值存储的人群画像方法及系统。

本发明提供了一种基于列存储和键值存储的人群画像方法,其特征在于,包括以下步骤:步骤1,采集用户数据;

步骤2,将采集的用户数据以列存储的方式建立列存储数据库,并以键值存储的方式建立键值存储数据库;

步骤3,根据筛选条件从列存储数据库中查找到符合筛选条件的用户主键;

步骤4,根据步骤3中得到的用户主键在键值存储数据库中得到与每个用户主键相对应的所有属性;

步骤5,根据步骤4中得到的所有用户的属性进行人群画像。

进一步,在本发明提供的基于列存储和键值存储的人群画像方法中,还可以具有这样的特征:其中,步骤1中,采集用户数据后,需要对用户数据进行以下处理:步骤1-1,对用户数据etl;步骤1-2,对用户数据进行处理。

进一步,在本发明提供的基于列存储和键值存储的人群画像方法中,还可以具有这样的特征:其中,建立列存储数据库后,需要对列存储数据库进行压缩。

进一步,在本发明提供的基于列存储和键值存储的人群画像方法中,还可以具有这样的特征:其中,列存储数据库中的列为用户数据中用户的属性。

进一步,在本发明提供的基于列存储和键值存储的人群画像方法中,还可以具有这样的特征:其中,在键值存储数据库中,用户主键为key,用户的属性转换成的字符串为value。

进一步,在本发明提供的基于列存储和键值存储的人群画像方法中,还可以具有这样的特征:其中,定期更新列存储数据库和键值存储数据库。

进一步,在本发明提供的基于列存储和键值存储的人群画像方法中,还可以具有这样的特征:其中,步骤3中得到符合筛选条件的用户主键后需要根据抽样参数对用户主键进行抽样,得到用于进行人群画像的用户主键。

进一步,在本发明提供的基于列存储和键值存储的人群画像方法中,还可以具有这样的特征:其中,步骤4中,根据用户主键在键值存储数据库中得到与每个用户主键相对应的所有属性的方法如下:

步骤4-1,根据用户主键的数量创建线程池;

步骤4-2,在线程池中多线程执行命令,获取与每个用户主键相对应的用户的所有属性。

本发明还提供了一种基于列存储和键值存储的人群画像系统,其特征在于,包括:数据收集模块,用于收集用户数据;

列存储模块,用于将用户数据以列存储方式存储;

键值存储模块,用于将用户数据以键值存储方式存储;以及

设定模块,用于设定筛选条件;

计算模块,根据所述筛选条件在列存储模块中查找到符合条件的用户主键,然后根据得到的用户主键在键值存储模块得到与用户主键相对应的用户的属性,最后根据得到的所有用户的属性进行人群画像。

进一步,在本发明提供的基于列存储和键值存储的人群画像系统中,还可以具有这样的特征:基于列存储和键值存储的人群画像系统还包括更新模块,用于更新列存储模块和键值存储模块中的用户数据。

进一步,在本发明提供的基于列存储和键值存储的人群画像系统中,还可以具有这样的特征:所述设定模块还用于设定抽样参数,所述计算模块中还包含抽样单元,所述抽样单元根据所述抽样参数对根据所述筛选条件在列存储模块中查找到符合筛选条件的用户主键进行抽样,得到用于进行人群画像的用户主键。

本发明的优点如下:

根据本发明所涉及的基于列存储和键值存储的人群画像方法,由于将用户数据分别以列存储的方式和键值存储的方式进行存储,因此在想要得到符合一定条件的人群的人群画像时,通过筛选条件筛选用户数据时,先从列存储数据库中搜索到符合要求的用户主键,搜索速度比较快,然后根据用户主键在键值存储数据库中搜索得到符合要求的用户主键对应的属性,最后根据得到的用户属性进行人群画像,因此,本发明的基于列存储和键值存储的人群画像方法在进行特定人群的人群画像时速度快、响应迅速。

本发明所涉及的基于抽样查找和索引查找的人群画像系统,能够快速的计算出特定人群的人群画像。

附图说明

图1是本发明中基于列存储和键值存储的人群画像方法的流程图;

图2是本发明中基于列存储和键值存储的人群画像系统的结构框图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明基于列存储和键值存储的人群画像方法及系统作具体阐述。

在进行描述之前,对一些专业术语进行解释:

人群画像:计算满足一定条件的人群在不同属性上的分布。

在本实施例中,如图1所示,基于列存储和键值存储的人群画像方法包含以下步骤:

步骤1,采集用户数据。

采集用户数据后,需要对用户数据进行以下处理:

步骤1-1,对用户数据etl。即从数据源抽取出用户数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将用户数据加载到数据仓库中去。

步骤1-2,对用户数据进行处理。

步骤2,将采集的用户数据以列存储的方式建立列存储数据库,并以键值存储的方式建立键值存储数据库。

在本实施例中,在建立列存储数据库后,需要对列存储数据库进行压缩。具体的,对列存储数据库的压缩可以采用dictionaryencoding,即字典编码算法进行压缩。字典编码算法的核心思想即是利用简短的编码代替列中某些重复出现的字符串,编码与被替代的字符串建立映射关系。使用字典编码算法对列存储数据库进行压缩后,能够大大缩小数据的存储空间。

键值存储数据库即key-value数据库。在键值存储数据库中,用户主键做为key,用户的属性转换成的字符串做为value。在列存储数据库中,每列为用户数据中的一个用户的属性。

在本实施例中,建立完列存储数据库和键值存储数据库后,要定期对列存储数据库和键值存储数据库进行更新。因此,当采集的用户数据一定时间产生变动时,列存储数据库和键值存储数据库能够及时进行更新。

步骤3,根据筛选条件从列存储数据库中查找到符合筛选条件的用户主键。筛选条件为用户数据中的一个属性或多个属性的组合。比如筛选条件为“20-30岁&本科”。

在列存储数据库中进行筛选时,首先应该将筛选条件转化为列存储数据库能够识别的表达式,然后用此表达式在列存储数据库中进行筛选,选出所有符合条件的用户主键。

由于在建立列存储数据库时,对列存储数据库进行了压缩,因此在设定筛选条件从列存储数据库中查找符合筛选条件的用户主键时需要相应的解压算法。

在本实施例中,针对字典编码算法进行压缩的解压算法如下:首先从字典表里面找出筛选条件对应的编码,然后用编码到列表里面进行匹配,匹配上的位置设置为“1”,未匹配的位置设置为“0”,然后把不同列的匹配结果进行位运算,不同列中同一位置处均匹配的为查询的结果。比如:以两列为例,一列的匹配情况为0、0、1、0、0、1、0,另一列的匹配情况为1、0、0、0、0、1、0,只有第6位均能匹配,因此查询结果为0、0、0、0、0、1、0。

在本实施例中,找出符合条件的用户主键后,需要对这些用户主键集合进行抽样,以减少在键值存储数据库中进行查找时的检索数量。根据实际需要,选取合适的抽样参数,根据设定的抽样参数对用户主键集合进行抽样,得到用于进行人群画像的用户主键集合。

步骤4,根据步骤3中得到的用户主键在键值存储数据库中得到与每个用户主键相对应的所有属性。

在本实施例中,在键值存储数据库中进行查找的用户主键为步骤3中得到的对符合筛选条件的用户主键进行抽样后的用于进行人群画像的用户主键。

当然,步骤3中,如果没有对符合筛选条件的用户主键进行抽样,那么在键值存储数据库中进行查找的用户主键为所有符合筛选条件的用户主键。

根据用户主键在键值存储数据库中得到相对应的用户数据的方法如下:

步骤4-1,根据用户主键的数量创建线程池。

步骤4-2,在线程池中多线程执行命令,命令为“根据用户主键获取用户的value值”,获取与每个key(即每个用户主键)相对应对的用户的value值,从而得到用于进行人群画像计算的所有用户的属性。

步骤5,根据步骤4中得到的所有用户的属性进行人群画像。

如图2所示,基于列存储和键值存储的人群画像系统100包括:数据收集模块10、列存储模块20、键值存储模块30、设定模块50、计算模块60。

数据收集模块10用于收集用户数据。

列存储模块20用于将数据收集模块10收集的用户数据以列存储方式存储。

键值存储模块30用于将数据收集模块10收集的用户数据以键值存储方式存储。

设定模块50用于设定筛选条件。

计算模块60首先根据筛选条件在列式存储模块20中查找到符合条件的用户主键,然后根据得到的用户主键在键值存储模块30得到与用户主键相对应的用户数据,最后根据得到的用户数据进行人群画像。

在本实施例中,计算模块60中还包含抽样单元61,设定模块50还用于设定抽样参数,抽样单元61根据抽样参数对根据筛选条件在列式存储模块20中查找到的符合条件的用户主键集合进行抽样,得到用于进行人群画像的用户主键集合,然后计算模块60根据抽样得到的用于进行人群画像的用户主键集合在键值存储模块30得到与用户主键相对应的用户数据。

基于列存储和键值存储的人群画像系统100还包括:更新模块40,更新模块40用于定期对列存储模块20和键值存储模块30中存储的数据进行更新。

上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1