CN110224896B - 一种网络性能数据采集方法、装置及存储介质 - Google Patents
一种网络性能数据采集方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110224896B CN110224896B CN201910548428.2A CN201910548428A CN110224896B CN 110224896 B CN110224896 B CN 110224896B CN 201910548428 A CN201910548428 A CN 201910548428A CN 110224896 B CN110224896 B CN 110224896B
- Authority
- CN
- China
- Prior art keywords
- time consumption
- data
- stage
- network performance
- network
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种网络性能数据采集方法,步骤如下:根据关键节点将APP端的第一网络请求分解为多个第一阶段任务,以监听多个第一阶段任务被执行的第一时耗数据;将H5页面端发起的第二网络请求分解为多个第二阶段任务,以监听多个第二阶段任务被执行的第二时耗数据;基于第一时耗数据和第二时耗数据进行网络性能数据采集。同时公开了一种网络性能数据采集装置、服务器及存储介质。本发明将APP端和H5页面端发起的网络请求分解为多个子任务,监听子任务的时耗数据,保证每个关键节点数据都能被完整采集,同时保证预设节点的网络性能数据定义一致。
Description
技术领域
本发明实施例涉及前端服务器交互领域,尤其涉及一种网络性能数据采集方法、装置、服务器及存储介质。
背景技术
现有技术中,从APP端发起网络请求到H5页面端加载出页面的流程比较长,导致难以采集网络请求关键节点的性能数据,不易对网络请求关键节点进行定位,或者只能采集到部分节点数据;同时,由于手机厂商、系统版本和开发语言的差异,APP端、H5页面端统计的标准不一致,导致两端数据没有可比性。
发明内容
为解决上述问题,本发明提供一种网络性能数据采集方法,包括:
根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务,以监听多个第一阶段任务被执行的第一时耗数据;
根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务,以监听多个第二阶段任务被执行的第二时耗数据,第一阶段任务和第二阶段任务的相同阶段的任务定义相同或相互对应匹配;
基于第一时耗数据和第二时耗数据进行网络性能数据采集。
进一步地,预设的关键节点包括:
网络请求队列等待、DNS解析、TCP连接、TLS校验、上行数据请求和/ 或服务器处理请求。
进一步地,第一时耗数据和第二时耗数据包括:
网络请求队列等待时耗、DNS解析时耗、TCP连接时耗、TLS校验时耗、上行数据请求时耗、首包时耗、完整包时耗和/或https请求总时耗。
进一步地,监听多个第一阶段任务被执行的第一时耗数据,包括:
在APP端配置拦截器,并向服务器发起第一网络请求;
将第一网络请求分解的多个第一阶段任务放入线程队列进行调度;
依次调用拦截器处理多个第一阶段任务,以返回对应多个第一阶段任务的第一响应数据;
服务器根据第一网络请求返回对应第一阶段任务的第二响应数据;
在APP端的第一网络请求过程配置监听器以获取第一响应数据和第二响应数据,以确定第一时耗数据。
进一步地,监听多个第二阶段任务被执行的第二时耗数据,包括:
在H5页面端加载过程调用第二阶段任务的js脚本;
执行js脚本设置系统监听,以获取多个第二阶段任务的加载探针;
获取探针中包括的多个第二阶段任务的时间戳;
根据时间戳确认H5页面端多个第二阶段任务的第二时耗数据。
进一步地,基于第一时耗数据和第二时耗数据进行网络性能数据采集,还包括:
采集预设应用的日活跃用户数;
根据预设应用的日活跃用户数对采样率进行动态配置,以获取目标采样率;
根据目标采样率基于第一时耗数据和第二时耗数据进行网络性能数据采集。
进一步地,根据所述目标采样率基于所述第一时耗数据和第二时耗数据进行网络性能数据采集,包括:
将目标采样率下发到APP端,APP端再将目标采样率分发到H5页面端, APP端根据目标采样率基于第一时耗数据进行网络性能数据采集,H5页面端根据目标采样率基于第二时耗数据进行网络性能数据采集。
进一步地,根据第一时耗数据和第二时耗数据对预设应用进行评估,包括:
判断预设的关键节点是否出现异常,若是,则对出现异常的预设关键节点进行优化。
本发明还提供一种网络性能数据采集方法装置,包括如下模块:
第一监听模块,用于根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务,以监听多个第一阶段任务被执行的第一时耗数据;
第二监听模块,用于根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务,以监听多个第二阶段任务被执行的第二时耗数据;
采集模块,用于基于第一时耗数据和第二时耗数据进行网络性能数据采集;
其中,第一阶段任务和第二阶段任务的相同阶段的任务定义相同或相互对应匹配。
本发明还提供一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的网络性能数据采集方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-8中任一项所述的网络性能数据采集方法。
本发明通过将APP端和H5页面端发起的网络请求分解为多个子任务,通过监听子任务的时耗数据,保证每个节点数据都能被完整采集,同时保证预设节点的网络性能数据定义一致。
附图说明
图1是本发明实施例一中的网络性能数据采集方法流程图。
图2是本发明实施例二中的网络性能数据采集方法流程图。
图3是本发明实施例三中的网络性能数据采集方法流程图。
图4是本发明实施例四中的网络性能数据采集方法流程图。
图5是本发明实施例四中的步骤S440的替代实施例流程图。
图6是本发明实施例五中的网络性能数据采集装置的结构示意图。
图7是本发明实施例五中一种替代实施例中的第一监听模块结构示意图。
图8是本发明实施例五中一种替代实施例中的第二监听模块结构示意图。
图9是本发明实施例五中一种替代实施例中的采集模块结构示意图。
图10是本发明实施例六中提供的一种网络性能数据采集服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一速度差值称为第二速度差值,且类似地,可将第二速度差值称为第一速度差值。第一速度差值和第二速度差值两者都是速度差值,但其不是同一速度差值。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
下述实施例中出现的英文缩写含义如下:
H5页面端:html5,指超文本标记语言HTML的第五次修改版本,HTML5 的设计目的是为了在移动设备上支持多媒体。H5页面端适用于跨平台应用程序、视频和动画、图形、风格、排版和其它数字内容发布工具、广泛的网络功能等等。本发明中的APP端即内嵌有H5页面端,H5页面端能够与APP端进行交互。
DNS:Domain Name System,域名系统,是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到主机名对应的IP地址的过程叫做域名解析。
URL:Uniform Resource Locator,统一资源定位符,又叫做网页地址,是互联网上标准的资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应怎么处理它
TCP/IP:TCP,Transmission Control Protocol/Internet Protocol,传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,通过三次握手建立连接。IP,Internet Protocol Address互联网协议地址,又称为IP地址,接收由更低层发来的数据包,并把数据包发送到更高层,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
TLS:Transport Layer Security,传输层安全性协议,用于在服务器端和客户端创建安全连接。
API:Application Programming Interface,应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码。
Js脚本:js,Java,是一门基于原型、函数先行的语言,支持面向对象编程,命令式编程,以及函数式编程。脚本Script是使用一种特定的描述性语言、依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。各类脚本目前被广泛地应用于网页设计中,可用于减小网页的规模和提高网页浏览速度,丰富网页的表现,如动画、声音等。
ajax请求:Ajax,AsynchronousJavascriptAndXML,异步JavaScript和 XML,是一种创建交互式网页应用的网页开发技术。ajax用于创建快速动态网页的技术,能够在无需重新加载整个网页的情况下,能够更新部分网页的技术。传统的网页(不使用Ajax)如果需要更新内容,必须重载整个网页页面。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新,也就是可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
实施例一
图1为本发明实施例一的技术方案提供的网络性能数据采集方法的流程图,本实施例一中的APP端以android系统运行的预设应用软件为例进行描述, APP端也可运行于IOS系统、windows系统或其他任意一种终端使用的操作系统。在本发明中,预设应用内嵌有H5页面。
现有技术中,网络性能数据一般包括带宽(吞吐量)、丢包数、时耗等。在本实施例及以下实施例中,网络性能数据指的都是网络请求过程的时耗。时耗描述了数据包从发送开始到接收的过程所耗费的时间,单位通常是毫秒(ms),反应的是网络的速度,因此一般越小越好。
本实施例一的方案步骤如下:
步骤S110、根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务,以监听多个第一阶段任务被执行的第一时耗数据。
在本实施例中,APP端运行于android系统,APP端原生网络请求和APP 内嵌H5页面端的网络请求的流程是相一致的。因此,根据网络请求的完整流程,预设的关键节点为:网络请求队列等待、DNS解析、TCP连接、TLS校验、上行数据请求和/或服务器处理请求。
网络请求是指用于向服务器发送请求以获得相应数据的请求,请求中一般包含URL及网址中的参数字段名如时间、页数及ID等。
根据第一网络请求分解得到的第一阶段任务如下:APP端发起网络请求,请求数据进入队列等待、DNS解析、建立TCP/IP连接、TLS校验、向服务器发送请求数据、服务器响应请求并返回响应数据。
步骤S120、根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务,以监听多个第二阶段任务被执行的第二时耗数据。
APP端跳转至H5页面端加载时,H5页面端向服务器发送ajax请求,用于加载H5页面端的图片或视频数据。由于H5页面端加载过程的网络请求过程与步骤S110中所描述的APP端网络请求的流程一致,所以第一阶段任务和第二阶段任务的相同阶段的任务定义相同或相互对应匹配。
因此,第一时耗数据和第二时耗数据都包括:网络请求队列等待时耗、DNS 解析时耗、TCP连接时耗、TLS校验时耗、上行数据请求时耗、首包时耗、完整包时耗和/或https请求总时耗。
第一时耗数据与第二时耗数据的计算方式如下所示:
网络请求队列等待时耗=开始解析域名时间-网络请求发起时间;
DNS解析时耗=解析域名结束时间-开始解析域名时间;
TCP连接时耗=安全连接开始时间-连接开始时间;
TLS校验时耗=安全连接结束时间-安全连接开始时间;
上行网络请求时耗=上行数据请求结束时间-上行数据请求开始时间;
首包时耗=首次接收到响应数据的时间-上行数据请求开始时间;
完整包时耗=客户端接收到最后一个响应数据的时间-首次接收到响应数据的时间;
https请求总时耗=客户端接收到最后一个响应数据的时间-网络请求发起时间。
步骤S130、基于第一时耗数据和第二时耗数据进行网络性能数据采集。
步骤中,第一时耗数据指的是APP端原生网络请求的时耗数据,第二时耗数据指的是H5页面端网络请求的时耗数据。在获取到第一时耗数据和第二时耗数据后,基于一定的采集策略进行网络性能数据采集。
本实施例一提供的技术方案中,通过将APP端和H5页面端的网络请求分解为多个第一阶段任务和第二阶段任务,以实现对APP端和H5页面端的网络请求的所有关键节点性能数据进行采集,避免遗漏,同时能够保证APP端和 H5页面端所采集的关键节点的标准一致。
实施例二
图2所示为本发明实施例二提供的网络性能数据采集方法的流程图。本实施例在上述各实施例的基础上,将步骤“监听多个第一阶段任务被执行的第一时耗数据”进行优化。
具体地,如图2所示,本实施例二步骤如下:
步骤S210、根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务。
步骤S220、在APP端配置拦截器,并向服务器发起第一网络请求。
在步骤中,拦截器用于拦截用户请求,在请求前后添加处理逻辑。APP端在每一个请求数据接口的请求头header上添加对应的标记,根据请求头header 上添加的对应标记配置拦截器,拦截器配置在APP端,APP端发送网络请求数据,网络请求数据进入队列调度排队等待;
步骤S230、将第一网络请求分解的多个第一阶段任务放入线程队列进行调度。
步骤S230中,第一网络请求分解为多个第一阶段任务,在线程池找到空闲线程依次执行第一阶段任务。
步骤S240、依次调用拦截器处理多个第一阶段任务,以返回对应多个第一阶段任务的第一响应数据。
通过添加一系列拦截器构造拦截器链,拦截器链中包含了所有的应用拦截器,对拦截器链中包含的应用拦截器进行顺序调用。
本实施例中,拦截器拦截的请求与多个第一阶段任务一一对应,第一阶段任务指:网络请求队列等待、DNS解析请求、TCP连接请求、TLS校验请求、上行数据请求、服务器处理请求。拦截器依次拦截的请求即为多个第一阶段任务的请求内容。
具体地,本实施例的网络请求过程中,拦截器用于对APP端发起的网络请求和返回的响应进行拦截,其工作原理如下:获取APP端请求,在APP端请求中添加请求头,配置队列任务调度器,在APP端配置网络拦截器,形成拦截器链,依次调用拦截器,并将下一个拦截器传入其中,使用配置的拦截器链的 procced方法得到与多个第一阶段任务对应的多个第一响应数据。
步骤S250、服务器根据第一网络请求返回对应第一阶段任务的第二响应数据。
服务器依次接收第一网络请求,同时返回多个第一阶段任务对应的第二响应数据,第二响应数据依次为:网络请求队列等待、DNS解析请求、TCP连接请求、TLS校验请求、上行数据请求、服务器处理请求的响应数据。
本实施例中,第一响应数据在上述预设关键节点被拦截器拦截的时间即为第一响应时间,第二响应数据在上述预设关键节点被拦截器拦截返回响应的时间即为第二响应时间。
步骤S260、在APP端的第一网络请求过程配置监听器以获取第一响应数据和第二响应数据,以确定第一时耗数据。
监听器用于监听web应用中某些对象、信息的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理,当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法,常用于统计在线人数和在线用户,系统加载时进行信息初始化,统计网站的访问量等等。
在步骤S260中,APP端网络请求过程配置监听器对网络请求及响应进行监听,通过监听回调,获取拦截器在上述预设关键节点拦截的第一响应时间和第二响应时间,则第一时耗数据=第二响应时间-第一响应时间。
S270、根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务,以监听多个第二阶段任务被执行的第二时耗数据。
S280、基于第一时耗数据和第二时耗数据进行网络性能数据采集。
基于一定的采集策略进行网络性能数据采集。
本实施例通过增加拦截器和监听器,能够精准采集APP端网络请求所有的预设节点数据,使采集数据完整不遗漏。
实施例三
如图3为本发明实施例三提供的网络性能数据采集方法的流程图,本实施例在上述实施例一、二的基础上,将步骤“监听多个第二阶段任务被执行的第二时耗数据”采用在H5页面端加载过程调用js脚本来实现,具体地,步骤如下:
步骤S310、根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务,以监听多个第一阶段任务被执行的第一时耗数据。
步骤S320、根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务。
步骤S330、在H5页面端加载过程调用第二阶段任务的js脚本。
H5页面端向服务器发送ajax请求,用于向服务器请求加载H5页面端的图片或视频数据,开始加载页面;在H5加载页面时调用采集ajax请求过程的网络性能数据的js脚本。
步骤S340、执行js脚本,设置系统监听,以获取多个第二阶段任务的时间戳。
步骤通过执行js脚本获取H5页面端待检测网络请求节点的探针,探针中包含有多个第二阶段任务的时间戳。探针是一种设置在分布式网络监控系统各节点的组件,用于捕获和分析网络数据包。时间戳是一种表现当前时间的数字,在发包收包过程中定义时间戳可以准确定义数据包的前后。
步骤S350、根据时间戳确认H5页面端多个第二阶段任务的第二时耗数据。
步骤S360、基于第一时耗数据和第二时耗数据进行网络性能数据采集。
基于一定的采集策略进行网络性能数据采集。
本实施例的技术方案,通过调用js脚本对H5页面端的网络请求过程进行监听,能够精准采集H5页面端网络请求所有的预设节点数据,使采集数据完整不遗漏。
实施例四
图4为本发明实施例四提供的网络性能数据采集方法示意图,本实施例在上述各实施例的基础上,增加了基于第一时耗数据和第二时耗数据进行网络性能数据采集过程的采集策略,优选的,本实施例中的采集策略是首先确定目标采样率,根据目标采样率进行网络性能数据采集。
具体步骤如下:
S410、根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务,以监听多个第一阶段任务被执行的第一时耗数据。
S420、根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务,以监听多个第二阶段任务被执行的第二时耗数据。
S430、采集预设应用的日活跃用户数。
日活跃用户数用于反映网站、应用或游戏的运营情况,本实施例中的日活跃用户数指的是一天之内登录或使用了APP应用的用户数(去除重复登录的用户)。可通过后台数据或其他方法获取和采集APP端日活跃用户数。
S440、根据预设应用的日活跃用户数对采样率进行动态配置,以获取目标采样率。
示例性地,当日活跃用户数≤10万时,采样率配置为40%-60%;
10万<日活跃用户数≤100万时,采样率配置为10%-20%;
当日活跃用户数>100万时,采样率配置为1%-5%。
S450、根据目标采样率基于第一时耗数据和第二时耗数据进行网络性能数据采集。
步骤S450根据确定的目标采样率对第一时耗数据和第二时耗数据进行采集,示例性地,本实施例中APP应用的日活跃用户数为5万,则目标采样率可设置为50%。
步骤S460、判断预设的关键节点是否出现异常,若是,则对出现异常的预设关键节点进行优化。
本实施例所采集的网络性能数据为时耗数据,当其中一个或多个预设关键节点时耗过大,则表明对应的一个或多个预设关键节点出现异常,对对应的一个或多个预设的关键节点进行优化,使时耗恢复正常范围。该步骤对预设关键节点进行优化包括但不限于如下情况:
当DNS解析时耗较高时,使用IP直连。IP直连指的是从服务器获取一个配置文件,里面包含域名到IP映射,APP端每次联网时根据域名在配置文件中查找到对应IP,直接使用IP进行请求,省去DNS解析这一步,即可减少DNS 解析时耗;
当TCP连接时耗较长时,对服务器进行IP测速,筛选出连接速度较快的服务器IP;
当网络请求上行时耗较长时,对数据流进行GZIP压缩,以减小通过网络传输的数据量,从而降低数据量较大时的上行数据时耗。
当网络请求完整包时耗较长时,则优化后台服务,如优化前端接口、数据库、后端程序、脚本、缓存和/或搜索引擎等,降低网络请求完整包时耗。
在替代实施例中,如图5所示,步骤S450还可包括:
S451、将目标采样率下发到APP端,APP端再将目标采样率分发到H5页面端;
S452、APP端根据目标采样率基于第一时耗数据进行网络性能数据采集, H5页面端根据目标采样率基于第二时耗数据进行网络性能数据采集。
本实施例通过首先确定目标采样率,然后根据目标采样率进行网络性能数据采集,使本发明的网络性能数据采集方法能够适用于日活跃用户数不同的 APP应用。
实施例五
如图6所示,本实施例五提供一种网络性能数据采集装置,包括如下模块:
第一监听模块510,用于根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务,以监听多个第一阶段任务被执行的第一时耗数据;
第二监听模块520,用于根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务,以监听多个第二阶段任务被执行的第二时耗数据;
采集模块530,用于基于第一时耗数据和第二时耗数据进行网络性能数据采集;
其中,第一阶段任务和第二阶段任务的相同阶段的任务定义相同或相互对应匹配。
本实施例所述的网络性能数据采集装置还包括:
性能优化模块540,用于判断预设的关键节点是否出现异常,若是,则对出现异常的预设关键节点进行优化。
在替代实施例中,如图7所示,第一监听模块510包括:
拦截器配置单元511,用于在APP端配置拦截器,并向服务器发起第一网络请求;将第一网络请求分解的多个第一阶段任务放入线程队列进行调度;依次调用拦截器处理多个第一阶段任务,以返回对应多个第一阶段任务的第一响应数据;服务器根据第一网络请求返回对应第一阶段任务的第二响应数据;
监听器配置单元512,用于在APP端的第一网络请求过程配置监听器以获取第一响应数据和第二响应数据,以确定第一时耗数据。
在另一替代实施例中,如图8所示,第二监听模块520包括:
脚本调用单元521,用于在H5页面端加载过程调用第二阶段任务的js脚本;
脚本执行单元522,用于执行js脚本,设置系统监听,以获取多个第二阶段任务的时间戳;根据时间戳确认H5页面端多个第二阶段任务的第二时耗数据。
在另一替代实施例中,如图9所示,采集模块530包括:
日活数获取单元531,用于采集预设应用的日活跃用户数;
采样率配置单元532,用于根据预设应用的日活跃用户数对采样率进行动态配置,以获取目标采样率;
抽样单元533,根据目标采样率基于第一时耗数据和第二时耗数据进行网络性能数据采集。具体地,抽样单元533用于将采样率下发到APP端,APP端再将采样率分发到H5页面端,APP端根据目标采样率基于第一时耗数据进行网络性能数据采集,H5页面端根据目标采样率基于第二时耗数据进行网络性能数据采集。
本发明实施例五所提供的网络性能数据采集装置可执行本发明任意实施例所提供的网络性能数据采集方法,具备执行方法相应的功能模块和有益效果。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例六
如图10所示,为本发明实施例六提供的一种网络性能数据采集服务器示意图,如图10所示,该服务器包括处理器60、存储器61、输入装置62和输出装置63;设备/终端/服务器中处理器60的数量可以是一个或多个,图8中以一个处理器60为例;设备/终端/服务器中的处理器60、存储器61、输入装置62和输出装置63可以通过总线或其他方式连接,图10中以通过总线连接为例。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的主题更新方法对应的程序指令/模块 (例如,网络性能数据采集装置中的第一监听模块510、第二监听模块520等)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行设备/终端/服务器的各种功能应用以及数据处理,即实现上述的网络性能数据采集方法:
根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务,以监听多个第一阶段任务被执行的第一时耗数据;
根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务,以监听多个第二阶段任务被执行的第二时耗数据;
基于第一时耗数据和第二时耗数据进行网络性能数据采集;
其中,第一阶段任务和第二阶段任务的相同阶段的任务定义相同或相互对应匹配。
存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至设备/终端/服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置62可用于接收输入的数字或字符信息,以及产生与设备/终端/服务器的用户设置以及功能控制有关的关键信号输入。输出装置63可包括显示屏等显示设备。
上述服务器可执行本发明任意实施例所提供的方法,具备执行方法相应的功能及有益效果。
实施例七
本发明实施例七还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的一种网络性能数据采集方法,该方法可以包括:
根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务,以监听多个第一阶段任务被执行的第一时耗数据;
根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务,以监听多个第二阶段任务被执行的第二时耗数据;
基于第一时耗数据和第二时耗数据进行网络性能数据采集;
其中,第一阶段任务和第二阶段任务的相同阶段的任务定义相同或相互对应匹配。
本发明实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
存储介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、 Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读存储介质可执行本发明任意实施例所提供的方法,具备执行方法相应的功能及有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (7)
1.一种网络性能数据采集方法,其特征在于,包括:
根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务,以监听所述多个第一阶段任务被执行的第一时耗数据;
根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务,以监听所述多个第二阶段任务被执行的第二时耗数据;
基于所述第一时耗数据和所述第二时耗数据进行网络性能数据采集;
判断预设的关键节点是否出现异常,若是,则对出现异常的预设关键节点进行优化;
其中,所述第一阶段任务和所述第二阶段任务的相同阶段的任务定义相同或相互对应匹配;
其中,所述基于第一时耗数据和第二时耗数据进行网络性能数据采集,包括:
采集所述预设应用的日活跃用户数;
根据预设应用的所述日活跃用户数对采样率进行动态配置,以获取目标采样率;
将所述目标采样率下发到所述APP端,所述APP端再将所述目标采样率分发到所述H5页面端,所述APP端根据所述目标采样率基于所述第一时耗数据进行网络性能数据采集,所述H5页面端根据所述目标采样率基于所述第二时耗数据进行网络性能数据采集。
2.根据权利要求1所述的网络性能数据采集方法,其特征在于,所述预设的关键节点包括:
网络请求队列等待、DNS解析、TCP连接、TLS校验、上行数据请求和/或服务器处理请求。
3.根据权利要求2所述的网络性能数据采集方法,其特征在于,所述第一时耗数据和第二时耗数据包括:
网络请求队列等待时耗、DNS解析时耗、TCP连接时耗、TLS校验时耗、上行数据请求时耗、首包时耗、完整包时耗和/或https请求总时耗。
4.根据权利要求1所述的网络性能数据采集方法,其特征在于,所述监听所述多个第一阶段任务被执行的第一时耗数据,包括:
在所述APP端配置拦截器,并向服务器发起所述第一网络请求;
将所述第一网络请求分解的所述多个第一阶段任务放入线程队列进行调度;
依次调用所述拦截器处理所述多个第一阶段任务,以返回对应所述多个第一阶段任务的第一响应数据;
服务器根据所述第一网络请求返回对应所述多个第一阶段任务的第二响应数据;
在所述APP端的第一网络请求过程配置监听器以获取所述第一响应数据和第二响应数据,以确定所述第一时耗数据。
5.根据权利要求1所述的一种网络性能数据采集方法,其特征在于,所述监听多个第二阶段任务被执行的第二时耗数据,包括:
在所述H5页面端加载过程调用所述第二阶段任务的js脚本;
执行所述js脚本,设置系统监听,以获取所述多个第二阶段任务的时间戳;
根据所述时间戳确认H5页面端所述多个第二阶段任务的所述第二时耗数据。
6.一种网络性能数据采集方法装置,其特征在于,包括如下模块:
第一监听模块,用于根据预设的关键节点将APP端基于预设应用发起的第一网络请求分解为多个第一阶段任务,以监听多个第一阶段任务被执行的第一时耗数据;
第二监听模块,用于根据预设的关键节点将H5页面端基于预设应用发起的第二网络请求分解为多个第二阶段任务,以监听多个第二阶段任务被执行的第二时耗数据;
采集模块,用于基于第一时耗数据和第二时耗数据进行网络性能数据采集;
性能优化模块,用于判断预设的关键节点是否出现异常,若是,则对出现异常的预设关键节点进行优化;
其中,第一阶段任务和第二阶段任务的相同阶段的任务定义相同或相互对应匹配;
其中,所述采集模块包括:
日活数获取单元,用于采集所述预设应用的日活跃用户数;
采样率配置单元,用于根据预设应用的所述日活跃用户数对采样率进行动态配置,以获取目标采样率;
抽样单元,用于将所述目标采样率下发到所述APP端,所述APP端再将所述目标采样率分发到所述H5页面端,所述APP端根据所述目标采样率基于所述第一时耗数据进行网络性能数据采集,所述H5页面端根据所述目标采样率基于所述第二时耗数据进行网络性能数据采集。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的网络性能数据采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910548428.2A CN110224896B (zh) | 2019-06-24 | 2019-06-24 | 一种网络性能数据采集方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910548428.2A CN110224896B (zh) | 2019-06-24 | 2019-06-24 | 一种网络性能数据采集方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110224896A CN110224896A (zh) | 2019-09-10 |
CN110224896B true CN110224896B (zh) | 2021-11-26 |
Family
ID=67814393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910548428.2A Active CN110224896B (zh) | 2019-06-24 | 2019-06-24 | 一种网络性能数据采集方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110224896B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602270B (zh) * | 2019-11-01 | 2022-10-14 | 北京博睿宏远数据科技股份有限公司 | 域名解析方法、装置、计算机设备及存储介质 |
CN110781058B (zh) * | 2019-11-05 | 2023-07-18 | 北京博睿宏远数据科技股份有限公司 | 一种移动端应用性能数据采集方法、装置、设备及介质 |
CN113179191A (zh) * | 2021-04-01 | 2021-07-27 | 众安信息技术服务有限公司 | 一种网络性能监控方法、装置及电子设备 |
CN113569168A (zh) * | 2021-06-17 | 2021-10-29 | 北京健康之家科技有限公司 | 页面性能数据的生成方法和装置、计算机存储介质、终端 |
CN113726607B (zh) * | 2021-08-30 | 2022-09-02 | 北京百度网讯科技有限公司 | 一种网络探测方法、装置、电子设备及存储介质 |
CN115225719B (zh) * | 2022-08-31 | 2023-01-10 | 中建电子商务有限责任公司 | 一种分布式定向网络数据采集解析方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603408B1 (en) * | 1999-05-10 | 2009-10-13 | 3Com Corporation | Method and system for network management |
CN103379002A (zh) * | 2012-04-13 | 2013-10-30 | 特克特朗尼克公司 | 电信网络的自适应监测 |
WO2015195834A1 (en) * | 2014-06-17 | 2015-12-23 | Rangasamy Govind | Resiliency director |
CN108183926A (zh) * | 2018-03-14 | 2018-06-19 | 北京奇艺世纪科技有限公司 | 一种数据包处理方法和装置 |
CN109446457A (zh) * | 2018-09-25 | 2019-03-08 | 平安普惠企业管理有限公司 | 页面数据的更新方法、终端设备及介质 |
CN109597604A (zh) * | 2018-10-22 | 2019-04-09 | 国网新疆电力有限公司电力科学研究院 | 基于iOS平台的APP模块化开发方法、装置和设备 |
CN109802996A (zh) * | 2018-12-14 | 2019-05-24 | 平安科技(深圳)有限公司 | 发送网络请求的方法、装置、计算机设备和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060085420A1 (en) * | 2004-09-27 | 2006-04-20 | Symphoniq Corp. | Method and apparatus for monitoring real users experience with a website |
US9282048B1 (en) * | 2013-03-14 | 2016-03-08 | Moat, Inc. | System and method for dynamically controlling sample rates and data flow in a networked measurement system by dynamic determination of statistical significance |
US9454889B2 (en) * | 2014-07-28 | 2016-09-27 | Dan Kerning | Security and public safety application for a mobile device |
CN106843828B (zh) * | 2016-12-07 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 界面显示、加载方法及装置 |
CN108536575A (zh) * | 2017-03-02 | 2018-09-14 | 中国移动通信有限公司研究院 | 在线音视频播放的用户体验指标的测试方法及装置 |
CN107040609B (zh) * | 2017-05-25 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 一种网络请求处理方法和装置 |
CN107229749B (zh) * | 2017-06-27 | 2020-05-22 | 上海地阳实业有限公司 | 一种微信h5网页制作方法及系统 |
CN109586988B (zh) * | 2017-09-28 | 2020-10-02 | 中国移动通信有限公司研究院 | 一种网页打开时延测试方法、网络设备及智能网关 |
CN108449237B (zh) * | 2018-05-23 | 2021-08-03 | 平安壹钱包电子商务有限公司 | 网络性能监测方法、装置、计算机设备和存储介质 |
CN109359256A (zh) * | 2018-09-29 | 2019-02-19 | 北京城市网邻信息技术有限公司 | 页面加载方法、装置、设备及存储介质 |
-
2019
- 2019-06-24 CN CN201910548428.2A patent/CN110224896B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603408B1 (en) * | 1999-05-10 | 2009-10-13 | 3Com Corporation | Method and system for network management |
CN103379002A (zh) * | 2012-04-13 | 2013-10-30 | 特克特朗尼克公司 | 电信网络的自适应监测 |
WO2015195834A1 (en) * | 2014-06-17 | 2015-12-23 | Rangasamy Govind | Resiliency director |
CN108183926A (zh) * | 2018-03-14 | 2018-06-19 | 北京奇艺世纪科技有限公司 | 一种数据包处理方法和装置 |
CN109446457A (zh) * | 2018-09-25 | 2019-03-08 | 平安普惠企业管理有限公司 | 页面数据的更新方法、终端设备及介质 |
CN109597604A (zh) * | 2018-10-22 | 2019-04-09 | 国网新疆电力有限公司电力科学研究院 | 基于iOS平台的APP模块化开发方法、装置和设备 |
CN109802996A (zh) * | 2018-12-14 | 2019-05-24 | 平安科技(深圳)有限公司 | 发送网络请求的方法、装置、计算机设备和存储介质 |
Non-Patent Citations (4)
Title |
---|
The determinants of mobile shopping mall apps adoption intention in Malaysia: An empirical investigation;William Eng Yong Keong;《2016 11th International Conference on Computer Science & Education (ICCSE)》;20161006;全文 * |
WebRTC技术的研究与应用;何明亮;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20150515(第0期);全文 * |
基于NodeJS的漏缆入侵系统服务端及其WEB客户端的研发;陈亮等;《无线通信技术》;20180315(第01期);全文 * |
面向个性化信息服务的图书馆移动用户行为分析模型设计;汤妙吉;《现代情报》;20180115(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110224896A (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110224896B (zh) | 一种网络性能数据采集方法、装置及存储介质 | |
CN111083225B (zh) | 在物联网平台中的数据处理方法、装置及物联网平台 | |
CN110198247B (zh) | 接口测试方法及系统 | |
US8078691B2 (en) | Web page load time prediction and simulation | |
US9961129B2 (en) | Business transaction correlation with client request monitoring data | |
CN106897215A (zh) | 一种基于WebView网页加载性能及用户行为流数据采集的方法 | |
CN109739711B (zh) | 一种接口测试方法、装置、设备和存储介质 | |
US9131002B2 (en) | Web application monitoring | |
CN103825783A (zh) | 一种测试方法及装置 | |
US10775751B2 (en) | Automatic generation of regular expression based on log line data | |
CN110263070A (zh) | 事件上报方法及装置 | |
CN110598135A (zh) | 网络请求处理方法、装置、计算机可读介质及电子设备 | |
CN113064735A (zh) | 业务处理方法及装置 | |
CN108600377B (zh) | 一种文件下载的暂停方法、装置、终端和存储介质 | |
CN113934913A (zh) | 数据抓取方法、装置、存储介质及电子设备 | |
US20150324479A1 (en) | Identifying a browser for rendering an electronic document | |
CN105095070B (zh) | 基于浏览器测试组件的qq群数据获取方法与系统 | |
CN106708854B (zh) | 数据导出方法和装置 | |
CN113127335A (zh) | 一种系统测试的方法和装置 | |
US20170034030A1 (en) | Monitoring single content page application transitions | |
CN107317788A (zh) | 实时数据推送方法和装置 | |
CN110825603A (zh) | 页面首次加载时间确定方法、装置、电子设备及存储介质 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN113068216B (zh) | 网络拨测方法、网络拨测系统及计算机可读存储介质 | |
US20140325479A1 (en) | Synchronization of an automation script |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210610 Address after: 2501, China energy storage building, 3099 Keyuan South Road, high tech community, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000 Applicant after: Shenzhen orange Digital Technology Co.,Ltd. Address before: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong Applicant before: SHENZHEN QIANHAI JUZI INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |