[go: up one dir, main page]

CN117938807A - 用于cdn的对本地dns进行画像的方法、装置及系统 - Google Patents

用于cdn的对本地dns进行画像的方法、装置及系统 Download PDF

Info

Publication number
CN117938807A
CN117938807A CN202410330048.2A CN202410330048A CN117938807A CN 117938807 A CN117938807 A CN 117938807A CN 202410330048 A CN202410330048 A CN 202410330048A CN 117938807 A CN117938807 A CN 117938807A
Authority
CN
China
Prior art keywords
address
client
domain name
local dns
dns
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.)
Granted
Application number
CN202410330048.2A
Other languages
English (en)
Other versions
CN117938807B (zh
Inventor
王庆
王剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202410330048.2A priority Critical patent/CN117938807B/zh
Publication of CN117938807A publication Critical patent/CN117938807A/zh
Application granted granted Critical
Publication of CN117938807B publication Critical patent/CN117938807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及内容分发网络技术领域,公开了用于CDN的对本地DNS进行画像的方法、装置及系统。用于CDN的对本地DNS进行画像的方法包括:获取本地DNS发送的目标域名解析请求,目标域名解析请求包括合成域名和本地DNS的地址,合成域名由客户端发送至本地DNS;其中,合成域名包括客户端的地址;对目标域名解析请求进行解析,以得到客户端的地址和本地DNS的地址;利用客户端的地址和本地DNS的地址构建本地DNS与客户端之间的对应关系。与相关技术相比,本公开提供的方法具有简单易用、成本低等优点。本公开能够满足CDN系统为客户端提供更准确和更高效的内容分发服务的要求,提升了CDN系统的性能,用户体验更佳。

Description

用于CDN的对本地DNS进行画像的方法、装置及系统
技术领域
本公开涉及内容分发网络技术领域,具体涉及用于CDN的对本地DNS进行画像的方法、装置及系统。
背景技术
CDN(Content Delivery Network,内容分发网络)调度是指通过预设策略将客户端发出的请求调度到合适的服务器,以达到降低成本、提高可用性及提升响应速度等技术目的。其中,基于DNS(Domain Name System,域名系统)的调度方案是应用在CDN系统中常见的调度方法,并具有简单易用、高效灵活、可靠稳定以及成本低等优点。
在CDN系统中,用户侧的客户端接入到本地运营商的本地DNS(Local DNS,简称LDNS),客户端一般不能与权威DNS直接交互。而CDN系统下的调度策略的调整一般是在权威DNS上进行的,虽然本地DNS能够与权威DNS进行通信,但是权威DNS只能获知本地DNS的地址,相关技术的客户端的地址对于权威DNS来说往往是不透明的,权威DNS无法获知本地DNS与客户端的地址之间的对应关系,所以相关技术难以实现针对客户端级别的请求调度,而针对本地DNS级别的调度易存在调度效果不佳甚至调度错误等问题。因此,如何能够使得权威DNS获取到本地DNS与客户端之间的对应关系,成为了本领域技术人员研究的重点。
发明内容
有鉴于此,本公开提供了一种用于CDN的对本地DNS进行画像的方法、装置及系统,以解决相关技术存在的权威DNS难以获取到本地DNS与客户端之间的对应关系的问题。
第一方面,本公开提供了一种用于CDN的对本地DNS进行画像的方法,该方法包括:
获取本地DNS发送的目标域名解析请求,目标域名解析请求包括合成域名和本地DNS的地址,合成域名由客户端发送至本地DNS;其中,合成域名包括客户端的地址;
对目标域名解析请求进行解析,以得到客户端的地址和本地DNS的地址;
利用客户端的地址和本地DNS的地址构建本地DNS与客户端之间的对应关系。
与相关技术相比,本公开的权威DNS在对包含有合成域名和本地DNS的目标域名解析请求的解析过程中获得了客户端的地址和本地DNS的地址,无需为了实现将客户端的地址透传给权威DNS而单独设置通信过程,通过复用权威DNS对域名解析请求进行解析的过程,使权威DNS能够准确且便捷地确定了本地DNS与客户端的地址之间的对应关系,即实现了对本地DNS进行画像的功能,本公开基于对本地DNS与客户端的映射关系的确定,可对客户端发出的请求以客户端为粒度进行调度,进而可提高请求调度的精准性,提升请求调度的效果;与相关技术相比,本公开提供的用于CDN的对本地DNS进行画像的方法具有简单易用、成本低等优点。因此,在CDN系统中基于DNS进行请求调度时,本公开通过对本地DNS进行画像,使CDN系统了解本地DNS具体为哪些客户端提供DNS服务,并能在此基础上能够使CDN系统获知客户端的网络运营商、地理位置、设备类型等信息,可见应用本公开提供的对本地DNS进行画像的方案,可满足CDN系统为客户端提供更准确和更高效的内容分发服务的要求,并能实现CDN系统更好的负载均衡,极大地提升了CDN系统的性能,提高了内容传输的效率,用户体验更佳。
第二方面,本公开提供了一种用于CDN的对本地DNS进行画像的装置,该装置包括:
获取模块,用于获取本地DNS发送的目标域名解析请求,目标域名解析请求包括合成域名和本地DNS的地址,合成域名由客户端发送至本地DNS;其中,合成域名包括客户端的地址;
解析模块,用于对目标域名解析请求进行解析,以得到客户端的地址和本地DNS的地址;
创建模块,用于利用客户端的地址和本地DNS的地址构建本地DNS与客户端之间的对应关系。
第三方面,本公开提供了一种用于CDN的对本地DNS进行画像的系统,该系统包括:
客户端,用于向本地DNS发送合成域名,合成域名包括客户端的地址;
本地DNS,用于将目标域名解析请求发送至权威DNS,目标域名解析请求包括合成域名和本地DNS的地址;
上述的权威DNS,用于接收目标域名解析请求,以及用于对目标域名解析请求进行解析,以得到客户端的地址和本地DNS的地址;上述的权威DNS,还用于利用客户端的地址和本地DNS的地址构建本地DNS与客户端之间的对应关系。
第四方面,本公开提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的用于CDN的对本地DNS进行画像的方法。
第五方面,本公开提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的用于CDN的对本地DNS进行画像的方法。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开实施例的用于CDN的对本地DNS进行画像的方法的流程示意图;
图2是根据本公开实施例的另一用于CDN的对本地DNS进行画像的方法的流程示意图;
图3是根据本公开实施例的用于CDN的对本地DNS进行画像的系统结构示意图;
图4是根据本公开实施例的客户端与调度服务器的交互原理示意图;
图5是根据本公开实施例的又一用于CDN的对本地DNS进行画像的方法的流程示意图;
图6是根据本公开实施例的确定本地DNS服务的地理区域的实现原理的示意图;
图7是根据本公开实施例的用于CDN的对本地DNS进行画像的装置的结构框图;
图8是本公开实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
基于DNS的请求调度是应用在CDN系统中常见的调度方法,但是通常的调度调整都是针对权威DNS来进行调整的,然而接入到本地DNS的客户端的地址不会透传到权威DNS,即客户端的地址是不对权威DNS透明的,则权威DNS无法针对客户端进行调度,这就会导致调度的不准确性。而且,权威DNS一般只支持到省份运营商的线路级别,这个调度粒度在大流量的场景下还需要进一步分流,影响了调度效率;权威DNS的线路识别依赖于客户端的地址归属线路,相关技术中,暴露给权威DNS的地址是本地DNS的出口地址,易出现地址识别结果不准确而产生的请求调度错误问题。为提高请求调度的准确性,发明人认为可以采用随机域名的方式,该方式包括:客户端生成一个随机域名并请求权威DNS对该随机域名进行解析,从而通过本地DNS,透传随机域名到权威DNS,则权威DNS拿到这个DNS请求的本地DNS地址,并根据用户配置响应一个IP(Internet Protocol,网际互连协议)地址;然后客户端访问该IP地址对应的HTTP服务器,从而产生一条HTTP(Hypertext Transfer Protocol,超文本传输协议)的日志,这个日志对应的客户端IP地址就是真实的客户端IP地址;这样通过找到相同的随机域名在DNS服务器和HTTP服务器的日志,从而可以映射出本地DNS和客户端IP地址之间的对应关系。但是,这种方式需要专门部署一套WEB(World Wide Web,全球广域网)服务来接收随机域名的HTTP请求并响应,从而得到用于记录客户端IP地址的HTTP服务器的日志;另外,这种方式需要联合HTTP日志和DNS日志一起来进行聚合分析,才能够得到本地DNS画像,映射出本地DNS与客户端的地址之间的对应关系。因此,上述方式存在需要单独部署HTTP服务而导致的资源浪费问题,需要聚合分析HTTP日志和DNS日志而导致处理过程复杂、易出错及资源浪费等问题。
根据本公开实施例,提供了一种用于CDN的对本地DNS进行画像的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种用于CDN的对本地DNS进行画像的方法,并可具体用于上述的权威DNS,图1是根据本公开实施例的用于CDN的对本地DNS进行画像的方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取本地DNS发送的目标域名解析请求,目标域名解析请求包括合成域名和本地DNS的地址,合成域名由客户端发送至本地DNS;其中,合成域名包括客户端的地址。
本实施例中的客户端与本地DNS通信,本地DNS与权威DNS通信,权威DNS获取本地DNS发送的目标域名解析请求。
具体地,客户端向本地DNS发出合成域名的解析请求,本地DNS将合成域名的解析请求封装为目标域名解析请求以及发送给权威DNS。本实施例中,客户端的地址具体为客户端IP(Internet Protocol,网际互连协议)。
应当理解的是,本公开涉及的“DNS”均是指Domain Name System,中文直译为域名系统,例如,在本公开各个实施例中,本地DNS具体是指本地域名系统,权威DNS具体是指权威域名系统。
步骤S102,对目标域名解析请求进行解析,以得到客户端的地址和本地DNS的地址。
本公开实施例的客户端能够和权威DNS约定解析格式,权威DNS能够对目标域名解析请求进行有针对地解析,从而提取出客户端的地址和本地DNS的地址。因此,本实施例对目标域名解析请求的解析过程并不是常规的指定配置域名的解析,而是从目标域名解析请求中提取出要解析的结果,即本实施例可从目标域名解析请求直接获取解析结果。
步骤S103,利用客户端的地址和本地DNS的地址构建本地DNS与客户端之间的对应关系。
具体地,一个本地DNS往往服务于多个客户端,本实施例构建的本地DNS与客户端之间的对应关系例如可以是一个本地DNS与其服务的多个客户端之间的对应关系。
在一些可选的实施方式中,步骤S103可包括但不限于步骤S1031和步骤S1032。
步骤S1031,将客户端的地址和本地DNS的地址存储于DNS日志中。
具体地,权威DNS能够将客户端IP和本地DNS的地址存储于DNS日志中。本公开实施例在同一DNS日志中通过第一预设字段(client_ip)的值表示本地DNS的地址,第一预设字段的值例如可以为36.155.10.69,通过第二预设字段(ds_req_target_domain)的值的一部分表示客户端的地址和重定向地址,第二预设字段的值例如为112.23.108.8-211-137-95-102.veg。当然,在DNS日志中记录有其他与DNS解析相关的信息,本实施例不进行赘述。
步骤S1032,对DNS日志进行分析,以得到本地DNS与客户端之间的对应关系。
结合上述的示例,36.155.10.69对应的本地DNS用于为112.23.108.8对应的客户端提供服务,即确定了本地DNS与其服务的客户端之间的关系。由此,通过对大量的DNS日志进行分析,可确定每个本地DNS具体服务的所有客户端。
本实施例对DNS日志进行分析的过程,包括从DNS日志中解析出客户端IP和本地DNS的地址的过程,以及建立本地DNS与客户端之间的对应关系的过程。
应当理解的是,本公开实施例提供的对本地DNS进行画像的过程,具体指确定本地DNS与客户端之间的对应关系的过程,即确定任一本地DNS为哪些客户端提供服务的过程,从而为客户端的请求的调度提供更好的依据。
相比于前述的聚合分析方式,本实施例仅需对DNS日志进行分析,避免了HTTP日志和DNS日志交叉采集问题,进而避免了分析两种日志可能易导致的本地DNS画像不准确等问题,本实施例将用于对本地DNS进行画像所需要的日志信息都集中在DNS日志上,同时复用了CND系统中的一些HTTP服务,无需为本地DNS画像功能而重新布置一套HTTP服务,减少资源浪费,提高了已有CND资源的利用率。
本公开实施例提供的权威DNS,在对包含有合成域名和本地DNS的目标域名解析请求的解析过程中,获得了客户端的地址和本地DNS的地址,无需为了实现将客户端的地址透传给权威DNS而单独设置通信过程,通过复用权威DNS对域名解析请求进行解析的过程,使权威DNS能够准确且便捷地确定了本地DNS与客户端的地址之间的对应关系,即实现了对本地DNS进行画像的功能,本公开基于对本地DNS与客户端的映射关系的确定,可对客户端发出的请求以客户端为粒度进行调度,进而可提高请求调度的精准性,提升请求调度的效果;与相关技术相比,本公开提供的用于CDN的对本地DNS进行画像的方法具有简单易用、成本低等优点。基于本公开提供的对本地DNS进行画像的方案,在CDN系统中基于DNS进行请求调度的过程中,本公开通过对本地DNS进行画像,使CDN系统了解本地DNS具体为哪些客户端提供DNS服务,并能在此基础上能够使CDN系统具体可获知客户端的网络运营商、地理位置、设备类型等信息,可见应用本公开提供的对本地DNS进行画像的方案,可满足CDN系统为客户端提供更准确和更高效的内容分发服务的要求,并能实现CDN系统更好的负载均衡,使CDN系统的稳定性和可用性更好,极大地提升了CDN系统的性能,提高了内容传输的效率,用户体验更佳。
在本实施例中提供了一种用于CDN的对本地DNS进行画像的方法,并可具体用于上述的权威DNS,图2是根据本公开实施例的用于CDN的对本地DNS进行画像的方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,获取本地DNS发送的目标域名解析请求,目标域名解析请求包括合成域名和本地DNS的地址,合成域名由客户端发送至本地DNS;其中,合成域名包括客户端的地址。
本实施例中,合成域名还包括重定向地址,可见本实施例提供的合成域名是一种合成记录,该合成记录包括客户端的地址和重定向地址,例如基于客户端的地址和重定向地址的组合形成合成记录。
结合图3所示,在一些可选的实施方式中,获取本地DNS发送的目标域名解析请求之前,方法还包括:客户端用于向CDN边缘节点中的调度服务器发送包括客户端的地址的网络请求;调度服务器用于创建合成域名和用于向客户端发送合成域名,以对网络请求进行响应。
其中,客户端收到调度服务器响应的合成域名后,向本地DNS请求解析重定向的域名,即客户端向本地DNS发送了合成域名;本地DNS收到合成域名之后,将包含有合成域名的目标域名解析请求发送至权威DNS。
具体地,重定向的目标IP(即重定向地址)一般是按照配置规则设置的,调度服务器提供可直接重定向到目标IP的服务。本实施例为了安全起见,调度服务器所提供的重定向功能是一种HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)服务,HTTPS要求有证书,而申请证书一般较为复杂且会导致证书非常离散,所以相对在DNS服务器去配置重定向目标IP的解析的方式会导致解析记录非常多、占用较多资源的问题,本实施例中复用CDN302服务的方式极大地节省了资源。
结合图4所示,在一些可选的实施方式中,调度服务器用于基于对客户端的地址和重定向地址进行编码的方式创建合成域名。
本实施例中,对客户端的地址和重定向地址进行编码的过程,可以包括对客户端的地址和重定向地址按照预设方式进行组合的过程,在一些实施方式中,可对客户端的地址和重定向地址按照指定策略调整后再进行组合。因此,通过对客户端的地址和重定向地址进行编码后得到合成域名的方式,本实施例能够降低权威DNS的解析难度,明显提高请求解析的准确率和效率。
具体地,调度服务器用于将客户端的地址中的第一预设字符替换为第二预设字符,以及用于将重定向地址中的第三预设字符替换为第四预设字符;调度服务器用于将设置有第二预设字符的客户端的地址和设置有第四预设字符的重定向地址编码为合成域名。
如图4所示,客户端的地址例如为客户端IP(1.1.1.1),重定向地址例如为地址IP(2.2.2.2),第一预设字符例如为“.”,第二预设字符例如为“_”,第三预设字符例如为“.”,第四预设字符例如为“-”,则本实施例将客户端的地址中的“.”替换为“_”,得到1_1_1_1,将重定向地址中的“.”替换为“-”,得到2-2-2-2。
本实施例中对客户端的地址中的第一预设字符和重定向地址中的第三预设字符进行更改的方式,有助于在合成域名中更好地区分客户端的地址和重定向地址,从而降低了权威DNS对合成域名的解析难度和提高解析结果的准确率。
更为具体地,调度服务器用于将设置有第二预设字符的客户端的地址、设置有第四预设字符的重定向地址及预设字符按照预设次序编码为合成域名的前缀,以及为前缀配置后缀,以得到合成域名。
本实施例中,合成域名中的设置有第二预设字符的客户端的地址与设置有第四预设字符的重定向地址之间可以通过第四预设字符连接。
其中,预设次序例如可以为客户端的地址、重定向地址、预设字符,预设字符例如为“.byte”,后缀例如为“.com”,结合前述的实施例,则本实施例的合成域名例如表示为1_1_1_1-2-2-2-2.byte.com。
在一些具体的实施方式中,本实施例中的调度服务器为用于302重定向的服务器。
本实施例涉及的“302重定向”是一种临时性的重定向方式,在调度服务器收到一个请求时,如果发现当前被请求的资源已经临时移动到了另一个URL(Uniform ResourceLocator,统一资源定位符)地址,调度服务器会返回一个302状态码,并在响应报文的头部中包含新的URL地址。客户端在接收到302响应后,会根据响应中的新的URL地址重新发起请求,从而实现通过返回302状态码和新的URL地址(即重定向地址)的方式,将请求重定向到其他位置。一般地,“302重定向”主要可以用于网站维护、网站重定向和资源临时移动等场景,确保用户能够顺利访问到正确的资源。
结合图3所示,CDN302表示调度服务器,即用于302重定向的服务器,本公开实施例对客户端1、客户端2……客户端n(n个客户端,n可以为≥2的整数)发出的请求进行302调度,并生成合成域名,本实施例的合成域名具体是一个二级域名,以达到重定向客户端请求域名的目的。在本公开的CDN场景下,本实施例能够复用线上的CDN302调度服务,以对一些域名进行重定向,极大地提高了CDN资源的利用率。
结合图4所示,客户端(IP地址为1.1.1.1)可向用于302重定向的服务器发出HTTP请求(具体可为HTTPS请求),并得到用于302重定向的服务器的响应,具体响应合成域名(例如为1_1_1_1-2-2-2-2.byte.com),其中,用于302重定向的服务器拿到客户端IP地址(1.1.1.1)之后,结合要重定向的目标服务器的IP地址2.2.2.2,生成上述的合成域名1_1_1_1-2-2-2-2.byte.com。
本实施例可利用已有的CDN资源中的用于302重定向的服务器,基于302调度的方式实现对本地DNS进行画像的目的,减少甚至避免了资源浪费问题;而且本方案只需要对DNS日志进行分析,处理过程更简单易用且可靠性更强。
本实施例对目标域名解析请求进行解析的过程,可以包括但不限于下述的步骤S202。
步骤S202,从目标域名解析请求中解析出客户端的地址、本地DNS的地址以及重定向地址。
具体地,本实施例的权威DNS可从目标域名解析请求直接提取出客户端的地址、本地DNS的地址以及重定向地址,所以权威DNS能够通过对目标域名解析请求进行解析的方式拿到客户端IP和请求域名(即本地DNS的地址)。
相比于常规的对指定配置域名的解析方式,本实施例可按照解析规则直接从请求中提取出客户端的地址、本地DNS的地址以及重定向地址,请求解析的效率和准确率更高。
在一些具体的实施方式中,对目标域名解析请求进行解析,包括:将合成域名中的第二预设字符还原为第一预设字符,从合成域名中提取出客户端的地址;和/或,将合成域名中的第四预设字符还原为第三预设字符,从合成域名中提取出重定向地址。
本实施例中在权威DNS上配置有解析规格,该解析规则包括:将合成域名中的第二预设字符还原为第一预设字符和将合成域名中的第四预设字符还原为第三预设字符,解析规则还包括将合成域名中的第一个第四预设字符作为分割字符,分割字符用于分隔客户端的地址与重定向地址,从而更高效、更准确地对合成域名进行解析。
例如,对于合成域名1_1_1_1-2-2-2-2.byte.com,将第二预设字符“_”还原为第一预设字符“.”,将第四预设字符“-”还原为第三预设字符“.”,从而可从合成域名中获得客户端的地址(1.1.1.1)和重定向地址(2.2.2.2)。
基于上述字符还原的方式,本实施例能够更准确、更高效地从合成域名中提取出客户端的地址和重定向地址,降低了目标域名解析请求解析过程对权威DNS的资源占用。
步骤S203,将重定向地址通过本地DNS转发给客户端,客户端用于根据重定向地址对目标服务器进行访问,重定向地址为目标服务器的网络地址。
例如,权威DNS将客户端的请求重定向到了具有地址2.2.2.2的目标服务器上,完成了一次完整的CDN302重定向调度过程。
步骤S204,利用客户端的地址和本地DNS的地址构建本地DNS与客户端之间的对应关系。详细请参见图1所示实施例的步骤S103,在此不再赘述。
在本实施例中提供了一种用于CDN的对本地DNS进行画像的方法,并可具体用于上述的权威DNS,图5是根据本公开实施例的用于CDN的对本地DNS进行画像的方法的流程图,如图5所示,该流程包括如下步骤:
步骤S501,获取本地DNS发送的目标域名解析请求,目标域名解析请求包括合成域名和本地DNS的地址,合成域名由客户端发送至本地DNS;其中,合成域名包括客户端的地址。详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S502,对目标域名解析请求进行解析,以得到客户端的地址和本地DNS的地址。详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S503,利用客户端的地址和本地DNS的地址构建本地DNS与客户端之间的对应关系。
具体地,上述步骤S503包括:利用多个客户端的地址和本地DNS的地址确定本地DNS与多个客户端之间的映射关系,本地DNS用于为多个客户端提供DNS服务。
在一些具体的实施方式中,与任一本地DNS具有映射关系的多个客户端可为该本地DNS服务的所有客户端,由此能够确定CND场景下的任一本地DNS服务的所有客户端,可见本实施例具体可提供一种应用在CDN场景下的基于DNS合成记录的本地DNS画像的方法,本实施例通过本地DNS画像的方式为客户端的请求调度提供了调度依据,使调度粒度更细,有助于明显提升调度的准确性。
结合图6所示,在一些可选的实施方式中,用于CDN的对本地DNS进行画像的方法还可包括步骤S504和步骤S505。
步骤S504,确定本地DNS对应的多个客户端的地址隶属的地理位置。
具体地,本实施例可分析出任一个本地DNS服务的每个客户端隶属的地理位置,即确定任一个本地DNS服务的所有客户端的位置。在CDN场景下,本实施例对全网的本地DNS进行分析,确定各本地DNS服务的客户端的位置。
在CDN场景下,本实施例在图6中示出权威DNS11、权威DNS12、权威DNS13,本地DNS01与权威DNS11通信,本地DNS02与权威DNS12通信,本地DNS03与权威DNS13通信,结合前述的实施例,本公开实施例能够确定每个本地DNS对应的多个客户端的地址隶属的地理位置,例如权威DNS11可获知本地DNS01对应的客户端的位置,权威DNS12可获知本地DNS02对应的客户端的位置,权威DNS13可获知本地DNS03对应的客户端的位置。
步骤S505,根据地理位置确定本地DNS服务的地理区域。
对于任一本地DNS,本实施例确定该本地DNS服务的所有客户端的地理位置的基础上,根据该本地DNS服务的所有客户端的位置划分出该本地DNS服务的地理区域。
例如,可结合图6中的示例,权威DNS11可获知本地DNS01服务的地理区域为地区一,权威DNS12可获知本地DNS02服务的地理区域也为地区一,权威DNS13可获知本地DNS03服务的地理区域为地区二。
本公开实施例能够使权威DNS了解到每个本地DNS服务的地区和客户端IP网段,在请求调度过程中,通过以客户端IP和客户端位置的粒度进行调度,实现对客户端的请求进行更精细地调度,进一步地提高调度的准确性。
综上,本公开整个本地DNS画像架构在CDN 302调度的基础上实现,不破坏原来CDN302调度的整个大的流程,无需添加新的请求链路,本公开用于CDN的对本地DNS进行画像的方案中,整个DNS调度系统、整个CDN系统并不需要额外的物理资源消耗,都是在已有的基础设施上完成,极大地提高了资源利用率,在本公开提供的方案基础上可直接对DNS日志进行分析,就可以得到本地DNS画像,从而为请求调度过程提供更细粒度的调度依据。
在本实施例中还提供了一种用于CDN的对本地DNS进行画像的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种用于CDN的对本地DNS进行画像的装置,如图7所示,包括:
获取模块701,用于获取本地DNS发送的目标域名解析请求,目标域名解析请求包括合成域名和本地DNS的地址,合成域名由客户端发送至本地DNS;其中,合成域名包括客户端的地址。
解析模块702,用于对目标域名解析请求进行解析,以得到客户端的地址和本地DNS的地址。
创建模块703,用于利用客户端的地址和本地DNS的地址构建本地DNS与客户端之间的对应关系。
在一些可选的实施方式中,合成域名还包括重定向地址。
解析模块702具体用于从目标域名解析请求中解析出客户端的地址、本地DNS的地址以及重定向地址。
解析模块702还用于将重定向地址通过本地DNS转发给客户端,客户端用于根据重定向地址对目标服务器进行访问,重定向地址为目标服务器的网络地址。
在一些可选的实施方式中,在权威DNS获取本地DNS发送的目标域名解析请求之前,客户端用于向CDN边缘节点中的调度服务器发送包括客户端的地址的网络请求,调度服务器用于创建合成域名和用于向客户端发送合成域名,以对网络请求进行响应。
在一些可选的实施方式中,调度服务器用于基于对客户端的地址和重定向地址进行编码的方式创建合成域名。
在一些可选的实施方式中,调度服务器用于将客户端的地址中的第一预设字符替换为第二预设字符,以及用于将重定向地址中的第三预设字符替换为第四预设字符;调度服务器还用于将设置有第二预设字符的客户端的地址和设置有第四预设字符的重定向地址编码为合成域名。
在一些可选的实施方式中,调度服务器用于将设置有第二预设字符的客户端的地址、设置有第四预设字符的重定向地址及预设字符按照预设次序编码为合成域名的前缀,以及为前缀配置后缀,以得到合成域名。
在一些可选的实施方式中,调度服务器为用于302重定向的服务器。
在一些可选的实施方式中,解析模块702包括:
第一解析单元,用于将合成域名中的第二预设字符还原为第一预设字符,从合成域名中提取出客户端的地址。
第二解析单元,用于将合成域名中的第四预设字符还原为第三预设字符,从合成域名中提取出重定向地址。
在一些可选的实施方式中,创建模块703包括:
存储控制单元,用于将客户端的地址和本地DNS的地址存储于DNS日志中。
日志分析单元,用于对DNS日志进行分析,以得到本地DNS与客户端之间的对应关系。
在一些可选的实施方式中,客户端为多个。
创建模块703具体用于利用多个客户端的地址和本地DNS的地址确定本地DNS与多个客户端之间的映射关系,本地DNS用于为多个客户端提供DNS服务。
在一些可选的实施方式中,用于CDN的对本地DNS进行画像的装置还可包括:
位置确定单元,用于确定本地DNS对应的多个客户端的地址隶属的地理位置。
区域确定单元,用于根据地理位置确定本地DNS服务的地理区域。
本实施例提供一种用于CDN的对本地DNS进行画像的系统,如图3所示,包括:
客户端,用于向本地DNS发送合成域名,合成域名包括客户端的地址;
本地DNS,用于将目标域名解析请求发送至权威DNS,目标域名解析请求包括合成域名和本地DNS的地址;
上述的权威DNS,用于接收目标域名解析请求,以及用于对目标域名解析请求进行解析,以得到客户端的地址和本地DNS的地址;
上述的权威DNS,还用于利用客户端的地址和本地DNS的地址构建本地DNS与客户端之间的对应关系。
在一些可选的实施方式中,合成域名还包括重定向地址。
上述的权威DNS还用于从目标域名解析请求中解析出客户端的地址、本地DNS的地址以及重定向地址。
上述的权威DNS还用于将重定向地址通过本地DNS转发给客户端,客户端用于根据重定向地址对目标服务器进行访问,重定向地址为目标服务器的网络地址。
在一些可选的实施方式中,上述的权威DNS获取本地DNS发送的目标域名解析请求之前,客户端用于向CDN边缘节点中的调度服务器发送包括客户端的地址的网络请求。
调度服务器用于创建合成域名和用于向客户端发送合成域名,以对网络请求进行响应。
在一些可选的实施方式中,调度服务器用于基于对客户端的地址和重定向地址进行编码的方式创建合成域名。
在一些可选的实施方式中,调度服务器用于将客户端的地址中的第一预设字符替换为第二预设字符,以及用于将重定向地址中的第三预设字符替换为第四预设字符。
调度服务器用于将设置有第二预设字符的客户端的地址和设置有第四预设字符的重定向地址编码为合成域名。
在一些可选的实施方式中,调度服务器用于将设置有第二预设字符的客户端的地址、设置有第四预设字符的重定向地址及预设字符按照预设次序编码为合成域名的前缀,以及为前缀配置后缀,以得到合成域名。
在一些可选的实施方式中,调度服务器为用于302重定向的服务器。
在一些可选的实施方式中,上述的权威DNS还用于将合成域名中的第二预设字符还原为第一预设字符,从合成域名中提取出客户端的地址;上述的权威DNS还用于将合成域名中的第四预设字符还原为第三预设字符,从合成域名中提取出重定向地址。
在一些可选的实施方式中,上述的权威DNS还用于将客户端的地址和本地DNS的地址存储于DNS日志中;以及用于对DNS日志进行分析,以得到本地DNS与客户端之间的对应关系。
在一些可选的实施方式中,客户端为多个;上述的权威DNS还用于利用多个客户端的地址和本地DNS的地址确定本地DNS与多个客户端之间的映射关系,本地DNS用于为多个客户端提供DNS服务。
在一些可选的实施方式中,上述的权威DNS还用于确定本地DNS对应的多个客户端的地址隶属的地理位置,以及用于根据地理位置确定本地DNS服务的地理区域。
上述各个模块和各个单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的用于CDN的对本地DNS进行画像的装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本公开实施例还提供一种计算机设备,具有上述图7所示的用于CDN的对本地DNS进行画像的装置。
请参阅图8,图8是本公开可选实施例提供的一种计算机设备的结构示意图,如图8所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本公开实施例还提供了一种计算机可读存储介质,上述根据本公开实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (15)

