CN113703967A - 数据处理方法、装置、存储介质和电子装置 - Google Patents
数据处理方法、装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN113703967A CN113703967A CN202110921425.6A CN202110921425A CN113703967A CN 113703967 A CN113703967 A CN 113703967A CN 202110921425 A CN202110921425 A CN 202110921425A CN 113703967 A CN113703967 A CN 113703967A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- target object
- policy
- policy data
- 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
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据处理方法、装置、存储介质和电子装置。该方法包括:获取多个目标策略数据;获取与目标策略数据相匹配的第一目标对象,其中,第一目标对象的行为数据满足目标策略数据中的目标触发条件;将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象。通过本发明,达到了提高对行为数据进行检测的效率的技术效果。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据处理方法、装置、存储介质和电子装置。
背景技术
目前,为了最大化地发挥用户生命周期价值,在用户运营中,有非常多场景需要对用户进行触达,以便与用户保持长期的联系。业务的常见诉求是:制定一个策略,针对特定的用户群体,若用户群体中的用户做了某些设定的行为,则对其进行触发。
在相关技术中,通常是基于某一计算框架,针对每个策略,起一个进程,然后一次性加载用户名单到内存中,消费开源流处理平台(Kafka)中的数据,判断用户行为是否满足每个策略设定的实时触发要求。
由于业务上需要同时运行的策略数众多,几十多个甚至上百个,每个策略单独通过一个进程进行检测,则占用机器的资源大,同时会影响数据的处理性能,存在对行为数据进行检测的效率低的技术问题。
针对现有技术中对行为数据进行检测的效率的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据处理方法、装置、存储介质和电子装置,以至少解决对行为数据进行检测的效率的技术问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据处理方法。该方法可以包括:获取多个目标策略数据;获取与目标策略数据相匹配的第一目标对象,其中,第一目标对象的行为数据满足目标策略数据中的目标触发条件;将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象。
可选地,该方法还包括:获取目标策略数据中的第一目标对象集;将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象,包括:确定第一目标对象处于第一目标对象集,则将目标数据推送至第一目标对象。
可选地,获取目标策略数据中的第一目标对象集,包括:加载并遍历目标策略数据中的第一目标对象集。
可选地,该方法还包括:确定遍历到的第一目标对象集未处于第一布隆过滤器中,则对第一目标对象集进行哈希处理,得到第一位图;将第一位图添加至第一布隆过滤器中。
可选地,确定第一目标对象处于第一目标对象集,则将目标数据推送至第一目标对象,包括:确定第一目标对象处于第一布隆过滤器中,则将目标数据推送至第一目标对象。
可选地,在获取多个目标策略数据之后,该方法还包括:获取目标策略数据中的第二目标对象集;禁止将目标数据推送至第二目标对象集中的第二目标对象。
可选地,获取目标策略数据中的第二目标对象集,包括:加载并遍历目标策略数据中的第二目标对象集。
可选地,该方法还包括:确定遍历到的第二目标对象集未处于第二布隆过滤器中,则对第二目标对象集进行哈希处理,得到第二位图;将第二位图添加至第二布隆过滤器中。
可选地,禁止将目标数据推送至第二目标对象集中的第二目标对象,包括:确定第二目标对象处于第二布隆过滤器中,则禁止将目标数据推送至第二目标对象。
可选地,该方法还包括:获取与目标策略数据相关联的第一日志,并在第一日志中获取行为数据。
可选地,该方法还包括:确定目标类型的第二日志;在多个目标策略数据中,获取与第二日志相关联的目标数量的第一目标策略数据;确定第二日志中的行为数据满足第二目标策略数据中的第一目标触发条件,其中,目标数量的第一目标策略数据包括第二目标策略数据;将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象,包括:将第二目标策略数据中与第一目标触发条件对应的目标数据,推送至与第二目标策略数据相匹配的第一目标对象。
为了实现上述目的,根据本发明的另一方面,提供了一种数据处理装置。该装置可以包括:第一获取单元,用于获取多个目标策略数据;第二获取单元,用于获取与目标策略数据相匹配的第一目标对象,其中,第一目标对象的行为数据满足目标策略数据中的目标触发条件;推送单元,用于将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象。
为了实现上述目的,根据本发明的另一方面,提供了一种计算机可读存储介质。该计算机可读存储介质中存储有计算机程序,其中,在计算机程序被处理器运行时控制计算机可读存储介质所在设备执行本发明实施例的数据处理方法。
为了实现上述目的,根据本发明的另一方面,提供了一种电子装置。该电子装置包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明实施例的数据处理的方法。
在该实施例的数据处理装置中,获取多个目标策略数据;获取与目标策略数据相匹配的第一目标对象,其中,第一目标对象的行为数据满足目标策略数据中的目标触发条件;将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象。也就是说,本申请的多个目标策略数据可以同时运行,减少机器资源,并且会实时获取各个目标策略数据下满足目标触发条件的第一目标对象,对其推送对应的目标数据,实现了对第一目标对象的行为进行实时检测并触达的目的,避免了每个策略单独通过一个进程进行检测,则占用机器的资源大,影响数据的处理性能,从而解决了对行为数据进行检测的效率低的技术问题,达到了提高对行为数据进行检测的效率。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种数据处理方法的流程图;
图3是根据本发明实施例的一种策略数据的示意图;
图4是根据本发明实施例的一种基于Flink的海量用户实时行为的并行检测的示意图;
图5是根据本发明实施例的一种业务定义策略的示意图;
图6是根据本发明实施例的一种Flink实时检测程序样例的示意图;
图7是根据本发明实施例的一种加载策略名单生成布隆过滤器的方法的流程图;
图8是根据本发明实施例的一种日志和策略的遍历逻辑说明的示意图;
图9是根据本发明实施例的一种三元组的示意图;
图10是根据本发明实施例的一种数据处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种数据处理的方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的一种数据处理方法,图2是根据本发明实施例的一种数据处理方法的流程图。如图2所示,该方法可以包括如下步骤:
步骤S202,获取多个目标策略数据。
在本发明上述步骤S202提供的技术方案中,目标策略数据可以用于表示当目标对象的行为数据满足触发条件时,与触发条件对应的数据允许推送至目标对象,比如,针对一个目标策略数据M而言,其包括触发条件和对应的数据,目标对象的数量可以为多个,多个目标对象可以包括目标对象A和目标对象B,目标对象A的行为数据和目标对象B的行为数据均满足目标策略数据M中的触发条件,则可以将目标策略数据M中与触发条件对应的数据均推送至目标对象A和目标对象B。
在该实施例中,当前需要运行的多个目标策略数据可以由业务在前端的操作界面上进行配置,该每个目标策略数据可以为与策略相关的所有数据,比如,为该策略配置的选择分群、黑名单、触发条件、最大发布量、推送内容等,还可以包括策略标识、策略名、创建人、策略分类、生命周期、创建日期、发布状态、灰度机制和进度、发布量和成功量等。
举例而言,该实施例的上述目标策略数据可以是一些业务制定的在游戏应用里,用户实时玩了某些类型的玩法,就推送相应内容,比如,用户玩某种玩法失败了,则向其推送攻略,或者玩某个玩法则向其推荐一些法宝,以促进玩家继续玩或者付费。
可选地,该实施例的前端可以将业务配置好的多个目标策略数据经由后端提供的接口,写入到目标存储位置进行存储,该目标存储位置可以为数据库的策略配置表(策略表),其中,数据库可以为分布式文件存储的数据库(mongo)。
可选地,该实施例可以通过策略配置解析模块读取数据库中的策略配置表,从而得到上述多个目标策略数据。可选地,上述策略配置解析模块还可以读取每个目标策略数据对应的实时标签的信息,该实时标签可以用于表示日志中的字段的取值。
随着业务不断发展,对于用户触达的要求的时效性也越来越高,存在越来越多需要实时检测和触达用户的业务场景,比如,在线生日祝福、升级实时推送、结拜实时恭喜、言论检测等。因而,该实施例的上述多个目标策略数据是针对实时触达用户而制定的策略数据,从而触发条件可以为实时触发条件,也可以称为实时条件、实时触发要求。
步骤S204,获取与目标策略数据相匹配的第一目标对象,其中,第一目标对象的行为数据满足目标策略数据中的目标触发条件。
在本发明上述步骤S204提供的技术方案中,在获取多个目标策略数据之后,可以获取与目标策略数据相匹配的第一目标对象。
在该实施例中,目标策略数据中可以包括目标触发条件,该目标触发条件可以为业务在前端页面配置实时策略时,在圈定人群处选择配置的实时触发条件,该实施例可以实时检测目标对象的行为数据,如果检测到第一目标对象的行为数据(真实行为数据)满足对应的目标策略数据中设定的目标触发条件,则确定该第一目标对象是与对应的目标策略数据是相匹配的,进而获取与目标策略数据相匹配的第一目标对象(对象名单),该第一目标对象的数量可以很大,可以是百万级别甚至千万级别。
举例而言,针对目标策略数据M,其可以包括目标触发条件。该实施例可以实时检测一个或多个目标对象的行为数据,如果检测到一个或多个目标对象中的第一目标对象的行为数据(真实行为数据)满足目标策略数据M中设定的目标触发条件,则确定该第一目标对象是与对应的目标策略数据是相匹配的,比如,检测到第一目标对象C的行为数据满足目标策略数据M中设定的目标触发条件,第一目标对象D的行为数据满足目标策略数据M中设定的目标触发条件,则确定该第一目标对象C和第一目标对象D是与目标策略数据M相匹配的,进而获取与目标策略数据M相匹配的第一目标对象C和第一目标对象D(对象名单)。需要说明的是,第一目标对象C和第一目标对象D仅为举例,第一目标对象的数量可以很大,可以是百万级别甚至千万级别。
该实施例可以得到满足各个目标策略数据的目标触发条件的对象名单,并对其实时输出,该对象名单包括了上述第一目标对象,可以是用户名单,第一目标对象可以为用户在进行登录时所使用的账号,从而达到实时圈出各个策略下的满足触发条件的用户的目的。
可选地,该实施例在后端(数据侧)部署一套基于开源流处理框架(Flink)的海量用户行为实时并行检测程序(在后台实时运行),用于实时检测哪些用户的行为数据,满足哪些目标策略数据设定的目标触发条件,来获取上述第一目标对象,使得数据处理速度快。
可选地,该实施例可以读取用户的行为日志,该行为日志可以是用户海量行为日志,可以为游戏实时数据流。该实施例可以从行为日志中获取目标对象的行为数据,判断该行为数据满足多个目标策略数据中的哪些目标策略数据下的目标触发条件,进而将目标对象和行为数据满足的目标触发条件所在的目标策略数据相匹配。可选地,该实施例可以基于Flink从对应应用的Kafka中实时读取行为日志,比如,可以通过实时日志加载模块读取对应游戏应用的Kafka数据写入操作基本单元(Kafkatopic)中的游戏实时日志流。
作为一种可选的示例,对于在线生日祝福场景,上述目标触发条件可以为用户登录且日志中的生日信息刚好为今天的条件。再比如,对于升级实时推送场景,上述目标触发条件可以为用户升级且升到特定等级的条件。
步骤S206,将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象。
在本发明上述步骤S206提供的技术方案中,在获取与目标策略数据相匹配的第一目标对象之后,可以将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象。
在该实施例中,目标策略数据中可以包括目标数据,该目标数据为当第一目标对象的行为数据满足对应的目标触发条件时,可以向第一目标对象推送目标数据。比如,目标策略数据M中可以包括目标数据,该目标数据为当第一目标对象C和第一目标对象D的行为数据满足对应的目标触发条件时,可以向第一目标对象C和第一目标对象D推送相关内容数据。
举例而言,对于在线生日祝福场景,目标数据可以为用于表示贺卡的数据。再比如,对于升级实时推送场景,目标数据可以为与用户等级对应的攻略信息和/或一些礼包,可以是攻略链接和/或礼包链接,从而实现了对用户实时触达的目的。
需要说明的是,该实施例的实时触达,相对于常规的隔天(T+1)或者隔几个小时(H+1)触达而言,是一种对于数据时效性要求更高的触达,需要用户做了某个行为之后,立即给用户推送相关的内容,从而为企业进行赋能,比如,上述的在线生日祝福场景和升级实时推送场景,如不能做到实时触达,效果则大打折扣。
可选地,该实施例在实现将目标数据推送至第一目标对象时,可以是通过短信、邮件、电话、应用推送等,此处不做具体限制。
该实施例可以在获取与目标策略数据相匹配的第一目标对象之后,可以与目标策略数据相匹配的第一目标对象输送给下游,可以将其写入到另一个Kafkatopic中,利用推送服务,实时消费Kafka topic中的数据,将与目标触发条件对应的目标数据推送至第一目标对象,从而实现对用户进行推送触达的目的。
通过本申请上述步骤S202至步骤S206,获取多个目标策略数据;获取与目标策略数据相匹配的第一目标对象,其中,第一目标对象的行为数据满足目标策略数据中的目标触发条件;将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象。也就是说,本申请的多个目标策略数据可以同时运行,减少机器资源,并且会实时获取各个目标策略数据下满足目标触发条件的第一目标对象,对其推送对应的目标数据,实现了对第一目标对象的行为进行实时检测并触达的目的,避免了每个策略单独通过一个进程进行检测,则占用机器的资源大,影响数据的处理性能,从而解决了对行为数据进行检测的效率低的技术问题,达到了提高对行为数据进行检测的效率。
下面对该实施例的上述方法进行进一步介绍。
作为一种可选的实施方式,该方法还包括:获取目标策略数据中的第一目标对象集;将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象,包括:确定第一目标对象处于第一目标对象集,则将目标数据推送至第一目标对象。
在该实施例中,目标策略数据在业务进行配置时可以选择分群,则这类目标策略数据针对特定的第一目标对象集生效,比如,目标策略数据M针对特定的第一目标对象集生效,目标策略数据N针对特定的第一目标对象集生效。该第一目标对象集可以包括多个对象,其数量可以很大,可以是百万级别甚至千万级别,可选地,上述第一目标对象集可以为目标策略数据的策略名单,可以是分布式策略名单。
可选地,该实施例可以将上述第一目标对象集的文件存储在分布式文件系统(HDFS)文件中,可以通过策略名单加载模块读取(加载)已经存储在HDFS文件上的第一目标对象集的文件。可选地,该实施例可以先判断第一目标对象的行为数据是否满足目标触发条件,如果判断出第一目标对象的行为数据满足目标触发条件,则判断第一目标对象是否处于上述目标触发条件对应的第一目标对象集中,如果判断出第一目标对象处于第一目标对象集,则可以将目标数据推送至第一目标对象。
举例而言,该实施例的第一目标对象C和第一目标对象D的行为数据均满足目标策略数据M中的目标触发条件,则进一步判断第一目标对象C和第一目标对象D是否也处于上述目标触发条件对应的第一目标对象集中,如果判断出第一目标对象C和第一目标对象D处于第一目标对象集,则可以将目标数据均推送至第一目标对象C和第一目标对象D。
作为一种可选的实施方式,获取目标策略数据中的第一目标对象集,包括:加载并遍历目标策略数据中的第一目标对象集。
在该实施例中,可以基于分布缓存实现对每个目标策略数据中的第一目标对象集的加载,生成一个迭代器。可选地,该实施例可以自定义Flink的过程处理函数(ProcessFunction),在用于负责初始化的系统调用函数(open函数)中,基于分布式缓存(getDistributedCache)实现策略名单的加载,生成上述迭代器,然后对迭代器中的目标策略数据中的第一目标对象集进行遍历,比如,对于目标策略数据M中的第一目标对象集进行遍历,对于目标策略数据N中的第一目标对象集进行遍历,从而该实施例通过迭代器可以实现在读取第一目标对象集时,可以边加载目标策略数据中的第一目标对象集,边遍历目标策略数据中的第一目标对象集,而不是将所有目标策略数据中的第一目标对象集一次性全部现加载到内存,再对所有目标策略数据中第一目标对象集进行遍历,从而降低了内存的占用率,以及影响目标数据推送的时效性。
作为一种可选的实施方式,该方法还包括:确定遍历到的第一目标对象集未处于第一布隆过滤器中,则对第一目标对象集进行哈希处理,得到第一位图;将第一位图添加至第一布隆过滤器中。
在该实施例中,可以通过遍历目标策略数据中的第一目标对象集来生成第一布隆过滤器(bloomFilter),该第一布隆过滤器是基于一个开源库进行实现的,为一种空间效率高的概率型数据结构,用于检测集合中是否存在特定的元素。可选地,该实施例可以初始化第一布隆过滤器,然后遍历目标策略数据中的第一目标对象集,如果遍历到的第一目标对象集未处于第一布隆过滤器中,则将第一目标对象集添加至第一布隆过滤器中,从而该第一布隆器可以称为策略名单布隆过滤器。在将第一目标对象集添加至第一布隆过滤器的过程中,开源库内部会对第一目标对象集进行哈希计算,将第一目标对象集转化为第一位图进行存储,比如,在开源库内使用多个哈希函数,将第一目标对象集映射到位图结构中,得到第一位图,这样不仅可以提升查询效率,也可以节省大量的内存空间。
可选地,该实施例可以将第一目标对象集转化为键(key),比如,遍历第一目标对象集,生成策略标识(ID)+角色ID+服务器,将其作为唯一的key,判断该键是否处于第一布隆过滤器中,如果不处于,则将其添加至第一布隆过滤器中。
由上述可知,该实施例的第一布隆过滤器的生成过程,本质就是遍历到的第一目标对象集经过哈希变成第一位图存储的过程。
作为一种可选的实施方式,确定第一目标对象处于第一目标对象集,则将目标数据推送至第一目标对象,包括:确定第一目标对象处于第一布隆过滤器中,则将目标数据推送至第一目标对象。
在该实施例中,在确定第一目标对象处于第一目标对象集时,可以判断第一目标对象是否处于第一布隆过滤器中的第一目标对象集,如果是,则将目标数据推送至第一目标对象。
举例而言,在确定第一目标对象C和第一目标对象D处于第一目标对象集时,可以判断第一目标对象C和第一目标对象D是否处于第一布隆过滤器中的第一目标对象集,如果是,则将目标数据推送至C和第一目标对象D。
作为一种可选的实施方式,在步骤S202,获取多个目标策略数据之后,该方法还包括:获取目标策略数据中的第二目标对象集;禁止将目标数据推送至第二目标对象集中的第二目标对象。
在该实施例中,目标策略数据在业务进行配置时可以选择黑名单,则这类目标策略数据针对特定的第二目标对象集需要过滤掉,也即,该第二目标对象集在数据推送中,是需要过滤掉的策略名单。该第二目标对象集可以包括多个对象,其数量可以很大,可以是百万级别甚至千万级别,可选地,上述第二目标对象集可以为目标策略数据的策略名单,可以是分布式策略名单。
该实施例可以将上述第二目标对象集的文件存储在HDFS文件中,可以通过策略名单加载模块读取(加载)已经存储在HDFS文件上的第二目标对象集的文件。
在该实施例中,第二目标对象的行为数据虽然是满足目标策略数据中的目标触发条件的,但是如果第二目标对象处于上述第二目标对象集,则禁止将目标数据推送至第二目标对象。
举例而言,第二目标对象E和第二目标对象F的行为数据虽然是满足目标策略数据M中的目标触发条件的,但是如果第二目标对象E和第二目标对象F处于上述第二目标对象集,则禁止将目标数据推送至,第二目标对象E和第二目标对象F。
作为一种可选的实施方式,获取与目标策略数据中的第二目标对象集,包括:加载并遍历目标策略数据中的第二目标对象集。
在该实施例中,可以基于分布缓存实现对目标策略数据中的第二目标对象集的加载,生成一个迭代器,然后对迭代器中的目标策略数据中的第二目标对象集进行遍历,从而该实施例通过迭代器可以实现在读取第二目标对象集时,可以边加载目标策略数据中的第二目标对象集,边遍历目标策略数据中的第二目标对象集,而不是将所有目标策略数据中的第二目标对象集一次性全部现加载到内存,再对所有目标策略数据中第二目标对象集进行遍历,从而降低了内存的占用率。
举例而言,可以基于分布缓存实现对目标策略数据M中的第二目标对象集的加载,生成一个迭代器,然后对迭代器中的目标策略数据M中的第二目标对象集进行遍历,也可以基于分布缓存实现对目标策略数据N中的第二目标对象集的加载,生成一个迭代器,然后对迭代器中的目标策略数据N中的第二目标对象集进行遍历。
作为一种可选的实施方式,该方法还包括:确定遍历到的第二目标对象集未处于第二布隆过滤器中,则对第二目标对象集进行哈希处理,得到第二位图;将第二位图添加至第二布隆过滤器中。
在该实施例中,可以通过遍历目标策略数据中的第二目标对象集来生成第二布隆过滤器。可选地,该实施例可以初始化第二布隆过滤器,然后遍历目标策略数据中的第二目标对象集,如果遍历到的第二目标对象集未处于第二布隆过滤器中,则将第二目标对象集添加至第二布隆过滤器中,从而该第二布隆器可以称为策略黑名单布隆过滤器。在将第一目标对象集添加至第二布隆过滤器的过程中,开源库内部会对第二目标对象集进行哈希计算,将第二目标对象集转化为第二位图进行存储,比如,开源库内使用多个哈希函数,将第二目标对象集映射到位图结构中,得到第二位图,这样不仅可以提升查询效率,也可以节省大量的内存空间。
可选地,该实施例可以将第二目标对象集转化为键(key),比如,遍历第二目标对象集,生成策略标识(ID)+角色ID+服务器,将其作为唯一的key,判断该键是否处于第二布隆过滤器中,如果不处于,则将其添加至第二布隆过滤器中。
由上述可知,该实施例的第二布隆过滤器的生成过程,本质就是遍历到的第二目标对象集经过哈希变成第一位图存储的过程。
作为一种可选的实施方式,禁止将目标数据推送至第二目标对象集中的第二目标对象,包括:确定第二目标对象处于第二布隆过滤器中,则禁止将目标数据推送至第二目标对象。
在该实施例中,在确定第二目标对象处于第二目标对象集时,可以判断第二目标对象是否处于第二布隆过滤器中的第二目标对象集,如果是,则禁止将目标数据推送至第二目标对象。
举例而言,在确定第二目标对象E和第二目标对象F处于第二目标对象集时,可以判断第二目标对象E和第二目标对象F是否处于第二布隆过滤器中的第二目标对象集,如果是,则禁止将目标数据推送至第二目标对象E和第二目标对象F。
需要说明的是,在该实施例中,如果未选择特定的分群或者黑名单,针对这类型的目标策略数据,可以不需要针对特定的策略名单生效,可以是用户任意的行为数据满足目标触发条件,则都会向其推送目标触发条件所在的目标策略数据对应的目标数据。该类型的目标策略数据不需要生成布隆过滤器,判断的逻辑只需要看用户的行为数据是否满足设定的目标触发条件,满足就将名单给到推送服务以进行触达。
在该实施例中,可以在用于遍历逻辑的processElement函数中,对用户的行为日志以及多个目标策略数据进行如下逻辑判断。
作为一种可选的实施方式,该方法还包括:获取与目标策略数据相关联的第一日志,并在第一日志中获取行为数据。
在该实施例中,对于读取到的目标策略数据,在对其进行遍历时,可以获取与目标策略数据相关联的第一日志,该第一日志也即用户的行为日志,可以为用户实时行为日志。该实施例可以根据读取到的多个目标策略数据,确定当前所需要运行的多个目标策略数据会涉及哪些第一日志,可以对不需要进行判断的其它日志直接过滤掉,进而减少需要遍历的日志的数量。
举例而言,游戏应用有10个目标策略数据需要运行,该10个目标策略数据总共涉及4个日志,分别为登录日志、付费日志、玩法日志、XX日志,但是Kafka中的用户行为日志还包括很多其它类型的日志,这些不相关的日志就可以直接过滤掉,以减少数据处理量。
作为一种可选的实施方式,该方法还包括:确定目标类型的第二日志;在多个目标策略数据中,获取与第二日志相关联的目标数量的第一目标策略数据;确定第二日志中的行为数据满足第二目标策略数据中的第一目标触发条件,其中,目标数量的第一目标策略数据包括第二目标策略数据;将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象,包括:将第二目标策略数据中与第一目标触发条件对应的目标数据,推送至与第二目标策略数据相匹配的第一目标对象。
在该实施例中,对于需要进行逻辑判断的目标类型的第二日志,可以在多个目标策略数据中,获取与上述第二日志相关联的目标数量的第一目标策略数据,也即,确定第二日志与哪些目标策略数据是相关的,比如,第二日志为登录日志,则其可以与目标策略数据1、目标策略数据2和目标策略数据3有关,则只遍历目标策略数据1、目标策略数据2和目标策略数据3,而不需要遍历其它的目标策略数据,从而减少该第二日志需要遍历的目标策略数据的数量。针对目标数量的第一目标策略数据,可以依次对其进行判断,判断第二日志中的行为数据是否满足第一目标策略数据中的第一目标触发条件,如果行为数据满足第一目标触发条件,则对应的第一目标策略数据为第二目标策略数据,可以将第二目标策略数据中与第一目标触发条件对应的目标数据,推送至与第二目标策略数据相匹配的第一目标对象。
如果该实施例不进行上述方法,则所有的日志都要遍历多个目标策略数据,看看日志中的行为数据是否满足哪个目标策略数据中的触发条件,从而增加了数据处理量,而通过上述方法,可以显著降低数据处理量。
可选地,在该实施例中,在判断行为数据是否满足目标策略数据中的目标触发条件时,核心在于根据3元组的判断,也即,实时标签以什么逻辑关系满足什么取值,其中,逻辑关系可以为“=”、“!=”、“>”、“>=”、“<”、“<=”、包括、不包含、在里面、不在里面等,比如,实时标签为玩家登陆日志中等级,逻辑关系为“>=”,取值为10,也即,玩家登录日志中等级>=10。
在该实施例中,业务可以进行组合,比如,在角色同步日志roleSrc中,如果用户reason字段=player-upgrade(表示升级),等级字段=45(即升级到45级),然后账号account字段取某值,它的门派是12,就推送相关内容。
该实施例可以为一种海量名单实时行为的高效并行检测方法,可以应用在数据量大,对数据处理性能要求高、用户名单大的场景,可以实现多个策略的并行检测。业务可以在前端页面配置目标策略数据时,在圈定人群处选择配置目标触发条件;基于Flink的海量用户行为实时并行检测程序,会实时圈出各个目标策略数据所满足目标触发条件的目标对象,输送给下游;可以将该目标对象写入到一个Kafka topic中,利用推送服务实时消费Kafka topic数据,对至目标对象进行推送触达,解决了对行为数据进行检测的效率低的技术问题,达到了提高对行为数据进行检测的效率。
下面结合优选的实施方式对本发明实施例的技术方案进行进一步地举例介绍,具体以游戏应用进行举例介绍。
为了最大发挥用户生命周期价值,在游戏用户运营中,有非常多的场景需要对用户进行触达,以便与用户保持长期的联系,比如,平台引流、游戏维系、活动促活推广、用户流失召回等,触达方式可以包括:短信、邮件、电话、应用推送等。
随着业务不断发展,对于触达的要求的时效性也越来越高,存在越来越多需要实时触达玩家的业务场景,该实时触达,相对于常规的隔天(T+1)或者隔几个小时(H+1)触达而言,是一种对于数据时效性要求更高的触达。经常需要用户做了某个行为之后,立即给用户推送相关的内容。
举例而言,对于在线生日祝福场景,可以实时检测用户登录日志中带有的生日信息,如果用户登录了且刚好是今天生日,则直接给用户推送贺卡进行祝福。如果隔天才推送,或者用户都退出来了才推送,就没有意义了。
再举例而言,对于升级时推送,业务需要在用户升级到特定等级的时候,推送对应等级的攻略信息或者发放一些礼包。这时业务配置策略,可以实时检测用户升级至日志中的等级信息,如果一旦等级满足对应的要求,则向用户推送相关攻略链接或者礼包链接。如果没有实时推送,那么效果不太理想的。
图3是根据本发明实施例的一种策略数据的示意图。如图3所示,策略数据可以包括策略集名称、策略ID及策略名、创建人、策略分类、生命周期、创建日期、发布状态、灰度机制和进度、发布量和成功量等。在该实施例中,策略可以是一些业务制定的在游戏里面用户实时玩了某些类型的玩法,就推送的策略,比如,玩某种玩法失败了给推送攻略,玩某个玩法给推荐一些法宝,以促进玩家继续玩或者付费。
类似上面例子,其实有很多存在用户实时做了某些行为,就要立即进行推送的场景。但这些都是常规的隔天触达或隔几个小时触达所不能满足的。
业务的常见诉求是,制定一个策略,针对特定的群体,若群体中的用户实时做了某些设定的行为,则进行触发。
在相关技术中,基于某一计算框架,针对每个策略,单独起一个进程,加载用户名单到内存中,消费实时Kafka数据,判断用户行为是否满足每个策略设定的实时触发要求,以进行推送。
由于业务上需要同时运行策略数众多,几十多个甚至上百个,每个策略单独进程检测,则占用机器资源大;用户名单通常很大,百万甚至千万级别,加载需要耗费大量内存,同时会影响数据的处理性能,影响推送的时效性;另外,传统的基于非Flink的技术框架,在处理海量数据时,性能存在瓶颈;对于数据量大的场景,比如,在热门头部游戏(阴阳师、梦幻西游手游等),用户产生的真实行为数据,日常达到了几十万每秒的QPS。
而该实施例针对上述问题,实现了一种基于Flink实现海量用户行为实时并行检测的方法,基于业界最领先的Flink框架实现,数据处理速度快;优化检测逻辑,实现多个策略的并行检测,减少机器资源;将海量用户名单转化为位图存储,基于布隆过滤器实现名单过滤,大大减少内存使用量,从而实现了在有效减少机器资源的同时,可以满足业务多策略同时运行,实现海量用户行为实时检测并触达,提高了海量用户实时行为的并行检测效率。下面对该实施例的方案进行进一步介绍。
图4是根据本发明实施例的一种基于Flink的海量用户实时行为的并行检测的示意图。如图4所示,该实施例在Flink中,可以通过策略配置解析模块读取mongo中策略配置表,还可以读取策略对应实时标签信息;通过实时日志加载模块读取来自Kafka的游戏实时日志流;通过策略名单加载模块读取存储在HDFS上的策略名单文件,可以通过分布式缓存加载名单生成布隆过滤器;并行实时检测模块包括实时策略检测程序(在后台实时运行),用于核心的并行检测逻辑,可以检测游戏实时日志流中哪些用户的行为数据满足哪些策略设定的实时触发条件,并且用户还在布隆过滤器中的策略名单文件中,从而得到推送名单,给到推送服务进行推送。
该实施例可以在有效减少机器资源的同时,提高海量用户实时行为检测触达的时效性,同时提高业务可制定和可同时运行的实时触达策略数量,为企业进行赋能。
下对该实施例的上述基于Flink的海量用户行为实时并行检测方案进行进一步介绍。
步骤1,当业务在前端页面配置策略时,其中圈定人群处可以选择配置实时触发条件,如图5,该图5是根据本发明实施例的一种业务定义策略的示意图,需要配置选择分群、黑名单、触发条件、最大发布量等。
步骤2,前端将业务配置的实时策略,经由后端提供的接口,写入到数据库的策略表进行存储。
步骤3,基于Flink的海量用户行为实时并行检测程序,会实时圈出各个策略满足要求的用户名单,将其输送给下游,利用推送服务向用户名单中的对象推送数据。
图6是根据本发明实施例的一种Flink实时检测程序样例的示意图。如图6所示,针对某个游戏下正在实时运行的策略数据,可以执行以下步骤:
步骤S601,实时读取Kafka中用户的行为数据。
步骤S602,利用程序检测逻辑定义一些算子,用于检测哪些用户的行为数据满足哪些策略数据设定的实时触发条件。
步骤S603,实时输出满足策略数据中的实时触发条件的用户名单。
下面对该实施例的上述步骤3进行进一步介绍。
步骤3.1,基于Flink从对应游戏的KafkaTopic中实时读取游戏日志流。
步骤3.2,从策略的配置表中,加载策略数据的配置,以及策略数据中所配置的触发条件。
步骤3.3,如果实时策略选择了分群或者黑名单,则从已经计算好的HDFS文件中加载对应的策略名单。
在该实施例中,如果业务在前端未选择特定的分群或者黑名单,针对该类型的策略,不需要针对特定的策略名单生效,任意用户的真实行为数据只要满足实时触发条件,都会向用户推送对应的内容。该类型策略不需要生成布隆过滤器,判断的逻辑只需要看用户的行为数据是否满足设定的实时触发条件,满足就名单给到推送服务那边,逻辑简单。
如果业务在前端选择了分群或者黑名单,这类策略需要针对特定的策略名单才能生效,或者针对特定的黑名单需要过滤掉。这类型策略,不仅需要用户的行为数据满足设定的实时触发条件,还需要用户在这个策略数据设定的策略名单或黑名单里面,这个名单在本技术方案中,会用于生成布隆过滤器。
步骤3.4,基于自定义Flink的ProcessFunction,在用于初始化的open函数中,基于分布式缓存实现策略名单的加载,生成迭代器,遍历迭代器,可以对里面的策略名单进行遍历,生成布隆过滤器中的策略名单可以基于位图存储,从而可以大大减少内存使用。
图7是根据本发明实施例的一种加载策略名单生成布隆过滤器的方法的流程图。
如图7所示,giant方法可以包括以下步骤:
步骤S701,初始化两个布隆过滤器,一个存放策略名单(可以触发),一个存放策略黑名单。
步骤S702,通过getDistributedCache函数获取分布式策略名单。
步骤S703,将分布式策略名单加载进来,生成迭代器。
在该实施例中,上述迭代器就是在读取策略名单的文件时,可以边读取边遍历,而不是一次性全部加载到内存中,这样使得数据占用内存小很多。
步骤S704,如果策略名单布隆过滤器不包含名单,则将这个名单添加进行去;如果策略黑名单布隆过滤器还不包括名单,则将其添加进行。
该实施例的策略名单布隆过滤器包含了所有策略数据对应的允许推送数据的用户名单;策略黑名单布隆过滤器包括了所有策略数据对应的需要过滤掉的用户名单。
可选地,在该实施例中,遍历策略名单,生成策略ID+角色ID+服务器作为唯一的key,如果这个key不包含在布隆过滤器里面,就将其添加进去。在将key添加至布隆过滤器的过程中,开源库内部会对其进行哈希处理,将其变成位图进行存储。
该实施例可以利用上面生成好的布隆过滤器,当一个用户满足某个策略数据的实时触发条件时,再进一步判断这个用户是否在这个布隆过滤器里面,以对用户进行触达或过滤。
由上述可知,该实施例的布隆过滤器的生成过程,本质就是海量用户名单经过哈希变成位图存储的过程。
步骤3.5,在用于进行遍历逻辑processElement函数中,对数据流进行以下逻辑判断。
步骤3.6,根据读取到策略配置,可知道当前所有需要运行的策略会涉及到哪些用户行为日志(对不需要进行判断的日志直接过滤掉,减少需要遍历的日志)。
图8是根据本发明实施例的一种日志和策略的遍历逻辑说明的示意图。如图8所示,假设现在某个游戏有10个策略需要运行,这10个策略总共涉及4个日志,分别是登录日志、付费日志、玩法日志和XX日志。其中,登录日志相关策略可以包括:策略数据1、策略数据2和策略数据3,付费日志相关策略可以包括:策略数据4、策略数据5和策略数据6;玩法日志相关策略可以包括:策略数据7和策略数据8;XX日志相关策略可以包括:策略数据9和策略数据10。
但是,Kafka中的用户的行为数据还包括很多其它类型的日志,该实施例可以对不相关的日志直接过滤掉,以减少需要遍历的日志。
步骤3.7,根据读取到策略配置,可以确定该用户的行为数据的日志跟哪些策略有关,以可减少该日志需要遍历的策略的数量。
可选地,如图8所示,如果需要进行逻辑判断的日志为登录日志,则只需要遍历策略数据1、策略数据2和策略数据3,而不需要遍历策略数据4至策略数据10,因而策略数据4至策略数据10与登录日志无关。
该实施例如果没有经过上面步骤3.6和步骤3.7这两个步骤,则所有日志的行为数据都需要遍历10个策略,以确定是否满足策略数据中的实时触发条件。而该实施例通过上述步骤3.6和步骤3.7可以使得数据的运算量大大降低。
步骤3.8,基于步骤3.7可得到需要遍历的策略,依次判断该用户的行为数据是否满足策略数据设定的实时触发条件。
步骤3.9,判断用户行为数据是否满足策略数据的实时触发条件,核心在于根据三元组的判断。
图9是根据本发明实施例的一种三元组的示意图。如图9所示,三元组本质就是实时标签(某个日志某字段的取值)以什么逻辑关系,满足什么取值,其中,逻辑关系可以为“=”、“!=”、“>”、“>=”、“<”、“<=”、包括、不包含、在里面、不在里面等,比如,实时标签为玩家登录日志中等级,逻辑关系为“>=”,取值为10。
在该实施例中,业务可以进行组合,在图5的基础上,可以应用一个实际案例,比如,在角色同步日志roleSrc中,如果用户reason字段=player-upgrade(表示升级),等级字段=45(即升级到45级了),然后账号account字段取某值,如果它的门派是12,则就可以推送相关内容。
步骤3.10,该实施例对于满足策略设定的实时触发条件,可以基于步骤3.4得到的布隆过滤器,判断用户是否在策略数据设备的用户名单里面。
步骤4,基于步骤3.10,可得到满足各个策略数据的实施触发条件的用户名单,最后实时输出符合要求名单,将其写入到另一个KafkaTopic中。
步骤5,利用推送服务,实时消费步骤4的KafkaTopic数据,对用户进行推送触达。
该实施例的上述方案着重在于在提高用户实时行为的检测效率,业务在前端页面配置策略数据时,在圈定人群处可以选择配置实时触发条件;基于Flink的海量用户行为实时并行检测程序,会实时圈出各个策略数据所满足要求的用户名单,输送给下游;可以将该用户名单写入到另一个KafkaTopic中,利用推送服务,实时消费KafkaTopic数据,进行推送触达。也就是说,该实施例实现了在用户日志数据流上的多个实时策略名单的并行检测,满足业务几十个甚至上百个策略同时运行的要求,可以显著提升数据处理性能,解决了海量用户行为的检测效率低的技术问题,达到了提高海量用户行为的检测效率的技术效果。
实施例3
本发明实施例还提供了一种数据处理装置。需要说明的是,该实施例的数据处理装置可以用于执行本发明实施例图2所示的数据处理方法。
图10是根据本发明实施例的一种数据处理装置的示意图。如图10所示,该数据处理装置100包括:第一获取单元101、第二获取单元102和推送单元103。
第一获取单元101,用于获取多个目标策略数据。
第二获取单元102,用于获取与目标策略数据相匹配的第一目标对象,其中,第一目标对象的行为数据满足目标策略数据中的目标触发条件。
推送单元103,用于将目标策略数据中与目标触发条件对应的目标数据,推送至第一目标对象。
在该实施例的数据处理装置中,多个目标策略数据可以同时运行,减少机器资源,并且会实时获取各个目标策略数据下满足目标触发条件的第一目标对象,对其推送对应的目标数据,实现了对第一目标对象的行为进行实时检测并触达的目的,避免了每个策略单独通过一个进程进行检测,则占用机器的资源大,影响数据的处理性能,从而解决了对行为数据进行检测的效率低的技术问题,达到了提高对行为数据进行检测的效率。
实施例4
本发明实施例还提供了一种计算机可读存储介质。该计算机可读存储介质中存储有计算机程序,其中,在计算机程序被处理器运行时控制计算机可读存储介质所在设备执本发明实施例的数据处理方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
获取多个目标策略数据;
获取与所述目标策略数据相匹配的第一目标对象,其中,所述第一目标对象的行为数据满足所述目标策略数据中的目标触发条件;
将所述目标策略数据中与所述目标触发条件对应的目标数据,推送至所述第一目标对象。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标策略数据中的第一目标对象集;
将所述目标策略数据中与所述目标触发条件对应的目标数据,推送至所述第一目标对象,包括:确定所述第一目标对象处于所述第一目标对象集,则将所述目标数据推送至所述第一目标对象。
3.根据权利要求2所述的方法,其特征在于,获取所述目标策略数据中的第一目标对象集,包括:
加载并遍历所述目标策略数据中的所述第一目标对象集。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定遍历到的所述第一目标对象集未处于第一布隆过滤器中,则对所述第一目标对象集进行哈希处理,得到第一位图;
将所述第一位图添加至所述第一布隆过滤器中。
5.根据权利要求4所述的方法,其特征在于,确定所述第一目标对象处于所述第一目标对象集,则将所述目标数据推送至所述第一目标对象,包括:
确定所述第一目标对象处于所述第一布隆过滤器中,则将所述目标数据推送至所述第一目标对象。
6.根据权利要求1所述的方法,其特征在于,在获取多个目标策略数据之后,所述方法还包括:
获取所述目标策略数据中的第二目标对象集;
禁止将所述目标数据推送至所述第二目标对象集中的第二目标对象。
7.根据权利要求6所述的方法,其特征在于,获取所述目标策略数据中的第二目标对象集,包括:
加载并遍历所述目标策略数据中的所述第二目标对象集。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
确定遍历到的所述第二目标对象集未处于第二布隆过滤器中,则对所述第二目标对象集进行哈希处理,得到第二位图;
将所述第二位图添加至所述第二布隆过滤器中。
9.根据权利要求8所述的方法,其特征在于,禁止将所述目标数据推送至所述第二目标对象集中的第二目标对象,包括:
确定所述第二目标对象处于所述第二布隆过滤器中,则禁止将所述目标数据推送至所述第二目标对象。
10.根据权利要求1-9中任意一项所述的方法,其特征在于,所述方法还包括:
获取与所述目标策略数据相关联的第一日志,并在所述第一日志中获取所述行为数据。
11.根据权利要求1-9中任意一项所述的方法,其特征在于,
所述方法还包括:确定目标类型的第二日志;在所述多个目标策略数据中,获取与所述第二日志相关联的目标数量的第一目标策略数据;确定所述第二日志中的所述行为数据满足第二目标策略数据中的第一目标触发条件,其中,所述目标数量的第一目标策略数据包括所述第二目标策略数据;
将所述目标策略数据中与所述目标触发条件对应的目标数据,推送至所述第一目标对象,包括:将所述第二目标策略数据中与所述第一目标触发条件对应的目标数据,推送至与所述第二目标策略数据相匹配的所述第一目标对象。
12.一种数据处理装置,其特征在于,包括:
第一获取单元,用于获取多个目标策略数据;
第二获取单元,用于获取与所述目标策略数据相匹配的第一目标对象,其中,所述第一目标对象的行为数据满足所述目标策略数据中的目标触发条件;
推送单元,用于将所述目标策略数据中与所述目标触发条件对应的目标数据,推送至所述第一目标对象。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,在所述计算机程序被处理器运行时控制所述计算机可读存储介质所在设备执行所述权利要求1至11任一项中所述的方法。
14.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为被所述处理器运行所述计算机程序以执行所述权利要求1至11任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110921425.6A CN113703967A (zh) | 2021-08-11 | 2021-08-11 | 数据处理方法、装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110921425.6A CN113703967A (zh) | 2021-08-11 | 2021-08-11 | 数据处理方法、装置、存储介质和电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113703967A true CN113703967A (zh) | 2021-11-26 |
Family
ID=78652350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110921425.6A Pending CN113703967A (zh) | 2021-08-11 | 2021-08-11 | 数据处理方法、装置、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113703967A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435367A (zh) * | 2023-11-07 | 2024-01-23 | 上海鱼尔网络科技有限公司 | 用户行为处理方法、装置、设备、存储介质和程序产品 |
-
2021
- 2021-08-11 CN CN202110921425.6A patent/CN113703967A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435367A (zh) * | 2023-11-07 | 2024-01-23 | 上海鱼尔网络科技有限公司 | 用户行为处理方法、装置、设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105763602B (zh) | 一种数据请求处理的方法、服务器及系统 | |
CN110399307A (zh) | 一种测试方法、测试平台及目标服务器 | |
CN108696399B (zh) | 业务服务的测试方法和装置 | |
CN104461742B (zh) | 计算设备优化方法及装置 | |
CN106484858A (zh) | 热点内容推送方法和装置 | |
CN101859425A (zh) | 一种提供应用列表的方法及装置 | |
CN109344126B (zh) | 贴图的处理方法、装置、存储介质和电子装置 | |
CN102724219A (zh) | 网络数据的计算机处理方法及系统 | |
CN111061505B (zh) | 基于机器学习的优化打ab包方法 | |
CN107147724A (zh) | 一种消息推送方法、服务器及计算机可读存储介质 | |
CN112767135B (zh) | 规则引擎的配置方法及装置、存储介质、计算机设备 | |
CN103138981A (zh) | 一种社交网络分析方法和装置 | |
CN111131368A (zh) | 消息推送方法和装置 | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN108200070A (zh) | 一种生成榜单的方法及装置 | |
CN107590144A (zh) | 一种文件存储方法和终端 | |
CN105512910A (zh) | 一种目标用户筛选方法和装置 | |
CN113703967A (zh) | 数据处理方法、装置、存储介质和电子装置 | |
CN111126928A (zh) | 对发布内容审核的方法和装置 | |
CN105354229B (zh) | 一种信息处理方法及电子设备 | |
CN113886393A (zh) | 数据处理方法、装置、存储介质和电子装置 | |
CN112671878B (zh) | 一种区块链的信息订阅方法、装置、服务器和存储介质 | |
CN109408471A (zh) | 一种基于匹配树的压缩包解压方法、装置及存储介质 | |
CN112286930A (zh) | redis业务方资源共享的方法、装置、存储介质及电子设备 | |
CN109067864B (zh) | 通知消息推送方法、装置及电子设备 |
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 |