CN112738271B - 一种cdn质量的探测方法、系统及域名服务器 - Google Patents
一种cdn质量的探测方法、系统及域名服务器 Download PDFInfo
- Publication number
- CN112738271B CN112738271B CN202110023090.6A CN202110023090A CN112738271B CN 112738271 B CN112738271 B CN 112738271B CN 202110023090 A CN202110023090 A CN 202110023090A CN 112738271 B CN112738271 B CN 112738271B
- Authority
- CN
- China
- Prior art keywords
- domain name
- server
- external platform
- node
- cdn
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种CDN质量的探测方法、系统及域名服务器,其中,所述方法包括:中心HTTP服务器接收外部平台发来的测试请求,并生成重定向链接,所述重定向链接指向待探测CDN节点,并且所述重定向链接中的域名包括具备唯一标识的随机子域名;所述外部平台向所述待探测CDN节点中的域名服务器发起域名解析请求;在所述随机子域名符合探测条件时,所述域名服务器向所述外部平台反馈所述待探测CDN节点中HTTP探测服务器的地址,以使得所述外部平台基于所述重定向链接从所述HTTP探测服务器处获取目标页面,所述目标页面中包含与所述唯一标识相绑定的质量探测信息。本申请提供的技术方案,能够对用户客户端整体的访问过程进行监控,从而全面地对加速效果进行评估。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种CDN质量的探测方法、系统及域名服务器。
背景技术
在CDN(Content Delivery Network,内容分发网络)技术中,分析用户在使用CDN加速业务时的加速效果是CDN厂商比较关注的问题。目前,通常只有在CDN节点接收到用户客户端的访问请求时,才能对后续的访问过程进行跟踪,从而监控访问过程中的加速效果。而对于CDN节点接收到访问请求之前的过程,当前是无法监控的,从而导致无法全面地对加速效果进行评估。
发明内容
本申请的目的在于提供一种CDN质量的探测方法、系统及域名服务器,能够对用户客户端整体的访问过程进行监控,从而全面地对加速效果进行评估。
为实现上述目的,本申请一方面提供一种CDN质量的探测方法,所述方法包括:中心HTTP服务器接收外部平台发来的测试请求,并生成重定向链接,所述重定向链接指向待探测CDN节点,并且所述重定向链接中的域名包括具备唯一标识的随机子域名;所述中心HTTP服务器向所述外部平台反馈所述重定向链接,所述外部平台根据重定向链接向所述待探测CDN节点中的域名服务器发起域名解析请求;在所述随机子域名符合探测条件时,所述域名服务器向所述外部平台反馈所述待探测CDN节点的地址,所述域名服务器或所述待探测CDN节点记录日志文件,以根据所述日志文件分析所述待探测CDN节点的服务质量。
为实现上述目的,本申请另一方面还提供一种CDN质量的探测系统,所述系统包括:中心HTTP服务器、CDN节点、CDN节点中的域名服务器、CDN节点中的HTTP探测服务器,其中:所述中心HTTP服务器,用于接收外部平台发来的测试请求,并生成重定向链接,所述重定向链接指向待探测CDN节点,并且所述重定向链接中的域名包括具备唯一标识的随机子域名;向所述外部平台反馈所述重定向链接,以使得所述外部平台向所述待探测CDN节点中的域名服务器发起域名解析请求;所述域名服务器,用于在所述随机子域名符合探测条件时,向所述外部平台反馈所述待探测CDN节点的地址,所述域名服务器或所述待探测CDN节点记录日志文件,以根据所述日志文件分析所述待探测CDN节点的服务质量。
为实现上述目的,本申请另一方面还提供一种CDN质量的探测方法,所述方法应用于CDN节点中的域名服务器,所述方法包括:接收外部平台发来的针对目标域名的域名解析请求,所述目标域名中包括原始域名和随机子域名,并且所述随机子域名具备唯一标识;识别所述唯一标识对应的当前探测次数,并在所述当前探测次数满足探测条件时,向所述外部平台反馈所述CDN节点的地址,所述域名服务器或所述CDN节点记录日志文件,以根据所述日志文件分析所述CDN节点的服务质量。
为实现上述目的,本申请另一方面还提供一种CDN节点中的域名服务器,所述域名服务器包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的CDN质量的探测方法。
由上可见,本申请一个或者多个实施方式提供的技术方案,在CDN节点中的域名服务器接收到外部平台发来的域名解析请求之前,由外部平台发起的测试请求会先经过中心HTTP服务器的处理,生成对应的重定向链接,在该重定向链接中会包含具备唯一标识的随机子域名,该唯一标识可以作为监控质量探测信息的依据。这样,外部平台针对上述的重定向链接进行资源获取时,整个过程都可以通过该唯一标识进行跟踪,最终通过目标页面中与唯一标识相绑定的质量探测信息,能够全面地对加速效果进行评估。
附图说明
为了更清楚地说明本发明实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中包含中心HTTP服务器的系统架构示意图;
图2是本发明实施方式中CDN质量的探测方法交互示意图;
图3是本发明实施方式中域名解析的流程图;
图4是本发明实施方式中包含中心DNS服务器的系统交互示意图;
图5是本发明实施方式中包含中心HTTP服务器的交互示意图;
图6是本发明实施方式中包含中心DNS服务器的交互示意图;
图7是本发明实施方式中HTTP探测服务器响应测试请求的交互示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施方式及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施方式仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
随着CDN市场发展,CDN产品越来越复杂,分析用户使用过程中各个环节的加速效果也成为CDN厂商关心的头等大事。在用户的一次下载请求中,经历了哪些环节,这些环节返回了什么,都是需要进行记录和分析的。然而,让没有CDN相关知识的用户协助分析其上网过程中各个环节的加速质量,通常是一件无法实现的事情。此时如果有方案能够通过浏览器探测服务质量,那么既可以减轻普通用户的操作难度,又可以减少技术人员的工作量。当前CDN只能在边缘CDN收到HTTP请求时,向HTTP请求头中添加跟踪码,后续的各个CDN组件在处理请求时可以记录跟踪码和操作内容。但这种方式只能得知边缘CDN收到该请求之后的信息,并不能知道该请求到边缘节点之前的信息,如它的DNS出口IP是什么,为什么到这个CDN节点请求。
类似地,随着CDN市场的扩大,出现越来越多的CDN厂商,也出现了测试CDN服务节点质量的第三方平台,同时客户会参考第三平台的测试结果选择CDN厂商。同样的,CDN厂商也可以通过第三方平台的测试提高CDN服务节点的质量。在使用第三方平台的测试过程中,CDN厂商只能在边缘CDN服务节点得知各个请求的公网出口IP、下载速率,但并没有办法无法得知各个请求的DNS出口IP、时延等可用于提高CDN服务节点服务质量的其他信息。为此,构建一个可关联DNS出口IP的探测CDN服务节点服务质量的系统对CDN厂商至关重要。
本申请一个实施方式提供的CDN质量的探测方法,可以应用于如图1所示的系统架构中。在该系统架构中,可以包括中心HTTP服务器和各个CDN节点。中心HTTP服务器可以与外部平台的设备进行交互。需要说明的是,这里的外部平台,可以指上述的用于测试CDN服务节点质量的第三方平台,也可以指想要测试CDN服务节点质量的用户。那么外部平台的设备可以是第三方平台的监控设备,也可以是用户的终端设备。
对于专业的用户而言,在测试CDN节点的质量时,可直接在加速请求的域名中添加随机子域名,CDN的所有相关组件,包括DNS服务器、调度,缓冲等等组件,均能兼容域名包含随机子域名的情况,不管域名是否包含随机子域名,返回结果是一样的。而后边缘CDN收到HTTP请求时,可使用随机子域名中的唯一ID作为HTTP请求头中的跟踪码,或者建立唯一ID与跟踪码的关联。最后可使用接口查询日志中心内该唯一ID的相关信息。
对于第三方平台的探测,则可以让中心HTTP服务器使用重定向技术,自动平均地把第三方平台的循环测试请求分散到所有的CDN服务节点上,同时重定向的链接的新域名包含随机子域名。
在CDN节点中,可以包括域名服务器和HTTP探测服务器。外部平台的测试请求会被中心HTTP服务器接收,中心HTTP服务器可以将外部平台的测试请求调度至待探测CDN节点处,从而由CDN节点内的域名服务器和HTTP探测服务器对该测试请求进行处理。
请参阅图2和图5,本实施方式中的CDN质量的探测方法可以包括以下多个步骤。
S11:中心HTTP服务器接收外部平台发来的测试请求,并生成重定向链接,所述重定向链接指向待探测CDN节点,并且所述重定向链接中的域名包括具备唯一标识的随机子域名。
在本实施方式中,外部平台可以向中心HTTP服务器发起一个或者多个测试请求,中心HTTP服务器可以通过预设的调度策略,将该一个或者多个测试请求调度至对应的CDN节点处。具体地,为了平均地对各个CDN节点进行测试,针对外部平台发来的多个测试请求,中心HTTP服务器可以将这些测试请求均衡地调度至各个CDN处。举例来说,中心HTTP服务器中可以具备CDN节点的节点列表,中心HTTP服务器可以将测试请求按照节点列表中CDN节点的排列顺序,依次分发测试请求。例如,当前共计有3个CDN节点,当中心HTTP服务器接收到第一个测试请求时,可以将该第一个测试请求调度至第一个CDN节点处。同理,当中心HTTP服务器接收到第二个测试请求时,可以将该第二个测试请求调度至第二个CDN节点处。以此类推,中心HTTP服务器可以将多个测试请求平均地在多个CDN节点中分配。当然,在实际应用中,中心HTTP服务器还可以执行负载均衡的调度策略,优先将测试请求调度至负载较低的CDN节点处,这里就不再赘述。
在本实施方式中,外部平台发起测试请求时,该测试请求通常会先经过外部平台的本地DNS服务器进行解析。请参阅图3,假设外部平台发起测试请求www.test.com,本地DNS服务器对该测试请求解析后,会向com域名服务器询问解析结果。com域名服务器可以向本地DNS服务器返回NS记录,该NS记录指向test.com域名服务器。同理,本地DNS服务器可以向test.com域名服务器询问解析结果,test.com域名服务器便可以返回中心HTTP服务器的IP地址。这样,本地DNS服务器可以将中心HTTP服务器的IP地址提供给外部平台,外部平台从而可以通过浏览器向中心HTTP服务器发起测试请求www.test.com/uri。在本实施方式中,中心HTTP服务器接收到外部平台发来的测试请求后,可以按照上述的方式,确定处理该测试请求的CDN节点,并从预先获取的CDN节点的信息中,查询该CDN节点的节点域名。为了对后续的请求过程进行跟踪,中心HTTP服务器可以通过在该节点域名中加入随机子域名的方式,来生成重定向链接。具体地,中心HTTP服务器可以生成唯一标识,并且设置探测次数,从而根据该唯一标识和探测次数生成随机子域名。其中,唯一标识的生成方式不做限定,可以是发起该测试请求的外部平台的IP地址和时间戳的哈希散列值,也可以是根据当前的测试请求数处理得到的字符串,还可以是通用唯一识别码(Universally UniqueIdentifier,UUID),具体实现形式可以根据需求灵活设置,只要保证其唯一性即可。设置的探测次数可以用于限定外部平台和CDN节点之间测试请求的传输次数,每次探测都可以得到外部平台和CDN节点之间的质量探测信息(时延、丢包率等),探测次数的多少可以影响质量探测信息的准确与否,该探测次数的实际数值也可以根据探测需要灵活设置。随机子域名可以是唯一标识和探测次数的拼接结果。例如,唯一标识为guid,探测次数为2,那么随机子域名便可以是guid2。
在本实施方式中,基于节点域名和随机子域名,可以构建重定向链接。具体地,可以将随机子域名作为前缀,与节点域名拼接,从而得到重定向链接中的域名。举例来说,节点域名为nodeX.test.com,那么拼接得到的域名就是guid2.nodeX.test.com,最终构建的重定向链接就可以是guid2.nodeX.test.com/uri。
在一个实施方式中,若中心HTTP服务器接收到外部平台发来多个测试请求,可以针对每个测试请求生成各自的重定向链接,从而将这些测试请求在预设的多个CDN节点之间进行重定向。由于这些测试请求可能都是由同一个外部平台发起的,因此中心HTTP服务器在将当前的重定向链接反馈给外部平台时,需要不缓存当前的重定向链接。这样处理的目的在于,同一个外部平台的设备的多次测试请求不会因为存在缓冲而都到同一个CDN节点,导致请求后续环节的测试数据不准确,从而实现测试请求的均衡分配。
S13:所述中心HTTP服务器向所述外部平台反馈所述重定向链接,所述外部平台根据重定向链接向所述待探测CDN节点中的域名服务器发起域名解析请求。
在本实施方式中,中心HTTP服务器生成重定向链接后,可以通过返回302状态码,将重定向链接反馈给外部平台。外部平台接收到该重定向链接后,可以再次发起针对该重定向链接的访问请求。具体地,针对重定向链接guid2.nodeX.test.com/uri,外部平台的本地DNS服务器可以向test.com域名服务器查询对应的解析结果。test.com域名服务器可以返回域名nodeX.test.com的NS记录,该域名nodeX.test.com可以指向待探测CDN节点中的域名服务器。这样,本地DNS服务器可以向CDN节点中的域名服务器发起guid2.nodeX.test.com的域名解析请求。
S15:在所述随机子域名符合探测条件时,所述域名服务器向所述外部平台反馈所述待探测CDN节点中HTTP探测服务器的地址,所述域名服务器或所述CDN节点记录日志文件,以根据所述日志文件分析所述CDN节点的服务质量。
在本实施方式中,CDN节点中的域名服务器接收到外部平台的本地DNS服务器发来的域名解析请求后,可以判断该域名解析请求中的随机子域名是否符合探测条件。具体地,随机子域名中包含当前的探测次数,如果当前的探测次数大于1,则表示该随机子域名不符合探测条件。只有当前的探测次数为指定数值1的时候,才表示随机子域名符合探测条件。
在本实施方式中,如果所述随机子域名不符合探测条件,域名服务器可以更新请求解析的域名中的探测次数,以生成包含更新后的随机子域名的域名。具体地,域名服务器可以将随机子域名中的探测次数减1,从而得到更新后的探测次数,并基于该更新后的探测次数生成更新后的域名。举例来说,域名服务器接收到的域名解析请求中的域名为guid2.nodeX.test.com,此时探测次数为2,不符合探测条件,因此可以将探测次数减1,生成更新后的域名guid1.nodeX.test.com。在生成更新后的域名后,域名服务器可以向所述外部平台反馈所述更新后的域名。
在本实施方式中,外部平台接收到更新后的域名后,可以按照类似的步骤,再由本地DNS服务器向CDN节点中的域名服务器发起针对更新后的域名的域名解析请求。这样,域名服务器可以接收到域名为guid1.nodeX.test.com的域名解析请求。此时,随机子域名中的探测次数为1,满足探测条件,因此域名服务器可以向所述外部平台反馈待探测CDN节点中HTTP探测服务器的IP地址。这样,外部平台根据HTTP探测服务器的IP地址,便可以通过HTTP GET请求,基于一开始的重定向链接guid2.nodeX.test.com/uri,从所述HTTP探测服务器处获取目标页面。在该目标页面中,可以包含与随机子域名中的唯一标识相绑定的质量探测信息。当然,在目标页面中,也可以包含一个链接,当点击该链接时,可以展示唯一标识相绑定的质量探测信息。
在一个实施方式中,外部平台与待探测CDN节点之间的质量探测信息,可以由CDN节点中的域名服务器来记录。具体地,以质量探测信息中的时延为例,域名服务器在接收外部平台发起的域名解析请求时,可以记录第一次域名解析请求的第一时间节点,以及记录最后一次域名解析请求的第二时间节点。例如在上述的例子中,第一次域名解析请求是针对guid2.nodeX.test.com的域名解析请求,最后一次域名解析请求是针对guid1.nodeX.test.com的域名解析请求,这两个时间节点可以被记录下来。然后,域名服务器可以识别在所述第一时间节点和所述第二时间节点之间反馈更新后的域名的次数。在上述的例子中,第一时间节点和第二时间节点之间,域名服务器只反馈了一次更新后的域名。当然,在实际应用中,第一次域名解析请求对应的域名中,探测次数可以是3或者更多,从而会使得域名服务器反馈多次更新后的域名。
在本实施方式中,域名服务器可以根据所述第一时间节点和所述第二时间节点之间的时间差,以及所述次数,确定所述外部平台与所述CDN节点之间的时延。具体地,外部平台与CDN节点之间的时延,可以通过公式(t2-t1)/c来表示,其中,t2表示第二时间节点,t1表示第一时间节点,c则表示反馈更新后的域名的次数。
之所以可以通过上述的方式来确定外部平台与CDN节点之间的时延,原因就是第三方平台的外部平台及其本地DNS服务器通常都部署在同一机房,那么本地DNS服务器的两次请求的间隔就可以视为外部平台到CDN节点的时延。
在本实施方式中,除了记录时延信息,域名服务器还可以将域名解析请求的请求时间、域名服务器的出口IP地址与所述唯一标识一并相绑定后,并可以同步记录于日志文件中。这样,在日志文件中通过检索唯一标识,便可以查询到相绑定的一系列质量探测信息。
在一个实施方式中,HTTP探测服务器接收到外部平台发来的下载请求时,如果下载请求中不包含唯一标识,在该重定向链接中,可以包括具备唯一标识的随机子域名。举例来说,HTTP探测服务器接收到下载请求nodeX.test.com/uri后,可以向外部平台返回重定向链接类似guid2.nodeX.test.com/uri。该重定向链接依然是指向HTTP探测服务器自身,并且该重定向链接中,包含唯一标识guid以及探测次数2。HTTP探测服务器向外部平台反馈重定向链接后,外部平台可以通过本地DNS服务器,向CDN节点中的域名服务器发起域名解析请求。域名服务器在判定随机子域名符合探测条件时,可以向外部平台反馈HTTP探测服务器的地址。这样,外部平台可以基于重定向链接从HTTP探测服务器处获取目标页面,在这次的访问过程中,由于重定向链接中具备唯一标识,因此可以对该过程进行跟踪。在所述目标页面中,依然可以包含与所述唯一标识相绑定的质量探测信息。
请参阅图7,用户向CDN节点的HTTP探测服务器发起下载请求nodeX.test.com/uri,CDN节点的HTTP探测服务器返回一个包含随机子域名的重定向链接,重定向的新链接类似guid1.nodeX.test.com/uri。此时用户的local DNS需向CDN服务节点的DNS探测服务器请求解析新域名guid1.nodeX.test.com。DNS探测服务器解析域名时,发现到达探测次数,并返回CDN服务节点的HTTP探测服务器的IP为要请求的A记录或者AAAA记录。
用户向CDN服务节点的HTTP探测服务器发起下载请求guid1.nodeX.test.com/uri,CDN节点的HTTP服务器正常响应下载页面,该页面可包含点击可打开该唯一ID在各个环节详细信息的链接。
本申请一个实施方式还提供一种CDN质量的探测系统,所述系统包括:中心HTTP服务器、CDN节点、CDN节点中的域名服务器、CDN节点中的HTTP探测服务器,其中:
所述中心HTTP服务器,用于接收外部平台发来的测试请求,并生成重定向链接,所述重定向链接指向待探测CDN节点,并且所述重定向链接中的域名包括具备唯一标识的随机子域名;向所述外部平台反馈所述重定向链接,以使得所述外部平台向所述待探测CDN节点中的域名服务器发起域名解析请求;
所述域名服务器,用于在所述随机子域名符合探测条件时,向所述外部平台反馈所述待探测CDN节点中HTTP探测服务器的地址,以使得所述外部平台基于所述重定向链接从所述HTTP探测服务器处获取目标页面,所述目标页面中包含与所述唯一标识相绑定的质量探测信息。
在本申请另一个实施方式中,当第三方测试平台不支持重定向时,可让中心DNS服务器或CDN节点的DNS探测服务器通过返回CNAME实现。在这种情况下,系统架构中不包含中心HTTP服务器,而是包含中心DNS服务器,这样基于中心DNS服务器,也可以实现质量探测信息的追踪。具体地请参阅图4和图6,本实施方式中的CDN质量的探测方法可以包括以下步骤。
S21:中心DNS服务器接收外部平台发来的针对原始访问域名的第一域名解析请求,并生成CNAME记录,所述CNAME记录指向待探测CDN节点,并且所述CNAME记录中包括具备唯一标识的随机子域名。
在本实施方式中,外部平台可以按照步骤S11中的描述,针对原始访问域名dns.test.com,由本地DNS服务器依次向com域名服务器和test.com域名服务器查询解析结果,test.com域名服务器可以向外部平台反馈指向中心DNS服务器的NS记录。这样,外部平台可以向中心DNS服务器发起针对原始访问域名dns.test.com的第一域名解析请求。
在本实施方式中,中心DNS服务器在对该原始访问域名进行解析时,可以按照与步骤S11中类似的方式,将多个域名解析请求均衡地在多个CDN节点之间进行分配。并且为了追踪后续的访问过程,可以在原始域名中添加随机子域名,从而生成CNAME记录。具体地,中心DNS服务器可以确定处理所述原始访问域名的CDN节点,并获取所述CDN节点的节点域名。然后可以生成唯一标识以及设置探测次数,并根据所述唯一标识和所述探测次数生成随机子域名。最终,可以基于所述节点域名和所述随机子域名构建CNAME记录。上述确定CDN节点、生成唯一标识、设置探测次数以及生成随机子域名的过程均可以参照前述步骤中的描述,例如,唯一标识为guid,探测次数为2,那么随机子域名便可以是guid2。
在本实施方式中,基于节点域名和随机子域名,可以构建CNAME记录。具体地,可以将随机子域名作为前缀,与节点域名拼接,从而得到CNAME记录中的域名。举例来说,节点域名为nodeX.test.com,那么拼接得到的域名就是guid2.nodeX.test.com,最终构建的CNAME记录就可以指向guid2.nodeX.test.com。
在一个实施方式中,如果中心DNS服务器接收到外部平台发来多个域名解析请求,针对每个域名解析请求可以生成各自的CNAME记录,从而将所述各个域名解析请求对应的测试请求在预设的多个CDN节点之间进行分配。其中,中心DNS服务器在将当前的CNAME记录反馈给外部平台时,可以将当前的CNAME记录的存活时间设置为0。这样,同一个外部平台的设备再次请求同一个域名的测试请求时,会重新向中心DNS服务器发起请求,因此可以重新选择CDN节点,而不会直接根据已存在的CNAME记录将域名解析请求依然分配至同一个CDN节点处,这样便可以实现测试请求的均衡分配。
S23:所述中心DNS服务器向所述外部平台反馈所述CNAME记录,以使得所述外部平台向所述待探测CDN节点中的域名服务器发起针对所述CNAME记录的第二域名解析请求。
在本实施方式中,外部平台接收到中心DNS服务器反馈的CNAME记录后,可以向CDN节点中的域名服务器发起第二域名解析请求。具体的过程请参阅步骤S13的描述。
S25:在所述随机子域名符合探测条件时,所述域名服务器向所述外部平台反馈所述待探测CDN节点中HTTP探测服务器的地址,以使得所述外部平台基于所述原始访问域名从所述HTTP探测服务器处获取目标页面,所述目标页面中包含与所述唯一标识相绑定的质量探测信息。
在本实施方式中,CDN节点中的域名服务器依然可以根据随机子域名中的探测次数,来判断随机子域名是否符合探测条件。如果符合探测条件,便可以向外部平台反馈HTTP探测服务器的IP地址。若所述随机子域名不符合探测条件,所述域名服务器可以更新所述CNAME记录中的探测次数,以生成更新后的CNAME记录。然后,所述域名服务器向所述外部平台反馈所述更新后的CNAME记录,以使得所述外部平台向CDN节点中的域名服务器发起针对所述更新后的CNAME记录的域名解析请求。类似的过程可以参阅步骤S15的描述,这里便不再赘述。
在本实施方式中,外部平台接收到HTTP探测服务器的IP地址后,可以通过HTTPGET的方式向HTTP探测服务器发起页面获取请求。与中心HTTP服务器不同的是,在中心DNS服务器的架构下,外部平台是针对原始访问域名dns.test.com进行目标页面的获取。在该原始访问域名中,并不包含随机子域名,因此无法根据唯一标识来监控页面的获取过程,从而无法探测页面获取过程中外部平台与CDN节点之间的质量探测信息。这也是利用中心DNS服务器来实现信息跟踪的一个缺陷,该缺陷在中心HTTP服务器的系统架构中可以被解决。
在一个实施方式中,HTTP探测服务器接收到外部平台发来的下载请求时,如果下载请求中不包含唯一标识,在该重定向链接中,可以包括具备唯一标识的随机子域名。举例来说,HTTP探测服务器接收到下载请求nodeX.test.com/uri后,可以向外部平台返回重定向链接类似guid2.nodeX.test.com/uri。该重定向链接依然是指向HTTP探测服务器自身,并且该重定向链接中,包含唯一标识guid以及探测次数2。HTTP探测服务器向外部平台反馈重定向链接后,外部平台可以通过本地DNS服务器,向CDN节点中的域名服务器发起域名解析请求。域名服务器在判定随机子域名符合探测条件时,可以向外部平台反馈HTTP探测服务器的地址。这样,外部平台可以基于重定向链接从HTTP探测服务器处获取目标页面,在这次的访问过程中,由于重定向链接中具备唯一标识,因此可以对该过程进行跟踪。在所述目标页面中,依然可以包含与所述唯一标识相绑定的质量探测信息。
本申请还提供一种CDN质量的探测系统,所述系统包括:中心DNS服务器、CDN节点、CDN节点中的域名服务器、CDN节点中的HTTP探测服务器,其中:
所述中心DNS服务器,用于接收外部平台发来的针对原始访问域名的第一域名解析请求,并生成CNAME记录,所述CNAME记录指向待探测CDN节点,并且所述CNAME记录中包括具备唯一标识的随机子域名;向所述外部平台反馈所述CNAME记录,以使得所述外部平台向所述待探测CDN节点中的域名服务器发起针对所述CNAME记录的第二域名解析请求;
所述域名服务器,用于在所述随机子域名符合探测条件时,向所述外部平台反馈所述待探测CDN节点中HTTP探测服务器的地址,以使得所述外部平台基于所述原始访问域名从所述HTTP探测服务器处获取目标页面,所述目标页面中包含与所述唯一标识相绑定的质量探测信息。
在本申请另一个实施方式中,还提供一种CDN质量的探测方法,所述方法可以应用于CDN节点中的域名服务器,所述方法包括:
S31:接收外部平台发来的针对目标域名的域名解析请求,所述目标域名中包括原始域名和随机子域名,并且所述随机子域名具备唯一标识;
S33:识别所述唯一标识对应的当前探测次数,并在所述当前探测次数满足探测条件时,向所述外部平台反馈所述CDN节点中HTTP探测服务器的地址,所述域名服务器或所述CDN节点记录日志文件,以根据所述日志文件分析所述CDN节点的服务质量。
在一个实施方式中,所述方法还包括:
若所述当前探测次数不满足探测条件,所述域名服务器更新所述域名解析请求中的探测次数,以生成更新后的CNAME记录;
所述域名服务器向所述外部平台反馈所述更新后的CNAME记录,以使得所述外部平台向所述域名服务器发起针对所述更新后的CNAME记录的域名解析请求。
上述步骤的具体实现方式,可以参照前述实施方式中的描述,这里就不再赘述。
本申请还提供一种CDN节点中的域名服务器,所述域名服务器包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述由域名服务器执行的CDN质量的探测方法。
在本申请中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。所述存储器又可以包括:利用电能方式存储信息的装置,如RAM或ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器或U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器,例如量子存储器或石墨烯存储器等等。
在本申请中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
由上可见,本申请一个或者多个实施方式提供的技术方案,在CDN节点中的域名服务器接收到外部平台发来的域名解析请求之前,由外部平台发起的测试请求会先经过中心HTTP服务器或者中心DNS服务器的处理,生成对应的重定向链接或者CNAME记录,在该重定向链接或者CNAME记录中会包含具备唯一标识的随机子域名,该唯一标识可以作为监控质量探测信息的依据。这样,外部平台针对上述的重定向链接或者CNAME记录进行资源获取时,整个过程都可以通过该唯一标识进行跟踪,最终通过目标页面中与唯一标识相绑定的质量探测信息,能够全面地对加速效果进行评估。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对系统和域名服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本领域内的技术人员应明白,本发明的实施方式可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施方式而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种CDN质量的探测方法,其特征在于,所述方法包括:
中心HTTP服务器接收外部平台发来的测试请求,并基于待探测CDN节点的域名和随机子域名生成重定向链接,所述重定向链接指向所述待探测CDN节点,并且所述重定向链接中的域名包括具备唯一标识的随机子域名,其中,所述重定向链接中的域名通过将所述随机子域名与所述节点域名拼接得到,所述随机子域名是根据所述唯一标识和探测次数生成的;
所述中心HTTP服务器向所述外部平台反馈所述重定向链接,所述外部平台根据重定向链接向所述待探测CDN节点中的域名服务器发起域名解析请求;
在所述随机子域名符合探测条件时,所述域名服务器向所述外部平台反馈所述待探测CDN节点的地址,所述域名服务器或所述待探测CDN节点记录日志文件,以根据所述日志文件分析所述待探测CDN节点的服务质量。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述中心HTTP服务器接收到所述外部平台发来多个测试请求,针对每个所述测试请求生成各自的重定向链接,以将所述多个测试请求在预设的多个所述待探测CDN节点之间进行重定向;
其中,所述中心HTTP服务器在将当前的重定向链接反馈给所述外部平台时,不缓存所述当前的重定向链接。
3.根据权利要求1所述的方法,其特征在于,生成重定向链接包括:
确定处理所述测试请求的所述待探测CDN节点,并获取所述待探测CDN节点的节点域名;
生成唯一标识以及设置探测次数,并根据所述唯一标识和所述探测次数生成随机子域名;
基于所述节点域名和所述随机子域名构建重定向链接。
4.根据权利要求1或3所述的方法,其特征在于,所述随机子域名符合探测条件包括:所述随机子域名中的探测次数为指定数值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若请求解析的域名中的随机子域名不符合探测条件,所述域名服务器更新所述请求解析的域名中的探测次数,以生成包含更新后的随机子域名的域名;
所述域名服务器向所述外部平台反馈更新后的域名,以使得所述外部平台向所述域名服务器发起针对所述更新后的域名的域名解析请求。
6.根据权利要求1或5所述的方法,其特征在于,所述方法还包括:
所述域名服务器在接收所述外部平台发起的域名解析请求时,记录第一次域名解析请求的第一时间节点,以及记录最后一次域名解析请求的第二时间节点;
所述域名服务器识别在所述第一时间节点和所述第二时间节点之间反馈更新后的随机子域名的次数,并根据所述第一时间节点和所述第二时间节点之间的时间差,以及所述次数,确定所述外部平台与所述CDN节点之间的时延。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述域名服务器将所述时延、域名解析请求的请求时间以及所述域名服务器的出口IP地址与所述唯一标识相绑定后,记录于日志文件中。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
HTTP探测服务器接收到所述外部平台发来的下载请求时,若所述下载请求中不包含所述唯一标识,所述HTTP探测服务器生成指向自身的重定向链接,所述重定向链接中包括具备所述唯一标识的随机子域名;
所述HTTP探测服务器向所述外部平台反馈所述重定向链接,以使得所述外部平台向所述域名服务器发起域名解析请求;
在所述随机子域名符合探测条件时,所述域名服务器向所述外部平台反馈所述HTTP探测服务器的地址,以使得所述外部平台基于所述重定向链接从所述HTTP探测服务器处获取目标页面,所述目标页面中包含与所述唯一标识相绑定的质量探测信息。
9.一种CDN质量的探测系统,其特征在于,所述系统包括:中心HTTP服务器、CDN节点、CDN节点中的域名服务器、CDN节点中的HTTP探测服务器,其中:
所述中心HTTP服务器,用于接收外部平台发来的测试请求,并基于待探测CDN节点的域名和随机子域名生成重定向链接,所述重定向链接指向所述待探测CDN节点,并且所述重定向链接中的域名包括具备唯一标识的随机子域名,其中,所述重定向链接中的域名通过将所述随机子域名与所述节点域名拼接得到,所述随机子域名是根据所述唯一标识和探测次数生成的;向所述外部平台反馈所述重定向链接,以使得所述外部平台向所述待探测CDN节点中的域名服务器发起域名解析请求;
所述域名服务器,用于在所述随机子域名符合探测条件时,向所述外部平台反馈所述待探测CDN节点的地址,所述域名服务器或所述待探测CDN节点记录日志文件,以根据所述日志文件分析所述待探测CDN节点的服务质量。
10.一种CDN质量的探测方法,其特征在于,所述方法应用于CDN节点中的域名服务器,所述方法包括:
接收外部平台根据中心HTTP服务器基于待探测CDN节点的域名生成的重定向链接发来的针对目标域名的域名解析请求,所述目标域名中包括原始域名和随机子域名,并且所述随机子域名具备唯一标识,其中,所述目标域名是通过将所述随机子域名与所述节点域名拼接得到,所述随机子域名是根据所述唯一标识和探测次数生成的;
识别所述唯一标识对应的当前探测次数,并在所述当前探测次数满足探测条件时,向所述外部平台反馈所述CDN节点的地址,所述域名服务器或所述CDN节点记录日志文件,以根据所述日志文件分析所述CDN节点的服务质量。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述域名服务器在接收所述外部平台发起的域名解析请求时,记录第一次域名解析请求的第一时间节点,以及记录最后一次域名解析请求的第二时间节点;
所述域名服务器识别在所述第一时间节点和所述第二时间节点之间反馈更新后的随机子域名的次数,并根据所述第一时间节点和所述第二时间节点之间的时间差,以及所述次数,确定所述外部平台与所述CDN节点之间的时延。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述域名服务器将所述时延、域名解析请求的请求时间以及所述域名服务器的出口IP地址与所述唯一标识相绑定后,记录于日志文件中。
13.根据权利要求10所述的方法,其特征在于,所述方法还包括:
若所述当前探测次数不满足探测条件,所述域名服务器更新所述域名解析请求中的探测次数,以生成更新后的CNAME记录;
所述域名服务器向所述外部平台反馈所述更新后的CNAME记录,以使得所述外部平台向所述域名服务器发起针对所述更新后的CNAME记录的域名解析请求。
14.一种CDN节点中的域名服务器,其特征在于,所述域名服务器包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求10至13中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110023090.6A CN112738271B (zh) | 2021-01-08 | 2021-01-08 | 一种cdn质量的探测方法、系统及域名服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110023090.6A CN112738271B (zh) | 2021-01-08 | 2021-01-08 | 一种cdn质量的探测方法、系统及域名服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112738271A CN112738271A (zh) | 2021-04-30 |
CN112738271B true CN112738271B (zh) | 2023-06-23 |
Family
ID=75591261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110023090.6A Active CN112738271B (zh) | 2021-01-08 | 2021-01-08 | 一种cdn质量的探测方法、系统及域名服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112738271B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401244A (zh) * | 2022-01-14 | 2022-04-26 | 平安普惠企业管理有限公司 | 运营链接智能切换方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624914A (zh) * | 2012-03-22 | 2012-08-01 | 北京快网科技有限公司 | 通过Web方式探测客户端使用的本地DNS服务器的方法 |
CN106506727A (zh) * | 2016-12-28 | 2017-03-15 | 北京奇艺世纪科技有限公司 | 一种定位域名解析错误的本地域名系统的方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107769940A (zh) * | 2016-08-17 | 2018-03-06 | 深圳市优朋普乐传媒发展有限公司 | 一种确定故障web服务器的方法及装置 |
CN106657050A (zh) * | 2016-12-15 | 2017-05-10 | 迈普通信技术股份有限公司 | 一种域名解析异常检测方法、探测管理服务器及网关设备 |
CN108702397B (zh) * | 2017-08-08 | 2021-07-06 | 达闼机器人有限公司 | 一种获取并收集客户端本地dns服务器的方法以及系统 |
CN108900648B (zh) * | 2018-06-13 | 2020-11-06 | 网宿科技股份有限公司 | 一种控制多cname流量比例的方法和装置 |
CN109347998B (zh) * | 2018-12-27 | 2021-11-16 | 网宿科技股份有限公司 | 一种DNS出口服务器ip地址的探测方法及系统 |
-
2021
- 2021-01-08 CN CN202110023090.6A patent/CN112738271B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624914A (zh) * | 2012-03-22 | 2012-08-01 | 北京快网科技有限公司 | 通过Web方式探测客户端使用的本地DNS服务器的方法 |
CN106506727A (zh) * | 2016-12-28 | 2017-03-15 | 北京奇艺世纪科技有限公司 | 一种定位域名解析错误的本地域名系统的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112738271A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11095711B2 (en) | DNS Resolution of internal tenant-specific domain addresses in a multi-tenant computing environment | |
CN107395683B (zh) | 一种回源路径的选择方法及服务器 | |
US9800539B2 (en) | Request routing management based on network components | |
US8938526B1 (en) | Request routing management based on network components | |
TW201509157A (zh) | 在內容分發網路(cdn)上實現請求精確調度的方法及系統 | |
AU2020386847B2 (en) | Asset search and discovery system using graph data structures | |
WO2017084274A1 (zh) | 选择回源服务器的方法及装置 | |
CN111913738B (zh) | 访问请求的处理方法、装置、计算设备和介质 | |
CN109327559B (zh) | 一种基于混合云平台的域名解析方法和装置 | |
CN101981572A (zh) | 请求路由 | |
CN108173979B (zh) | 一种报文处理方法、装置、设备及存储介质 | |
CN112583952B (zh) | 重定向调度处理方法、装置、系统及相关设备、存储介质 | |
CN112738271B (zh) | 一种cdn质量的探测方法、系统及域名服务器 | |
CN113438307A (zh) | 一种域名解析方法、服务器、系统及存储介质 | |
WO2017166524A1 (zh) | 域名解析方法及装置 | |
US20110302292A1 (en) | Systems and methods for service assurance using virtualized federated presence infrastructure | |
CN110958279B (zh) | 一种数据处理方法及其装置 | |
CN113315848A (zh) | 访问控制方法、装置及设备 | |
CN112839089B (zh) | 一种cdn质量的探测方法及系统 | |
US11297131B2 (en) | Method and apparatus for multi-vendor GTM fabric | |
CN115277816B (zh) | 服务适配方法、设备、系统以及计算机可读介质 | |
EP2887620A1 (en) | Session Initiation Protocol Messaging | |
US10044629B1 (en) | Dynamic TTL based on endpoint health checking | |
CN114244805B (zh) | 一种域名配置方法及设备 | |
CN110300308B (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 |