网速测试方法及装置与流程

文档序号:12375942阅读:245来源:国知局
网速测试方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种网速测试方法及装置。



背景技术:

随着电子产业的发展,各个电子产品都能够连接网络,进而实现更多的功能,网速的快慢直接影响实现各个功能的效果。现有技术中,可以在需要使用大量流量的情况下先对用户所使用的当前网络类型进行检测,但是网络类型与网速并不能等同,因此快速、直接地判断网速是亟待解决的问题。



技术实现要素:

有鉴于此,本发明实施例提供一种网速测试方法及装置,可以方便有效地检测当前电子终端所在网络的网速。

本发明实施例提供一种网速测试方法,所述方法包括以下步骤:

在电子终端中通过指定路径进入测试;

进行以下后台操作:

向服务器发送一个指定文件包,及向所述服务器发送一个所述指定文件包的整数倍大小的文件包,并分别记录两次发送动作所需时间为第一时间和第二时间;以及

根据所述第一时间与所述第二时间计算所述电子终端的当前网速。

本发明实施例还提供一种网速测试装置,所述装置包括:

进入模块,用于在电子终端中通过指定路径进入测试;

后台模块:所述后台模块包括:

发送单元,用于向服务器发送一个指定文件包,及向所述服务器发送一个所述指定文件包的整数倍大小的文件包;

记录单元,用于记录向所述服务器发送一个所述指定文件包所需的第一时间,及记录向所述服务器发送一个所述指定文件包的整数倍大小的文件包所需的第二时间;以及

计算单元,用于根据所述第一时间与所述第二时间计算所述电子终端的当前网速。

根据本发明的上述实施例方法及装置,通过两次向服务器发送不同大小的文件包,以及通过两次发送动作所使用的时间计算出当前网络的速度,可方便、快速地测试电子终端的网速。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

图1为一种电子终端的结构框图。

图2为本发明第一实施例提供的网速测试方法流程图。

图3为本发明第二实施例提供的网速测试方法流程图。

图4为本发明实施例提供的网速测试结果的终端显示示意图。

图5为本发明第三实施例提供的网速测试方法流程图。

图6为本发明第四实施例提供的网速测试装置的结构框图。

图7为本发明第五实施例提供的网速测试装置的结构框图。

图8为本发明第六实施例提供的网速测试装置的结构框图。

具体实施方式

为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。

图1示出了一种电子终端的结构框图。如图1所示,电子终端100包括一个或多个(图中仅示出一个)处理器102、存储器104、存储控制器106,外设接口108、RF(Radio Frequency,射频)模块110、网络模块112、传感器114、摄像模块116、输入模块118、及显示模块120。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子终端100的结构造成限定。例如,电子终端100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。上述的电子终端100的具体实例包括但并不限于手持式计算机、移动电话、媒体播放器、车载设备、个人数字助理及前述装置的各种组合。

本领域普通技术人员可以理解,相对于处理器102来说,所有其他的组件均属于外设,处理器102与这些外设之间通过多个外设接口108相耦合。外设接口108可基于以下标准实现:通用异步接收/发送装置(Universal Asynchronous Receiver/Transmitter,UART)、通用输入/输出(General Purpose Input Output,GPIO)、串行外设接口(Serial Peripheral Interface,SPI)、内部集成电路(Inter-Integrated Circuit,I2C),但不并限于上述标准。在一些实例中,外设接口108可仅包括总线;在另一些实例中,外设接口108还可包括其他元件,如一个或者多个控制器,例如用于连接液晶显示面板的显示控制器或者用于连接存储器的存储控制器106。此外,这些控制器还可以从外设接口108中脱离出来,而集成于处理器102内或者相应的外设内。

存储器104可用于存储软件程序以及模块,如本发明实施例中的网速测试方法/装置对应的程序指令/模块,处理器102通过运行存储在存储器 104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的网速测试方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至电子终端100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

RF模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF模块110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF模块110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(wideband code division multiple access,W-CDMA),码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE 802.11a,IEEE 802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice over internet protocal,VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。

网络模块112用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为WiFi信号,由于WiFi的工作频率也处于射频的频段内,此时网络模块可具有与RF模块110类似的硬件结构,即可包括天线、射频收发器、数字信号处理器、加密/解密芯片等元件。在一个实例中,上述网络信号为有线网络信号。此时,网络模块112可包括处理器、随机存储器、转换器、晶体振荡器等元件。

传感器114的实例包括但并不限于:光传感器、运行传感器、及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可以感测环境光的明暗,进而处理器102执行的一些模块可利用环境光传感器的输出来自动调节显示的输出。接近传感器可在电子终端100移动到耳边时,关闭显示输出。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子终端100还可配置的陀螺仪、气压计、湿度计、温度计等其他传感器,在此不再赘述。

