用户层级的确定方法、装置以及存储介质与流程

未命名 07-27 阅读:93 评论:0


1.本发明涉及计算机技术领域,尤其涉及一种用户层级的确定方法、装置以及存储介质。


背景技术:

2.电子商务系统需要对用户建立分层体系,确定不同用户所属的层级,并对不同的分层设置不同的用户优惠规则等。不同的用户分层对应的计算指标是相同的,但在这些计算指标下的判定规则不同,同一个用户可同时满足多个分层条件。目前,对于用户分层的计算存在问题:在用户分层场景下,如果用户分层的级别较多,则会导致对应的相关的sql语句复杂,增加了sql引擎的解析压力,对资源的占用过高,并且增加响应时间。


技术实现要素:

3.有鉴于此,本发明要解决的一个技术问题是提供一种用户层级的确定方法、装置以及存储介质。
4.根据本公开的第一方面,提供一种用户层级的确定方法,包括:获取与用户分层请求相对应的用户数据;基于与用户层级相对应的分层指标信息对所述用户数据进行指标计算处理,获取与所述分层指标信息相对应的指标值;将所述指标值与所述分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级。
5.可选地,所述分层规则表达式包括:与所述分层指标信息对应的指标子规则;所述将所述指标值与所述分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级包括:提取所述分层规则表达式中的各个指标子规则;获取与各个指标子规则相对应的所述指标值;如果各个指标子规则都与对应的所述指标值相匹配,则基于与所述分层规则表达式对应的层级信息确定所述用户层级。
6.可选地,设置与各个分层规则表达式对应的层级标签;获取与所述匹配成功的分层规则表达式对应的层级标签,作为目标层级标签;使用所述目标层级标签对所述用户分层请求对应的目标用户进行标注处理,并存储标注结果。
7.可选地,所述用户分层请求携带的信息包括:用户id;所述获取与用户分层请求相对应的用户数据包括:接收所述用户数据并在数据库中存储;根据所述用户id在所述数据库中获取所述用户数据;其中,所述用户数据包括:存储在数据库中的用户操作行为数据。
8.可选地,所述接收所述用户数据并在数据库中存储包括:设置消息队列,并对所述消息队列设置对应的数据处理任务;其中,所述消息队列用于接收所述用户数据;启动所述数据处理任务,并使用所述数据处理任务监听对应的消息队列;使用所述数据处理任务实时从所述消息队列中提取所述用户数据,并将所述用户数据存储在所述数据库中。
9.可选地,所述基于与用户层级相对应的分层指标信息对所述用户数据进行指标计算处理,获取与所述分层指标信息相对应的指标值包括:生成与各个分层指标信息相对应的查询信息;使用查询引擎并基于所述查询信息,在所述用户操作行为数据中进行查询处
理;根据查询处理结果获取与各个分层指标信息相对应的指标值。
10.可选地,所述数据库包括:redis数据库。
11.根据本公开的第二方面,提供一种用户层级的确定装置,包括:用户数据获取模块,用于获取与用户分层请求相对应的用户数据;指标计算模块,用于基于与用户层级相对应的分层指标信息对所述用户数据进行指标计算处理,获取与所述分层指标信息相对应的指标值;规则匹配模块,用于将所述指标值与所述分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级。
12.可选地,所述分层规则表达式包括:与所述分层指标信息对应的指标子规则;所述规则匹配模块,具体用于提取所述分层规则表达式中的各个指标子规则;获取与各个指标子规则相对应的所述指标值;如果各个指标子规则都与对应的所述指标值相匹配,则基于与所述分层规则表达式对应的层级信息确定所述用户层级。
13.可选地,标签处理模块,用于设置与各个分层规则表达式对应的层级标签;获取与所述匹配成功的分层规则表达式对应的层级标签,作为目标层级标签;使用所述目标层级标签对所述用户分层请求对应的目标用户进行标注处理,并存储标注结果。
14.可选地,所述用户分层请求包括:用户id;其中,所述用户数据获取模块,用于接收所述用户数据并在数据库中存储;根据所述用户id在所述数据库中获取所述用户数据;其中,所述用户数据包括:存储在数据库中的用户操作行为数据。
15.可选地,所述用户数据获取模块,具体用于设置消息队列,并对所述消息队列设置对应的数据处理任务;其中,所述消息队列用于接收所述用户数据;启动所述数据处理任务,并使用所述数据处理任务监听对应的消息队列;使用所述数据处理任务实时从所述消息队列中提取所述用户数据,并将所述用户数据存储在所述数据库中。
16.可选地,所述指标计算模块,具体用于生成与各个分层指标信息相对应的查询信息;使用查询引擎并基于所述查询信息,在所述用户操作行为数据中进行查询处理;根据查询处理结果获取与各个分层指标信息相对应的指标值。
17.根据本公开的第三方面,提供一种用户层级的确定装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。
18.根据本公开的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上任一项所述的方法。
19.本公开的用户层级的确定方法、装置以及存储介质,设置分层指标信息和分层规则表达式,基于分层指标信息对用户数据进行指标计算处理,获取与分层指标信息相对应的指标值;将指标值与分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级;通过将用户分层的指标和规则分离,能够避免sql语句的复杂性并减少解析压力,可以减少对资源的占用,减少响应时间;能够支持用户分层标签数量的扩充,满足生产系统的需求。
附图说明
20.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是
本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
21.图1为根据本公开的用户层级的确定方法的一个实施例的流程示意图;
22.图2为根据本公开的用户层级的确定方法的一个实施例中的确定指标值的流程示意图;
23.图3为根据本公开的用户层级的确定方法的一个实施例中的确定用户层级的流程示意图;
24.图4为根据本公开的用户层级的确定方法的一个实施例中的对用户进行标注的流程示意图;
25.图5为根据本公开的用户层级的确定方法的一个实施例的数据计算示意图;
26.图6和图7为根据本公开的用户层级的确定装置的一个实施例的模块示意图;
27.图8为根据本公开的用户层级的确定装置的另一个实施例的模块示意图。
具体实施方式
28.下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
29.在现有技术中,实时场景下的用户分层计算一般有两种方法:
30.1、预计算:通过实时计算引擎接入分层指标数据源,当有相应的数据变动时即进行计算,确定用户层级并将计算后的分层结果保存至数据库中。当需要判断用户的分层信息时,接口直接从数据库获取用户层级并返回。这种方式能满足高并发、低时延的要求,但由于计算逻辑与分层耦合,不具备通用性,占用资源较多,适合用户分层较少的场景。
31.2、即时计算:将用户分层相关数据实时写入数据库中,当需要计算指定用户id的分层信息时,将该用户id关联的数据从数据库中获取,基于sql引擎确定用户层级。这种方式一方面不需要预计算,减少了占用资源,另一方面由于使用了内存计算,延时性也较低。
32.对于用户分层计算的预计算方案存在问题:一方面用户分层数量不能太多,如果分层数量太多会影响任务的时效,进而产生数据积压;另一方面对资源的占用过高,存在无用计算的情况。
33.对于用户分层计算的即时计算方案解决了多数实时标签的需求,但在用户分层场景下,如果分层级别较多,则会导致对应的sql十分复杂,一方面增加了sql引擎的解析压力,另一方面也存在对相同指标的重复计算,从而极大的增加响应时间。
34.图1为根据本公开的用户层级的确定方法的一个实施例的流程示意图,如图1所示:
35.步骤102,获取与用户分层请求相对应的用户数据。
36.在一个实施例中,设置与用户层级相对应的分层指标信息和分层规则表达式。对用户分层是指针对一个或多个分层指标,使用分层规则表达式划分用户层级。例如,分层指标为用户的累计消费额,分层规则包括最近一年的累计消费额超过1万、最近一年的累计消
费额为3000-1万、最近一年的累计消费额低于3000等,其中,与最近一年的累计消费额超过1万相对应的用户层级为高消费能力用户,与最近一年的累计消费额为3000-1万相对应的用户层级为中消费能力用户,与最近一年的累计消费额低于3000相对应的用户层级为低消费能力用户。
37.对用户分层的本质是对用户进行分类,可以根据需求设置多种分层指标信息和分层规则表达式。例如,对于电商平台,可以设置关于浏览、加购、搜索、下单等的分层指标信息以及分层规则表达式,对于短视频,可以设置关于每天浏览时长、浏览视频数量等的分层指标信息以及分层规则表达式。可以设置不同的分层指标信息和分层规则表达式,可以对同一个用户设置不同的用户层级。当运营人员需要确定用户层级时,输入用户分层请求,用于确定一个或多个用户的层级。在接收到运营人员输入的用户分层请求后,从数据库中获取与一个或多个用户相对应的用户数据,用于进行指标计算和用户层级确定。
38.步骤102,基于分层指标信息对用户数据进行指标计算处理,获取与分层指标信息相对应的指标值。
39.步骤103,将指标值与分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级。
40.在一个实施例中,用户数据包括存储在数据库中的用户操作行为数据等,用户操作行为包括搜索、加购、下单等操作行为。获取与分层指标信息相对应的指标值可以采用多种方法。图2为根据本公开的用户层级的确定方法的一个实施例中的确定指标值的流程示意图,如图2所示:
41.步骤201,基于分层指标信息生成对应的数据库查询语句。
42.步骤202,使用数据库查询语句在用户操作行为数据中进行查询处理。
43.步骤203,根据查询处理结果生成指标值。
44.在一个实施例中,可以预先设置分层指标信息。例如,以电商平台为例,设置一个用户层级为高潜用户,运营人员确定高潜人员的标准:在过去24小时内,有搜索过家电产品至少2次,并且有过添加购物车,但还未下单的用户。
45.运营人员根据高潜人员的标准设置三个分层指标信息,分别为:24小时内搜索过家电产品的次数、24小时内针对家电产品添加购物车的次数、24小时内针对家电产品的下单次数。使用现有的转换工具并基于此三个分层指标信息生成对应的sql指标查询语句。
46.接收到运营人员输入的用户分层请求后,预先从数据库中获取与用户相对应的用户操作行为数据,例如,可以使用sql查询语句获取存储在数据库中的用户操作行为数据。
47.使用sql指标查询语句在用户操作行为数据中进行查询处理,根据查询处理结果生成指标值。例如,查询处理结果为:24小时内搜索过家电产品的次数=a,24小时内针对家电产品添加购物车的次数=b,24小时内针对家电产品的下单次数=c,与三个分层指标对应的指标值分别为a,b,c。
48.在一个实施例中,对各个消息队列设置对应的数据处理任务,使用数据处理任务监听对应的消息队列,实时从消息队列中提取用户数据并将用户数据存储在数据库中。数据库可以为redis数据库等,消息队列可以为kafka消息队列等,数据处理任务可以为flink任务等。
49.flink,即apache flink,是由apache软件基金会开发的开源流处理框架,其核心
是用java和scala编写的分布式流数据流引擎。flink以数据并行和流水线方式执行任意流数据程序,flink的流水线运行时系统可以执行批处理和流处理程序。
50.flink是一种实时数据流处理框架,kafka是实时消息队列,采用flink+kafka方式进行实时数据处理。用户分层请求包括用户id等。根据用户id在数据库中获取用户操作行为数据。例如,用户分层请求包括用户a的id为“123”,使用sql查询语句获取存储在数据库中的、id为“123”的用户操作行为数据。
51.分层规则表达式包括与分层指标信息对应的指标子规则。可以采用多种方法将指标值与分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级。图3为根据本公开的用户层级的确定方法的一个实施例中的确定用户层级的流程示意图,如图3所示:
52.步骤301,提取分层规则表达式中的各个指标子规则,并获取与各个指标子规则相对应的指标值。
53.步骤302,如果各个指标子规则都与对应的指标值相匹配,则基于与分层规则表达式对应的层级信息确定用户层级。
54.在一个实施例中,运营人员根据高潜人员的标准设置与三个分层指标信息相对应的分层规则表达式,分层规则表达式包括与三个分层指标信息对应的指标子规则。
55.例如,分层规则表达式为rule=a》=2且b》0且c=0,a》=2、b》0、c=0分别为与三个分层指标信息(24小时内搜索过家电产品的次数、24小时内针对家电产品添加购物车的次数、24小时内针对家电产品的下单次数)对应的三个指标子规则。
56.如果三个指标子规则都与对应的24小时内搜索过家电产品的次数、24小时内针对家电产品添加购物车的次数、24小时内针对家电产品的下单次数的指标值相匹配,则基于与分层规则表达式对应的层级信息确定用户层级。
57.图4为根据本公开的用户层级的确定方法的一个实施例中的对用户进行标注的流程示意图,如图4所示:
58.步骤401,设置与各个分层规则表达式对应的层级标签。层级标签可以为多种,可以为预设的字符串等。
59.步骤402,获取与匹配成功的分层规则表达式对应的目标层级标签。
60.步骤403,使用目标层级标签对用户分层请求对应的目标用户进行标注处理,并存储标注结果。在进行标注后,建立层级标签与目标用户的对应关系并存储在数据库中。
61.在一个实施例中,基于实时场景下用户分层计算的主要问题是:一方面数据量巨大,如何平衡计算资源和响应时效,另一方面生产环境对接口的时效性要求很高,同时也能支持复杂场景下的用户分层。
62.本公开提供一种实时场景下的用户层级的确定方法,能够在海量数据场景下,根据指定用户id确定用户层级,一方面方案支持用户分层标签数量的不断扩充,满足营销业务发展,另一方面其响应时间和qps(query per second,每秒处理请求数)基本不受分层区间的影响,不会随着分层区间的增加导致响应时间跟着线性增加,满足生产系统的需求,同时也满足高qps的场景。
63.如图5所示,存储层:对于实时场景下的数据,通过flink+消息队列kafka的模式对数据进行处理,数据经过清洗加工后存入到redis数据库。
64.计算层:通过flink计算任务处理实时数据。flink计算任务负责数据的清洗,简单加工及写入。flink计算任务的数量与消息队列的topic相对应,如订单、浏览这两个topic则对应两个flink计算任务,消息队列的topic是有限的,这部分的计算资源消耗有限,不会随着营销场景增加而增加。
65.元数据层:元数据主要存储分层标签的基础信息,包括分层指标信息和分层规则表达式。分层指标信息为对用户进行分层的维度,而分层规则表达式表示分层的依据。如果用户分层的区间很多,对应的分层指标信息不会有变化,增加的是分层规则表达式。
66.指标计算引擎:负责分层指标的指标值的实时计算,在该部分实现了一个内存查询引擎,支持常规的sql计算。指标计算引擎层在初始化时,将元数据层的信息动态注册到引擎层;当有接口请求后,指标计算引擎基于指定的用户id到redis数据库里获取明细数据(用户操作行为数据);由于数据是针对单个用户的,对应的行为数据不会太多。如果有机器人或爬虫之类的会在计算层进行分析过滤掉。拿到明细数据后,指标计算引擎基于calcite,完成元数据注册和内存数据加载,以及最终的sql计算。
67.规则引擎:指标计算只是用户分层的中间状态,其最终的判定由规则引擎完成,相较于指标计算引擎的sql运算,规则引擎需要计算的只是一个表达式,基于qlexpress将表达式做预编译缓存后,其计算性能远远高于sql计算,只是增加了规则数量,不会增加整体的计算复杂度。
68.在一个实施例中,指标计算引擎完成用户分层依据的计算,规则引擎根据不同的分层区间,对用户归属层次(用户层级)做最终确认。calcite,即apache calcite,是一款开源sql解析工具,可以将各种sql语句解析成抽象语法术ast(abstract syntax tree),之后通过操作ast就可以把sql中所要表达的算法与关系体现在具体代码之中。qlexpress是一个轻量级的类java语法规则引擎,作为一个嵌入式规则引擎在业务系统中使用。让业务规则定义简便而不失灵活,能够定义业务规则。
69.以家电高潜用户为例,从redis数据库中分别获取用户最近24小时的搜索、加购、下单等数据,将这些数据适配给现有的calcite,通过sql运算出对应的指标数据a、b、c。将分层规则表达式以及对应的指标a、b、c的指标值传递给现有的规则引擎qlexpress,规则引擎将返回对应的a、b、c的指标值是否满足该分层规则表达式。
70.将用户分层的指标和规则分离,以避免复杂sql产生的解析及重复计算性能损耗;将明细数据加载到calcite的内存适配器中,完成指标的计算;将用户分层标签转化为表达式,基于calcite完成的指标计算高效快速完成用户分层标签的计算。通过线上单节点的压测,完全能够满足面向c端的生产系统需求。
71.在一个实施例中,如图6所示,本公开提供一种用户层级的确定装置60,包括用户数据获取模块61、指标计算模块62和规则匹配模块63。用户数据获取模块61获取与用户分层请求相对应的用户数据。指标计算模块62基于与用户层级相对应的分层指标信息对用户数据进行指标计算处理,获取与分层指标信息相对应的指标值。规则匹配模块63将指标值与分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级。
72.在一个实施例中,分层规则表达式包括与分层指标信息对应的指标子规则等;规则匹配模块63提取分层规则表达式中的各个指标子规则;获取与各个指标子规则相对应的指标值,如果各个指标子规则都与对应的指标值相匹配,则规则匹配模块63基于与分层规
则表达式对应的层级信息确定用户层级。
73.如图7所示,用户层级的确定装置60还包括标签处理模块65,标签处理模块65设置与各个分层规则表达式对应的层级标签;标签处理模块65获取与匹配成功的分层规则表达式对应的层级标签,作为目标层级标签;标签处理模块65使用目标层级标签对用户分层请求对应的目标用户进行标注处理,并存储标注结果。
74.在一个实施例中,用户分层请求包括用户id等。用户数据获取模块61接收用户数据并在数据库中存储。用户数据获取模块61根据用户id在数据库中获取用户数据,其中,用户数据包括存储在数据库中的用户操作行为数据。
75.用户数据获取模块61设置消息队列,并对消息队列设置对应的数据处理任务,消息队列用于接收用户数据。用户数据获取模块61启动数据处理任务,并使用数据处理任务监听对应的消息队列。用户数据获取模块61使用数据处理任务实时从消息队列中提取用户数据,并将用户数据存储在数据库中。
76.指标计算模块62生成与各个分层指标信息相对应的查询信息。指标计算模块62使用查询引擎并基于查询信息,在用户操作行为数据中进行查询处理,根据查询处理结果获取与各个分层指标信息相对应的指标值。
77.图8为根据本公开的用户层级的确定装置的又一个实施例的模块示意图。如图8所示,该装置可包括存储器81、处理器82、通信接口83以及总线84。存储器81用于存储指令,处理器82耦合到存储器81,处理器82被配置为基于存储器81存储的指令执行实现上述的用户层级的确定方法。
78.存储器81可以为高速ram存储器、非易失性存储器(non-volatile memory)等,存储器81也可以是存储器阵列。存储器81还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器82可以为中央处理器cpu,或专用集成电路asic(application specific integrated circuit),或者是被配置成实施本公开的用户层级的确定方法的一个或多个集成电路。
79.在一个实施例中,本公开提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一个实施例中的用户层级的确定方法。
80.计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列举)可以包括:具有一个或者多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
81.以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势以及效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
82.上述实施例中的上述实施例中的用户层级的确定方法、装置以及存储介质,设置分层指标信息和分层规则表达式,基于分层指标信息对用户数据进行指标计算处理,获取与分层指标信息相对应的指标值;将指标值与分层规则表达式进行匹配处理,基于匹配成
功的分层规则表达式确定用户层级;通过将用户分层的指标和规则分离,能够避免sql语句的复杂性并减少解析压力,可以减少对资源的占用,减少响应时间;能够支持用户分层标签数量的扩充,满足营销业务发展,满足生产系统的需求以及满足高qps的场景。
83.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
84.本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备以及系统。诸如“包括”、“包含、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
85.可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
86.还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
87.提供所公开的方面的以上描述,以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改等对于本领域技术人员而言,是非常显而易见的,并且在此定义的一般原理可以应用于其他方面,而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
88.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式中。尽管以上已经讨论了多个示例方面以及实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

技术特征:
1.一种用户层级的确定方法,包括:获取与用户分层请求相对应的用户数据;基于与用户层级相对应的分层指标信息对所述用户数据进行指标计算处理,获取与所述分层指标信息相对应的指标值;将所述指标值与所述分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级。2.如权利要求1所述的方法,所述分层规则表达式包括:与所述分层指标信息对应的指标子规则;所述将所述指标值与所述分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级包括:提取所述分层规则表达式中的各个指标子规则;获取与各个指标子规则相对应的所述指标值;如果各个指标子规则都与对应的所述指标值相匹配,则基于与所述分层规则表达式对应的层级信息确定所述用户层级。3.如权利要求1所述的方法,还包括:设置与各个分层规则表达式对应的层级标签;获取与所述匹配成功的分层规则表达式对应的层级标签,作为目标层级标签;使用所述目标层级标签对所述用户分层请求对应的目标用户进行标注处理,并存储标注结果。4.如权利要求1所述的方法,所述用户分层请求携带的信息包括:用户id;所述获取与用户分层请求相对应的用户数据包括:接收所述用户数据并在数据库中存储;根据所述用户id在所述数据库中获取所述用户数据;其中,所述用户数据包括:存储在数据库中的用户操作行为数据。5.如权利要求4所述的方法,所述接收所述用户数据并在数据库中存储包括:设置消息队列,并对所述消息队列设置对应的数据处理任务;其中,所述消息队列用于接收所述用户数据;启动所述数据处理任务,并使用所述数据处理任务监听对应的消息队列;使用所述数据处理任务实时从所述消息队列中提取所述用户数据,并将所述用户数据存储在所述数据库中。6.如权利要求4所述的方法,所述基于与用户层级相对应的分层指标信息对所述用户数据进行指标计算处理,获取与所述分层指标信息相对应的指标值包括:生成与各个分层指标信息相对应的查询信息;使用查询引擎并基于所述查询信息,在所述用户操作行为数据中进行查询处理;根据查询处理结果获取与各个分层指标信息相对应的指标值。7.如权利要求4至6任一项所述的方法,其中,所述数据库包括:redis数据库。8.一种用户层级的确定装置,包括:用户数据获取模块,用于获取与用户分层请求相对应的用户数据;指标计算模块,用于基于与用户层级相对应的分层指标信息对所述用户数据进行指标
计算处理,获取与所述分层指标信息相对应的指标值;规则匹配模块,用于将所述指标值与所述分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级。9.如权利要求8所述的装置,所述分层规则表达式包括:与所述分层指标信息对应的指标子规则;所述规则匹配模块,具体用于提取所述分层规则表达式中的各个指标子规则;获取与各个指标子规则相对应的所述指标值;如果各个指标子规则都与对应的所述指标值相匹配,则基于与所述分层规则表达式对应的层级信息确定所述用户层级。10.如权利要求8所述的装置,还包括:标签处理模块,用于设置与各个分层规则表达式对应的层级标签;获取与所述匹配成功的分层规则表达式对应的层级标签,作为目标层级标签;使用所述目标层级标签对所述用户分层请求对应的目标用户进行标注处理,并存储标注结果。11.如权利要求8所述的装置,所述用户分层请求包括:用户id;其中,所述用户数据获取模块,用于接收所述用户数据并在数据库中存储;根据所述用户id在所述数据库中获取所述用户数据;其中,所述用户数据包括:存储在数据库中的用户操作行为数据。12.如权利要求11所述的装置,其中,所述用户数据获取模块,具体用于设置消息队列,并对所述消息队列设置对应的数据处理任务;其中,所述消息队列用于接收所述用户数据;启动所述数据处理任务,并使用所述数据处理任务监听对应的消息队列;使用所述数据处理任务实时从所述消息队列中提取所述用户数据,并将所述用户数据存储在所述数据库中。13.如权利要求11所述的装置,其中,所述指标计算模块,具体用于生成与各个分层指标信息相对应的查询信息;使用查询引擎并基于所述查询信息,在所述用户操作行为数据中进行查询处理;根据查询处理结果获取与各个分层指标信息相对应的指标值。14.一种用户层级的确定装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至7中任一项所述的方法。15.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如权利要求1至7中任一项所述的方法。

技术总结
本公开提供了一种用户层级的确定方法、装置以及存储介质,其中的方法包括:根据用户分层请求获取对应的用户数据,基于分层指标信息对用户数据进行指标计算处理,获取与分层指标信息相对应的指标值;将指标值与分层规则表达式进行匹配处理,基于匹配成功的分层规则表达式确定用户层级。本公开的方法、装置以及存储介质,通过将用户分层的指标和规则分离,能够避免sql语句的复杂性并减少解析压力,可以减少对资源的占用,减少响应时间;能够支持用户分层标签数量的扩充,满足生产系统的需求。满足生产系统的需求。满足生产系统的需求。


技术研发人员:陈葵 王书兴
受保护的技术使用者:北京京东世纪贸易有限公司
技术研发日:2022.01.06
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