1.一种用于CDN的对本地DNS进行画像的方法,其特征在于,所述方法包括:
获取本地DNS发送的目标域名解析请求,所述目标域名解析请求包括合成域名和所述本地DNS的地址,所述合成域名由客户端发送至所述本地DNS;其中,所述合成域名包括所述客户端的地址;
对所述目标域名解析请求进行解析,以得到所述客户端的地址和所述本地DNS的地址;
利用所述客户端的地址和所述本地DNS的地址构建所述本地DNS与所述客户端之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述合成域名还包括重定向地址;所述对所述目标域名解析请求进行解析,包括:从所述目标域名解析请求中解析出所述客户端的地址、所述本地DNS的地址以及所述重定向地址;
所述方法还包括:将所述重定向地址通过所述本地DNS转发给所述客户端,所述客户端用于根据所述重定向地址对目标服务器进行访问,所述重定向地址为所述目标服务器的网络地址。
3.根据权利要求2所述的方法,其特征在于,所述获取本地DNS发送的目标域名解析请求之前,所述方法还包括:
所述客户端用于向CDN边缘节点中的调度服务器发送包括所述客户端的地址的网络请求;
所述调度服务器用于创建所述合成域名和用于向所述客户端发送所述合成域名,以对所述网络请求进行响应。
4.根据权利要求3所述的方法,其特征在于,
所述调度服务器用于基于对所述客户端的地址和所述重定向地址进行编码的方式创建所述合成域名。
5.根据权利要求4所述的方法,其特征在于,
所述调度服务器用于将所述客户端的地址中的第一预设字符替换为第二预设字符,以及用于将所述重定向地址中的第三预设字符替换为第四预设字符;
所述调度服务器用于将设置有所述第二预设字符的客户端的地址和设置有所述第四预设字符的重定向地址编码为所述合成域名。
6.根据权利要求5所述的方法,其特征在于,
所述调度服务器用于将设置有所述第二预设字符的客户端的地址、设置有所述第四预设字符的重定向地址及预设字符按照预设次序编码为所述合成域名的前缀,以及为所述前缀配置后缀,以得到所述合成域名。
7.根据权利要求3至6中任一项所述的方法,其特征在于,
所述调度服务器为用于302重定向的服务器。
8.根据权利要求5或6所述的方法,其特征在于,所述对所述目标域名解析请求进行解析,包括:
将所述合成域名中的所述第二预设字符还原为所述第一预设字符,从所述合成域名中提取出所述客户端的地址;
将所述合成域名中的所述第四预设字符还原为所述第三预设字符,从所述合成域名中提取出所述重定向地址。
9.根据权利要求1至6中任一项所述的方法,其特征在于,所述利用所述客户端的地址和所述本地DNS的地址构建所述本地DNS与所述客户端之间的对应关系,包括:
将所述客户端的地址和所述本地DNS的地址存储于DNS日志中;
对所述DNS日志进行分析,以得到所述本地DNS与所述客户端之间的对应关系。
10.根据权利要求1至6中任一项所述的方法,其特征在于,所述客户端为多个,所述利用所述客户端的地址和所述本地DNS的地址构建所述本地DNS与所述客户端之间的对应关系,包括:
利用多个客户端的地址和所述本地DNS的地址确定所述本地DNS与所述多个客户端之间的映射关系,所述本地DNS用于为所述多个客户端提供DNS服务。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
确定所述本地DNS对应的所述多个客户端的地址隶属的地理位置;
根据所述地理位置确定所述本地DNS服务的地理区域。
12.一种用于CDN的对本地DNS进行画像的装置,其特征在于,所述装置包括:
获取模块,用于获取本地DNS发送的目标域名解析请求,所述目标域名解析请求包括合成域名和所述本地DNS的地址,所述合成域名由客户端发送至所述本地DNS;其中,所述合成域名包括所述客户端的地址;
解析模块,用于对所述目标域名解析请求进行解析,以得到所述客户端的地址和所述本地DNS的地址;
创建模块,用于利用所述客户端的地址和所述本地DNS的地址构建所述本地DNS与所述客户端之间的对应关系。
13.一种用于CDN的对本地DNS进行画像的系统,其特征在于,所述系统包括:
客户端,用于向本地DNS发送合成域名,所述合成域名包括所述客户端的地址;
所述本地DNS,用于将目标域名解析请求发送至权威DNS,所述目标域名解析请求包括所述合成域名和所述本地DNS的地址;
所述权威DNS,用于接收所述目标域名解析请求,以及用于对所述目标域名解析请求进行解析,以得到所述客户端的地址和所述本地DNS的地址;
所述权威DNS,用于利用所述客户端的地址和所述本地DNS的地址构建所述本地DNS与所述客户端之间的对应关系。
14.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至11中任一项所述的用于CDN的对本地DNS进行画像的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至11中任一项所述的用于CDN的对本地DNS进行画像的方法。
CN202410330048.2A 2024-03-21 2024-03-21 用于cdn的对本地dns进行画像的方法、装置及系统 Active CN117938807B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410330048.2A CN117938807B (zh) 2024-03-21 2024-03-21 用于cdn的对本地dns进行画像的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410330048.2A CN117938807B (zh) 2024-03-21 2024-03-21 用于cdn的对本地dns进行画像的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN117938807A true CN117938807A (zh) 2024-04-26
CN117938807B CN117938807B (zh) 2024-06-21