摄像模块116用于拍摄照片或者视频。拍摄的照片或者视频可以存储至存储器104内,并可通过RF模块110发送。摄像模块116具体可包括镜头模组、影像感测器以及闪光灯等组件。镜头模组用于对被拍摄的目标成像,并将所成的像映射至影像感测器中。影像感测器用于接收来自镜头模组的光线,实现感光,以记录图像信息。具体地,影像感测器可基于互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)、电荷耦合元件(Charge-coupled Device,CCD)或者其他影像感测原理实现。闪光灯用于在拍摄时进行曝光补偿。一般来说,用于电子终端100的闪光灯可为发光二极体(Light Emitting Diode,LED)闪光灯。

输入模块118可用于接收输入的字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入模块118可包括按键以及触控表面。按键例如可包括用于输入字符的字符按键,以及用于触发控制功能的控制按键。控制按键的实例包括“返回主屏”按键、开机/关机按键、拍照键等等。触控表面可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控表面上或在触控表面附近的操作),并根据预先设定的程序驱动相应的连接装置。可选的,触控表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器102,并能接收处理器102发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控表面。除了触控表面,输入模块118还可以包括其他输入设备。上述的其他输入设备包括但不限于物理键盘、轨迹球、鼠标、操作杆等中的一种或多种。

显示模块120用于显示由用户输入的信息、提供给用户的信息以及电子终端100的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。在一个实例中,显示模块120包括一个显示面板。显示面板例如可为一个液晶显示面板(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode Display,OLED)显示面板、电泳显示面板(Electro-Phoretic Display,EPD)等。进一步地,触控表面可设置于显示面板上从而与显示面板构成一个整体。在另一些实施例中,显示模块120还可包括其他类型的显示装置,例如包括一个投影显示装置。相比于一般的显示面板,投影显示装置还需要包括一些用于投影的部件例如透镜组。

上述的软件程序以及模块包括:操作系统以及网速测试模块。其中操作系统例如可为LINUX,UNIX,WINDOWS,或者移动操作系统如Android,IOS等,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。网速测试模块运行在操作系统的基础上,用于对电子终端100的网络速度进行测试。

第一实施例

本实施例提供一种网速测试方法,其可用于图1所示的电子终端100中,如图2所示,本实施例的方法包括以下步骤:

步骤S101、在电子终端中通过指定路径进入测试。

可以理解的是,软件中的各个功能可通过一段或多段函数来实现,可以通过用户触发使该一段或多段函数执行,也可以是执行其它函数的指定位置时默认先执行该一段或多段代码。而本实施例中的网速测试,可以由用户通过指定方式触发,例如,输入测试链接,或者扫描指定二维码进入测试;也可以是在执行其它功能之前默认先进入网速测试,例如,在用户浏览空间等网页之前先进行网速测试。

步骤S102、该电子终端后台向服务器发送一个指定文件包,及向该服务器发送一个该指定文件包的整数倍大小的文件包,并分别记录两次发送动作所需时间为第一时间和第二时间。

该指定文件包可以是该电子终端100内存储的一张图片,测试文档等文件包。由于一次HTTP请求过程分为DNS(Domain Name System,域名系统)请求、TCP(Transmission Control Protocol,传输控制协议)连接、RTT(Round-Trip Time,往返时延)、交通时间。其中,RTT表示从发送端发送数据开始,到发送端收到接收端的确认(接收端收到数据后便 立即发送确认),总共经历的时延。因此,本实施例中的向服务器发送指定文件包记录的该第一时间与该第二时间均包括该DNS请求、TCP连接、往返时延、交通时间所花费的总时长。该一个该指定文件包的整数倍大小的文件包可以根据需求设置该指定文件包的任意整数倍数,例如可以是改指定文件包两倍大小的文件包。

进一步地,该指定文件包的整数倍大小的文件包的大小不超过最大输出单元(MTU)所限制的大小。该最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的对应层上面所能通过的最大数据包大小(以字节为单位)。比如,在本实施例中,该最大传输单元可以是发送上述文件包所依据的通信协议的对应层上面所能通过的最大数据包大小。

步骤S103、根据该第一时间与该第二时间计算该电子终端的当前网速。

由于只要向服务器发送的文件包的大小不大于最大传输单元(MTU),每次发送动作所花时间中的DNS请求、TCP连接、往返时延RTT可以看作大致相同。因此,该第一时间与该第二时间的时差在于两次发送动作中所花费的该交通时间的差别,而该交通时间则由所发送的文件包的大小和带宽决定。

详细地,本实施例使用bandwidth_detection.js这一库来实现测试网速的计算过程。在一个实例中,根据该第一时间与该第二时间计算该电子终端当前网速的计算公式可包括:

该第一时间为:T1=DNS+TCP+RTT+PackageSize/BandWidth;

该第一时间为:T2=DNS+TCP+RTT+nPackageSize/BandWidth;

T2-T1=(n-1)PackageSize/BandWidth;

则BandWidth=(n-1)PackageSize/(T2-T1);

其中,DNS表示DNS请求时间、TCP表示TCP连接时间、RTT即往返 时延、PackageSize为发送的该指定文件包的大小、以及BandWidth表示带宽,其中n为该整数倍大小的文件包的该整数倍数。

由此可知,根据该第一时间和该第二时间则可计算出带宽(BandWidth),即可得到该电子终端100的网速。

进一步地,还可以重复步骤S102至步骤S103分别计算出带宽。最后取多次测得的带宽的平均值作为网速的最终测试结果。

根据上述实施例的方法,通过两次向服务器发送不同大小的文件包,以及通过两次发送动作使用的时间计算出当前网络的速度,可以方便、快速地测试电子终端的网速。

第二实施例

图3为本实施例提供的网速测试方法流程图,本实施例与第一实施例类似,其不同之处在于,如图3所示,本实施例的方法包括以下步骤:

步骤S201、接收用户输入的测试路径进入测试。

该电子终端接收用户输入测试路径进入测试可以是在该电子终端100通过用户触发测试链接进入测试;例如,可以是接收用户在地址栏输入的指定链接,从而进入测试;也可以是点击页面中进入测试的指定链接进入测试。

该电子终端接收用户输入测试路径进入测试还可以是通过扫描指定二维码进入测试。

步骤S202、该电子终端后台向服务器发送一个指定文件包,及向该服务器发送一个该指定文件包的整数倍大小的文件包,并分别记录两次发送动作所需时间为第一时间和第二时间。

进一步地,该指定文件包的整数倍大小的文件包的大小不超过最大输出单元(MTU)所限制的大小。

步骤S203、根据该第一时间与该第二时间计算该电子终端当前网速。

步骤S204、对所测得的该网速进行打分。

在本步骤中,对根据上述计算方式计算得到的网速进行打分。打分可以按照十分制进行打分,也可以按照百分制进行打分,这可以根据具体需要进行调整。例如,0分为没网状态,对应“none”级;0到6分为很慢的网速,对应“vslow”级;6到20分为有点慢的网速,对应“slow”级;20分到85分为不错的网速,对应“medium”级;85分以上为很快的网速,对应“fast”级。

步骤S205、将该网速的打分在该电子终端上进行显示。

以下为在一个实例中,通过该电子终端100所在网络的网速进行测试,测试后对不同的分数,输出不同的结果,可以如下部分代码实施该方法中对于不同分数输出不同的文字效果:

在一个实例中,若该电子终端100接收到用户点击该指定链接的操作,则进入测试页面,该测试页面中包括“开始测速”按钮。若接收到该用户点击该“开始测速”按钮的操作,则开始测速。如图4所示,为一个实例的测试结果,网速得分为34,而与34分对应的是“medium”级,其对应输出的字幕为“网速还可以哦。能达到3G/HSPA/HSPA+网络”。其中,图4的输出内容还包括此次测试过程耗时为978ms。

关于本实施例的其它细节,还可进一步地参考第一实施例,在此不再赘述。

根据上述实施例的方法,通过对当前网速进行测试,并对测试网速的结果进行显示,可以使用户直观地得知当前网速状况。

第三实施例

图5为本实施例提供的网速测试方法流程图,本实施例与第一实施例类似,其不同之处在于,如图5所示,本实施例的方法包括以下步骤:

步骤S301、在该电子终端中浏览网页前自动触发进入测试。

在一个实例中,在浏览网页前先触发本发明实施例的方法进行网速测试。例如,该电子终端100在浏览空间之前会先触发网速测试。进一步地,触发进入测试也是后台自动进行。

步骤S302、该电子终端后台向服务器发送一个指定文件包,及向该服务器发送一个该指定文件包的整数倍大小的文件包,并分别记录两次发送动作所需时间为第一时间和第二时间。

该指定文件包的整数倍大小的文件包的大小不超过最大输出单元(MTU)所限制的大小。

步骤S303、根据该第一时间与该第二时间计算该电子终端的当前网速。

步骤S304、根据测得的网速所对应的预设方式显示该网页中的相应内容。

进一步地,若该在电子终端中通过指定路径进入测试为该电子终端中浏览网页前自动触发进入测试,才会执行步骤S304。

