CN113934732A - 用户画像数据的处理方法、装置、存储介质及电子设备 - Google Patents
用户画像数据的处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113934732A CN113934732A CN202111342527.9A CN202111342527A CN113934732A CN 113934732 A CN113934732 A CN 113934732A CN 202111342527 A CN202111342527 A CN 202111342527A CN 113934732 A CN113934732 A CN 113934732A
- Authority
- CN
- China
- Prior art keywords
- data
- user
- user data
- message
- redis
- 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 6
- 230000008859 change Effects 0.000 claims abstract description 88
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013075 data extraction Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 11
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000010365 information processing Effects 0.000 abstract description 2
- 238000000605 extraction Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
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/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种用户画像数据的处理方法、装置、存储介质及电子设备,属于信息处理领域,该方法应用于服务器,包括:监控数据源中的埋点数据,根据所述埋点数据的变化确定用户数据的变动信息;根据所述用户数据的变动信息,获取目标用户数据;将所述目标用户数据存储至用户画像中间表。通过对构建用户画像的数据预先进行埋点,在用户数据发生变动时能够及时获取变动后的用户数据,并将全量的变化的埋点数据存储于用户画像中间表中,无需针对不同的需求建立多个数据表,有效地降低了业务端构建用户画像的成本。
Description
技术领域
本公开涉及信息处理领域,具体地,涉及一种用户画像数据的处理方法、装置、存储介质及电子设备。
背景技术
用户画像作为一种了解用户的有效工具,在各领域得到了广泛的应用。在大数据时代背景下,用户信息充斥在网络中,将用户的每个具体信息抽象成标签,利用这些标签将用户形象具体化,从而为用户提供有针对性的服务。
在相关技术中,由于下游业务端(如客户端)所需要构建的用户标签不同,从而需要不同的用户数据,导致服务端需要构建多套数据以供下游业务端使用,令用户画像构建成本高昂。
发明内容
为了解决相关技术中存在的问题,本公开提供一种用户画像数据的处理方法、装置、存储介质及电子设备。
为了实现上述目的,本公开第一方面提供一种用户画像数据的处理方法,应用于服务器,所述方法包括:
监控数据源中的埋点数据,根据所述埋点数据的变化确定用户数据的变动信息;
根据所述用户数据的变动信息,获取目标用户数据;
将所述目标用户数据存储至用户画像中间表。
可选地,所述方法还包括:
响应于接收到下游客户端发送的数据提取任务,获取所述数据提取任务中的数据需求;
根据所述数据需求从所述用户画像中间表中提取需求数据,并将所述需求数据发送至所述下游客户端,以使所述下游客户端根据所述需求数据构建用户画像。
可选地,所述根据所述用户数据的变动信息,获取目标用户数据包括:
根据所述用户数据的变动信息,确定所述用户数据中的用户标识以及变动字段;
根据所述用户标识提取目标用户的原始用户数据;并,
根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据。
可选地,所述服务器包括第一生产者以及第一消费者,所述方法包括:
根据所述用户标识以及变动字段,通过所述第一生产者生成kafka消息,并将所述kafka消息发送至kafka消息队列;
所述根据所述用户标识提取目标用户的原始用户数据;并,根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
通过所述第一消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息中的用户标识提取目标用户的原始用户数据;并,
根据所述kafka消息中的变动字段从所述原始用户数据中提取得到所述目标用户数据。
可选地,所述服务器还包括第二消费者以及第三消费者;
所述根据所述用户标识提取目标用户的原始用户数据;并,根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
通过所述第二消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息生成redis消息,并将所述redis消息缓存至redis消息队列中;
通过第三消费者消费所述redis消息队列中的所述redis消息,根据所述redis消息中的用户标识提取目标用户的原始用户数据;并,
根据所述redis消息中的变动字段从所述原始用户数据中提取得到所述目标用户数据。
可选地,所述通过所述第二消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息生成redis消息,并将所述redis消息缓存至redis消息队列中包括:
通过所述第二消费者消费所述kafka消息队列中的所述kafka消息,并获取与所述kafka消息对应的时间戳,得到包括有所述时间戳的kafka消息;
根据所述包括有时间戳的kafka消息生成包括有时间戳的redis消息,并将所述包括有时间戳的redis消息缓存至redis消息队列中。
可选地,所述根据所述kafka消息生成redis消息,并将所述redis消息缓存至redis消息队列中包括:
若所述redis消息队列中存在用户标识以及变动字段均相同的两个以上的redis消息,保留两个以上所述redis消息中的一个所述redis消息。
可选地,所述根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
根据所述变动字段从所述原始用户数据中提取得到所述第一用户数据;
确定第一用户数据中各条数据的权重信息,得到包括权重信息的目标用户数据。
可选地,所述根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
根据所述变动字段对应的数据处理机制,从所述原始用户数据中提取得到经过处理后的所述目标用户数据。
可选地,所述根据所述变动字段对应的数据处理机制,从所述原始用户数据中提取得到所述目标用户数据包括:
若所述变动字段为地址字段,根据所述原始用户数据中的IP地址数据确定地址信息,得到包括地址信息的目标用户数据;和/或,
若所述变动字段为行业字段,根据所述原始用户数据中的公司浏览数据确定所述目标用户所在的行业信息,得到包括行业信息的目标用户数据。
可选地,根据所述数据需求从所述用户画像中间表中提取需求数据之前,包括:
确定所述数据需求中所需的数据字段在所述用户画像中间表中是否均存在;
若所述数据需求中所需的部分或全部数据字段在用户画像中间表中不存在,对所述数据源中所述用户画像中间表不存在的数据字段对应的数据进行埋点;或者,
在所述用户画像中间表中添加所述用户画像中间表不存在的数据字段对应的数据源,并对该数据字段的数据进行埋点。
本公开第二方面提供一种用户画像数据的处理装置,所述装置为服务器,所述装置包括:
监控模块,用于监控数据源中的埋点数据,根据所述埋点数据的变化确定用户数据的变动信息;
第一获取模块,用于根据所述用户数据的变动信息,获取目标用户数据;
存储模块,用于将所述目标用户数据存储至用户画像中间表;
本公开第三方面提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面中任一项所述方法的步骤。
本公开第四方面提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面中任一项所述方法的步骤。
通过上述技术方案,通过对构建用户画像的数据预先进行埋点,在用户数据发生变动时能够及时获取变动后的用户数据,并将全量(即全部)的变化的埋点数据存储于用户画像中间表中,无需针对不同的需求建立多个数据表,有效地降低了业务端构建用户画像的成本。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种用户画像数据的处理方法的流程图;
图2是根据一示例性实施例示出的一种用户画像中间表的构建方法的流程图;
图3是根据一示例性实施例示出的一种下游客户端数据的发送方法的流程图;
图4是根据一示例性实施例示出的一种用户画像数据的处理装置的框图;
图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据一示例性实施例示出的一种用户画像数据的处理方法的流程图,该方法可应用于服务器,所述方法包括以下步骤:
S101、监控数据源中的埋点数据,根据所述埋点数据的变化确定用户数据的变动信息。
可以理解的是,数据源可以是服务器存储的多个数据表,例如包括用户浏览数据表、用户搜索词表、用户基本信息表等,埋点数据可以包括数据源中任意一个数据表中某字段的数据。一些实施方式中,可以在数据表初次构建时,即对数据表中的所需的字段进行埋点处理。
示例地,对用户浏览数据表中的浏览详情字段进行埋点,在用户浏览了某网页后,该数据表中对应的该用户的浏览详情字段中的数据发生变动,则可以根据该数据的变化情况,确定用户数据的变动信息。
S102、根据所述用户数据的变动信息,获取目标用户数据。
S103、将所述目标用户数据存储至用户画像中间表。
其中,该用户画像中间表可以是通过tablestore(表格存储)存储的,tablestore是一种全托管的结构化数据存储。在使用表格存储的情况下,可以无需担心软硬件预置、配置、故障、集群扩展、安全等问题,在保证高服务可用性的同时,极大地减少了管理及运维成本。本公开实施例只是提供一种可能的实施方式,对用户画像中间表的存储形式不作限定。
在本公开实施例中,通过对构建用户画像的数据预先进行埋点,在用户数据发生变动时能够及时获取变动后的数据,并将全量(即全部)的变化的埋点数据存储于用户画像中间表中,无需针对不同的需求建立多个数据表,有效地降低了业务端构建用户画像的成本。
在一些可选地实施例中,所述方法还包括:响应于接收到下游客户端发送的数据提取任务,获取所述数据提取任务中的数据需求。
根据所述数据需求从所述用户画像中间表中提取需求数据,并将所述需求数据发送至所述下游客户端,以使所述下游客户端根据所述需求数据构建用户画像。
其中,下游客户端可以是与本公开实施例提供的方法的执行主体的服务器通信连接的其它服务器,也可以是手机、个人计算机等电子设备,本公开对下游客户端的类型不作限定。数据需求例如可以是下游客户端根据其构建用户画像的标签所需要的数据设置的,例如,数据需求可以表征下游客户端需要6:00-12:00的浏览详情字段的数据。
采用本方案,下游客户端能够基于其需求,从存储了全量最新的埋点数据的用户中间表中提取用户数据,并基于提取到的数据构建用户画像,在需求有变更时,无需上游服务端重新构建数据表即可获得所需的数据,有效地降低了构建用户画像的成本。
在一些可选地实施例中,所述根据所述用户数据的变动信息,获取目标用户数据包括:
根据所述用户数据的变动信息,确定所述用户数据中的用户标识以及变动字段;
根据所述用户标识提取目标用户的原始用户数据;并,
根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据。
示例地,变动信息表征用户A的浏览详情字段中的数据发生变动,则可以根据该变动信息确定用户标识为用户A的User_ID(即用户地址),以及变动字段为“浏览详情”。即可根据用户A的User_ID从用户浏览数据表中提取用户A的全部浏览数据,并根据变动字段“浏览详情”,从用户A的全部浏览数据中提取浏览详情字段下的数据,进而得到目标用户数据。
采用本方案,只需要获取变动的用户数据对应的用户标识以及变动字段,即可实现分字段更新用户数据,降低了数据传输的数据量,还有利于用户画像中间表拓展字段。
在又一些可选地实施例中,所述服务器包括第一生产者以及第一消费者,所述方法包括:
根据所述用户标识以及变动字段,通过所述第一生产者生成kafka消息,并将所述kafka消息发送至kafka消息队列;
所述根据所述用户标识提取目标用户的原始用户数据;并,根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
通过所述第一消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息中的用户标识提取目标用户的原始用户数据;并,
根据所述kafka消息中的变动字段从所述原始用户数据中提取得到所述目标用户数据。
其中,可以理解的是,上述生产者以及消费者可以为服务器中实际处理数据的不同线程,之间并不存在本质上的区别,仅是便于本领域技术人员区分与理解。在本公开实施例的方法的各个步骤在执行时,可能需要不同的线程执行不同的步骤。然而,不同的线程执行不同的步骤所占用的服务器资源不同。例如,在本公开的方案中,若埋点数据的变化过快,生产者线程生成了较多的变动信息,消费者线程响应于接收到变动信息,立即根据变动信息从数据库中提取数据,则可能导致服务器负载压力过大,运行出现错误,进而使生成的部分变动信息丢失,造成部分变动的埋点数据无法被提取到的问题。
采用本方案,利用该kafka消息阻塞队列作为缓冲区,平衡了生产者和消费者的处理能力,使得生产者与消费者解耦,并使得所有变化的数据都能够提取到用户画像中间表中进行存储,避免因用户数据变化过快而服务器的数据处理能力有限造成的无法及时地提取变化数据的问题。
在另一些可选地实施例中,所述服务器还包括第二消费者以及第三消费者;
所述根据所述用户标识提取目标用户的原始用户数据;并,根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
通过所述第二消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息生成redis消息,并将所述redis消息缓存至redis消息队列中;
通过第三消费者消费所述redis消息队列中的所述redis消息,根据所述redis消息中的用户标识提取目标用户的原始用户数据;并,
根据所述redis消息中的变动字段从所述原始用户数据中提取得到所述目标用户数据。
其中,该第二消费者也可以被认为是生产者,用于根据kafka消息生成redis消息。
在本公开实施例的测试过程中,技术人员发现在用户量特别大的情况下,需要处理的数据量很大,而kafka消息队列的总量存在上限。当kafka消息队列达到上限时,再有新的kafka消息进入队列会导致早期的kafka消息丢失。采用本方案,通过配置第二消费者以及第三消费者,利用redis消息队列对kafka消息队列中的kafka消息进行动态缓存,有效地避免了kafka消息(数据)的丢失。
在一些实施例中,通过所述第二消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息生成redis消息,并将所述redis消息缓存至redis消息队列中包括:
通过所述第二消费者消费所述kafka消息队列中的kafka消息,并获取与所述kafka消息对应的时间戳,得到包括有所述时间戳的kafka消息;
根据所述包括有时间戳的kafka消息生成包括有时间戳的redis消息,并将所述包括有时间戳的redis消息缓存至redis消息队列中。
可以理解的是,kafka消息队列是基于加入该队列的时间排序的有序消息队列,在第二消费者消费kafka消息队列中的消息时,会先消费最早生成的消息。
然而,redis消息队列常采用set(集合)的数据结构,而set这种数据结构是无序的,redis消息的消费者在消费redis消息时,则无法有序地消费redis消息,导致数据提取不及时。例如,第三消费者消费redis消息队列中的消息时,若先消费最新加入redis消息队列的redis消息,则可能导致时间戳小的消息在逻辑上的丢失(即负消费),也就是说,被存储在redis消息队列中无法被消费,进而使得该条消息对应的用户数据无法被提取到用户画像中间表。
采用本方案,通过在kafka消息被消费时,加入时间戳信息,从而使得redis消息也包括时间戳信息,进而使得消费redis消息时能够有序地根据时间戳信息进行消费,从而保证早期加入redis消息队列的redis消息不会在逻辑上丢失,进而保证更新的用户数据能够及时地被提取到用户画像中间表。
在又一些实施例中,根据所述kafka消息生成redis消息,并将所述redis消息缓存至redis消息队列中包括:
若所述redis消息队列中存在用户标识以及变动字段均相同的两个以上的redis消息,保留两个以上所述redis消息中的一个所述redis消息。
其中,由于redis消息队列常采用set的数据结构,而set是不允许重复的一种数据结构,因此,需要避免内容相同的kafka消息加入redis消息队列。采用本方案,通过比对redis消息队列中是否存在两个以上的用户标识以及变动字段相同的redis消息,能够保证加入redis消息队列中的redis消息均不重复,避免出现错误。
进一步地,在redis消息队列中存在两个以上用户标识以及变动字段均相同的redis消息时,还可以基于时间戳数值大小,保留redis消息队列中时间戳较小的redis消息,或者保留时间戳较大的redis消息,本领域技术人员可以根据实际需要进行选择,此处不做限定。
可选地,所述根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
根据所述变动字段从所述原始用户数据中提取得到所述第一用户数据;
确定第一用户数据中各条数据的权重信息,得到包括权重信息的目标用户数据。
示例地,在所述变动字段为“浏览详情”字段的情况下,该第一用户数据可以包括用户A的全部浏览信息,则可以根据浏览信息中该用户访问的url地址的次数来确定浏览信息中各个url的权重信息,例如,包括权重信息的目标用户数据中的浏览详情字段可以是:[{“url”:“地址1”,“浏览次数”:8,权重:0.8},{“url”:“地址2”,“浏览次数”:2,权重:0.2}]。本领域技术人员应当理解的是,上述示例的包括权重信息的目标用户数据仅是便于理解示出的,数据的格式本公开实施例并不限定,权重的计算方法以及数值形式也不进行限定,例如除了根据浏览次数来计算权重之外,权重还可以是通过softmax等方式计算得到的。
采用本方案,服务器根据原始数据确定每一条数据的权重,对原始用户数据进行初步的处理得到各数据的权重信息,使得下游客户端能够根据权重信息更加准确的绘制用户画像,使得用户画像更加精准。
在一些可能的实施方式中,所述根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
根据所述变动字段对应的数据处理机制,从所述原始用户数据中提取得到经过处理后的所述目标用户数据。
采用本方案,通过根据变动字段设计对应的数据处理机制,并在用户数据变动时,对提取到的用户数据根据预设的数据处理机制进行处理,能够在构建用户画像中间表时,根据变动字段对原始数据进行初步的分析、聚合操作,减小下游客户端的工作量。
示例地,所述根据所述变动字段对应的数据处理机制,从所述原始用户数据中提取得到所述目标用户数据包括:
若所述变动字段为地址字段,根据所述原始用户数据中的IP地址数据确定地址信息,得到包括地址信息的目标用户数据;和/或,
若所述变动字段为行业字段,根据所述原始用户数据中的公司浏览数据确定所述目标用户所在的行业信息,得到包括行业信息的目标用户数据。
可以理解的是,本领域技术人员还可以根据具体的需求,针对不同的字段设计不同的提取机制,本公开实施例仅提供针对部分字段的示例性方案,其他通过简单变形或者推理能够想到的方案也属于本公开实施例的范围。例如,基于下游客户端的需求,用户画像中间表中设计了“口味喜好”字段并且对相应的数据源中的“食品购买详情”字段的数据进行了埋点处理,则在确定变动字段为“口味喜好”字段的情况下,可以提取数据源中相应用户的原始用户数据中的“食物购买详情”字段的数据,确定该用户的“口味喜好”字段下的具体数据,进而得到包括个人行业信息的目标用户数据。
可选地,根据所述数据需求从所述用户画像中间表中提取需求数据之前,包括:
确定所述数据需求中所需的数据字段在用户画像中间表中是否均存在;
若所述数据需求中所需的部分或全部数据字段在用户画像中间表中不存在,对所述数据源中所述用户画像中间表不存在的数据字段对应的数据进行埋点;或者,
在所述用户画像中间表中添加所述用户画像中间表不存在的数据字段对应的数据源,并对该数据字段的数据进行埋点。
采用本方案,通过检测用户画像中间表中的字段来判断其是否能够支持下游客户端发送的数据需求中所需的字段,在用户画像中间表中存储的数据不能够支持下游客户端的需求时,则通过增加数据源或者对数据源中相应的数据进行埋点,以使得能够获取到下游客户端所需的所有数据,进而满足下游客户端构建用户画像的数据需求。
应当理解的是,在本公开实施例中,消费之后的消息在原有消息队列中不再存在,例如,第二消费者消费kafka消息队列中的kafka消息生成redis消息,则kafka消息队列中的kafka消息被用来生成redis消息,并被缓存至redis消息队列中,而kafka消息队列中不再存在该kafka消息。
本领域技术人员应理解,本公开实施例提供的上述用户画像数据的处理方法中,在实际应用时实际上包括两大步骤:用户画像中间表的构建,以及下游客户端数据的发送。
为了使得本领域技术人员更理解本公开提供的技术方案,本公开实施例提供一种用户画像中间表的构建方法,图2是根据一示例性实施例示出的一种用户画像中间表的构建方法的流程图,如图2所示,该方法应用于服务器,包括:
S201、监控数据源中的埋点数据,根据所述埋点数据的变化确定用户数据的变动信息。
S202、确定所述用户数据中的用户标识以及变动字段。
S203、根据用户标识以及变动字段生成kafka消息,并将所述kafka消息发送至kafka消息队列。
S204、消费所述kafka消息,根据所述kafka消息生成redis消息,并将该redis消息缓存至redis消息队列中。
在该步骤S204中,根据kafka消息生成redis消息时,还可以在redis消息中加入消费该kafka消息的时刻对应的时间戳。此外,在redis消息缓存至redis消息队列中时,还可以根据该redis消息的用户信息、变动字段以及时间戳,去除redis消息队列中重复的redis消息。
S205、消费所述redis消息,根据所述用户标识提取目标用户的原始用户数据。
可以理解的是,在步骤S205中,消费该redis消息时,可以根据redis消息队列中的时间戳进行消费。
S206、根据所述变动字段对应的数据处理机制,从所述原始用户数据中提取得到经过处理后的第一用户数据。
S207、确定第一用户数据中各条数据的权重信息,得到包括权重信息的目标用户数据。
S208、将该目标用户数据存储至用户画像中间表。
其中,以上各个步骤的可以是通过服务器中配置的不同程序执行的,例如,S203可以是第一生产者执行的,S204可以是第一消费者执行的,本公开对此不作限定。
进一步地,在已经构建好用户画像中间表之后,本公开还提供一种下游客户端数据的发送方法的流程图,如图3所示,该方法的执行主体为服务器,包括步骤:
S301、响应于接收到下游客户端发送的数据提取任务,获取所述数据提取任务中的数据需求
S302、确定数据需求中所需的数据字段在用户画像中间表中是否均存在。
在确定均存在的情况下,执行步骤S303;反之,则执行步骤S304。
S303、根据所述数据需求从所述用户画像中间表中提取需求数据,并将所述需求数据发送至所述下游客户端。
S304、判断当前数据源中是否存在数据需求中所需的所有数据字段对应的数据。
在确定当前数据源中存在数据需求中所需的所有数据字段对应的数据的情况下,执行步骤S305;反之,则执行步骤S306。
S305、对所述数据源中所述用户画像中间表不存在的数据字段对应的数据埋点。
S306、添加所述用户画像中间表不存在的数据字段对应的数据源,并对该数据字段的数据埋点。
应理解的是,在步骤S305以及步骤S306执行之后,还可以执行步骤S303,以将用户画像中间表中存在的下游客户端所需的数据发送给下游客户端,即使部分所需的数据不存在。
基于相同的发明构思,图4是根据一示例性实施例示出的一种用户画像数据的处理装置40的框图,该装置40可以作为服务器,或者是服务器的一部分,所述装置40包括:
监控模块41,用于监控数据源中的埋点数据,根据所述埋点数据的变化确定用户数据的变动信息;
第一获取模块42,用于根据所述用户数据的变动信息,获取目标用户数据;
存储模块43,用于将所述目标用户数据存储至用户画像中间表;
可选地,所述装置40包括:
第二获取模块,用于响应于接收到下游客户端发送的数据提取任务,获取所述数据提取任务中的数据需求;
发送模块,用于根据所述数据需求从所述用户画像中间表中提取需求数据,并将所述需求数据发送至所述下游客户端,以使所述下游客户端根据所述需求数据构建用户画像。
可选地,所述第一获取模块42包括:
第一确定模块,用于根据所述用户数据的变动信息,确定所述用户数据中的用户标识以及变动字段;
第一提取模块,用于根据所述用户标识提取目标用户的原始用户数据;
第二提取模块,用于根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据。
可选地,所述服务器包括第一生产者以及第一消费者,所述装置包括:
生成模块,用于根据所述用户标识以及变动字段,通过所述第一生产者生成kafka消息,并将所述kafka消息发送至kafka消息队列;
所述第一提取模块以及所述第二提取模块具体用于:
通过所述第一消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息中的用户标识提取目标用户的原始用户数据;并,
根据所述kafka消息中的变动字段从所述原始用户数据中提取得到所述目标用户数据。
可选地,所述服务器还包括第二消费者以及第三消费者;
所述第一提取模块以及所述第二提取模块具体用于:
通过所述第二消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息生成redis消息,并将所述redis消息缓存至redis消息队列中;
通过第三消费者消费所述redis消息队列中的所述redis消息,根据所述redis消息中的用户标识提取目标用户的原始用户数据;并,
根据所述redis消息中的变动字段从所述原始用户数据中提取得到所述目标用户数据。
可选地,所述第一提取模块以及所述第二提取模块还具体用于:
通过所述第二消费者消费所述kafka消息队列中的所述kafka消息,并获取与所述kafka消息对应的时间戳,得到包括有所述时间戳的kafka消息;
根据所述包括有时间戳的kafka消息生成包括有时间戳的redis消息,并将所述包括有时间戳的redis消息缓存至redis消息队列中。
可选地,所述第一提取模块以及所述第二提取模块还具体用于:
若所述redis消息队列中存在用户标识以及变动字段均相同的两个以上的redis消息,保留两个以上所述redis消息中的一个所述redis消息。
可选地,所述第二提取模块具体用于:
根据所述变动字段从所述原始用户数据中提取得到所述第一用户数据;
确定第一用户数据中各条数据的权重信息,得到包括权重信息的目标用户数据。
可选地,所述第二提取模块还具体用于:
根据所述变动字段对应的数据处理机制,从所述原始用户数据中提取得到经过处理后的所述目标用户数据。
可选地,所述第二提取模块还具体用于:
若所述变动字段为地址字段,根据所述原始用户数据中的IP地址数据确定地址信息,得到包括地址信息的目标用户数据;和/或,
若所述变动字段为行业字段,根据所述原始用户数据中的公司浏览数据确定所述目标用户所在的行业信息,得到包括行业信息的目标用户数据。
可选地,所述装置40还包括:
第二确定模块,用于确定所述数据需求中所需的数据字段在所述用户画像中间表中是否均存在;
第一埋点模块,用于若所述数据需求中所需的部分或全部数据字段在用户画像中间表中不存在,对所述数据源中所述用户画像中间表不存在的数据字段对应的数据埋点;
第二埋点模块,用于在所述用户画像中间表中添加所述用户画像中间表不存在的数据字段对应的数据源,并对该数据字段的数据埋点。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种电子设备500的框图。例如,电子设备500可以被提供为一服务器。参照图5,电子设备500包括处理器522,其数量可以为一个或多个,以及存储器532,用于存储可由处理器522执行的计算机程序。存储器532中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器522可以被配置为执行该计算机程序,以执行上述的用户画像数据的处理方法。
另外,电子设备500还可以包括电源组件526和通信组件550,该电源组件526可以被配置为执行电子设备500的电源管理,该通信组件550可以被配置为实现电子设备500的通信,例如,有线或无线通信。此外,该电子设备500还可以包括输入/输出(I/O)接口558。电子设备500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的用户画像数据的处理方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器532,上述程序指令可由电子设备500的处理器522执行以完成上述的用户画像数据的处理方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的用户画像数据的处理方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (14)
1.一种用户画像数据的处理方法,其特征在于,应用于服务器,所述方法包括:
监控数据源中的埋点数据,根据所述埋点数据的变化确定用户数据的变动信息;
根据所述用户数据的变动信息,获取目标用户数据;
将所述目标用户数据存储至用户画像中间表。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到下游客户端发送的数据提取任务,获取所述数据提取任务中的数据需求;
根据所述数据需求从所述用户画像中间表中提取需求数据,并将所述需求数据发送至所述下游客户端,以使所述下游客户端根据所述需求数据构建用户画像。
3.根据权利要求1所述的方法,其特征在于,所述根据所述用户数据的变动信息,获取目标用户数据包括:
根据所述用户数据的变动信息,确定所述用户数据中的用户标识以及变动字段;
根据所述用户标识提取目标用户的原始用户数据;并,
根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据。
4.根据权利要求3所述的方法,其特征在于,所述服务器包括第一生产者以及第一消费者,所述方法包括:
根据所述用户标识以及变动字段,通过所述第一生产者生成kafka消息,并将所述kafka消息发送至kafka消息队列;
所述根据所述用户标识提取目标用户的原始用户数据;并,根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
通过所述第一消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息中的用户标识提取目标用户的原始用户数据;并,
根据所述kafka消息中的变动字段从所述原始用户数据中提取得到所述目标用户数据。
5.根据权利要求4所述的方法,其特征在于,所述服务器还包括第二消费者以及第三消费者;
所述根据所述用户标识提取目标用户的原始用户数据;并,根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
通过所述第二消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息生成redis消息,并将所述redis消息缓存至redis消息队列中;
通过所述第三消费者消费所述redis消息队列中的所述redis消息,根据所述redis消息中的用户标识提取目标用户的原始用户数据;并,
根据所述redis消息中的变动字段从所述原始用户数据中提取得到所述目标用户数据。
6.根据权利要求5所述的方法,其特征在于,所述通过所述第二消费者消费所述kafka消息队列中的所述kafka消息,根据所述kafka消息生成redis消息,并将所述redis消息缓存至redis消息队列中包括:
通过所述第二消费者消费所述kafka消息队列中的所述kafka消息,并获取与所述kafka消息对应的时间戳,得到包括有所述时间戳的kafka消息;
根据所述包括有时间戳的kafka消息生成包括有时间戳的redis消息,并将所述包括有时间戳的redis消息缓存至redis消息队列中。
7.根据权利要求5所述的方法,其特征在于,所述根据所述kafka消息生成redis消息,并将所述redis消息缓存至redis消息队列中包括:
若所述redis消息队列中存在用户标识以及变动字段均相同的两个以上的redis消息,保留两个以上所述redis消息中的一个所述redis消息。
8.根据权利要求2-7任一项所述的方法,其特征在于,所述根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
根据所述变动字段从所述原始用户数据中提取得到所述第一用户数据;
确定第一用户数据中各条数据的权重信息,得到包括权重信息的目标用户数据。
9.根据权利要求2-7任一项所述的方法,其特征在于,所述根据所述变动字段从所述原始用户数据中提取得到所述目标用户数据包括:
根据所述变动字段对应的数据处理机制,从所述原始用户数据中提取得到经过处理后的所述目标用户数据。
10.根据权利要求9所述的方法,其特征在于,所述根据所述变动字段对应的数据处理机制,从所述原始用户数据中提取得到所述目标用户数据包括:
若所述变动字段为地址字段,根据所述原始用户数据中的IP地址数据确定地址信息,得到包括地址信息的目标用户数据;和/或,
若所述变动字段为行业字段,根据所述原始用户数据中的公司浏览数据确定所述目标用户所在的行业信息,得到包括行业信息的目标用户数据。
11.根据权利要求2所述的方法,其特征在于,根据所述数据需求从所述用户画像中间表中提取需求数据之前,包括:
确定所述数据需求中所需的数据字段在所述用户画像中间表中是否均存在;
若所述数据需求中所需的部分或全部数据字段在用户画像中间表中不存在,对所述数据源中所述用户画像中间表不存在的数据字段对应的数据进行埋点;或者,
在所述用户画像中间表中添加所述用户画像中间表不存在的数据字段对应的数据源,并对所述数据字段的数据进行埋点。
12.一种用户画像数据的处理装置,其特征在于,所述装置为服务器,所述装置包括:
监控模块,用于监控数据源中的埋点数据,根据所述埋点数据的变化确定用户数据的变动信息;
第一获取模块,用于根据所述用户数据的变动信息,获取目标用户数据;
存储模块,用于将所述目标用户数据存储至用户画像中间表。
13.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-11中任一项所述方法的步骤。
14.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111342527.9A CN113934732A (zh) | 2021-11-12 | 2021-11-12 | 用户画像数据的处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111342527.9A CN113934732A (zh) | 2021-11-12 | 2021-11-12 | 用户画像数据的处理方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113934732A true CN113934732A (zh) | 2022-01-14 |
Family
ID=79286502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111342527.9A Pending CN113934732A (zh) | 2021-11-12 | 2021-11-12 | 用户画像数据的处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113934732A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111310052A (zh) * | 2020-02-29 | 2020-06-19 | 平安国际智慧城市科技股份有限公司 | 用户画像构建方法、装置及计算机可读存储介质 |
CN112035742A (zh) * | 2020-08-28 | 2020-12-04 | 康键信息技术(深圳)有限公司 | 用户画像生成方法、装置、设备及存储介质 |
CN113452774A (zh) * | 2021-06-25 | 2021-09-28 | 睿视(苏州)视频科技有限公司 | 消息推送方法、装置、设备及存储介质 |
US20210377355A1 (en) * | 2019-07-02 | 2021-12-02 | Tencent Technology (Shenzhen) Company Limited | Message pushing method, storage medium, and server |
-
2021
- 2021-11-12 CN CN202111342527.9A patent/CN113934732A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210377355A1 (en) * | 2019-07-02 | 2021-12-02 | Tencent Technology (Shenzhen) Company Limited | Message pushing method, storage medium, and server |
CN111310052A (zh) * | 2020-02-29 | 2020-06-19 | 平安国际智慧城市科技股份有限公司 | 用户画像构建方法、装置及计算机可读存储介质 |
CN112035742A (zh) * | 2020-08-28 | 2020-12-04 | 康键信息技术(深圳)有限公司 | 用户画像生成方法、装置、设备及存储介质 |
CN113452774A (zh) * | 2021-06-25 | 2021-09-28 | 睿视(苏州)视频科技有限公司 | 消息推送方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
王郑合;王锋;邓辉;柳翠寅;张晓丽;: "一种优化的Kafka消费者/客户端负载均衡算法", 计算机应用研究, no. 08 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10348809B2 (en) | Naming of distributed business transactions | |
CN107798108B (zh) | 一种异步任务查询方法及设备 | |
CN112148674B (zh) | 日志数据处理方法、装置、计算机设备和存储介质 | |
WO2017092582A1 (zh) | 一种数据处理方法和装置 | |
CN111460129B (zh) | 标识生成的方法、装置、电子设备和存储介质 | |
CN111045911B (zh) | 性能测试方法、性能测试装置、存储介质与电子设备 | |
CN112631800A (zh) | 面向kafka的数据传输方法、系统、计算机设备及存储介质 | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
CN113312553B (zh) | 一种用户标签的确定方法和装置 | |
CN105978939A (zh) | 一种数据下载方法及设备 | |
CN112152879A (zh) | 网络质量确定方法、装置、电子设备和可读存储介质 | |
CN113934732A (zh) | 用户画像数据的处理方法、装置、存储介质及电子设备 | |
CN114138397B (zh) | 页面显示方法、装置、电子设备及存储介质 | |
CN115118475A (zh) | 密码设备集群调度方法、装置、设备及介质 | |
CN115202973A (zh) | 应用运行状态的确定方法、装置、电子设备和介质 | |
CN114995914A (zh) | 图片数据的处理方法、装置、计算机设备及存储介质 | |
CN114519037A (zh) | 一种表格在线预览方法、装置和系统 | |
KR102433764B1 (ko) | 서비스 모니터링 시스템 및 방법 | |
CN111324310A (zh) | 一种数据的读取方法、装置及计算机系统 | |
CN113778909B (zh) | 一种缓存数据的方法和装置 | |
CN115840604B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN113032168B (zh) | 数据传输速率动态调整方法、装置、电子设备及存储介质 | |
CN113722642B (zh) | 网页页面的转换方法、装置、电子设备以及存储介质 | |
CN110262756B (zh) | 用于缓存数据的方法和装置 | |
JP2017215901A (ja) | 情報処理装置、情報処理システム及びプログラム |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230731 Address after: 224008 Rooms 404-405 and 504, Building B-17-1, Big data Industrial Park, Kecheng Street, Yannan High tech Zone, Yancheng, Jiangsu Province Applicant after: Yancheng Tianyanchawei Technology Co.,Ltd. Address before: 224008 room 501-503, building b-17-1, Xuehai road big data Industrial Park, Kecheng street, Yannan high tech Zone, Yancheng City, Jiangsu Province (CNK) Applicant before: Yancheng Jindi Technology Co.,Ltd. |