(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210651106.2
(22)申请日 2022.06.09
(71)申请人 国网绿色能源有限公司
地址 100053 北京市西城区白广路二条1号
综合楼9-11层
申请人 国网综合能源服 务集团有限公司
国家电网有限公司
(72)发明人 佘家驹 马胜奎 刘超 肖龙
靳京 李昕 吴泽成
(74)专利代理 机构 北京立成智业专利代理事务
所(普通合伙) 11310
专利代理师 张江涵
(51)Int.Cl.
G06F 16/2458(2019.01)
G06F 16/28(2019.01)G06F 16/23(2019.01)
G06F 16/9535(2019.01)
(54)发明名称
用户画像标签数据的处 理方法
(57)摘要
一种用户画像标签数据 的处理方法, 包括:
生成用于存储用户画像标签的数据库, 其中所述
用于存储用户画 像标签的数据库至少包括: 用于
存储原始数据的原始数据实时表、 用于存储用户
数据的用户字典表、 用于存储用户以及对应的用
户画像标签的用户标签表; 其中所述原始数据实
时表用于供应用服务写入新产生的用户id和用
户画像标签id; 且所述原始数据实时表还用于将
原始数据增量聚合到用户标签表; 其中所述用户
字典表用于存储用户id; 其中所述用户标签表以
标签tag_id为维度, 用于标识出每一用户对应的
用户画像标签; 其中该用户标签表用于为系统提
供检索服 务。
权利要求书2页 说明书6页 附图1页
CN 114925117 A
2022.08.19
CN 114925117 A
1.一种用户画像标签数据的处 理方法, 包括:
生成用于存储用户画像标签的数据库, 其中所述用于存储用户画像标签的数据库至少
包括: 用于存储原始数据的原始数据实时表、 用于存储用户数据的用户字典表、 用于存储用
户以及对应的用户画像标签的用户标签表;
其中所述原始数据实时表用于供应用服务写入新产生的用户id和用户画像标签id; 且
所述原始数据实时表还用于将原始数据增量聚合到用户标签表; 其中所述原始数据实时表
至少包括:
字段主键id、 组织机构id、 用户id、 标签tag_id; 其中字段主键id采用自增int8类型, 其
中标签tag_id采用int类型; 且 所述原始数据实时表还包括两个布尔型标志位: 标识是否删
除, 是否合并用户字典表;
其中所述用户字典表至少包括以下字段:
用户的唯一标识user_id字段, 其中所述user_id字段为int类型, 每一user_id字段占8
字节空间;
用户组织机构 唯一标识org_id字段, 用于表示用户所属单位; 其中所述org_id字段为
int类型, 每一org_id字段占8字节空间; 当可用于数据表超过100GB后按组织机构分表, 行
号row_id为int类型, 占8字节空间;
其中所述用户标签表以标签tag_id为维度, 用于标识出每一用户对应的用户画像标
签; 其中该用户标签表用于为系统提供检索服 务;
其中该用户标签表包括以下字段: 自增整数主键id, 标签唯一标识, 组织机构唯一标
识、 用户唯一标识聚合列user_ids; 其中可变字串数据类型的用户唯一标识聚合列user_
ids采用varbit类型, 存 储用户字典表中按照ro wid顺位的比特字串。
2.根据权利要求1所述的用户画像标签数据的处理方法, 其特征在于, 所述方法还包
括: 将原始数据实时表中的用户原 始数据, 合并到用户标签表中; 具体包括:
获取用户实时数据表中的未更新的原始数据, 根据 未更新的原始数据 更新用户字典表
中的用户的唯一标识user_id字段, 然后再将数据增量聚合到用户标签表。
3.根据权利要求2所述的用户画像标签数据的处理方法, 其特征在于, 其中所述将原始
数据实时表中的用户原始数据合并到用户标签表中的步骤, 采用一个事务中完成; 即单独
标签为一个进程并发执 行。
4.根据权利要求3所述的用户画像标签数据的处理方法, 其特征在于, 其中所述将原始
数据实时表中的用户原 始数据合并到用户标签表中的步骤, 包括:
获取用户实时的原 始数据;
获取该原始数据中的用户画像标签, 判断该用户画像标签是否存在用户标签表中; 如
果不存在则在该用户标签表中增 加一列新的用户画像标签。
5.根据权利要求1所述的用户画像标签数据的处理方法, 其特征在于, 所述方法还包
括:
当查询方式为: 选择了一个tag, 需要列出所有具有该tag的用户; 则输入为tagid, 输出
为用户id; 此时需要对用户字典表和用户标签表联合进行查询:
首先使用set_bit_array自订函数, 对用户标签表对所需tag进行对齐, 即获取最大的
标签tag的用户r owid字串长度; 如果用户没有 此标签时, 则将该用户rowid字串中的末尾补权 利 要 求 书 1/2 页
2
CN 114925117 A
20; 然后对所选t ag取出的用户id在字典表 中的行号取并集, 得到符合所选t ag组的全部为1
的rowid的数组, 然后关联用户字典表取 得用户id。
6.根据权利要求1所述的用户画像标签数据的处理方法, 其特征在于, 所述方法还包
括:
当查询方式为: 列出一个用户的所有tag, 则通过get_bit函数, 取得所述所有tag中该
用户对应字串中的该用户ro wid位为1的标签。
7.根据权利要求1所述的用户画像标签数据的处理方法, 其特征在于, 所述用于存储用
户画像标签的数据库为以用户画像标签为基本维度生 成的基于PostGreSQL的数据库, 所述
数据库为通过变长位串来存储用户ID, 且所述数据库中存储有每一个用户ID对应的标签
tag; 其中所述数据库中存 储有每一用户ID对应的用户画像标签ta g。
8.根据权利要求1所述的用户画像标签数据的处理方法, 其特征在于, 所述方法还包
括: 创建用于 辅助读写存 储用户ID的可变长位串的函数, 其中所述 函数包括:
函数get_bit(varbit,int,int)returns varbit; 用于从指定位置开始获取N个BIT位,
返回varbit;
函数set_bit_array(varbit,int,int,int[])return s varbit; 用于将指定位置的BIT
设置为0|1, 超出原 始长度的部分填充0|1;
函数bit_count(varbit,int,int,int)returns int; 用于从第n位开始, 统计N个BIT位
中有多少个0或1, 如果 N超出长度, 则只计算已经存在的;
函数bit_count(varbit,int)returns int; 用于统计出整个比特串bit string中1|0
的个数;
函数bit_fill(int,int)returns varbit; 用于在比特串bit string中填充指定长度
的0或1;
函数bit_rand(int,int,float)returns varbit; 用于在比特串bit string中填充指
定长度的随机bit, 并指定1或0的随机比例;
函数bit_posite(varbit,int,boolean)returns int[ ]; 用于返回1|0的位置信息, 下
标从0开始计数,t rue时正向返回, false时反向返回;
函数bit_posite(varbit,int,int,boolean)returns int[ ]; 用于返回1|0的位置信
息, 下标从0开始计数, t rue时正向返回, false时反向返回, 返回N个为止;
函数get_bit_2(varbit,int,int)returns int; 用于返回指定位置的bit,下标从0开
始, 如果超出bit位置, 返回指定的0或1。权 利 要 求 书 2/2 页
3
CN 114925117 A
3
专利 用户画像标签数据的处理方法
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-24 00:49:34上传分享