例如,在浏览空间之前已经进行了网速测试并对其网速进行打分分级。打分可以按照十分制进行打分,也可以按照百分制进行打分,这可以根据具体需要进行调整。在一个实例中,网速测试结果的分数分别为:0分为没网状态,对应“none”级;0到6分为很慢的网速,对应“vslow”级;6到20分为有点慢的网速,对应“slow”级;20分到85分为不错的网速,对应“medium”级;85分以上为很快的网速,对应“fast”级。

在本步骤中,可对不同级别的网速预设需要显示的网页的相应内容,例如,当前网速为“none”级表示没网络状态,不能进行浏览,则不显示 浏览内容;当前网速为“vslow”级或“slow”级时表示网速较慢,则可做对图片等进行模糊显示、不显示动图等动作,因为当网速很慢时,却对图片进行清晰显示可能会导致图片显示不出来,出现不能成功显示等状况;当前网速为“medium”级或“fast”级时表示测试网速较快,则可以完全显示浏览内容。当然根据网速对应显示浏览器中的内容也可以根据实际情况进行调整,上述对应显示仅为一个实例中的操作。

关于本实施例的其它细节,还可进一步地参考第一实施例,在此不再赘述。

根据上述实施例的方法,通过在浏览网页之前先进行网速测试,再根据测试结果选择性地显示网页中的相应内容,可防止网速状态不能及时响应当前浏览请求而造成长时间不能打开页面中的内容的问题,从而提高了用户体验。

第四实施例

图6为本实施例提供的网速测试装置结构框图,如图6所示,本实施例的装置包括:进入模块401以及后台模块402。

进入模块401,用于在电子终端中通过指定路径进入测试。

后台模块402,包括发送单元4021、记录单元4022以及计算单元4023。

发送单元4021,用于向服务器发送一个指定文件包,及向该服务器发送一个该指定文件包的整数倍大小的文件包。

该指定文件包的整数倍大小的文件包的大小不超过最大输出单元(MTU)所限制的大小。

记录单元4022,用于记录向服务器发送一个指定文件包所需的第一时间,及记录向服务器发送一个该指定文件包的整数倍大小的文件包所需 的第二时间。

计算单元4023,用于根据该第一时间与该第二时间计算该电子终端的当前网速。

在一个实例中,则根据该第一时间与该第二时间计算该电子终端当前网速的计算公式可包括:

该第一时间为:T1=DNS+TCP+RTT+PackageSize/BandWidth;

该第一时间为:T2=DNS+TCP+RTT+nPackageSize/BandWidth;

T2-T1=(n-1)PackageSize/BandWidth;

则BandWidth=(n-1)PackageSize/(T2-T1);

其中DNS表示DNS请求时间、TCP表示TCP连接时间、RTT即往返延、PackageSize为发送的该指定文件包的大小、以及BandWidth表示带宽。

关于本实施例的装置的其他细节,还可进一步参阅上述方法实施例,在此不再赘述。

根据上述实施例的装置,通过两次向服务器发送不同大小的文件包并通过两次发送动作所使用的时间计算出当前网络的速度,可方便、快速地测试网速。

第五实施例

图7为本实施例提供的网速测试装置结构框图,如图7所示,本实施例的装置与图6所示装置类似,其不同之处在于:

该进入模块401包括:用户输入进入单元4011,用于通过接收用户输入的测试路径进入测试。

该用户输入进入单元4011包括:

链接触发子单元,用于该电子终端通过用户触发测试链接进入测试。

二维码进入子单元,用于通过扫描指定二维码进入测试。

该装置还包括:

打分模块403,用于对测得的该网速进行打分。

输出模块404,用于将该网速的打分在该电子终端上进行显示。

关于本实施例的装置的其他细节,还可进一步参阅第二实施例,在此不再赘述。

根据上述实施例的装置,通过对当前网速进行测试,并对测试网速的结果进行显示,可以使用户直观地得知当前网速状况。

第六实施例

图8为本实施例提供的网速测试装置的结构框图,如图8所示,本实施例的装置与图6所示装置类似,其不同之处在于:

该进入模块401包括:自动进入单元4012,用于在该电子终端中浏览网页前自动触发进入测试。

该装置还包括:

对应显示模块405,用于根据测得的网速所对应的预设方式显示该网页中的相应内容。

关于本实施例的装置的其他细节,还可进一步参阅第三实施例,在此不再赘述。

根据上述实施例的装置,通过在浏览网页之前先进行网速测试,再根据测试结果对应显示网页中的相应内容,可防止网速状态不能及时响应当前浏览请求所造成长时间不能打开页面中的内容的问题,从而提高了用户体验。

此外,本发明实施例还提供一种计算机可读存储介质,其内存储有计算机可执行指令,上述的计算机可读存储介质例如为非易失性存储器例如 光盘、硬盘、或者闪存。上述的计算机可执行指令用于让计算机或者类似的运算装置完成上述的网速测试方法中的各种操作。

以上该,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1