Family

ID=90751066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410330048.2A Active CN117938807B (zh) 2024-03-21 2024-03-21 用于cdn的对本地dns进行画像的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN117938807B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118413396A (zh) * 2024-06-28 2024-07-30 北京火山引擎科技有限公司 域名加密、解密方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108702397A (zh) * 2017-08-08 2018-10-23 深圳前海达闼云端智能科技有限公司 一种获取并收集客户端本地dns服务器的方法以及系统
CN109257451A (zh) * 2017-07-14 2019-01-22 阿里巴巴集团控股有限公司 对应关系解析方法及设备
CN109274733A (zh) * 2018-09-05 2019-01-25 杭州领智云画科技有限公司 基于设备分类的多层调度系统
CN116405460A (zh) * 2023-05-09 2023-07-07 北京有竹居网络技术有限公司 用于内容分发网络的域名解析方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257451A (zh) * 2017-07-14 2019-01-22 阿里巴巴集团控股有限公司 对应关系解析方法及设备
CN108702397A (zh) * 2017-08-08 2018-10-23 深圳前海达闼云端智能科技有限公司 一种获取并收集客户端本地dns服务器的方法以及系统
WO2019028683A1 (zh) * 2017-08-08 2019-02-14 深圳前海达闼云端智能科技有限公司 一种获取并收集客户端本地dns服务器的方法以及系统
CN109274733A (zh) * 2018-09-05 2019-01-25 杭州领智云画科技有限公司 基于设备分类的多层调度系统
CN116405460A (zh) * 2023-05-09 2023-07-07 北京有竹居网络技术有限公司 用于内容分发网络的域名解析方法、装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118413396A (zh) * 2024-06-28 2024-07-30 北京火山引擎科技有限公司 域名加密、解密方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN117938807B (zh) 2024-06-21

