CN111190899A - 一种埋点数据处理方法、装置、服务器及存储介质 - Google Patents
一种埋点数据处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN111190899A CN111190899A CN201911187122.5A CN201911187122A CN111190899A CN 111190899 A CN111190899 A CN 111190899A CN 201911187122 A CN201911187122 A CN 201911187122A CN 111190899 A CN111190899 A CN 111190899A
- Authority
- CN
- China
- Prior art keywords
- buried point
- point data
- buried
- data
- database
- 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.)
- Granted
Links
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
- 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/23—Updating
-
- 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
- G06F16/24552—Database cache management
-
- 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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种埋点数据处理方法、装置、服务器及存储介质,该方法包括:利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据;将存储在埋点数据缓存数据库中的、在埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中,更新埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值。实现了用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据,然后,一次性地将存储在埋点数据缓存数据库中的所有埋点数据写入到埋点数据持久化数据库中。从而,避免存储全量的埋点数据的数据库的负载较重的情况,提升存储全量的埋点数据的数据库的稳定性。
Description
技术领域
本申请涉及计算机领域,具体涉及埋点数据处理方法、装置、服务器及存储介质。
背景技术
埋点数据是在数据挖掘中被广泛应用的用于了解用户对应用的使用情况的数据。目前,在对埋点数据进行处理时,通常采用的方式为:每每接收到客户端发送的一个埋点数据,均直接将埋点数据直接写入存储全量的埋点数据的数据库中。
然而,每接收到一个埋点数据,均需要对存储全量的埋点数据的数据库进行一次访问,高频次地向存储全量的埋点数据的数据库写入埋点数据造成存储全量的埋点数据的数据库的负载较重,尤其对于一些热门APP,在每一个埋点数据收集时间段内收集到的埋点数据为海量级别,导致存储全量的埋点数据的数据库由于负载过重出现故障,存储全量的埋点数据的数据库的稳定性较低。
发明内容
本申请实施例提供了埋点数据处理方法、装置。
第一方面,本申请实施例提供了埋点数据处理方法,该方法包括:
利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据,其中,埋点数据由客户端发送,埋点数据基于客户端的用户访问埋点对象而在客户端生成,埋点数据包括:所述埋点数据所属的埋点对象的标识、访问所述埋点数据所属的埋点对象的用户的标识、埋点对象访问数据;
将存储在埋点数据缓存数据库中的、在埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中,以及更新埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值,其中,被访问埋点对象为具有至少一个在埋点数据收集时间段内生成的埋点数据的埋点对象。
第二方面,本申请实施例提供了埋点数据处理装置,该装置包括:
缓存单元,被配置为利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据,其中,埋点数据由客户端发送,埋点数据基于客户端的用户访问埋点对象而在客户端生成,埋点数据包括:所述埋点数据所属的埋点对象的标识、访问所述埋点数据所属的埋点对象的用户的标识、埋点对象访问数据;
处理单元,被配置为将存储在埋点数据缓存数据库中的、在埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中,以及更新埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值,其中,被访问埋点对象为具有至少一个在埋点数据收集时间段内生成的埋点数据的埋点对象。
本申请的实施例提供的技术方案,通过利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据,其中,埋点数据由客户端发送,埋点数据基于客户端的用户访问埋点对象而在客户端生成,埋点数据包括:所述埋点数据所属的埋点对象的标识、访问所述埋点数据所属的埋点对象的用户的标识、埋点对象访问数据;将存储在埋点数据缓存数据库中的、在埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中,以及更新埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值,其中,被访问埋点对象为具有至少一个在埋点数据收集时间段内生成的埋点数据的埋点对象。实现了在每一个埋点数据收集时间段,利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据,在利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据之后,一次性地将存储在埋点数据缓存数据库中的、在埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中。从而,避免在对埋点数据进行处理的过程中,由于高频次地向存储全量的埋点数据的数据库写入埋点数据造成存储全量的埋点数据的数据库的负载较重的情况,提升存储全量的埋点数据的数据库的稳定性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1示出了本申请实施例提供的埋点数据处理方法的一个的流程图;
图2示出了本申请实施例提供的埋点数据处理装置的一个结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1是本申请实施例提供的埋点数据处理方法的一个的流程图。该方法的各个步骤可以由服务器执行,该方法包括以下步骤:
步骤101,利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据。
在本申请中,埋点数据收集时间段并不特指某一个时间段。埋点数据收集时间段的时长可以为预设时长。在每一个埋点数据收集时间段,均可以执行步骤101-102来存储在相应的埋点数据收集时间段接收到的所有埋点数据以及更新在相应的埋点数据收集时间段被访问的埋点对象的访问总次数。
在本申请中,在埋点数据收集时间段内接收到的埋点数据由客户端发送。客户端可以为APP,例如保险类APP。埋点对象可以为APP中的模块,用户通过点击页面中的埋点对象的图标,跳转到埋点对象的页面,从而,访问埋点对象。
在本申请中,埋点数据基于客户端的用户访问埋点对象而在客户端生成。对于一个埋点对象,任意一个客户端的任意一个用户每一次在埋点数据收集时间段内访问该埋点对象,均可以在相应的客户端生成一个该埋点对象的埋点数据,均可以在该埋点数据收集时间段内接收到相应的客户端发送的该埋点对象的埋点数据。
在本申请中,对于在埋点数据收集时间段内接收到一个埋点数据,该埋点数据包括:该埋点数据所属的埋点对象的标识、访问该埋点数据所属的埋点对象的用户的标识、埋点对象访问数据。该埋点数据的埋点对象访问数据可以包括但不限于:访问该埋点数据所属的埋点对象的用户在该埋点数据所属的埋点对象的页面中进行的操作的标识、访问该埋点数据所属的埋点对象的用户访问该埋点数据所属的埋点对象的时刻、表示打开该页面的时刻到退出该页面的时刻之间的时长的停留时长等。
在本申请中,埋点数据缓存数据库可以为Redis数据库,埋点数据持久化数据库可以为Mysql数据库。可以利用Redis数据库存储在埋点数据收集时间段内接收到的每一个埋点数据。
在一些实施例中,利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据包括:对于在埋点数据收集时间段内接收到的每一个埋点数据,基于该埋点数据中的埋点数据所属的埋点对象的标识和访问该埋点数据所属的埋点对象的用户的标识,利用存储在埋点数据缓存数据库中的第一数据结构存储该埋点数据。
在本申请中,埋点数据缓存数据库例如Redis数据库中的第一数据结构可以为以key-value格式存储数据的数据表。当利用埋点数据缓存数据库例如Redis数据库存储在埋点数据收集时间段内接收到的每一个埋点数据时,对于在埋点数据收集时间段内接收到的每一个埋点数据,可以将该埋点数据中的埋点数据所属的埋点对象的标识和访问埋点数据所属的埋点对象的用户的标识作为key,将该埋点数据作为该key对应的value,将该key与该value相对应地存储在埋点数据缓存数据库例如Redis数据库中的以key-value格式存储数据的数据表中。
在一些实施例中,埋点数据缓存数据库中的第一数据结构为埋点数据缓存数据库中的哈希表;基于该埋点数据所属的埋点对象的标识和访问该埋点数据所属的埋点对象的用户的标识,利用存储在埋点数据缓存数据库中的第一数据结构存储该埋点数据包括:以该埋点数据所属的埋点对象的标识和访问该埋点数据所属的埋点对象的用户的标识作为该哈希表的关键字,在该哈希表中的该关键字对应的位置存储该埋点数据。
在本申请中,埋点数据缓存数据库例如Redis数据库中的哈希表可以称之point_user_visit。埋点对象的标识可以称之为埋点对象的point_id,访问埋点数据所属的埋点对象的用户的标识可以称之为访问埋点数据所属的埋点对象的用户的user_id。
在本申请中,对于每一个埋点数据,当基于埋点数据中的埋点数据所属的埋点对象的point_id和访问埋点数据所属的埋点对象的用户的user_id,利用存储在埋点数据缓存数据库例如Redis数据库中的point_user_visit存储埋点数据时,可以以埋点数据所属的埋点对象的point_id和访问埋点数据所属的埋点对象的用户的user_id作为关键字,在point_user_visit中的该关键字对应的位置存储埋点数据。
步骤102,将埋点数据缓存数据库中的在埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中,更新埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数。
在本申请中,埋点数据持久化数据库用于存储全量的埋点数据,即埋点数据持久化数据库用于存储所有埋点数据。
在本申请中,在利用埋点数据缓存数据库例如Redis数据库存储在埋点数据收集时间段内接收到的每一个埋点数据之后,可以将在埋点数据收集时间段内写入到埋点数据缓存数据库中的所有埋点数据写入到埋点数据持久化数据库例如Mysql数据库中,以及更新埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值。
例如,可以从在埋点数据缓存数据库例如Redis数据库存储在埋点数据收集时间段内接收到的最后一个埋点数据的时刻开始,将在埋点数据收集时间段内写入到埋点数据缓存数据库中的所有埋点数据写入到埋点数据持久化数据库例如Mysql数据库中,以及更新埋点数据持久化数据库例如Mysql数据库中的第一数据表中的每一个被访问埋点对象的访问总次数。
在本申请中,每一次在利用埋点数据缓存数据库例如Redis数据库存储在一个埋点数据收集时间段内接收到的每一个埋点数据,在埋点数据收集时间段内写入到埋点数据缓存数据库中的所有埋点数据写入到埋点数据持久化数据库例如Mysql数据库之后,可以记录埋点数据缓存数据库中存储的在埋点数据收集时间段内接收到的每一个埋点数据的存储时长,当存储时长达到一定时长之后,可以在一定时长之后,可以删除存储在埋点数据缓存数据库中的在埋点数据收集时间段内接收到的每一个埋点数据。
在本申请中,埋点数据持久化数据库中第一数据表中存储每一个埋点对象的访问总次数参数和每一个埋点对象的访问总次数参数的参数值。埋点对象的访问总次数参数的参数值为埋点对象被访问的总次数。埋点数据持久化数据库例如Mysql数据库中的第一数据表可以称之为point_visit表。
在本申请中,被访问埋点对象为具有至少一个在所述埋点数据收集时间段内生成的埋点数据的埋点对象。在一个埋点数据收集时间段内,当一个埋点对象被至少一次访问时,在该埋点对象为一个被访问埋点对象。对于一个埋点数据收集时间段,在利用埋点数据缓存数据库例如Redis数据库存储在该埋点数据收集时间段内接收到的每一个埋点数据之后,更新埋点数据持久化数据库例如Mysql数据库中的第一数据表中的每一个被访问埋点对象的访问总次数。在更新埋点数据持久化数据库例如Mysql数据库中的第一数据表中的每一个被访问埋点对象的访问总次数,首先从埋点数据持久化数据库中第一数据表中获取每一个被访问埋点对象各自的访问总次数参数的参数值,然后,对于每一个被访问埋点对象,将该被访问埋点对象的访问总次数参数的参数值与该被访问埋点对象在埋点数据收集时间段被访问的次数相加,得到该被访问埋点对象的最新的访问总次数,将该被访问埋点对象的访问总次数参数的参数值更新为该被访问埋点对象的最新的访问总次数。
在一些实施例中,将存储在埋点数据缓存数据库中的、在该埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中包括:对于每一个被访问埋点对象,从存储在埋点数据缓存数据库中的第二数据结构中读取出该被访问埋点对象的标识以及从存储在埋点数据缓存数据库中的、该被访问埋点对象对应的第三数据结构中读取出访问该被访问埋点对象的用户的标识;以该被访问埋点对象的标识和访问该被访问埋点对象的用户的标识作为关键字,从埋点数据缓存数据库中的哈希表中的该关键字对应的位置读取出埋点数据;将读取出的所有埋点数据写入到所述埋点数据持久化数据库中的第二数据表中。
在本申请中,埋点数据缓存数据库例如Redis数据库中的第二数据结构存储每一个被访问埋点对象的标识,每一个被访问埋点对象各自对应一个存储在埋点数据缓存数据库例如Redis数据库中的第三数据结构。被访问埋点对象对应的第三数据结构存储访问被访问埋点对象的每一个用户的标识。
在本申请中,埋点数据缓存数据库例如Redis数据库中的第二数据结构的类型可以为set结构,埋点数据缓存数据库例如Redis数据库中的第二数据结构可以称之为point_set。可以在point_set中存储存储每一个被访问埋点对象的标识。
在本申请中,埋点数据缓存数据库例如Redis数据库中的第三数据结构的类型可以为set结构,埋点数据缓存数据库例如Redis数据库中的第三数据结构可以称之为point_user_visit_set。每一个被访问埋点对象可以各自对应一个point_user_visit_set。对于每一个被访问埋点对象,该被访问埋点对象对应的point_user_visit_set存储在埋点数据收集时间段内访问该被访问埋点对象的每一个用户的标识。
在本申请中,当将存储在埋点数据缓存数据库例如Redis数据库中的、在埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库例如Mysql数据库中时,对于每一个被访问埋点对象,可以从point_set中读取出该被访问埋点对象的标识以及从该被访问埋点对象对应的point_user_visit_set中读取出访问该被访问埋点对象的用户的标识,该被访问埋点对象对应的point_user_visit_set中可以存储一个或多个访问该被访问埋点对象的用户的标识,可以从该被访问埋点对象对应的point_user_visit_set中读取出访问该被访问埋点对象的每一个用户的标识。
对于每一个被访问埋点对象,该被访问埋点对象可以分别与读取出的访问该被访问埋点对象的每一个用户的标识组成一个关键字,当读取出多个访问该被访问埋点对象的用户的标识时,可以得到多个关键字,在埋点数据缓存数据库中的哈希表即point_user_visit中,该多个关键字中的每一个关键字各自对应的位置上分别存储一个属于该被访问埋点对象的埋点数据,可以从每一个关键字各自对应的位置上读取出属于该被访问埋点对象的埋点数据。
在本申请中,在读取出所有埋点数据之后,可以将读取出的所有埋点数据一起写入到埋点数据持久化数据库例如Mysql数据库中的第二数据表中。
在本申请中,埋点数据持久化数据库例如Mysql数据库中的第二数据表可以称之为user_visit_point表。在读取出所有埋点数据之后,可以将读取出的所有埋点数据写入到埋点数据持久化数据库例如Mysql数据库中的user_visit_point表中。
在一些实施例中,更新埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值包括:对于每一个被访问埋点对象,将存储在埋点数据缓存数据库中的被访问埋点对象在埋点数据收集时间段内的新增访问次数和存储在埋点数据持久化数据库中的第一数据表中的被访问埋点对象的访问总次数参数的参数值相加,得到被访问埋点对象的最新的访问总次数;将第一数据表中的被访问埋点对象的访问总次数参数的参数值更新为所述最新的访问总次数。
在本申请中,对于每一个被访问埋点对象,该被访问埋点对象在埋点数据收集时间段内的新增访问次数为该被访问埋点对象在埋点数据收集时间段被访问的次数。
在本申请中,可以在埋点数据缓存数据库例如Redis数据库中存储每一个被访问埋点对象的新增访问次数参数和每一个被访问埋点对象的新增访问次数参数的参数值。每一个被访问埋点对象的新增访问次数参数的参数值被预先初始化为0。对于每一个被访问埋点对象,每一次接收到属于该被访问埋点对象的埋点数据,则确定该被访问埋点对象被访问一次,对该被访问埋点对象的新增访问次数参数的参数值进行更新,将该被访问埋点对象的新增访问次数参数的参数值加1,得到该被访问埋点对象的最新的新增访问次数,将该被访问埋点对象的新增访问次数参数的参数值更新为该被访问埋点对象的最新的新增访问次数。
当更新埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值时,可以对于每一个被访问埋点对象,将存储在埋点数据缓存数据库例如Redis数据库中的被访问埋点对象在埋点数据收集时间段内的新增访问次数和存储在埋点数据持久化数据库例如Mysql数据库中的point_visit中的被访问埋点对象的访问总次数相加,得到该被访问埋点对象的最新的访问总次数,将埋点数据持久化数据库例如Mysql数据库中的point_visit中的该被访问埋点对象的访问总次数更新为最新的访问总次数。
在一些实施例中,还包括:对于接收到的每一个埋点数据,判断该埋点数据所属的埋点对象是否满足预设条件,预设条件为该埋点对象为首页埋点对象并且当前时刻与访问该埋点对象的用户上一次访问该埋点对象的时刻的时间间隔小于时长阈值;若是,保持该埋点数据所属的埋点对象的访问总次数参数的参数值;若否,对该埋点数据所属的埋点对象的访问总次数参数的参数值进行更新。
在本申请中,在接收到一个埋点数据之后,可以首先判断判断该埋点数据所属的埋点对象是否满足预设条件。可以首先判断该埋点对象是否为首页埋点对象。当表示该埋点对象的图标位于APP的首页时,则该埋点对象为首页埋点对象。在确定该埋点对象为首页埋点对象之后,在确定访问该埋点对象的用户在埋点数据收集时间段内的本次访问的时刻之前的至少一个时刻,访问该埋点对象的情况下,可以进一步判断当前时刻与访问该埋点对象的用户上一次访问该埋点对象的时刻的时间间隔是否小于时长阈值例如十分钟,访问该埋点对象的用户上一次访问该埋点对象的时刻位于埋点数据收集时间段内。在确定当前时刻与访问该埋点对象的用户上一次访问该埋点对象的时刻的时间间隔小于时长阈值的情况下,可以确定该埋点对象满足预设条件,不对该埋点对象的访问总次数参数的参数值进行更新。
当该埋点对象不满足预设条件时,可以将该埋点对象的访问总次数参数的当前的参数值加1,得到最新的访问总次数,将该埋点对象的访问总次数参数的参数值更新为最新的访问总次数。
在一些实施例中,还包括:接收目标设备发送的埋点数据查询请求;在埋点数据缓存数据库中查找是否存在目标设备需要获取的埋点数据;若是,将需要获取的埋点数据发送至目标设备;若否,从埋点数据持久化数据库中查找出目标设备需要获取的埋点数据,以及将目标设备需要获取的埋点数据发送至目标设备。
在本申请中,目标设备为需要获取埋点数据的设备例如需要根据埋点数据对用户对APP的使用情况进行分析的工程师使用的设备。目标设备需要获取的埋点数据可能在埋点数据持久化数据库中,也可能存储在埋点数据缓存数据库中,在接收到目标设备发送的埋点数据查询请求之后,可以首先在埋点数据缓存数据库中查找是否存在目标设备需要获取的埋点数据。数据查询请求可以包括目标设备需要获取的埋点数据的标识。当埋点数据缓存数据库中查找存在目标设备需要获取的埋点数据时,将需要获取的埋点数据发送至目标设备。当埋点数据缓存数据库中查找不存在目标设备需要获取的埋点数据时,从埋点数据持久化数据库中查找出目标设备需要获取的埋点数据,然后,将目标设备需要获取的埋点数据发送至目标设备。
请参考图2,其示出本申请实施例提供的埋点数据处理装置的一个结构示意图。本申请实施例提供的埋点数据处理装置中的各个单元被配置为完成的操作的具体实现方式可以参考方法实施例中描述的相应的操作的具体实现方式。
如图2所示,埋点数据处理装置包括:缓存单元201,处理单元202。
缓存单元201被配置为利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据,其中,埋点数据由客户端发送,埋点数据基于客户端的用户访问埋点对象而在客户端生成,埋点数据包括:所述埋点数据所属的埋点对象的标识、访问所述埋点数据所属的埋点对象的用户的标识、埋点对象访问数据;
处理单元202被配置为将存储在埋点数据缓存数据库中的、在埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中,以及更新埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值,其中,被访问埋点对象为具有至少一个在埋点数据收集时间段内生成的埋点数据的埋点对象。
在一些实施例中,缓存单元201进一步被配置为对于在所述埋点数据收集时间段内接收到的每一个埋点数据,基于所述埋点数据所属的埋点对象的标识和访问所述埋点数据所属的埋点对象的用户的标识,利用存储在埋点数据缓存数据库中的第一数据结构存储所述埋点数据。
在一些实施例中,所述第一数据结构为哈希表;以及所述基于所述埋点数据所属的埋点对象的标识和访问所述埋点数据所属的埋点对象的用户的标识,利用存储在埋点数据缓存数据库中的第一数据结构存储所述埋点数据包括:以所述埋点数据所属的埋点对象的标识和访问所述埋点数据所属的埋点对象的用户的标识作为所述哈希表的关键字,在所述哈希表中的所述关键字对应的位置存储所述埋点数据。
在一些实施例中,处理单元202进一步被配置为对于每一个所述被访问埋点对象,从存储在埋点数据缓存数据库中的第二数据结构中读取出所述被访问埋点对象的标识以及从存储在埋点数据缓存数据库中的、所述被访问埋点对象对应的第三数据结构中读取出访问所述被访问埋点对象的用户的标识;以所述被访问埋点对象的标识和访问所述被访问埋点对象的用户的标识作为关键字,从所述哈希表中的所述关键字对应的位置读取出埋点数据;将读取出的所有埋点数据写入到所述埋点数据持久化数据库中的第二数据表中。
在一些实施例中,处理单元202进一步被配置为对于每一个所述被访问埋点对象,将存储在埋点数据缓存数据库中的所述被访问埋点对象在埋点数据收集时间段内的新增访问次数和存储在所述第一数据表中的所述被访问埋点对象的访问总次数参数的参数值相加,得到所述被访问埋点对象的最新的访问总次数;将所述第一数据表中的所述被访问埋点对象的访问总次数参数的参数值更新为所述最新的访问总次数。
在一些实施例中,埋点数据处理装置还包括更新单元,被配置为对于接收到的每一个埋点数据,判断所述埋点数据所属的埋点对象是否满足预设条件,其中,预设条件为所述埋点对象为首页埋点对象并且当前时刻与访问所述埋点对象的用户上一次访问所述埋点对象的时刻的时间间隔小于时长阈值;若是,保持所述埋点对象的访问总次数参数的参数值;若否,对所述埋点对象的访问总次数参数的参数值进行更新。
在一些实施例中,埋点数据处理装置还包括还包括:读取单元,被配置为接收目标设备发送的埋点数据查询请求;判断埋点数据缓存数据库中是否存储所述目标设备需要获取的埋点数据;若是,将所述目标设备需要获取的埋点数据发送至目标设备;若否,从所述埋点数据持久化数据库中查找出目标设备需要获取的埋点数据,以及将所述目标设备需要获取的埋点数据发送至目标设备。
本申请还提供了一种服务器,该服务器可以配置有一个或多个处理器;存储器,用于存储一个或多个程序,一个或多个程序中可以包括用以执行上述实施例中描述的操作的指令。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述实施例中描述的操作的指令。
本申请还提供了一种计算机可读介质,该计算机可读介质可以是服务器中所包括的;也可以是单独存在,未装配入服务器中。上述计算机可读介质承载有一个或者多个程序,当一个或者多个程序被服务器执行时,使得服务器执行上述实施例中描述的操作。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包括或存储程序的有形介质,该程序可以被消息执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多方面形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由消息执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包括的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行消息。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机消息的组合来实现。
以上描述仅为本请求的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术实施例,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术实施例。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术实施例。
Claims (10)
1.一种埋点数据处理方法,其特征在于,所述方法包括:
利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据,其中,埋点数据由客户端发送,埋点数据基于客户端的用户访问埋点对象而在客户端生成,埋点数据包括:所述埋点数据所属的埋点对象的标识、访问所述埋点数据所属的埋点对象的用户的标识、埋点对象访问数据;
将存储在所述埋点数据缓存数据库中的、在所述埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中,以及更新所述埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值,其中,所述被访问埋点对象为具有至少一个在所述埋点数据收集时间段内生成的埋点数据的埋点对象。
2.根据权利要求1所述的方法,其特征在于,利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据包括:
对于在所述埋点数据收集时间段内接收到的每一个埋点数据,基于所述埋点数据所属的埋点对象的标识和访问所述埋点数据所属的埋点对象的用户的标识,利用存储在埋点数据缓存数据库中的第一数据结构存储所述埋点数据。
3.根据权利要求2所述的方法,其特征在于,所述第一数据结构为哈希表;以及
所述基于所述埋点数据所属的埋点对象的标识和访问所述埋点数据所属的埋点对象的用户的标识,利用存储在埋点数据缓存数据库中的第一数据结构存储所述埋点数据包括:
以所述埋点数据所属的埋点对象的标识和访问所述埋点数据所属的埋点对象的用户的标识作为所述哈希表的关键字,在所述哈希表中的所述关键字对应的位置存储所述埋点数据。
4.根据权利要求3所述的方法,其特征在于,将存储在所述埋点数据缓存数据库中的、在所述埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中包括:
对于每一个所述被访问埋点对象,从存储在埋点数据缓存数据库中的第二数据结构中读取出所述被访问埋点对象的标识以及从存储在埋点数据缓存数据库中的、所述被访问埋点对象对应的第三数据结构中读取出访问所述被访问埋点对象的用户的标识;以所述被访问埋点对象的标识和访问所述被访问埋点对象的用户的标识作为关键字,从所述哈希表中的所述关键字对应的位置读取出埋点数据;
将读取出的所有埋点数据写入到所述埋点数据持久化数据库中的第二数据表中。
5.根据权利要求4所述的方法,其特征在于,所述更新所述埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值包括:
对于每一个所述被访问埋点对象,将存储在埋点数据缓存数据库中的所述被访问埋点对象在埋点数据收集时间段内的新增访问次数和存储在所述第一数据表中的所述被访问埋点对象的访问总次数参数的参数值相加,得到所述被访问埋点对象的最新的访问总次数;将所述第一数据表中的所述被访问埋点对象的访问总次数参数的参数值更新为所述最新的访问总次数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对于接收到的每一个埋点数据,判断所述埋点数据所属的埋点对象是否满足预设条件,其中,预设条件为所述埋点对象为首页埋点对象并且当前时刻与访问所述埋点对象的用户上一次访问所述埋点对象的时刻的时间间隔小于时长阈值;若是,保持所述埋点对象的访问总次数参数的参数值;若否,对所述埋点对象的访问总次数参数的参数值进行更新。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收目标设备发送的埋点数据查询请求;
判断埋点数据缓存数据库中是否存储所述目标设备需要获取的埋点数据;
若是,将所述目标设备需要获取的埋点数据发送至目标设备;
若否,从所述埋点数据持久化数据库中查找出目标设备需要获取的埋点数据,以及将所述目标设备需要获取的埋点数据发送至目标设备。
8.一种埋点数据处理装置,其特征在于,所述装置包括:
缓存单元,被配置为利用埋点数据缓存数据库存储在埋点数据收集时间段内接收到的每一个埋点数据,其中,埋点数据由客户端发送,埋点数据基于客户端的用户访问埋点对象而在客户端生成,埋点数据包括:所述埋点数据所属的埋点对象的标识、访问所述埋点数据所属的埋点对象的用户的标识、埋点对象访问数据;
处理单元,被配置为将存储在埋点数据缓存数据库中的、在埋点数据收集时间段内接收到的所有埋点数据写入到埋点数据持久化数据库中,以及更新埋点数据持久化数据库中的第一数据表中的每一个被访问埋点对象的访问总次数参数的参数值,其中,被访问埋点对象为具有至少一个在埋点数据收集时间段内生成的埋点数据的埋点对象。
9.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911187122.5A CN111190899B (zh) | 2019-11-26 | 2019-11-26 | 一种埋点数据处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911187122.5A CN111190899B (zh) | 2019-11-26 | 2019-11-26 | 一种埋点数据处理方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111190899A true CN111190899A (zh) | 2020-05-22 |
CN111190899B CN111190899B (zh) | 2023-08-15 |
Family
ID=70707197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911187122.5A Active CN111190899B (zh) | 2019-11-26 | 2019-11-26 | 一种埋点数据处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190899B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113177173A (zh) * | 2021-04-27 | 2021-07-27 | 北京京东振世信息技术有限公司 | 一种数据访问方法、装置、设备及存储介质 |
CN113222380A (zh) * | 2021-04-29 | 2021-08-06 | 广州宸祺出行科技有限公司 | 一种基于用户属性及行为构建的出行风险控制方法及装置 |
CN113641689A (zh) * | 2021-07-22 | 2021-11-12 | 上海云轴信息科技有限公司 | 基于轻量级数据库的数据处理方法及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778244A (zh) * | 2014-02-11 | 2014-05-07 | 五八同城信息技术有限公司 | 一种基于用户行为日志的自动化报表分析方法 |
CN104156419A (zh) * | 2014-08-03 | 2014-11-19 | 广东电子工业研究院有限公司 | 一种异构数据源的实体化方法及其引擎 |
CN104572043A (zh) * | 2013-10-16 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种对客户端应用的控件进行实时埋点的方法及装置 |
CN105808707A (zh) * | 2016-02-29 | 2016-07-27 | 郑州悉知信息科技股份有限公司 | 数据处理方法、装置和电子商务平台 |
CN106330990A (zh) * | 2015-06-17 | 2017-01-11 | 阿里巴巴集团控股有限公司 | B/s结构的性能监控分析系统和方法 |
CN107122457A (zh) * | 2017-04-26 | 2017-09-01 | 努比亚技术有限公司 | 记录网络用户行为数据的方法及其装置、计算机可读介质 |
CN107995266A (zh) * | 2017-11-22 | 2018-05-04 | 平安科技(深圳)有限公司 | 埋点数据处理方法、装置、计算机设备和存储介质 |
CN109740089A (zh) * | 2018-11-30 | 2019-05-10 | 东软集团股份有限公司 | 数据采集方法、装置、系统、可读存储介质及电子设备 |
-
2019
- 2019-11-26 CN CN201911187122.5A patent/CN111190899B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572043A (zh) * | 2013-10-16 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种对客户端应用的控件进行实时埋点的方法及装置 |
CN103778244A (zh) * | 2014-02-11 | 2014-05-07 | 五八同城信息技术有限公司 | 一种基于用户行为日志的自动化报表分析方法 |
CN104156419A (zh) * | 2014-08-03 | 2014-11-19 | 广东电子工业研究院有限公司 | 一种异构数据源的实体化方法及其引擎 |
CN106330990A (zh) * | 2015-06-17 | 2017-01-11 | 阿里巴巴集团控股有限公司 | B/s结构的性能监控分析系统和方法 |
CN105808707A (zh) * | 2016-02-29 | 2016-07-27 | 郑州悉知信息科技股份有限公司 | 数据处理方法、装置和电子商务平台 |
CN107122457A (zh) * | 2017-04-26 | 2017-09-01 | 努比亚技术有限公司 | 记录网络用户行为数据的方法及其装置、计算机可读介质 |
CN107995266A (zh) * | 2017-11-22 | 2018-05-04 | 平安科技(深圳)有限公司 | 埋点数据处理方法、装置、计算机设备和存储介质 |
CN109740089A (zh) * | 2018-11-30 | 2019-05-10 | 东软集团股份有限公司 | 数据采集方法、装置、系统、可读存储介质及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113177173A (zh) * | 2021-04-27 | 2021-07-27 | 北京京东振世信息技术有限公司 | 一种数据访问方法、装置、设备及存储介质 |
CN113177173B (zh) * | 2021-04-27 | 2023-09-05 | 北京京东振世信息技术有限公司 | 一种数据访问方法、装置、设备及存储介质 |
CN113222380A (zh) * | 2021-04-29 | 2021-08-06 | 广州宸祺出行科技有限公司 | 一种基于用户属性及行为构建的出行风险控制方法及装置 |
CN113641689A (zh) * | 2021-07-22 | 2021-11-12 | 上海云轴信息科技有限公司 | 基于轻量级数据库的数据处理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111190899B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107870728B (zh) | 用于移动数据的方法和设备 | |
CN110018998B (zh) | 一种文件管理方法、系统及电子设备和存储介质 | |
CN110019004B (zh) | 一种数据处理方法、装置及系统 | |
CN111190899B (zh) | 一种埋点数据处理方法、装置、服务器及存储介质 | |
CN108228646B (zh) | 用于访问数据的方法和电子设备 | |
CN110765076B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN108614837B (zh) | 文件存储和检索的方法及装置 | |
KR101766790B1 (ko) | 메인 메모리 데이터 베이스를 관리 하기 위한 방법 및 컴퓨팅 장치 | |
CN111857539B (zh) | 用于管理存储系统的方法、设备和计算机可读介质 | |
CN109213604B (zh) | 一种数据源的管理方法和装置 | |
CN112882647B (zh) | 存储和访问数据的方法、电子设备和计算机程序产品 | |
US10983718B2 (en) | Method, device and computer program product for data backup | |
CN108875046A (zh) | 一种存储系统访问方法、装置及电子设备 | |
CN105447167A (zh) | 分布式系统中节点缓存数据的处理方法及装置 | |
CN114528269A (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
CN114579561A (zh) | 数据处理方法和装置、存储介质 | |
US20060112083A1 (en) | Object relation information management program, method, and apparatus | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
CN111367948A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN113918659A (zh) | 数据操作方法、装置、存储介质及电子设备 | |
KR101443942B1 (ko) | 서버의 캐쥬얼 네트워크에서의 분산 검색 | |
US11520818B2 (en) | Method, apparatus and computer program product for managing metadata of storage object | |
CN112148728B (zh) | 用于信息处理的方法、设备和计算机程序产品 | |
CN108804625B (zh) | 一种lsm树的优化方法、装置及计算机设备 | |
CN111831620B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |