埋点数据处理方法及系统与流程

专利查询2023-2-5  122



1.本发明涉及数据处理领域,更具体地讲,涉及一种埋点数据处理方法及系统。


背景技术:

2.对于采用客户端与服务端交互形式的应用,功能种类的设置、功能位置的摆放、功能按钮的排布,对用户的使用都会产生较大影响,并且在推广初期及后期功能拓展中,如何根据用户的需求、喜好、习惯来布置功能结构、功能点击功能摆放及按钮设置,需要强大的埋点数据解析模型作为支撑,如何更加高效、有效的获取埋点数据,成为了应用生命周期中的重要过程。


技术实现要素:

3.本发明的实施例的目的在于提供一种埋点数据处理方法及系统,以在有效降低系统复杂性,保证系统运行稳定性前提下,依赖业务数据但不依赖业务系统的情况下,高效的将客户端埋点数据发送至服务端并进行持久化。
4.第一方面,本发明提供一种埋点数据处理方法,其特征在于,包括:
5.封装客户端的浏览器将接收的业务数据以及功能数据以预定义的数据记录格式进行记录,得到埋点数据;
6.当所述埋点数据的数量达到预设阈值或者所述客户端被关闭时,所述浏览器将所述埋点数据上传至服务器;
7.所述服务器将所述埋点数据存储至消息队列中,并在运行压力小于预设阈值时,对所述埋点数据进行处理,以及将处理后的埋点数据存入数据库中。
8.进一步地,所述客户端为c++封装浏览器内核形式存在的exe应用,所述埋点数据包括:菜单id、模块id、应用id及用户信息及本机的mac信息和时间戳数据。
9.进一步地,所述浏览器将所述埋点数据上传至服务器的步骤包括:
10.所述浏览器将所述埋点数据进行gzip压缩后,进行base64编码,得到编码后的所述埋点数据;
11.所述浏览器将编码后的所述埋点数据上传至服务器。
12.进一步地,所述服务器对所述埋点数据进行处理的步骤包括:
13.所述服务器从队列中获取数据,然后进行解码、解压操作,操作后得到原始数据,并对原始数据进行解析,解析后形成批量存储的数据形式。
14.进一步地,所述封装客户端的浏览器将接收的业务数据以及功能数据以预定义的数据记录格式进行记录的步骤包括:
15.封装客户端的浏览器将接收的业务数据以及功能数据以预定义的数据记录格式在内存中进行记录。
16.第二方面,一种埋点数据处理系统包括:
17.封装客户端的浏览器,用于将接收的业务数据以及功能数据以预定义的数据记录
格式进行记录,得到埋点数据;当所述埋点数据的数量达到预设阈值或者所述客户端被关闭时,将所述埋点数据上传至服务器;
18.所述服务器,用于将所述埋点数据存储至消息队列中,并在运行压力小于预设阈值时,对所述埋点数据进行处理,以及将处理后的埋点数据存入数据库中。
19.进一步地,所述客户端为c++封装浏览器内核形式存在的exe应用,所述埋点数据包括:菜单id、模块id、应用id及用户信息及本机的mac信息和时间戳数据。
20.进一步地,所述浏览器具体用于:将所述埋点数据进行gzip压缩后,进行base64编码,得到编码后的所述埋点数据,以及将编码后的所述埋点数据上传至服务器。
21.进一步地,所述服务器具体用于从队列中获取数据,然后进行解码、解压操作,操作后得到原始数据,并对原始数据进行解析,解析后形成批量存储的数据形式。
22.进一步地,所述浏览器具体用于将接收的业务数据以及功能数据以预定义的数据记录格式在内存中进行记录。
23.本发明的埋点数据处理方法及系统,采用直接选取客户端数据作为埋点数据,无额外信息增加,埋点信息以数据压缩编码形式传送至客户端,提高交互效率,服务端采用异步存储方式处理数据转化,有效降低服务端压力,在有效降低系统复杂性,保证系统运行稳定性前提下,依赖业务数据但不依赖业务系统的情况下,高效的将客户端埋点数据发送至服务端并进行持久化。
附图说明
24.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1是示出本发明第一实施例的埋点数据处理方法的流程图。
26.图2是示出本发明第二实施例的埋点数据处理系统的结构示意图。
27.图3是示出本发明第三实施例的埋点数据处理方法中埋点数据的记录形式示意图。
28.图4是示出本发明第四实施例的埋点数据处理系统的功能示意图。
具体实施方式
29.下面结合附图对本发明实施例进行详细描述。
30.需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本发明,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使
用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
32.图1是示出本发明第一实施例的埋点数据处理方法的流程图。如图1所示,一种埋点数据处理方法,包括:
33.步骤101,封装客户端的浏览器将(从服务器)接收的业务数据以及功能数据以预定义的数据记录格式进行记录,得到埋点数据;
34.步骤102,当所述埋点数据的数量达到预设阈值或者所述客户端被关闭时,所述浏览器将所述埋点数据上传至服务器;
35.步骤103,所述服务器将所述埋点数据存储至消息队列中,并在运行压力小于预设阈值时,对所述埋点数据进行处理,以及将处理后的埋点数据存入数据库中。
36.优选地,所述客户端为c++封装浏览器内核形式存在的exe应用,所述埋点数据包括:菜单id、模块id、应用id及用户信息及本机的mac信息和时间戳数据。
37.优选地,所述浏览器将所述埋点数据上传至服务器的步骤包括:
38.所述浏览器将所述埋点数据进行gzip压缩后,进行base64编码,得到编码后的所述埋点数据;
39.所述浏览器将编码后的所述埋点数据上传至服务器。
40.优选地,所述服务器对所述埋点数据进行处理的步骤包括:
41.所述服务器从队列中获取数据,然后进行解码、解压操作,操作后得到原始数据,并对原始数据进行解析,解析后形成批量存储的数据形式。
42.优选地,所述封装客户端的浏览器将接收的业务数据以及功能数据以预定义的数据记录格式进行记录的步骤包括:
43.封装客户端的浏览器将接收的业务数据以及功能数据以预定义的数据记录格式在内存中进行记录。
44.本实施例采用直接选取客户端数据作为埋点数据,无额外信息增加,埋点信息以数据压缩编码形式传送至客户端,提高交互效率,服务端采用异步存储方式处理数据转化,有效降低服务端压力,在有效降低系统复杂性,保证系统运行稳定性前提下,依赖业务数据但不依赖业务系统的情况下,高效的将客户端埋点数据发送至服务端并进行持久化。
45.图2是示出本发明第二实施例的埋点数据处理系统的结构框图。图1所示实施方式的解释说明可以应用于本实施例。如图2所示,该埋点数据处理系统包括:
46.封装客户端的浏览器201,用于将接收的业务数据以及功能数据以预定义的数据记录格式进行记录,得到埋点数据;当所述埋点数据的数量达到预设阈值或者所述客户端被关闭时,将所述埋点数据上传至服务器;
47.所述服务器202,用于将所述埋点数据存储至消息队列中,并在运行压力小于预设阈值时,对所述埋点数据进行处理,以及将处理后的埋点数据存入数据库中。
48.具体地,客户端是已c++封装浏览器内核形式存在的exe应用,在客户端启动时内嵌的浏览器与服务端交互,完成用户的登录与业务数据和功能数据的获取,其中功能数据主要包括客户端展示的菜单项信息、功能切换栏信息、功能信息、按钮信息、图标信息等,这些功能数据完成了客户端界面的渲染及展示。
49.埋点以上述功能数据中的菜单id、模块id、应用id及用户信息及本机的mac信息和
时间戳数据作为埋点数据模板,当用户进行功能切换及功能进入,浏览器都会像外壳开启的监听程序发送埋点数据,记录形式如图3所示,外壳会将此记录数据存储在内存中;当记录达到指定条数或者客户端被关闭时,外壳程序会瞬间触发传输机制,将上述的数据进行gzip压缩后,进行base64编码,然后将数据传送至服务端。
50.服务端接收到客户端传送的数据后,直接整体存储至消息队列中;服务端存在一定时消费队列信息服务,在服务器运行压力小的时段,顺序去队列中获取数据,然后进行解码、解压操作,操作后得到原始数据,服务端的程序对此原始数据进行解析,解析后形成批量存储的数据形式,然后持久化至数据库中,如图4所示。
51.本实施例埋点数据取自本应在客户端中正常显示的业务及功能数据,不会额外增加埋点数据的设置,且埋点覆盖广,可做到无死角;埋点数据记录在内存中,不会再终端产生具体痕迹;埋点数据最终以数据形式进行压缩和编码传输到服务端,不但可降低传输带宽,也可增加数据安全性;服务端在接收到数据后,首先放入队列中,然后采用异步方式进行转换,不但保证了数据不会丢失,还可有效降低服务器运行压力。
52.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
53.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
54.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
55.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
56.需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
57.以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
58.上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

技术特征:
1.一种埋点数据处理方法,其特征在于,包括:封装客户端的浏览器将接收的业务数据以及功能数据以预定义的数据记录格式进行记录,得到埋点数据;当所述埋点数据的数量达到预设阈值或者所述客户端被关闭时,所述浏览器将所述埋点数据上传至服务器;所述服务器将所述埋点数据存储至消息队列中,并在运行压力小于预设阈值时,对所述埋点数据进行处理,以及将处理后的埋点数据存入数据库中。2.根据权利要求1所述的埋点数据处理方法,其特征在于,所述客户端为c++封装浏览器内核形式存在的exe应用,所述埋点数据包括:菜单id、模块id、应用id及用户信息及本机的mac信息和时间戳数据。3.根据权利要求1或2所述的埋点数据处理方法,其特征在于,所述浏览器将所述埋点数据上传至服务器的步骤包括:所述浏览器将所述埋点数据进行gzip压缩后,进行base64编码,得到编码后的所述埋点数据;所述浏览器将编码后的所述埋点数据上传至服务器。4.根据权利要求3所述的埋点数据处理方法,其特征在于,所述服务器对所述埋点数据进行处理的步骤包括:所述服务器从队列中获取数据,然后进行解码、解压操作,操作后得到原始数据,并对原始数据进行解析,解析后形成批量存储的数据形式。5.根据权利要求1-4中任一项所述的埋点数据处理方法,其特征在于,所述封装客户端的浏览器将接收的业务数据以及功能数据以预定义的数据记录格式进行记录的步骤包括:封装客户端的浏览器将接收的业务数据以及功能数据以预定义的数据记录格式在内存中进行记录。6.一种埋点数据处理系统,其特征在于,包括:封装客户端的浏览器,用于将接收的业务数据以及功能数据以预定义的数据记录格式进行记录,得到埋点数据;当所述埋点数据的数量达到预设阈值或者所述客户端被关闭时,将所述埋点数据上传至服务器;所述服务器,用于将所述埋点数据存储至消息队列中,并在运行压力小于预设阈值时,对所述埋点数据进行处理,以及将处理后的埋点数据存入数据库中。7.根据权利要求6所述的埋点数据处理系统,其特征在于,所述客户端为c++封装浏览器内核形式存在的exe应用,所述埋点数据包括:菜单id、模块id、应用id及用户信息及本机的mac信息和时间戳数据。8.根据权利要求6或7所述的埋点数据处理系统,其特征在于,所述浏览器具体用于:将所述埋点数据进行gzip压缩后,进行base64编码,得到编码后的所述埋点数据,以及将编码后的所述埋点数据上传至服务器。9.根据权利要求8所述的埋点数据处理系统,其特征在于,所述服务器具体用于从队列中获取数据,然后进行解码、解压操作,操作后得到原始数据,并对原始数据进行解析,解析后形成批量存储的数据形式。10.根据权利要求6-9中任一项所述的埋点数据处理系统,其特征在于,所述浏览器具
体用于将接收的业务数据以及功能数据以预定义的数据记录格式在内存中进行记录。

技术总结
本发明提供一种埋点数据处理方法及系统,该埋点数据处理方法包括:封装客户端的浏览器将接收的业务数据以及功能数据以预定义的数据记录格式进行记录,得到埋点数据;当所述埋点数据的数量达到预设阈值或者所述客户端被关闭时,所述浏览器将所述埋点数据上传至服务器;所述服务器将所述埋点数据存储至消息队列中,并在运行压力小于预设阈值时,对所述埋点数据进行处理,以及将处理后的埋点数据存入数据库中。据库中。据库中。


技术研发人员:李闯 王维科 王超 董红顺 王红瓅 陈乃明
受保护的技术使用者:航天信息股份有限公司
技术研发日:2021.12.09
技术公布日:2022/3/8

最新回复(0)