CN117493113A - 数据上报方法、装置、计算机设备和存储介质 - Google Patents
数据上报方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117493113A CN117493113A CN202311481136.4A CN202311481136A CN117493113A CN 117493113 A CN117493113 A CN 117493113A CN 202311481136 A CN202311481136 A CN 202311481136A CN 117493113 A CN117493113 A CN 117493113A
- Authority
- CN
- China
- Prior art keywords
- data
- reported
- reporting
- preset condition
- performance data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000004590 computer program Methods 0.000 claims abstract description 25
- 230000010354 integration Effects 0.000 claims abstract description 24
- 230000006399 behavior Effects 0.000 claims description 32
- 238000004458 analytical method Methods 0.000 claims description 28
- 230000002159 abnormal effect Effects 0.000 claims description 22
- 230000000903 blocking effect Effects 0.000 abstract description 6
- 238000002347 injection Methods 0.000 description 16
- 239000007924 injection Substances 0.000 description 16
- 238000012544 monitoring process Methods 0.000 description 12
- 238000009877 rendering Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- 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/906—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据上报方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取web前端项目的性能数据;性能数据是基于客户端调用浏览器加载web前端项目生成的;根据性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据;判断待上报数据是否符合预设条件,在满足预设条件的情况下,将待上报数据按照目标上报方式进行上报。采用本方法能够有效地防止阻塞页面,减少了对web页面的影响,同时,还能够提高数据上报的效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据上报方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着第五代超文本标记语言HTML5技术的高速发展,web网页嵌入到移动客户端和pc(Personal Computer)端应用内的场景也越来越多。通过监控并上报客户端应用内的web页面的性能数据,能够及时发现客户端应用内的web页面异常,帮助追踪和分析问题,对web页面进行改进。
但是目前的web页面的性能数据上报给服务器时,常常阻塞客户端web页面,影响web页面的响应速度。
发明内容
基于此,有必要针对上述技术问题,提供一种能够不阻塞web页面的数据上报方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据上报方法,所述方法包括:
获取web前端项目的性能数据;所述性能数据是基于客户端调用浏览器加载所述web前端项目生成的;
根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据;
判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报。
在其中一个实施例中,所述所属类型包括第一类型,根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据,包括:
在所述性能数据为第一类型的情况下,根据所述性能数据生成初始待上报数据;
计算所述初始待上报数据的上报时长;
当所述初始待上报数据的上报时长小于预设上报时长时,将所述初始待上报数据组合为数组;
基于所述数组生成所述待上报数据。
在其中一个实施例中,所述在所述性能数据为第一类型的情况下,根据所述性能数据生成初始待上报数据,包括:
根据用户行为数据和时间戳信息生成用户操作轨迹;
拼接所述用户操作轨迹对应的异常错误数据,生成web前端项目堆栈错误快照;
基于所述web前端项目堆栈错误快照生成所述初始待上报数据。
在其中一个实施例中,所述所属类型包括第二类型,根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据,包括:
在所述性能数据为第二类型的情况下,判断所述性能数据所携带的标签,得到一级数据和二级数据;所述一级数据指示携带统计标签的所述性能数据;所述二级数据指示携带分析标签的所述性能数据;
基于所述统计标签和所述一级数据,生成统计结果;
基于所述分析标签和所述二级数据,生成分析结果;
基于所述统计结果和所述分析结果生成所述待上报数据。
在其中一个实施例中,所述性能数据包括用户行为数据、加载情况数据和异常错误数据,所述加载情况数据包括容器启动生命周期数据,其中,所述容器启动生命周期数据指示所述客户端调用浏览器初始化所述web前端项目阶段的数据。
在其中一个实施例中,所述判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报,包括:
判断所述待上报数据是否符合第一预设条件,得到第一判断结果;其中,所述第一预设条件包括所述待上报数据的长度小于长度阈值和内容不包括请求头;
若所述第一判断结果表示符合所述第一预设条件,则以第一类型上报方式对所述待上报数据进行上报;
若所述第一判断结果表示不符合所述第一预设条件,则判断所述待上报数据是否符合第二预设条件,得到第二判断结果;其中,所述第二预设条件包括生成所述待上报数据的客户端浏览器支持Beacon对象;
若所述第二判断结果表示符合所述第二预设条件,则以第二类型上报方式对所述待上报数据进行上报;
若所述第二判断结果表示不符合所述第二预设条件,则以第三类型上报方式对所述待上报数据进行上报。
第二方面,本申请还提供了一种数据上报装置,包括:
获取模块,用于获取web前端项目的性能数据;所述性能数据是基于客户端调用浏览器加载所述web前端项目生成的;
生成模块,用于根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据;
判断模块,用于判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取web前端项目的性能数据;所述性能数据是基于客户端调用浏览器加载所述web前端项目生成的;
根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据;
判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取web前端项目的性能数据;所述性能数据是基于客户端调用浏览器加载所述web前端项目生成的;
根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据;
判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取web前端项目的性能数据;所述性能数据是基于客户端调用浏览器加载所述web前端项目生成的;
根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据;
判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报。
上述数据上报方法、装置、计算机设备、存储介质和计算机程序产品,通过获取web前端项目的性能数据;然后根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据,通过对性能数据的分类整合,避免了数据过于庞大,减少了待上报数据的数量;最后判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报,有效地防止阻塞页面,减少了对web页面的影响,同时,还能够提高上报效率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中数据上报方法的应用环境图;
图2为一个实施例中数据上报方法的流程示意图;
图3为一个实施例中根据性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据的流程示意图;
图4为一个实施例中根据性能数据生成初始待上报数据的流程示意图;
图5一个实施例中根据上报信息合并为项目错误快照示意图;
图6为另一个实施例中根据性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据的流程示意图;
图7一个实施例中根据上报数据来源与汇总示意图;
图8一个实施例中根据容器启动生命周期数据来源示意图;
图9一个实施例中项目缓存数据的使用和上报示意图;
图10一个实施例中判断待上报数据是否符合预设条件,在满足预设条件的情况下,将待上报数据按照目标上报方式进行上报的流程示意图;
图11一个实施例中性能数据上报的流程示意图;
图12为一个实施例中数据上报装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据上报方法,可以应用于如图1所示的应用环境中。其中,客户端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。获取web前端项目的性能数据;性能数据是基于客户端调用浏览器加载web前端项目生成的;根据性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据;判断待上报数据是否符合预设条件,在满足预设条件的情况下,将待上报数据按照目标上报方式进行上报。其中,客户端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种数据上报方法,以该方法应用于图1中的客户端为例进行说明,包括以下步骤S202至步骤S206。其中:
步骤S202,获取web前端项目的性能数据;性能数据是基于客户端调用浏览器加载web前端项目生成的。
其中,web前端项目是指以基于超文本标记语言(html),层叠样式表(css),JavaScript技术,以及衍生技术开发出来的主要在浏览器上展示的页面的项目。性能数据是指基于客户端调用浏览器加载web前端项目生成的,用于描述web页面的行为表现和状态,性能数据的分析有利于web页面性能的提升和优化。
可选地,在客户端中预先引入软件开发工具包(Software Development Kit,简称sdk)监控代码,sdk监控代码是包括回调方法的脚本组成的,当客户端调用浏览器加载web前端项目时,执行预先引入的脚本中的回调方法,监听并获取到性能数据。性能数据包括用户行为数据、加载情况数据和异常错误数据。进一步地,性能数据还可以包括容器启动性能数据和缓存项目数据的使用数据。容器启动性能数据,是指加载web前端项目之前容器初始化的阶段的数据,按照容器启动生命周期节点分别读取初始化容器(webview)的开始节点、结束节点、桥(brige)注入完成节点、用户代理(User-Agent,ua)注入完成节点、页面加载完成节点等相关数据;传统的性能数据未曾关注容器启动性能。
其中,浏览器可以是客户端原生的webview,也可以是客户端调用的第三方浏览器。其中,sdk是软件开发工具包,一个很多功能函数的集合体,为了实现产品软件某项功能的工具包。webview是一个基于webkit的引擎,可以解析DOM元素,可以用于客户端加载html文件,展示html界面。示例性的,客户端应用调用加载html页面,加载完成,需要通过webview进行渲染展示,若客户端没有webview,则是无法渲染展示html。其中客户端可以是PC端也可以是移动客户端。
步骤S204,根据性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据。
其中,性能数据的所属类型是指根据性能数据的不同特征,将具有相同特征的性能数据归为同一所属类型。
可选地,每一类型的性能数据会采取不同的分析、整理、判断方法,客户端根据性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据。例如,当性能数据属于第一类型数据的时候,选择第一方法对性能数据进行分析处理;当性能数据属于第二类型数据的时候,选择第二方法对性能数据进行分析处理,从而得到待上报数据。
步骤S206,判断待上报数据是否符合预设条件,在满足预设条件的情况下,将待上报数据按照目标上报方式进行上报。
其中,预设条件是指提前设定的条件,用以判断待上报数据的上报方式。可以是以待上报数据的内容设定的、也可以是以待上报数据生成的环境设定的,还可以是与待上报数据相关的其他信息设定的,预设条件可以是人工设定的,也可以是客户端根据历史待上报数据的信息设定的,可以动态调整。
可选地,客户端判断待上报数据是否符合预设条件之前,会将得到的待上报数据存储在客户端对应的数据库中,客户端周期性的从数据库中读取待上报数据,将待上报数据的相关信息与预设条件进行比较,预设条件可以按照一定的优先等级设定至少两个。客户端会将待上报数据的相关信息与预设条件逐个比较,满足不同预设条件的,客户端会将满足预设条件的待上报数据按照不同的目标方式进行上报,其中目标方式可以有多个。
上述数据上报方法中,通过获取web前端项目的性能数据;然后根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据,通过对性能数据的分类整合,避免了数据过于庞大,减少了待上报数据的数量;最后判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报,有效地防止阻塞页面,减少了对web页面的影响,同时,还能够提高上报效率。
在一个示例性的实施例中,如图3所示,所属类型包括第一类型,根据性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据,包括步骤S302至步骤S308。其中:
步骤S302,在性能数据为第一类型的情况下,根据性能数据生成初始待上报数据。
其中,第一类型是性能数据中的用户行为数据和异常错误数据。其中用户行为数据可以是用户在 应用程序(application,APP)、小程序、WEB 端等客户端平台所做的行为(点击、触摸开始、触摸结束、路由跳转等),通过数据埋点的方式上报至数据库,从而能够记录用户在一段时间内在不同平台上所做的动作。异常错误时间可以包括加载web前端项目时的异常,例如请求错误、资源加载错误。
可选地,当性能数据包括用户行为数据和异常错误数据时,客户端根据用户行为数据和异常错误数据生成初始待上报数据,初始待上报数据可以存储在客户端本地指定路径中,也可以存在客户端对应的数据库中。
步骤S304,计算初始待上报数据的上报时长。
其中,上报时长是指数据进行上报时的耗时。数据上报耗时短,数据上报请求的频率频繁;数据上报耗时长,数据上报请求的频率会相对减少。
步骤S306,当初始待上报数据的上报时长小于预设上报时长时,将初始待上报数据组合为数组。
其中,数组是包括至少两个的初始待上报数据的集合。
可选地,初始待上报数据中包含多个用户行为数据和异常错误数据。逐一判断初始待上报数据中的上报时长与预设上报时长进行比较,当初始待上报数据中的上报时长小于预设上报时长,例如,预设上报时长可以为1秒钟;客户端将初始待上报数据中的多个用户行为数据和异常错误数据组合为数组,其中预设上报时长不做限定。
步骤S308,基于数组生成待上报数据。
可选地,客户端基于数组生成待上报数据,以便进行上报。待上报数据可以存储在客户端本地指定路径中,也可以存在客户端对应的数据库中。
本实施例中,通过初始待上报数据的上报时长与预设上报时长进行比较,将初始待上报数据的上报时长小于预设上报时长的待上报数据组合为数组,基于数组生成待上报数据,能够减少待上报数据的数量,避免了后续待上报数据的上报请求过于密集,从而有效地缓解上报时页面阻塞的情况。
在一个示例性的实施例中,如图4所示,在性能数据为第一类型的情况下,根据性能数据生成初始待上报数据,包括步骤S402至步骤S406。其中:
步骤S402,根据用户行为数据和时间戳信息生成用户操作轨迹。
其中,在性能数据为第一类型的情况下,也即性能数据包括了用户行为数据和异常错误数据。时间戳信息是字符或编码信息的序列,用于标识何时发生特定事件,通常给出日期和时间,可以精确到几分之一秒。
可选地,客户端根据用户行为数据和时间戳信息生成用户操作轨迹,例如,如图5所示,12:01:05,用户打开了页面A,页面A的参数为XXX,用户触摸页面,触摸元素domA,12:01:09,用户进行了滚动,滚动距离100px,12:01:14,用户移开手指,12:01:20,用户点击了页面A,点击元素domB,12:01:30,用户打开了页面B。
步骤S404,拼接用户操作轨迹对应的异常错误数据,生成web前端项目堆栈错误快照。
可选地,拼接用户操作轨迹和异常错误数据,生成web前端项目堆栈错误快照,例如,如图5所示,在12:01:05,用户打开了页面A,页面A的参数为XXX,用户触摸页面,触摸元素domA时,资源报错如图片A未找到;在12:01:20,用户点击了页面A,点击元素domb时,12:01:24,页面js进行报错。形成了自12:01:05打开页面A至12:01:30打开页面B的用户轨迹和错误异常信息的快照信息,还原用户操作时的真实场景,并将错误异常信息通过在发布时已上传的信息映射(sourceMap)文件解析出详细信息,包括:文件名、文件位置行列、文件中的方法等,最终达成错误分析的目的。
步骤S406,基于web前端项目堆栈错误快照生成初始待上报数据。
可选地,客户端基于web前端项目堆栈错误快照生成初始待上报数据。
本实施例中,通过基于用户行为数据以及异常错误数据生成web前端项目堆栈错误快照,在上报错误堆栈的同时,也上报用户行为数据,能够达到通过组合web前端项目的错误快照,详细回溯页面异常时的用户行为、页面加载情况等。
在一个示例性的实施例中,如图6所示,所属类型包括第二类型,根据性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据,包括步骤S602至步骤S608。其中:
步骤S602,在性能数据为第二类型的情况下,判断性能数据所携带的标签,得到一级数据和二级数据;一级数据指示携带统计标签的性能数据;二级数据指示携带分析标签的性能数据。
其中,第二类型是性能数据中的加载情况数据,加载情况数据可以包括web前端项目加载的基础信息,加载过程的数据,容器启动生命周期数据,资源加载的数据和用户体验数据。
可选地,当性能数据为加载情况数据时,根据性能数据携带的标签信息,将加载情况数据分为一级数据和二级数据。其中一级数据指示携带统计标签的性能数据;二级数据指示携带分析标签的性能数据,可以是页面加载的基础信息、用户体验数据,资源加载数据等;将页面加载的基础信息、用户体验数据,资源加载数据在上报前先进行分区分类。
步骤S602,基于统计标签和一级数据,生成统计结果。
可选地,客户端基于统计标签和一级数据,生成统计结果
步骤S602,基于分析标签和二级数据,生成分析结果。
可选地,客户端基于分析标签和二级数据,生成分析结果,分析结果可以以可视化方式呈现,有效的避免了前端web项目加载数据集过于庞大。
步骤S608,基于统计结果和分析结果生成待上报数据。
可选地,客户端将统计结果和分析结果汇总生成待上报数据,并存储在客户端本地或客户端对应的数据库中,统一进行上报。
本实施例中,通过给在第二类型的性能数据进行分区分类,对携带分析标签的数据进行分析后,再形成待上报数据,一方面,避免前端web项目加载数据集过于庞大,有效地减少了待上报数据的冗余,另一方面也可以随时调用分析结果对前端web页面的性能进行展示。
在一个示例性的实施例中,性能数据包括用户行为数据、加载情况数据和异常错误数据,加载情况数据包括容器启动生命周期数据,其中,容器启动生命周期数据指示客户端调用浏览器初始化web前端项目阶段的数据。
其中,用户行为数据可以是用户在APP、小程序、WEB 端等客户端平台所做的行为(点击、触摸开始、触摸结束、路由跳转等),通过数据埋点的方式上报至数据库,从而能够记录用户在一段时间内在不同平台上所做的动作。加载情况数据是指加载web前端项目时的数据,可以包括web前端项目加载的基础信息,加载过程的数据,容器启动生命周期的数据,资源加载的数据和用户体验数据。异常错误数据是指出现web前端项目无法加载、请求异常等错误等,可以包括JS运行错误、资源加载错误、请求错误等。
可选地,如图7所示,用户行为数据包括用户点击、用户触摸开始、用户触摸结束、滚动为事件行为,通过监听click、touchstart、touchend、scroll事件进行上报,上报的内容包括事件发生的坐标和dom节点;还可以包括路由跳转为页面行为,通过HistoryAPI进行监控上报,同时也会上报路由携带的参数等。
加载情况数据包括基础数据主要包括(First Paint)白屏时间、(Offline Page)离线包项目、(serviceWorker)缓存项目等,通过performanceAPI、cachesAPI获取;加载过程数据主要包括重定向耗时、读取缓存耗时、dom渲染耗时等,通过performanceAPI获取;容器启动生命周期数据主要包括容器启动时间、userAgent注入延迟、bridge注入延迟、容器加载耗时等,通过客户端webview创建生命周期和代码编写顺序计算获得;资源加载时间主要包括js、css、font文件加载耗时、img加载耗时、fetch请求耗时等,主要通过entriesAPI获取,用户体验数据主要包括(FCP)首次内容渲染时间、(LCP)最大内容渲染时间、(CLS)累计布局偏移、(FID)首次输入延迟等,通过google提供的web-vitals库获取。
其中,容器启动生命周期数据指示客户端调用浏览器初始化web前端项目阶段的数据。通常情况下,未关注容器启动性能,在用户打开web前端项目前有一段时间,相关数据始终是空白的,将容器启动生命周期数据进行采集并作为性能数据上报,丰富了性能数据的种类。如图8所示,容器启动生命周期数据是依赖容器启动生命周期进行数据采集的。容器启动生命周期根据web前端项目加载实际情况进行获取和整理,主要包括四个阶段,webview初始化、桥注入、用户代理注入以及webview加载完成阶段,只有在webview加载完成后,web前端项目才可以进行页面的加载。其中webview初始化阶段采集了webview初始化开始节点以及结束节点的数据;采集桥注入完成节点数据;用户代理注入完成节点数据以及页面加载完成数据。
如图9所示,(serviceWorker)缓存项目数据的使用是根据用户访问web前端项目时,从serviceWorker)缓存项目中读取缓存的情况。web前端项目包括三种不同类型文件,html模板文件;js和css脚本文件;以及图片、视频资源文件。根据加载策略优先从缓存存储中读取缓存,即根据networkfirst策略存储优先从html模板文件对应的html存储空间中读取html模板缓存数据;根据statewhilerevalidate策略存储优先从js和css脚本文件对应的static存储空间中获取js和css脚本缓存数据;根据cachefirst策略存储优先从图片、视频资源文件对应的image存储空间中读取图片、视频资源缓存数据。
异常错误数据主要包括javaScript运行错误,主要通过onerror方法进行监听和上报;资源加载错误,主要通过监听error事件进行监听和上报;请求错误,主要通过重构fetch的方式进行监听和上报。
可选地,通过浏览器内置API调用document.addEventListener(‘click’),document.addEventListener(‘touchstart’),document.addEventListener(‘touchend’)等方法,监听用户的点击,触摸等操作,间断性的进行接口上报,从而实现监控用户行为的目的。
等待页面加载完成后,即window.addEventListener(‘load’)执行完成时,会通过window.performance.timing获取页面的基础性能数据。有navigationStart(地址导航开始时间)、connectStart(连接开始时间)、connectEnd(连接完成时间)、requestStart(请求开始时间)、responseEnd(请求响应结束时间)等等,通过这些数据进行计算最终得出:DNS查询耗时、缓存读取耗时、页面请求耗时、dom拼接耗时等性能数据,并进行上报。
除基础性能数据外,还会通过google提供的web-vitals工具获取用户的体验数据,有(FCP)首次内容渲染耗时,(LCP)最大内容渲染耗时,(CLS)累计布局偏移、(FID)首次内容渲染。
同时还统计了资源加载数据,是通过window.performance.getEntriesByType(‘resource’)获取,读取资源的名称、加载耗时、大小等属性进行上报。
容器性能数据采集,IOS读取初始化webview的生命周期viewDidLoad发生时机作为初始化容器开始节点,didStartProvisionalNavigation发生时机作为初始化容器结束节点,注入bridge时机作为桥注入完成节点,注入userAgent时机作为ua注入完成节点,didCommitNavigation发生时机作为页面加载完成时机。安卓读取H5Fragment对象构建时机作为初始化容器开始节点,H5Fragment的回调onResume发生时机作为初始化容器结束节点,注入bridge时机作为桥注入完成节点,注入userAgent时机作为ua注入完成节点,webviewClient回调onPageFinished发生时机作为页面加载完成时机。客户端拼接完成后将数据写入window.webviewPerformance变量上,在web项目加载时执行脚本进行读取和上报。
serviceWorker缓存数据采集,使用workbox-routing工具提供的能力,根据文件的不同类型使用不同的缓存策略,html采用networkFirst策略:离线也能大体访问,css、js使用staleWhileRevalidate策略:先用缓存,并根据网络进行更新。png、jpg使用cacheFirst策略:直接读取缓存结果。并根据类型和项目存储不同的缓存名称。在web项目加载时执行脚本,通过window.caches读取所有的缓存数据,使用当前项目的url地址,对比查看是否有当前项目的缓存数据,从而判断是否使用了serviceWorker,最终将数据进行上报。
通过浏览器内置API调用window.onerror方法监听页面中产生的js报错,并在发生报错时进行上报。通过浏览器内置API调用window.addEventListener(‘error’)方法监听页面中产生的资源报错,例如:图片加载失败,mp4加载失败等。并在发生时进行上报。通过javascript方法Object.defineProperty重写fetch请求,在Object.defineProperty内部的get方法中,将业务接口请求的结果情况进行一个上报,从而达到监听接口请求错误的目的。
本实施例中,容器启动生命周期数据是根据容器启动生命周期的各个节点形成的数据,容器启动生命周期是通过分析客户端加载web页面的过程中自行构建的,通过获取容器启动生命周期数据等,完善了web页面加载流程数据,从而对web页面性能数据的分析更加完善。
在一个示例性的实施例中,如图10所示,判断待上报数据是否符合预设条件,在满足预设条件的情况下,将待上报数据按照目标上报方式进行上报,包括步骤S1002至步骤S1010。其中:
步骤S1002,判断待上报数据是否符合第一预设条件,得到第一判断结果;其中,第一预设条件包括待上报数据的长度小于长度阈值和内容不包括请求头。
其中,第一预设条件是根据待上报数据的长度和内容提前预设的。
可选地,客户端判断待上报数据的长度是否小于长度阈值以及判断待上报数据内容中是否包含请求头,从而得到第一判断结果,例如第一预设条件中长度阈值设置为2036,避免待上报数据过长而导致请求失败;待上报数据内容中是否包含请求头headers数据,从而得到第一判断结果。
步骤S1004,若第一判断结果表示符合第一预设条件,则以第一类型上报方式对待上报数据进行上报。
其中,第一类型上报方式可以是图片加载方式,利用图片的src属性发送请求进行数据上报,因为浏览器会延迟卸载(unload)文档以加载图像,图片加载上报方式可以有效防止阻塞页面加载。
可选地,若第一判断结果有两种结果,一是不符合第一预设条件,二是符合第一预设条件,当第一判断结果表示符合第一预设条件时,接上述实施例,例如可以是待上报数据长度小于预设长度阈值2036,同时待上报数据内容中不包含请求头headers数据,则通过创建一个图片Image对象,将待上报数据作为地址URL参数拼接到一个1x1像素的透明图片URL中,发送一个GET请求来触发上报。以图片加载方式上报,作为img链接上报时 ,headers相关属性会丢失。
步骤S1006,若第一判断结果表示不符合第一预设条件,则判断待上报数据是否符合第二预设条件,得到第二判断结果;其中,第二预设条件包括生成待上报数据的客户端浏览器支持Beacon对象。
其中,Beacon对象是指Beacon API,用来向 服务器端(server )传输小批量数据的,并且不需要等待 server 端的响应,不需要返回体,仅返回请求结果。
可选地,若第一判断结果表示不符合第一预设条件,则判断待上报数据是否符合生成待上报数据的客户端浏览器支持Beacon对象,从而得到第二判断结果。
步骤S1008,若第二判断结果表示符合第二预设条件,则以第二类型上报方式对待上报数据进行上报。
其中,第二类型上报方式可以是Beacon方式。Beacon方式主要用于满足统计和诊断代码的需要,这些代码通常尝试在卸载(unload)文档之前向 Web 服务器发送数据。过早的发送数据可能导致错过收集数据的机会。Beacon方式以异步的方式进行数据传输,且不影响下一个页面的载入,可以有效地缓解阻塞页面。
可选地,当第二判断结果表示符合生成待上报数据的客户端浏览器支持Beacon对象时,则以Beacon方式对待上报数据进行上报,可以是sendBeacon(url, data)其中,url就是上报地址,data是待上报数据。
步骤S1010,若第二判断结果表示不符合第二预设条件,则以第三类型上报方式对待上报数据进行上报。
其中,第三类型上报方式可以是第一类型上报方式和第二类型上报方式以外的其他上报方式,页即除图片加载上报方式和Beacon方式之外的其他上报方式。可以是XMLHttpRequest或Fetch API发送异步请求来上报数据,可以是以WebSocket方式上报,使用WebSocket协议与服务器建立持久连接,并通过发送消息来进行实时的埋点数据上报;还可以是Ajax等方式,将待上报数据发送到自定义接口进行上报。
可选地,当第二判断结果表示不符合第二预设条件,可以以XMLHttpRequest方式或者Fetch API方式或者Ajax方式对待上报数据进行上报。确定待上报数据的上报方式后,以目标方式进行数据的上报,因网络等因素导致未上报成功时,也即当上报结果异常时,则将异常的上报数据存储至本地,等待下一次请求一起上报。从而确保待上报数据的安全性,不会存在待上报数据丢失的情况。
本实施例中,通过判断待上报数据是否符合第一预设条件以及第二预设条件,符合第一预设条件的待上报数据优先按照第一上报方式进行上报;符合第二预设条件的待上报数据能够以第二上报方式进行上报,第一上报方式和第二上报方式会减少web页面的阻塞,最大程度的减少对web页面的影响。
在一个示例性的实施例中,如图11所示,在客户端中预先引入sdk监控代码,sdk监控代码是包括回调方法的脚本组成的,当客户端调用浏览器加载web前端项目时,执行预先引入的脚本中的回调方法,监听并获取到性能数据。性能数据包括用户行为数据、加载情况数据和异常错误数据。其中用户行为数据包括用户点击、用户触摸开始、用户触摸结束、滚动为事件行为,通过监听click、touchstart、touchend、scroll事件进行上报,上报的内容包括事件发生的坐标和dom节点;还可以包括路由跳转为页面行为,通过HistoryAPI进行监控上报,同时也会上报路由携带的参数等。加载情况数据包括基础数据主要包括(FirstPaint)白屏时间、(Offline Page)离线包项目、(serviceWorker)缓存项目等,通过performanceAPI、cachesAPI获取;加载过程数据主要包括重定向耗时、读取缓存耗时、dom渲染耗时等,通过performanceAPI获取;容器启动生命周期数据主要包括容器启动时间、userAgent注入延迟、bridge注入延迟、容器加载耗时等,通过客户端webview创建生命周期和代码编写顺序计算获得;资源加载时间主要包括js、css、font文件加载耗时、img加载耗时、fetch请求耗时等,主要通过entriesAPI获取,用户体验数据主要包括(FCP)首次内容渲染时间、(LCP)最大内容渲染时间、(CLS)累计布局偏移、(FID)首次输入延迟等,通过google提供的web-vitals库获取。异常错误数据主要包括javaScript运行错误,主要通过onerror方法进行监听和上报;资源加载错误,主要通过监听error事件进行监听和上报;请求错误,主要通过重构fetch的方式进行监听和上报。
客户端根据用户行为数据和时间戳信息生成用户操作轨迹;拼接用户操作轨迹对应的异常错误数据,生成web前端项目堆栈错误快照;基于web前端项目堆栈错误快照生成初始待上报数据;计算初始待上报数据的上报时长;当初始待上报数据的上报时长小于预设上报时长,例如1秒时,将初始待上报数据组合为数组;基于数组生成待上报数据。
客户端判断待上报数据的长度是否小于长度阈值以及判断待上报数据内容中是否包含请求头,从而得到第一判断结果,例如第一预设条件中长度阈值设置为2036,避免待上报数据过长而导致请求失败;待上报数据内容中是否包含请求头headers数据,从而得到第一判断结果。当第一判断结果表示符合第一预设条件时,待上报数据长度小于预设长度阈值2036,同时待上报数据内容中不包含请求头headers数据,则通过创建一个图片Image对象,将待上报数据作为地址URL参数拼接到一个1x1像素的透明图片URL中,发送一个GET请求来触发上报。
若第一判断结果表示不符合第一预设条件,则判断待上报数据是否符合生成待上报数据的客户端浏览器支持Beacon对象,从而得到第二判断结果。当第二判断结果表示符合生成待上报数据的客户端浏览器支持Beacon对象时,则以Beacon方式对待上报数据进行上报,可以是sendBeacon(url, data)其中,url 就是上报地址,data是待上报数据。
当第二判断结果表示不符合第二预设条件,可以以XMLHttpRequest方式或者Fetch API方式或者Ajax方式对待上报数据进行上报。确定待上报数据的上报方式后,以目标方式进行数据的上报,因网络等因素导致未上报成功时,也即当上报结果异常时,则将异常的上报数据存储至本地,等待下一次请求一起上报。从而确保待上报数据的安全性,不会存在待上报数据丢失的情况。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据上报方法的数据上报装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据上报装置实施例中的具体限定可以参见上文中对于数据上报方法的限定,在此不再赘述。
在一个示例性的实施例中,如图12所示,提供了一种数据上报装置,包括:获取模块1201、生成模块1202和判断模块1203,其中:
获取模块1201,用于获取web前端项目的性能数据;性能数据是基于客户端调用浏览器加载web前端项目生成的。
生成模块1202,用于根据性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据。
判断模块1203,用于判断待上报数据是否符合预设条件,在满足预设条件的情况下,将待上报数据按照目标上报方式进行上报。
在一个示例性的实施例中,生成模块1202,包括:
初始待上报数据生成单元,用于在性能数据为第一类型的情况下,根据性能数据生成初始待上报数据。
计算时长单元,用于计算初始待上报数据的上报时长。
组合单元,用于当初始待上报数据的上报时长小于预设上报时长时,将初始待上报数据组合为数组。
第一待上报数据生成单元,用于基于数组生成待上报数据。
在一个示例性的实施例中,初始待上报数据生成单元,包括:
轨迹生成子单元,用于根据用户行为数据和时间戳信息生成用户操作轨迹。
快照生成子单元,用于拼接用户操作轨迹对应的异常错误数据,生成web前端项目堆栈错误快照。
初始待上报数据生成子单元,用于基于web前端项目堆栈错误快照生成初始待上报数据。
在一个示例性的实施例中,生成模块1202,还包括:
判断单元,用于在性能数据为第二类型的情况下,判断性能数据所携带的标签,得到一级数据和二级数据;一级数据指示携带统计标签的性能数据;二级数据指示携带分析标签的性能数据。
统计单元,用于基于统计标签和一级数据,生成统计结果。
分析单元,用于基于分析标签和二级数据,生成分析结果。
第二待上报数据生成单元,用于基于统计结果和分析结果生成待上报数据。
在一个示例性的实施例中,判断模块1203,包括:
第一判断单元,用于判断待上报数据是否符合第一预设条件,得到第一判断结果;其中,第一预设条件包括待上报数据的长度小于长度阈值和内容不包括请求头;
第一方式上报单元,用于若第一判断结果表示符合第一预设条件,则以第一类型上报方式对待上报数据进行上报。
第二判断单元,用于若第一判断结果表示不符合第一预设条件,则判断待上报数据是否符合第二预设条件,得到第二判断结果;其中,第二预设条件包括生成待上报数据的客户端浏览器支持Beacon对象。
第二方式上报单元,用于若第二判断结果表示符合第二预设条件,则以第二类型上报方式对待上报数据进行上报。
第三方式上报单元,用于若第二判断结果表示不符合第二预设条件,则以第三类型上报方式对待上报数据进行上报。
上述数据上报装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储性能数据以及待上报数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据上报方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据上报方法,其特征在于,所述方法包括:
获取web前端项目的性能数据;所述性能数据是基于客户端调用浏览器加载所述web前端项目生成的;
根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据;
判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报。
2.根据权利要求1所述的方法,其特征在于,所述所属类型包括第一类型,根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据,包括:
在所述性能数据为第一类型的情况下,根据所述性能数据生成初始待上报数据;
计算所述初始待上报数据的上报时长;
当所述初始待上报数据的上报时长小于预设上报时长时,将所述初始待上报数据组合为数组;
基于所述数组生成所述待上报数据。
3.根据权利要求2所述的方法,所述在所述性能数据为第一类型的情况下,根据所述性能数据生成初始待上报数据,包括:
根据用户行为数据和时间戳信息生成用户操作轨迹;
拼接所述用户操作轨迹对应的异常错误数据,生成web前端项目堆栈错误快照;
基于所述web前端项目堆栈错误快照生成所述初始待上报数据。
4.根据权利要求1所述的方法,其特征在于,所述所属类型包括第二类型,根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据,包括:
在所述性能数据为第二类型的情况下,判断所述性能数据所携带的标签,得到一级数据和二级数据;所述一级数据指示携带统计标签的所述性能数据;所述二级数据指示携带分析标签的所述性能数据;
基于所述统计标签和所述一级数据,生成统计结果;
基于所述分析标签和所述二级数据,生成分析结果;
基于所述统计结果和所述分析结果生成所述待上报数据。
5.根据权利要求1所述的方法,其特征在于,所述性能数据包括用户行为数据、加载情况数据和异常错误数据,所述加载情况数据包括容器启动生命周期数据,其中,所述容器启动生命周期数据指示所述客户端调用浏览器初始化所述web前端项目阶段的数据。
6.根据权利要求1所述的方法,其特征在于,所述判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报,包括:
判断所述待上报数据是否符合第一预设条件,得到第一判断结果;其中,所述第一预设条件包括所述待上报数据的长度小于长度阈值和内容不包括请求头;
若所述第一判断结果表示符合所述第一预设条件,则以第一类型上报方式对所述待上报数据进行上报;
若所述第一判断结果表示不符合所述第一预设条件,则判断所述待上报数据是否符合第二预设条件,得到第二判断结果;其中,所述第二预设条件包括生成所述待上报数据的客户端浏览器支持Beacon对象;
若所述第二判断结果表示符合所述第二预设条件,则以第二类型上报方式对所述待上报数据进行上报;
若所述第二判断结果表示不符合所述第二预设条件,则以第三类型上报方式对所述待上报数据进行上报。
7.一种数据上报装置,其特征在于,所述装置包括:
获取模块,用于获取web前端项目的性能数据;所述性能数据是基于客户端调用浏览器加载web前端项目生成的;
生成模块,用于根据所述性能数据的所属类型,选择对应的方法进行分类整合,得到待上报数据;
判断模块,用于判断所述待上报数据是否符合预设条件,在满足预设条件的情况下,将所述待上报数据按照目标上报方式进行上报。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311481136.4A CN117493113B (zh) | 2023-11-08 | 2023-11-08 | 数据上报方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311481136.4A CN117493113B (zh) | 2023-11-08 | 2023-11-08 | 数据上报方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117493113A true CN117493113A (zh) | 2024-02-02 |
CN117493113B CN117493113B (zh) | 2024-08-09 |
Family
ID=89684417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311481136.4A Active CN117493113B (zh) | 2023-11-08 | 2023-11-08 | 数据上报方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117493113B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107958024A (zh) * | 2017-11-09 | 2018-04-24 | 广州虎牙信息科技有限公司 | 会话合并方法、装置和计算机设备 |
CN109618331A (zh) * | 2019-02-01 | 2019-04-12 | 深圳乐信软件技术有限公司 | 数据上报方法、装置、设备及存储介质 |
CN113505051A (zh) * | 2021-06-29 | 2021-10-15 | 新华三大数据技术有限公司 | 数据上报方法以及装置、网络设备、计算机可读存储介质 |
CN113986709A (zh) * | 2021-11-10 | 2022-01-28 | 挂号网(杭州)科技有限公司 | 一种页面性能数据的处理方法、装置 |
CN114546775A (zh) * | 2022-02-24 | 2022-05-27 | 众安信息技术服务有限公司 | 基于客户端应用的web监控方法、装置、设备和介质 |
CN116910335A (zh) * | 2023-07-06 | 2023-10-20 | 北京凡蒂科贸有限公司 | 一种基于网页标签分析的数据采集方法及系统 |
-
2023
- 2023-11-08 CN CN202311481136.4A patent/CN117493113B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107958024A (zh) * | 2017-11-09 | 2018-04-24 | 广州虎牙信息科技有限公司 | 会话合并方法、装置和计算机设备 |
CN109618331A (zh) * | 2019-02-01 | 2019-04-12 | 深圳乐信软件技术有限公司 | 数据上报方法、装置、设备及存储介质 |
CN113505051A (zh) * | 2021-06-29 | 2021-10-15 | 新华三大数据技术有限公司 | 数据上报方法以及装置、网络设备、计算机可读存储介质 |
CN113986709A (zh) * | 2021-11-10 | 2022-01-28 | 挂号网(杭州)科技有限公司 | 一种页面性能数据的处理方法、装置 |
CN114546775A (zh) * | 2022-02-24 | 2022-05-27 | 众安信息技术服务有限公司 | 基于客户端应用的web监控方法、装置、设备和介质 |
CN116910335A (zh) * | 2023-07-06 | 2023-10-20 | 北京凡蒂科贸有限公司 | 一种基于网页标签分析的数据采集方法及系统 |
Non-Patent Citations (3)
Title |
---|
网友: "《web前端埋点及数据上报》", 《HTTPS://BLOG.CSDN.NET/WEIXIN_34929433/ARTICLE/DETAILS/123115601》, 24 February 2022 (2022-02-24) * |
网友: "《Web前端埋点及数据上报》", 《HTTPS://BLOG.CSDN.NET/WEIXIN_34929433/ARTICLE/DETAILS/123115601》, 24 February 2022 (2022-02-24), pages 3 * |
网友: "《如何优雅地定位外网问题-动手搭建用户行为轨迹追踪系统》", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ARTICLE/1392376》, 4 March 2019 (2019-03-04), pages 1 * |
Also Published As
Publication number | Publication date |
---|---|
CN117493113B (zh) | 2024-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9141611B2 (en) | Aggregated web analytics request systems and methods | |
US9418172B2 (en) | Systems and methods for remote tracking and replay of user interaction with a webpage | |
CN107239389B (zh) | 一种在混合app中确定用户操作记录的方法及装置 | |
KR20090038894A (ko) | 인터렉티브 웹 어플리케이션에 대한 웹 분석을 가능하게 하는 사용자-상호작용 추적 방법 및 그 방법을 수행하기 위한 컴퓨터-판독가능 매체 | |
CN112817817B (zh) | 埋点信息查询方法、装置、计算机设备和存储介质 | |
CN109815119B (zh) | 一种app链接渠道的测试方法及装置 | |
CN111859224A (zh) | 基于节点服务器的服务端渲染方法、装置和计算机设备 | |
CN110263070A (zh) | 事件上报方法及装置 | |
CN109240664B (zh) | 一种采集用户行为信息的方法及终端 | |
CN116644250B (zh) | 页面检测方法、装置、计算机设备和存储介质 | |
CN117493113B (zh) | 数据上报方法、装置、计算机设备和存储介质 | |
CN116821533A (zh) | 页面渲染方法、计算机设备和计算机可读存储介质 | |
CN116126808A (zh) | 行为日志记录方法、装置、计算机设备和存储介质 | |
CN115686904A (zh) | 网页诊断方法、设备及系统 | |
CN116069535A (zh) | 异常监控方法及其装置、设备、介质 | |
CN113127250B (zh) | 一种故障上报方法、装置、电子设备及存储介质 | |
CN116662143A (zh) | 测试方法、装置、设备、存储介质和计算机程序产品 | |
CN114036421A (zh) | 展示html5页面响应时间的方法、装置和计算机设备 | |
CN111813629B (zh) | 一种Web页面的监控数据生成方法、装置及设备 | |
CN117193924A (zh) | 页面展示方法、装置和计算机设备 | |
CN116527646A (zh) | 操作流程记录和还原方法、装置、电子设备和存储介质 | |
CN114780354A (zh) | 工业系统监控方法、装置、电子设备和存储介质 | |
CN117194194A (zh) | 接口性能监控图生成方法、装置、计算机设备和存储介质 | |
CN114036431A (zh) | 页面缓存跳转方法、装置、电子设备及存储介质 | |
CN111813629A (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 |