CN112287015B - 画像生成系统及其方法、电子设备及存储介质 - Google Patents
画像生成系统及其方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112287015B CN112287015B CN202011097970.XA CN202011097970A CN112287015B CN 112287015 B CN112287015 B CN 112287015B CN 202011097970 A CN202011097970 A CN 202011097970A CN 112287015 B CN112287015 B CN 112287015B
- Authority
- CN
- China
- Prior art keywords
- data
- rule
- user
- label
- model
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 81
- 230000010354 integration Effects 0.000 claims abstract description 44
- 238000013500 data storage Methods 0.000 claims abstract description 39
- 238000013499 data model Methods 0.000 claims abstract description 38
- 238000000605 extraction Methods 0.000 claims abstract description 35
- 238000004364 calculation method Methods 0.000 claims abstract description 32
- 230000006399 behavior Effects 0.000 claims description 78
- 230000004044 response Effects 0.000 claims description 20
- 230000001360 synchronised effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims 3
- 238000013461 design Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013075 data extraction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 230000003542 behavioural effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供一种画像生成系统及其方法、电子设备及存储介质,包括:多源数据整合抽取层用于获取并根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层;数据存储层用于接收并分别按照指定的数据模型存储由所述多数据源整合抽取层传输的多源数据;标签计算层用于采用drools规则引擎,将标签加工规则进行解析,转换为presto查询组件,利用所述presto查询组件对数据进行加工,将得到的用户的多维度标签结果保存至属性表;标签应用层,用于根据所述属性表,生成提供用户检索和标签检索的用户画像。通过本发明实施例可降低用户画像多数据源统一的难度和提高数据整合的准确性,保障最终产出画像数据的质量。
Description
技术领域
本发明涉及一种画像生成系统及其方法、电子设备及存储介质,属于用户网络画像技术领域。
背景技术
在当前阶段,随着互联网的快速发展,用户在网络产生的行为越来越多,同时也越来越分散。为了更深入的研究用户,了解用户的特征和需求就必须通过用户画像的方式,从海量、离散的数据中总结归纳用户,将其分散、不可解读的行为归纳为可理解的用户标签,通过不同维度的标签组合去对用户进行画像,发掘用户的特征和需求,便于去更好的营销、运营用户,给用户提供更合适的服务与产品。
当前进行用户画像建设,在小规模用户量和单一数据来源的场景下,通过mysql等轻量级数据库编写脚本进行画像标签的加工即可;而在海量用户且多个不同数据来源、数据格式的场景,则需要进行大数据平台建设,通过不同的大数据组件对接不同的数据源。在各组件内完成相应的标签加工后在进行集中的整合形成全面的用户画像。
在当前多种数据源并存的场景下,画像数据需要在多个组件间进行独立的计算,完成后再进行统一,一整套画像数据需要多方的参与,任何一处口径不统一则有可能造成画像数据结果不一致,影响其准确性。现有画像数据的加工完全依赖于etl和脚本的开发,需要大量的技术人力成本去支持、维护。画像数据加工的过程主要为多组离线计算,难以满足当前实时行为快速画像的需求。
发明内容
本发明实施例提供一种降低用户画像多数据源统一的难度和提高数据整合的准确性,保障最终产出画像数据的质量的画像生成系统及其方法、电子设备及存储介质。
本发明实施例提供一种画像生成系统,包括:多源数据整合抽取层、数据存储层、标签计算层和标签应用层,其中:
所述多源数据整合抽取层用于连接已有多源数据,获取并根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层;
所述数据存储层,连接所述多源数据整合抽取层,用于接收并分别按照指定的数据模型存储由所述多数据源整合抽取层传输的多源数据,所述指定的数据模型包括用于存储用户实时产生的行为类数据的行为模型以及用于存储用户相对固定的状态类数据的属性模型;
所述标签计算层,连接所述数据存储层,用于采用drools规则引擎,将标签加工规则进行解析,转换为presto查询组件,利用所述presto查询组件对所述行为模型以及属性模型中的数据进行加工,将得到的用户的多维度标签结果保存至属性表;
所述标签应用层,连接所述标签计算层,用于根据所述属性表,生成提供用户检索和标签检索的用户画像。
根据本发明实施例提供的所述的画像生成系统,其中,所述已有多源数据包括存储在mysql、oracle、Hdfs、hive、hbase或mongodb存储架构中的数据;
所述根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层具体包括:
配置数据源连接,创建工作流;
在相应的工作流中选择指定的数据源进行数据抽取、ETL;
配置工作流,实现数据抽取、ETL、导入标签库的自行调度。
根据本发明实施例提供的所述的画像生成系统,其中,所述实时产生的行为类数据包括网站、app、小程序产生的互动数据或后台业务系统产生的日志,所述互动数据包括交互、交易、浏览、登录、退出数据,所述日志包括订单、售后、投诉;所述相对固定的状态类数据包括性别、年龄、账户信息。
根据本发明实施例提供的所述的画像生成系统,其中,所述数据存储层包含kudu和hive,所述行为模型存放于kudu中,所述行为模型包含的关键因素包括:用户id、发生时间、行为名称、行为属性;以用户id、发生时间、行为名称进行索引,一条记录表示一个用户在一发生时间产生一个行为;所述属性模型存放于hive中,以用户id为主键创建索引,每一列存储一个属性,当表宽度超过300个时创建新表,通过视图进行关联查询。
根据本发明实施例提供的所述的画像生成系统,其中,所述采用drools规则引擎,将标签加工规则进行解析具体包括读取具体的场景及规则,按照规则条件进行逻辑判断,当满足规则条件时,拉起相应的规则响应,规则响应为因子或事件,其中,所述drools规则引擎包含的数据模块包括场景、规则、规则条件、因子、规则响应、事件,
所述场景为业务需求的抽象,一个业务需求对应一个场景,一个场景由若干规则组成,用不同的规则组成时序和依赖关系以实现完整的业务需求;
所述规则由规则条件、因子及规则响应组成,由路由至所属场景的事件触发;
所述规则条件由因子构成,为一个布尔表达式,规则条件的执行结果直接决定是否执行规则响应;
所述因子按不同来源,划分为基础因子、时间窗因子和第三方因子,基础因子来源于事件,时间窗因子来源于时间窗模块获取的时间窗数据,第三方因子来源于第三方服务;
所述规则响应为规则执行成功后的动作;
所述事件为系统的基础数据单元,划分为同步事件和异步事件两种类型;同步事件按规则路由后,不调用定时触达模块,顺序执行;异步事件调用定时触达模块,延后执行。
根据本发明实施例提供的所述的画像生成系统,其中,所述标签应用层包含delta临时数据库,用于存储实时增量产生的数据,支持数据的实时消费,Delta临时数据库周期性进行merge操作,合并到行转列后的用户属性表中。
根据本发明实施例提供的所述的画像生成系统,其中,所述标签计算层还用于根据相同字段分桶且分桶数量相同的两个表,在通过字段进行join时,两个表相同的字段分到相同id的桶里,独立进行join以及聚合计算,每当一个桶的数据计算完成后,立即把这个桶所占用的内存释放掉。
本发明实施例还提供了一种画像生成方法,包括:
利用一多源数据整合抽取层连接已有多源数据,获取并根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层;
利用一数据存储层接收并分别按照指定的数据模型存储由所述多数据源整合抽取层传输的多源数据,所述指定的数据模型包括用于存储用户实时产生的行为类数据的行为模型以及用于存储用户相对固定的状态类数据的属性模型;
利用一标签计算层采用drools规则引擎,将标签加工规则进行解析,转换为presto查询组件,利用所述presto查询组件对所述行为模型以及属性模型中的数据进行加工,将得到的用户的多维度标签结果保存至属性表;
利用一标签应用层根据所述属性表,生成提供用户检索和标签检索的用户画像。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的画像生成方法的步骤。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的画像生成方法的步骤。
通过本发明实施例,可以大大降低用户画像多数据源统一的难度和提高数据整合的准确性,保障最终产出画像数据的质量。同时,通过统一的规则引擎和可视化的标签加工配置,则大大降低了在于标签加工投入的人力,可以快速的在统一数据源的基础上落地标签加工。多源数据整合抽取层主要解决360度用户画像需要各类数据源整合的场景,在本发明中通过抽象数据源连接、自定义工作流及实例化数据处理模块的方法,降低了数据整合的难度,提升数据整合及后续画像数据加工的准确度。主要解决了现有用户画像系统在当前多种数据源并存的场景下,画像数据需要在多个组件间进行独立的计算,完成后再进行统一,一整套画像数据需要多方的参与,任何一处口径不统一则有可能造成画像数据结果不一致,影响其准确性的问题。数据存储层包含主要负责接受有多数据源整合抽取层传输的数据,支持两类数据模型,行为模型和属性模型。存储每一个行为、每一个行为属性做单独列设计,提升查询性能。标签计算层通过presto查询引擎和规则引擎将各类etl、加工算法进行规则化转译,通过前端可视化的规则配置支持进行快速的画像加工,解决了现有画像数据的加工完全依赖于etl和脚本的开发,需要大量的技术人力成本去支持、维护的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的画像生成系统的示意图;
图2是本发明实施例提供的画像生成方法的示意图;
图3是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的画像生成系统的示意图,如图1所示,包括:多源数据整合抽取层10、数据存储层20、标签计算层30和标签应用层40,其中:
所述多源数据整合抽取层10用于连接已有多源数据,获取并根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层20;
已有多源数据可以是存储在不同的数据库中,包括但不限于存储在mysql、oracle、Hdfs、hive、hbase或mongodb等市场主流的存储架构中的数据;多源数据整合抽取层10用于收集不同来源渠道的用户数据,需要具备不同数据库的连接能力,因此在多数据源抽取层的实现上,需要对市场上常见的数据库(包括不限于mysql、oracl、es、hdfs、hive、hbase等),实现连接方法的抽象,针对每一种数据库抽象其连接参数、加密方法等,在前端进行统一的配置管理。
所述根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层20具体包括:
配置数据源连接,创建工作流,实现多个数据源的对接。本案实施例通过多种数据源类型的封装,支持注册不同的数据源,配置数据库连接后即可在相应的工作流中选择指定的数据源进行数据抽取、etl等操作。
在相应的工作流中选择指定的数据源进行数据抽取、ETL;
配置工作流,实现数据抽取、ETL、导入标签库的自行调度。
也就是说,多数据源整合抽取层同时支持自定义工作流串联数据库连接、数据抽取、数据etl实例化模块的能力以及对工作流进行调度的能力,解决连接数据源后的数据抽取问题。当完成数据源连接后,通过工作流对数据加工模块进行实例化,通过逻辑判断连接不同的执行分支,以此完成整个的加工、抽取。
本发明实施例通过抽象整个数据处理流程,将数据源、数据处理、逻辑判断等进行模块化处理,通过创建工作流,通过示例化相关模块进行配置数据源或数据处理规则算法,创建完整的数据处理流程,串联各个数据源按照指定的数据模型进行加工导入。
所述数据存储层20,连接所述多源数据整合抽取层10,用于接收并分别按照指定的数据模型存储由所述多数据源整合抽取层传输的多源数据,所述指定的数据模型包括用于存储用户实时产生的行为类数据的行为模型以及用于存储用户相对固定的状态类数据的属性模型;
多个数据源整合依赖于数据存储模型的设计,为能够适配更多的数据源类型以及后续标签加工、应用的效率考虑。本发明实施例设计了行为模型以及属性模型用于用户数据的存储,将用户相关的数据归纳为两种类型,一种为用户实时产生的包含时间、主体、行为、对象的行为类数据,存入行为模型中,此类型数据包括不限于网站、app、小程序等各端产生的交互、交易、浏览、登录、退出等数据,同时也可以为后台业务系统产生的订单、售后、投诉等日志。另外一种属于相对固定的状态数据,如会员的性别、年龄、账户等数据,这样的数据将以用户id为主体整合所有的最终状态数据,通过调度进行增量的更新。
所述数据存储层20包含kudu和hive,所述行为模型存放于kudu中,所述行为模型包含的关键因素包括:用户id、发生时间、行为名称、行为属性;以用户id、发生时间、行为名称进行索引,一条记录表示一个用户在一发生时间产生一个行为;所述属性模型存放于hive中,以用户id为主键创建索引,每一列存储一个属性,当表宽度超过300个时创建新表,通过视图进行关联查询。
通过利用一种统一的用户行为模型、属性模型,将用户在网页、移动互联网设备、线下终端等渠道采集的用户行为数据;在业务后台产生的交易、资产等状态数据;原有业务逻辑留存、整合的如用户信息等属性数据,利用统一的调度、归一化工具将数据进行整合。
其中行为数据模型需要包含如下几个关键要素:Who、when、where、what、content,具体内容如下表1所示:
表1
每条完整的行为记录均包含如上的五种要素,每条记录代表着一次行为的产生。行为数据以每天作为分区提升整个查询、应用的性能。
属性模型则一条记录记录用户的所有属性,采用kudu进行存储,在超长列的场景下仍旧可以提供卓越的查询性能,属性模型仅记录用户属性的最终状态,每个用户仅存在一条记录。
数据存储层包含kudu和hive,主要负责接受有多数据源整合抽取层传输的数据,包括不同来源的行为数据(如交易、登录、点击、浏览等)、用户属性数据(如性别、年龄、职业等)。数据存储层支持两类数据模型,行为模型和属性模型。行为模型存放于kudu中,以用户id、日期、行为名称进行索引,一条记录代表某个用户在某一时间产生某一个行为。行为模型需要包含用户id、发生时间、行为名称、行为属性四个关键要素,行为发生地点非必须。存储每一个行为、每一个行为属性做单独列设计,提升查询性能。属性模型存放于hive中,以用户id为主键创建索引,每一列存储一个属性,当表宽度超过300个时创建新表,通过视图进行关联查询。
标签计算层30,连接所述数据存储层20,用于采用drools规则引擎,将标签加工规则进行解析,转换为presto查询组件,利用所述presto查询组件对所述行为模型以及属性模型中的数据进行加工,将得到的用户的多维度标签结果保存至属性表;
在本发明实施例中为提升在海量数据场景下的查询性能,采用分桶的形式降低单次查询的机器负载。采用drools规则引擎,将前端配置的标签加工规则进行解析,转换为prestosql,利用查询引擎进行加工计算,将最终标签结果保存至属性表。通过数据源统一模型的设计,大大提高了数据可读性,减少了为使用多个数据源加工时临时的etl过程,让非技术人员使用界面配置进行标签加工成为可能。
前端标签规则配置将标签加工抽象为了几类方法,通过配置行为、属性的逻辑关系实现标签的加工。如进行满足某些行为且具备某些属性的标签加工场景,前端可按照需求增加不同的逻辑块,选择行为模型或用户模型中的字段进行逻辑判断配置,应用端读取前端逻辑关系,将标签加工规则解析到规则引擎中,由drools规则引擎判断用户应该采用何种规则进行标签加工。最后,按照指定的逻辑规则解析为presto sql,使用查询引擎进行标签加工,将结果数据存储至用户属性表,完成整个标签的加工过程。
标签计算层查询引擎部分主要负责接收标签加工、应用指令,连接数据存储层的行为、属性数据进行计算。标签计算层以presto作为查询组件,连接kudu、hive查询行为和属性数据,在kudu查询场景下需要实现kudu连接器,保障查询kudu的场景更为高效。同时根据相同字段(如orderid)分桶(bucketing)且分桶数量相同的两个表(如orders,orders_item),在通过orderid进行join(Join,程序语言,字符串,指返回一个字符串,此字符串由包含在数组中的许多子字符串联接创建。)的时候,由于两个表相同的orderid都分到相同id的桶里,所以是可以独立进行join以及聚合计算的(参考MapReduer的partition过程)。这样,每当一个桶的数据计算完成后,可以立即把这个桶所占用的内存释放掉,因此,通过控制并行处理桶的数量可以限制内存的占用。
计算理论占用的内存:优化后的内存占用=原内存占用/表的桶数量*并行处理桶的数量
规则引擎部分主要负责将前端的加工条件转译为规则,规则引擎是处理复杂规则集合的引擎。通过输入一些基础事件,以推演或者归纳等方式,得到最终的执行结果。规则引擎的核心作用在于将复杂、易变的规则从系统中抽离出来,由灵活可变的规则来描述业务需求。在实现过程中主要设计以下数据模型:
场景:业务需求的抽象,一个业务需求对应一个场景,一个场景由若干规则组成。用不同的规则组成时序和依赖关系以实现完整的业务需求。
规则:规则由规则条件及因子组成,由路由至所属场景的事件触发,规则由规则条件、因子及规则响应组成。
规则条件:规则条件由因子构成,为一个布尔表达式。规则条件的执行结果直接决定是否执行规则响应。
因子:因子是规则条件的基础组成部分,按不同来源,划分为基础因子、时间窗因子和第三方因子。基础因子来源于事件,时间窗因子来源于时间窗模块获取的时间窗数据,第三方因子来源于第三方服务,如用户画像服务等。
规则响应:规则执行成功后的动作,如将复合事件下发给运营业务系统,或发送异步事件进行后续规则判断等。
事件:事件为系统的基础数据单元,划分为同步事件和异步事件两种类型。同步事件按规则路由后,不调用定时触达模块,顺序执行;异步事件调用定时触达模块,延后执行。
本功能首先读取具体的场景及规则,按照规则条件进行逻辑判断,当满足规则条件时,拉起相应的规则响应,规则响应可以为因子(如购买的商品、消费的金额等)也可以是事件(如推荐、提醒等)。
标签应用层40,连接所述标签计算层30,用于根据所述属性表,生成提供用户检索和标签检索的用户画像。
标签应用层通过抽象的规则引擎对接整合的统一数据源,通过可视化的规则、算法配置界面,实现用户标签的加工、管理工作。标签应用层40主要提供用户检索和标签检索两种能力,用户检索的具体实现方法是通过api的形式通过接受数据加工层产生的标签数据作为输入条件,通过集合计算的方式获取用户列表并进行返回,其中当涉及到使用全集查询的时候,需要考虑对输入的字段进行分桶设计,并进行分桶数量的优化满足查询性能。
而在标签检索的实现上,由于需要应对高并发、低延时的查询效率,所以需要对数据存储层的属性数据进行行转列操作,作为标签检索的查询数据源。增加delta临时数据库,用于存储实时增量产生的数据,支持数据的实时消费。Delta临时数据库每天进行merge操作,合并到行转列后的用户属性表中。标签应用层通过delta数据缓存的设计,将实时增量的数据进行缓存处理,支持进行实时的数据消费,解决了画像数据加工的过程主要为多组离线计算,难以满足当前实时行为快速画像的需求的问题。
在标签应用层,通过api服务的方式提供标签的查询、提取服务。在批量标签条件查询的场景直接查询kudu中的标签数据,通过这种方式满足业务端通过标签条件筛选满足条件的人群或查询画像分布数据,如性别、年龄分布、RFM分层分布等。
而在高qps、高并发的营销系统查询场景下,主要是通过用户id查询指定的标签,此场景基本要求查询效率在50ms以内,并发在2000qps,整体对于查询引擎的负担很重。因此为针对解决此类应用场景,将标签数据进行行列转置存储于hive数据库中,每日新增数据单独进行存储,随时进行新增数据的预热,进行索引,索引字段包含用户id、分区、标签id。
通过本发明实施例,可以大大降低用户画像多数据源统一的难度和提高数据整合的准确性,保障最终产出画像数据的质量。同时,通过统一的规则引擎和可视化的标签加工配置,则大大降低了在于标签加工投入的人力,可以快速的在统一数据源的基础上落地标签加工。多源数据整合抽取层主要解决360度用户画像需要各类数据源整合的场景,在本发明中通过抽象数据源连接、自定义工作流及实例化数据处理模块的方法,大大降低了数据整合的难度,提升数据整合及后续画像数据加工的准确度。主要解决了现有用户画像系统在当前多种数据源并存的场景下,画像数据需要在多个组件间进行独立的计算,完成后再进行统一,一整套画像数据需要多方的参与,任何一处口径不统一则有可能造成画像数据结果不一致,影响其准确性的问题。数据存储层包含主要负责接受有多数据源整合抽取层传输的数据,支持两类数据模型,行为模型和属性模型。存储每一个行为、每一个行为属性做单独列设计,提升查询性能。标签计算层通过presto查询引擎和规则引擎将各类etl、加工算法进行规则化转译,通过前端可视化的规则配置支持进行快速的画像加工,解决了现有画像数据的加工完全依赖于etl和脚本的开发,需要大量的技术人力成本去支持、维护的问题。
如图2所示,本发明实施例还提供了一种画像生成方法,包括:
S1:利用一多源数据整合抽取层10连接已有多源数据,获取并根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层20;
S2:利用一数据存储层20接收并分别按照指定的数据模型存储由所述多数据源整合抽取层传输的多源数据,所述指定的数据模型包括用于存储用户实时产生的行为类数据的行为模型以及用于存储用户相对固定的状态类数据的属性模型;
S3:利用一标签计算层30采用drools规则引擎,将标签加工规则进行解析,转换为presto查询组件,利用所述presto查询组件对所述行为模型以及属性模型中的数据进行加工,将得到的用户的多维度标签结果保存至属性表;
S4:利用一标签应用层40根据所述属性表,生成提供用户检索和标签检索的用户画像。
本案实施例的画像生成方法的工作原理与上述实施例的画像生成系统是相应的,此处不再一一赘述。
图3示例了一种电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行一种画像生成方法,该方法包括:
S1:利用一多源数据整合抽取层10连接已有多源数据,获取并根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层20;
S2:利用一数据存储层20接收并分别按照指定的数据模型存储由所述多数据源整合抽取层传输的多源数据,所述指定的数据模型包括用于存储用户实时产生的行为类数据的行为模型以及用于存储用户相对固定的状态类数据的属性模型;
S3:利用一标签计算层30采用drools规则引擎,将标签加工规则进行解析,转换为presto查询组件,利用所述presto查询组件对所述行为模型以及属性模型中的数据进行加工,将得到的用户的多维度标签结果保存至属性表;
S4:利用一标签应用层40根据所述属性表,生成提供用户检索和标签检索的用户画像。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行一种画像生成方法,该方法包括:
S1:利用一多源数据整合抽取层10连接已有多源数据,获取并根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层20;
S2:利用一数据存储层20接收并分别按照指定的数据模型存储由所述多数据源整合抽取层传输的多源数据,所述指定的数据模型包括用于存储用户实时产生的行为类数据的行为模型以及用于存储用户相对固定的状态类数据的属性模型;
S3:利用一标签计算层30采用drools规则引擎,将标签加工规则进行解析,转换为presto查询组件,利用所述presto查询组件对所述行为模型以及属性模型中的数据进行加工,将得到的用户的多维度标签结果保存至属性表;
S4:利用一标签应用层40根据所述属性表,生成提供用户检索和标签检索的用户画像。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行一种画像生成方法,该方法包括:
S1:利用一多源数据整合抽取层10连接已有多源数据,获取并根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层20;
S2:利用一数据存储层20接收并分别按照指定的数据模型存储由所述多数据源整合抽取层传输的多源数据,所述指定的数据模型包括用于存储用户实时产生的行为类数据的行为模型以及用于存储用户相对固定的状态类数据的属性模型;
S3:利用一标签计算层30采用drools规则引擎,将标签加工规则进行解析,转换为presto查询组件,利用所述presto查询组件对所述行为模型以及属性模型中的数据进行加工,将得到的用户的多维度标签结果保存至属性表;
S4:利用一标签应用层40根据所述属性表,生成提供用户检索和标签检索的用户画像。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种画像生成系统,其特征在于,包括:多源数据整合抽取层、数据存储层、标签计算层和标签应用层,其中:
所述多源数据整合抽取层用于连接已有多源数据,获取并根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层;
所述数据存储层,连接所述多源数据整合抽取层,用于接收并分别按照指定的数据模型存储由所述多源数据整合抽取层传输的多源数据,所述指定的数据模型包括用于存储用户实时产生的行为类数据的行为模型以及用于存储用户的状态类数据的属性模型;
所述标签计算层,连接所述数据存储层,用于采用drools规则引擎,将标签加工规则进行解析,转换为presto查询组件,利用所述presto查询组件对所述行为模型以及属性模型中的数据进行加工,将得到的用户的多维度标签结果保存至属性表;所述采用drools规则引擎,将标签加工规则进行解析具体包括:读取具体的场景及规则,按照规则条件进行逻辑判断,当满足规则条件时,拉起相应的规则响应,规则响应为因子或事件,其中,所述drools规则引擎包含的数据模块包括场景、规则和事件;所述场景为业务需求的抽象,一个业务需求对应一个场景,一个场景由若干规则组成,用不同的规则组成时序和依赖关系以实现完整的业务需求;所述规则由规则条件及规则响应组成,由路由至所属场景的事件触发;所述规则条件由因子构成,为一个布尔表达式,规则条件的执行结果直接决定是否执行规则响应;所述因子按不同来源,划分为基础因子、时间窗因子和第三方因子,基础因子来源于事件,时间窗因子来源于时间窗模块获取的时间窗数据,第三方因子来源于第三方服务;所述规则响应为规则执行成功后的动作;所述事件为系统的基础数据单元,划分为同步事件和异步事件两种类型;同步事件按规则路由后,不调用定时触达模块,顺序执行;异步事件调用定时触达模块,延后执行;
所述标签应用层,连接所述标签计算层,用于根据所述属性表,生成提供用户检索和标签检索的用户画像。
2.根据权利要求1所述的画像生成系统,其特征在于,所述已有多源数据包括存储在mysql、oracle、Hdfs、hive、hbase或mongodb存储架构中的数据;
所述根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层具体包括:
配置数据源连接,创建工作流;
在相应的工作流中选择指定的数据源进行ETL;
配置工作流,实现ETL和导入标签库的自行调度。
3.根据权利要求1所述的画像生成系统,其特征在于,所述实时产生的行为类数据包括网站、app、小程序产生的互动数据或后台业务系统产生的日志,所述互动数据包括交互、交易、浏览、登录、退出数据,所述日志包括订单、售后、投诉;所述状态类数据包括性别、年龄、账户信息。
4.根据权利要求1所述的画像生成系统,其特征在于,所述数据存储层包含kudu和hive,所述行为模型存放于kudu中,所述行为模型包含的关键因素包括:用户id、发生时间、行为名称、行为属性;以用户id、发生时间、行为名称进行索引,一条记录表示一个用户在一发生时间产生一个行为;所述属性模型存放于hive中,以用户id为主键创建索引,每一列存储一个属性,当表宽度超过300个时创建新表,通过视图进行关联查询。
5.根据权利要求1所述的画像生成系统,其特征在于,所述标签应用层包含delta临时数据库,用于存储实时增量产生的数据,支持数据的实时消费,Delta临时数据库周期性进行merge操作,合并到行转列后的用户属性表中。
6.根据权利要求1所述的画像生成系统,其特征在于,所述标签计算层还用于根据相同字段分桶且分桶数量相同的两个表,在通过字段进行join时,两个表相同的字段分到相同id的桶里,独立进行join以及聚合计算,每当一个桶的数据计算完成后,立即把这个桶所占用的内存释放掉。
7.一种画像生成方法,其特征在于,包括:
利用一多源数据整合抽取层连接已有多源数据,获取并根据多源数据所属类型将多源数据分别按照指定的数据模型抽取至数据存储层;
利用一数据存储层接收并分别按照指定的数据模型存储由所述多源数据整合抽取层传输的多源数据,所述指定的数据模型包括用于存储用户实时产生的行为类数据的行为模型以及用于存储用户的状态类数据的属性模型;
利用一标签计算层采用drools规则引擎,将标签加工规则进行解析,转换为presto查询组件,利用所述presto查询组件对所述行为模型以及属性模型中的数据进行加工,将得到的用户的多维度标签结果保存至属性表;所述采用drools规则引擎,将标签加工规则进行解析具体包括:读取具体的场景及规则,按照规则条件进行逻辑判断,当满足规则条件时,拉起相应的规则响应,规则响应为因子或事件,其中,所述drools规则引擎包含的数据模块包括场景、规则和事件;所述场景为业务需求的抽象,一个业务需求对应一个场景,一个场景由若干规则组成,用不同的规则组成时序和依赖关系以实现完整的业务需求;所述规则由规则条件及规则响应组成,由路由至所属场景的事件触发;所述规则条件由因子构成,为一个布尔表达式,规则条件的执行结果直接决定是否执行规则响应;所述因子按不同来源,划分为基础因子、时间窗因子和第三方因子,基础因子来源于事件,时间窗因子来源于时间窗模块获取的时间窗数据,第三方因子来源于第三方服务;所述规则响应为规则执行成功后的动作;所述事件为系统的基础数据单元,划分为同步事件和异步事件两种类型;同步事件按规则路由后,不调用定时触达模块,顺序执行;异步事件调用定时触达模块,延后执行;
利用一标签应用层根据所述属性表,生成提供用户检索和标签检索的用户画像。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求7所述的画像生成方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求7所述的画像生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011097970.XA CN112287015B (zh) | 2020-10-14 | 2020-10-14 | 画像生成系统及其方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011097970.XA CN112287015B (zh) | 2020-10-14 | 2020-10-14 | 画像生成系统及其方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112287015A CN112287015A (zh) | 2021-01-29 |
CN112287015B true CN112287015B (zh) | 2024-03-01 |
Family
ID=74497032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011097970.XA Active CN112287015B (zh) | 2020-10-14 | 2020-10-14 | 画像生成系统及其方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112287015B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032779B (zh) * | 2021-02-04 | 2024-01-02 | 中国科学院软件研究所 | 一种基于行为参数布尔表达式规则的多行为联合匹配方法和装置 |
CN113076382B (zh) * | 2021-06-07 | 2021-09-17 | 北京明略软件系统有限公司 | 用户标签的生成方法、装置、电子设备及可读存储介质 |
CN113590660A (zh) * | 2021-07-23 | 2021-11-02 | 山东派盟网络科技有限公司 | 一种数据自助查询方法、装置以及电子设备 |
CN113641654B (zh) * | 2021-08-16 | 2024-04-19 | 神州数码融信软件有限公司 | 一种基于实时事件的营销处置规则引擎方法 |
CN113868574A (zh) * | 2021-09-18 | 2021-12-31 | 北京仁科互动网络技术有限公司 | 基于Saas模式的标签服务系统、方法、设备及介质 |
CN114334052B (zh) * | 2021-11-19 | 2022-09-13 | 望海康信(北京)科技股份公司 | 病案首页生成系统、方法及相应设备和存储介质 |
CN114006865B (zh) * | 2021-12-28 | 2022-04-15 | 上海领健信息技术有限公司 | 基于多维度指标的用户流量控制系统、方法、终端及介质 |
CN116089518A (zh) * | 2023-04-07 | 2023-05-09 | 广州思迈特软件有限公司 | 一种数据模型抽取方法及系统、终端、介质 |
CN118228813A (zh) * | 2024-03-14 | 2024-06-21 | 上海森亿医疗科技有限公司 | 用于规则引擎的源数据获取方法、系统以及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162333A (zh) * | 2019-05-10 | 2019-08-23 | 中信银行股份有限公司 | 基于Drools规则引擎的多业务场景策略管理平台 |
CN110188144A (zh) * | 2019-01-15 | 2019-08-30 | 热茶云科技(北京)有限公司 | 一种用户数据数字化处理方法、装置及设备 |
CN111475509A (zh) * | 2020-04-03 | 2020-07-31 | 李俊宏 | 一种基于大数据的用户画像和多维分析系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595231B2 (en) * | 2007-04-26 | 2013-11-26 | International Business Machines Corporation | Ruleset generation for multiple entities with multiple data values per attribute |
-
2020
- 2020-10-14 CN CN202011097970.XA patent/CN112287015B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188144A (zh) * | 2019-01-15 | 2019-08-30 | 热茶云科技(北京)有限公司 | 一种用户数据数字化处理方法、装置及设备 |
CN110162333A (zh) * | 2019-05-10 | 2019-08-23 | 中信银行股份有限公司 | 基于Drools规则引擎的多业务场景策略管理平台 |
CN111475509A (zh) * | 2020-04-03 | 2020-07-31 | 李俊宏 | 一种基于大数据的用户画像和多维分析系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112287015A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112287015B (zh) | 画像生成系统及其方法、电子设备及存储介质 | |
US20220066772A1 (en) | System and Method for Code and Data Versioning in Computerized Data Modeling and Analysis | |
Babu et al. | Exploring big data-driven innovation in the manufacturing sector: evidence from UK firms | |
Li et al. | Big data in product lifecycle management | |
US8340995B2 (en) | Method and system of using artifacts to identify elements of a component business model | |
CN106067080B (zh) | 提供可配置工作流能力 | |
CN109716320A (zh) | 用于分布式事件处理系统的图生成 | |
CN109472568A (zh) | 一种区块链交易方法、装置、管理系统、设备及存储介质 | |
CN109997126A (zh) | 事件驱动提取、变换、加载(etl)处理 | |
CN102982050A (zh) | 呈现基于时间的动作信息 | |
WO2018236886A1 (en) | SYSTEM AND METHOD FOR MANAGING CODE AND DATA VERSIONS IN COMPUTERIZED DATA MODELING AND ANALYSIS | |
US9043344B1 (en) | Data mining and model generation using an in-database analytic flow generator | |
CN110457333B (zh) | 数据实时更新方法、装置及计算机可读存储介质 | |
CN108171528A (zh) | 一种归因方法及归因系统 | |
CN110363485A (zh) | 智能社交活动创建方法及装置 | |
Reschenhofer et al. | Lessons learned in aligning data and model evolution in collaborative information systems | |
Kunchala et al. | An approach to merge collaborating processes of an inter-organizational business process for artifact lifecycle synthesis | |
US20100251207A1 (en) | Framework for variation oriented analysis for service-oriented architecture | |
M’baba et al. | Process mining for artifact-centric blockchain applications | |
CN117236624A (zh) | 一种基于动态图的Issue修复者推荐方法与装置 | |
CN108255920A (zh) | 机构名称检索式的显示方法、装置、设备及存储介质 | |
CN116610667A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
António et al. | Adapting the i* framework for software product lines | |
US20140149186A1 (en) | Method and system of using artifacts to identify elements of a component business model | |
US20130245804A1 (en) | Network based calculations for planning and decision support tasks |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 18, 1st Floor, Building 29, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing, 100015 Applicant after: Beijing Analysys Digital Intelligence Technology Co.,Ltd. Address before: 100015 3rd floor, block b12c, Hengtong business park, 10 Jiuxianqiao Road, Chaoyang District, Beijing Applicant before: BEIJING ANALYSYS THINK TANK NETWORK TECHNOLOGY Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant |