CN112416728A - 埋点数据获取方法、装置、客户端设备及可读存储介质 - Google Patents
埋点数据获取方法、装置、客户端设备及可读存储介质 Download PDFInfo
- Publication number
- CN112416728A CN112416728A CN202011326798.0A CN202011326798A CN112416728A CN 112416728 A CN112416728 A CN 112416728A CN 202011326798 A CN202011326798 A CN 202011326798A CN 112416728 A CN112416728 A CN 112416728A
- Authority
- CN
- China
- Prior art keywords
- data
- buried point
- control
- page
- identifier
- 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
- 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Abstract
本发明涉及数据处理,揭露一种埋点数据获取方法,包括:获取埋点配置文件及其标准信息摘要值,计算埋点配置文件的信息摘要值;当计算得到的信息摘要值与标准信息摘要值一致时,获取埋点配置文件中的待埋点控件标识、控件事件及待上报指标项;当监测到目标应用程序运行时,采集用户的行为数据,确定目标控件对应的标识、操作事件及页面类别;当目标控件对应的标识及操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,采集待上报指标项对应的操作数据,基于页面类别将处理得到数据密文及标准校验值上报给服务器。本发明还提供一种埋点数据获取装置、客户端设备及可读存储介质。本发明降低了代码逻辑耦合度,保证了埋点的安全可靠。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种埋点数据获取方法、装置、客户端设备及可读存储介质。
背景技术
随着互联网技术的不断发展,为了收集用户在使用应用程序时所产生的行为数据,通常对应用程序进行埋点。当前有两种常见的埋点方式:在业务代码中添加埋点代码及使用切面编程进行埋点。
然而,在业务代码中添加埋点代码的方案会导致业务逻辑与埋点逻辑强耦合,从而使得整个代码更加臃肿,在更新业务代码或埋点代码时操作复杂,维护难度大;对于切面编程埋点方案,虽然可以将业务逻辑与埋点逻辑分离,然而切面编程是基于hook方式的一种带有风险的行为,例如对于多个开发人员共同维护的大型应用程序,可能会出现hook过渡使用而导致出现bug、难以调试的问题。因此,亟需一种埋点数据获取方法,以解决现有技术中埋点方案的代码逻辑高耦合度的问题,并保证埋点的安全可靠。
发明内容
鉴于以上内容,有必要提供一种埋点数据获取方法,旨在降低代码逻辑耦合度,保证埋点的安全可靠。
本发明提供的埋点数据获取方法,包括:
解析服务器发出的针对目标应用程序的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值;
当计算得到的信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项;
当监测到所述目标应用程序运行时,利用预先配置的捕获函数采集用户在所述目标应用程序上的行为数据,所述行为数据包括被触发的目标控件所属页面的页面信息及目标控件对应的操作事件,基于所述页面信息确定目标控件对应的标识及目标控件所属页面的页面类别;
当所述目标控件对应的标识及所述操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,采集所述待上报指标项对应的操作数据,对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器。
可选的,所述对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,包括:
将所述待操作数据中每个待上报指标项及其对应的数据作为一个子数据,将各个子数据转换为键值对格式的数据,得到第一数据;
利用预设字符替换所述第一数据中与用户身份信息关联的value值,得到第二数据;
对所述第二数据中的子数据进行排序,得到第三数据;
采用第一算法对所述第三数据进行加密处理得到数据密文;
采用第二算法计算所述数据密文的校验值,得到标准校验值。
可选的,在对所述操作数据执行脱敏及加密处理之前,所述方法还包括:
判断所述操作数据中是否包含预设字段及预设字段对应的数值是否满足预设格式要求,若判断不含预设字段或预设字段对应的数值不满足预设格式要求,则生成错误日志。
可选的,所述目标应用程序包括native组件和h5组件,所述页面类别包括native原生页面及webview加载的h5页面,所述基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器是通过调用native组件实现的,包括:
若所述页面类别为native原生页面,调用native组件上报所述数据密文及其标准校验值;
若所述页面类别为webview加载的h5页面,先调用h5组件获取native组件对应的接入接口及交互协议,依据所述交互协议中定义的数据格式将所述数据密文及标准校验值进行封装,将封装后的数据从所述接入接口发送给native组件,再调用所述native组件上报所述封装后的数据。
可选的,所述待埋点控件标识包括页面类别标识、视图层级路径标识、控件类别标识及控件位置索引标识。
可选的,在获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项之前,所述方法还包括:
获取预先存储在本地的埋点配置文件的第一版本号及所述埋点数据获取请求携带的埋点配置文件的第二版本号,若所述第二版本号低于或等于所述第一版本号,则删除所述第二版本号的埋点配置文件,将所述第一版本号的埋点配置文件作为待处理埋点配置文件。
可选的,在计算所述埋点配置文件的信息摘要值之后,所述方法还包括:
若计算得到的信息摘要值与所述标准信息摘要值不一致,则拒绝所述埋点数据获取请求并发送警示信息给所述服务器。
为了解决上述问题,本发明还提供一种埋点数据获取装置,所述装置包括:
计算模块,用于解析服务器发出的针对目标应用程序的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值;
获取模块,用于当计算得到的信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项;
采集模块,用于当监测到所述目标应用程序运行时,利用预先配置的捕获函数采集用户在所述目标应用程序上的行为数据,所述行为数据包括被触发的目标控件所属页面的页面信息及目标控件对应的操作事件,基于所述页面信息确定目标控件对应的标识及目标控件所属页面的页面类别;
上报模块,用于当所述目标控件对应的标识及所述操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,采集所述待上报指标项对应的操作数据,对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器。
为了解决上述问题,本发明还提供一种客户端设备,所述客户端设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的埋点数据获取程序,所述埋点数据获取程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述埋点数据获取方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有埋点数据获取程序,所述埋点数据获取程序可被一个或者多个处理器执行,以实现上述埋点数据获取方法。
相较现有技术,本发明首先获取目标应用程序对应的埋点配置文件及其标准信息摘要值,计算埋点配置文件的信息摘要值;当计算得到的信息摘要值与标准信息摘要值一致时,获取埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项,该步骤通过比对信息摘要值保证了埋点配置文件的安全性和完整性;接着,当监测到目标应用程序运行时,采集用户在目标应用程序上的行为数据,所述行为数据包括被触发的目标控件所属页面的页面信息及目标控件对应的操作事件,确定目标控件对应的标识及目标控件所属页面的页面类别;最后,当目标控件对应的标识及操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,采集待上报指标项对应的操作数据,将处理得到的数据密文及其标准校验值上报给服务器,本步骤简化了埋点代码,解决了现有埋点方案代码高耦合度的问题。因此,本发明降低了代码逻辑耦合度,保证了埋点的安全可靠。
附图说明
图1为本发明一实施例提供的埋点数据获取方法的流程示意图;
图2为本发明一实施例提供的埋点数据获取装置的模块示意图;
图3为本发明一实施例提供的实现埋点数据获取方法的客户端设备的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种埋点数据获取方法。参照图1所示,为本发明一实施例提供的埋点数据获取方法的流程示意图。该方法可以由一个客户端设备执行,该客户端设备可以由软件和/或硬件实现。
本实施例中,埋点数据获取方法包括:
S1、解析服务器发出的针对目标应用程序的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值。
本实施例中,所述埋点配置文件的信息摘要值为其MD5值,通过比对计算得到的信息摘要值与标准信息摘要值是否一致,可确保埋点配置文件的安全性(未被篡改)、完整性。
S2、当计算得到的信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项。
本实施例中,在计算所述埋点配置文件的信息摘要值之后,所述方法还包括:
若计算得到的信息摘要值与所述标准信息摘要值不一致,则拒绝所述埋点数据获取请求并发送警示信息给所述服务器。
在本发明的另一实施例中,在获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项之前,所述方法还包括:
获取预先存储在本地的埋点配置文件的第一版本号及所述埋点数据获取请求携带的埋点配置文件的第二版本号,若所述第二版本号低于或等于所述第一版本号,则删除所述第二版本号的埋点配置文件,将所述第一版本号的埋点配置文件作为待处理埋点配置文件。
本实施例中,所述埋点配置文件以JSON列表形式存储每个待埋点控件信息,所述待埋点控件信息包括待埋点控件标识、控件事件及待上报指标项,其中,待埋点控件标识包括控件所属页面的页面类别标识、视图层级路径标识、控件类别标识及控件位置索引标识,因通常情况下应用程序中相同控件数量较多,通过为控件配置唯一标识符,可快速、准确确定出待埋点控件。
所述页面类别包括native原生页面和webview加载的h5页面。
对于native原生页面,其所有的视图都是由一个完整的层级视图树构成,视图树的根节点都是window窗口,窗口内所有的view视图都是依照其所在层级依次展开。本实施例采用深度优先遍历算法依照视图树的路径获取所述视图树的所有控件,得到以window为出发点、控件为结束点的视图层级路径标识。
当一个页面上有多个相同类别的控件时,它们所对应的页面类别标识相同、视图层级路径标识相同,为了区分这些控件,本实施例增加控件类别标识及控件位置索引标识。
在另一个实施例中,所述待埋点控件标识还可以包括section和row标识、弹窗标题和提示信息标识。
例如,对于可复用的列表内元素控件(系统级别的列表内元素是可复用的,当列表内某一条目被移出页面后会被放入复用池中,当需增加新条目渲染时可从复用池中抽取条目进行复用,以减少内存使用率并缩短渲染时间),可通过增加section和row信息标识加以区分。
对于一个页面在不同条件下触发的Alert弹窗(页面类别标识相同、视图层级路径标识相同、控件类别标识相同、控件位置索引标识相同),可通过增加弹窗标题和提示信息标识加以区分。
对于h5页面,因h5页面内所有元素构成一个完整的DOM树,每个h5控件通过其元素标签内的ClassName获取其类型分类数组,或通过其id属性获取其唯一对应元素来构建其控件标识。
S3、当监测到所述目标应用程序运行时,利用预先配置的捕获函数采集用户在所述目标应用程序上的行为数据,所述行为数据包括被触发的目标控件所属页面的页面信息及目标控件对应的操作事件,基于所述页面信息确定目标控件对应的标识及目标控件所属页面的页面类别。
所述捕获函数为预先编写好的通用函数,用以捕获被触发的控件的页面信息及被触发的操作事件的具体内容。
所述页面信息包括目标控件所属页面的页面类别、视图层级路径、目标控件类别、目标控件位置索引,基于所述页面信息可唯一的确定所述目标控件对应的标识。
S4、当所述目标控件对应的标识及所述操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,采集所述待上报指标项对应的操作数据,对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器。
当目标控件对应的标识及其操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,说明需要获取所述目标控件对应的埋点数据,此时可待上报指标项对应的操作数据,所述待上报指标项可以包括目标应用程序信息、用户信息、目标应用程序所在的客户端信息、目标控件被触发的时间、触发方式(例如,滑动、点击、长按等)、触发次数、目标控件被触发后的响应时间。
本实施例中,所述对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,包括:
A1、将所述待操作数据中每个待上报指标项及其对应的数据作为一个子数据,将各个子数据转换为键值对格式的数据,得到第一数据;
例如,子数据“触发方式”对应的key值为触发方式,value值为滑动,其键值对格式数据为(触发方式:滑动)。
A2、利用预设字符替换所述第一数据中与用户身份信息关联的value值,得到第二数据;
所述预设字符可以是数字、字母,也可以是特定字符,例如“-”或者“*”。
A3、对所述第二数据中的子数据进行排序,得到第三数据;
本实施例按照key值的字母升序顺序对第二数据中的子数据进行排序。
A4、采用第一算法对所述第三数据进行加密处理得到数据密文;
所述第一算法为sha1算法。
A5、采用第二算法计算所述数据密文的校验值,得到标准校验值。
所述第二算法为md5算法、base64转换、AES加密算法。
后续服务器在收到数据密文后,可计算其校验值,将两个校验值进行比对,即可确定数据密文的完整性、真实性。
在对所述操作数据执行脱敏及加密处理之前,所述方法还包括:
判断所述操作数据中是否包含预设字段及预设字段对应的数值是否满足预设格式要求,若判断不含预设字段或预设字段对应的数值不满足预设格式要求,则生成错误日志。
例如,若采集到的操作数据中没有目标控件被触发的时间或被触发的时间对应的数值不是时间格式,则生成错误日志。
本实施例中,所述目标应用程序包括native组件和h5组件,所述基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器是通过调用native组件实现的,包括:
B1、若所述页面类别为native原生页面,调用native组件上报所述数据密文及其标准校验值;
B2、若所述页面类别为webview加载的h5页面,先调用h5组件获取native组件对应的接入接口及交互协议,依据所述交互协议中定义的数据格式将所述数据密文及标准校验值进行封装,将封装后的数据从所述接入接口发送给native组件,再调用所述native组件上报所述封装后的数据。
所述native组件用于执行native原生页面相关逻辑,h5组件用于执行webview加载的h5页面相关逻辑。
因h5组件不具备在其页面上报埋点数据的功能,需要与native组件进行交互才能实现上报功能。
本实施例中,所述方法还包括:
若通信异常导致无法将所述数据密文上报给所述服务器,则将每个被触发的目标控件对应的数据密文以JSON格式序列化存储至本地数据库,待通信正常后重新上传。
由上述实施例可知,本发明提出的埋点数据获取方法,首先,获取目标应用程序对应的埋点配置文件及其标准信息摘要值,计算埋点配置文件的信息摘要值;当计算得到的信息摘要值与标准信息摘要值一致时,获取埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项,该步骤通过比对信息摘要值保证了埋点配置文件的安全性和完整性;接着,当监测到目标应用程序运行时,采集用户在目标应用程序上的行为数据,所述行为数据包括被触发的目标控件所属页面的页面信息及目标控件对应的操作事件,确定目标控件对应的标识及目标控件所属页面的页面类别;最后,当目标控件对应的标识及操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,采集待上报指标项对应的操作数据,将处理得到的数据密文及其标准校验值上报给服务器,本步骤简化了埋点代码,解决了现有埋点方案代码高耦合度的问题。因此,本发明降低了代码逻辑耦合度,保证了埋点的安全可靠。
如图2所示,为本发明一实施例提供的埋点数据获取装置的模块示意图。
本发明所述埋点数据获取装置100可以安装于客户端设备中。根据实现的功能,所述埋点数据获取装置100可以包括计算模块110、获取模块120、采集模块130及上报模块140。本发明所述模块也可以称之为单元,是指一种能够被客户端设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在客户端设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
计算模块110,用于解析服务器发出的针对目标应用程序的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值。
本实施例中,所述埋点配置文件的信息摘要值为其MD5值,通过比对计算得到的信息摘要值与标准信息摘要值是否一致,可确保埋点配置文件的安全性(未被篡改)、完整性。
获取模块120,用于当计算得到的信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项。
本实施例中,在计算所述埋点配置文件的信息摘要值之后,所述获取模块120还用于:
若计算得到的信息摘要值与所述标准信息摘要值不一致,则拒绝所述埋点数据获取请求并发送警示信息给所述服务器。
在本发明的另一实施例中,在获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项之前,所述获取模块120还用于:
获取预先存储在本地的埋点配置文件的第一版本号及所述埋点数据获取请求携带的埋点配置文件的第二版本号,若所述第二版本号低于或等于所述第一版本号,则删除所述第二版本号的埋点配置文件,将所述第一版本号的埋点配置文件作为待处理埋点配置文件。
本实施例中,所述埋点配置文件以JSON列表形式存储每个待埋点控件信息,所述待埋点控件信息包括待埋点控件标识、控件事件及待上报指标项,其中,待埋点控件标识包括控件所属页面的页面类别标识、视图层级路径标识、控件类别标识及控件位置索引标识,因通常情况下应用程序中相同控件数量较多,通过为控件配置唯一标识符,可快速、准确确定出待埋点控件。
所述页面类别包括native原生页面和webview加载的h5页面。
对于native原生页面,其所有的视图都是由一个完整的层级视图树构成,视图树的根节点都是window窗口,窗口内所有的view视图都是依照其所在层级依次展开。本实施例采用深度优先遍历算法依照视图树的路径获取所述视图树的所有控件,得到以window为出发点、控件为结束点的视图层级路径标识。
当一个页面上有多个相同类别的控件时,它们所对应的页面类别标识相同、视图层级路径标识相同,为了区分这些控件,本实施例增加控件类别标识及控件位置索引标识。
在另一个实施例中,所述待埋点控件标识还可以包括section和row标识、弹窗标题和提示信息标识。
例如,对于可复用的列表内元素控件(系统级别的列表内元素是可复用的,当列表内某一条目被移出页面后会被放入复用池中,当需增加新条目渲染时可从复用池中抽取条目进行复用,以减少内存使用率并缩短渲染时间),可通过增加section和row信息标识加以区分。
对于一个页面在不同条件下触发的Alert弹窗(页面类别标识相同、视图层级路径标识相同、控件类别标识相同、控件位置索引标识相同),可通过增加弹窗标题和提示信息标识加以区分。
对于h5页面,因h5页面内所有元素构成一个完整的DOM树,每个h5控件通过其元素标签内的ClassName获取其类型分类数组,或通过其id属性获取其唯一对应元素来构建其控件标识。
采集模块130,用于当监测到所述目标应用程序运行时,利用预先配置的捕获函数采集用户在所述目标应用程序上的行为数据,所述行为数据包括被触发的目标控件所属页面的页面信息及目标控件对应的操作事件,基于所述页面信息确定目标控件对应的标识及目标控件所属页面的页面类别。
所述捕获函数为预先编写好的通用函数,用以捕获被触发的控件的页面信息及被触发的操作事件的具体内容。
所述页面信息包括目标控件所属页面的页面类别、视图层级路径、目标控件类别、目标控件位置索引,基于所述页面信息可唯一的确定所述目标控件对应的标识。
上报模块140,用于当所述目标控件对应的标识及所述操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,采集所述待上报指标项对应的操作数据,对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器。
当目标控件对应的标识及其操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,说明需要获取所述目标控件对应的埋点数据,此时可待上报指标项对应的操作数据,所述待上报指标项可以包括目标应用程序信息、用户信息、目标应用程序所在的客户端信息、目标控件被触发的时间、触发方式(例如,滑动、点击、长按等)、触发次数、目标控件被触发后的响应时间。
本实施例中,所述对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,包括:
A1、将所述待操作数据中每个待上报指标项及其对应的数据作为一个子数据,将各个子数据转换为键值对格式的数据,得到第一数据;
例如,子数据“触发方式”对应的key值为触发方式,value值为滑动,其键值对格式数据为(触发方式:滑动)。
A2、利用预设字符替换所述第一数据中与用户身份信息关联的value值,得到第二数据;
所述预设字符可以是数字、字母,也可以是特定字符,例如“-”或者“*”。
A3、对所述第二数据中的子数据进行排序,得到第三数据;
本实施例按照key值的字母升序顺序对第二数据中的子数据进行排序。
A4、采用第一算法对所述第三数据进行加密处理得到数据密文;
所述第一算法为sha1算法。
A5、采用第二算法计算所述数据密文的校验值,得到标准校验值。
所述第二算法为md5算法、base64转换、AES加密算法。
后续服务器在收到数据密文后,可计算其校验值,将两个校验值进行比对,即可确定数据密文的完整性、真实性。
在对所述操作数据执行脱敏及加密处理之前,所述上报模块140还用于:
判断所述操作数据中是否包含预设字段及预设字段对应的数值是否满足预设格式要求,若判断不含预设字段或预设字段对应的数值不满足预设格式要求,则生成错误日志。
例如,若采集到的操作数据中没有目标控件被触发的时间或被触发的时间对应的数值不是时间格式,则生成错误日志。
本实施例中,所述目标应用程序包括native组件和h5组件,所述基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器是通过调用native组件实现的,包括:
B1、若所述页面类别为native原生页面,调用native组件上报所述数据密文及其标准校验值;
B2、若所述页面类别为webview加载的h5页面,先调用h5组件获取native组件对应的接入接口及交互协议,依据所述交互协议中定义的数据格式将所述数据密文及标准校验值进行封装,将封装后的数据从所述接入接口发送给native组件,再调用所述native组件上报所述封装后的数据。
所述native组件用于执行native原生页面相关逻辑,h5组件用于执行webview加载的h5页面相关逻辑。
因h5组件不具备在其页面上报埋点数据的功能,需要与native组件进行交互才能实现上报功能。
本实施例中,所述上报模块140还用于:
若通信异常导致无法将所述数据密文上报给所述服务器,则将每个被触发的目标控件对应的数据密文以JSON格式序列化存储至本地数据库,待通信正常后重新上传。
如图3所示,为本发明一实施例提供的实现埋点数据获取方法的客户端设备的结构示意图。
所述客户端设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述客户端设备1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
在本实施例中,客户端设备1包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,该存储器11中存储有埋点数据获取程序10,所述埋点数据获取程序10可被所述处理器12执行。图3仅示出了具有组件11-13以及埋点数据获取程序10的客户端设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对客户端设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为客户端设备1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是客户端设备1的内部存储单元,例如该客户端设备1的硬盘;在另一些实施例中,该非易失性存储介质也可以是客户端设备1的外部存储设备,例如客户端设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于客户端设备1的操作系统和各类应用软件,例如存储本发明一实施例中的埋点数据获取程序10的代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述客户端设备1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行埋点数据获取程序10等。
网络接口13可包括无线网络接口或有线网络接口,该网络接口13用于在所述客户端设备1与服务器(图中未画出)之间建立通信连接。
可选的,所述客户端设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在客户端设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述客户端设备1中的所述存储器11存储的埋点数据获取程序10是多个指令的组合,在所述处理器12中运行时,可以实现:
解析服务器发出的针对目标应用程序的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值;
当计算得到的信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项;
当监测到所述目标应用程序运行时,利用预先配置的捕获函数采集用户在所述目标应用程序上的行为数据,所述行为数据包括被触发的目标控件所属页面的页面信息及目标控件对应的操作事件,基于所述页面信息确定目标控件对应的标识及目标控件所属页面的页面类别;
当所述目标控件对应的标识及所述操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,采集所述待上报指标项对应的操作数据,对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器。
具体地,所述处理器12对上述埋点数据获取程序10的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。需要强调的是,为进一步保证上述埋点配置文件的私密和安全性,上述埋点配置文件还可以存储于一区块链的节点中。
进一步地,所述客户端设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以是非易失性的,也可以是非易失性的。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
所述计算机可读存储介质上存储有埋点数据获取程序10,所述埋点数据获取程序10可被一个或者多个处理器执行,本发明计算机可读存储介质具体实施方式与上述埋点数据获取方法各实施例基本相同,在此不作赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种埋点数据获取方法,应用于客户端设备,所述客户端设备与服务器通信连接,其特征在于,所述方法包括:
解析服务器发出的针对目标应用程序的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值;
当计算得到的信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项;
当监测到所述目标应用程序运行时,利用预先配置的捕获函数采集用户在所述目标应用程序上的行为数据,所述行为数据包括被触发的目标控件所属页面的页面信息及目标控件对应的操作事件,基于所述页面信息确定目标控件对应的标识及目标控件所属页面的页面类别;
当所述目标控件对应的标识及所述操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,采集所述待上报指标项对应的操作数据,对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器。
2.如权利要求1所述的埋点数据获取方法,其特征在于,所述对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,包括:
将所述待操作数据中每个待上报指标项及其对应的数据作为一个子数据,将各个子数据转换为键值对格式的数据,得到第一数据;
利用预设字符替换所述第一数据中与用户身份信息关联的value值,得到第二数据;
对所述第二数据中的子数据进行排序,得到第三数据;
采用第一算法对所述第三数据进行加密处理得到数据密文;
采用第二算法计算所述数据密文的校验值,得到标准校验值。
3.如权利要求1所述的埋点数据获取方法,其特征在于,在对所述操作数据执行脱敏及加密处理之前,所述方法还包括:
判断所述操作数据中是否包含预设字段及预设字段对应的数值是否满足预设格式要求,若判断不含预设字段或预设字段对应的数值不满足预设格式要求,则生成错误日志。
4.如权利要求1所述的埋点数据获取方法,其特征在于,所述目标应用程序包括native组件和h5组件,所述页面类别包括native原生页面及webview加载的h5页面,所述基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器是通过调用native组件实现的,包括:
若所述页面类别为native原生页面,调用native组件上报所述数据密文及其标准校验值;
若所述页面类别为webview加载的h5页面,先调用h5组件获取native组件对应的接入接口及交互协议,依据所述交互协议中定义的数据格式将所述数据密文及标准校验值进行封装,将封装后的数据从所述接入接口发送给native组件,再调用所述native组件上报所述封装后的数据。
5.如权利要求1-4任一项所述的埋点数据获取方法,其特征在于,所述待埋点控件标识包括页面类别标识、视图层级路径标识、控件类别标识及控件位置索引标识。
6.如权利要求1所述的埋点数据获取方法,其特征在于,在获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项之前,所述方法还包括:
获取预先存储在本地的埋点配置文件的第一版本号及所述埋点数据获取请求携带的埋点配置文件的第二版本号,若所述第二版本号低于或等于所述第一版本号,则删除所述第二版本号的埋点配置文件,将所述第一版本号的埋点配置文件作为待处理埋点配置文件。
7.如权利要求1所述的埋点数据获取方法,其特征在于,在计算所述埋点配置文件的信息摘要值之后,所述方法还包括:
若计算得到的信息摘要值与所述标准信息摘要值不一致,则拒绝所述埋点数据获取请求并发送警示信息给所述服务器。
8.一种埋点数据获取装置,其特征在于,所述装置包括:
计算模块,用于解析服务器发出的针对目标应用程序的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值;
获取模块,用于当计算得到的信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项;
采集模块,用于当监测到所述目标应用程序运行时,利用预先配置的捕获函数采集用户在所述目标应用程序上的行为数据,所述行为数据包括被触发的目标控件所属页面的页面信息及目标控件对应的操作事件,基于所述页面信息确定目标控件对应的标识及目标控件所属页面的页面类别;
上报模块,用于当所述目标控件对应的标识及所述操作事件与某一指定待埋点控件标识及其对应的控件事件一致时,采集所述待上报指标项对应的操作数据,对所述操作数据执行脱敏及加密处理,得到数据密文及其标准校验值,基于所述页面类别将所述数据密文及其标准校验值上报给所述服务器。
9.一种客户端设备,其特征在于,所述客户端设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的埋点数据获取程序,所述埋点数据获取程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的埋点数据获取方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有埋点数据获取程序,所述埋点数据获取程序可被一个或者多个处理器执行,以实现如权利要求1至7任一项所述的埋点数据获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011326798.0A CN112416728A (zh) | 2020-11-23 | 2020-11-23 | 埋点数据获取方法、装置、客户端设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011326798.0A CN112416728A (zh) | 2020-11-23 | 2020-11-23 | 埋点数据获取方法、装置、客户端设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112416728A true CN112416728A (zh) | 2021-02-26 |
Family
ID=74778456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011326798.0A Pending CN112416728A (zh) | 2020-11-23 | 2020-11-23 | 埋点数据获取方法、装置、客户端设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416728A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010395A (zh) * | 2021-03-02 | 2021-06-22 | 中国工商银行股份有限公司 | 数据采集方法、装置、设备、介质和程序产品 |
CN113094248A (zh) * | 2021-04-28 | 2021-07-09 | 深圳市网旭科技有限公司 | 用户行为数据分析方法、装置、电子设备及介质 |
CN113190458A (zh) * | 2021-05-24 | 2021-07-30 | 北京映客芝士网络科技有限公司 | 自动埋点数据分析的方法、装置、计算机设备和存储介质 |
CN113238948A (zh) * | 2021-05-19 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 埋点检测方法、装置、电子设备及存储介质 |
CN113468019A (zh) * | 2021-06-28 | 2021-10-01 | 康键信息技术(深圳)有限公司 | 基于Hbase的指标监控方法、装置、设备及存储介质 |
CN114117498A (zh) * | 2021-12-01 | 2022-03-01 | 恒安嘉新(北京)科技股份公司 | 脱敏数据的实现方法、装置、系统、设备及存储介质 |
CN114579416A (zh) * | 2022-03-09 | 2022-06-03 | 北京字节跳动网络技术有限公司 | 一种指标确定方法、装置、服务器和介质 |
CN114661569A (zh) * | 2022-03-25 | 2022-06-24 | 中企云链(北京)金融信息服务有限公司 | 用户行为数据动态埋点采集方法 |
CN115001967A (zh) * | 2022-05-30 | 2022-09-02 | 平安科技(深圳)有限公司 | 一种数据采集方法、装置、电子设备及存储介质 |
CN115022388A (zh) * | 2022-05-31 | 2022-09-06 | 济南浪潮数据技术有限公司 | 一种数据采集方法、装置、设备及介质 |
CN115277409A (zh) * | 2022-07-20 | 2022-11-01 | 杭州米络星科技(集团)有限公司 | 埋点数据实时采集和上报方法及装置、获取系统和终端 |
-
2020
- 2020-11-23 CN CN202011326798.0A patent/CN112416728A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010395A (zh) * | 2021-03-02 | 2021-06-22 | 中国工商银行股份有限公司 | 数据采集方法、装置、设备、介质和程序产品 |
CN113094248A (zh) * | 2021-04-28 | 2021-07-09 | 深圳市网旭科技有限公司 | 用户行为数据分析方法、装置、电子设备及介质 |
CN113238948B (zh) * | 2021-05-19 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 埋点检测方法、装置、电子设备及存储介质 |
CN113238948A (zh) * | 2021-05-19 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 埋点检测方法、装置、电子设备及存储介质 |
CN113190458A (zh) * | 2021-05-24 | 2021-07-30 | 北京映客芝士网络科技有限公司 | 自动埋点数据分析的方法、装置、计算机设备和存储介质 |
CN113468019A (zh) * | 2021-06-28 | 2021-10-01 | 康键信息技术(深圳)有限公司 | 基于Hbase的指标监控方法、装置、设备及存储介质 |
CN114117498A (zh) * | 2021-12-01 | 2022-03-01 | 恒安嘉新(北京)科技股份公司 | 脱敏数据的实现方法、装置、系统、设备及存储介质 |
CN114579416A (zh) * | 2022-03-09 | 2022-06-03 | 北京字节跳动网络技术有限公司 | 一种指标确定方法、装置、服务器和介质 |
CN114579416B (zh) * | 2022-03-09 | 2024-05-03 | 北京字节跳动网络技术有限公司 | 一种指标确定方法、装置、服务器和介质 |
CN114661569A (zh) * | 2022-03-25 | 2022-06-24 | 中企云链(北京)金融信息服务有限公司 | 用户行为数据动态埋点采集方法 |
CN114661569B (zh) * | 2022-03-25 | 2024-04-26 | 中企云链股份有限公司 | 用户行为数据动态埋点采集方法 |
CN115001967A (zh) * | 2022-05-30 | 2022-09-02 | 平安科技(深圳)有限公司 | 一种数据采集方法、装置、电子设备及存储介质 |
CN115001967B (zh) * | 2022-05-30 | 2023-08-29 | 平安科技(深圳)有限公司 | 一种数据采集方法、装置、电子设备及存储介质 |
CN115022388A (zh) * | 2022-05-31 | 2022-09-06 | 济南浪潮数据技术有限公司 | 一种数据采集方法、装置、设备及介质 |
CN115277409A (zh) * | 2022-07-20 | 2022-11-01 | 杭州米络星科技(集团)有限公司 | 埋点数据实时采集和上报方法及装置、获取系统和终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112416728A (zh) | 埋点数据获取方法、装置、客户端设备及可读存储介质 | |
CN111563016B (zh) | 日志采集分析方法、装置、计算机系统及可读存储介质 | |
CN112527599A (zh) | 智能监控方法、装置、电子设备及可读存储介质 | |
CN112860737B (zh) | 数据查询方法、装置、电子设备及可读存储介质 | |
CN112667592B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN112001179A (zh) | 命名实体识别方法、装置、电子设备及可读存储介质 | |
CN112115145A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN111858605B (zh) | 数据库自动化审计方法、系统、设备及存储介质 | |
CN115081016A (zh) | 日志脱敏方法、装置、电子设备及存储介质 | |
CN114185776A (zh) | 应用程序的大数据埋点方法、装置、设备及介质 | |
CN113051224A (zh) | 文件传输方法、装置、电子设备及计算机可读存储介质 | |
CN112256532A (zh) | 测试界面生成方法、装置、计算机设备及可读存储介质 | |
CN114911479A (zh) | 基于配置化的界面生成方法、装置、设备及存储介质 | |
CN114756850A (zh) | 数据的获取方法、装置、设备及存储介质 | |
CN112667244A (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
CN108200060B (zh) | 基于web子系统的单点登录验证方法、服务器及存储介质 | |
US20220156371A1 (en) | Warning apparatus, control method, and program | |
CN113434365B (zh) | 数据特征监控方法、装置、电子设备及存储介质 | |
CN112528189B (zh) | 基于数据的组件封装方法、装置、计算机设备及存储介质 | |
CN113485970A (zh) | 数据监控方法、装置、电子设备及存储介质 | |
CN113657910B (zh) | 实名认证方法、装置、电子设备及可读存储介质 | |
CN115718747A (zh) | 数据源实例演进的分析方法、装置、电子设备及存储介质 | |
CN116451218A (zh) | 异常程序的检测方法、装置、可读介质及电子设备 | |
CN111858362A (zh) | 数据倾斜处理方法、装置、电子设备及可读存储介质 | |
CN117575534A (zh) | 一种rfid智慧管理运营平台系统、方法、设备及存储介质 |
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 |