CN107995283B - 一种数据埋点分析的方法、设备及系统 - Google Patents

一种数据埋点分析的方法、设备及系统 Download PDF

Info

Publication number
CN107995283B
CN107995283B CN201711228009.8A CN201711228009A CN107995283B CN 107995283 B CN107995283 B CN 107995283B CN 201711228009 A CN201711228009 A CN 201711228009A CN 107995283 B CN107995283 B CN 107995283B
Authority
CN
China
Prior art keywords
log
configuration
page
definition
information
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
Application number
CN201711228009.8A
Other languages
English (en)
Other versions
CN107995283A (zh
Inventor
肖俊
曾建录
许建
徐广庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI KAIYING NETWORK TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI KAIYING NETWORK TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI KAIYING NETWORK TECHNOLOGY Co Ltd filed Critical SHANGHAI KAIYING NETWORK TECHNOLOGY Co Ltd
Priority to CN201711228009.8A priority Critical patent/CN107995283B/zh
Publication of CN107995283A publication Critical patent/CN107995283A/zh
Application granted granted Critical
Publication of CN107995283B publication Critical patent/CN107995283B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Abstract

本申请的目的是提供一种数据埋点分析的方法、设备及系统,本申请通过根据新获取的配置版本信息确定发生变更的配置内容,并基于页面上的事件进行埋点定义及投递日志的格式定义;根据定义的投递日志的格式对采集的投递日志进行校验,得到校验后的投递日志;对所述发生变更的配置内容及所述校验后的投递日志进行解析以提取会话上下文标识,并根据预设的聚合规则进行聚合,得到聚合结果;基于所述会话上下文标识及所述聚合结果确定异常对象。进而,极大减少了后期的数据清洗、统计分析的繁琐过程,提高工作效率,并实现智能更自动化的统计分析和精准地用户行为追踪,对用户的行为可进行实时可视化回放,进而提高用户体验。

Description

一种数据埋点分析的方法、设备及系统
技术领域
本申请涉及计算机领域,尤其涉及一种数据埋点分析的方法、设备及系统。
背景技术
通常通过一些统计指标,例如,活跃用户数、某个位置的点击率、某个活动的转化率等等来反映一款产品的产品功能,而这些指标的计算都是通过在PC端或者移动端(以下简称”端”)埋点来获取用户行为数据通过大数据的手段进行统计分析得出。
最初的埋点都是通过具体的开发人员在开发阶段针对产品的需求和埋点的定义在某些指定页面或者指定行为上预先编写好相关行为日志投递代码,这样在下个版本发布之后,能够采集到相关的日志信息。然而,在产品快速迭代,需求不断变更的场景下,这种预先定义的方式无法满足多场景的需求,灵变性差,比如想在线上产品上增加埋点,采用这种方式就无法满足,而移动端产品审核发布周期比较长,不像PC端网页内容是由服务端控制呈现的,所以针对移动端只能先把埋点代码加好,等下个版本发布上线。因而无法及时的追踪产品某些功能的效果好坏和用户的体验情况,极端情况下可能导致用户流失的情况发生。
而且由于IOS和安卓两个不同移动端的开发人员属不同组,对埋点定义的理解有偏差可能导致投递出来的日志格式不统一,对后期的数据清洗、统计分析工作都带来了不小的麻烦,而且如果埋点有BUG投递有问题只有通过发版本来修复,频繁的升级势必也会影响用户体验。
由开发人员增加埋点,测试人员进行埋点日志跟踪测试,然后由埋点定义者验收埋点成果,流程繁琐,三方沟通成本非常大,而且一方测试没有通过,要回到起点重新进行回归测试,沟通成本高,需要开发人员投入大量精力在辅助性功能上,工作效率低。
发明内容
本申请的一个目的是提供一种数据埋点分析的系统、方法及其设备,解决实时埋点需求变更、投递日志格式不一致及后期数据分析统计复杂的问题。
根据本申请的一个方面,提供了一种数据埋点分析的系统,所述系统包括:
云端配置模块、客户端模块、数据采集模块、清洗统计模块和异常分析模块,
其中,所述云端配置模块用于埋点定义及投递日志的格式定义;
所述客户端模块用于感知配置变化更新缓存本地配置;
所述数据采集模块用于采集所述客户端模块投递的日志、所述云端配置模块下发的配置内容,并根据定义的投递日志的格式对所述投递的日志进行校验,将校验后的投递日志发送至所述清洗统计模块;
所述清洗统计模块用于将从所述云端配置模块获取的配置内容及所述校验后的投递日志进行解析以提取会话上下文标识,并根据预设的聚合规则进行聚合,将得到的聚合结果发送至所述异常分析模块;
所述异常分析模块用于基于所述会话上下文标识及所述聚合结果确定异常对象。
进一步地,上述系统中,所述客户端模块用于:
对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;
在所述页面上加载已注册配置数据的元素事件;
根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息发送至所述数据采集模块。
进一步地,上述系统中,所述云端配置模块用于:
将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;
基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;
根据所述客户端模块的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述客户端模块。
根据本申请再一个方面,还提供了一种数据埋点分析的方法,所述方法包括:
根据新获取的配置版本信息确定发生变更的配置内容,并基于页面上的事件进行埋点定义及投递日志的格式定义;
根据定义的投递日志的格式对采集的投递日志进行校验,得到校验后的投递日志;
对所述发生变更的配置内容及所述校验后的投递日志进行解析以提取会话上下文标识,并根据预设的聚合规则进行聚合,得到聚合结果;
基于所述会话上下文标识及所述聚合结果确定异常对象。
进一步地,上述方法中,基于页面上的事件进行埋点定义及投递日志的格式定义,包括:
基于页面上的事件配置文件名称和定义埋点内容,其中,所述文件名称包括项目名称、模块名称、页面名称及版本信息,所述埋点内容包括关于所述页面上每个元素的相应的事件;
定义投递日志的格式为schema,根据所述schema对投递日志进行校验。
进一步地,上述方法中,对所述发生变更的配置内容进行解析以提取会话上下文标识,包括:
对发生变更的配置内容进行解析、缓存至本地;
根据接收的推送日志数据解析日志消息的消息头信息提取所述消息与schema的对应关系;
根据所述schema及所述对应关系提取会话上下文标识。
进一步地,上述方法中,根据预设的聚合规则进行聚合得到聚合结果,包括:
根据预设的聚合规则按多个维度进行聚合得到聚合结果,其中,所述维度包括页面、上下文及元素。
进一步地,上述方法中,所述方法包括:
通过配置上下文信息及指定的界面边界将用户行为进行归类。
进一步地,上述方法中,基于所述会话上下文标识及所述聚合结果确定异常对象,包括:
基于所述会话上下文标识将用户的一组上下文标识相同的行为日志进行串联,生成用户行为路径,根据所述用户行为路径及所述聚合结果确定异常对象。
进一步地,上述方法中,所述方法包括:
指定上下文的起始页面及终止页面,获取所述起始页面的会话上下文标识,将所述会话上下文标识依次传递至后续页面,直至在终止页面进行移除会话上下文标识;
同一上下文中每一页面分别进行投递日志消息,其中,所述日志消息的消息头包含所述会话上下文标识。
进一步地,上述方法中,所述方法包括:
通过指定的用户设备唯一标识与测试应用建立的长连接,将通过解析日志获取到的用户的行为路径复现至所述测试应用。
根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述的方法。
根据本申请另一个方面,还提供了一种数据埋点分析的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行前述方法的操作。
与现有技术相比,本申请通过根据新获取的配置版本信息确定发生变更的配置内容,并基于页面上的事件进行埋点定义及投递日志的格式定义;根据定义的投递日志的格式对采集的投递日志进行校验,得到校验后的投递日志;对所述发生变更的配置内容及所述校验后的投递日志进行解析以提取会话上下文标识,并根据预设的聚合规则进行聚合,得到聚合结果;基于所述会话上下文标识及所述聚合结果确定异常对象。进而,极大减少了后期的数据清洗、统计分析的繁琐过程,提高工作效率,并实现智能更自动化的统计分析和精准地用户行为追踪,对用户的行为可进行实时可视化回放,进而提高用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面提供的一种数据埋点分析的方法流程示意图;
图2示出本申请一实施例中上下文分析与异常监控流程示意图;
图3示出本申请一实施例中实时回放用户操作示意图;
图4示出根据本申请的一个方面提供的一种数据埋点分析的系统结构示意图;
图5示出本申请一实施例中清洗转换统计的时序示意图;
图6示出本申请一实施例中数据埋点分析的系统框架图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一个方面提供的一种数据埋点分析的方法流程示意图,所述方法包括:步骤S11~步骤S14,其中,在步骤S11中,根据新获取的配置版本信息确定发生变更的配置内容,并在页面加载时获取本地缓存的发生变更的配置内容,以进行相应的埋点定义及投递日志的格式定义;在此,将新获取的配置版本信息与已有的配置版本信息进行比对,确定发生变更的配置内容,并对页面上的事件进行埋点定义及投递日志的格式定义,其中,埋点是产品数据分析的基础,可用于对用户行为的监控和分析,比如通过在产品各个流程环节中设置数据埋点,可进行用户的访问路径、页面停留时长、跳转率、转化率等数据分析。接着,在步骤S12中,根据定义的投递日志的格式对采集的投递日志进行校验,得到校验后的投递日志;在此,对采集的投递日志进行校验正确性,极大的降低了应用上线之后日志错投、漏投的bug(漏洞)发生。在步骤S13中,根据从校验后的投递日志中获取的配置地址信息确定本地缓存中对应的配置内容,对所述配置内容进行解析以提取会话上下文标识,并根据预设的聚合规则进行聚合,得到聚合结果,在此,根据日志消息头信息找到对应的日志描述和提取规则,动态解析并提取日志中相应的字段属性值,聚合指标推送给下游报表系统进行展示;在步骤S14中,基于所述会话上下文标识及所述聚合结果确定异常对象。在此,所述异常对象可以为异常用户,也可以为应用中存在的bug,根据会话上下文标识发现聚合结果中潜在的异常用户,或者应用中潜在的bug,进而对异常用户行为进行预警等。在本申请中通过对投递日志的格式的统一,极大减少了后期的数据清洗、统计分析的繁琐过程,提高工作效率。
在本申请一实施例中,在步骤S11中,基于页面上的事件配置文件名称和定义埋点内容,其中,所述文件名称包括项目名称、模块名称、页面名称及版本信息,所述埋点内容包括关于所述页面上每个元素的相应的事件;定义投递日志的格式为schema,根据所述schema对投递日志进行校验。在此,为每个页面的展现和页面上元素的点击等事件提供埋点定义,配置文件名称以<项目名称>.<模块名称>.<页面名称>.<版本信息>构成,其中内容定义了一组关于该页面上每个元素的相应的事件。在页面装载之前从云端配置中心获取埋点配置信息和投递日志的格式信息,对页面上相应的元素添加上相应的事件响应,在事件响应中按照定义好的日志格式,投递相应的日志。
定义投递日志的格式为schema,根据所述schema对投递日志进行校验。本申请实施例中通过配置来描述日志信息的schema,用来校验日志格式的正确性,所有投递的日志必须严格满足schema定义。在应用开发测试阶段打开日志的校验功能配置,可以自动校验日志投递的正确性,极大的降低了应用上线之后日志错投、漏投的bug发生。对于发布上线的应用默认关闭日志校验功能提高日志采集效率。通过自动校验验收日志功能,优化了传统的开发人员埋点->测试人员验证->埋点定义需求方验收的复杂流程。通过日志的schema约束,统一了pc端和移动端的日志投递信息,为后面自动数据清洗转换服务打下了坚实的基础。
在本申请一实施例中,在步骤S13中,对发生变更的配置内容进行解析、缓存至本地;根据接收的推送日志数据解析日志消息的消息头信息提取所述消息与schema的对应关系;根据所述schema及所述对应关系提取会话上下文标识。在此,将有变更的配置内容进行解析并缓存,对接收到的投递日志进行解析消息头信息提取消息与配置日志schema的对应关系,获取schema以提取会话上下文标识、元素、页面等信息。接着,根据预设的聚合规则按多个维度进行聚合得到聚合结果,其中,所述维度包括页面、上下文及元素。在此,根据聚合规则按页面、上下文、元素等维度聚合获取指标,将各维度及指标推送值报表系统,使得运营人员和开发人员可以实时直观的获取应用各方面的统计指标,以便做出快速响应和决策。
在本申请一实施例中,还配置定义了会话上下文信息,通过配置上下文信息及指定的界面边界将用户行为进行归类。在此,使用方可以指定界面边界,通过边界的划分将一组行为归类为一个流程的动作,超出边界之后,会话上下文将被重置,下次回到起始边界时将重新生成会话上下文标识(id),通过一个流程的动作进行用户行为的追踪,发现潜在的异常用户行为,和对软件中的bug位置定位提供帮助,对用户路径分析提供强有力的支持。
接着,在步骤S14中,基于所述会话上下文标识将用户的一组上下文标识相同的行为日志进行串联,生成用户行为路径,根据所述用户行为路径及所述聚合结果确定异常对象。在此,通过对会话上下文id将用户的一组上下文id相同的行为日志串联起来,发现本应是连贯的一组上下文动作中缺失的动作行为日志,进而发现潜在的异常用户,或者为应用使用中bug的产生提供合理解释,对异常流程通过聚合排序找出异常发生最多的流程,该流程可能存在隐藏的bug,可以通过行为日志尝试还原bug并进一步修复bug,对异常用户行为进行预警等。
在本申请一实施例中,进行异常分析时,可以指定上下文的起始页面及终止页面,获取起始页面的会话上下文标识,将所述会话上下文标识依次传递至后续页面,直至在终止页面进行移除会话上下文标识;同一上下文中每一页面分别进行投递日志消息,其中,所述日志消息的消息头包含所述会话上下文标识。图2示出本申请一实施例中上下文分析与异常监控流程示意图,首先,用户客户端从云端配置中心获取上下文配置信息,比如上下文A是从页面1到页面3,在用户客户端进入页面1,定义起始边界并产生上下文A的会话上下文标识(context_id),将该会话上下文标识传递给页面2,并投递消息头带context_id的日志信息至日志采集模块;页面2将会话上下文标识传递至页面3,同样投递消息头带context_id的日志信息,页面3为上下文A的终止界面,则移除会话上下文标识(context_id),且投递消息头带context_id的日志信息。在进行异常分析监控时,获取日志采集模块中的日志数据,按context_id和时间聚合排序日志信息,发现其中异常的日志流程,其中,异常流程比如用户A的同一个上下文中直接从页面1跳到页面3,没有页面2的上下文日志。需要说明的是,其他后续页面如上下文A中页面1到页面3进行的上下文分析及异常监控流程一样。
在本申请一实施例中,还可以实时可视化日志回放,通过指定的用户设备唯一标识与测试应用建立的长连接,将通过解析日志获取到的用户的行为路径复现至所述测试应用。在此,可以配置一个开关用来打开实时可视化行为的开关功能,将根据配置的用户设备id,将该用户产生的界面操作行为日志发送到特定的测试客户端上,该客户端获取日志行为数据,通过配置解析该日志行为,跳转到相应的界面,并操作界面上相应的元素,相关开发测试运营人员可以实时可视化的查看到用户的操作行为,如图3所示的本申请一实施例中实时回放用户操作示意图,用户客户端访问页面1及页面2,将访问的相关日志推送至日志采集模块,本地测试客户端从日志采集模块中获取到推送的日志数据,跳转到相应的页面,访问页面1和页面2,实现实时回放。本申请一实施例中通过将某个特定用户的客户端操作行为实时推送到一个定制的测试客户端上,开发测试运营等相关人员可以通过直观的方式观看到用户的实时操作行为轨迹。
图4示出根据本申请的一个方面提供的一种数据埋点分析的系统结构示意图,所述系统包括:云端配置模块1、客户端模块2、数据采集模块3、清洗统计模块4和异常分析模块5,其中,所述云端配置模块1用于埋点定义及投递日志的格式定义;所述客户端模块2用于感知配置变化更新缓存本地配置及解析配置文件;所述数据采集模块3用于采集所述客户端模块投递的日志、所述云端配置模块下发的配置内容,并根据定义的投递日志的格式对所述投递的日志进行校验,将校验后的投递日志发送至所述清洗统计模块;所述清洗统计模块4用于将从所述云端配置模块获取的配置内容及所述校验后的投递日志进行解析以提取会话上下文标识,并根据预设的聚合规则进行聚合,将得到的聚合结果发送至所述异常分析模块;所述异常分析模块5用于基于所述会话上下文标识及所述聚合结果确定异常对象。
在此,埋点是产品数据分析的基础,可用于对用户行为的监控和分析,比如通过在产品各个流程环节中设置数据埋点,可进行用户的访问路径、页面停留时长、跳转率、转化率等数据分析。云端配置模块1可以在产品运行期间对产品的埋点行为进行定义和动态变更,以解决实时埋点需求变更问题,并提供一种日志格式配置定义端上投递日志信息的格式规范,解决不同端上开发人员投递内容不一致的问题,进而提升日志数据质量,简化后期的数据分析统计工作。客户端模块2提供了相应的配置服务操作接口和埋点操作接口,用户打开客户端后通过端模块提供的配置自动发现能力,比对本地和云端配置模块的配置版本信息,将变更部分同步并缓存至用户客户端本地,此时在本地拥有最新的埋点配置和日志投递格式定义,其中,所述端模块为PC端模块或移动端模块,其中,客户端模块2还可以包括解析配置文件和一些根据配置信息投递和校验日志的公共方法等等,可由该系统完成数据埋点分析所需功能时进行增添客户端模块2的执行功能。数据采集模块3负责收集投递来的日志信息,并通过定义的投递日志的格式对投递来的日志信息进行校验,并发送给分布式文件系统进行持久化和发送至清洗统计模块4。清洗统计模块4从云端配置模块1中同步配置信息,获取日志格式描述和聚合规则,通过获取的日志格式描述解析数据采集模块发送来的日志数据,并按聚合规则进行指标的聚合,将聚合结果输送到下游的报表系统和异常分析模块5。异常分析模块5从清洗统计模块4中获取上下文相关日志信息,根据会话上下文标识及所述聚合结果确定异常对象。
在本申请一实施例中,所述客户端模块2用于:对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据;在所述页面上加载已注册配置数据的元素事件;根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息发送至所述数据采集模块3。在此,在页面装载之前从云端配置模块1中获取埋点配置信息和投递日志的格式信息,对页面上相应的元素添加上相应的事件响应,在事件响应中按照定义好的日志格式,投递相应的日志,具体地为对发生变更的配置内容进行解析并缓存至本地,根据页面唯一标识获取页面埋点配置内容,并在页面加载事件中注册所有配置的元素事件,当触发元素事件时,解析配置日志格式,提取页面相关信息投递给数据采集模块3。
在本申请一实施例中,所述云端配置模块1用于:将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;根据所述客户端模块的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述客户端模块。在此,云端配置模块1与客户端模块2建立连接,获取客户端模块2上传的配置版本信息;接着,将已有的配置版本信息和新获取的配置版本信息进行比对,返回有变更的配置内容;在云端配置模块1中,为每个页面都展现和页面上元素的点击等事件提供埋点定义,以及投递日志的格式信息;根据客户端模块2的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至客户端模块2。从而,在产品运行期间对产品的埋点行为进行定义和动态变更,以解决实时埋点需求变更问题,并提供一种日志格式配置定义端上投递日志信息的格式规范,解决不同端上开发人员投递日志内容不一致的问题,进而提升日志数据质量,简化后期的数据分析统计工作。
在本申请一实施例中,通过清洗统计模块4提供了统一的实时的自动的数据清洗转换统计服务,如图5所示的清洗转换统计的时序示意图,其中,清洗统计模块4为智能清洗转换统计模块,云端配置模块1为云端配置中心,智能清洗转换统计模块与云端配置中心建立长连接,向云端配置中心上报配置版本信息,云端配置中心进行比对配置版本后返回有变更的配置内容,智能清洗转换统计模块解析、缓存配置内容,并接收推送日志数据,解析消息头信息提取消息与配置日志schema的对应关系,获取schema,提取页面id、上下文id及元素等信息,接着,根据聚合规则按页面、上下文、元素等维度聚合获取指标,将维度、指标推送报表系统。通过清洗转换统计服务可以获取云端配置模块的配置信息并自动将配置信息应用到相应的日志数据上,提取关键数据,统计汇聚成报表数据,以丰富的图表形式展现相应的统计指标,运营人员和开发人员可以实时的直观的获取应用各方面的统计指标,以便做出快速响应和决策。同时,降低了数据分析师的工作负载,使其可以更关注于数据分析工作而减少繁琐的前期数据清洗准备工作,提高工作效率。
本申请一实施例中还提供了异常分析模块,可以发现潜在的异常用户,或者为应用使用中的bug的产生提供合理解释,对异常流程通过聚合排序找出异常发生最多的流程,该流程可能存在隐藏的bug,可以通过行为日志尝试还原bug并进一步修复bug,对异常用户行为进行预警等。
图6示出本申请一实施例中数据埋点分析的系统框架图,该系统包括云端配置中心、用户客户端、数据采集模块、智能清洗统计模块及异常分析模块,系统中各部分分别执行以下步骤:
S1:客户端程序引入端(PC,移动)模块,端模块中提供了相应的配置服务操作接口和埋点操作接口,用户打开客户端后通过端模块提供的配置自动发现能力,比对本地和云端的配置版本信息,将变更部分同步并缓存到用户客户端本地,此时本地就拥有最新的埋点配置和日志投递格式定义。
S2:用户点开某个界面(比如页面1),在页面的装载事件中,通过界面编号,在本地缓存中找到对应的埋点配置信息,从埋点配置中获取该页面的所有元素的埋点配置。
S3:当用户点击触发按钮时,将触发步骤S2中注册的事件,此时通过元素id找到该元素配置的日志schema描述,该schema详细定义了所需抽取的投递信息。每个界面可能有用户设备的一些基础信息,和用户登录信息以及绑定在该页面上特有的视图模型数据,可以通过schema的描述来表示该模型数据中包含了一些自定义属性,使用端模块中提供的方法抽取出来,按照特定的序列化格式组合这些属性信息放入消息体内并投递给数据采集模块。
S4:若该元素所在的页面属于配置中定义的某个上下文范围,比如,配置中定义了一个上下文A,其边界从页面1->页面2->页面3,则页面1属于该上下文A;如果是起始边界,将产生一个全局唯一的上下文id(context_id),并将其作为消息头的一部分内容,与步骤S3中抽取的属性构成的消息体作为一条日志消息一起发送给数据采集模块。
S5:数据采集模块负责收集投递来的日志信息,并通过schema校验日志的准确性分两路传送,一路发送给分布式文件系统进行持久化,一路发送给智能清洗统计模块。
S6:智能清洗统计模块从云端配置中心同步配置信息,获取日志格式描述schema和聚合规则,通过schema解析步骤S5发来的日志数据,并按照聚合规则进行指标的聚合,其中,聚合规则比如定义一条聚合规则,按照界面id聚合统计该页面的浏览量,将聚合结果输送到下游的报表系统和异常分析模块。
S7:异常分析模块获取从步骤S6中传输过来的上下文相关日志信息,将上下文相同的日志串联起来,生成用户行为路径,分析用户行为是否符合预期定义的产品交互流程,发现其中的异常操作和问题用户,提供预警信息给相应的开发、测试、运营人员。
S8:如果配置中心中针对某个特定用户打开了实时可视化行为最终开关,那么数据采集模块,将根据配置的用户设备id,将该用户产生的界面操作行为日志发送到特定的测试客户端上,该客户端获取日志行为数据,通过配置解析并理解该日志行为,跳转到相应的界面,并操作界面上相应的元素,相关开发测试运营人员可以实时可视化的查看到用户的操作行为。
综上所述,通过本申请所述的一种数据埋点分析的方法及系统,页面的埋点在运行时可通过同步云端配置中心来更新页面埋点,而不用发新版本来完善埋点信息,且提高了开发人员和数据分析师的工作效率,并提高日志数据的质量,实现智能更自动化的统计分析和精准地用户行为追踪,对用户的行为可进行实时可视化回放,进而提高用户体验。
根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述的方法。
根据本申请另一个方面,还提供了一种数据埋点分析的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行前述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:根据新获取的配置版本信息确定发生变更的配置内容,并基于页面上的事件进行埋点定义及投递日志的格式定义;根据定义的投递日志的格式对采集的投递日志进行校验,得到校验后的投递日志;对所述发生变更的配置内容及所述校验后的投递日志进行解析以提取会话上下文标识,并根据预设的聚合规则进行聚合,得到聚合结果;基于所述会话上下文标识及所述聚合结果确定异常对象。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (12)

1.一种数据埋点分析的系统,其中,所述系统包括:
云端配置模块、客户端模块、数据采集模块、清洗统计模块和异常分析模块,
其中,所述云端配置模块用于埋点定义及投递日志的格式定义;
所述客户端模块用于感知配置变化更新缓存本地配置;
所述客户端用于对发生变更的配置数据进行解析并缓存后,根据页面的唯一标识获取缓存的配置数据,在所述页面上加载已注册配置数据的元素事件,根据触发条件对加载的元素事件进行解析配置日志格式,并提取页面的相关信息发送至所述数据采集模块;
所述数据采集模块用于采集所述客户端模块投递的日志、所述云端配置模块下发的配置内容,并根据定义的投递日志的格式对所述投递的日志进行校验,将校验后的投递日志发送至所述清洗统计模块;
所述清洗统计模块用于将从所述云端配置模块获取的配置内容及所述校验后的投递日志进行解析以提取会话上下文标识,并根据预设的聚合规则进行聚合,将得到的聚合结果发送至所述异常分析模块;
所述异常分析模块用于基于所述会话上下文标识及所述聚合结果确定异常对象。
2.根据权利要求1所述的系统,其中,所述云端配置模块用于:
将之前获取的配置版本信息与新获取的配置版本信息进行比对,确定发生变更的配置数据;
基于页面上的事件进行埋点定义及投递日志的格式定义,得到埋点配置信息和投递日志的格式信息,其中,所述事件包括各页面的显示和所述页面上元素的点击;
根据所述客户端模块的获取请求分别将发生变更的配置数据、埋点配置信息及投递日志的格式信息发送至所述客户端模块。
3.一种数据埋点分析的方法,其中,所述方法包括:
根据新获取的配置版本信息确定发生变更的配置内容,并基于页面上的事件进行埋点定义及投递日志的格式定义;
根据定义的投递日志的格式对采集的投递日志进行校验,得到校验后的投递日志;
根据从校验后的投递日志中获取的配置地址信息确定本地缓存中对应的配置内容,对所述配置内容进行解析以提取会话上下文标识,并根据预设的聚合规则进行聚合,得到聚合结果;
基于所述会话上下文标识及所述聚合结果确定异常对象。
4.根据权利要求3所述的方法,其中,基于页面上的事件进行埋点定义及投递日志的格式定义,包括:
基于页面上的事件配置文件名称和定义埋点内容,其中,所述文件名称包括项目名称、模块名称、页面名称及版本信息,所述埋点内容包括关于所述页面上每个元素的相应的事件;
定义投递日志的格式为schema,根据所述schema对投递日志进行校验。
5.根据权利要求4所述的方法,其中,对所述发生变更的配置内容进行解析以提取会话上下文标识,包括:
对发生变更的配置内容进行解析、缓存至本地;
根据接收的推送日志数据解析日志消息的消息头信息提取所述消息与schema的对应关系;
根据所述schema及所述对应关系提取会话上下文标识。
6.根据权利要求3所述的方法,其中,根据预设的聚合规则进行聚合得到聚合结果,包括:
根据预设的聚合规则按多个维度进行聚合得到聚合结果,其中,所述维度包括页面、上下文及元素。
7.根据权利要求3所述的方法,其中,所述方法包括:
通过配置上下文信息及指定的界面边界将用户行为进行归类。
8.根据权利要求7所述的方法,其中,基于所述会话上下文标识及所述聚合结果确定异常对象,包括:
基于所述会话上下文标识将用户的一组上下文标识相同的行为日志进行串联,生成用户行为路径,根据所述用户行为路径及所述聚合结果确定异常对象。
9.根据权利要求8所述的方法,其中,所述方法包括:
指定上下文的起始页面及终止页面,获取所述起始页面的会话上下文标识,将所述会话上下文标识依次传递至后续页面,直至在终止页面进行移除会话上下文标识;
同一上下文中每一页面分别进行投递日志消息,其中,所述日志消息的消息头包含所述会话上下文标识。
10.根据权利要求3所述的方法,其中,所述方法包括:
通过指定的用户设备唯一标识与测试应用建立的长连接,将通过解析日志获取到的用户的行为路径复现至所述测试应用。
11.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求3至10中任一项所述的方法。
12.一种数据埋点分析的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求3至10中任一项所述方法的操作。
CN201711228009.8A 2017-11-29 2017-11-29 一种数据埋点分析的方法、设备及系统 Active CN107995283B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711228009.8A CN107995283B (zh) 2017-11-29 2017-11-29 一种数据埋点分析的方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711228009.8A CN107995283B (zh) 2017-11-29 2017-11-29 一种数据埋点分析的方法、设备及系统

Publications (2)

Publication Number Publication Date
CN107995283A CN107995283A (zh) 2018-05-04
CN107995283B true CN107995283B (zh) 2019-06-14

Family

ID=62034120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711228009.8A Active CN107995283B (zh) 2017-11-29 2017-11-29 一种数据埋点分析的方法、设备及系统

Country Status (1)

Country Link
CN (1) CN107995283B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795115B (zh) * 2018-08-01 2023-08-08 飞狐信息技术(天津)有限公司 一种探针程序更新方法及系统
CN110825594B (zh) * 2018-08-07 2023-10-24 阿里巴巴(中国)有限公司 数据的上报、下发方法、客户端及服务器
CN109522190B (zh) * 2018-10-12 2023-02-03 中国平安人寿保险股份有限公司 异常用户行为识别方法及装置、电子设备、存储介质
CN109446025B (zh) * 2018-10-17 2022-08-23 北京字节跳动网络技术有限公司 一种操作行为的回放方法、装置、电子设备及可读介质
CN109542529B (zh) * 2018-10-26 2022-04-05 深圳壹账通智能科技有限公司 基于函数名称的埋点方法、装置、计算机设备及存储介质
CN109542743B (zh) * 2018-11-16 2022-04-12 北京微播视界科技有限公司 日志校验方法、装置、电子设备及计算机可读存储介质
CN109491921B (zh) * 2018-11-29 2021-10-12 携程旅游网络技术(上海)有限公司 埋点信息的管理方法和系统
CN110210858A (zh) * 2019-05-31 2019-09-06 上海观安信息技术股份有限公司 一种基于智能终端识别的风控防护系统设计方法
CN110263229B (zh) * 2019-06-27 2020-06-02 北京中油瑞飞信息技术有限责任公司 一种基于数据湖的数据治理方法及装置
CN112632595B (zh) * 2019-09-24 2024-04-09 中国石油化工股份有限公司 一种基于地震资料解释软件的信息搜集方法及系统
CN111124906B (zh) * 2019-12-17 2022-06-28 蚂蚁财富(上海)金融信息服务有限公司 基于动态埋点的跟踪方法、编译方法、装置和电子设备
CN111290931B (zh) * 2020-02-18 2022-05-13 支付宝(杭州)信息技术有限公司 用于可视化展示埋点数据的方法及装置
CN111444099A (zh) * 2020-03-27 2020-07-24 携程计算机技术(上海)有限公司 数据不一致的分析方法、系统、电子设备和存储介质
CN112506733B (zh) * 2020-10-30 2023-06-27 福建亿能达信息技术股份有限公司 一种用户行为数据的精细化分析方法、装置、设备和介质
CN112463863A (zh) * 2020-11-05 2021-03-09 深圳市和讯华谷信息技术有限公司 一种云平台数据采集方法及装置
CN112486841A (zh) * 2020-12-16 2021-03-12 江苏苏宁云计算有限公司 埋点采集数据校验的方法及装置
CN113221033A (zh) * 2021-04-24 2021-08-06 上海钢银科技发展有限公司 埋点采集、统计分析方法、系统、设备及存储介质
CN115242606B (zh) * 2022-06-21 2024-04-16 北京字跳网络技术有限公司 数据处理方法、装置、服务器、存储介质及程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777086A (zh) * 2016-12-13 2017-05-31 东软集团股份有限公司 一种网页埋点的动态管理方法及装置
CN107196788A (zh) * 2017-05-02 2017-09-22 阿里巴巴集团控股有限公司 一种埋点数据的处理方法、装置、服务器及客户端

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8878648B2 (en) * 2012-07-06 2014-11-04 Alan Haddy Generation of buffer zones for buried assets
CN102946319B (zh) * 2012-09-29 2015-12-16 焦点科技股份有限公司 网络用户行为信息分析系统及其分析方法
CN104572043B (zh) * 2013-10-16 2018-01-19 阿里巴巴集团控股有限公司 一种对客户端应用的控件进行实时埋点的方法及装置
CN103778244A (zh) * 2014-02-11 2014-05-07 五八同城信息技术有限公司 一种基于用户行为日志的自动化报表分析方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777086A (zh) * 2016-12-13 2017-05-31 东软集团股份有限公司 一种网页埋点的动态管理方法及装置
CN107196788A (zh) * 2017-05-02 2017-09-22 阿里巴巴集团控股有限公司 一种埋点数据的处理方法、装置、服务器及客户端

Also Published As

Publication number Publication date
CN107995283A (zh) 2018-05-04

Similar Documents

Publication Publication Date Title
CN107995283B (zh) 一种数据埋点分析的方法、设备及系统
CN108038053B (zh) 一种动态配置埋点的方法及设备
CN110046073B (zh) 一种日志采集方法及装置、设备、存储介质
CN109344170B (zh) 流数据处理方法、系统、电子设备及可读存储介质
CN106357457B (zh) 一种告警测试方法、装置以及系统
CN107018046A (zh) 一种数据采集方法、装置、终端及存储介质
CN109587125B (zh) 一种网络安全大数据分析方法、系统及相关装置
CN107404658A (zh) 一种交互式网络电视系统及用户数据实时获取方法
US9479414B1 (en) System and method for analyzing computing performance
CN105490854A (zh) 实时日志收集方法、系统和应用服务器集群
CN109656792A (zh) 基于网络调用日志的应用性能分析方法、装置、计算机设备及存储介质
CN105405221A (zh) 一种自动化测试的方法及装置
CN110968479B (zh) 一种针对应用程序的业务级全链路监控方法及服务器
CN106713011A (zh) 一种获取测试数据的方法与系统
CN106559498A (zh) 风控数据收集平台及其收集方法
CN105786693A (zh) 一种自测试执行系统及方法以及移动终端
CN111181800A (zh) 测试数据处理方法、装置、电子设备及存储介质
CN108334429A (zh) 用于排查前端页面问题的方法、装置及系统
TW201525917A (zh) 交互應用中標記可操作圖示的方法和裝置
CN115705190A (zh) 依赖程度的确定方法及装置
US20230188440A1 (en) Automatic classification of correlated anomalies from a network through interpretable clustering
CN111158979A (zh) 服务的拨测方法、系统、装置及存储介质
CN105405220A (zh) 一种自动化测试的方法及装置
CN113706098B (zh) 基于业务的偏差原因识别方法、装置及电子设备
CN109831335A (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

Effective date of registration: 20210305

Granted publication date: 20190614

PP01 Preservation of patent right