发明内容
针对上述的缺陷,本发明的目的在于提供一种网络测速的方法、系统、存储介质以及计算机设备,对测速设备进行网络测速时不会连接测速服务器,避免了测速产生的流量费用,降低了测速成本。
为了实现上述目的,本发明提供了一种网络测速的方法,包括:
将路由器设置为测速节点;
接收测速设备发起的网络测速请求;
所述测速设备与所述路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
根据所述的网络测速的方法,所述将路由器设置为测速节点包括:
将所述路由器的网络环境设置在外网中,所述路由器具有独立的外网IP地址。
根据所述的网络测速的方法,所述将路由器设置为测速节点包括:
将所述路由器的网络环境设置在子网中,所述路由器所在的网络环境支持网络穿透。
根据所述的网络测速的方法,所述将路由器设置为测速节点包括:
将所述路由器的网络环境设置在子网中,通过STUN协议发现所述路由器的外网IP以及端口,并且将所述外网IP以及端口暴露在外网中。
根据所述的网络测速的方法,所述方法还包括:
获取各个所述路由器的测试节点信息;
获取所述测速设备的测速设备信息;
将所述测试节点信息与所述测速设备信息进行匹配,并筛选出目标路由器集合;
所述所述测速设备与所述路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果包括:
所述测速设备与所述目标路由器集合中的路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
根据所述的网络测速的方法,所述测试节点信息包括以下至少一项:路由器的设备信息、路由器的位置信息、路由器的网络运营商信息;
所述测速设备信息包括以下至少一项:测速设备的IP地址、测速设备的位置信息、测速设备的网络运营商信息。
根据所述的网络测速的方法,所述将所述测试节点信息与所述测速设备信息进行匹配,并筛选出目标路由器集合包括:
将所述测试节点信息与所述测速设备信息进行匹配,并且筛选出位置与所述测速设备的位置小于预定阈值的路由器,并且网络运营商与所述测速设备的网络运营商相同的路由器形成目标路由器集合。
根据所述的网络测速的方法,所述测速设备包括手机、个人电脑以及路由器。
为了实现上述目的,本发明还提供了一种网络测速的系统,包括:
设置模块,用于将路由器设置为测速节点;
接收模块,用于接收测速设备发起的网络测速请求;
测速模块,用于所述测速设备与所述路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
根据述的网络测速的系统,所述设置模块包括:
第一设置子模块,用于将所述路由器的网络环境设置在外网中,所述路由器具有独立的外网IP地址。
根据述的网络测速的系统,所述设置模块包括:
第二设置子模块,用于将所述路由器的网络环境设置在子网中,所述路由器所在的网络环境支持网络穿透。
根据述的网络测速的系统,所述设置模块包括:
第三设置子模块,用于将所述路由器的网络环境设置在子网中,通过STUN协议发现所述路由器的外网IP以及端口,并且将所述外网IP以及端口暴露在外网中。
根据述的网络测速的系统,所述系统还包括筛选模块,所述筛选模块用于获取各个所述路由器的测试节点信息;获取所述测速设备的测速设备信息;将所述测试节点信息与所述测速设备信息进行匹配,并筛选出目标路由器集合;
所述测速模块具体用于:
所述测速设备与所述目标路由器集合中的路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
根据述的网络测速的系统,所述测试节点信息包括以下至少一项:路由器的设备信息、路由器的位置信息、路由器的网络运营商信息;
所述测速设备信息包括以下至少一项:测速设备的IP地址、测速设备的位置信息、测速设备的网络运营商信息。
根据述的网络测速的系统,所述筛选模块具体用于:
将所述测试节点信息与所述测速设备信息进行匹配,并且筛选出位置与所述测速设备的位置小于预定阈值的路由器,并且网络运营商与所述测速设备的网络运营商相同的路由器形成目标路由器集合。
根据述的网络测速的系统,所述测速设备包括手机、个人电脑以及路由器。
为了实现上述目的,本发明还提供了一种存储介质,用于存储一种用于执行上述任意一种网络测速的方法的计算机程序。
为了实现上述目的,本发明还提供了一种计算机设备,包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的网络测速的方法。
本发明通过将路由器设置为测速节点,即赋予了路由器测速节点的功能,测速设备可以向路由器请求流量发起网络测速请求,从而计算出测速设备的下行带宽和上行带宽;所述测速设备与所述路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果,由于所述测速设备与所述路由器建立了P2P通信连接,通过P2P通信连接的两个客户端进行信息传输时可以直接传输数据,不需要通过服务器,由此,实现了对测速设备进行网络测速时不会连接测速服务器,避免了测速产生的流量费用。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的,本说明书中针对“一个实施例”、“实施例”、“示例实施例”等的引用,指的是描述的该实施例可包括特定的特征、结构或特性,但是不是每个实施例必须包含这些特定特征、结构或特性。此外,这样的表述并非指的是同一个实施例。进一步,在结合实施例描述特定的特征、结构或特性时,不管有没有明确的描述,已经表明将这样的特征、结构或特性结合到其它实施例中是在本领域技术人员的知识范围内的。
此外,在说明书及后续的权利要求当中使用了某些词汇来指称特定组件或部件,所属领域中具有通常知识者应可理解,制造商可以用不同的名词或术语来称呼同一个组件或部件。本说明书及后续的权利要求并不以名称的差异来作为区分组件或部件的方式,而是以组件或部件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求书中所提及的“包括”和“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“连接”一词在此系包含任何直接及间接的电性连接手段。间接的电性连接手段包括通过其它装置进行连接。
参见图1,图1示出了本发明的第一实施例中提供的网络测速的方法的流程图,该方法包括:
步骤S101,将路由器设置为测速节点;
步骤S102,接收测速设备发起的网络测速请求;
步骤S103,测速设备与路由器建立P2P(对等网络连接)通信连接进行信息传输,信息传输完成后获得测速结果。
在该实施例中,该方法适用于对手机、个人电脑、平板电脑以及路由器等测速设备需要进行测速的场景中。该路由器被赋予了测速节点的功能,路由器支持测速协议,其可以通过测速协议与测速设备建立连接,从而获得测速结果。为了实现在进行网络测速时,信息传输直接在测速设备于路由器之间进行传输,将测速设备与路由器建立P2P通信连接,若两个客户端之间建立了P2P通信连接,则两个客户端之间的信息传输不经过服务器,由此,测速设备与路由器可以直接通信,实现了对测速设备进行网络测速时不会连接测速服务器,避免了测速产生的流量费用,降低了测速成本。
作为一个可选的实施例,步骤S101包括:
将路由器的网络环境设置在外网中,路由器具有独立的外网IP地址。
在该实施例中,外网即公共网络,由于路由器具有独立的外网IP地址(InternetProtocol Address),可以不受限制地进行直接访问。由此,可以实现测速设备直接与该路由器建立P2P连接,过程便捷,不需要进行额外的处理。
作为一个可选的实施例,步骤S101包括:
将路由器的网络环境设置在子网中,路由器所在的网络环境支持网络穿透。
在该实施例中,由于IP地址不足,路由器往往需要设置在子网中,设置在子网中的路由器不具有独立的外网IP地址。设置在子网中的路由器需要和外界通信时,需要通过网络地址转换(NAT,Network Address Translation)将其本地IP地址转换为合法的IP地址。正是由于NAT的存在,导致两个客户端(路由器以及测速设备)无法直接通信,从而阻断了P2P通信连接的建立。为了使得路由器以及测速设备可以建立P2P通信连接,将路由器所在的网络环境设置为支持网络穿透,例如路由器的上级网络设备支持upnp(Universal Plugand Play是各种各样的智能设备、无线设备和个人电脑等实现遍布全球的对等网络连接(P2P)的结构),从而使得路由器可以实现测速节点的功能。
作为一个可选的实施例,步骤S101包括:
将路由器的网络环境设置在子网中,通过STUN协议发现路由器的外网IP以及端口,并且将外网IP以及端口暴露在外网中。
在该实施例中,设置在子网中的路由器不具有独立的外网IP地址。为了建立路由器与测速设备之间的P2P通信连接,通过STUN协议可以实现发现路由器的外网IP以及端口的功能,当路由器的外网IP以及端口暴露在外网中,测速设备可以根据该外网IP以及端口向路由器进行连接,当测速设备连接到路由器后,就可以实现双方的直接通信。
作为一个可选的实施例,该方法还包括:
获取各个路由器的测试节点信息;
获取测速设备的测速设备信息;
将测试节点信息与测速设备信息进行匹配,并筛选出目标路由器集合;
步骤S103包括:
测速设备与目标路由器集合中的路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
在该实施例中,为了提升网络测速的准确率,根据测试节点信息与测速设备信息筛选出合适的路由器与测速设备建立连接并进行网络测速。可以通过路由器与调度服务器进行长连接(长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包),路由器向该调度服务器上报该测试节点信息;调度服务器会维护一个当前所有有效的路由器的测速节点信息。测速设备需要进行网络测速时,调用接口,向该调度服务器上报需要的测速设备信息。
具体的,测试节点信息包括以下至少一项:路由器的设备信息、路由器的位置信息、路由器的网络运营商信息;
测速设备信息包括以下至少一项:测速设备的IP地址、测速设备的位置信息、测速设备的网络运营商信息。测试节点信息以及测速设备信息不限于此,提供的信息越多,筛选的目标路由器集合中的路由器的质量越高,例如,测速设备信息还可以包括测速设备的类型(手机、路由器等)。
作为一个可选的实施例,将测试节点信息与测速设备信息进行匹配,并筛选出目标路由器集合包括:
将测试节点信息与测速设备信息进行匹配,并且筛选出位置与测速设备的位置小于预定阈值的路由器,并且网络运营商与测速设备的网络运营商相同的路由器形成目标路由器集合。
在该实施例中,例如当前有1000个路由器可作为有效的测速节点,测速设备A进行测速,测速设备A上报位置、网络运营商等信息后,调度服务器会筛选在测速设备A位置附近、属于相同的网络运营商、并且设备CPU占用较低,以及其他条件满足要求的测速节点,并将测速节点集合返回给测速设备A。测速设备A连接测速节点集合内的测速节点,建立连接成功后,使用测速协议,获得测速结果,测速结果可以包括上行带宽以及下行带宽。
参见图2~图3,图2~图3示出了本发明第二实施例提供的网络测速的系统100的示意图,该系统100包括:
设置模块10,用于将路由器设置为测速节点;
接收模块20,用于接收测速设备发起的网络测速请求;
测速模块30,用于测速设备与路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
在该实施例中,该系统100适用于对手机、个人电脑、平板电脑以及路由器等测速设备需要进行测速的场景中。该路由器被赋予了测速节点的功能,路由器支持测速协议,其可以通过测速协议与测速设备建立连接,从而获得测速结果。为了实现在进行网络测速时,信息传输直接在测速设备于路由器之间进行传输,将测速设备与路由器建立P2P通信连接,若两个客户端之间建立了P2P通信连接,则两个客户端之间的信息传输不经过服务器,由此,测速设备与路由器可以直接通信,实现了对测速设备进行网络测速时不会连接测速服务器,避免了测速产生的流量费用。
作为一个可选的实施例,设置模块10包括:
第一设置子模块11,用于将路由器的网络环境设置在外网中,路由器具有独立的外网IP地址。
在该实施例中,外网即公共网络,由于路由器具有独立的外网IP地址(InternetProtocol Address),可以不受限制地进行直接访问。由此,可以实现测速设备直接与该路由器建立P2P连接,过程便捷。
作为一个可选的实施例,设置模块10包括:
第二设置子模块12,用于将路由器的网络环境设置在子网中,路由器所在的网络环境支持网络穿透。
在该实施例中,由于IP地址不足,路由器往往需要设置在子网中,设置在子网中的路由器不具有独立的外网IP地址。设置在子网中的路由器需要和外界通信时,需要通过网络地址转换(NAT,Network Address Translation)将其本地IP地址转换为合法的IP地址。正是由于NAT的存在,导致两个客户端(路由器以及测速设备)无法直接通信,从而阻断了P2P通信连接的建立。为了使得两个客户端可以建立P2P通信连接,将路由器所在的网络环境设置为支持网络穿透,例如路由器的上级网络设备支持upnp(Universal Plug and Play是各种各样的智能设备、无线设备和个人电脑等实现遍布全球的对等网络连接(P2P)的结构),从而使得路由器可以实现测速节点的功能。
作为一个可选的实施例,设置模块10包括:
第三设置子模块13,用于将路由器的网络环境设置在子网中,通过STUN协议发现路由器的外网IP以及端口,并且将外网IP以及端口暴露在外网中。
在该实施例中,设置在子网中的路由器不具有独立的外网IP地址。为了建立路由器与测速设备之间的P2P通信连接,通过STUN协议可以实现发现路由器的外网IP以及端口的功能,当路由器的外网IP以及端口暴露在外网中,测速设备可以根据该外网IP以及端口向路由器进行连接,当测速设备连接到路由器后,就可以实现双方的直接通信。
作为一个可选的实施例,系统100还包括筛选模块40,筛选模块40用于获取各个路由器的测试节点信息;获取测速设备的测速设备信息;将测试节点信息与测速设备信息进行匹配,并筛选出目标路由器集合;
测速模块30具体用于:
测速设备与目标路由器集合中的路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
在该实施例中,为了提升网络测速的准确率,根据测试节点信息与测速设备信息筛选出合适的路由器与测速设备建立连接并进行网络测速。可以通过路由器与调度服务器进行长连接(长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包),路由器向该调度服务器上报该测试节点信息;调度服务器会维护一个当前所有有效的路由器的测速节点信息。测速设备需要进行网络测速时,调用接口,向该调度服务器上报需要的测速设备信息。
具体的,测试节点信息包括以下至少一项:路由器的设备信息、路由器的位置信息、路由器的网络运营商信息;
测速设备信息包括以下至少一项:测速设备的IP地址、测速设备的位置信息、测速设备的网络运营商信息。测试节点信息以及测速设备信息不限于此,提供的信息越多,筛选的目标路由器集合中的路由器的质量越高,例如,测速设备信息还可以包括测速设备的类型(手机、路由器等)。
作为一个可选的实施例,筛选模块40具体用于:
将测试节点信息与测速设备信息进行匹配,并且筛选出位置与测速设备的位置小于预定阈值的路由器,并且网络运营商与测速设备的网络运营商相同的路由器形成目标路由器集合。
在该实施例中,例如当前有1000个路由器可作为有效的测速节点,测速设备A需要进行测速,测速设备A上报位置、网络运营商等信息后,调度服务器会筛选在测速设备A位置附近、属于相同运营商、并且设备CPU占用较低,以及其他条件满足要求的测速节点,并将测速节点集合返回给测速设备A。测速设备A连接测速节点集合内的测速节点,建立连接成功后,使用测速协议,获得测速结果,测速结果可以包括上行带宽以及下行带宽。
本发明还提供一种存储介质,用于存储一种用于执行上述任意一种网络测速的方法的计算机程序。例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的存储介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输和/或被存储在根据程序指令运行的计算机设备的存储介质中。在此,根据本申请的一个实施例中,包括一个如图4所示的计算机设备400,计算机设备400优选包括用于存储计算机程序的存储介质200和用于执行计算机程序的处理器300,其中,当该计算机程序被该处理器300执行时,触发该计算机设备400执行基于前述多个实施例中的方法和/或技术方案。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
根据本发明的方法可以作为计算机实现方法在计算机上实现、或者在专用硬件中实现、或以两者的组合的方式实现。用于根据本发明的方法的可执行代码或其部分可以存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上以便当所述程序产品在计算机上执行时执行根据本发明的方法的非临时程序代码部件。
在优选实施例中,计算机程序包括适合于当计算机程序在计算机上运行时执行根据本发明的方法的所有步骤的计算机程序代码部件。优选地,在计算机可读介质上体现计算机程序。
综上所述,本发明通过将路由器设置为测速节点,即赋予了路由器测速节点的功能,测速设备可以向路由器请求流量发起网络测速请求,从而计算出测速设备的下行带宽和上行带宽;所述测速设备与所述路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果,由于所述测速设备与所述路由器建立了P2P通信连接,通过P2P通信连接的两个客户端进行信息传输时可以直接传输数据,不需要通过服务器,由此,实现了对测速设备进行网络测速时不会连接测速服务器,避免了测速产生的流量费用。本发明实现了赋予路由器P2P测速节点的功能,并实现了通过云控服务器(调度服务器)自动筛选合适的测速节点集合,使客户端可以通过连接路由器节点进行测速,不需要连接测速服务器,实现了低成本的测速服务。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本发明还公开了:A1、一种网络测速的方法,包括:
将路由器设置为测速节点;
接收测速设备发起的网络测速请求;
所述测速设备与所述路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
A2、根据A1所述的网络测速的方法,所述将路由器设置为测速节点包括:
将所述路由器的网络环境设置在外网中,所述路由器具有独立的外网IP地址。
A3、根据A1所述的网络测速的方法,所述将路由器设置为测速节点包括:
将所述路由器的网络环境设置在子网中,所述路由器所在的网络环境支持网络穿透。
A4、根据A1所述的网络测速的方法,所述将路由器设置为测速节点包括:
将所述路由器的网络环境设置在子网中,通过STUN协议发现所述路由器的外网IP以及端口,并且将所述外网IP以及端口暴露在外网中。
A5、根据A1所述的网络测速的方法,所述方法还包括:
获取各个所述路由器的测试节点信息;
获取所述测速设备的测速设备信息;
将所述测试节点信息与所述测速设备信息进行匹配,并筛选出目标路由器集合;
所述所述测速设备与所述路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果包括:
所述测速设备与所述目标路由器集合中的路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
A6、根据A5所述的网络测速的方法,所述测试节点信息包括以下至少一项:路由器的设备信息、路由器的位置信息、路由器的网络运营商信息;
所述测速设备信息包括以下至少一项:测速设备的IP地址、测速设备的位置信息、测速设备的网络运营商信息。
A7、根据A6所述的网络测速的方法,所述将所述测试节点信息与所述测速设备信息进行匹配,并筛选出目标路由器集合包括:
将所述测试节点信息与所述测速设备信息进行匹配,并且筛选出位置与所述测速设备的位置小于预定阈值的路由器,并且网络运营商与所述测速设备的网络运营商相同的路由器形成目标路由器集合。
A8、根据A1所述的网络测速的方法,所述测速设备包括手机、个人电脑以及路由器。
B9、一种网络测速的系统,包括:
设置模块,用于将路由器设置为测速节点;
接收模块,用于接收测速设备发起的网络测速请求;
测速模块,用于所述测速设备与所述路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
B10、根据B9所述的网络测速的系统,所述设置模块包括:
第一设置子模块,用于将所述路由器的网络环境设置在外网中,所述路由器具有独立的外网IP地址。
B11、根据B9所述的网络测速的系统,所述设置模块包括:
第二设置子模块,用于将所述路由器的网络环境设置在子网中,所述路由器所在的网络环境支持网络穿透。
B12、根据B9所述的网络测速的系统,所述设置模块包括:
第三设置子模块,用于将所述路由器的网络环境设置在子网中,通过STUN协议发现所述路由器的外网IP以及端口,并且将所述外网IP以及端口暴露在外网中。
B13、根据B9所述的网络测速的系统,所述系统还包括筛选模块,所述筛选模块用于获取各个所述路由器的测试节点信息;获取所述测速设备的测速设备信息;将所述测试节点信息与所述测速设备信息进行匹配,并筛选出目标路由器集合;
所述测速模块具体用于:
所述测速设备与所述目标路由器集合中的路由器建立P2P通信连接进行信息传输,信息传输完成后获得测速结果。
B14、根据B13所述的网络测速的系统,所述测试节点信息包括以下至少一项:路由器的设备信息、路由器的位置信息、路由器的网络运营商信息;
所述测速设备信息包括以下至少一项:测速设备的IP地址、测速设备的位置信息、测速设备的网络运营商信息。
B15、根据B14所述的网络测速的系统,所述筛选模块具体用于:
将所述测试节点信息与所述测速设备信息进行匹配,并且筛选出位置与所述测速设备的位置小于预定阈值的路由器,并且网络运营商与所述测速设备的网络运营商相同的路由器形成目标路由器集合。
B16、根据B9所述的网络测速的系统,所述测速设备包括手机、个人电脑以及路由器。
C17、一种存储介质,其特征在于,用于存储一种用于执行A1~A8中任意一种网络测速的方法的计算机程序。
D18、一种计算机设备,包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现A1~A8任一项所述的网络测速的方法。