CN110442502A - 一种埋点的方法、装置、设备及存储介质 - Google Patents
一种埋点的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110442502A CN110442502A CN201910667251.8A CN201910667251A CN110442502A CN 110442502 A CN110442502 A CN 110442502A CN 201910667251 A CN201910667251 A CN 201910667251A CN 110442502 A CN110442502 A CN 110442502A
- Authority
- CN
- China
- Prior art keywords
- functionality controls
- processing routine
- bury
- destination application
- little
- 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
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/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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供一种埋点的方法、装置、设备及存储介质,其中,所述方法应用于安装有目标应用程序的终端设备,包括:获取所述目标应用程序中至少一个功能控件对应的埋点处理程序;基于所述埋点处理程序对所述至少一个功能控件分别进行埋点。本申请无需由开发人员采用手动方式将埋点代码插入目标应用程序的业务代码中,因而可以节省时间,降低人工成本,并且可以通过修改获取的埋点处理程序的方式实现动态添加埋点信息,提高统计用户行为数据的完整度。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种埋点的方法、装置、设备及存储介质。
背景技术
用户行为统计(User Behavior Statistics,UBS),俗称埋点,是互联网产品研发过程中非常重要的环节。通过埋点可以获取用户行为数据,并以此来整体验证产品的业务逻辑是否流畅。
现有技术中,通常由开发人员手动将埋点代码插入到业务代码中,费时费力,人工成本过高。
发明内容
有鉴于此,本申请提供一种埋点的方法、装置、设备及存储介质,可以解决上述现有技术方案中所出现的问题。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提出了一种埋点的方法,包括:
获取所述目标应用程序中至少一个功能控件对应的埋点处理程序;
基于所述埋点处理程序对所述至少一个功能控件分别进行埋点。
在一实施例中,还包括:
响应于接收到服务端发送的埋点指令,监听所述目标应用程序的启动指令,所述埋点指令用于指示对所述目标应用程序中至少一个功能控件进行埋点;
响应于监听到所述启动指令,执行所述获取所述目标应用程序中至少一个功能控件对应的埋点处理程序的操作。
在一实施例中,其中,所述基于所述埋点处理程序对所述至少一个功能控件分别进行埋点,包括:
将所述至少一个功能控件中的每个功能控件与对应的埋点处理程序进行挂钩处理。
在一实施例中,还包括:
构建所述每个功能控件与各自挂钩的埋点处理程序之间的对应关系。
在一实施例中,还包括:
基于所述埋点处理程序获取所述功能控件的调用信息以及所述功能控件所属的终端标识信息;
构建所述调用信息与所述终端标识信息之间的关联关系。
在一实施例中,还包括:
基于所述关联关系,将所述调用信息输出至存储器和/或服务端。
在一实施例中,其中,所述获取所述目标应用程序中至少一个功能控件对应的埋点处理程序,包括:
获取所述目标应用程序的字节码文件,所述字节码文件基于所述目标应用程序的JAVA脚本文件生成;
确定所述字节码文件中包含的至少一个功能控件;
获取所述至少一个功能控件对应的埋点处理程序。
根据本申请的第二方面,提出了一种埋点的装置,应用于安装有目标应用程序的终端设备,包括:
处理程序获取模块,用于获取所述目标应用程序中至少一个功能控件对应的埋点处理程序;
功能控件埋点模块,用于基于所述埋点处理程序对所述至少一个功能控件分别进行埋点。
在一实施例中,还包括:
启动指令监听模块,用于响应于接收到服务端发送的埋点指令,监听所述目标应用程序的启动指令,所述埋点指令用于指示对所述目标应用程序中至少一个功能控件进行埋点;
所述处理程序获取模块还用于响应于监听到所述启动指令,执行所述获取所述目标应用程序中至少一个功能控件对应的埋点处理程序的操作。
在一实施例中,所述功能控件埋点模块还用于将所述至少一个功能控件中的每个功能控件与对应的埋点处理程序进行挂钩处理。
在一实施例中,还包括:
对应关系构建模块,用于构建所述每个功能控件与各自挂钩的埋点处理程序之间的对应关系。
在一实施例中,关联关系构建模块;
所述关联关系构建模块,包括:
调用标识获取单元,用于基于所述埋点处理程序获取所述功能控件的调用信息以及所述功能控件所属的终端标识信息;
关联关系构建单元,用于构建所述调用信息与所述终端标识信息之间的关联关系。
在一实施例中,还包括:
调用信息输出模块,用于基于所述关联关系,将所述调用信息输出至存储器和/或服务端。
在一实施例中,其中,所述处理程序获取模块,包括:
字节码文件获取单元,用于获取所述目标应用程序的字节码文件,所述字节码文件基于所述目标应用程序的JAVA脚本文件生成;
功能控件确定单元,用于确定所述字节码文件中包含的至少一个功能控件;
处理程序获取单元,用于获取所述至少一个功能控件对应的埋点处理程序。
根据本申请的第三方面,提出了一种埋点的设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述任一所述的埋点的方法。
根据本申请的第四方面,提出了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的埋点的方法。
由以上技术方案可见,本申请通过获取所述目标应用程序中至少一个功能控件对应的埋点处理程序,并基于所述埋点处理程序对所述至少一个功能控件分别进行埋点,由于是由终端设备获取目标应用程序的功能控件对应的埋点处理程序,并对该功能控件进行自动埋点,而无需由开发人员采用手动方式将埋点代码插入目标应用程序的业务代码中,因而可以节省时间,降低人工成本,并且,由于终端设备获取的是自身已安装的目标应用程序的功能控件对应的埋点处理程序,表明该目标应用程序已经发版,因而可以实现目标应用发版后进行动态埋点,解决现有技术中存在的业务发版后无法实现动态添加埋点信息的问题,进一步地,还可以实现后续基于埋点处理程序的修改等方式来动态添加埋点信息,提高统计用户行为数据的完整度。
附图说明
图1是本申请一示例性实施例示出的一种埋点的方法的流程图;
图2是本申请又一示例性实施例示出的一种埋点的方法的流程图;
图3是本申请另一示例性实施例示出的一种埋点的方法的流程图;
图4是本申请再一示例性实施例示出的一种埋点的方法的流程图;
图5是本申请一示例性实施例示出的如何获取埋点处理程序的流程图;
图6是本申请一示例性实施例示出的一种埋点的装置的结构图;
图7是本申请又一示例性实施例示出的一种埋点的装置的结构图;
图8是本申请一示例性实施例示出的一种埋点的设备的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是本申请一示例性实施例示出的一种埋点的方法的流程图;该实施例可以用于安装有目标应用程序的终端设备(例如,智能手机、平板电脑、台式电脑、收银机和笔记本等)。如图1所示,该方法包括步骤S101-S102:
在步骤S101中,获取所述目标应用程序中至少一个功能控件对应的埋点处理程序。
在一实施例中,安装有目标应用程序的终端设备(以下简称“终端设备”)可以响应于该目标应用程序的启动指令,获取所述目标应用程序中至少一个功能控件对应的埋点处理程序。
在一实施例中,用户在启动手机等终端设备中的目标应用程序时,可以通过点击目标应用程序的图标的方式发送目标应用程序的启动指令。在此基础上,当终端设备检测到上述目标应用程序的启动指令后,可以响应于该启动指令,获取上述目标应用程序中一个或多个功能控件对应的埋点处理程序。
在一实施例中,终端设备可以基于预先与云端服务器建立的连接,从该云端服务器中获取上述埋点处理程序。
值得说明的是,上述埋点处理程序的种类可以由开发人员根据实际业务需要进行自由设置,本实施例对此不进行限定。
在一实施例中,上述获取埋点处理程序的方式还可以参见下述图5所示实施例,在此先不进行详述。
在步骤S102中,基于所述埋点处理程序对所述至少一个功能控件分别进行埋点。
在一实施例中,当获取所述目标应用程序中至少一个功能控件对应的埋点处理程序后,可以基于上述埋点处理程序对所述至少一个功能控件分别进行埋点。
值得说明的是,上述基于获取的埋点处理程序对目标应用程序中的至少一个功能控件进行埋点的方式可以由开发人员选取现有的埋点方案,例如可以选取在业务逻辑中加入埋点代码的埋点方案、事件级监控的埋点方案、热修补(hotpatch)方式的埋点方案以及Hook埋点方法中的至少一种,本实施例对此不进行限定。
在令一实施例中,上述对目标应用程序中的功能控件进行埋点的方式还可以参见下述图3所示实施例,在此先不进行详述。
由上述描述可知,本实施例通过获取所述目标应用程序中至少一个功能控件对应的埋点处理程序,并基于所述埋点处理程序对所述至少一个功能控件分别进行埋点,由于是由终端设备获取目标应用程序的功能控件对应的埋点处理程序,并对该功能控件进行自动埋点,而无需由开发人员采用手动方式将埋点代码插入目标应用程序的业务代码中,因而可以节省时间,降低人工成本,并且,由于终端设备获取的是自身已安装的目标应用程序的功能控件对应的埋点处理程序,表明该目标应用程序已经发版,因而可以实现目标应用发版后进行动态埋点,解决现有技术中存在的业务发版后无法实现动态添加埋点信息的问题,进一步地,还可以实现后续基于埋点处理程序的修改等方式来动态添加埋点信息,提高统计用户行为数据的完整度。
图2是本申请又一示例性实施例示出的一种埋点的方法的流程图;该实施例可以用于安装有目标应用程序的终端设备(例如,智能手机、平板电脑、台式电脑、收银机和笔记本等)。如图2所示,该方法包括步骤S201-S203:
在步骤S201中,响应于接收到服务端发送的埋点指令,监听所述目标应用程序的启动指令。
其中,所述埋点指令用于指示对所述目标应用程序中至少一个功能控件进行埋点。
在一实施例中,当服务端需要对终端设备中安装的目标应用程序的至少一个功能控件进行埋点时,可以向终端设备发送埋点指令,以指示终端设备对目标应用程序中的至少一个功能控件进行埋点。进而,当终端设备接收到服务端发送的埋点指令时,可以监听所述目标应用程序的启动指令。
在一实施例中,用户在启动手机等终端设备中的目标应用程序时,可以通过点击目标应用程序的图标的方式生成目标应用程序的启动指令,进而终端设备可以检测到该目标应用程序的启动指令。
在一实施例中,终端设备可以基于预先与服务端建立的连接接收服务端发送的上述埋点指令。
在另一实施例中,终端设备接收服务端发送的上述埋点指令的方式可以由开发人员选取现有技术中的方式,本实施例对此不进行限定。
在步骤S202中,响应于监听到所述启动指令,获取所述目标应用程序中至少一个功能控件对应的埋点处理程序。
在步骤S203中,基于所述埋点处理程序对所述至少一个功能控件分别进行埋点。
其中,步骤S202-S203的相关解释和说明可以参见上述实施例,在此不进行赘述。
由上述描述可知,本实施例通过响应于接收到服务端发送的埋点指令,监听所述目标应用程序的启动指令,并响应于监听到所述启动指令获取所述目标应用程序中至少一个功能控件对应的埋点处理程序,可以实现基于服务端发送的埋点指令对目标应用程序中至少一个功能控件进行埋点,可以实现目标应用发版后进行动态埋点,解决现有技术中存在的业务发版后无法实现动态添加埋点信息的问题,并且无需由开发人员采用手动方式将埋点代码插入目标应用程序的业务代码中,因而可以节省时间,降低人工成本。
图3是本申请另一示例性实施例示出的一种埋点的方法的流程图;该实施例可以用于安装有目标应用程序的终端设备(例如,智能手机、平板电脑、台式电脑、收银机和笔记本等)。如图3所示,该方法包括步骤S301-S303:
在步骤S301中,获取所述目标应用程序中至少一个功能控件对应的埋点处理程序。
其中,步骤S301的相关解释和说明可以参见上述实施例,在此不进行赘述。
在步骤S302中,将所述至少一个功能控件中的每个功能控件与对应的埋点处理程序进行挂钩处理。
在一实施例中,当获取所述目标应用程序中至少一个功能控件对应的埋点处理程序后,可以将所述至少一个功能控件中的每个功能控件与对应的埋点处理程序进行挂钩处理。
上述埋点处理程序的种类可以包括现有技术中的挂钩中心(Hook中心),其主要用于提供以下两个功能:
执行对功能控件的挂钩和撤销对功能控件的挂钩;
截获被Hook的功能控件的调用,完成埋点处理和待埋点的功能控件的回调处理。
举例来说,将待埋点的功能控件与埋点处理程序进行挂钩处理,可包括:为所述待埋点的功能控件所属的类添加对应的克隆方法,并断开该功能控件及其实现代码之间的连接,以将该埋点处理程序作为该功能控件所属的类中用于处理转发调用消息的方法的实现代码。
值得说明的是,上述将待埋点的功能控件与埋点处理程序进行挂钩处理的方式仅用于示例性说明,在实际应用中,本领域技术人员可以基于不同的埋点处理程序选取相应的埋点处理方式,本实施例对此不进行限定。
在步骤S303中,构建所述每个功能控件与各自挂钩的埋点处理程序之间的对应关系。
在一实施例中,在将所述至少一个功能控件中的每个功能控件与对应的埋点处理程序进行挂钩处理后,可以构建所述每个功能控件与各自挂钩的埋点处理程序之间的对应关系。
值得说明是,上述对应关系的形式可以由开发人员根据实际业务需要进行设置,如设置为对应关系列表、key-value键值对等,本实施例对此不进行限定。
由上述描述可知,本实施例通过将所述至少一个功能控件中的每个功能控件与对应的埋点处理程序进行挂钩处理,并构建所述每个功能控件与各自挂钩的埋点处理程序之间的对应关系,可以实现对目标应用程序的每个功能控件进行准确埋点,并且,由于构建了每个功能控件与埋点处理程序之间的对应关系,即可实现后续基于该对应关系查找特定功能控件对应的埋点处理程序,进而可以基于该埋点处理程序收集特定功能控件的相应数据,并可以实现对特定功能控件对应的埋点处理程序进行修改,提高对功能控件埋点的智能化水平。
图4是本申请再一示例性实施例示出的一种埋点的方法的流程图;该实施例可以用于安装有目标应用程序的终端设备(例如,智能手机、平板电脑、台式电脑、收银机和笔记本等)。如图4所示,该方法包括步骤S401-S405:
在步骤S401中,获取所述目标应用程序中至少一个功能控件对应的埋点处理程序。
在步骤S402中,基于所述埋点处理程序对所述至少一个功能控件分别进行埋点。
其中,步骤S401-S402的相关解释和说明可以参见上述实施例,在此不进行赘述。
在步骤S403中,基于所述埋点处理程序获取所述功能控件的调用信息以及所述功能控件所属的终端标识信息。
在一实施例中,当基于所述埋点处理程序对所述至少一个功能控件分别进行埋点后,可以基于所述埋点处理程序获取所述功能控件的调用信息以及所述功能控件所属的终端标识信息。
在一实施例中,当用户调用上述功能控件后,该功能控件对应的埋点处理程序可以获取该功能控件的调用信息,以及该功能控件所属的终端标识信息。
在一实施例中,上述调用信息可以包括用户点击操作信息(即,用户点击目标应用程序中相应功能控件的路径),也可以非用户点击操作信息等,本实施例对此不进行限定。
在一实施例中,上述终端标识信息可以包括终端设备的设备编号、用户标识号或设备序列号等,本实施例对比不进行限定。其中,每个终端设备的终端标识信息在全部终端设备的终端标识信息中是唯一的。
在步骤S404中,构建所述调用信息与所述终端标识信息之间的关联关系。
在一实施例中,当基于所述埋点处理程序获取所述功能控件的调用信息以及所述功能控件所属的终端标识信息后,可以构建所述调用信息与所述终端标识信息之间的关联关系。
值得说明是,上述对应关系的形式可以由开发人员根据实际业务需要进行设置,如设置为对应关系列表、key-value键值对等,本实施例对此不进行限定。
在步骤S405中,基于所述关联关系,将所述调用信息输出至存储器和/或服务端。
在一实施例中,当构建所述调用信息与所述终端标识信息之间的关联关系后,可以基于所述关联关系,将所述调用信息输出至存储器和/或服务端。
在一实施例中,可以基于上述对应关系将同一终端标识信息对应的调用信息输出至存储器和/或服务端进行保存,或者,可以输出至服务端进行展示。
由上述描述可知,本实施例通过基于所述埋点处理程序获取所述功能控件的调用信息以及所述功能控件所属的终端标识信息,并构建所述调用信息与所述终端标识信息之间的关联关系,进而可以基于所述关联关系,将所述调用信息输出至存储器和/或服务端,由于构建调用信息与终端标识信息之间的对应关系,因而可以实现后续对同一终端设备的调用信息的统计及处理,并且,基于该对应关系可以将同一终端设备的调用信息输出至存储器进行存储,或输出至服务端进行存储或展示。
图5是本申请一示例性实施例示出的如何获取埋点处理程序的流程图;本实施例在上述实施例的基础上,以如何获取埋点处理程序为例进行示例性说明。如图5所示,上述步骤S101中所述获取所述目标应用程序中至少一个功能控件对应的埋点处理程序,可以包括以下步骤S501-S503:
在步骤S501中,获取所述目标应用程序的字节码文件,所述字节码文件基于所述目标应用程序的JAVA脚本文件生成。
在一实施例中,当检测到目标应用程序的启动指令时,可以获取该目标应用程序的字节码文件。
在一实施例中,上述字节码文件可以包括由目标应用程序的JAVA脚本文件转化成的字节码文件,如class字节码文件等,本实施例对此不进行限定。
在步骤S502中,确定所述字节码文件中包含的至少一个功能控件。
在一实施例中,当获取该目标应用程序的字节码文件后,可以对该字节码文件进行解析,以确定所述字节码文件中包含的至少一个功能控件。
值得说明的是,上述对字节码文件进行解析以确定其包含的功能控件的方式可以由开发人员根据实际需要从现有技术中选取相应的方案,本实施例对此不进行限定。
在步骤S503中,获取所述至少一个功能控件对应的埋点处理程序。
在一实施例中,当确定所述字节码文件中包含的至少一个功能控件后,可以获取所述至少一个功能控件对应的埋点处理程序。
在一实施例中,可以基于预先编写的埋点配置文件,获取所述至少一个功能控件对应的埋点处理程序。
其中,上述埋点配置文件中可以包含各功能控件与埋点处理程序的对应关系,进而当确定所述字节码文件中包含的至少一个功能控件后,可以基于该对应关系获取所述至少一个功能控件对应的埋点处理程序。
由上述描述可知,本实施例通过获取所述目标应用程序的字节码文件,并确定所述字节码文件中包含的至少一个功能控件,进而获取所述至少一个功能控件对应的埋点处理程序,由于是先获取目标应用程序的字节文件,再基于该字节码文件确定至少一个功能控件,可以提高识别功能控件的准确率,进而提高后续确定功能控件对应的埋点处理程序的准确率,可以为后续对目标应用程序的功能控件进行埋点奠定基础。
图6是本申请一示例性实施例示出的一种埋点的装置的结构图;如图5所示,该装置应用于安装有目标应用程序的终端设备,包括:处理程序获取模块110和功能控件埋点模块120,其中:
处理程序获取模块110,用于获取所述目标应用程序中至少一个功能控件对应的埋点处理程序;
功能控件埋点模块120,用于基于所述埋点处理程序对所述至少一个功能控件分别进行埋点。
由上述描述可知,本实施例通过获取所述目标应用程序中至少一个功能控件对应的埋点处理程序,并基于所述埋点处理程序对所述至少一个功能控件分别进行埋点,由于是由终端设备获取目标应用程序的功能控件对应的埋点处理程序,并对该功能控件进行自动埋点,而无需由开发人员采用手动方式将埋点代码插入目标应用程序的业务代码中,因而可以节省时间,降低人工成本,并且,由于终端设备获取的是自身已安装的目标应用程序的功能控件对应的埋点处理程序,表明该目标应用程序已经发版,因而可以实现目标应用发版后进行动态埋点,解决现有技术中存在的业务发版后无法实现动态添加埋点信息的问题,进一步地,还可以实现后续基于埋点处理程序的修改等方式来动态添加埋点信息,提高统计用户行为数据的完整度。
图7是本申请又一示例性实施例示出的一种埋点的装置的结构图;其中,处理程序获取模块210和功能控件埋点模块220与前述图6所示实施例中的处理程序获取模块110和功能控件埋点模块120的功能相同,在此不进行赘述。如图7所示,上述装置还可以包括:
启动指令监听模块230,用于响应于接收到服务端发送的埋点指令,监听所述目标应用程序的启动指令,所述埋点指令用于指示对所述目标应用程序中至少一个功能控件进行埋点;
处理程序获取模块210还可以用于响应于监听到所述启动指令,执行所述获取所述目标应用程序中至少一个功能控件对应的埋点处理程序的操作。
在一实施例中,功能控件埋点模块220还可以用于将所述至少一个功能控件中的每个功能控件与对应的埋点处理程序进行挂钩处理。
在一实施例中,上述装置还可以包括:
对应关系构建模块240,用于构建所述每个功能控件与各自挂钩的埋点处理程序之间的对应关系。
在一实施例中,所述装置还可以包括:关联关系构建模块250;
关联关系构建模块250,可以包括:
调用标识获取单元251,用于基于所述埋点处理程序获取所述功能控件的调用信息以及所述功能控件所属的终端标识信息;
关联关系构建单元252,用于构建所述调用信息与所述终端标识信息之间的关联关系。
在一实施例中,还可以包括:
调用信息输出模块260,用于基于所述关联关系,将所述调用信息输出至存储器和/或服务端。
在一实施例中,上述处理程序获取模块210,可以包括:
字节码文件获取单元211,用于获取所述目标应用程序的字节码文件,所述字节码文件基于所述目标应用程序的JAVA脚本文件生成;
功能控件确定单元212,用于确定所述字节码文件中包含的至少一个功能控件;
处理程序获取单元213,用于获取所述至少一个功能控件对应的埋点处理程序。
值得说明的是,上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本发明的埋点的装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的,其中计算机程序用于执行上述图1~图5所示实施例提供的埋点的方法。从硬件层面而言,如图8所示,为本发明的埋点的设备的硬件结构图,除了图8所示的处理器、网络接口、内存以及非易失性存储器之外,所述设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。另一方面,本申请还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序用于执行上述图1~图5所示实施例提供的埋点的方法。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (16)
1.一种埋点的方法,应用于安装有目标应用程序的终端设备,包括:
获取所述目标应用程序中至少一个功能控件对应的埋点处理程序;
基于所述埋点处理程序对所述至少一个功能控件分别进行埋点。
2.根据权利要求1所述的方法,还包括:
响应于接收到服务端发送的埋点指令,监听所述目标应用程序的启动指令,所述埋点指令用于指示对所述目标应用程序中至少一个功能控件进行埋点;
响应于监听到所述启动指令,执行所述获取所述目标应用程序中至少一个功能控件对应的埋点处理程序的操作。
3.根据权利要求1所述的方法,其中,所述基于所述埋点处理程序对所述至少一个功能控件分别进行埋点,包括:
将所述至少一个功能控件中的每个功能控件与对应的埋点处理程序进行挂钩处理。
4.根据权利要求3所述的方法,还包括:
构建所述每个功能控件与各自挂钩的埋点处理程序之间的对应关系。
5.根据权利要求1所述的方法,还包括:
基于所述埋点处理程序获取所述功能控件的调用信息以及所述功能控件所属的终端标识信息;
构建所述调用信息与所述终端标识信息之间的关联关系。
6.根据权利要求5所述的方法,还包括:
基于所述关联关系,将所述调用信息输出至存储器和/或服务端。
7.根据权利要求1-6任一项所述的方法,其中,所述获取所述目标应用程序中至少一个功能控件对应的埋点处理程序,包括:
获取所述目标应用程序的字节码文件,所述字节码文件基于所述目标应用程序的JAVA脚本文件生成;
确定所述字节码文件中包含的至少一个功能控件;
获取所述至少一个功能控件对应的埋点处理程序。
8.一种埋点的装置,应用于安装有目标应用程序的终端设备,包括:
处理程序获取模块,用于获取所述目标应用程序中至少一个功能控件对应的埋点处理程序;
功能控件埋点模块,用于基于所述埋点处理程序对所述至少一个功能控件分别进行埋点。
9.根据权利要求8所述的装置,还包括:
启动指令监听模块,用于响应于接收到服务端发送的埋点指令,监听所述目标应用程序的启动指令,所述埋点指令用于指示对所述目标应用程序中至少一个功能控件进行埋点;
所述处理程序获取模块还用于响应于监听到所述启动指令,执行所述获取所述目标应用程序中至少一个功能控件对应的埋点处理程序的操作。
10.根据权利要求8所述的装置,所述功能控件埋点模块还用于将所述至少一个功能控件中的每个功能控件与对应的埋点处理程序进行挂钩处理。
11.根据权利要求10所述的装置,还包括:
对应关系构建模块,用于构建所述每个功能控件与各自挂钩的埋点处理程序之间的对应关系。
12.根据权利要求8所述的装置,所述装置还包括:关联关系构建模块;
所述关联关系构建模块,包括:
调用标识获取单元,用于基于所述埋点处理程序获取所述功能控件的调用信息以及所述功能控件所属的终端标识信息;
关联关系构建单元,用于构建所述调用信息与所述终端标识信息之间的关联关系。
13.根据权利要求12所述的装置,还包括:
调用信息输出模块,用于基于所述关联关系,将所述调用信息输出至存储器和/或服务端。
14.根据权利要求8-13任一项所述的装置,其中,所述处理程序获取模块,包括:
字节码文件获取单元,用于获取所述目标应用程序的字节码文件,所述字节码文件基于所述目标应用程序的JAVA脚本文件生成;
功能控件确定单元,用于确定所述字节码文件中包含的至少一个功能控件;
处理程序获取单元,用于获取所述至少一个功能控件对应的埋点处理程序。
15.一种埋点的设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述权利要求1-7任一所述的埋点的方法。
16.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一所述的埋点的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910667251.8A CN110442502B (zh) | 2019-07-23 | 2019-07-23 | 一种埋点的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910667251.8A CN110442502B (zh) | 2019-07-23 | 2019-07-23 | 一种埋点的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442502A true CN110442502A (zh) | 2019-11-12 |
CN110442502B CN110442502B (zh) | 2021-12-31 |
Family
ID=68431206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910667251.8A Active CN110442502B (zh) | 2019-07-23 | 2019-07-23 | 一种埋点的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442502B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124906A (zh) * | 2019-12-17 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 基于动态埋点的跟踪方法、编译方法、装置和电子设备 |
CN111339471A (zh) * | 2020-03-13 | 2020-06-26 | 苏宁金融科技(南京)有限公司 | 动态加载页面埋点数据的方法及装置 |
CN111506475A (zh) * | 2020-04-15 | 2020-08-07 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、系统、可读介质及电子设备 |
CN112183045A (zh) * | 2020-09-23 | 2021-01-05 | 北京字跳网络技术有限公司 | 在线文档处理方法、装置和电子设备 |
CN112817816A (zh) * | 2021-01-25 | 2021-05-18 | 微民保险代理有限公司 | 埋点处理方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598868A (zh) * | 2016-12-24 | 2017-04-26 | 上海亿账通互联网科技有限公司 | 对客户端的应用程序动态埋点的方法及系统 |
CN107436832A (zh) * | 2016-05-27 | 2017-12-05 | 阿里巴巴集团控股有限公司 | 一种动态埋点的方法、装置及电子设备 |
CN108536589A (zh) * | 2018-03-26 | 2018-09-14 | 广州小鹏汽车科技有限公司 | 一种应用程序埋点方法及系统 |
-
2019
- 2019-07-23 CN CN201910667251.8A patent/CN110442502B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436832A (zh) * | 2016-05-27 | 2017-12-05 | 阿里巴巴集团控股有限公司 | 一种动态埋点的方法、装置及电子设备 |
CN106598868A (zh) * | 2016-12-24 | 2017-04-26 | 上海亿账通互联网科技有限公司 | 对客户端的应用程序动态埋点的方法及系统 |
CN108536589A (zh) * | 2018-03-26 | 2018-09-14 | 广州小鹏汽车科技有限公司 | 一种应用程序埋点方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124906A (zh) * | 2019-12-17 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 基于动态埋点的跟踪方法、编译方法、装置和电子设备 |
CN111124906B (zh) * | 2019-12-17 | 2022-06-28 | 蚂蚁财富(上海)金融信息服务有限公司 | 基于动态埋点的跟踪方法、编译方法、装置和电子设备 |
CN111339471A (zh) * | 2020-03-13 | 2020-06-26 | 苏宁金融科技(南京)有限公司 | 动态加载页面埋点数据的方法及装置 |
CN111339471B (zh) * | 2020-03-13 | 2023-01-13 | 苏宁金融科技(南京)有限公司 | 动态加载页面埋点数据的方法及装置 |
CN111506475A (zh) * | 2020-04-15 | 2020-08-07 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、系统、可读介质及电子设备 |
CN112183045A (zh) * | 2020-09-23 | 2021-01-05 | 北京字跳网络技术有限公司 | 在线文档处理方法、装置和电子设备 |
CN112817816A (zh) * | 2021-01-25 | 2021-05-18 | 微民保险代理有限公司 | 埋点处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110442502B (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442502A (zh) | 一种埋点的方法、装置、设备及存储介质 | |
USRE49486E1 (en) | System and method for tracking web interactions with real time analytics | |
US11323471B2 (en) | Advanced cybersecurity threat mitigation using cyberphysical graphs with state changes | |
CN110442652B (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
CN105224606B (zh) | 一种用户标识的处理方法及装置 | |
US10216527B2 (en) | Automated software configuration management | |
US20210385251A1 (en) | System and methods for integrating datasets and automating transformation workflows using a distributed computational graph | |
CN105550051A (zh) | 业务请求的异步处理方法及装置 | |
US11546380B2 (en) | System and method for creation and implementation of data processing workflows using a distributed computational graph | |
US10284660B1 (en) | Data flow tokens to trace execution of services in a service provider network | |
CN110225104A (zh) | 数据获取方法、装置及终端设备 | |
EP3494506A1 (en) | Detection mitigation and remediation of cyberattacks employing an advanced cyber-decision platform | |
CN109614227A (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
CN110781180B (zh) | 一种数据筛选方法和数据筛选装置 | |
CN111149325A (zh) | 用于选择区块链事务的事务选择设备 | |
CN103176892A (zh) | 一种页面监控方法及系统 | |
CN105573733A (zh) | 浏览器与web前端通信的方法、web前端及系统 | |
CN107590015A (zh) | 监测主线程的阻塞的方法和装置 | |
CN108366098B (zh) | 一种网络节点的数据交互方法及装置 | |
CN113391901A (zh) | Rpa机器人的管理方法、装置、设备及存储介质 | |
WO2019018829A1 (en) | MITIGATING IMPROVED CYBERSECURITY THREATS USING DEEP AND BEHAVIORAL ANALYTICS | |
CN109635993A (zh) | 基于预测模型的操作行为监控方法及装置 | |
CN110308954A (zh) | 点击事件拦截方法、装置及移动终端 | |
CN110046000A (zh) | 小程序运行方法和装置 | |
CN113900939A (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 |