CN113760406A - 数据处理的方法、装置、设备、存储介质及程序产品 - Google Patents
数据处理的方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN113760406A CN113760406A CN202110174911.6A CN202110174911A CN113760406A CN 113760406 A CN113760406 A CN 113760406A CN 202110174911 A CN202110174911 A CN 202110174911A CN 113760406 A CN113760406 A CN 113760406A
- Authority
- CN
- China
- Prior art keywords
- user
- hierarchical
- target
- rule
- function
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title description 12
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 155
- 230000006399 behavior Effects 0.000 claims description 52
- 239000013598 vector Substances 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 19
- 238000013519 translation Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 9
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种数据处理的方法、装置、设备、存储介质及程序产品,本发明的方法,通过响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据;对所述目标分层规则进行编译处理,生成所述目标分层规则对应的函数对象,能够将每一条规则自动编译处理成为对应的函数对象,根据所述目标用户的特征数据调用所述函数对象,即可得到对应的分层信息,大大提升了用户分层的效率和计算性能;即使分层规则动态发生变化,也可以通过加载新的分层规则完成对应的用户分层数据处理,提高了用户分层系统的稳定性和可扩展性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理的方法、装置、设备、存储介质及程序产品。
背景技术
在网络经济时代,电子商务平台需要提供数字化干预处理系统,以支持平台上物品的生产者对象(例如厂商或品牌商等)在电子商务平台持续地获取新用户、向用户推送新开发的物品的信息、或者有针对性地向用户推送用户可能感兴趣的物品的相关信息等。
电商平台有海量的活跃用户,用户在平台上与物品的广告、内容、相关活动、展示页等素材有浏览、观看、点击、获取、分享等不同层次的互动行为。为了能更加精准地向用户推送其感兴趣的信息,需要分析用户与该生产者对象的物品的互动行为数据,以了解用户与该生产者对象的关联紧密程度,对该生产者对象的用户进行分层。例如,4A用户分层模型可以根据用户与某一生产者互动行为的深浅程度,将用户分为认知(Aware)、吸引(Appeal)、行动(Act)和拥护(Advocate)四个层次,关联紧密程度逐次递进。基于用户分层模型能够进行更加精准地信息推送等。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:随着电子商务平台上用户的增长和物品品类与消费者之间关系的增多,用户分层时需要处理的数据量剧增。传统用于用户分层的数据处理方法采用规则解释的方法,遍历每一条规则,对每一条规则,绑定规则中的特征变量,解析规则表达式,并基于规则表达式计算布尔判定值。基于所有规则的计算结果确定用户最终分层信息,用户分层的效率低。
发明内容
本发明提供一种数据处理的方法、装置、设备、存储介质及程序产品,用以解决传统用于用户分层的数据处理方法效率低的问题。
本发明的一个方面是提供一种数据处理的方法,包括:
响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据;
对所述目标分层规则进行编译处理,生成所述目标分层规则对应的函数对象;
根据所述目标用户的特征数据调用所述函数对象,确定所述目标用户的分层信息。
本发明的另一个方面是提供一种数据处理的装置,包括:
用户特征计算模块,用于响应于生产者对象的用户分层请求信息,获取目标用户的特征数据;
分层规则翻译模块,用于响应于生产者对象的用户分层请求信息,获取目标分层规则,对所述目标分层规则进行编译处理,生成所述目标分层规则对应的函数对象;
用户分层计算模块,用于根据所述目标用户的特征数据调用所述函数对象,确定所述目标用户的分层信息。
本发明的另一个方面是提供一种数据处理设备,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器运行所述计算机程序时实现上述所述的方法。
本发明的另一个方面是提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。
本发明的另一个方面是提供一种计算机程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,数据处理设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得数据处理设备执行上述所述的方法。
本发明提供的数据处理的方法、装置、设备、存储介质及程序产品,通过响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据;对所述目标分层规则进行编译处理,生成所述目标分层规则对应的函数对象,能够将每一条规则自动编译处理成为对应的函数对象,根据所述目标用户的特征数据调用所述函数对象,即可得到对应的分层信息,大大提升了用户分层的效率和计算性能;即使分层规则动态发生变化,也可以通过加载新的分层规则完成对应的用户分层数据处理,提高了用户分层系统的稳定性和可扩展性。
附图说明
图1为本发明实施例提供的用户分层系统架构示意图;
图2为本发明实施例一提供的数据处理的方法流程图;
图3为本发明实施例二提供的数据处理的方法流程图;
图4为本发明实施例二提供的用户分层规则的编译处理的流程图;
图5为本发明实施例三提供的数据处理的装置的结构示意图;
图6为本发明实施例五提供的数据处理设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
Apache Hive:是一种开源的大规模数据仓库软件。
Apache Spark:是一种开源的大规模分布式数据计算框架。
Spark DataFrame:是一种Spark内部的数据组织和存储方式,它以行列的形式组织和存储应用数据。
MySQL:是一种开源的关系型数据库。
Java:是一种编程语言。
Spring Boot:是一种基于Java的服务开发框架。
Scala:是一种函数式编程语言,Apache Spark是使用Scala编写的。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
本发明提供的数据处理的方法可以应用于如图1所示的用户分层系统架构,如图1所示,用户分层系统包括:用户分层模型管理和调度服务、用户分层规则服务、用于用户分层的数据处理装置和数据仓库等组件。其中,用户分层模型管理和调度服务用于管理系统中不同类型的用户分层模型,每一种用户分层模型都有不同的用户分层规则,可以是用Java在Spring Boot框架基础上开发的一个服务程序。用户分层规则服务用于存储用户分层模型中用到的用户分层规则,可以是用Java在Spring Boot框架基础上编写的一个服务程序。用于用户分层的数据处理装置用于根据用户的触点行为数据确定用户的分层信息,并可以将用户分层信息存储到数据仓库。用于用户分层的数据处理装置可以包括用Scala语言在Spark数据计算框架上开发的多个程序模块,如图1中所示的用户特征计算模块、用户分层计算模块、分层规则编译模块。数据仓库用于存储用户的行为数据、特征数据和分层信息等,可以是Apache Hive、或者MySQL等关系型数据库。
本实施例提供的用于用户分层的数据处理的方法,在确定目标用户的分层信息之后,至少可以应用于以下场景:
一种应用场景为:根据生产者对象的目标用户的分层信息,向具有相同分层信息的用户批量推送信息。
另一种应用场景为:根据生产者对象的目标用户的分层信息,分别向具有不同分层信息的用户进行个性化地信息推送。
另一种应用场景为:对于与某一生产者对象A没有任何关联的用户,若存在生产者对象B,生产者对象B与生产者对象A提供物品的品类相似,则根据生产者对象B的目标用户的分层信息,将分层信息大于设定阈值的目标用户作为生产者对象A的潜在用户,将生产者对象A的相关信息推送给这些潜在用户。其中,设定阈值可以根据实际应用场景进行设置和调整,此处不做具体限定。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
图2为本发明实施例一提供的数据处理的方法流程图。本实施例中的方法应用于用于用户分层的数据处理装置,该数据处理装置可以是智能手机、平板等移动终端,也可以是服务器等,在其他实施例中,该方法还可应用于其他设备,本实施例以数据处理装置为例进行示意性说明。
如图2所示,该方法具体步骤如下:
步骤S101、响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据。
其中,生产者对象是指向电子商务平台物品的提供者或所有者,可以是物品的品牌商、厂商等等。生产者对象向电子商务平台提供物品,用户可以通过电子商务平台上物品的广告、内容、活动、展示页等素材有浏览、观看、点击、购买、分享等等交互行为。用户对生产者对象提供物品之间的交互行为的深浅程度,体现了用户与生产者对象之间的关联紧密程度。例如,用户与品牌商之间的关联紧密程度越高,说明用户对该品牌商的物品的感兴趣程度和意愿越强。
本实施例中,生产者对象需要了解各个用户与自身之间的关联紧密程度时,可以向用于用户分层的数据处理装置提交用户分层请求信息。
响应于生产者对象的用户分层请求信息,数据处理装置可以获取进行用户分层时所需的目标分层规则,以及需要进行用户分层的目标用户的特征数据。
其中,目标用户的特征数据是指基于目标用户与生产者对象提供的物品之间的交互行为数据,进行数据分析得到的特征数据。例如,用户在近一段时间对某一品牌方的各个类目的物品的浏览次数、获取次数、关注次数等等。
步骤S102、对目标分层规则进行编译处理,生成目标分层规则对应的函数对象。
其中,目标分层规则包括至少一条规则,每一条规则结构包括一个谓词表达式和一个分层信息。
例如,用expr表示谓词表达式,用layer_val表示分层信息,一条规则可以表示为:{expr:“D30_SKU_VIEW>2”,layer_val:2},该条规则表示符合近30天浏览商品至少2次的用户,对应的分层信息为2。
在获取到目标分层规则之后,自动对目标分层规则中的每一条规则转换为代码并编译,生成规则对应的函数对象。
步骤S103、根据目标用户的特征数据调用函数对象,确定目标用户的分层信息。
在得到目标用户的特征数据以及目标分层规则对应的函数对象之后,根据目标用户的特征数据,调用每一个函数对象,运行函数对象得到返回结果为用户分层信息。
其中,一个函数对象的返回结果也就是基于该函数对象对应规则确定的目标用户的分层信息。根据所有函数对象的返回结果,可以确定目标用户最终的分层信息。
本发明实施例通过响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据;对目标分层规则进行编译处理,生成目标分层规则对应的函数对象,能够将每一条规则自动编译处理成为对应的函数对象,根据目标用户的特征数据调用函数对象,即可得到对应的分层信息,大大提升了用户分层的效率和计算性能;即使分层规则动态发生变化,也可以通过加载新的分层规则完成对应的用户分层数据处理,提高了用户分层系统的稳定性和可扩展性。
实施例二
图3为本发明实施例二提供的数据处理的方法流程图。在上述实施例一的基础上,本实施例中,获取的目标用户的特征数据可以是目标用户的多个触点行为特征的聚合特征数据,聚合特征数据包括每个触点行为特征的特征标识码与特征值的映射信息;可以将目标用户的多个触点行为特征的聚合特征数据,转换为多个触点行为特征的特征值的特征向量,能够支持动态函数调用,能够适配所有不同的分层规则的函数对象,在此基础上,根据目标用户的特征向量逐一调用所有目标分层规则的函数对象,即可得到对应的分层信息。
如图3所示,该方法具体步骤如下:
步骤S201、响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据。
生产者对象是指向电子商务平台物品的提供者或所有者,可以是物品的品牌商、厂商等等。生产者对象向电子商务平台提供物品,用户可以通过电子商务平台上物品的广告、内容、活动、展示页等素材有浏览、观看、点击、购买、分享等等交互行为。用户对生产者对象提供物品之间的交互行为的深浅程度,体现了用户与生产者对象之间的关联紧密程度。例如,用户与品牌商之间的关联紧密程度越高,说明用户对该品牌商的物品的感兴趣程度和意愿越强。
生产者对象需要了解各个用户与自身之间的关联紧密程度时,可以向用于用户分层的数据处理装置提交用户分层请求信息。
响应于生产者对象的用户分层请求信息,数据处理装置可以获取进行用户分层时所需的目标分层规则,以及需要进行用户分层的目标用户的特征数据。
本实施例中,可以预先定义和配置多个用户分层模型以及每个用户分层模型对应的用户分层规则,并提供给生产者对象,供生产者对象选择使用。生产者对象在向数据处理装置发出用户分层请求时,可以根据自身需求选择指定其中任意的用户分层模型作为进行用户分层时使用的目标分层模型。
其中,每一条规则结构包括一个谓词表达式和一个分层信息。
例如,用expr表示谓词表达式,用layer_val表示分层信息,一条规则可以表示为:{expr:“D30_SKU_VIEW>2”,layer_val:2},该条规则表示符合近30天浏览商品至少2次的用户,对应的分层信息为2。
该步骤中,生产者对象的用户分层请求信息包含生产者对象指定的目标分层模型信息。获取目标分层规则具体通过以下方式实现:
根据目标分层模型信息,获取对应的目标分层规则。
其中,目标分层模型信息可以是用户指定的目标分层模型的标识信息,可以是模型名称,模型分层数量等等。基于该标识信息可以唯一确定一个用户分层模型。
本实施例中,目标用户的特征数据是指基于目标用户与生产者对象提供的物品之间的交互行为数据,进行数据分析得到的特征数据。例如,用户在近一段时间对某一品牌方的各个类目的物品的浏览次数、获取次数、关注次数等等。
可选地,响应于生产者对象的用户分层请求信息,可以基于电子商务平台上所有用户进行用户分层的数据处理。该步骤中,获取所有用户的特征数据。
可选地,响应于生产者对象的用户分层请求信息,可以获取与该生产者对象所关联的目标用户的特征数据,具体可以采用如下方式实现:
根据用户分层请求信息,获取生产者对象所关联的目标用户;获取目标用户的多个触点行为特征的聚合特征数据,聚合特征数据包括每个触点行为特征的特征标识码与特征值的映射信息。
本实施例中,预定义多种触点行为特征来描述用户与物品的交互行为。用户的特征数据可以存储在特征数据表中。
示例性地,可以为每个触点行为特征设定对应的特征标识码,用于唯一标识一个触点行为特征。
可选地,触点行为特征对应的特征标识码可以包括特征短码名称和/或特征编码,其中,特征短码名称为字符串类型,便于理解和对应到触点行为特征。特征编码为正整,便于存储。
例如,触点行为特征的特征标识码可以如下表1所示:
表1
特征短码名称 | 特征编码 | 含义 |
D30_SKU_VIEW | 400100110 | 用户近30天浏览物品次数 |
D365_SKU_PURCHASE | 400200110 | 用户近365天购买物品次数 |
SKU_LIKE_STATUS | 400300110 | 用户是否关注物品 |
… | … | … |
例如,用于存储用户的特征数据的特征数据表,可以是一个数据表对象(如SparkDataFrame对象)。例如,某一品牌商的特征数据表的结构可以如表2所示:
表2
如表2所示,用户的特征数据可以包括行为发生的时间、品牌代码、物品类目代码、用户编码、以及用户的多个触点行为特征的聚合特征数据。聚合特征数据可以存在MAP中,其中key是触点行为特征的特征编码,value是触点行为特征的特征值,key和value的数据类型都是整型(INT)。
可选地,目标用户的特征数据可以根据用户的触点行为的日志数据,结合用户自身的属性信息得到,具体可以采用现有技术中进行用户行为特征分析的方法实现,此处不再赘述。
示例性地,生产者对象可以通过图1所示用户分层模型管理和调度服务向用于用户分层的数据处理装置提交用户分层请求信息。用户分层模型管理和调度服务用于存储和管理用户分层模型,提供用户分层模型的新增、修改和删除等功能,并可以通过前端页面向生产者对象展示用户分层模型及对应的分层规则介绍,以供生产者对象选择和使用。用户分层模型管理和调度服务可以单独部署,也可以和数据处理装置部署在同一设备上,此处不做具体限定。
示例性地,数据处理的装置可以从图1所示用户分层规则服务中获取与目标分层模型对应的目标分层规则。用户分层规则服务用户存储和管理用户分层规则,提供用户分层规则的新增、修改和删除等功能。用户分层规则服务可以单独部署,也可以和数据处理装置部署在同一设备上,此处不做具体限定。
本实施例中,在获取到目标分层规则之后,可以通过以下步骤S202-S203,对目标分层规则进行编译处理,生成目标分层规则对应的函数对象。
步骤S202、将目标分层规则中的每条规则转换为对应的函数代码。
具体地,该步骤具体可以采用如下方式实现:
获取每条规则对应的规则函数模板,规则函数模板包括用于实现对应规则的代码;将规则函数模板中的特征标识码,替换为对特征标识码对应特征值的引用变量,得到规则对应的函数代码。
其中,可以预先编辑和存储每条规则对应的规则函数模板。规则函数模板是以按照规则的处理逻辑实现的代码,其中包括规则中涉及的触点行为特征的特征标识码。
本实施例中,为了加快用户分层的数据处理速度,减少特征值寻址的时间消耗,可以应用如表1所示的特征标识码中特征短码名称和特征编码的对照表,将表2中所示的joint_feature的MAP<INT,INT>存储方式,转换成以Array<INT>方式存储的特征向量(feature_vector),特征向量的长度与预定义的触点行为特征的总数一致;Array中的特征值排列顺序与各触点行为特征的预设排列顺序保持一致。其中,预设排列顺序可以根据实际应用场景配置,此处不做具体限定。
示例性地,在将以MAP<INT,INT>方式存储的聚合特征数据转换成以Array<INT>方式存储的特征向量的过程中,首先生成一个空的数组,按照预设排列顺序,逐一根据触点行为特征的特征短码名称查找到对应的特征编码;根据对应的特征编码,在聚合特征数据中查到对应的特征值,将对应的特征值填入数组中对应的位置。
规则函数模板的输入是一个特征向量,可以是各触点行为特征的特征值按照预设排列顺序排列形成的特征向量,该特征向量的结构可以是整型数组(可以表示为Array<INT>)。规则函数模板的输出是分层信息,是一个整型值。
该步骤中,通过将规则函数模板中的特征标识码替换成该特征标识码对应的特征值在特征向量中对应位置的引用,就可以将整个规则翻译成一段函数代码。
可选的,规则函数模板中的特征标识码可以是触点行为特征的特征短码名称,以便于用户理解和编辑规则函数模板。
例如用feature_vector表示特征向量,对于某一特征标识码“D30_SKU_VIEW”,根据预定义的所有触点行为特征按照设定顺序,可以确定该特征标识码对应的特征值在特征向量中的位置i,可以将规则函数模板中的“D30_SKU_VIEW”替换为“feature_vector[i]”,表示引用feature_vector中的第i个值。
可选地,每条规则对应的函数代码中,若输入参数满足规则的谓词表达式,则输出对应的分层信息;若输入参数不满足规则的谓词表达式,则输出的分层信息为预设分层值。其中预设分层值可以是0,或者预设分层值可以根据实际应用场景进行设置,此处不做具体限定。
步骤S203、编译函数代码,得到函数代码对应的函数对象。
该步骤中,通过调用编译器函数,将每个函数代码动态地编译成对应的函数对象。
示例性地,通过调用Scala中的Scala.reflection.tools中的编译器函数,将函数代码编译成Scala函数对象FunctionObject。
可选地,还可以通过调用其他编译器函数将函数代码编译成其他语言(如phson)的函数对象。
每一条规则对应的函数代码编译成对应的函数对象之后,得到的函数对照形成一个函数对象向量,可以存储在函数对象数组中。
下面结合图4对将目标分层规则中的所有用户分层规则编译成对应的函数对象的编译处理的流程进行示例性地说明,如图4所示,具体步骤如下:
步骤S41、获取未编译的用户分层规则。
步骤S42、将规则函数模板中的特征标识码,替换为对特征标识码对应特征值的引用变量,得到规则对应的函数代码。
步骤S43、调用编译器函数,将函数代码编译成函数对象。
步骤S44、判断是否存在未编译的用户分层规则。
若存在未编译的用户分层规则,则执行步骤S41,获取下一条未编译的用户分层规则;若不存在未编译的用户分层规则,则执行步骤S45。
步骤S45、得到所有用户分层规则对应的函数对象。
本实施例中,在得到所有目标用户分层规则对应的函数对象之后,通过以下步骤S204-S206,根据目标用户的特征数据调用函数对象,确定目标用户的分层信息。
本实施例的另一实施方式中,可以预先对所有用户分层规则进行编译处理,得到所有用户分层规则对应的函数对象并存储,在接收到用户分层请求时,直接加载目标用户分层规则对应的函数对象,可以省去步骤S202-S203的处理,能够提高用户分层的效率。
进一步地,在需要更新用户分层规则时,将用户分层规则调整完之后,需要重新编译得到对应的函数对象,并重新打包应用程序。
步骤S204、将目标用户的多个触点行为特征的聚合特征数据,转换为多个触点行为特征的特征值的特征向量。
本实施例中,规则函数模板的输入是一个特征向量,可以是各触点行为特征的特征值按照预设排列顺序排列形成的特征向量,该特征向量的结构可以是整型数组(可以表示为Array<INT>)。规则函数模板的输出是分层信息,是一个整型值。
为了加快用户分层的数据处理速度,减少特征值寻址的时间消耗,可以应用如表1所示的特征标识码中特征短码名称和特征编码的对照表,将目标用户的多个触点行为特征的聚合特征数据转换为触点行为特征的特征值的特征向量。特征向量的长度与预定义的触点行为特征的总数一致,特征向量中的特征值排列顺序与各触点行为特征的预设排列顺序保持一致。
示例性地,首先生成一个空的数组,数组的大小与预定义的触点行为特征的总数一致;根据各触点行为特征的预设排列顺序,逐一对每个触点行为特征在数组中对应位置的元素进行填充:根据触点行为特征的特征短码名称查找到对应的特征编码;根据对应的特征编码,在聚合特征数据中查到对应的特征值,将对应的特征值填入数组中对应的位置。如果在聚合特征数据中没有查到对应的特征值,则数组中对应的位置填充为预设值。其中预设值可以是0,或者还可以根据实际应用场景进行设置,此次不做具体限定。
步骤S205、将特征向量作为每个函数对象的输入参数,调用函数对象,得到函数对象对应的分层信息。
本实施例中,编译得到的函数对象是内部对象,可以直接输入引用。
该步骤中,对于每一目标用户,将该用户的特征数据转换成的特征向量,分别作为每条规则对应的函数对象的输入参数,调用每个函数对象,得到每条规则对应的该用户的分层信息。
可选地,可以将特征向量分别作为每个函数对象的输入参数,并行地调用多个函数对象,实现多条用户分层规则的并行处理,能够提高数据处理的效率。
步骤S206、根据每个函数对象对应的分层信息,确定用户的分层信息。
在得到目标用户的每个函数对象对应的分层信息之后,可以综合每个函数对象对应的分层信息,确定目标用户最终的分层信息。
可选地,将函数对象对应的分层信息中的最大值,作为目标用户最终的分层信息。示例性地,可以将函数对象对应的分层信息进行排序,根据排序结果确定函数对象对应的分层信息中的最大值,并将函数对象对应的分层信息中的最大值,作为目标用户最终的分层信息。
可选地,可以将函数对象对应的分层信息中,出现次数最多的分层信息,作为目标用户最终的分层信息。另外,还可以通过其他方式综合每个函数对象对应的分层信息,确定目标用户最终的分层信息,此处不做具体限定。
示例性地,特征数据表中每一行对应一个用户的特征数据。本实施例中,可以分别将每一行的用户特征数据转换为对应的特征向量,将特征向量作为输入参数调用目标分层规则中每一条规则对应的函数对象,得到每一条规则对应的分层信息,对各条规则对应的分层信息进行排序并确定其中的最大值,将其中的最大值作为用户最终的分层信息。
本实施例的另一实施方式中,若在步骤S202-S203对目标分层规则进行编译处理的过程中出现错误,未能正确生成所有目标分层规则对应的函数对象,则可以采用解释型的用户分层方法或者其他任意一种用户分层方法进行用户分层处理,也即本发明提供的方法能够兼容其他用户分层的方法,能够提高系统稳定性。
本发明实施例提供了一种可扩展的用户分层规则的编译执行架构,能够根据输入的用户特征数据的结构,将不同的用户分层规则编译成Spark函数对象,并且可以嵌入Spark应用中执行;将用户分层规则通过规则函数模版和特征标识码定位的方式,转换成Scala代码,然后利用Scala内嵌的动态编译器,将代码编译成Scala函数对象;进一步通过将Spark数据表中的用户的聚合特征数据转换成支持动态函数调用的特征向量,能够适配不同规则的函数对象,在此基础上,通过并行调用多个函数对象来计算用户的分层信息能够进一步提高用户分层的效率。
实施例三
图5为本发明实施例三提供的数据处理的装置的结构示意图。本发明实施例提供的数据处理的装置可以执行数据处理的方法实施例提供的处理流程。如图5所示,该数据处理的装置30包括:用户特征计算模块301,分层规则翻译模块302和用户分层计算模块303。
具体地,用户特征计算模块301用于响应于生产者对象的用户分层请求信息,获取目标用户的特征数据。
分层规则翻译模块302用于响应于生产者对象的用户分层请求信息,获取目标分层规则,对目标分层规则进行编译处理,生成目标分层规则对应的函数对象。
用户分层计算模块303用于根据目标用户的特征数据调用函数对象,确定目标用户的分层信息。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据;对目标分层规则进行编译处理,生成目标分层规则对应的函数对象,能够将每一条规则自动编译处理成为对应的函数对象,根据目标用户的特征数据调用函数对象,即可得到对应的分层信息,大大提升了用户分层的效率和计算性能;即使分层规则动态发生变化,也可以通过加载新的分层规则完成对应的用户分层数据处理,提高了用户分层系统的稳定性和可扩展性。
实施例四
在上述实施例三的基础上,本实施例中,分层规则翻译模块还用于:
请求信息包含生产者对象指定的目标分层模型信息,根据目标分层模型信息,获取对应的目标分层规则。
可选地,用户特征计算模块还用于:
根据请求信息,获取生产者对象所关联的目标用户;获取目标用户的多个触点行为特征的聚合特征数据,聚合特征数据包括每个触点行为特征的特征标识码与特征值的映射信息。
可选地,分层规则翻译模块还用于:
将目标分层规则中的每条规则转换为对应的函数代码;编译函数代码,得到函数代码对应的函数对象。
可选地,分层规则翻译模块还用于:
获取每条规则对应的规则函数模板,规则函数模板包括用于实现对应规则的代码;将规则函数模板中的特征标识码,替换为对特征标识码对应特征值的引用变量,得到规则对应的函数代码。
可选地,分层规则翻译模块还用于:
调用编译器函数,将每个函数代码编译成对应的函数对象。
可选地,用户分层计算模块还用于:
将目标用户的多个触点行为特征的聚合特征数据,转换为多个触点行为特征的特征值的特征向量;将特征向量作为每个函数对象的输入参数,调用函数对象,得到函数对象对应的分层信息;根据每个函数对象对应的分层信息,确定用户的分层信息。
可选地,用户分层计算模块还用于:
将函数对象对应的分层信息中的最大值,作为用户的分层信息。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例提供了一种可扩展的用户分层规则的编译执行架构,能够根据输入的用户特征数据的结构,将不同的用户分层规则编译成Spark函数对象,并且可以嵌入Spark应用中执行;将用户分层规则通过规则函数模版和特征标识码定位的方式,转换成Scala代码,然后利用Scala内嵌的动态编译器,将代码编译成Scala函数对象;进一步通过将Spark数据表中的用户的聚合特征数据转换成支持动态函数调用的特征向量,能够适配不同规则的函数对象,在此基础上,通过并行调用多个函数对象来计算用户的分层信息能够进一步提高用户分层的效率。
实施例五
图6为本发明实施例五提供的数据处理设备的结构示意图。如图6所示,该数据处理设备100包括:处理器1001,存储器1002,以及存储在存储器1002上并可在处理器1001上运行的计算机程序。
其中,处理器1001运行计算机程序时实现上述任一方法实施例提供的数据处理的方法。
本发明实施例通过响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据;对目标分层规则进行编译处理,生成目标分层规则对应的函数对象,能够将每一条规则自动编译处理成为对应的函数对象,根据目标用户的特征数据调用函数对象,即可得到对应的分层信息,大大提升了用户分层的效率和计算性能;即使分层规则动态发生变化,也可以通过加载新的分层规则完成对应的用户分层数据处理,提高了用户分层系统的稳定性和可扩展性。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例提供的方法。
本发明实施例还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,数据处理设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得数据处理设备执行上述任一方法实施例提供的方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种数据处理的方法,其特征在于,包括:
响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据;
对所述目标分层规则进行编译处理,生成所述目标分层规则对应的函数对象;
根据所述目标用户的特征数据调用所述函数对象,确定所述目标用户的分层信息。
2.根据权利要求1所述的方法,其特征在于,所述响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据,包括:
所述请求信息包含所述生产者对象指定的目标分层模型信息,根据所述目标分层模型信息,获取对应的目标分层规则。
3.根据权利要求1所述的方法,其特征在于,所述响应于生产者对象的用户分层请求信息,获取目标分层规则和目标用户的特征数据,包括:
根据所述请求信息,获取所述生产者对象所关联的目标用户;
获取所述目标用户的多个触点行为特征的聚合特征数据,所述聚合特征数据包括每个所述触点行为特征的特征标识码与特征值的映射信息。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所述目标分层规则进行编译处理,生成所述目标分层规则对应的函数对象,包括:
将所述目标分层规则中的每条规则转换为对应的函数代码;
编译所述函数代码,得到所述函数代码对应的函数对象。
5.根据权利要求4所述的方法,其特征在于,所述将所述目标分层规则中的每条规则转换为对应的函数代码,包括:
获取每条规则对应的规则函数模板,所述规则函数模板包括用于实现对应规则的代码;
将所述规则函数模板中的特征标识码,替换为对所述特征标识码对应特征值的引用变量,得到规则对应的函数代码。
6.根据权利要求4所述的方法,其特征在于,所述编译所述函数代码,得到所述函数代码对应的函数对象,包括:
调用编译器函数,将每个所述函数代码编译成对应的函数对象。
7.根据权利要求3所述的方法,其特征在于,所述根据所述目标用户的特征数据调用所述函数对象,确定所述目标用户的分层信息,包括:
将所述目标用户的多个触点行为特征的聚合特征数据,转换为所述多个触点行为特征的特征值的特征向量;
将所述特征向量作为每个所述函数对象的输入参数,调用所述函数对象,得到所述函数对象对应的分层信息;
根据每个所述函数对象对应的分层信息,确定所述用户的分层信息。
8.根据权利要求7所述的方法,其特征在于,所述根据每个所述函数对象对应的分层信息,确定所述用户的分层信息,包括:
将所述函数对象对应的分层信息中的最大值,作为所述用户的分层信息。
9.一种数据处理的装置,其特征在于,包括:
用户特征计算模块,用于响应于生产者对象的用户分层请求信息,获取目标用户的特征数据;
分层规则翻译模块,用于响应于生产者对象的用户分层请求信息,获取目标分层规则,对所述目标分层规则进行编译处理,生成所述目标分层规则对应的函数对象;
用户分层计算模块,用于根据所述目标用户的特征数据调用所述函数对象,确定所述目标用户的分层信息。
10.一种数据处理设备,其特征在于,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现如权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法。
12.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110174911.6A CN113760406A (zh) | 2021-02-07 | 2021-02-07 | 数据处理的方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110174911.6A CN113760406A (zh) | 2021-02-07 | 2021-02-07 | 数据处理的方法、装置、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113760406A true CN113760406A (zh) | 2021-12-07 |
Family
ID=78786606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110174911.6A Pending CN113760406A (zh) | 2021-02-07 | 2021-02-07 | 数据处理的方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760406A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115905660A (zh) * | 2022-11-10 | 2023-04-04 | 广州似锦科技有限公司 | 一种网络安全数据获取方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091640A1 (en) * | 2003-10-24 | 2005-04-28 | Mccollum Raymond W. | Rules definition language |
US20100218174A1 (en) * | 2009-02-26 | 2010-08-26 | Schneider James P | Dynamic compiling and loading at runtime |
US20120278788A1 (en) * | 2011-04-29 | 2012-11-01 | General Electric Company | Methods for code generation from semantic models and rules |
CN109189469A (zh) * | 2018-06-22 | 2019-01-11 | 北京大学 | 基于反射的安卓应用微服务化方法及系统 |
CN109656567A (zh) * | 2018-12-20 | 2019-04-19 | 北京树根互联科技有限公司 | 异质化业务数据处理逻辑的动态方法和系统 |
CN110531965A (zh) * | 2018-05-23 | 2019-12-03 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、程序运行方法和设备 |
CN111241382A (zh) * | 2018-11-28 | 2020-06-05 | 北京京东尚科信息技术有限公司 | 数据处理方法及装置、存储介质、电子设备 |
CN111399818A (zh) * | 2020-03-17 | 2020-07-10 | 深圳市卡牛科技有限公司 | 推荐引擎设计方法、装置、服务器及存储介质 |
CN111767092A (zh) * | 2020-06-30 | 2020-10-13 | 深圳前海微众银行股份有限公司 | 作业执行方法、装置、系统及计算机可读存储介质 |
-
2021
- 2021-02-07 CN CN202110174911.6A patent/CN113760406A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091640A1 (en) * | 2003-10-24 | 2005-04-28 | Mccollum Raymond W. | Rules definition language |
US20100218174A1 (en) * | 2009-02-26 | 2010-08-26 | Schneider James P | Dynamic compiling and loading at runtime |
US20120278788A1 (en) * | 2011-04-29 | 2012-11-01 | General Electric Company | Methods for code generation from semantic models and rules |
CN110531965A (zh) * | 2018-05-23 | 2019-12-03 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、程序运行方法和设备 |
CN109189469A (zh) * | 2018-06-22 | 2019-01-11 | 北京大学 | 基于反射的安卓应用微服务化方法及系统 |
CN111241382A (zh) * | 2018-11-28 | 2020-06-05 | 北京京东尚科信息技术有限公司 | 数据处理方法及装置、存储介质、电子设备 |
CN109656567A (zh) * | 2018-12-20 | 2019-04-19 | 北京树根互联科技有限公司 | 异质化业务数据处理逻辑的动态方法和系统 |
CN111399818A (zh) * | 2020-03-17 | 2020-07-10 | 深圳市卡牛科技有限公司 | 推荐引擎设计方法、装置、服务器及存储介质 |
CN111767092A (zh) * | 2020-06-30 | 2020-10-13 | 深圳前海微众银行股份有限公司 | 作业执行方法、装置、系统及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
柴晓前, 陈平: "基于反射植入的面向对象程序动态分析机制", 微机发展, no. 05, 10 May 2005 (2005-05-10) * |
纪佩宇;印杰;武旭红;: "面向物联网的大数据预警信息高速处理规则引擎", 计算机与数字工程, no. 09, 20 September 2013 (2013-09-20) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115905660A (zh) * | 2022-11-10 | 2023-04-04 | 广州似锦科技有限公司 | 一种网络安全数据获取方法、装置、设备及存储介质 |
CN115905660B (zh) * | 2022-11-10 | 2023-10-24 | 广东三鼎智慧信息科技有限公司 | 一种网络安全数据获取方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11526338B2 (en) | System and method for inferencing of data transformations through pattern decomposition | |
CN112328224B (zh) | 业务接口的对接方法、装置、存储介质以及电子设备 | |
US8983930B2 (en) | Facet group ranking for search results | |
US20200034750A1 (en) | Generating artificial training data for machine-learning | |
US20140075350A1 (en) | Visualization and integration with analytics of business objects | |
US20230274332A1 (en) | Method and apparatus for generating recommendation reason, and storage medium | |
US10048952B2 (en) | Compiler optimized data model evaluation | |
US20190325352A1 (en) | Optimizing feature evaluation in machine learning | |
US20190310840A1 (en) | Efficient information storage and retrieval using subgraphs | |
US20140067548A1 (en) | Saving on device functionality for business calendar | |
CN111160658B (zh) | 一种协同制造资源优配方法、系统和平台 | |
US20220058517A1 (en) | Method, system and apparatus for custom predictive modeling | |
CN111597238A (zh) | 一种基于数据库的动态展示表格数据的方法及装置 | |
CN116738081B (zh) | 一种前端组件绑定方法、装置及存储介质 | |
US20100070497A1 (en) | Automated Criterion-Based Grouping and Presenting | |
US20190197168A1 (en) | Contextual engine for data visualization | |
CN113760406A (zh) | 数据处理的方法、装置、设备、存储介质及程序产品 | |
CN113822734B (zh) | 用于生成信息的方法和装置 | |
Piccialli et al. | S-InTime: A social cloud analytical service oriented system | |
CN113392200A (zh) | 基于用户学习行为的推荐方法及装置 | |
US20150169675A1 (en) | Data access using virtual retrieve transformation nodes | |
CN112419078A (zh) | 产品推荐方法、装置和电子设备 | |
CN117076770A (zh) | 基于图计算的数据推荐方法、装置、存储价值及电子设备 | |
US11775886B2 (en) | Combining group-level and item-level information for forecasting by empirical Bayesian deconvolution based technique | |
US20210110308A1 (en) | Methods and apparatus to find optimization opportunities in machine-readable instructions |
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 |