CN107896241B - 网络访问速度的探测方法、装置、存储介质和电子设备 - Google Patents
网络访问速度的探测方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN107896241B CN107896241B CN201710994282.5A CN201710994282A CN107896241B CN 107896241 B CN107896241 B CN 107896241B CN 201710994282 A CN201710994282 A CN 201710994282A CN 107896241 B CN107896241 B CN 107896241B
- Authority
- CN
- China
- Prior art keywords
- server
- client
- access speed
- access
- address
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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
- H04L43/0864—Round trip delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种网络访问速度的探测方法、装置、存储介质和电子设备,涉及DNS领域,该方法包括:向客户端发送域名系统DNS应答,DNS应答中包括从访问速度数据库中获取的客户端对目标域名访问速度最快的服务器IP地址,在客户端向服务器IP地址对应的目标服务器发起访问请求后,在发送给客户端的访问应答中添加探测请求内容,探测请求内容用于指示客户端向目标域名对应的备选服务器发送探测请求,根据客户端向备选服务器发送的探测请求得到的探测响应,确定备选服务器的访问速度,根据备选服务器的访问速度和服务器IP地址的访问速度确定客户端对目标域名当前访问速度最快的服务器。本公开能够提高网络访问速度探测结果的准确度。
Description
技术领域
本公开涉及网络技术领域,具体地,涉及一种网络访问速度的探测方法、装置、存储介质和电子设备。
背景技术
随着信息技术的迅猛发展,互联网中出现了海量的域名,而人们要从互联网上获取各种信息服务,就是通过访问提供这些信息服务的域名来实现的。域名通常都是由多个服务器来支持的,因此同一个域名对应的可能是多个IP地址,要在多个IP地址中找到访问速度最快的IP地址,就需要借助DNS(英文:Domain Name System,中文:域名系统)来实现。
DNS(Domain Name System域名系统),常用于域名有多个服务器(IP地址)的域名解析。这些IP地址通常作为CDN(Content Delivery Network,内容分发网络)节点分布于不同的区域或ISP(Internet Server Provider,Internet网络服务提供商),跨区域或不同ISP的访问可能会带来更高的时延。为了解决该问题,一种现有技术提供了一种基于动态探测的DNS,实时对客户端IP,或与客户端较近的本地DNS进行动态探测,从而为客户端找到合适的服务器IP地址。
但是由于互联网中各个终端上的防火墙策略不同、不同网络的QoS(英文:Qualityof Service,中文:服务质量)部署不同等原因,容易导致无法探测客户端,或探测出的网络访问速度不准确的问题。
发明内容
本公开的目的是提供一种网络访问速度的探测方法、装置、存储介质和电子设备,用以解决无法探测客户端网络的访问速度或网路访问速度不准确的问题。
为了实现上述目的,根据本公开实施例的第一方面,提供一种网络访问速度的探测方法,所述方法包括:
向客户端发送域名系统DNS应答,所述DNS应答中包括从访问速度数据库中获取的所述客户端对目标域名访问速度最快的服务器IP地址;
在所述客户端向所述服务器IP地址对应的目标服务器发起访问请求后,在发送给所述客户端的访问应答中添加探测请求内容,所述探测请求内容用于指示所述客户端向所述目标域名对应的备选服务器发送探测请求;
根据所述客户端向所述备选服务器发送的探测请求得到的探测响应,确定所述备选服务器的访问速度;
根据所述备选服务器的访问速度和所述服务器IP地址的访问速度确定所述客户端对所述目标域名当前访问速度最快的服务器。
可选的,在所述向所述客户端发送DNS应答之前,所述方法还包括:
获取所述客户端的第一网络属性,所述第一网络属性包括所述客户端所在网络的归属地、网络服务提供商;
获取所述访问速度数据库中保存的与所述第一网络属性以及所述目标域名对应的访问速度最快的服务器IP地址。
可选的,在所述在发送给所述客户端的访问应答中添加探测请求内容之前,所述方法还包括:
获取当前时刻与最近添加探测请求内容的时刻之间的时间间隔;
判断所述时间间隔是否达到预设时间间隔;
相应的,所述在发送给所述客户端的访问应答中添加探测请求内容,包括:
若所述时间间隔达到所述预设时间间隔,则在发送给所述客户端的访问应答中添加探测请求内容。
可选的,所述在发送给所述客户端的访问应答中添加探测请求内容,包括:
控制所述目标服务器在生成所述访问应答时,在所述访问应答中添加所述探测请求内容;或者,
在所述目标服务器向所述客户端发送所述访问应答的过程中,向所述访问应答中插入所述探测请求内容。
可选的,所述在发送给所述客户端的访问应答中添加探测请求内容之前,所述方法还包括:
根据所述客户端与目标域名对应的每个服务器的距离和/或服务提供商差异,确定所述备选服务器,所述距离包括:跳转距离和/或地域距离。
可选的,所述方法还包括:
若所述备选服务器中最快访问所述目标服务器的速度大于所述服务器IP地址的访问速度,则将所述访问速度数据库中存储的所述服务器IP地址更新为所述备选服务器中最快访问所述目标服务器的IP地址。
根据本公开实施例的第二方面,提供一种网络访问速度的探测方法,所述方法包括:
接收域名系统DNS发送的DNS应答,所述DNS应答中包括从访问速度数据库获取的对目标域名访问速度最快的服务器IP地址;
向所述服务器IP地址对应的目标服务器发送访问请求;
接收所述目标服务器发送的访问应答,所述访问应答中包括探测请求内容,所述探测请求内容包括备选服务器的IP地址;
根据所述探测请求内容向所述备选服务器发送探测请求;
接收所述备选服务器返回的探测响应,用于所述DNS利用根据所述探测响应确定的访问速度,以及所述服务器IP地址访问速度确定对所述目标域名当前访问速度最快的服务器。
可选的,所述探测请求内容是由所述目标服务器或所述DNS添加在所述访问应答中的。
可选的,所述探测请求内容是由所述目标服务器或所述DNS在确定当前时刻与最近添加探测请求内容的时刻之间的时间间隔达到预设时间间隔时,添加到所述访问应答中的。
根据本公开实施例的第三方面,提供一种网络访问速度的探测装置,所述装置包括:
DNS服务模块,用于向客户端发送域名系统DNS应答,所述DNS应答中包括从访问速度数据库中获取的所述客户端对目标域名访问速度最快的服务器IP地址;
探测请求生成模块,用于在所述客户端向所述服务器IP地址对应的目标服务器发起访问请求后,在发送给所述客户端的访问应答中添加探测请求内容,所述探测请求内容用于指示所述客户端向所述目标域名对应的备选服务器发送探测请求;
访问速度探测模块,用于根据所述客户端向所述备选服务器发送的探测请求得到的探测响应,确定所述备选服务器的访问速度;
服务器管理模块,用于根据所述备选服务器的访问速度和所述服务器IP地址的访问速度确定所述客户端对所述目标域名当前访问速度最快的服务器。
可选的,所述服务器管理模块包括:
属性获取子模块,用于在所述向所述客户端发送DNS应答之前,获取所述客户端的第一网络属性,所述第一网络属性包括所述客户端所在网络的归属地、网络服务提供商;
地址获取子模块,还用于获取所述访问速度数据库中保存的与所述第一网络属性以及所述目标域名对应的访问速度最快的服务器IP地址。
可选的,所述装置还包括:
计时模块,用于在所述在发送给所述客户端的访问应答中添加探测请求内容之前,获取当前时刻与最近添加探测请求内容的时刻之间的时间间隔;
判断模块,用于判断所述时间间隔是否达到预设时间间隔;
所述探测请求生成模块,用于若所述时间间隔达到所述预设时间间隔,则在发送给所述客户端的访问应答中添加探测请求内容。
可选的,所述探测请求生成模块,用于控制所述目标服务器在生成所述访问应答时,在所述访问应答中添加所述探测请求内容;或者,
在所述目标服务器向所述客户端发送所述访问应答的过程中,向所述访问应答中插入所述探测请求内容。
可选的,所述探测请求生成模块,还用于:
在所述在发送给所述客户端的访问应答中添加探测请求内容之前,根据所述客户端与目标域名对应的每个服务器的距离和/或服务提供商差异,确定所述备选服务器,所述距离包括:跳转距离和/或地域距离。
可选的,所述服务器管理模块用于:
若所述备选服务器中最快访问所述目标服务器的速度大于所述服务器IP地址的访问速度,则将所述访问速度数据库中存储的所述服务器IP地址更新为所述备选服务器中最快访问所述目标服务器的IP地址。
根据本公开实施例的第四方面,提供一种网络访问速度的探测装置,所述装置包括:
接收模块,用于接收域名系统DNS发送的DNS应答,所述DNS应答中包括从访问速度数据库获取的所述客户端对目标域名访问速度最快的服务器IP地址;
发送模块,用于向所述服务器IP地址对应的目标服务器发送访问请求;
所述接收模块,还用于接收所述目标服务器发送的访问应答,所述访问应答中包括探测请求内容;
所述发送模块,还用于根据所述探测请求内容向备选服务器发送探测请求;
所述接收模块,还用于接收所述备选服务器返回的探测响应,用于所述DNS根据所述探测请求,以及所述探测响应确定所述备选服务器的访问速度,并根据所述备选服务器的访问速度和所述目标服务器当前的访问速度确定所述客户端对所述目标域名当前访问速度最快的服务器。
可选的,所述探测请求内容是由所述目标服务器或所述DNS添加在所述访问应答中的。
可选的,所述探测请求内容是由所述目标服务器或所述DNS在确定当前时刻与最近添加探测请求内容的时刻之间的时间间隔达到预设时间间隔时,添加到所述访问应答中的。
根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第一方面提供的网络访问速度的探测方法的步骤。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第二方面提供的网络访问速度的探测方法的步骤。
根据本公开实施例的第七方面,提供一种电子设备,包括:
本公开实施例的第五方面提供的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
根据本公开实施例的第八方面,提供一种电子设备,包括:
本公开实施例的第六方面提供的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
本公开提供的技术方案中,当客户端要访问一个域名时,能够根据访问速度数据库为客户端选择访问速度最快的目标服务器,在客户端向目标服务器发送访问请求之后,通过在目标服务器给客户端发送访问应答中添加探测请求内容,使得客户端能够主动向同一域名下的其他备选服务器发送探测请求,从而能够得到其他备选服务器的访问速度,并根据得到的备选服务器的访问速度更新访问速度数据库中的记录,以保证访问速度数据库中记录的服务器IP地址是客户端访问速度最快的,从而能够保证分配给客户端的目标服务器是最适合该客户端的。因此,本公开提供的技术方案能够解决无法探测客户端网络的访问速度或网路访问速度不准确的问题,能够在不影响业务和网络带宽的前提下,提高对客户端的网络访问速度探测的准确度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种网络访问速度的探测方法的流程图;
图2是根据一示例性实施例示出的另一种网络访问速度的探测方法的流程图;
图3是根据一示例性实施例示出的另一种网络访问速度的探测方法的流程图;
图4a是根据一示例性实施例示出的另一种网络访问速度的探测方法的流程图;
图4b是根据一示例性实施例示出的另一种网络访问速度的探测方法的流程图;
图5是根据一示例性实施例示出的又一种网络访问速度的探测方法的流程图;
图6是根据一示例性实施例示出的再一种网络访问速度的探测方法的流程图;
图7是根据一示例性实施例示出的一种网络访问速度的探测方法的流程图;
图8是根据一示例性实施例示出的一种网络访问速度的探测装置的框图;
图9是根据一示例性实施例示出的另一种网络访问速度的探测装置的框图;
图10是根据一示例性实施例示出的另一种网络访问速度的探测装置的框图;
图11是根据一示例性实施例示出的一种网络访问速度的探测装置的框图;
图12是根据一示例性实施例示出的一种电子设备的框图;
图13是根据一示例性实施例示出的一种电子设备的框图;
图14是根据一示例性实施例示出的一种电子设备的框图;
图15是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种网络访问速度的探测方法的流程图,如图1所示,该方法包括:
步骤101,向客户端发送DNS应答,DNS应答中包括从访问速度数据库中获取的客户端对目标域名访问速度最快的服务器IP地址。
示例的,当客户端需要访问互联网中的某个域名时,这里称为目标域名,该客户端会向DNS发起包含该目标域名的DNS请求,DNS接收到由客户端发送的DNS请求后,在访问速度数据库中查找对于该客户端最合适的目标服务器。其中,针对一个域名可以对应多个服务器的情况,示例的,该访问速度数据库中存储着不同客户端对该目标域名访问速度最快的服务器IP地址,其中,服务器IP地址是上一次确定的该客户端对目标域名访问速度最快的服务器的IP地址。其中,上一次确定的可以理解为上一次执行步骤101至104时确定并记录到访问速度数据库中的。但是考虑到客户端的数量众多,因此该访问速度数据库中可以存储不同网络属性(例如,不同ISP,不同地域)的客户端对于该目标域名访问速度最快的服务器IP地址,即将网络属性相同的客户端看作是同一类客户端,当得到某个客户端对某些服务器的访问速度后,可以根据这些信息将与该客户端具有相同网络属性的所有客户端对这些服务器的访问速度进行更新。其中,目标服务器可以包括但不限于:实体服务器,服务器集群或云服务器等。DNS在确定了该服务器IP地址之后,会将包含了该服务器IP地址对应的目标服务器的DNS应答发送给客户端。
而客户端在收到该DNS应答后就可以根据DNS应答中的目标服务器的IP地址向目标服务器发起访问请求(或者可以称为主页请求或主请求),即对于客户端来说,通过访问该目标服务器的IP地址即可访问到想要访问的网页。
步骤102,在客户端向服务器IP地址对应的目标服务器发起访问请求后,在发送给客户端的访问应答中添加探测请求内容,探测请求内容用于指示客户端向目标域名对应的备选服务器发送探测请求。
需要说明的是,探测请求内容包含了用于指示客户端向其他备选服务器发送探测请求的内容,备选服务器可以是支持该域名的所有服务器中除了目标服务器之外的其他服务器中的部分或全部(若支持该域名的服务器只有一个,那只需要直接访问该服务器即可)。为了使访问速度的探测结果能够有统一的参照,还可以规定探测请求(包括相应的探测响应)的格式、大小相同。并且,可以按照预设的规则来添加探测请求内容,例如,如果客户端对该域名访问频繁,在短时间内网络环境发生变化的可能性低,因此可以将预设规则设置为以一定的周期来添加探测请求内容,或者,根据分属不同的ISP将预设规则设置为只在客户端向与客户端分属相同ISP的服务器之间添加探测请求内容。
步骤103,根据客户端向备选服务器发送的探测请求得到的探测响应,确定备选服务器的访问速度。
举例来说,客户端收到访问应答后可以对该目标域名进行正常访问,同时再根据访问应答中添加的探测请求内容,解析出探测请求,并将探测请求发送到该探测请求内容所指示备选服务器。任一备选服务器收到探测请求后,会向客户端返回一个探测响应。其中探测请求和探测响应都可以包含相应的时间戳,例如探测请求中可以包含探测请求的发送时间,探测响应中可以包含探测请求的接收时间,根据该发送时间和接收时间即可计算出该备选服务器对应的访问速度,当存在多个备选服务器时,能够获得每个备选服务器的访问速度。
步骤104,根据备选服务器的访问速度和服务器IP地址的访问速度确定客户端对目标域名当前访问速度最快的服务器。
示例的,根据备选服务器的访问速度和服务器IP地址的访问速度确定客户端对目标域名当前访问速度最快的服务器。可以在每个备选服务器的访问速度确定所有备选服务器中访问速度最快的备选服务器,将其作为该客户端对目标域名当前访问速度最快的服务器,或者,在确定访问速度最快的备选服务器后,可以与该客户端到该目标服务器的访问速度进行比较,将二者中访问速度较快的服务器确定为该客户端对目标域名当前访问速度最快的服务器,并且将该当前访问速度最快的服务器的IP地址更新到该访问速度数据库中。可见,每次执行步骤101-104后,都将最新得到的当前访问速度最快的服务器的IP地址更新到访问速度数据库中,从而使访问速度数据库中的保存的服务器IP地址能够随着网络中实际访问速度的变化实时更新的,使得每次分配给客户端的服务器IP地址都是最适合该客户端的。
由于添加的探测请求内容以及客户端发送的探测请求的数据长度远小于访问请求,不会影响传输带宽,因此不会影响客户端对目标域名的正常访问,从而可以在不影响业务和网络带宽的前提下,根据时间差获取客户端分别到各个备选服务器的访问速度,从而确定各个备选服务器中当前访问速度最快的服务器。
需要说明的是,本公开图1至图6任一实施例所示的方法可以由本公开提供的DNS来执行,该DNS可以包括:DNS服务模块、访问速度数据库、探测请求生成模块和访问速度探测模块。其中,上述DNS中的各个模块可以采用分布式部署,部署在DNS服务器上的DNS服务模块,能够为步骤101的操作提供服务。该访问速度数据库也可以部署在DNS服务器上,或者该访问速度数据库可以部署在单独的服务器上。探测请求生成模块和访问速度探测模块均可以部署在DNS所管理的(每个域名对应的)每个服务器端,或者部署在DNS所管理的服务器前的网关上,并且由于探测请求生成模块和访问速度探测模块属于DNS的一部分,因此由DNS进行控制(实际可以由DNS中的DNS服务模块来进行控制,也可以部署专门用于控制的服务器),且部署在服务器端或者网关上的该探测请求生成模块和访问速度探测模块可以按照预设的通信协议与服务器端或者网关进行通信。以上述的目标域名为例,探测请求生成模块和访问速度探测模块可以部署在该目标域名对应的所有服务器中的每个服务器上,也可以部署在每个服务器前的网关上,因此DNS能够检测到该客户端向目标服务器发送访问请求,从而触发在发送给所述客户端的访问应答中添加探测请求内容的操作。并且DNS能够检测到客户端在收到访问应答后,向备选服务器发送的探测请求,以及客户端收到的探测响应,从而可以计算出备选服务器的访问速度,从而使该DNS能够执行上述的步骤102和103。
综上所述,当客户端要访问一个域名时,能够根据访问速度数据库为客户端选择访问速度最快目标服务器,在客户端向目标服务器发送访问请求之后,通过在目标服务器给客户端发送访问应答中添加探测请求内容,使得客户端能够主动向同一域名下的其他备选服务器发送探测请求,从而能够得到其他备选服务器的访问速度,并根据得到的备选服务器的访问速度更新访问速度数据库中的记录,以保证访问速度数据库中记录的服务器IP地址是客户端访问速度最快的,从而能够保证分配给客户端的目标服务器是最适合该客户端的。因此,本公开提供的技术方案能够解决无法探测客户端网络的访问速度或网路访问速度不准确的问题,能够在不影响业务和网络带宽的前提下,提高对客户端的网络访问速度探测的准确度。
图2是根据一示例性实施例示出的另一种网络访问速度的探测方法的流程图,如图2所示,在步骤101之前,该方法还包括:
步骤105,获取客户端的第一网络属性,第一网络属性包括客户端所在网络的归属地、网络服务提供商。
举例来说,网络中的客户端数量众多,如果在访问速度数据库中针对每个客户端都存储有对目标域名对应的各个服务器的访问速度,那么需要存储的数据量会非常庞大,同时,具有相同网络属性(例如:所在网络的归属地,网络服务提供商)的多个客户端在访问目标域名时,访问速度是相近的,参考价值大。因此在访问速度数据库中,可以根据网络属性对客户端进行划分,存储相同网络属性的客户端对目标域名对应的各个服务器的访问速度。因此,访问速度数据库中可以记录多个不同网络属性的客户端在访问不同域名(包含该目标域名)时访问速度最快的服务器的IP地址,该第一网络属性可以是访问速度数据库中记录不同网络属性中的任一网络属性,因此当获取客户端的第一网络属性后,通过步骤106即可得到该访问速度最快的服务器IP地址。
步骤106,获取所访问速度数据库中保存的与第一网络属性以及目标域名对应的访问速度最快的服务器IP地址。
示例性的,在当前时刻客户端发送的DNS请求后,从访问速度数据库中获取的保存的与第一网络属性以及目标域名对应的第一IP地址,其中第一IP地址为具有第一网络属性的客户端在访问目标域名时访问速度最快的服务器IP地址。其中,该第一IP地址是在上一次接收到具有第一网络属性的任一客户端发送的DNS请求后,执行步骤105、106、101到104得到的更新过的IP地址,并记录到访问速度数据库中的。但是由于网络中有大量的数据访问,并且在正常工作的状态下,网络环境在短时间内通常不会发生大的变化,因此,上一次更新访问速度数据库时的记录能够为客户端准确的提供访问速度最快的服务器IP地址。
图3是根据一示例性实施例示出的另一种网络访问速度的探测方法的流程图,如图3所示,在步骤102之前,该方法还包括:
步骤107,获取当前时刻与最近添加探测请求内容的时刻之间的时间间隔。
示例的,最近添加探测请求内容的时刻包括上一次在给该客户端的访问应答中添加探测请求内容的时刻,或者上一次在给与该客户端具有相同网络属性的其他客户端的访问应答中添加探测请求内容的时刻。
步骤108,判断时间间隔是否达到预设时间间隔。
当时间间隔达到预设时间间隔,则执行步骤102所述的在发送给客户端的访问应答中添加探测请求内容。
举例来说,网络中存在大量的数据访问,当某一客户端(或者具有相同网络属性的某一类客户端)对该域名访问频繁时,在短时间内网络环境发生变化的可能性很低,因此可以设定一个预设时间间隔(例如可以是60s),按照预设时间间隔在访问应答中添加探测请求内容。首先获取当前时刻与上一次添加探测请求内容的时刻之间的时间间隔,此处的上一次添加探测请求内容的时刻指的是上一次DNS在给该客户端的访问应答中添加所述探测请求内容的时刻,或者上一次在给与该客户端具有相同网络属性的其他客户端的访问应答中添加探测请求内容的时刻。当时间间隔满足预设时间间隔时,才会在目标服务器发送给客户端的访问应答中添加探测请求内容。
可选的,步骤102所述的在目标服务器发送给客户端的访问应答中添加探测请求内容,探测请求内容用于客户端向备选服务器发送探测请求,可以包括:
步骤102a,控制目标服务器在生成访问应答时,在访问应答中添加探测请求内容。
如图4a所示的另一种网络访问速度的探测方法的流程图,示例的,可以在原有的访问应答中直接添加探测请求内容,即目标服务器在生成访问应答时,按照预设的规则添加探测请求内容,预设的规则可以由DNS来制定,也可以由目标服务器根据当前网络状态来决定。
或者,步骤102b,在目标服务器向客户端发送访问应答的过程中,向访问应答中插入探测请求内容。
如图4b所示的另一种网络访问速度的探测方法的流程图,示例的,还可以在目标服务器发出访问应答后,动态插入探测请求内容,例如可以是在与目标服务器相邻的网关中部署预设的规则,在访问应答通过该网关时,将访问应答中插入探测请求内容,同样的,预设规则可以由DNS来制定,也可以由该网关根据当前网络状态来决定。
示例性的,由于探测请求生成模块部署可以部署在服务器端或者服务器前的网关上,因此,首先以探测请求生成模块部署在目标服务器上为例,在客户端向目标服务器发送访问请求后,DNS通过探测请求生成模块即可得知该客户端向目标服务器发送了访问请求,因此DNS可以通过该探测请求生成模块在目标服务器为该客户端生成访问应答时在该访问应答中添加探测请求内容,即执行上述的步骤102a;其次,当探测请求生成模块部署在目标服务器前的网关上时,由于该客户端与目标服务器之间的传输的信息都需要经过该网关,因此在客户端向目标服务器发送访问请求后,DNS通过网关上的探测请求生成模块即可得知该客户端向目标服务器发送了访问请求,从而当目标服务器向该客户端返回的访问应答经过该网关时,DNS可以通过该网关上的探测请求生成模块在该访问应答中添加探测请求内容,即执行上述的步骤102b。
与探测请求生成模块同理,访问速度探测模块部署在DNS所管理的每个服务器上时,当客户端向每个备选服务器发送探测请求时,DNS可以通过备选服务器上的访问速度探测模块获取探测请求的发送时间,当备选服务器向客户端返回探测响应时,DNS可以通过备选服务器上的访问速度探测模块获取探测响应的发送时间,从而可以计算出该备选服务器的访问速度;访问速度探测模块部署在网关上时原理相似,由于备选服务器与客户端之间的信息都要经过该网关,因此DNS可以通过部署在网关上的访问速度探测模块获取探测请求和探测响应的发送时间,从而可以计算出该备选服务器的访问速度。
图5是根据一示例性实施例示出的又一种网络访问速度的探测方法的流程图,如图5所示,在步骤102之前,该方法还包括:
步骤109,根据客户端与目标域名对应的每个服务器的距离和/或服务提供商差异,确定备选服务器,距离包括:跳转距离和/或地域距离。
举例来说,该目标域名对应的服务器可以有多个,那么备选服务器可以是与目标域名对应的所有服务器中除目标服务器之外的全部服务器或部分服务器,可以按照不同的规则来选择。例如,可以根据客户端与全部服务器中每个服务器的距离来确定选择哪部分服务器,其中该距离可以包括:跳转距离和/或地域距离。其中,跳转距离是指客户端发送的数据要达到任一备选服务器的转发条数(或者,可以理解为需要经过的网关数量),地域距离指的是客户端与任一备选服务器之间的实际物理距离。除此之外,筛选规则还可以是:根据支持该域名的服务器中分属不同的ISP分为几类,通常情况下,客户端访问与该客户端分属相同ISP的服务器之间访问速度更快,因此可以将规则设置为添加的探测请求只用来指示客户端向与客户端分属相同ISP的服务器发送。当客户端所述的ISP与备选服务器的ISP都不相同,可以将规则设置为向除目标服务器之外的全部服务器添加探测请求内容。
图6是根据一示例性实施例示出的再一种网络访问速度的探测方法的流程图,如图6所示,该方法还包括:
步骤110,若备选服务器中最快访问目标服务器的速度大于服务器IP地址的访问速度,则将访问速度数据库中存储的服务器IP地址更新为备选服务器中最快访问目标服务器的IP地址。
举例来说,客户端与备选服务器之间的访问速度可以根据客户端发送的探测请求和客户端接收的探测响应来确定,先确定所有备选服务器中访问速度最快的第一备选服务器,再将第一备选服务器的第一访问速度与目标服务器的第二访问速度进行对比。第一访问速度是客户端与所有备选服务器中访问速度最快的第一备选服务器对应的访问速度,第二访问速度为客户端访问目标服务器的当前速度,可以根据客户端发送的访问请求和客户端接收的访问应答来确定。在获取第一访问速度和第二访问速度后,如果第一访问速度大于第二访问速度,说明备选服务器中当前访问速度最快的第一备选服务器的访问速度大于该目标服务器的访问速度,因此应当将访问速度数据库中保存的服务器IP地址更新为该第一备选服务器的IP地址,如果第一访问速度小于或等于第二访问速度,则说明该目标服务器IP地址对于该客户端而言依然是访问速度最快的,因此可以保持不变。
需要说明的是,与客户端具有相同网络属性的其他客户端在访问同一个域名时,访问的速度是相同的,因此在访问数据库中的记录,可以按照相同网络属性的客户端来划分,将其分为一个类,在根据当前访问速度最快的服务器的IP地址更新到数据库中时,可以将相应的IP地址更新至该客户端对应类所在的记录中。
综上所述,当客户端要访问一个域名时,能够根据访问速度数据库为客户端选择访问速度最快目标服务器,在客户端向目标服务器发送访问请求之后,通过在目标服务器给客户端发送访问应答中添加探测请求内容,使得客户端能够主动向同一域名下的其他备选服务器发送探测请求,从而能够得到其他备选服务器的访问速度,并根据得到的备选服务器的访问速度更新访问速度数据库中的记录,以保证访问速度数据库中记录的服务器IP地址是客户端访问速度最快的,从而能够保证分配给客户端的目标服务器是最适合该客户端的。因此,本公开提供的技术方案能够解决无法探测客户端网络的访问速度或网路访问速度不准确的问题,能够在不影响业务和网络带宽的前提下,提高对客户端的网络访问速度探测的准确度。
图7是根据一示例性实施例示出的一种网络访问速度的探测方法的流程图,该方法可以由客户端执行,如图7所示,该方法包括:
步骤201,接收域名系统DNS发送的DNS应答,DNS应答中包括从访问速度数据库获取的对目标域名访问速度最快的服务器IP地址。
示例的,当客户端需要访问互联网中的某个域名时,向DNS发送DNS请求,之后接收由DNS发送的DNS应答。其中,为了便于DNS在访问速度数据库中查找,DNS请求中除了包含需要访问的域名之外,还可以包括客户端的网络属性,例如可以是客户端当前的网络状态、IP地址、相邻网关的IP地址列表和所属的ISP等属性。DNS应答包括了上述在访问速度数据库中查找的服务器IP地址。
步骤202,向该服务器IP地址对应的目标服务器发送访问请求。
步骤203,接收目标服务器发送的访问应答,访问应答中包括探测请求内容,探测请求内容包括备选服务器的IP地址。
步骤204,根据探测请求内容备选服务器发送探测请求。
步骤205,接收备选服务器返回的探测响应,用于DNS利用根据探测响应确定的访问速度,以及该服务器IP地址访问速度确定对目标域名当前访问速度最快的服务器。
示例的,客户端收到访问应答后可以对该域名进行正常访问,同时再根据访问应答中添加探测请求内容,解析出探测请求,并将探测请求发送到该备选服务器。其中,探测请求内容中包括了备选服务器的IP地址,用于指示客户端向备选服务器发送探测请求。在备选服务器收到探测请求后,向客户端返回一个探测响应。DNS根据探测请求和探测响应中的时间信息能够获取客户端分别到各个备选服务器的访问速度,从而确定各个备选服务器中当前访问速度最快的服务器。其中,目标域名对应的服务器可以有多个,那么备选服务器可以是与目标域名对应的所有服务器中除目标服务器之外的全部服务器或部分服务器,可以按照不同的规则来选择。例如,可以根据客户端与全部服务器中每个服务器的距离来确定选择哪部分服务器,其中距离可以包括:跳转距离和/或地域距离。
可选的,探测请求内容是由目标服务器或DNS添加在访问应答中的。
举例来说,可以在目标服务器生成访问应答时,按照预设的规则添加探测请求内容,预设的规则可以由DNS来制定,也可以由目标服务器根据当前网络状态来决定。或者,可以在目标服务器发出访问应答后,由DNS动态插入探测请求内容,例如可以是在与目标服务器相邻的网关中部署预设的规则,在访问应答通过该网关时,将访问应答中插入探测请求内容,同样的,预设规则可以由DNS来制定,也可以由该网关根据当前网络状态来决定。
其中,如果采用第一种方式,即探测请求内容是由目标服务器在生成访问应答时,添加到访问应答中的,那么对于任一个域名而言,需要在该域名对应的所有服务器中的每个服务器上预先配置该所有服务器的信息(例如每个服务器的IP地址),这样,当目标服务器接收到客户端对该目标服务器的访问请求后,该目标服务器根据预先配置该所有服务器的信息来筛选出上述的备选服务器,并基于备选服务器的信息生成该探测请求内容,并添加到访问应答中。如果采用第二种方式,即由DNS在访问应答中添加探测请求内容,则可以参照步骤102a或步骤102b所示的方法,不在赘述。
可选的,探测请求内容是由目标服务器或DNS在确定当前时刻与最近添加探测请求内容的时刻之间的时间间隔达到预设时间间隔时,添加到访问应答中的。
示例的,短时间内网络环境相对稳定,可以设定一个预设时间间隔(例如可以是60s),按照预设时间间隔由目标服务器或DNS在访问应答中添加探测请求内容。
综上所述,当客户端要访问一个域名时,能够根据访问速度数据库为客户端选择访问速度最快目标服务器,在客户端向目标服务器发送访问请求之后,通过在目标服务器给客户端发送访问应答中添加探测请求内容,使得客户端能够主动向同一域名下的其他备选服务器发送探测请求,从而能够得到其他备选服务器的访问速度,并根据得到的备选服务器的访问速度更新访问速度数据库中的记录,以保证访问速度数据库中记录的服务器IP地址是客户端访问速度最快的,从而能够保证分配给客户端的目标服务器是最适合该客户端的。因此,本公开提供的技术方案能够解决无法探测客户端网络的访问速度或网路访问速度不准确的问题,能够在不影响业务和网络带宽的前提下,提高对客户端的网络访问速度探测的准确度。
图8是根据一示例性实施例示出的一种网络访问速度的探测装置的框图,如图8所示,该装置300包括:
DNS服务模块301,用于向客户端发送域名系统DNS应答,DNS应答中包括从访问速度数据库中获取的客户端对目标域名访问速度最快的服务器IP地址。
探测请求生成模块302,用于在客户端向服务器IP地址对应的目标服务器发起访问请求后,在发送给客户端的访问应答中添加探测请求内容,探测请求内容用于指示客户端向目标域名对应的备选服务器发送探测请求。
访问速度探测模块303,用于根据客户端向备选服务器发送的探测请求得到的探测响应,确定备选服务器的访问速度。
服务器管理模块304,用于根据备选服务器的访问速度和服务器IP地址的访问速度确定客户端对目标域名当前访问速度最快的服务器。
图9是根据一示例性实施例示出的另一种网络访问速度的探测装置的框图,如图9所示,服务器管理模块304包括:
属性获取子模块3041,用于在向客户端发送DNS应答之前,获取客户端的第一网络属性,第一网络属性包括所述客户端所在网络的归属地、网络服务提供商。
地址获取子模块3042,还用于获取访问速度数据库中保存的与第一网络属性以及目标域名对应的访问速度最快的服务器IP地址。
图10是根据一示例性实施例示出的另一种网络访问速度的探测装置的框图,如图10所示,该装置300还包括:
计时模块305,用于在发送给客户端的访问应答中添加探测请求内容之前,获取当前时刻与最近添加探测请求内容的时刻之间的时间间隔。
判断模块306,用于判断时间间隔是否达到预设时间间隔。
探测请求生成模块302,用于若时间间隔达到预设时间间隔,则在发送给客户端的访问应答中添加探测请求内容。
可选的,探测请求生成模块302,用于控制目标服务器在生成访问应答时,在访问应答中添加探测请求内容。或者,
在目标服务器向客户端发送访问应答的过程中,向访问应答中插入探测请求内容。
可选的,探测请求生成模块302,还用于:
在所述在发送给客户端的访问应答中添加探测请求内容之前,根据客户端与目标域名对应的每个服务器的距离和/或服务提供商差异,确定备选服务器,距离包括:跳转距离和/或地域距离。
可选的,服务器管理模块304用于:
若备选服务器中最快访问目标服务器的速度大于服务器IP地址的访问速度,则将访问速度数据库中存储的服务器IP地址更新为备选服务器中最快访问目标服务器的IP地址。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,当客户端要访问一个域名时,能够根据访问速度数据库为客户端选择访问速度最快目标服务器,在客户端向目标服务器发送访问请求之后,通过在目标服务器给客户端发送访问应答中添加探测请求内容,使得客户端能够主动向同一域名下的其他备选服务器发送探测请求,从而能够得到其他备选服务器的访问速度,并根据得到的备选服务器的访问速度更新访问速度数据库中的记录,以保证访问速度数据库中记录的服务器IP地址是客户端访问速度最快的,从而能够保证分配给客户端的目标服务器是最适合该客户端的。因此,本公开提供的技术方案能够解决无法探测客户端网络的访问速度或网路访问速度不准确的问题,能够在不影响业务和网络带宽的前提下,提高对客户端的网络访问速度探测的准确度。
图11是根据一示例性实施例示出的一种网络访问速度的探测装置的框图,如图11所示,该装置400包括:
接收模块401,用于接收域名系统DNS发送的DNS应答,DNS应答中包括从访问速度数据库获取的客户端对目标域名访问速度最快的服务器IP地址。
发送模块402,用于向服务器IP地址对应的目标服务器发送访问请求。
接收模块401,还用于接收目标服务器发送的访问应答,访问应答中包括探测请求内容。
发送模块402,还用于根据探测请求内容向备选服务器发送探测请求。
接收模块401,还用于接收备选服务器返回的探测响应,用于DNS根据探测请求,以及探测响应确定备选服务器的访问速度,并根据备选服务器的访问速度和目标服务器当前的访问速度确定客户端对目标域名当前访问速度最快的服务器。
可选的,探测请求内容是由目标服务器或DNS添加在访问应答中的。
可选的,探测请求内容是由目标服务器或DNS在确定当前时刻与最近添加探测请求内容的时刻之间的时间间隔达到预设时间间隔时,添加到访问应答中的。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,当客户端要访问一个域名时,能够根据访问速度数据库为客户端选择访问速度最快目标服务器,在客户端向目标服务器发送访问请求之后,通过在目标服务器给客户端发送访问应答中添加探测请求内容,使得客户端能够主动向同一域名下的其他备选服务器发送探测请求,从而能够得到其他备选服务器的访问速度,并根据得到的备选服务器的访问速度更新访问速度数据库中的记录,以保证访问速度数据库中记录的服务器IP地址是客户端访问速度最快的,从而能够保证分配给客户端的目标服务器是最适合该客户端的。因此,本公开提供的技术方案能够解决无法探测客户端网络的访问速度或网路访问速度不准确的问题,能够在不影响业务和网络带宽的前提下,提高对客户端的网络访问速度探测的准确度。
图12是根据一示例性实施例示出的一种电子设备600的框图。如图12所示,该电子设备600可以包括:处理器601,存储器602,多媒体组件603,输入/输出(I/O)接口604,以及通信组件605。
其中,处理器601用于控制该电子设备600的整体操作,以完成上述的图1至图6所示的网络访问速度的探测方法中的全部或部分步骤。存储器602用于存储各种类型的数据以支持在该电子设备600的操作,这些数据例如可以包括用于在该电子设备600上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件603可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器602或通过通信组件605发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口604为处理器601和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件605用于该电子设备600与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件605可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的图1至图6所示的网络访问速度的探测方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器602,上述程序指令可由电子设备600的处理器601执行以完成上述的图1至图6所示的网络访问速度的探测方法。
图13是根据一示例性实施例示出的一种电子设备700的框图。如图13所示,该电子设备700可以包括:处理器701,存储器702,多媒体组件703,输入/输出(I/O)接口704,以及通信组件705。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的图7所示的网络访问速度的探测方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(NearField Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的图7所示的网络访问速度的探测方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的图7所示的网络访问速度的探测方法。
综上所述,当客户端要访问一个域名时,能够根据访问速度数据库为客户端选择访问速度最快目标服务器,在客户端向目标服务器发送访问请求之后,通过在目标服务器给客户端发送访问应答中添加探测请求内容,使得客户端能够主动向同一域名下的其他备选服务器发送探测请求,从而能够得到其他备选服务器的访问速度,并根据得到的备选服务器的访问速度更新访问速度数据库中的记录,以保证访问速度数据库中记录的服务器IP地址是客户端访问速度最快的,从而能够保证分配给客户端的目标服务器是最适合该客户端的。因此,本公开提供的技术方案能够解决无法探测客户端网络的访问速度或网路访问速度不准确的问题,能够在不影响业务和网络带宽的前提下,提高对客户端的网络访问速度探测的准确度。
图14是根据一示例性实施例示出的一种电子设备800的框图。例如,电子设备800可以被提供为一服务器。参照图14,电子设备800包括处理器822,其数量可以为一个或多个,以及存储器832,用于存储可由处理器822执行的计算机程序。存储器832中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器822可以被配置为执行该计算机程序,以执行上述的图1至图6所示的网络访问速度的探测方法。
另外,电子设备800还可以包括电源组件826和通信组件850,该电源组件826可以被配置为执行电子设备800的电源管理,该通信组件850可以被配置为实现电子设备800的通信,例如,有线或无线通信。此外,该电子设备800还可以包括输入/输出(I/O)接口858。电子设备800可以操作基于存储在存储器832的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器832,上述程序指令可由电子设备800的处理器822执行以完成上述的图1至图6所示的网络访问速度的探测方法。
图15是根据一示例性实施例示出的一种电子设备900的框图。例如,电子设备900可以被提供为一服务器。参照图15,电子设备900包括处理器922,其数量可以为一个或多个,以及存储器932,用于存储可由处理器922执行的计算机程序。存储器932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器922可以被配置为执行该计算机程序,以执行上述的图7所示的网络访问速度的探测方法。
另外,电子设备900还可以包括电源组件926和通信组件950,该电源组件926可以被配置为执行电子设备900的电源管理,该通信组件950可以被配置为实现电子设备900的通信,例如,有线或无线通信。此外,该电子设备900还可以包括输入/输出(I/O)接口958。电子设备900可以操作基于存储在存储器932的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器932,上述程序指令可由电子设备900的处理器922执行以完成上述的图7所示的网络访问速度的探测方法。
综上所述,当客户端要访问一个域名时,能够根据访问速度数据库为客户端选择访问速度最快目标服务器,在客户端向目标服务器发送访问请求之后,通过在目标服务器给客户端发送访问应答中添加探测请求内容,使得客户端能够主动向同一域名下的其他备选服务器发送探测请求,从而能够得到其他备选服务器的访问速度,并根据得到的备选服务器的访问速度更新访问速度数据库中的记录,以保证访问速度数据库中记录的服务器IP地址是客户端访问速度最快的,从而能够保证分配给客户端的目标服务器是最适合该客户端的。因此,本公开提供的技术方案能够解决无法探测客户端网络的访问速度或网路访问速度不准确的问题,能够在不影响业务和网络带宽的前提下,提高对客户端的网络访问速度探测的准确度。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其它实施方案,均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。同时本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。本公开并不局限于上面已经描述出的精确结构,本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种网络访问速度的探测方法,其特征在于,所述方法包括:
向客户端发送域名系统DNS应答,所述DNS应答中包括从访问速度数据库中获取的所述客户端对目标域名访问速度最快的服务器IP地址;
在所述客户端向所述服务器IP地址对应的目标服务器发起访问请求后,在发送给所述客户端的访问应答中添加探测请求内容,所述探测请求内容用于指示所述客户端向所述目标域名对应的备选服务器发送探测请求,所述探测请求内容包括所述探测请求的格式和大小;
根据所述客户端向所述备选服务器发送的探测请求得到的探测响应,确定所述备选服务器的访问速度;
根据所述备选服务器的访问速度和所述服务器IP地址的访问速度确定所述客户端对所述目标域名当前访问速度最快的服务器。
2.根据权利要求1所述的方法,其特征在于,在所述向所述客户端发送DNS应答之前,所述方法还包括:
获取所述客户端的第一网络属性,所述第一网络属性包括所述客户端所在网络的归属地、网络服务提供商;
获取所述访问速度数据库中保存的与所述第一网络属性以及所述目标域名对应的访问速度最快的服务器IP地址。
3.根据权利要求1所述的方法,其特征在于,所述在发送给所述客户端的访问应答中添加探测请求内容之前,所述方法还包括:
获取当前时刻与最近添加探测请求内容的时刻之间的时间间隔;
判断所述时间间隔是否达到预设时间间隔;
相应的,所述在发送给所述客户端的访问应答中添加探测请求内容,包括:
若所述时间间隔达到所述预设时间间隔,则在发送给所述客户端的访问应答中添加探测请求内容。
4.根据权利要求1或3所述的方法,其特征在于,所述在发送给所述客户端的访问应答中添加探测请求内容,包括:
控制所述目标服务器在生成所述访问应答时,在所述访问应答中添加所述探测请求内容;或者,
在所述目标服务器向所述客户端发送所述访问应答的过程中,向所述访问应答中插入所述探测请求内容。
5.根据权利要求4所述的方法,其特征在于,在所述在发送给所述客户端的访问应答中添加探测请求内容之前,所述方法还包括:
根据所述客户端与目标域名对应的每个服务器的距离和/或服务提供商差异,确定所述备选服务器,所述距离包括:跳转距离和/或地域距离。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述备选服务器中最快访问所述目标服务器的速度大于所述服务器IP地址的访问速度,则将所述访问速度数据库中存储的所述服务器IP地址更新为所述备选服务器中最快访问所述目标服务器的IP地址。
7.一种网络访问速度的探测方法,其特征在于,所述方法包括:
接收域名系统DNS发送的DNS应答,所述DNS应答中包括从访问速度数据库获取的对目标域名访问速度最快的服务器IP地址;
向所述服务器IP地址对应的目标服务器发送访问请求;
接收所述目标服务器发送的访问应答,所述访问应答中包括探测请求内容,所述探测请求内容包括备选服务器的IP地址,所述探测请求内容包括探测请求的格式和大小;
根据所述探测请求内容向所述备选服务器发送所述探测请求;
接收所述备选服务器返回的探测响应,用于所述DNS利用根据所述探测响应确定的访问速度,以及所述服务器IP地址访问速度确定对所述目标域名当前访问速度最快的服务器。
8.一种网络访问速度的探测装置,其特征中在于,所述装置包括:
DNS服务模块,用于向客户端发送域名系统DNS应答,所述DNS应答中包括从访问速度数据库中获取的所述客户端对目标域名访问速度最快的服务器IP地址;
探测请求生成模块,用于在所述客户端向所述服务器IP地址对应的目标服务器发起访问请求后,在发送给所述客户端的访问应答中添加探测请求内容,所述探测请求内容用于指示所述客户端向所述目标域名对应的备选服务器发送探测请求,所述探测请求内容包括所述探测请求的格式和大小;
访问速度探测模块,用于根据所述客户端向所述备选服务器发送的探测请求得到的探测响应,确定所述备选服务器的访问速度;
服务器管理模块,用于根据所述备选服务器的访问速度和所述服务器IP地址的访问速度确定所述客户端对所述目标域名当前访问速度最快的服务器。
9.一种网络访问速度的探测装置,其特征在于,所述装置包括:
接收模块,用于接收域名系统DNS发送的DNS应答,所述DNS应答中包括从访问速度数据库获取的客户端对目标域名访问速度最快的服务器IP地址;
发送模块,用于向所述服务器IP地址对应的目标服务器发送访问请求;
所述接收模块,还用于接收所述目标服务器发送的访问应答,所述访问应答中包括探测请求内容,所述探测请求内容包括备选服务器的IP地址,所述探测请求内容包括探测请求的格式和大小;
所述发送模块,还用于根据所述探测请求内容向备选服务器发送所述探测请求;
所述接收模块,还用于接收所述备选服务器返回的探测响应,用于所述DNS根据所述探测请求,以及所述探测响应确定所述备选服务器的访问速度,并根据所述备选服务器的访问速度和所述目标服务器当前的访问速度确定所述客户端对所述目标域名当前访问速度最快的服务器。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求7所述方法的步骤。
12.一种电子设备,其特征在于,包括:
权利要求10中所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
13.一种电子设备,其特征在于,包括:
权利要求11中所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710994282.5A CN107896241B (zh) | 2017-10-23 | 2017-10-23 | 网络访问速度的探测方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710994282.5A CN107896241B (zh) | 2017-10-23 | 2017-10-23 | 网络访问速度的探测方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107896241A CN107896241A (zh) | 2018-04-10 |
CN107896241B true CN107896241B (zh) | 2020-12-18 |
Family
ID=61803691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710994282.5A Active CN107896241B (zh) | 2017-10-23 | 2017-10-23 | 网络访问速度的探测方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107896241B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274584B (zh) * | 2018-09-28 | 2021-10-15 | 卓米私人有限公司 | 接入服务器的接入方法、装置、客户端设备及存储介质 |
CN109474459A (zh) * | 2018-10-16 | 2019-03-15 | 平安普惠企业管理有限公司 | 域名配置管理方法、装置、计算机设备及存储介质 |
CN111371826B (zh) * | 2018-12-26 | 2024-04-09 | 三六零科技集团有限公司 | Cdn节点的性能探测方法、装置及系统 |
CN109921961A (zh) * | 2019-03-29 | 2019-06-21 | 深圳市思迪信息技术股份有限公司 | 基于移动平台的多站点网络测速方法及装置 |
CN113316926B (zh) * | 2019-05-16 | 2023-12-05 | 深圳市欢太科技有限公司 | 域名处理方法、装置、电子设备以及存储介质 |
CN110336805B (zh) * | 2019-06-27 | 2022-02-08 | 维沃移动通信有限公司 | 网络访问管理方法和移动终端 |
CN110740191B (zh) * | 2019-10-29 | 2023-03-24 | 成都超有爱科技有限公司 | 资源访问方法、装置、电子设备及存储介质 |
CN114006935B (zh) * | 2020-07-14 | 2023-11-21 | 成都鼎桥通信技术有限公司 | 专网终端入网方法、装置及设备 |
CN112291365B (zh) * | 2020-11-11 | 2024-02-27 | 天翼安全科技有限公司 | 访问均衡处理方法、装置、计算机设备及存储介质 |
CN113556411B (zh) * | 2021-06-28 | 2023-05-26 | 深圳市高德信通信股份有限公司 | 一种cdn视频调度设备及方法 |
CN113709251A (zh) * | 2021-08-31 | 2021-11-26 | 新华三信息安全技术有限公司 | 一种业务请求处理系统、方法和装置 |
CN114039944A (zh) * | 2021-10-08 | 2022-02-11 | 中移(杭州)信息技术有限公司 | 网站访问地址选取方法、设备、存储介质及装置 |
CN114157564A (zh) * | 2021-12-07 | 2022-03-08 | 中信银行股份有限公司 | 网络访问状态的检测方法、装置、设备及可读存储介质 |
CN114143251B (zh) * | 2021-12-08 | 2023-10-13 | 北京天融信网络安全技术有限公司 | 智能选路方法、装置、电子设备及计算机可读存储介质 |
CN115022278B (zh) * | 2022-06-02 | 2024-04-26 | 上海哔哩哔哩科技有限公司 | Cdn处理方法和系统 |
CN115086332B (zh) * | 2022-06-27 | 2024-03-08 | 北京奇艺世纪科技有限公司 | 一种通信方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161664A (zh) * | 2015-04-15 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 域名解析方法及装置、数据传输方法及装置 |
CN106817266A (zh) * | 2015-12-01 | 2017-06-09 | 北京慧点科技有限公司 | 一种对等网络资源下载方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8103780B2 (en) * | 2008-12-18 | 2012-01-24 | At&T Intellectual Property I, Lp | Systems and methods for determining the location of a request on a content delivery network |
US8499034B2 (en) * | 2010-07-21 | 2013-07-30 | At&T Intellectual Property I, L.P. | Methods and apparatus to transmit a request to server via domain system forwarding |
CN105100260B (zh) * | 2012-03-31 | 2018-10-09 | 北京奇虎科技有限公司 | 一种通过代理服务器进行访问的方法及装置 |
CN104954431A (zh) * | 2015-04-24 | 2015-09-30 | 百度在线网络技术(北京)有限公司 | 网络选择方法、装置及系统 |
-
2017
- 2017-10-23 CN CN201710994282.5A patent/CN107896241B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161664A (zh) * | 2015-04-15 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 域名解析方法及装置、数据传输方法及装置 |
CN106817266A (zh) * | 2015-12-01 | 2017-06-09 | 北京慧点科技有限公司 | 一种对等网络资源下载方法 |
Non-Patent Citations (1)
Title |
---|
《提高网络访问速度》;王凯;《网络安全和信息化》;20170605;66 * |
Also Published As
Publication number | Publication date |
---|---|
CN107896241A (zh) | 2018-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107896241B (zh) | 网络访问速度的探测方法、装置、存储介质和电子设备 | |
US10284516B2 (en) | System and method of determining geographic locations using DNS services | |
US10015243B2 (en) | Optimized content distribution based on metrics derived from the end user | |
US9172632B2 (en) | Optimized content distribution based on metrics derived from the end user | |
US8489724B2 (en) | CNAME-based round-trip time measurement in a content delivery network | |
US20110119370A1 (en) | Measuring network performance for cloud services | |
US20100088405A1 (en) | Determining Network Delay and CDN Deployment | |
KR101451194B1 (ko) | 콘텐츠 전송 네트워크에서의 거리 계산 방법 및 장치 | |
AU2020386847B2 (en) | Asset search and discovery system using graph data structures | |
US20140122572A1 (en) | Enterprise service bus routing system | |
US9385925B1 (en) | Anycast route detection | |
Zimmermann et al. | How HTTP/2 pushes the web: An empirical study of HTTP/2 server push | |
US20150032905A1 (en) | Method and system for associating internet protocol (ip) address, media access control (mac) address and location for a user device | |
CN104954507A (zh) | 数据优选的域名解析方法及系统 | |
CN106411629B (zh) | 一种用于监控cdn节点的状态的方法和设备 | |
Bajpai et al. | A longitudinal view of dual-stacked websites—failures, latency and happy eyeballs | |
US20210184940A1 (en) | Prediction of a performance indicator | |
CN109818821B (zh) | 一种网站cdn架构的检测方法及装置 | |
US11336579B2 (en) | Predictive Anycast traffic shaping | |
US11297131B2 (en) | Method and apparatus for multi-vendor GTM fabric | |
CN114301872B (zh) | 基于域名的访问方法及装置、电子设备、存储介质 | |
US10333966B2 (en) | Quarantining an internet protocol address | |
CN111082977B (zh) | Ip地址的获取方法、装置和终端设备 | |
CN114520784A (zh) | 一种动态内容加速访问方法及装置 | |
JP2019125881A (ja) | ホームゲートウェイ装置、推奨接続サービスの提案方法及び推奨接続サービスの提案プログラム |
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 |