掌桥专利:专业的专利平台
掌桥专利
首页

一种客户端Web访问链路监控的方法

文献发布时间:2023-06-19 11:11:32


一种客户端Web访问链路监控的方法

技术领域

本发明涉及互联网技术领域,特别涉及一种客户端Web访问链路监控的方法。

背景技术

随着互联网技术的不断发展,网络应用规模不断扩大,互联网逐渐融入社会的各个领域,伴随着政治、经济、教育、医疗、文化等各领域的发展,新兴的移动互联网服务平台不断涌现,在越来越复杂的平台架构下,定位系统性能缺陷也越来越困难。目前关于行业内客户端html网页加载性能监控,大致有如下三种应对方式:

1、不监控,其弊端是网页加载性能无从考证,不利于APP开发人员发现性能改进方向,对产品上线存在一定风险。

2、接入第三方性能监控平台全链路监控,根据集成第三方SDK,来得知具体性能情况。接入第三方监控平台,虽然有一定便利性,但是对移动端Web容器初始化、主文档加载结果、以及登录态同步等性能指标上无法采集,也无法自定义告警通知,存在一定弊端,缺失业务自定义扩展性。

3、搭建内部监控,其弊端是无法成为一个完整体系,往往存在数据丢失严重的问题。

发明内容

本发明针对现有技术存在的上述问题,提供了一种客户端Web访问链路监控的方法,能够实现客户端网页访问过程中整个加载流程的实时性能监控及异常告警。

为实现上述目的,本发明提供了一种客户端Web访问链路监控的方法,包括如下步骤:

服务端获取客户端上报的监控数据;

所述服务端对所述监控数据进行数据整理;

所述服务端监控到异常数据时进行告警处理。

优选地,所述客户端上报的监控数据包括:

APP端在Web容器初始化时进行埋点,获得的埋点数据;以及

Web端通过html植入脚本的方式,获得的性能数据。

优选地,所述埋点数据的获得,包括如下步骤:

在链接加载过程中,对html主文档加载的生命周期进行埋点,获得一个链接在整个生命周期的加载过程中的全部埋点数据,包括但不限于加载起点时间、加载结束时间、加载是否成功;

在html网页需要同步原生APP内的登录态,通过方法调用通知APP端登录并获取登录态,同时收集对应的埋点数据;

搜集其他埋点数据,包括但不限于:资源离线后请求命中数据、黑名单链接访问历史数据。

优选地,所述性能数据的获得,包括如下步骤:

从html网页中获取子资源加载性能的各个时间点,包括但不限于请求网络开始时间点、获取网络资源第一个字节的时间点、获取网络资源最后一个字节的时间点、白屏时间、页面首屏时间;

通过引入axios库,拦截网络请求和响应,从而获取每个网络请求的请求结果数据。

优选地,所述客户端上报包括:

APP端将埋点数据导入本地数据库并触发上报;以及

Web端将获取到的性能数据投递到客户端,由客户端导入本地数据库并上报。

优选地,所述客户端上报包括:

通过数据聚合器聚合所述埋点数据和所述性能数据;

将聚合后的监控数据导入所述本地数据库;

触发数据上报。

优选地,所述服务端获取客户端上报的监控数据包括如下步骤:

客户端上报本地数据库中所有数据状态为非上传中的数据;

在本地数据库中将所述非上传中的数据状态修改为上传中;

判断数据上报是否成功,当所述数据上报成功时,从所述本地数据库中删除状态为上传中的数据,当所述数据上报失败时,启动重试机制,即重新进行数据上报。

优选地,所述启动重试机制前,会对该条数据的重试次数进行判断,当所述重试次数超过3次时,将本地数据库中该条数据恢复为初始状态。

优选地,所述服务端获取客户端上报的监控数据前先判断网络是否可用,当网络不可用时不对本地数据库中的数据进行处理。

优选地,在所述服务端获取客户端上报的监控数据前,对监控数据进行加密处理。

本发明的有益效果为:

一种客户端Web访问链路监控的方法,通过对于移动端Web容器从初始化创建到网页加载结束,这一整个过程进行埋点全记录,搜集客户端在网页访问过程中的全链路性能参数,保证了数据的完整性、实时性,通过实时完整的数据分析,根据异常数据预警规则对客户端网页访问过程中对整个加载流程进行性能监控,异常数据预警规则和通知方式可以由开发人员根据实际需要进行设定,更加方便灵活。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中上所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一种客户端Web访问链路监控的方法的流程示意图;

图2为本发明实施例一种客户端Web访问链路监控的方法的数据处理流程示意图;

图3为本发明实施例一种客户端Web访问链路监控的方法的拓扑结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供了一种客户端Web访问链路监控的方法,通过在客户端APP访问Web网页时,采集web网页加载过程中的重要性能参数,实现对整个加载流程的性能监控。

下面将结合具体实施例对本发明请求保护的一种客户端Web访问链路监控的方法作进一步地详细阐述。

请参阅图1-图3,本发明实施例提供一种客户端Web访问链路监控的方法,包括如下步骤:

服务端获取客户端上报的监控数据;需要说明的是,这里的监控数据包括移动端Web容器,从初始化创建到网页加载结束,这一整个过程进行埋点全记录,之后再由客户端统一数据收集整合上报,解决了数据属性不全和数据丢失的问题。

所述服务端对所述监控数据进行数据整理;需要说明的是,这里的数据整理包括数据清洗和数据分类,整理后的数据用于数据的实时展示和数据的监控告警。

所述服务端监控到异常数据时进行告警处理。需要说明的是,本发明根据全链路性能指标监控,设立监控标准,可以实现自定义告警。例如,可以设定当某个html链接在30分钟内加载失败次数超过20000次时,通过邮件、短信等方式通知相关人员,异常告警规则可以由开发人员根据实际需要进行设定。

优选地,所述客户端上报的监控数据包括:

APP端在Web容器初始化时进行埋点,获得的埋点数据;以及

Web端通过html植入脚本的方式,获得的性能数据。

优选地,所述埋点数据的获得,包括如下步骤:

在链接加载过程中,对html主文档加载的生命周期进行埋点,获得一个链接在整个生命周期的加载过程中的全部埋点数据,包括但不限于加载起点时间、加载结束时间、加载是否成功;具体的,在链接加载过程中,对html主文档加载的生命周期进行埋点,获得加载起点时间、加载结束时间、加载是否成功等埋点数据,完成一个链接在整个生命周期的加载,保证了数据的完整性。

在html网页需要同步原生APP内的登录态,通过方法调用通知APP端登录并获取登录态,同时收集对应的埋点数据;

搜集其他埋点数据,包括但不限于:资源离线后请求命中数据、黑名单链接访问历史数据。

优选地,所述性能数据的获得,包括如下步骤:

从html网页中获取子资源加载性能的各个时间点,包括但不限于请求网络开始时间点、获取网络资源第一个字节的时间点、获取网络资源最后一个字节的时间点、白屏时间、页面首屏时间;具体的,可以通过对html网页中的window.performance(窗口性能函数)属性,获取子资源加载性能的各个时间点,如请求网络开始时间、获取网络资源第一个字节的时间点、获取网络资源最后一个字节的时间点;白屏时间跟页面首屏时间,可以根据性能函数计算得到,或者可以自定义算式策略用于特殊业务场景;等等。上报时机主要是满足时间点或者满足数据量,最大程度保证实时性和性能的平衡。

通过引入axios库,拦截网络请求和响应,从而获取每个网络请求的请求结果数据。需要说明的是,引入axios库主要是用于向后台发起请求的,还有在请求中做更多的可控功能。

在本发明其中的一个实施例中,客户端在网页链接加载过程中,客户端上报数据格式如下表1:

表1客户端上报数据格式

优选地,所述客户端上报包括:

APP端将埋点数据导入本地数据库并触发上报;以及

Web端将获取到的性能数据投递到客户端,由客户端导入本地数据库并上报。

参阅图2,优选地,所述客户端上报包括:

通过数据聚合器聚合所述埋点数据和所述性能数据;

将聚合后的监控数据导入所述本地数据库;

触发数据上报。

本发明提供的数据上报机制保证了数据的准确性和完整性,保证了性能监控的及时性。

优选地,所述服务端获取客户端上报的监控数据包括如下步骤:

客户端上报本地数据库中所有数据状态为非上传中的数据;

在本地数据库中将所述非上传中的数据状态修改为上传中;

判断数据上报是否成功,当所述数据上报成功时,从所述本地数据库中删除状态为上传中的数据,当所述数据上报失败时,启动重试机制,即重新进行数据上报。

优选地,所述启动重试机制前,会对该条数据的重试次数进行判断,当所述重试次数超过3次时,将本地数据库中该条数据恢复为初始状态。具体的,当上报失败后,会做重试操作,重试失败后,会由下一个触发时机再批上报,确保了数据不会丢失,保证了数据的完整性。

优选地,所述服务端获取客户端上报的监控数据前先判断网络是否可用,当网络不可用时不对本地数据库中的数据进行处理。

优选地,在所述服务端获取客户端上报的监控数据前,对监控数据进行加密处理。

请参阅图3,当数据源投递到后台,由于数据量庞大,且要求数据具有一定的实时性,所以在本发明其中一个实施例中,采用Kafka平台实现APP端埋点数据及web端性能数据的收集,Kafka平台高吞吐、低延迟的特性,保证了数据的实时性和准确性,所述提供数据源的客户端还可以为Native端或H5端。

本申请提出一种客户端Web访问链路监控的方法,能够在客户端APP访问Web网页时,采集web网页加载过程中的重要性能参数,如web容器初始化、链接加载结果、登录态同步、html主文档与子文档资源加载情况以及ajax请求情况。本发明针对客户端原生程式与html方面的加载性能,进行实时埋点与上报。服务端收到来自客户端的埋点数据后,进行数据清洗整理,设立监控标准,以此标准来进行告警,实现了客户端Web访问的全链路监控,能够准确的进行性能数据采集、分析及预警,从而实现对整个加载流程的性能监控。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。

相关技术
  • 一种客户端Web访问链路监控的方法
  • 一种基于web的客户端访问方法及终端设备
技术分类

06120112837352