CN110362767A - 埋点处理方法、装置、系统及计算机可读存储介质 - Google Patents
埋点处理方法、装置、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110362767A CN110362767A CN201810310023.0A CN201810310023A CN110362767A CN 110362767 A CN110362767 A CN 110362767A CN 201810310023 A CN201810310023 A CN 201810310023A CN 110362767 A CN110362767 A CN 110362767A
- Authority
- CN
- China
- Prior art keywords
- view control
- identifier
- burying
- bury
- processing method
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 34
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000009471 action Effects 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 63
- 230000006870 function Effects 0.000 claims description 49
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000006399 behavior Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000002513 implantation Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 235000009781 Myrtillocactus geometrizans Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种埋点处理方法、装置、系统及计算机可读存储介质,涉及计算机技术领域。其中的方法包括:响应于视图控件的操作事件,利用视图控件的功能信息生成与视图控件的功能唯一对应的标识符;将标识符对应的埋点信息上报至服务器。本发明能够在埋点处理过程中生成与视图控件的功能唯一对应的标识符,保障了生成视图控件所对应唯一标识符的可靠性,避免了控件标识错乱,从而增强了埋点处理过程的鲁棒性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种埋点处理方法、装置、系统及计算机可读存储介质。
背景技术
大数据时代的到来意味着数据量的爆炸,也意味着收集数据的难度大幅增加。为了将海量的数据收集起来,埋点技术应运而生。埋点技术通过在代码的关键部位植入统计代码,追踪用户的点击行为;或者植入多段代码,追踪用户的连续行为;并通过建立模型等方法,得出用户操作行为;最终作为建立产品数据系统的一个环节准确的收集数据。几乎没有一家上规模的公司产品没有埋点,由此可见埋点统计用户行为的重要性。
在移动互联网的时代,移动客户端就是最重要的用户终端,是最重要的用户数据收集平台。所以对于移动端的开发人员而言,每一个版本的迭代,除了日常的业务需求开发之外,埋点也是一个相当繁重的任务。随着大数据的发展和深入,收集数据的量越来越大,收集的方式要求越来越高,埋点开始变得力不从心。
传统的埋点方式是,在某个事件发生时就调用相应的数据发送接口发送数据。例如,我们想统计应用里面某个按钮的点击次数,则在应用的某个按钮被点击时,可以在这个按钮对应的事件处理函数里面调用数据发送接口来发送数据。埋点代价比较大,每一个控件的埋点都需要添加相应的代码,不仅工作量大,而且限定了必须是技术人员才能完成;其次是更新的代价比较大,每一次更新埋点方案,都必须改代码,然后通过各个应用市场进行分发,并且总会有相当多数量的用户不喜欢更新应用,这样埋点代码也就得不到更新了。
发明内容
本发明解决的一个技术问题是,如何增强埋点处理过程的鲁棒性。
根据本发明实施例的一个方面,提供了一种埋点处理方法,包括:响应于视图控件的操作事件,利用视图控件的功能信息生成与视图控件的功能唯一对应的标识符;将标识符对应的埋点信息上报至服务器。
在一些实施例中,功能信息包括:视图控件的类别名称、视图控件操作事件的处理对象类别名称、客户端操作事件的处理函数名称。
在一些实施例中,功能信息还包括:视图控件操作事件的下一级响应者的页面类别名称。
在一些实施例中,埋点处理方法还包括:判断视图控件是否存在预设的业务逻辑标识;在视图控件存在预设的业务逻辑标识的情况下,利用功能信息以及业务逻辑标识,生成与视图控件的功能唯一对应的标识符;业务逻辑标识用于区分功能完全一致的视图控件,并用于区分同一视图控件的不同操作状态。
在一些实施例中,埋点处理方法还包括:对标识符进行转换处理,使得转换后的标识符等长。
在一些实施例中,埋点信息包括控件操作事件标识以及埋点数据字段。
根据本发明实施例的另一个方面,提供了一种埋点处理装置,包括:标识符生成模块,被配置为响应于视图控件的操作事件,利用视图控件的功能信息生成与视图控件的功能唯一对应的标识符;埋点信息上报模块,被配置为将标识符对应的埋点信息上报至服务器。
在一些实施例中,功能信息包括:视图控件的类别名称、视图控件操作事件的处理对象类别名称、客户端操作事件的处理函数名称。
在一些实施例中,功能信息还包括:视图控件操作事件的下一级响应者的页面类别名称。
在一些实施例中,埋点处理装置还包括:业务逻辑标识判断模块,被配置为判断视图控件是否存在预设的业务逻辑标识;标识符生成模块还被配置为在视图控件存在预设的业务逻辑标识的情况下,利用功能信息以及业务逻辑标识,生成与视图控件的功能唯一对应的标识符;业务逻辑标识用于区分功能完全一致的视图控件,并用于区分同一视图控件的不同操作状态。
在一些实施例中,埋点处理装置还包括标识符转换模块,被配置为对标识符进行转换处理,使得转换后的标识符等长。
在一些实施例中,埋点信息包括控件操作事件标识以及埋点数据字段。
根据本发明实施例的又一个方面,提供了一种埋点处理系统,其中,包括前述的埋点处理装置以及服务器,服务器被配置为接收埋点处理装置上报的埋点信息,以追踪用户的行为。
根据本发明实施例的再一个方面,提供了一种埋点处理装置,其中,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述的埋点处理方法。
根据本发明实施例的又一个方面,提供了一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现前述的埋点处理方法。
本发明能够在埋点处理过程中生成与视图控件的功能唯一对应的标识符,保障了生成视图控件所对应唯一标识符的可靠性,避免了控件标识错乱,从而增强了埋点处理过程的鲁棒性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了视图组织形式的示意图。
图2示出了控件变化时视图路径的变化情况。
图3示出了本发明一个实施例的埋点处理方法的流程示意图。
图4示出了本发明另一个实施例的埋点处理方法的流程示意图。
图5示出了本发明一个实施例的埋点处理装置的结构示意图。
图6示出了本发明一个实施例的埋点处理系统的结构示意图。
图7示出了本发明另一个实施例的埋点处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
发明人研究发现,各大公司都在研究无痕埋点技术。无痕埋点的大致原理是,不需要在针对每一个事件的处理函数,让程序员手动添加埋点代码。而是开发一套统一的基础引擎,可以自动的在事件处理函数中上报相关的埋点。其中核心的一个流程是:制作一张配置表,由埋点的产品经理打开应用,圈选某一个控件,引擎会生成这个控件的唯一标识符,产品经理还会填写上埋点相关的一些其他信息,例如事件标识,需要上报的数据字段等,添加到配置表中,并且上传到服务器。用户在使用应用的时候,会从服务器下载配置表。当用户点击某一个控件的时候,引擎会自动分析用户点击的这个控件,用相同的算法生成这个控件的唯一标识符,然后拿这个标识符在配置表中进行匹配,如果能找到,就把这个标识符对应的事件标识、数据字段等相关数据进行上报。然而,目前主流的无痕埋点方案的鲁棒性较差。
发明人对埋点处理方法进行深入分析得知,目前主流的无痕埋点方案,在生成控件唯一标识的算法上面都纯在漏洞。如果控件不能被唯一标识,那么结果就是埋点数据错误。正是因为这个原因,无痕埋点一直没有全面取代手动人工埋点。在引起控件唯一标识错乱的地方,无法使用无痕埋点技术,还是需要使用人工埋点。衡量一个无痕埋点方案的好坏,在项目中的覆盖率是一个重要的指标。覆盖率越低,需要人工埋点的地方就越多。
下面详细解释相关埋点处理方案中存在漏洞的原因。
一个页面的视图组织形式都是一个树状结构。位于最底层的是一个根视图,根视图可以有任意多个子视图,子视图也可以添加任意个子视图。图1示出了视图组织形式的示意图。
相关埋点处理方案采取了视图的深度和位置信息,也就是路径。如图1所示,算法设置根视图的标识符为0,子视图A的路径就是0-1,A的子视图1的路径是0-1-1,A的子视图2的路径是0-1-2,以此类推,利用树的深度遍历算法,生成整个页面视图树中每个结点的深度和位置信息标识。
图2示出了控件变化时视图路径的变化情况。如图2所示,左半部分代表我们的父视图上有3个控件,分别是一个标签和2个按钮,他们的路径标识符分别是:0-1,0-2,0-3。假如某个时刻把标签从页面中移除出去,这个时候父视图上面只剩下2个按钮,它们的标识符就从原来的0-2,0-3变成了0-1,0-2。我们可以看到这个时候,用标识符来埋点就发生了错误,无法匹配埋点原始的标识。
因此,相关的埋点处理方法都只是适合于静态页面,也就是说页面的各个元素从创建之后就会一直保持不变。然而,纵观目前的各大应用,特别是电商类型的应用,页面结构非常复杂,用户交互非常灵活。有可能这个时刻某个视图的位置在A,下一时刻就会变到了位置B。只要打乱了一个视图的深度和位置信息,那么该视图相关的兄弟节点,以及它下面所有子节点的深度和位置信息都发生了改变,标识符整个就乱掉了。所以这些埋点处理方法,已经不能满足大多数动态页面的埋点需求了。
发明人考虑到用视图位于视图树中的深度和位置信息来生成视图的唯一标识是不正确的,因为深度和位置这些信息是可变的,使用可变的因子来生成标识是不可能唯一的,必须寻找和视图相关的不可变的信息。
基于上述问题,发明人提出了一种埋点处理方法,能够在埋点处理过程中生成与视图控件的功能唯一对应的标识符,保障生成视图控件所对应唯一标识符的可靠性,避免了控件标识错乱,从而增强埋点处理过程的鲁棒性。
下面结合图3介绍本发明一个实施例的埋点处理方法。
图3示出了本发明一个实施例的埋点处理方法的流程示意图。如图3所示,本实施例中的埋点处理方法包括步骤S302~步骤S304。
在步骤S302中,响应于视图控件的操作事件,利用视图控件的功能信息生成与视图控件的功能唯一对应的标识符。
功能信息可以包括视图控件的类别名称、视图控件操作事件的处理对象类别名称、客户端操作事件的处理函数名称。
首先解释视图控件的类别名称。应用页面的每一个控件视图也是编程对象,都有自己的类别。比如一个页面可能有两个按钮,这两个按钮对应的类别都是一样的:Button。这样我们获取到了一个不变的信息,就是控件视图的类别名称。我们这样表示:button.ClassName。
然后解释视图控件操作事件的处理对象类别名称和客户端操作事件的处理函数名称。
视图控件的类别名称不能是唯一的标识,因为一个页面可能有非常的多按钮。我们在接着寻找其它不变的信息。我们知道用户可以点击控件视图触发一个点击事件,事件会有对应的处理对象和处理函数。我们可以通过获取到控件的处理对象的类别hander.ClassName,以及处理函数的名称hander.functionName。
例如,猫这个类和一只活灵活现的猫的实体对象的关系。在编程中也是一个道理,比如视图控件中的按钮,代表一个类,名称叫Button,而页面中一个具体的真实的按钮是Button类的对象。在iOS开发中获取处理对象和处理函数的方法很多,对于按钮控件,可以通过[btn allTargets]方法获取所有的处理对象,然后通过[btn actionsForTarget:hander forControlEvent:UIControlEventTouchUp Inside]方法获取处理函数。我们的页面有可能会有两个或者更多的按钮,但是一般情况下功能各不相同,也就是说按钮的点击事件的处理对象和处理函数不会相同。但是有可能一个其它类型的控件视图也有一个点击事件,它的处理对象和处理函数跟这个按钮是一致的。例如一个页面上面,一个图片或者一段文本标签的点击的效果都是进入下一个页面。所以我们需要再把这个结果跟控件视图的名称结合起来,拼接起来标识符就是:
button.ClassName+hander.ClassName+hander.functionName
这样就杜绝了绝大多数的可能重叠的现象。因为这些都是不可变的对象,能很大程度上唯一标定一个控件视图。
可选的,功能信息还包括视图控件操作事件的下一级响应者的页面类别名称。
对于一些极端情况,比如有两个页面都有各自的按钮,而且按钮点击事件的处理对象和处理函数都是一样的。接下来我们来处理这种情况:
在应用编程中,普遍都存在一个事件的传递链,我们可以把传递链想象成一个真实的链条一样一环接一环。当用户点击屏幕的某一个位置的时候,系统需要把这个点击事件分发到相应的对象去处理。这个响应链中包含了例如应用、页面、控件等一些元素。系统分发事件的时候会沿着响应链依次顺序往下传递。例如页面最上层的按钮是第一级的响应者,按钮的下一个响应者是按钮的父视图,父视图的下一个响应者是父视图的父视图,这样循环下去,一直找到页面的根视图,页面的根视图的下一级响应者是页面本身。
上文我们提到,页面的视图层级是一个树状的结构。我们使用递归算法,逐级寻找当前按钮的上一个节点,也就是父视图,每一次找到一个节点视图的时候,我们都判断当前节点的下一级响应者是否是页面类别,在iOS开发中我们通过对一个视图调用[viewnextResponder]方法找到下一级响应者,通过对响应者调用responder.ClassName,获取这个响应者的类别,然后跟页面对象的类别比较,如果相等说明找到页面,这样我们就获取到了页面的类别名称:Page.name。我们把这个步骤的结果跟上一步结果拼接起来得到标识符:
button.ClassName+hander.ClassName+hander.functionName+Page.name。
在步骤S304中,将标识符对应的埋点信息上报至服务器。
例如,埋点信息包括控件操作事件标识以及埋点数据字段。举例来说:客户端上报服务器的点击操作事件标识可以为标识1;客户端从服务器获取的页面中包含信息1、信息2、信息3、信息4,客户端上报服务器的埋点数据字段可以为其中的信息1。
上述实施例中,通过分析面向对象语言和事件传递规律以及视图点击事件和处理对象,寻找视图控件的相关不变因素,改进了控件的标识符生成方式,即使在控件发生大小、位置、页面结构和元素变化的情况下控件视图的标识符也是唯一且不变的。因此,本发明保障了生成视图控件所对应唯一标识符的可靠性,避免了控件标识错乱,从而增强了埋点处理过程的鲁棒性。
根据页面、控件类型、处理对象、处理函数已经可以区分视图控件。因为一个页面中一般不可能有两个功能完全一致的相同类型的控件,一个控件也不太可能会有两个点击的处理逻辑。但是,也存在产品需要点击两个功能完全一致的控件时上报不同的埋点,或者点击一个控件时根据控件不同状态上报不同的埋点的情况。
针对以上情况,结合图4介绍本发明另一个实施例的埋点处理方法。
图4示出了本发明另一个实施例的埋点处理方法的流程示意图。如图4所示,本实施例中的埋点处理方法还包括步骤S401~步骤S408。
在步骤S401中,判断视图控件是否存在预设的业务逻辑标识。
例如,可以为所有的对象添加一个名为trace_tag的属性。当两个功能完全一致的控件,或者一个控件的点击有多个状态(例如,开/关)的时候,开发者需要根据这些情况为控件设置trace_tag的值,保证两个功能完全一致的控件有不同的trace_tag,或者一个控件的多个状态有不同的trace_tag。
在视图控件存在预设的业务逻辑标识的情况下,执行步骤S402,利用功能信息以及业务逻辑标识,生成与视图控件的功能唯一对应的标识符。在视图控件不存在预设的业务逻辑标识的情况下,执行步骤S403,利用功能信息,生成与视图控件的功能唯一对应的标识符。其中,业务逻辑标识用于区分功能完全一致的视图控件,并用于区分同一视图控件的不同操作状态。
例如,在埋点过程中匹配视图控件的唯一标识的时候,首先判断当前视图控件是否存在trace_tag这个值,如果不存在,就使用button.ClassName+hander.ClassName+hander.functionName+Page.name来进行匹配;如果存在,使用button.ClassName+hander.Class Name+hander.functionName+Page.name+trace_tag来匹配。
在步骤S405中,将标识符对应的埋点信息上报至服务器。
上述实施例中,考虑到各种动态场景下的极端情况,通过增设业务逻辑标识,并利用业务逻辑标识生成视图控件的唯一标识,进一步保证了视图标识的唯一性,进一步增强了埋点处理过程的鲁棒性,使得无痕埋点可以应用于动态页面的埋点场景,大大的增加了无痕埋点的覆盖率,节省大量的开发资源,提升埋点效果,极大的发挥了无痕埋点对于企业数据在自动化采集方面的应用。
可选的,埋点处理方法还包括:
步骤S404,对标识符进行转换处理,使得转换后的标识符等长。
前述步骤得到的视图控件的唯一标识长度不固定,且一般比较长,不便于后台使用。因此可以把这个结果通过例如MD5加密等方法生成一个固定长度的值作为唯一标识,以便后台使用。
下面结合图5介绍本发明一个实施例的埋点处理装置。
图5示出了本发明一个实施例的埋点处理装置的结构示意图。如图5所示,本实施例的埋点处理装置50包括:
标识符生成模块502,被配置为响应于视图控件的操作事件,利用视图控件的功能信息生成与视图控件的功能唯一对应的标识符;
埋点信息上报模块504,被配置为将标识符对应的埋点信息上报至服务器。
在一些实施例中,功能信息包括:视图控件的类别名称、视图控件操作事件的处理对象类别名称、客户端操作事件的处理函数名称。
在一些实施例中,功能信息还包括:视图控件操作事件的下一级响应者的页面类别名称。
上述实施例中,通过分析面向对象语言和事件传递规律以及视图点击事件和处理对象,寻找视图控件的相关不变因素,改进了控件的标识符生成方式,即使在控件发生大小、位置、页面结构和元素变化的情况下控件视图的标识符也是唯一且不变的。因此,本发明保障了生成视图控件所对应唯一标识符的可靠性,避免了控件标识错乱,从而增强了埋点处理过程的鲁棒性。
在一些实施例中,埋点处理装置50还包括业务逻辑标识判断模块501,被配置为判断视图控件是否存在预设的业务逻辑标识;标识符生成模块502还被配置为在视图控件存在预设的业务逻辑标识的情况下,利用功能信息以及业务逻辑标识,生成与视图控件的功能唯一对应的标识符;业务逻辑标识用于区分功能完全一致的视图控件,并用于区分同一视图控件的不同操作状态。
上述实施例中,考虑到各种动态场景下的极端情况,通过增设业务逻辑标识,并利用业务逻辑标识生成视图控件的唯一标识,进一步保证了视图标识的唯一性,进一步增强了埋点处理过程的鲁棒性,使得无痕埋点可以应用于动态页面的埋点场景,大大的增加了无痕埋点的覆盖率,节省大量的开发资源,提升埋点效果,极大的发挥了无痕埋点对于企业数据在自动化采集方面的应用。
在一些实施例中,埋点处理装置50还包括标识符转换模块503,被配置为对标识符进行转换处理,使得转换后的标识符等长。
在一些实施例中,埋点信息包括控件操作事件标识以及埋点数据字段。
下面结合图6介绍本发明一个实施例的埋点处理系统。
图6示出了本发明一个实施例的埋点处理系统的结构示意图。如图6所示,本实施例的埋点处理系统60包括:
埋点处理装置50以及服务器602,服务器602被配置为接收埋点处理装置上报的埋点信息,以追踪用户的行为。
图7示出了本发明另一个实施例的埋点处理装置的结构示意图。如图7所示,该实施例的埋点处理装置70包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行前述任意一个实施例中的埋点处理方法。
其中,存储器710例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
一种埋点处理装置70还可以包括输入输出接口730、网络接口740、存储接口750等。这些接口730,740,750以及存储器710和处理器720之间例如可以通过总线760连接。其中,输入输出接口730为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口740为各种联网设备提供连接接口。存储接口740为SD卡、U盘等外置存储设备提供连接接口。
本发明还包括一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述任意一个实施例中的埋点处理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种埋点处理方法,包括:
响应于视图控件的操作事件,利用所述视图控件的功能信息生成与所述视图控件的功能唯一对应的标识符;
将所述标识符对应的埋点信息上报至服务器。
2.如权利要求1所述的埋点处理方法,其中,所述功能信息包括:
视图控件的类别名称、视图控件操作事件的处理对象类别名称、客户端操作事件的处理函数名称。
3.如权利要求2所述的埋点处理方法,其中,所述功能信息还包括:
视图控件操作事件的下一级响应者的页面类别名称。
4.如权利要求1所述的埋点处理方法,其中,所述埋点处理方法还包括:
判断所述视图控件是否存在预设的业务逻辑标识;
在所述视图控件存在预设的业务逻辑标识的情况下,利用所述功能信息以及所述业务逻辑标识,生成与所述视图控件的功能唯一对应的标识符;所述业务逻辑标识用于区分功能完全一致的视图控件,并用于区分同一视图控件的不同操作状态。
5.如权利要求1所述的埋点处理方法,其中,所述埋点处理方法还包括:对所述标识符进行转换处理,使得转换后的标识符等长。
6.如权利要求1所述的埋点处理方法,其中,所述埋点信息包括控件操作事件标识以及埋点数据字段。
7.一种埋点处理装置,包括:
标识符生成模块,被配置为响应于视图控件的操作事件,利用所述视图控件的功能信息生成与所述视图控件的功能唯一对应的标识符;
埋点信息上报模块,被配置为将所述标识符对应的埋点信息上报至服务器。
8.如权利要求7所述的埋点处理装置,其中,所述功能信息包括:
视图控件的类别名称、视图控件操作事件的处理对象类别名称、客户端操作事件的处理函数名称。
9.如权利要求8所述的埋点处理装置,其中,所述功能信息还包括:
视图控件操作事件的下一级响应者的页面类别名称。
10.如权利要求7所述的埋点处理装置,其中,所述埋点处理装置还包括:
业务逻辑标识判断模块,被配置为判断所述视图控件是否存在预设的业务逻辑标识;
所述标识符生成模块还被配置为在所述视图控件存在预设的业务逻辑标识的情况下,利用所述功能信息以及所述业务逻辑标识,生成与所述视图控件的功能唯一对应的标识符;所述业务逻辑标识用于区分功能完全一致的视图控件,并用于区分同一视图控件的不同操作状态。
11.如权利要求7所述的埋点处理装置,其中,所述埋点处理装置还包括标识符转换模块,被配置为对所述标识符进行转换处理,使得转换后的标识符等长。
12.如权利要求7所述的埋点处理装置,其中,所述埋点信息包括控件操作事件标识以及埋点数据字段。
13.一种埋点处理系统,其中,包括如权利要求7至12中任一项所述的埋点处理装置,以及
服务器,被配置为接收所述埋点处理装置上报的埋点信息,以追踪用户的行为。
14.一种埋点处理装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至6中任一项所述的埋点处理方法。
15.一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如权利要求1至6中任一项所述的埋点处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810310023.0A CN110362767A (zh) | 2018-04-09 | 2018-04-09 | 埋点处理方法、装置、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810310023.0A CN110362767A (zh) | 2018-04-09 | 2018-04-09 | 埋点处理方法、装置、系统及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110362767A true CN110362767A (zh) | 2019-10-22 |
Family
ID=68213991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810310023.0A Pending CN110362767A (zh) | 2018-04-09 | 2018-04-09 | 埋点处理方法、装置、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362767A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338923A (zh) * | 2020-03-03 | 2020-06-26 | 北京新氧科技有限公司 | 埋点曝光处理方法、装置及设备 |
CN111552620A (zh) * | 2020-04-03 | 2020-08-18 | 北京字节跳动网络技术有限公司 | 数据获取方法、装置、终端及存储介质 |
CN113761310A (zh) * | 2020-07-07 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种采集点击数据的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150170070A1 (en) * | 2013-08-05 | 2015-06-18 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and system for monitoring website |
CN106021583A (zh) * | 2016-06-02 | 2016-10-12 | 北京京东尚科信息技术有限公司 | 页面流量数据的统计方法及其系统 |
CN106844217A (zh) * | 2017-01-26 | 2017-06-13 | 网易(杭州)网络有限公司 | 对应用的控件进行埋点的方法及装置、可读存储介质 |
CN106933472A (zh) * | 2017-05-20 | 2017-07-07 | 南京西桥科技有限公司 | 一种基于手机app的用户行为数据采集系统及其控制方法 |
CN107196788A (zh) * | 2017-05-02 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种埋点数据的处理方法、装置、服务器及客户端 |
CN107818163A (zh) * | 2017-11-01 | 2018-03-20 | 平安科技(深圳)有限公司 | 页面展示方法、装置、计算机设备和存储介质 |
-
2018
- 2018-04-09 CN CN201810310023.0A patent/CN110362767A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150170070A1 (en) * | 2013-08-05 | 2015-06-18 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and system for monitoring website |
CN106021583A (zh) * | 2016-06-02 | 2016-10-12 | 北京京东尚科信息技术有限公司 | 页面流量数据的统计方法及其系统 |
CN106844217A (zh) * | 2017-01-26 | 2017-06-13 | 网易(杭州)网络有限公司 | 对应用的控件进行埋点的方法及装置、可读存储介质 |
CN107196788A (zh) * | 2017-05-02 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种埋点数据的处理方法、装置、服务器及客户端 |
CN106933472A (zh) * | 2017-05-20 | 2017-07-07 | 南京西桥科技有限公司 | 一种基于手机app的用户行为数据采集系统及其控制方法 |
CN107818163A (zh) * | 2017-11-01 | 2018-03-20 | 平安科技(深圳)有限公司 | 页面展示方法、装置、计算机设备和存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338923A (zh) * | 2020-03-03 | 2020-06-26 | 北京新氧科技有限公司 | 埋点曝光处理方法、装置及设备 |
CN111338923B (zh) * | 2020-03-03 | 2024-03-01 | 北京新氧科技有限公司 | 埋点曝光处理方法、装置及设备 |
CN111552620A (zh) * | 2020-04-03 | 2020-08-18 | 北京字节跳动网络技术有限公司 | 数据获取方法、装置、终端及存储介质 |
CN111552620B (zh) * | 2020-04-03 | 2023-07-11 | 北京字节跳动网络技术有限公司 | 数据获取方法、装置、终端及存储介质 |
CN113761310A (zh) * | 2020-07-07 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种采集点击数据的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104657828B (zh) | 数据化和数据匹配方法和代码推荐方法及相关装置 | |
CN110928772B (zh) | 一种测试方法及装置 | |
CN107196788A (zh) | 一种埋点数据的处理方法、装置、服务器及客户端 | |
CN105556482B (zh) | 监视移动应用性能 | |
CN109479061A (zh) | 遵从性违反检测 | |
CN109978356A (zh) | 标注任务分配方法、装置、介质和计算机设备 | |
US8108193B2 (en) | Collaboration framework for modeling | |
CN107025165A (zh) | 游戏自动化测试方法及相关装置 | |
Philippow et al. | An approach for reverse engineering of design patterns | |
CN110050257A (zh) | 可执行数据流图的差分 | |
CN106095666A (zh) | 游戏自动化测试方法及相关装置 | |
CN108292231A (zh) | 从数据生成应用 | |
CN107003906A (zh) | 云计算技术部件的类型到类型分析 | |
EP3433732A1 (en) | Converting visual diagrams into code | |
CN104205062A (zh) | 剖析数据可视化 | |
CN108052618A (zh) | 数据管理方法及装置 | |
CN110362767A (zh) | 埋点处理方法、装置、系统及计算机可读存储介质 | |
CN107077505A (zh) | 自动模式不匹配检测 | |
CN108921600A (zh) | 实现信息分类的装置和方法及存储介质 | |
CN108139961A (zh) | 遥测定义系统 | |
CN113886606B (zh) | 一种基于知识图谱的数据标注方法、装置、介质及设备 | |
CN110300191A (zh) | 服务系统及数据处理方法 | |
CN104866598A (zh) | 基于可配置模板的异构数据库集成方法 | |
CN109242288A (zh) | 绩效数据匹配方法及系统 | |
KR100910336B1 (ko) | 논리 프로세스 및 물리 프로세스 모델을 맵핑한 비즈니스 프로세스 모델을 관리하기 위한 시스템 및 방법 |
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 |