CN108038053B - 一种动态配置埋点的方法及设备 - Google Patents
一种动态配置埋点的方法及设备 Download PDFInfo
- Publication number
- CN108038053B CN108038053B CN201711226125.6A CN201711226125A CN108038053B CN 108038053 B CN108038053 B CN 108038053B CN 201711226125 A CN201711226125 A CN 201711226125A CN 108038053 B CN108038053 B CN 108038053B
- Authority
- CN
- China
- Prior art keywords
- configuration
- page
- information
- log
- user equipment
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请的目的是提供一种动态配置埋点的方法及设备,本申请通过网络设备与用户设备之间建立起的连接新获取配置版本信息;将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息;根据所述用户设备的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述用户设备。从而,对埋点行为进行定义和动态变更,以解决实时埋点需求变更问题,并提供一种日志格式配置定义端上投递日志信息的格式规范,解决不同端上开发人员投递日志内容不一致的问题,进而提升日志数据质量。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种动态配置埋点的方法及设备。
背景技术
通常通过一些统计指标,例如,活跃用户数、某个位置的点击率、某个活动的转化率等等来反映一款产品的产品功能,而这些指标的计算都是通过在PC端或者移动端(以下简称”端”)埋点来获取用户行为数据通过大数据的手段进行统计分析得出。
最初的埋点都是通过具体的开发人员在开发阶段针对产品的需求和埋点的定义在某些指定页面或者指定行为上预先编写好相关行为日志投递代码,这样在下个版本发布之后,能够采集到相关的日志信息。然而,在产品快速迭代,需求不断变更的场景下,这种预先定义的方式无法满足多场景的需求,灵变性差,比如想在线上产品上增加埋点,采用这种方式就无法满足,而移动端产品审核发布周期比较长,不像PC端网页内容是由服务端控制呈现的,所以针对移动端只能先把埋点代码加好,等下个版本发布上线。因而无法及时的追踪产品某些功能的效果好坏和用户的体验情况,极端情况下可能导致用户流失的情况发生。
而且由于IOS和安卓两个不同移动端的开发人员属不同组,对埋点定义的理解有偏差可能导致投递出来的日志格式不统一,对后期的数据清洗、统计分析工作都带来了不小的麻烦,而且如果埋点有BUG投递有问题只有通过发版本来修复,频繁的升级势必也会影响用户体验。
由开发人员增加埋点,测试人员进行埋点日志跟踪测试,然后由埋点定义者验收埋点成果,流程繁琐,三方沟通成本非常大,而且一方测试没有通过,要回到起点重新进行回归测试,沟通成本高,需要开发人员投入大量精力在辅助性功能上,工作效率低。
发明内容
本申请的一个目的是提供一种动态配置埋点的方法及设备,解决埋点需求变更以及不同端上开发人员投递日志内容不一致的问题。
根据本申请的一个方面,提供了一种在用户设备端动态配置埋点的方法,该方法包括:
通过与网络设备之间建立起的连接将配置版本信息发送至所述网络设备;
获取从所述网络设备经过比对确定发生变更的配置数据;
对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;
在所述页面上加载已注册配置数据的元素事件;
根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息进行日志采集。
进一步地,获取从所述网络设备经过比对确定发生变更的配置数据之后,包括:
获取埋点配置和投递日志的格式信息。
进一步地,在所述页面上加载已注册配置数据的元素事件,包括:
在所述页面上对于相应的元素添加相应的元素事件响应。
进一步地,所述方法还包括:
基于所述页面上的元素事件定义对应的来源页和目标页,其中,所述来源页和目标页包括用户行为路径信息。
进一步地,基于所述页面上的元素事件定义对应的来源页和目标页之后,包括:
统计分析所述来源页和目标页上用户行为路径信息,对每一行为路径上的产品进行漏斗分析,其中,所述漏斗分析包括分析转化率和跳出率。
根据本申请另一个方面,还提供了一种在网络设备端动态配置埋点的方法,所述方法包括:
通过与用户设备之间建立起的连接新获取配置版本信息;
将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;
基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;
根据所述用户设备的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述用户设备。
进一步地,基于页面上的事件进行埋点定义及投递日志的格式定义,包括:
基于页面上的事件配置文件名称和定义埋点内容,其中,所述文件名称包括项目名称、模块名称、页面名称及版本信息,所述埋点内容包括关于所述页面上每个元素的相应的事件;
定义投递日志的格式为schema,根据所述schema对投递日志进行校验。
进一步地,所述方法包括:
将埋点配置信息发送至本地文件系统或外部服务器进行保存。
根据本申请再一个方面,还提供了一种用于动态配置埋点的用户设备,所述用户设备包括:
上传装置,用于通过与网络设备之间建立起的连接将配置版本信息发送至所述网络设备;
获取装置,用于获取从所述网络设备经过比对确定发生变更的配置数据;
处理装置,用于对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;
加载装置,用于在所述页面上加载已注册配置数据的元素事件;
投递装置,用于根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息进行日志采集。
进一步地,上述用户设备中,所述获取装置用于:
获取埋点配置和投递日志的格式信息。
进一步地,上述用户设备中,所述加载装置用于:
在所述页面上对于相应的元素添加相应的元素事件响应。
进一步地,所述用户设备还包括:
分析装置,用于基于所述页面上的元素事件定义对应的来源页和目标页,其中,所述来源页和目标页包括用户行为路径信息。
进一步地,所述分析装置用于:
基于所述页面上的元素事件定义对应的来源页和目标页之后,统计分析所述来源页和目标页上用户行为路径信息,对每一行为路径上的产品进行漏斗分析,其中,所述漏斗分析包括分析转化率和跳出率。
根据本申请再一个方面,还提供了一种用于动态配置埋点的网络设备,所述网络设备包括:
版本获取装置,用于通过与用户设备之间建立起的连接新获取配置版本信息;
比对装置,用于将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;
定义装置,用于基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;
发送装置,用于根据所述用户设备的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述用户设备。
进一步地,所述定义装置用于:
基于页面上的事件配置文件名称和定义埋点内容,其中,所述文件名称包括项目名称、模块名称、页面名称及版本信息,所述埋点内容包括关于所述页面上每个元素的相应的事件;
定义投递日志的格式为schema,根据所述schema对投递日志进行校验。
进一步地,所述网络设备包括:
保存装置,用于将埋点配置信息发送至本地文件系统或外部服务器进行保存。
根据本申请又一个方面,还提供了一种基于计算的用户设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过与网络设备之间建立起的连接将配置版本信息发送至所述网络设备;
获取从所述网络设备经过比对确定发生变更的配置数据;
对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;
在所述页面上加载已注册配置数据的元素事件;
根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息进行日志采集。
根据本申请另一个方面,还提供了一种基于计算的网络设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过与用户设备之间建立起的连接新获取配置版本信息;
将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;
基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;
根据所述用户设备的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述用户设备。
与现有技术相比,本申请通过用户设备与网络设备之间建立起的连接将配置版本信息发送至所述网络设备;获取从所述网络设备经过比对确定发生变更的配置数据;对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;在所述页面上加载已注册配置数据的元素事件;根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息进行日志采集。从而通过本申请所述的在用户设备端动态配置埋点的方法,提供了灵活便捷高效配置变更服务,用户设备端可以通过一旦启动可以自动感知配置变更,也可以根据版本信息做局部小范围的配置刷新,避免全量更新带来的流量压力,通过云端配置中心极大的解耦了埋点开发人员和数据分析师之间的工作,通过云端配置中心规范数据格式的方式,数据分析师可以根据日志的格式描述文件,自动生成样例日志数据,之后可以依据样例数据将统计分析逻辑提前写好,而不必等到应用部署上线采集到日志数据才开始做这部分工作,为产品运营支持提供了最快速的响应。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一个方面的一种在用户设备端动态配置埋点的方法流程示意图;
图2示出根据本申请另一个方面的一种在网络设备端动态配置埋点的方法流程示意图;
图3示出本申请一实施例中动态更新配置埋点时序示意图;
图4示出根据本申请的另一个方面的一种用于动态配置埋点的用户设备结构示意图;
图5示出根据本申请再一个方面的一种用于动态配置埋点的网络设备结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请的一个方面的一种在用户设备端动态配置埋点的方法流程示意图,该方法包括:步骤S11~步骤S15,
在步骤S11中,通过与网络设备之间建立起的连接将配置版本信息发送至所述网络设备;在此,用户设备为PC端或移动终端,网络设备为云端配置中心,与用户设备建立连接后,用户设备上报配置版本信息;接着,在步骤S12中,获取从所述网络设备经过比对确定发生变更的配置数据,用户设备通过获取网络设备下发的配置内容,以自动感知配置变化更新缓存本地配置;在步骤S13中,对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;用户在用户设备点开某个页面,在页面的装载事件中,通过界面编号,在本地缓存中找到对应的埋点配置信息,从埋点配置中获取该页面的所有元素的埋点配置;随后,在步骤S14中,在所述页面上加载已注册配置数据的元素事件,例如,获取页面的所有元素的埋点配置时,其中有一个埋点配置是给该页面上的唯一标识(id)位触发按钮(buttonl)的点击事件埋点,则搜索页面元素id=buttonl的按钮,并为它注册一个点击触发(onclick)事件监听;在步骤S15中,根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息进行日志采集,在此,当用户点击buttonl时,将触发上述注册事件,此时通过元素id找到该元素配置的日志描述,对日志描述进行解析,获取日志格式,抽取日志描述的属性信息,按照特定的序列化格式组合抽取的属性信息,放入消息体并投递以进行日志采集。从而通过本申请所述的在用户设备端动态配置埋点的方法,提供了灵活便捷高效配置变更服务,用户设备端可以通过一旦启动可以自动感知配置变更,也可以根据版本信息做局部小范围的配置刷新,避免全量更新带来的流量压力。
在本申请一实施例中,获取从所述网络设备经过比对确定发生变更的配置数据之后,获取埋点配置和投递日志的格式信息。在此,在页面装载之前从配置中心获取埋点配置和投递日志的格式信息,进一步地,在所述页面上对于相应的元素添加相应的元素事件响应。对页面上相应的元素添加上相应的事件响应,在事件响应中按照定义好的日志格式,投递相应的日志。初始全部埋点配置在应用打包的时候随应用一起部署分发保存到用户本地,之后应用每次启动时会根据版本信息自动发现埋点配置的变更,然后下载并更新本地缓存的配置信息,由于每个界面的配置都带有版本号,因此可以做局部配置更新,避免每次都全量更新配置。
在本申请一实施例中,所述方法还包括:步骤S16,基于所述页面上的元素事件定义对应的来源页和目标页,其中,所述来源页和目标页包括用户行为路径信息。进一步地,基于所述页面上的元素事件定义对应的来源页和目标页之后,统计分析所述来源页和目标页上用户行为路径信息,对每一行为路径上的产品进行漏斗分析,其中,所述漏斗分析包括分析转化率和跳出率。在此,本申请提供一种配置页面路径的方法,每个页面除了定义自身元素的事件之外,还能定义可能的来源页和目标页,通过来源页和目标页描述清晰的用户行为路径,进而可以统计分析行为路径上的每一步的转化率、跳出率等做漏斗分析出,为产品运营提供更好的决策支持。
图2示出根据本申请另一个方面的一种在网络设备端动态配置埋点的方法流程示意图,所述方法包括:步骤S21~步骤S24,
在步骤S21中,通过与用户设备之间建立起的连接新获取配置版本信息;在此,网络设备为云端配置中心,与用户设备建立连接,获取用户设备上传的配置版本信息;接着,在步骤S22中,将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据,在此,云端配置中心将已有的配置版本信息和新获取的配置版本信息进行比对,返回有变更的配置内容;在步骤S23中,基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;在此,云端配置中心为每个页面都展现和页面上元素的点击等事件提供埋点定义,以及投递日志的格式信息;在步骤S24中,根据所述用户设备的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述用户设备。从而,在产品运行期间对产品的埋点行为进行定义和动态变更,以解决实时埋点需求变更问题,并提供一种日志格式配置定义端上投递日志信息的格式规范,解决不同端上开发人员投递日志内容不一致的问题,进而提升日志数据质量,简化后期的数据分析统计工作。
在本申请一实施例中,在步骤S23中,基于页面上的事件配置文件名称和定义埋点内容,其中,所述文件名称包括项目名称、模块名称、页面名称及版本信息,所述埋点内容包括关于所述页面上每个元素的相应的事件;在此,云端配置中心为每个页面的展现和页面上元素的点击等事件提供埋点定义,配置文件名称以<项目名称>.<模块名称>.<页面名称>.<版本信息>构成,其中内容定义了一组关于该页面上每个元素的相应的事件,比如按钮A的点击事件:
在页面装载之前从云端配置中心获取埋点配置信息和投递日志的格式信息,对页面上相应的元素添加上相应的事件响应,在事件响应中按照定义好的日志格式,投递相应的日志。
定义投递日志的格式为schema,根据所述schema对投递日志进行校验。本申请实施例中通过配置来描述日志信息的schema,用来校验日志格式的正确性,所有投递的日志必须严格满足schema定义。在应用开发测试阶段打开日志的校验功能配置,可以自动校验日志投递的正确性,极大的降低了应用上线之后日志错投、漏投的bug发生。对于发布上线的应用默认关闭日志校验功能提高日志采集效率。通过自动校验验收日志功能,优化了传统的开发人员埋点->测试人员验证->埋点定义需求方验收的复杂流程。通过日志的schema约束,统一了pc端和移动端的日志投递信息,为后面自动数据清洗转换服务打下了坚实的基础。
在本申请一实施例中,将埋点配置信息发送至本地文件系统或外部服务器进行保存。在此,可以提供多样化的集中式配置管理服务,与底层存储介质解耦,不仅可以将配置保存到本地文件系统,而且可以存储在git或者svn这些带版本管理的外部服务中,通过git,svn实现配置的版本管理和配置变更的动态发布通知,使外部依赖配置的服务可以接近实时的更新同步自己的配置信息。
图3示出本申请一实施例中动态更新配置埋点时序示意图,其中,首先建立起云端配置中心与用户客户端的连接,从而用户客户端可以向云端配置中心上报配置版本信息,云端配置中心比对配置版本返回有变更的配置内容,用户客户端对接收到的有变更的配置内容进行解析、缓存配置内容,打开某一页面(如页面A),根据页面唯一标识,获取页面埋点配置内容,页面加载事件中注册所有配置的元素事件,元素事件触发时,解析配置日志格式schema,提取页面相关信息进行投递以完成日志的采集。通过云端配置中心极大的解耦了埋点开发人员和数据分析师之间的工作,通过云端配置中心规范数据格式的方式,数据分析师可以根据日志的格式描述文件,自动生成样例日志数据,之后可以依据样例数据将统计分析逻辑提前写好,而不必等到应用部署上线采集到日志数据才开始做这部分工作,为产品运营支持提供了最快速的响应。
图4示出根据本申请的另一个方面的一种用于动态配置埋点的用户设备结构示意图,该用户设备包括:上传装置11、获取装置12、处理装置13、加载装置14和投递装置15,
上传装置11,用于通过与网络设备之间建立起的连接将配置版本信息发送至所述网络设备;在此,用户设备为PC端或移动终端,网络设备为云端配置中心,与用户设备建立连接后,用户设备上报配置版本信息;接着,获取装置12,用于获取从所述网络设备经过比对确定发生变更的配置数据,用户设备通过获取网络设备下发的配置内容,以自动感知配置变化更新缓存本地配置;处理装置13,用于对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;用户在用户设备点开某个页面,在页面的装载事件中,通过界面编号,在本地缓存中找到对应的埋点配置信息,从埋点配置中获取该页面的所有元素的埋点配置;随后,加载装置14,用于在所述页面上加载已注册配置数据的元素事件,例如,获取页面的所有元素的埋点配置时,其中有一个埋点配置是给该页面上的唯一标识(id)位触发按钮(buttonl)的点击事件埋点,则搜索页面元素id=buttonl的按钮,并为它注册一个点击触发(onclick)事件监听;投递装置15,用于根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息进行日志采集,在此,当用户点击buttonl时,将触发上述注册事件,此时通过元素id找到该元素配置的日志描述,对日志描述进行解析,获取日志格式,抽取日志描述的属性信息,按照特定的序列化格式组合抽取的属性信息,放入消息体并投递以进行日志采集。从而通过本申请所述用户设备执行动态配置埋点的方法,提供了灵活便捷高效配置变更服务,用户设备端可以通过一旦启动可以自动感知配置变更,也可以根据版本信息做局部小范围的配置刷新,避免全量更新带来的流量压力。
在本申请一实施例中,获取装置12用于获取从所述网络设备经过比对确定发生变更的配置数据之后,获取埋点配置和投递日志的格式信息。在此,在页面装载之前从配置中心获取埋点配置和投递日志的格式信息,进一步地,在所述页面上对于相应的元素添加相应的元素事件响应。对页面上相应的元素添加上相应的事件响应,在事件响应中按照定义好的日志格式,投递相应的日志。初始全部埋点配置在应用打包的时候随应用一起部署分发保存到用户本地,之后应用每次启动时会根据版本信息自动发现埋点配置的变更,然后下载并更新本地缓存的配置信息,由于每个界面的配置都带有版本号,因此可以做局部配置更新,避免每次都全量更新配置。
在本申请一实施例中,所述用户设备还包括:分析装置16,用于基于所述页面上的元素事件定义对应的来源页和目标页,其中,所述来源页和目标页包括用户行为路径信息。进一步地,基于所述页面上的元素事件定义对应的来源页和目标页之后,统计分析所述来源页和目标页上用户行为路径信息,对每一行为路径上的产品进行漏斗分析,其中,所述漏斗分析包括分析转化率和跳出率。在此,本申请提供一种配置页面路径的方法,每个页面除了定义自身元素的事件之外,还能定义可能的来源页和目标页,通过来源页和目标页描述清晰的用户行为路径,进而可以统计分析行为路径上的每一步的转化率、跳出率等做漏斗分析出,为产品运营提供更好的决策支持。
图5示出根据本申请再一个方面的一种用于动态配置埋点的网络设备结构示意图,所述网络设备包括:版本获取装置21、比对装置22、定义装置23和发送装置24,
版本获取装置21,用于通过与用户设备之间建立起的连接新获取配置版本信息;在此,网络设备为云端配置中心,与用户设备建立连接,获取用户设备上传的配置版本信息;接着,比对装置22,用于将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据,在此,云端配置中心将已有的配置版本信息和新获取的配置版本信息进行比对,返回有变更的配置内容;定义装置23,用于基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;在此,云端配置中心为每个页面都展现和页面上元素的点击等事件提供埋点定义,以及投递日志的格式信息;发送装置24,用于根据所述用户设备的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述用户设备。从而,在产品运行期间对产品的埋点行为进行定义和动态变更,以解决实时埋点需求变更问题,并提供一种日志格式配置定义端上投递日志信息的格式规范,解决不同端上开发人员投递日志内容不一致的问题,进而提升日志数据质量,简化后期的数据分析统计工作。
在本申请一实施例中,定义装置23,用于基于页面上的事件配置文件名称和定义埋点内容,其中,所述文件名称包括项目名称、模块名称、页面名称及版本信息,所述埋点内容包括关于所述页面上每个元素的相应的事件;在此,云端配置中心为每个页面的展现和页面上元素的点击等事件提供埋点定义,配置文件名称以<项目名称>.<模块名称>.<页面名称>.<版本信息>构成,其中内容定义了一组关于该页面上每个元素的相应的事件,比如按钮A的点击事件:
在页面装载之前从云端配置中心获取埋点配置信息和投递日志的格式信息,对页面上相应的元素添加上相应的事件响应,在事件响应中按照定义好的日志格式,投递相应的日志。
定义投递日志的格式为schema,根据所述schema对投递日志进行校验。本申请实施例中通过配置来描述日志信息的schema,用来校验日志格式的正确性,所有投递的日志必须严格满足schema定义。在应用开发测试阶段打开日志的校验功能配置,可以自动校验日志投递的正确性,极大的降低了应用上线之后日志错投、漏投的bug发生。对于发布上线的应用默认关闭日志校验功能提高日志采集效率。通过自动校验验收日志功能,优化了传统的开发人员埋点->测试人员验证->埋点定义需求方验收的复杂流程。通过日志的schema约束,统一了pc端和移动端的日志投递信息,为后面自动数据清洗转换服务打下了坚实的基础。
在本申请一实施例中,将埋点配置信息发送至本地文件系统或外部服务器进行保存。在此,可以提供多样化的集中式配置管理服务,与底层存储介质解耦,不仅可以将配置保存到本地文件系统,而且可以存储在git或者svn这些带版本管理的外部服务中,通过git,svn实现配置的版本管理和配置变更的动态发布通知,使外部依赖配置的服务可以接近实时的更新同步自己的配置信息。
图3示出本申请一实施例中动态更新配置埋点时序示意图,其中,首先建立起云端配置中心与用户客户端的连接,从而用户客户端可以向云端配置中心上报配置版本信息,云端配置中心比对配置版本返回有变更的配置内容,用户客户端对接收到的有变更的配置内容进行解析、缓存配置内容,打开某一页面(如页面A),根据页面唯一标识,获取页面埋点配置内容,页面加载事件中注册所有配置的元素事件,元素事件触发时,解析配置日志格式schema,提取页面相关信息进行投递以完成日志的采集。通过云端配置中心极大的解耦了埋点开发人员和数据分析师之间的工作,通过云端配置中心规范数据格式的方式,数据分析师可以根据日志的格式描述文件,自动生成样例日志数据,之后可以依据样例数据将统计分析逻辑提前写好,而不必等到应用部署上线采集到日志数据才开始做这部分工作,为产品运营支持提供了最快速的响应。
在本申请一实施例中,还提供了一种基于计算的网络设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过与用户设备之间建立起的连接新获取配置版本信息;
将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;
基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;
根据所述用户设备的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述用户设备。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种在用户设备端动态配置埋点的方法,其中,所述方法包括:
通过与网络设备之间建立起的连接将配置版本信息发送至所述网络设备;
接收所述网络设备发送的在应用打包时随所述应用一起部署分发的初始的全部埋点配置并保存至本地,当所述应用每次启动时根据所述配置版本信息自动发现埋点配置的变更,确定发生变更的配置数据;
对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;
在所述页面上加载已注册配置数据的元素事件;
根据触发条件对加载的元素事件进行解析配置日志格式,获取日志格式,抽取日志描述的属性信息,按照特定的序列化格式组合抽取的属性信息放入消息体并投递以进行日志采集。
2.根据权利要求1所述的方法,其中,获取从所述网络设备经过比对确定发生变更的配置数据之后,包括:
获取埋点配置和投递日志的格式信息。
3.根据权利要求1所述的方法,其中,在所述页面上加载已注册配置数据的元素事件,包括:
在所述页面上对于相应的元素添加相应的元素事件响应。
4.根据权利要求1所述的方法,其中,所述方法还包括:
基于所述页面上的元素事件定义对应的来源页和目标页,其中,所述来源页和目标页包括用户行为路径信息。
5.根据权利要求4所述的方法,其中,基于所述页面上的元素事件定义对应的来源页和目标页之后,包括:
统计分析所述来源页和目标页上用户行为路径信息,对每一行为路径上的产品进行漏斗分析,其中,所述漏斗分析包括分析转化率和跳出率。
6.一种在网络设备端动态配置埋点的方法,其中,所述方法包括:
通过与用户设备之间建立起的连接在应用打包时将初始的全部埋点配置随所述应用一起部署分发保存至所述用户设备的本地,并从所述用户设备中新获取配置版本信息;
将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;
基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;
根据所述用户设备的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述用户设备。
7.根据权利要求6所述的方法,其中,基于页面上的事件进行埋点定义及投递日志的格式定义,包括:
基于页面上的事件配置文件名称和定义埋点内容,其中,所述文件名称包括项目名称、模块名称、页面名称及版本信息,所述埋点内容包括关于所述页面上每个元素的相应的事件;
定义投递日志的格式为schema,根据所述schema对投递日志进行校验。
8.根据权利要求6所述的方法,其中,所述方法包括:
将埋点配置信息发送至本地文件系统或外部服务器进行保存。
9.一种用于动态配置埋点的用户设备,其中,所述用户设备包括:
上传装置,用于通过与网络设备之间建立起的连接将配置版本信息发送至所述网络设备;
获取装置,用于接收所述网络设备发送的在应用打包时随所述应用一起部署分发的初始的全部埋点配置并保存至本地,当所述应用每次启动时根据所述配置版本信息自动发现埋点配置的变更,确定发生变更的配置数据;
处理装置,用于对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;
加载装置,用于在所述页面上加载已注册配置数据的元素事件;
投递装置,用于根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息进行日志采集。
10.根据权利要求9所述的用户设备,其中,所述获取装置用于:
获取埋点配置和投递日志的格式信息。
11.根据权利要求9所述的用户设备,其中,所述加载装置用于:
在所述页面上对于相应的元素添加相应的元素事件响应。
12.根据权利要求9所述的用户设备,其中,所述用户设备还包括:
分析装置,用于基于所述页面上的元素事件定义对应的来源页和目标页,其中,所述来源页和目标页包括用户行为路径信息。
13.根据权利要求12所述的用户设备,其中,所述分析装置用于:
基于所述页面上的元素事件定义对应的来源页和目标页之后,统计分析所述来源页和目标页上用户行为路径信息,对每一行为路径上的产品进行漏斗分析,其中,所述漏斗分析包括分析转化率和跳出率。
14.一种用于动态配置埋点的网络设备,其中,所述网络设备包括:
版本获取装置,用于通过与用户设备之间建立起的连接在应用打包时将初始的全部埋点配置随所述应用一起部署分发保存至所述用户设备的本地,并从所述用户设备中新获取配置版本信息;
比对装置,用于将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;
定义装置,用于基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;
发送装置,用于根据所述用户设备的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述用户设备。
15.根据权利要求14所述的网络设备,其中,所述定义装置用于:
基于页面上的事件配置文件名称和定义埋点内容,其中,所述文件名称包括项目名称、模块名称、页面名称及版本信息,所述埋点内容包括关于所述页面上每个元素的相应的事件;
定义投递日志的格式为schema,根据所述schema对投递日志进行校验。
16.根据权利要求14所述的网络设备,其中,所述网络设备包括:
保存装置,用于将埋点配置信息发送至本地文件系统或外部服务器进行保存。
17.一种基于计算的用户设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过与网络设备之间建立起的连接将配置版本信息发送至所述网络设备;
接收所述网络设备发送的在应用打包时随所述应用一起部署分发的初始的全部埋点配置并保存至本地,当所述应用每次启动时根据所述配置版本信息自动发现埋点配置的变更,确定发生变更的配置数据;
对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;
在所述页面上加载已注册配置数据的元素事件;
根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息进行日志采集。
18.一种基于计算的网络设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过与用户设备之间建立起的连接在应用打包时将初始的全部埋点配置随所述应用一起部署分发保存至所述用户设备的本地,并从所述用户设备中新获取配置版本信息;
将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;
基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;
根据所述用户设备的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述用户设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711226125.6A CN108038053B (zh) | 2017-11-29 | 2017-11-29 | 一种动态配置埋点的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711226125.6A CN108038053B (zh) | 2017-11-29 | 2017-11-29 | 一种动态配置埋点的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108038053A CN108038053A (zh) | 2018-05-15 |
CN108038053B true CN108038053B (zh) | 2019-07-26 |
Family
ID=62094485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711226125.6A Active CN108038053B (zh) | 2017-11-29 | 2017-11-29 | 一种动态配置埋点的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038053B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795115B (zh) * | 2018-08-01 | 2023-08-08 | 飞狐信息技术(天津)有限公司 | 一种探针程序更新方法及系统 |
CN109408376B (zh) * | 2018-09-28 | 2022-04-22 | 深圳乐信软件技术有限公司 | 一种配置数据的生成方法、装置、设备及存储介质 |
CN109491921B (zh) * | 2018-11-29 | 2021-10-12 | 携程旅游网络技术(上海)有限公司 | 埋点信息的管理方法和系统 |
CN110099101A (zh) * | 2019-04-01 | 2019-08-06 | 厦门美柚信息科技有限公司 | 一种埋点动态设置的方法、系统、设备及其存储介质 |
CN110059282A (zh) * | 2019-04-23 | 2019-07-26 | 北京奇艺世纪科技有限公司 | 一种交互类数据的获取方法及系统 |
CN110347582B (zh) * | 2019-05-21 | 2024-05-28 | 平安银行股份有限公司 | 埋点测试方法和装置 |
CN112416995B (zh) * | 2019-08-23 | 2023-12-08 | 腾讯科技(深圳)有限公司 | 一种数据统计方法、装置、计算机设备及存储介质 |
CN110515821B (zh) * | 2019-08-30 | 2023-11-14 | 望海康信(北京)科技股份公司 | 基于埋点的事件处理方法、电子设备及计算机存储介质 |
CN110941608B (zh) * | 2019-09-29 | 2023-01-20 | 北京思维造物信息科技股份有限公司 | 一种埋点分析和漏斗分析报表生成方法、装置及设备 |
CN110908881B (zh) * | 2019-11-06 | 2023-04-28 | 北京奇艺世纪科技有限公司 | 埋点数据的发送方法、装置、电子设备及计算机可读存储介质 |
CN111741046B (zh) * | 2019-11-07 | 2023-01-31 | 北京沃东天骏信息技术有限公司 | 数据上报方法、获取方法、装置、设备及介质 |
CN110941528B (zh) * | 2019-11-08 | 2022-04-08 | 支付宝(杭州)信息技术有限公司 | 一种基于故障的日志埋点设置方法、装置及系统 |
CN113127336A (zh) * | 2020-01-16 | 2021-07-16 | 北京沃东天骏信息技术有限公司 | 数据收集方法和装置 |
CN111310044B (zh) * | 2020-02-14 | 2023-09-26 | 北京百度网讯科技有限公司 | 页面元素信息的提取方法、装置、设备和存储介质 |
CN112433921A (zh) * | 2020-06-03 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | 用于动态埋点的方法及设备 |
CN112256701A (zh) * | 2020-10-22 | 2021-01-22 | 广东万唯计算机服务有限公司 | 一种动态埋点数据采集系统及其使用方法 |
CN113114734B (zh) * | 2021-03-24 | 2022-12-27 | 北京沃东天骏信息技术有限公司 | 信息处理方法、装置、设备及存储介质 |
CN114596952A (zh) * | 2022-03-22 | 2022-06-07 | 武汉联影生命科学仪器有限公司 | 配置监控方法、装置、磁共振成像系统和存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0455945A (ja) * | 1990-06-25 | 1992-02-24 | Nec Corp | 非局所出口関数フレーム生成コンパイルドコード出力方式 |
CN104572043B (zh) * | 2013-10-16 | 2018-01-19 | 阿里巴巴集团控股有限公司 | 一种对客户端应用的控件进行实时埋点的方法及装置 |
CN104915296B (zh) * | 2015-06-29 | 2018-07-10 | 北京金山安全软件有限公司 | 埋点测试方法、数据的查询方法及装置 |
CN107220230A (zh) * | 2016-03-22 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 一种信息采集方法和装置,以及一种智能终端 |
US10628495B2 (en) * | 2016-03-30 | 2020-04-21 | Hrb Innovations, Inc. | Document importation, analysis, and storage |
CN107295050B (zh) * | 2016-04-01 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 前端用户行为统计方法及装置 |
CN106066826A (zh) * | 2016-05-24 | 2016-11-02 | 北京金山安全软件有限公司 | 埋点的自动测试方法、装置以及终端 |
CN107196788B (zh) * | 2017-05-02 | 2020-12-18 | 创新先进技术有限公司 | 一种埋点数据的处理方法、装置、服务器及客户端 |
CN107168787A (zh) * | 2017-07-03 | 2017-09-15 | 赵桂银 | 一种移动终端运行性能改善方法与装置 |
-
2017
- 2017-11-29 CN CN201711226125.6A patent/CN108038053B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108038053A (zh) | 2018-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038053B (zh) | 一种动态配置埋点的方法及设备 | |
CN107995283B (zh) | 一种数据埋点分析的方法、设备及系统 | |
CN111625452B (zh) | 流量回放方法和系统 | |
CN110688598B (zh) | 业务参数采集方法、装置、计算机设备和存储介质 | |
CN106357457B (zh) | 一种告警测试方法、装置以及系统 | |
KR20150096312A (ko) | 클라우드 동기화 시스템용 텔레메트리 시스템 | |
CN112217864A (zh) | 微服务监控方法、装置、系统、计算机设备和存储介质 | |
CN111782635B (zh) | 数据处理方法和装置、存储介质和电子装置 | |
CN111200523B (zh) | 中台系统配置方法、装置、设备及存储介质 | |
CN110908859A (zh) | 应用服务处理方法、装置、终端及存储介质 | |
CN106339273A (zh) | 一种应用程序修复方法、终端及服务器 | |
US10078579B1 (en) | Metrics-based analysis for testing a service | |
CN111045893B (zh) | 监控任务的执行方法、装置及系统、存储介质、电子装置 | |
CN105512044A (zh) | 用于关键字驱动测试的对象库的更新方法及系统 | |
CN110833693A (zh) | 游戏运行方法和装置、存储介质及电子装置 | |
CN112817867A (zh) | 一种接口测试脚本生成方法、装置、计算机设备和介质 | |
US20110047274A1 (en) | System and Method to Manage a Policy Related to a Network-Based Service | |
CN106557419B (zh) | 程序的测试方法及装置 | |
CN116244339A (zh) | 业务中台运营服务监测数据融合方法、装置、终端及介质 | |
CN109062799A (zh) | 广告场景的回归测试方法、装置及系统 | |
US10761862B2 (en) | Method and device for adding indicative icon in interactive application | |
CN112671878B (zh) | 一种区块链的信息订阅方法、装置、服务器和存储介质 | |
CN108737487B (zh) | 数据同步方法和装置、存储介质及电子装置 | |
CN100382506C (zh) | 一种网络管理系统中对网元服务器进行认证的方法 | |
CN104735173B (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 | ||
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20210305 Granted publication date: 20190726 |