Similar Documents

Publication Publication Date Title
CN109067914B (zh) Web服务的代理方法、装置、设备及存储介质
US9800539B2 (en) Request routing management based on network components
US9444759B2 (en) Service provider registration by a content broker
US9191458B2 (en) Request routing using a popularity identifier at a DNS nameserver
US8688837B1 (en) Dynamically translating resource identifiers for request routing using popularity information
US8321503B2 (en) Context-specific network resource addressing model for distributed services
US20150195244A1 (en) Request routing management based on network components
KR101914318B1 (ko) 수정된 호스트네임을 사용하는 글로벌 트래픽 관리 기법
CN103596066B (zh) 一种数据处理方法及装置
CN101997759A (zh) 一种业务实现方法及业务系统
CN103825919B (zh) 一种缓存数据资源的方法、装置及系统
CN107613037A (zh) 一种域名重定向方法和系统
CN111726646A (zh) 一种推送视频流的方法、装置、设备和存储介质
CN114500537A (zh) 容器服务的访问方法、系统、存储介质及电子设备
CN103888539A (zh) P2p缓存的引导方法、装置及p2p缓存系统
CN109618003B (zh) 一种服务器规划方法、服务器及存储介质
EP3937502A1 (en) Method, apparatus and device for pushing video stream, and storage medium
CN112825524B (zh) 网络服务节点的确定方法、装置和系统
CN116566945A (zh) 去中心化应用的访问方法、装置、电子设备及存储介质
CN110958279B (zh) 一种数据处理方法及其装置
CN117938807A (zh) 用于cdn的对本地dns进行画像的方法、装置及系统
CN105051673A (zh) 网络打印
CN117579288A (zh) 握手复用方法、设备以及计算机可读介质
CN114666841A (zh) 一种定向流量的免流方法及免流系统
CN103002063B (zh) 一种利用dns实现url转发的方法和系统

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