CN115065620B - 网络监测方法、装置、设备及存储介质 - Google Patents
网络监测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115065620B CN115065620B CN202210700909.2A CN202210700909A CN115065620B CN 115065620 B CN115065620 B CN 115065620B CN 202210700909 A CN202210700909 A CN 202210700909A CN 115065620 B CN115065620 B CN 115065620B
- Authority
- CN
- China
- Prior art keywords
- resources
- network speed
- attribute
- network
- browser
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012360 testing method Methods 0.000 claims description 53
- 238000012216 screening Methods 0.000 claims description 17
- 238000012806 monitoring device Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 9
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/12—Network monitoring probes
-
- 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/50—Testing arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及计算机技术,揭露了一种网络监测方法、装置、设备及存储介质,所述方法包括:接收监测指令;基于所述监测指令,判断浏览器是否支持down l i nk属性;若所述浏览器不支持down l i nk属性,则判断所述浏览器是否支持PerformanceObserver和getEntr i es属性;当所述浏览器支持PerformanceObserver和getEntr i es属性时,则在PerformanceObserver的监听下通过getEntr i es获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速;若所述浏览器支持down l i nk属性,则直接获取到所述平均网速。本申请实现了快速且准确的在不占用或占用少量流量的情况下,得到网速。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种网络监测方法、装置、设备及存储介质。
背景技术
随着5g网络的普及,人们已经基本摆脱了弱网这个场景。但是在某些偏远地区、电梯内、雷雨天这些时候往往还会存在网络不佳的情况,这个时候就可以通过一定手段检测弱网环境。然后对弱网环境下的网页做一些优化。(图片清晰度降低、简化页面加载等等)。目前检测弱网环境的现有技术基本都是发送一些测试包,来得到当前的网速。这样做大部分情况下都可以得到一个大概精准的网络速度。但是这样做往往会有这一部分的流量损失,特别是弱网环境下本就不富裕的网络资源。而且为了让数据更加准确还会多次请求来得到一个精确的数据。导致网速会更慢,页面加载时间又被拉长,因此,如何在不占用或占用极少量流量的情况下实现对网速的检测成为了亟待解决的问题。
发明内容
本申请提供了一种网络监测方法、装置、设备及存储介质,以解决现有浏览器网速检测会占用部分流量资源的问题。
为解决上述问题,本申请提供了一种网络监测方法,包括:
接收监测指令;
基于所述监测指令,判断浏览器是否支持downlink属性;
若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性;
当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速;
若所述浏览器支持downlink属性,则直接获取到所述平均网速。
进一步的,所述判断浏览器是否支持downlink属性包括:
通过window.navigator.connection.downlink来判断所述浏览器是否支持downlink属性。
进一步的,所述判断所述浏览器是否支持PerformanceObserver和getEntries属性包括:
通过window.PerformanceObserver和window.performance.getEntries来分别判断所述浏览器是否支持PerformanceObserver和getEntries属性。
进一步的,在所述判断所述浏览器是否支持PerformanceObserver和getEntries属性之后,还包括:
当所述浏览器仅支持getEntries属性,不支持PerformanceObserver属性时,则利用setInterval定时轮询getEntries并通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速。
进一步的,在所述判断所述浏览器是否支持PerformanceObserver和getEntries属性之后,还包括:
当所述浏览器不支持PerformanceObserver和getEntries属性时,利用webpackplugin生成预设大小的测试包,并通过setInterval定时发送所述测试包,从而获取所述平均网速。
进一步的,所述在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速包括:
基于预设大小,对所有所述资源进行筛选,保留大于等于所述预设大小的资源;
根据所述大于等于所述预设大小的资源,获取对应的网速;
对所有大于等于所述预设大小的资源对应的网速进行剔除离群值处理,得到筛选后的资源及其对应网速;
判断筛选后的资源数量是否满足预设数量;
若不满足,则利用webpackplugin生成预设大小的测试包,发送所述测试包,直至筛选后的资源数量和测试包数量之和满足所述预设数量,根据所述资源以及测试包对应的网速,得到所述平均网速;
若满足,则根据筛选后的资源对应的网速,得到所述平均网速。
为了解决上述问题,本申请还提供一种网络监测装置,所述装置包括:
接收模块,用于接收监测指令;
第一判断模块,用于基于所述检测指令,判断浏览器是否支持downlink属性;
第二判断模块,用于若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性;
第一网速获取模块,用于当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速;
第二网速获取模块,用于若所述浏览器支持downlink属性,则直接获取到所述平均网速。
进一步的,所述第一网速获取模块包括:
第一筛选子模块,用于基于预设大小,对所有所述资源进行筛选,保留大于等于所述预设大小的资源;
获取子模块,用于根据所述大于等于所述预设大小的资源,获取对应的网速;
第二筛选子模块,用于对所有大于等于所述预设大小的资源对应的网速进行剔除离群值处理,得到筛选后的资源及其对应网速;
数量判断子模块,用于判断筛选后的资源数量是否满足预设数量;
网速确定子模块,用于若不满足,则利用webpackplugin生成预设大小的测试包,发送所述测试包,直至筛选后的资源数量和测试包数量之和满足所述预设数量,根据所述资源以及测试包对应的网速,得到所述平均网速;若满足,则根据筛选后的资源对应的网速,得到所述平均网速。
为了解决上述问题,本申请还提供一种计算机设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的网络监测方法。
为了解决上述问题,本申请还提供一种非易失性的计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的网络监测方法。
根据本申请实施例提供的一种网络监测方法、装置、设备及存储介质,与现有技术相比至少具有以下有益效果:
接收检测指令,判断浏览器是否支持downlink属性,若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性,当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速;若所述浏览器支持downlink属性,则直接获取到所述平均网速,通过自动降级挑选出最优方案,从不占用流量获取网速自动降级到占用极少量流量获取网速,能准确且快速的得出网速。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图做一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的网络监测方法的流程示意图;
图2为图1中步骤S4的一种具体实施方式的流程示意图;
图3为本申请一实施例提供的网络监测装置的模块示意图;
图4为本申请一实施例的计算机设备的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是是相同的实施例,也不是与其它实施例相互排斥的独立的或备选的实施例。本领域技术人员显式地或隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请提供一种网络监测方法。参照图1所示,图1为本申请一实施例提供的网络监测方法的流程示意图。
在本实施例中,网络监测方法包括:
S1、接收监测指令;
具体的,接收用户点击操作触发的监测指令,如用户点击浏览器程序后,触发监测指令;或者定时触发监测指令,根据网速情况,对用户在浏览器上浏览器的页面进行优化等处理。
S2、基于所述监测指令,判断浏览器是否支持downlink属性;
具体的,由于本案从整体上为一种从最优获取网速到兜底获取网速方案的递进方案,所有首先判断浏览器是否支持最优的方案,即先基于所述监测指令,通过判断浏览器是否支持downlink属性,若支持,至通过downlink属性执行最优获取网速的方案。
进一步的,所述判断浏览器是否支持downlink属性包括:
通过window.navigator.connection.downlink来判断所述浏览器是否支持downlink属性。
具体的,downlink是NetworkInformation接口的一个只读属性,返回以Mb/s为单位的有效带宽,并保留该值为25kb/s的最接近的整数倍。该值基于最近监测的保持活跃连接的应用层吞吐量,排除了到私有地址空间的连接。当缺少最近的带宽测量数据时,该属性由底层连接技术属性决定。
通过确定浏览器的NetworkInformation里面是否有downlink这个属性,若有downlink这个属性则表示支持,若没有downlink这个属性则不支持;具体通过window.navigator.connection.downlink查询,这里不考虑全局变量下这个值被覆盖污染的情况,如果存在覆盖的情况也默认表示是有意为之的。
通过window.navigator.connection.downlink实现快速判断浏览器是否支持downlink属性,便于后续步骤的执行。
S3、若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性;
具体的,在最优的获取网速的方案不支持的情况下,执行较优的方案,即通过判断所述浏览器是否支持PerformanceObserver和getEntries属性,若支持PerformanceObserver和getEntries属性,执行对应的较优方案。
进一步的,所述判断所述浏览器是否支持PerformanceObserver和getEntries属性包括:
通过window.PerformanceObserver和window.performance.getEntries来分别判断所述浏览器是否支持PerformanceObserver和getEntries属性。
具体的,PerformanceObserver会在网页资源请求更新时执行的监听。每次有新的资源加载完成就会执行。getEntries会取到现有网页中的所有资源(这里的资源是指页面加载过程中用到的资源)信息,包括请求开始时间、结束时间、请求体大小等等。可以用来计算单独资源的请求速度。同样的,确定浏览器中是否有PerformanceObserver和getEntries属性,若有,则表示支持,反之,则不支持,具体通过window.PerformanceObserver和window.performance.getEntries来查询。
通过window.PerformanceObserver和window.performance.getEntries快速的判断浏览器是否支持对应的属性,便于后续确定对应步骤的执行。
进一步的,在所述判断所述浏览器是否支持PerformanceObserver和getEntries属性之后,还包括:
当所述浏览器仅支持getEntries属性,不支持PerformanceObserver属性时,则利用setInterval定时轮询getEntries并通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速。
具体的,在判断出浏览器仅支持getEntries属性,不支持PerformanceObserver属性后,通过setInterval函数定时轮询getEntries函数,getEntries会返回页面生成后的所有资源(这里的资源是指页面加载过程中用到的资源)加载情况包括资源包大小和请求的各个时间节点。通过这些数据就能获取到页面生成后在预设时间内的所有资源的获取网速。具体通过每个资源的大小除以响应时间,即可得到各资源对应的网速。根据各资源对应的网速,得到预设时间的平均网速。
setInterval是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval方法会不停地调用函数,直到clearInterval被调用或窗口被关闭。
在浏览器不支持PerformanceObserver属性的情况下,通过利用setInterval定时轮询getEntries函数,实现在不占用流量的情况下获取预设时间内的所有资源,并获取对应的平均网速。
进一步的,在所述判断所述浏览器是否支持PerformanceObserver和getEntries属性之后,还包括:
当所述浏览器不支持PerformanceObserver和getEntries属性时,利用webpackplugin生成预设大小的测试包,并通过setInterval定时发送所述测试包,从而获取所述平均网速。
具体的,在所述浏览器不支持PerformanceObserver和getEntries属性时,只能执行兜底获取网速的方案,利用webpackplugin生成多个预设大小的测试包,通过setInterval定时发送所述测试包,得到测试包在浏览器上的加载情况,通过测试包的大小以及加载情况,确定各测试包的网速,基于各测试包的网速,确定所述平均网速。
在浏览器不支持PerformanceObserver和getEntries属性的情况下,实现在占用少量的流量获取到平均网速。
S4、当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速;
具体的,在确定浏览器支持PerformanceObserver和getEntries属性后,执行较优的获取网速方案,在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,所述资源中包括数据大小和响应时间,通过数据大小除以响应时间得到资源对应的网速,基于各资源的网速即可得到平均网速。
进一步的,如图2所示,所述在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速包括:
S41、基于预设大小,对所有所述资源进行筛选,保留大于等于所述预设大小的资源;
S42、根据所述大于等于所述预设大小的资源,获取对应的网速;
S43、对所有大于等于所述预设大小的资源对应的网速进行剔除离群值处理,得到筛选后的资源及其对应网速;
S44、判断筛选后的资源数量是否满足预设数量;
S45、若不满足,则利用webpackplugin生成预设大小的测试包,发送所述测试包,直至筛选后的资源数量和测试包数量之和满足所述预设数量,根据所述资源以及测试包对应的网速,得到所述平均网速;
S46、若满足,则根据筛选后的资源对应的网速,得到所述平均网速。
具体的,为了确保平均网速的普适性,需对计入计算平均网速的资源进行筛选,选择符合资源大小和网速的资源,并且资源得满足一定的数量;首先通过设定一预设大小的数值来对资源进行大小筛选,这一数值不能太小,不然数据不准确,在本申请中,可设定为2MB,在实际情况中,可根据需要进行设定;对各资源都与预设大小进行判断,保留大于等于所述预设大小的资源;并对应获取大于等于预设大小资源的网速,具体根据各资源的大小除以响应时间得出;对大于等于所述预设大小的资源对应的网速进行排列,得到排列图,根据排列图,进行剔除离群值处理,具体可为设定如80%的阈值,只要80%的网速在一范围内,即对范围内的网速进行保留,剔除范围外的网速,判断筛选后,即保留的资源的数量是否满足预设数量,若不满足,则利用webpackplugin生成预设大小的测试包,再通过setInterval函数定时发送所述测试包,进行加载,直至筛选后的资源数量和测试包数量之和满足所述预设数量,根据所述资源以及测试包对应的网速,得到所述平均网速;若满足,则根据筛选后的资源对应的网速,得到所述平均网速
在确保资源的大小、网速以及数量在满足要求的情况下,获取到对应的平均网速,使其具有准确性;在不满足数量的情况下,利用webpackplugin生成预设大小的测试包,并发送至浏览器进行加载,基于加载情况和测试包大小,得到测试包对应的网速,基于测试包的网速和资源的网速,在仅占用极少流量的情况下,得到平均网速。得到的平均网速更贴合实际的情况。
S5、若所述浏览器支持downlink属性,则直接获取到所述平均网速。
具体的,若支持downlink属性,通过这一属性可以直接获取到最近一段时间内的浏览器网速,downlink是NetworkInformation接口的一个只读属性,返回以Mb/s为单位的有效带宽,并保留该值为25kb/s的最接近的整数倍。
本实施例的网络监测方法在接收检测指令,判断浏览器是否支持downlink属性,若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性,当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速;若所述浏览器支持downlink属性,则直接获取到所述平均网速,通过自动降级挑选出最优方案,从不占用流量获取网速自动降级到占用极少量流量获取网速,能准确且快速的得出网速。
本实施例还提供一种网络监测装置,如图3所示,是本申请网络监测装置的功能模块图。
本申请所述网络监测装置100可以安装于电子设备中。根据实现的功能,所述网络监测装置100可以包括接收模块101、第一判断模块102、第二判断模块103、第一网速获取模块104以及第二网速获取模块105。本申请所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
接收模块101,用于接收监测指令;
第一判断模块102,用于基于所述检测指令,判断浏览器是否支持downlink属性;
进一步的,所述第一判断模块102包括第一属性判断子模块;
第一属性判断子模块,用于通过window.navigator.connection.downlink来判断所述浏览器是否支持downlink属性。
第一属性判断子模块,通过window.navigator.connection.downlink实现快速判断浏览器是否支持downlink属性,便于后续步骤的执行。
第二判断模块103,用于若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性;
进一步的,第二判断模块103包括第二属性判断模块;
所述第二属性判断模块,用于通过window.PerformanceObserver和window.performance.getEntries来分别判断所述浏览器是否支持PerformanceObserver和getEntries属性。
第二属性判断模块,通过window.PerformanceObserver和window.performance.getEntries快速的判断浏览器是否支持对应的属性,便于后续确定对应步骤的执行。
进一步的,所述网络监测装置100还包括第三网速获取模块;
所述第三网速获取模块,用于当所述浏览器仅支持getEntries属性,不支持PerformanceObserver属性时,则利用setInterval定时轮询getEntries并通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速。
通过第三网速获取模块,在浏览器不支持PerformanceObserver属性的情况下,通过利用setInterval定时轮询getEntries函数,实现在不占用流量的情况下获取预设时间内的所有资源,并获取对应的平均网速。
进一步的,所述网络监测装置100还包括第四网速获取模块;
所述第四网速获取模块,用于当所述浏览器不支持PerformanceObserver和getEntries属性时,利用webpackplugin生成预设大小的测试包,并通过setInterval定时发送所述测试包,从而获取所述平均网速。
通过第四网速获取模块,在浏览器不支持PerformanceObserver和getEntries属性的情况下,实现在占用少量的流量获取到平均网速。
第一网速获取模块104,用于当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速;
进一步的,所述第一网速获取模块104包括第一筛选子模块、获取子模块、第二筛选子模块、数量判断子模块和网速确定子模块;
第一筛选子模块,用于基于预设大小,对所有所述资源进行筛选,保留大于等于所述预设大小的资源;
获取子模块,用于根据所述大于等于所述预设大小的资源,获取对应的网速;
第二筛选子模块,用于对所有大于等于所述预设大小的资源对应的网速进行剔除离群值处理,得到筛选后的资源及其对应网速;
数量判断子模块,用于判断筛选后的资源数量是否满足预设数量;
网速确定子模块,用于若不满足,则利用webpackplugin生成预设大小的测试包,发送所述测试包,直至筛选后的资源数量和测试包数量之和满足所述预设数量,根据所述资源以及测试包对应的网速,得到所述平均网速;若满足,则根据筛选后的资源对应的网速,得到所述平均网速。
通过第一筛选子模块、获取子模块、第二筛选子模块、数量判断子模块和网速确定子模块的配合,在确保资源的大小、网速以及数量在满足要求的情况下,获取到对应的平均网速,使其具有准确性;在不满足数量的情况下,利用webpackplugin生成预设大小的测试包,并发送至浏览器进行加载,基于加载情况和测试包大小,得到测试包对应的网速,基于测试包的网速和资源的网速,得到平均网速。得到的平均网速更贴合实际的情况。
第二网速获取模块105,用于若所述浏览器支持downlink属性,则直接获取到所述平均网速。
通过采用上述装置,所述网络监测装置100通过接收模块101、第一判断模块102、第二判断模块103、第一网速获取模块104以及第二网速获取模块105的配合使用,接收检测指令,判断浏览器是否支持downlink属性,若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性,当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速;若所述浏览器支持downlink属性,则直接获取到所述平均网速,通过自动降级挑选出最优方案,从不占用流量获取网速自动降级到占用极少量流量获取网速,能准确且快速的得出网速。
本申请实施例还提供一种计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如网络监测方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述网络监测方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
尽管未示出,计算机设备4还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器42会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器41中,并由处理器42来运行存储在存储器41中的应用程序,从而实现各种功能,如下:
本实施例通过处理器42执行存储在存储器41的计算机可读指令时实现如上述实施例网络监测方法的步骤,接收检测指令,判断浏览器是否支持downlink属性,若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性,当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速;若所述浏览器支持downlink属性,则直接获取到所述平均网速,通过自动降级挑选出最优方案,从不占用流量获取网速自动降级到占用极少量流量获取网速,能准确且快速的得出网速。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的网络监测方法的步骤,接收检测指令,判断浏览器是否支持downlink属性,若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性,当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速;若所述浏览器支持downlink属性,则直接获取到所述平均网速,通过自动降级挑选出最优方案,从不占用流量获取网速自动降级到占用极少量流量获取网速,能准确且快速的得出网速。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
本申请上述实施例的网络监测装置、计算机设备、计算机可读存储介质具有与上述实施例的网络监测方法相同的技术效果,在此不作展开。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (8)
1.一种网络监测方法,其特征在于,所述方法包括:
接收监测指令;
基于所述监测指令,判断浏览器是否支持downlink属性;
若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性;
当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速,其中,所述资源中包括数据大小和响应时间,通过所述数据大小除以所述响应时间得到所述资源对应的网速,基于各个资源的网速计算平均网速;
若所述浏览器支持downlink属性,则直接获取到所述平均网速;
所述在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速包括:
基于预设大小,对所有所述资源进行筛选,保留大于等于所述预设大小的资源;
根据所述大于等于所述预设大小的资源,获取对应的网速;
对所有大于等于所述预设大小的资源对应的网速进行剔除离群值处理,得到筛选后的资源及其对应网速,其中,对所有大于等于所述预设大小的资源对应的网速进行排列,得到排列图,根据排列图,进行剔除离群值处理;
判断筛选后的资源数量是否满足预设数量;
若不满足,则利用webpackplugin生成预设大小的测试包,发送所述测试包,直至筛选后的资源数量和测试包数量之和满足所述预设数量,根据所述资源以及测试包对应的网速,得到所述平均网速;
若满足,则根据筛选后的资源对应的网速,得到所述平均网速。
2.根据权利要求1所述的网络监测方法,其特征在于,所述判断浏览器是否支持downlink属性包括:
通过window.navigator.connection.downlink来判断所述浏览器是否支持downlink属性。
3.根据权利要求1所述的网络监测方法,其特征在于,所述判断所述浏览器是否支持PerformanceObserver和getEntries属性包括:
通过window.PerformanceObserver和window.performance.getEntries来分别判断所述浏览器是否支持PerformanceObserver和getEntries属性。
4.根据权利要求1所述的网络监测方法,其特征在于,在所述判断所述浏览器是否支持PerformanceObserver和getEntries属性之后,还包括:
当所述浏览器仅支持getEntries属性,不支持PerformanceObserver属性时,则利用setInterval定时轮询getEntries并通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速。
5.根据权利要求1所述的网络监测方法,其特征在于,在所述判断所述浏览器是否支持PerformanceObserver和getEntries属性之后,还包括:
当所述浏览器不支持PerformanceObserver和getEntries属性时,利用webpackplugin生成预设大小的测试包,并通过setInterval定时发送所述测试包,从而获取所述平均网速。
6.一种网络监测装置,其特征在于,所述装置包括:
接收模块,用于接收监测指令;
第一判断模块,用于基于所述监测指令,判断浏览器是否支持downlink属性;
第二判断模块,用于若所述浏览器不支持downlink属性,则判断所述浏览器是否支持PerformanceObserver和getEntries属性;
第一网速获取模块,用于当所述浏览器支持PerformanceObserver和getEntries属性时,则在PerformanceObserver的监听下通过getEntries获取在预设时间内的所有资源,基于所述资源,获取到对应的平均网速,其中,所述资源中包括数据大小和响应时间,通过所述数据大小除以所述响应时间得到所述资源对应的网速,基于各个资源的网速计算平均网速;
第二网速获取模块,用于若所述浏览器支持downlink属性,则直接获取到所述平均网速;
所述第一网速获取模块包括:
第一筛选子模块,用于基于预设大小,对所有所述资源进行筛选,保留大于等于所述预设大小的资源;
获取子模块,用于根据所述大于等于所述预设大小的资源,获取对应的网速;
第二筛选子模块,用于对所有大于等于所述预设大小的资源对应的网速进行剔除离群值处理,得到筛选后的资源及其对应网速,其中,对所有大于等于所述预设大小的资源对应的网速进行排列,得到排列图,根据排列图,进行剔除离群值处理;
数量判断子模块,用于判断筛选后的资源数量是否满足预设数量;
网速确定子模块,用于若不满足,则利用webpackplugin生成预设大小的测试包,发送所述测试包,直至筛选后的资源数量和测试包数量之和满足所述预设数量,根据所述资源以及测试包对应的网速,得到所述平均网速;若满足,则根据筛选后的资源对应的网速,得到所述平均网速。
7.一种计算机设备,其特征在于,所述计算机设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至5中任一所述的网络监测方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一所述的网络监测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210700909.2A CN115065620B (zh) | 2022-06-20 | 2022-06-20 | 网络监测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210700909.2A CN115065620B (zh) | 2022-06-20 | 2022-06-20 | 网络监测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115065620A CN115065620A (zh) | 2022-09-16 |
CN115065620B true CN115065620B (zh) | 2023-08-22 |
Family
ID=83202125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210700909.2A Active CN115065620B (zh) | 2022-06-20 | 2022-06-20 | 网络监测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115065620B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165152A (zh) * | 2018-07-31 | 2019-01-08 | 上海哔哩哔哩科技有限公司 | Web系统的性能监控方法、系统和存储介质 |
CN110287433A (zh) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | 网络信息处理方法、装置和电子设备 |
CN112416726A (zh) * | 2020-11-20 | 2021-02-26 | 深圳开源互联网安全技术有限公司 | 一种web应用静态资源加载性能的分析方法及装置 |
CN113127788A (zh) * | 2020-01-14 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 页面处理方法、对象处理方法、装置及设备 |
CN113382083A (zh) * | 2021-06-30 | 2021-09-10 | 建信金融科技有限责任公司 | 一种网页截图方法和装置 |
CN114124919A (zh) * | 2021-11-29 | 2022-03-01 | 中国平安人寿保险股份有限公司 | 网络状况的检测方法、装置、计算机设备和存储介质 |
CN114491344A (zh) * | 2022-01-28 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种网页资源下载类型确定方法、装置、设备及介质 |
-
2022
- 2022-06-20 CN CN202210700909.2A patent/CN115065620B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165152A (zh) * | 2018-07-31 | 2019-01-08 | 上海哔哩哔哩科技有限公司 | Web系统的性能监控方法、系统和存储介质 |
CN110287433A (zh) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | 网络信息处理方法、装置和电子设备 |
CN113127788A (zh) * | 2020-01-14 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 页面处理方法、对象处理方法、装置及设备 |
CN112416726A (zh) * | 2020-11-20 | 2021-02-26 | 深圳开源互联网安全技术有限公司 | 一种web应用静态资源加载性能的分析方法及装置 |
CN113382083A (zh) * | 2021-06-30 | 2021-09-10 | 建信金融科技有限责任公司 | 一种网页截图方法和装置 |
CN114124919A (zh) * | 2021-11-29 | 2022-03-01 | 中国平安人寿保险股份有限公司 | 网络状况的检测方法、装置、计算机设备和存储介质 |
CN114491344A (zh) * | 2022-01-28 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种网页资源下载类型确定方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115065620A (zh) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114095567B (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
CN110020367B (zh) | 一种页面渲染方法及装置 | |
CN111538885B (zh) | 页面监听方法、装置、电子设备及存储介质 | |
CN108259266B (zh) | 网站性能监测方法和系统 | |
CN112153170B (zh) | 访问服务器的方法、装置、设备及存储介质 | |
CN111984896A (zh) | 埋点数据采集方法、装置、计算机设备及可读存储介质 | |
CN115277566B (zh) | 数据访问的负载均衡方法、装置、计算机设备及介质 | |
CN114490078A (zh) | 一种微服务的动态缩扩容方法、装置及设备 | |
CN111079048B (zh) | 一种页面加载方法及装置 | |
CN114189559B (zh) | 基于Axios的接口重复请求处理方法及系统 | |
CN111107118B (zh) | 一种图片访问加速方法、装置、设备、系统及存储介质 | |
CN110929129B (zh) | 一种信息检测方法、设备及机器可读存储介质 | |
CN110851987A (zh) | 基于加速比预测计算时长的方法、装置和存储介质 | |
CN114553762A (zh) | 一种对流表中的流表项处理的方法及装置 | |
CN112653736B (zh) | 一种并行回源方法、装置及电子设备 | |
CN111400051B (zh) | 一种资源调度方法、装置及系统 | |
CN115065620B (zh) | 网络监测方法、装置、设备及存储介质 | |
CN114138499B (zh) | Gpu资源利用率的监控方法、装置、计算机设备及介质 | |
CN112672187B (zh) | 页面生成方法、装置、计算机设备及可读存储介质 | |
CN114500484A (zh) | 页面渲染方法、装置、电子设备及可读介质 | |
CN115086194A (zh) | 云应用的数据传输方法、计算设备及计算机存储介质 | |
CN111563038A (zh) | Sdk测试方法、装置、计算机设备及计算机可读存储介质 | |
CN113055199A (zh) | 网关访问方法、装置及网关设备 | |
CN108183837B (zh) | 网站性能监测方法和系统 | |
CN111782323B (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 |