CN110674017B - 埋点方法、装置及存储介质 - Google Patents
埋点方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110674017B CN110674017B CN201810711525.4A CN201810711525A CN110674017B CN 110674017 B CN110674017 B CN 110674017B CN 201810711525 A CN201810711525 A CN 201810711525A CN 110674017 B CN110674017 B CN 110674017B
- Authority
- CN
- China
- Prior art keywords
- event
- control
- operation behavior
- forwarding
- response
- 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.)
- Active
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/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
- 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
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
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)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提出一种埋点方法、装置及计算机可读存储介质。其中埋点方法包括:在系统的转发事件函数中插入Hook程序,其中,所述转发事件函数用于转发操作行为事件;在所述转发事件函数转发所述操作行为事件时,利用所述Hook程序监控所述操作行为事件,并收集所述操作行为事件的数据。本发明实施例对系统的转发事件函数进行Hook操作,由于所有的交互行为事件都会通过转发事件函数转发,因此只需要进行一次Hook代码初始化调用即可采集到所有事件,避免了对每个控件单独监控的代码重复调用和可管理性差的问题,可对交互行为事件进行全面监控。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种埋点方法、装置及计算机可读存储介质。
背景技术
移动APP(Application,应用程序)用户的业务相关操作数据,例如购买按钮点击、登录按钮点击、详情页面浏览等,这些数据的采集方式,传统上需要用户在相应位置调用统计API(Application Programming Interface,应用程序编程接口)进行手动埋点,达到统计目的。
关于全埋点技术,目前采用如下解决方案:
在一个控件加载到界面Window(窗口)上时,给该控件添加特定的点击事件监听。后续通过监控该点击事件的回调函数,实现自动统计功能。其中,需要通过配置文件控制,决定监控哪些类型的控件、给控件添加哪种类型的点击事件监听。
现有技术的解决方案存在以下几方面的缺陷:
(1)在APP中,控件自身可能已经有点击响应函数。给控件额外添加特定的点击事件监听,可能存在影响控件自身响应逻辑的风险。
(2)代码调用次数过多,有性能影响。APP中可能存在上百个控件,如果在每个控件加载到窗口上时,都单独添加一个点击事件监听,那么监控代码将会被调用上百次。同时,分离地添加点击事件监听,代码的可控性较差。
发明内容
本发明实施例提供一种埋点方法、装置及计算机可读存储介质,以至少解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种埋点方法,包括:在系统的转发事件函数中插入Hook程序,其中,所述转发事件函数用于转发操作行为事件;在所述转发事件函数转发所述操作行为事件时,利用所述Hook程序监控所述操作行为事件,并收集所述操作行为事件的数据。
结合第一方面,本发明实施例在第一方面的第一种实现方式中,利用所述Hook程序监控所述操作行为事件,并收集所述操作行为事件的数据,包括:采用控件的XPath路径作为控件标识;利用所述Hook程序监控所述控件标识对应的控件的操作行为事件,并收集所述操作行为事件的数据。
结合第一方面或第一方面的第一种实现方式,本发明实施例在第一方面的第二种实现方式中,收集所述操作行为事件的数据包括:在利用所述Hook程序监控到控件的操作行为事件时,采集所述控件上的文字内容。
结合第一方面或第一方面的第一种实现方式,本发明实施例在第一方面的第三种实现方式中,利用所述Hook程序监控所述操作行为事件,并收集所述操作行为事件的数据,还包括:对所述操作行为事件对应的控件类型进行过滤,得到统计控件,其中,所述统计控件是与预设的控件类型相对应的控件,所述预设的控件类型包括按钮、输入框和开关控件中的至少一项;监控所述统计控件的操作行为事件,并收集所述操作行为事件的数据。
结合第一方面或第一方面的第一种实现方式,本发明实施例在第一方面的第四种实现方式中,利用所述Hook程序监控所述操作行为事件,还包括:设置与控件类型相对应的监控所述操作行为事件的响应事件类型,所述响应事件类型包括点击开始时响应、点击结束时响应和滑动响应中的至少一项。
第二方面,本发明实施例提供了一种埋点装置,包括:Hook单元,用于在系统的转发事件函数中插入Hook程序,其中,所述转发事件函数用于转发操作行为事件;数据收集单元,用于在所述转发事件函数转发所述操作行为事件时,利用所述Hook程序监控所述操作行为事件,并收集所述操作行为事件的数据。
结合第二方面,本发明实施例在第二方面的第一种实现方式中,所述数据收集单元还用于:采用控件的XPath路径作为控件标识;利用所述Hook程序监控所述控件标识对应的控件的操作行为事件,并收集所述操作行为事件的数据。
结合第二方面或第二方面的第一种实现方式,本发明实施例在第二方面的第二种实现方式中,所述数据收集单元包括内容采集子单元,用于:在利用所述Hook程序监控到控件的操作行为事件时,采集所述控件上的文字内容。
结合第二方面或第二方面的第一种实现方式,本发明实施例在第二方面的第三种实现方式中,所述数据收集单元还包括:过滤子单元,用于对所述操作行为事件对应的控件类型进行过滤,得到统计控件,其中,所述统计控件是与预设的控件类型相对应的控件,所述预设的控件类型包括按钮、输入框和开关控件中的至少一项;监控收集子单元,用于监控所述统计控件的操作行为事件,并收集所述操作行为事件的数据。
结合第二方面或第二方面的第一种实现方式,本发明实施例在第二方面的第四种实现方式中,所述数据收集单元还包括类型匹配子单元,用于:设置与控件类型相对应的监控所述操作行为事件的响应事件类型,所述响应事件类型包括点击开始时响应、点击结束时响应和滑动响应中的至少一项。
在一个可能的设计中,埋点装置的结构中包括处理器和存储器,所述存储器用于存储支持埋点装置执行上述第一方面中埋点方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述埋点装置还可以包括通信接口,用于埋点装置与其他设备或通信网络通信。
第三方面,本发明实施例提供了一种埋点装置,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一所述的方法。
上述技术方案中的一个技术方案具有如下优点或有益效果:对系统的转发事件函数进行Hook操作,由于所有的交互行为事件都会通过转发事件函数转发,因此只需要进行一次Hook代码初始化调用即可采集到所有事件,避免了对每个控件单独监控的代码重复调用和可管理性差的问题,可对交互行为事件进行全面监控。并且由于没有额外给控件添加任何事件监听,所以也不会影响用户自身APP的逻辑。
上述技术方案中的另一个技术方案具有如下优点或有益效果:抓取控件的文字内容,使得采集回收的数据可读性更高。
上述技术方案中的另一个技术方案具有如下优点或有益效果:针对不同的控件类型,监控不同的点击事件种类,达到更准确的业务场景识别效果。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1为本发明一实施例提供的埋点方法的流程图。
图2为本发明另一实施例提供的埋点方法中的APP结构示例图。
图3为本发明一实施例提供的埋点装置的结构框图。
图4为本发明另一实施例提供的埋点装置的结构框图。
图5为本发明另一实施例提供的埋点装置的结构框图。
图6为本发明另一实施例提供的埋点装置的结构框图。
图7为本发明另一实施例提供的埋点装置的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1为本发明一实施例提供的埋点方法的流程图。如图1所示,本发明实施例的埋点方法包括:步骤S110,在系统的转发事件函数中插入Hook(钩子或挂钩)程序,其中,所述转发事件函数用于转发操作行为事件;步骤S120,在所述转发事件函数转发所述操作行为事件时,利用所述Hook程序监控所述操作行为事件,并收集所述操作行为事件的数据。
埋点是网站分析的一种常用的数据采集方法。全埋点技术通过全局监控的方法,自动采集全面的页面访问、事件点击等数据,不需要用户的手动埋点操作,从而降低了集成成本。本发明实施例提供的全埋点实现方法,通过简单地一次代码调用,Hook到系统关键的转发事件函数,在其中进行统计逻辑计算,实现全埋点。其中,Hook是将目标进程的某一函数替换成一个自定义的函数执行的技术,利用Hook技术可以修改目标进程的某个函数的执行功能。Hook通过截取函数来改变或增加系统方法的实现行为。具体地,本发明实施例中通过Hook在系统函数中插入收集数据的统计逻辑的代码,这种监控方式只需要在初始化时进行一次系统函数Hook操作即可。初始化的过程中将监听响应事件、采集回收数据的代码植入到系统函数中去。
例如,在iOS系统中,所有的点击交互行为事件,都会通过系统底层UIWindow(界面窗口)类的sendEvent(发送事件)方法转发。因此通过对sendEvent方法进行Hook操作,插入统计逻辑,在每个事件都需要经过的统一转发通道,进行事件抓取、信息提取、转发等操作,从而达到统计目的。
其中,UIWindow类是iOS应用启动后加载的第一个视图控件。它是应用窗口的基础,其他页面、按钮等控件都加载在UIWindow上。iOS系统中的一个应用最少需要有一个UIWindow。sendEvent是UIWindow分发事件的统一函数。在UIWindow上的所有点击等行为,都会通过sendEvent函数分发到真正响应的View(视图)上。View是所有控件的基类,用于创建和用户交互的UI(用户界面)组件,如按钮,文本框等。这个类代表了用户界面组件的基本构成模块。一个View占据了屏幕上的一个矩形区域,负责视图绘制和事件处理。
上述技术方案具有如下优点或有益效果:对系统的转发事件函数进行Hook操作,由于所有的交互行为事件都会通过转发事件函数转发,因此只需要进行一次Hook代码初始化调用即可采集到所有事件,避免了对每个控件单独监控的代码重复调用和可管理性差的问题,可对交互行为事件进行全面监控。并且由于没有额外给控件添加任何事件监听,所以也不会影响用户自身APP的逻辑。
根据本发明埋点方法的一种实施方式,利用所述Hook程序监控所述操作行为事件,并收集所述操作行为事件的数据,包括:采用控件的XPath(Xml Path,可扩展标记语言路径)作为控件标识;利用所述Hook程序监控所述控件标识对应的控件的操作行为事件,并收集所述操作行为事件的数据。
在全埋点的实现方式中,对于控件没有用户指定名称的操作。因此需要在自动采集事件时,为每一个事件定义一个识别id(身份标识号)。可采用控件XPath绝对路径作为标识id。XPath为XML(Extensible Markup Language,可扩展标记语言)路径,它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力。XPath是一门在XML文档中查找信息的语言,用于在XML文档中通过元素和属性进行导航。
图2为本发明另一实施例提供的埋点方法中的APP结构示例图。如图2所示,iOS应用可以看成是一个树状结构例如,视图树(viewTree),从根元素开始,依次加载子控件,组成完整的APP内容。查找一个控件的Xpath,要记录从根元素视图(view)开始,向下找到控件视图自身为止,过程中经过的父视图结点以及每个元素在其父视图中的索引(index)序号,最终拼接所有节点,组成完整的控件路径。此路径即为控件标识id。例如在图2中,根元素UIView(界面视图)的索引序号为UIView[0]/,根元素的子节点的索引序号也是UIView[0]/,根元素的子节点的子节点UIImageView(界面图像视图)的索引序号是UIImageView[0],UIImageView有两个子节点UILable(界面标签),分别是左侧的UILable[0]和右侧的UILable[1],则右侧的“UILable”控件的Xpath为:
UIView[0]/UIView[0]/UIImageView[0]/UILable[1]。
根据本发明埋点方法的一种实施方式,收集所述操作行为事件的数据包括:在利用所述Hook程序监控到控件的操作行为事件时,采集所述控件上的文字内容。
在上述实施例中,抓取的控件Xpath信息可以定义标识一个事件,但没有可读取的文字信息。因此可进一步采集控件View上的文字内容,作为附加信息,对于数据可读性会有很大帮助。
在iOS系统中,不同的控件类型获取其文字信息的属性方法可能不同。例如UIButton(界面按钮)类型的按钮控件其属性为“currentTitle”、UILable类型的文本框控件其属性为“text”等。其中,“currentTitle”属性用于表示当前应该显示的标题;“text”属性用于设置文本。通过配置文件管理,在通过全埋点的方法监控到对应控件的点击事件时,通过读取配置文件中各控件对应的控件的属性,获取文字内容。
上述技术方案具有如下优点或有益效果:抓取控件的文字内容,使得采集回收的数据可读性更高。
根据本发明埋点方法的一种实施方式,利用所述Hook程序监控所述操作行为事件,并收集所述操作行为事件的数据,还包括:对所述操作行为事件对应的控件类型进行过滤,得到统计控件,其中,所述统计控件是与预设的控件类型相对应的控件,所述预设的控件类型包括按钮、输入框和开关控件中的至少一项;监控所述统计控件的操作行为事件,并收集所述操作行为事件的数据。
从统计业务上考虑,并不是所有的点击等操作行为事件都具有统计价值,例如无响应的空白区域的点击、滑动等事件是没有统计价值的无需采集的事件。因此,可在配置文件中预先设置有统计价值的控件类型,在进行监控和数据收集的过程中,根据读取的配置文件信息,过滤出有统计价值的控件类型,例如有统计价值的控件类型可包括“UIButton”按钮、“UISearchBar”输入框、“UISWitch”开关控件等。将这些有统计价值的控件类型对应的控件称为统计控件,仅对统计控件进行监控和数据收集。
根据本发明埋点方法的一种实施方式,利用所述Hook程序监控所述操作行为事件,还包括:设置与控件类型相对应的监控所述操作行为事件的响应事件类型,所述响应事件类型包括点击开始时响应、点击结束时响应和滑动响应中的至少一项。
不同的控件类型,对应的系统响应事件类型也不相同,如响应事件类型可包括点击开始时响应、点击结束时响应、滑动响应等。因此可针对不同的控件类型,监听其对应的响应种类,达到更准确的业务场景识别。
上述技术方案中具有如下优点或有益效果:针对不同的控件类型,监控不同的点击事件种类,达到更准确的业务场景识别效果。
综上,本发明实施例的全埋点实现方法,将Hook目标点选取为系统的统一转发事件通道,通过简单的一次代码调用,Hook到系统关键的转发事件函数,在其中进行统计逻辑计算,从而实现全埋点。在全埋点基础上,可以进一步实现“可视化圈选”动态埋点,“可视化圈选”动态埋点具有可视化、动态更新等特性,避免了代码写死的埋点方式。在全埋点基础上,还可以进一步实现“移动端热力图”等高级功能。
图3为本发明一实施例提供的埋点装置的结构框图。如图3所示,本发明实施例的埋点装置包括:Hook单元100,用于在系统的转发事件函数中插入Hook程序,其中,所述转发事件函数用于转发操作行为事件;数据收集单元200,用于在所述转发事件函数转发所述操作行为事件时,利用所述Hook程序监控所述操作行为事件,并收集所述操作行为事件的数据。
根据本发明埋点装置的一种实施方式,所述数据收集单元200还用于:采用控件的XPath路径作为控件标识;利用所述Hook程序监控所述控件标识对应的控件的操作行为事件,并收集所述操作行为事件的数据。
图4为本发明另一实施例提供的埋点装置的结构框图。如图4所示,根据本发明埋点装置的一种实施方式,所述数据收集单元200包括内容采集子单元210,用于:在利用所述Hook程序监控到控件的操作行为事件时,采集所述控件上的文字内容。
图5为本发明另一实施例提供的埋点装置的结构框图。如图5所示,根据本发明埋点装置的一种实施方式,所述数据收集单元200还包括:过滤子单元220,用于对所述操作行为事件对应的控件类型进行过滤,得到统计控件,其中,所述统计控件是与预设的控件类型相对应的控件,所述预设的控件类型包括按钮、输入框和开关控件中的至少一项;监控收集子单元230,用于监控所述统计控件的操作行为事件,并收集所述操作行为事件的数据。
图6为本发明另一实施例提供的埋点装置的结构框图。如图6所示,根据本发明埋点装置的一种实施方式,所述数据收集单元200还包括类型匹配子单元240,用于:设置与控件类型相对应的监控所述操作行为事件的响应事件类型,所述响应事件类型包括点击开始时响应、点击结束时响应和滑动响应中的至少一项。
本发明实施例的埋点装置中各单元的功能可以参见上述方法的相关描述,在此不再赘述。
在一个可能的设计中,埋点装置的结构中包括处理器和存储器,所述存储器用于存储支持埋点装置执行上述埋点方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述埋点装置还可以包括通信接口,用于埋点装置与其他设备或通信网络通信。
图7为本发明另一实施例提供的埋点装置的结构框图。如图7所示,该装置包括:存储器101和处理器102,存储器101内存储有可在处理器102上运行的计算机程序。所述处理器102执行所述计算机程序时实现上述实施例中的埋点方法。所述存储器101和处理器102的数量可以为一个或多个。
该装置还包括:
通信接口103,用于与外界设备进行通信,进行数据交互传输。
存储器101可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器101、处理器102和通信接口103独立实现,则存储器101、处理器102和通信接口103可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器101、处理器102及通信接口103集成在一块芯片上,则存储器101、处理器102及通信接口103可以通过内部接口完成相互间的通信。
又一方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述埋点方法中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种埋点方法,其特征在于,包括:
在系统的转发事件函数中插入Hook程序,其中,所述转发事件函数用于转发操作行为事件;
在所述转发事件函数转发所述操作行为事件时,采用控件的XPath路径作为控件标识,利用所述Hook程序监控所述控件标识对应的控件的操作行为事件,并收集所述操作行为事件的数据。
2.根据权利要求1所述的方法,其特征在于,收集所述操作行为事件的数据包括:
在利用所述Hook程序监控到控件的操作行为事件时,采集所述控件上的文字内容。
3.根据权利要求1所述的方法,其特征在于,利用所述Hook程序监控所述操作行为事件,并收集所述操作行为事件的数据,还包括:
对所述操作行为事件对应的控件类型进行过滤,得到统计控件,其中,所述统计控件是与预设的控件类型相对应的控件,所述预设的控件类型包括按钮、输入框和开关控件中的至少一项;
监控所述统计控件的操作行为事件,并收集所述操作行为事件的数据。
4.根据权利要求1所述的方法,其特征在于,利用所述Hook程序监控所述操作行为事件,还包括:
设置与控件类型相对应的监控所述操作行为事件的响应事件类型,所述响应事件类型包括点击开始时响应、点击结束时响应和滑动响应中的至少一项。
5.一种埋点装置,其特征在于,包括:
Hook单元,用于在系统的转发事件函数中插入Hook程序,其中,所述转发事件函数用于转发操作行为事件;
数据收集单元,用于在所述转发事件函数转发所述操作行为事件时,采用控件的XPath路径作为控件标识,利用所述Hook程序监控所述控件标识对应的控件的操作行为事件。
6.根据权利要求5所述的装置,其特征在于,所述数据收集单元包括内容采集子单元,用于:
在利用所述Hook程序监控到控件的操作行为事件时,采集所述控件上的文字内容。
7.根据权利要求5所述的装置,其特征在于,所述数据收集单元还包括:
过滤子单元,用于对所述操作行为事件对应的控件类型进行过滤,得到统计控件,其中,所述统计控件是与预设的控件类型相对应的控件,所述预设的控件类型包括按钮、输入框和开关控件中的至少一项;
监控收集子单元,用于监控所述统计控件的操作行为事件,并收集所述操作行为事件的数据。
8.根据权利要求5所述的装置,其特征在于,还包括:所述数据收集单元还包括类型匹配子单元,用于:
设置与控件类型相对应的监控所述操作行为事件的响应事件类型,所述响应事件类型包括点击开始时响应、点击结束时响应和滑动响应中的至少一项。
9.一种埋点装置,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810711525.4A CN110674017B (zh) | 2018-07-03 | 2018-07-03 | 埋点方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810711525.4A CN110674017B (zh) | 2018-07-03 | 2018-07-03 | 埋点方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110674017A CN110674017A (zh) | 2020-01-10 |
CN110674017B true CN110674017B (zh) | 2023-04-28 |
Family
ID=69065852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810711525.4A Active CN110674017B (zh) | 2018-07-03 | 2018-07-03 | 埋点方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674017B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684035A (zh) * | 2004-04-13 | 2005-10-19 | 微软公司 | 优先级绑定 |
JP2006079395A (ja) * | 2004-09-10 | 2006-03-23 | Hitachi Software Eng Co Ltd | Domツリーを利用したブラウザコントロール表示方法およびシステム |
WO2007024985A2 (en) * | 2005-08-26 | 2007-03-01 | Harris Corporation | System, program product, and methods to enhance media content management |
JP2011008558A (ja) * | 2009-06-26 | 2011-01-13 | Hitachi Ltd | Webアプリケーション操作方法およびWebアプリケーションシステム並びにその処理プログラム |
CN106055988A (zh) * | 2016-05-25 | 2016-10-26 | 东方网力科技股份有限公司 | 针对控件的权限控制方法及装置 |
CN106095946A (zh) * | 2016-06-14 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | 页面的处理方法及装置 |
CN106557693A (zh) * | 2016-05-09 | 2017-04-05 | 哈尔滨安天科技股份有限公司 | 一种恶意Hook行为检测方法及系统 |
CN206265052U (zh) * | 2016-12-09 | 2017-06-20 | 中车青岛四方机车车辆股份有限公司 | 一种行李架及具有该行李架的轨道车辆 |
CN107423048A (zh) * | 2017-04-14 | 2017-12-01 | 网易乐得科技有限公司 | 数据收集的方法、装置、介质和计算设备 |
CN107491488A (zh) * | 2017-07-18 | 2017-12-19 | 北京京东尚科信息技术有限公司 | 页面数据采集的方法和装置 |
CN108038045A (zh) * | 2017-12-29 | 2018-05-15 | 上海新炬网络技术有限公司 | 基于无埋点的Android用户行为数据采集方法 |
CN108108286A (zh) * | 2018-01-03 | 2018-06-01 | 上海众人网络安全技术有限公司 | 数据收集方法和装置、服务器、存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6946715B2 (en) * | 2003-02-19 | 2005-09-20 | Micron Technology, Inc. | CMOS image sensor and method of fabrication |
US20050262063A1 (en) * | 2004-04-26 | 2005-11-24 | Watchfire Corporation | Method and system for website analysis |
US7886284B2 (en) * | 2006-09-05 | 2011-02-08 | International Business Machines Corporation | Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems |
US8763092B2 (en) * | 2010-09-30 | 2014-06-24 | International Business Machines Corporation | Implementing secured, event-based layered logout from a computer system |
CN102624570B (zh) * | 2012-04-27 | 2015-04-15 | 杭州东信北邮信息技术有限公司 | 实现对web服务器可用性进行检测的监控系统和方法 |
US20160015014A1 (en) * | 2014-07-18 | 2016-01-21 | Michael Shawn Smith | System and Method for Making a Red-Eared Slider Turtle Fishing Lure |
CN107908443A (zh) * | 2017-10-10 | 2018-04-13 | 武汉极意网络科技有限公司 | 一种事件监听方法、智能设备及存储介质 |
CN107948403A (zh) * | 2017-11-08 | 2018-04-20 | 深圳天珑无线科技有限公司 | 下载文件的方法、移动终端及具有存储功能的装置 |
-
2018
- 2018-07-03 CN CN201810711525.4A patent/CN110674017B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684035A (zh) * | 2004-04-13 | 2005-10-19 | 微软公司 | 优先级绑定 |
JP2006079395A (ja) * | 2004-09-10 | 2006-03-23 | Hitachi Software Eng Co Ltd | Domツリーを利用したブラウザコントロール表示方法およびシステム |
WO2007024985A2 (en) * | 2005-08-26 | 2007-03-01 | Harris Corporation | System, program product, and methods to enhance media content management |
JP2011008558A (ja) * | 2009-06-26 | 2011-01-13 | Hitachi Ltd | Webアプリケーション操作方法およびWebアプリケーションシステム並びにその処理プログラム |
CN106557693A (zh) * | 2016-05-09 | 2017-04-05 | 哈尔滨安天科技股份有限公司 | 一种恶意Hook行为检测方法及系统 |
CN106055988A (zh) * | 2016-05-25 | 2016-10-26 | 东方网力科技股份有限公司 | 针对控件的权限控制方法及装置 |
CN106095946A (zh) * | 2016-06-14 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | 页面的处理方法及装置 |
CN206265052U (zh) * | 2016-12-09 | 2017-06-20 | 中车青岛四方机车车辆股份有限公司 | 一种行李架及具有该行李架的轨道车辆 |
CN107423048A (zh) * | 2017-04-14 | 2017-12-01 | 网易乐得科技有限公司 | 数据收集的方法、装置、介质和计算设备 |
CN107491488A (zh) * | 2017-07-18 | 2017-12-19 | 北京京东尚科信息技术有限公司 | 页面数据采集的方法和装置 |
CN108038045A (zh) * | 2017-12-29 | 2018-05-15 | 上海新炬网络技术有限公司 | 基于无埋点的Android用户行为数据采集方法 |
CN108108286A (zh) * | 2018-01-03 | 2018-06-01 | 上海众人网络安全技术有限公司 | 数据收集方法和装置、服务器、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110674017A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297759B (zh) | 一种制作测试页面脚本的方法、装置、设备及存储介质 | |
CN105893084B (zh) | 版本升级方法及终端设备 | |
US20100042933A1 (en) | Region selection control for selecting browser rendered elements | |
US8219922B2 (en) | Dynamic point and extend user interface | |
US20070266039A1 (en) | Simplifying A Visual Depiction of A Graph | |
CN107247722B (zh) | 一种文件扫描方法、装置及智能终端 | |
US8379031B2 (en) | Image data management apparatus, image data management method, computer-readable storage medium | |
CN116384295B (zh) | 一种顶层文件生成方法、装置、计算机设备及存储介质 | |
US20080209194A1 (en) | Systems and methods for providing configuration change information on a per setting basis | |
CN110825600B (zh) | 一种页面信息处理方法、服务器和页面展示装置 | |
CN115576974A (zh) | 数据处理方法、装置、设备和介质 | |
CN110659197B (zh) | 应用程序的测试用例生成方法、装置和软件测试系统 | |
CN110674017B (zh) | 埋点方法、装置及存储介质 | |
CN107220044B (zh) | 基于元模型驱动业务对象的方法和装置 | |
US10884711B2 (en) | Code management system and code management method using a visual programming tool | |
US20090259654A1 (en) | Information processing apparatus, control method thereof, and storage medium | |
CN107256274A (zh) | 网页的智能采集方法及系统 | |
KR20140090394A (ko) | 웹페이지에의 응용프로그램 임베디드 서비스 제공 방법 및 시스템 | |
CN106126275A (zh) | 移动终端中应用程序数据的控制方法、装置以及移动终端 | |
US8473892B1 (en) | Computer aided design system and method | |
CN109697281A (zh) | 在线合并文档的方法、装置及电子设备 | |
CN112230917B (zh) | 一种基于数据和状态的移动应用埋点方法 | |
CN110058855B (zh) | 一种软件的界面和工作流的更新方法、装置及设备 | |
JP6530390B2 (ja) | テーブルによるビッグデータ量処理方法および装置 | |
CN109542300B (zh) | 一种更新web目录的方法、装置、电子设备及存储介质 |
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 |