用于CDN调度的方法、客户端、服务器和系统与流程

文档序号:12279026阅读:555来源:国知局
用于CDN 调度的方法、客户端、服务器和系统与流程

本发明属于三网融合技术领域,尤其涉及用于CDN调度的方法、客户端、服务器和系统。



背景技术:

传统的互联网CDN调度系统主要基于DNS调度,该调度方法下,CDN调度服务器(CDN GSLB)根据客户使用的Local DNS IP地址来确认该DNS服务器的地理位置,并把在该服务器就近的CDN节点IP返回给客户。

现有客户使用的Local DNS一般由网络运营商提供,部署高度集中,而且越来越多出现DNS劫持问题,导致CDN难以精确定位用户位置,从而使调度不准确。

由于互联网应用流量越来越大,CDN调度不精确问题,使用户无法得到就近服务,从而造成访问性能不佳的问题。

为解决以上问题,部分CP/SP及CDN运营商开始应用HTTP DNS方案。例如,利用HTTP方式向DNS服务器进行查询,该方案通过私有协议把DNS封装在HTTP中,这种方法带来了性能及部署新问题。

1)同一配置服务器下,HTTP并发比DNS少一个数据级,如8核CPU服务器对DNS响应可轻松达80万QPS,而HTTP只能达到几万并发;

2)HTTP DNS分布式部署困难,容易造成单点故障。



技术实现要素:

本发明要解决的技术问题是CDN难以精确定位用户位置,从而 使调度不准确。

根据本发明一方面,提出一种用于CDN调度的DNS客户端,包括:

列表接收单元,用于在使用由CDN加速的域名时,向DNS管理服务器发送下载请求,并接收所述DNS管理服务器返回的DNS服务器列表以及CDN加速域名列表;

查询单元,用于向所述DNS服务器发送查询请求,在所述查询请求中携带所述DNS客户端的IP地址以及CDN加速域名;

节点获取单元,用于接收CDN调度服务器根据所述DNS客户端的IP地址返回的访问CDN加速域名的最近节点。

进一步,所述查询单元按速度排列所述DNS服务器列表中的DNS服务器,并向速度最快的所述DNS服务器发送查询请求。

进一步,所述列表接收单元通过HTTPS发送下载请求;

所述查询单元使用DNS协议发送查询请求。

根据本发明一方面,提出一种用于CDN调度的DNS服务器,包括:

请求接收单元,用于接收DNS客户端发送的查询请求,在所述查询请求中携带所述DNS客户端的IP地址以及CDN加速域名;

转发单元,用于将所述查询请求转发给CDN调度服务器,以使所述CDN调度服务器根据所述DNS客户端的IP地址返回访问CDN加速域名的最近节点。

进一步,所述转发单元支持EDNS协议,以将所述DNS客户端的IP地址转发给CDN调度服务器。

根据本发明一方面,提出一种用于CDN调度的DNS管理服务器,包括:

保存单元,用于保存DNS服务器列表以及CDN加速域名列表;

响应单元,用于接收客户端的下载请求,并向所述客户端返回DNS服务器列表以及CDN加速域名列表。

进一步,所述响应单元检查所述客户端的软件版本。

根据本发明一方面,提出一种用于CDN调度的系统,包括:

DNS客户端,用于在使用由CDN加速的域名时,向DNS管理服务器发送下载请求,并接收所述DNS管理服务器返回的DNS服务器列表以及CDN加速域名列表;向所述DNS服务器发送查询请求,在所述查询请求中携带所述DNS客户端的IP地址以及CDN加速域名;

DNS管理服务器,用于接收所述DNS客户端的下载请求,并返回DNS服务器列表以及CDN加速域名列表;

DNS服务器,用于接收所述DNS客户端的所述查询请求,并转发给CDN调度服务器;

CDN调度服务器,用于接收所述DNS服务器的查询请求,并根据所述DNS客户端的IP地址,向所述DNS客户端返回访问CDN加速域名的最近节点。

进一步,所述DNS客户端按速度排列所述DNS服务器列表中的DNS服务器,并向速度最快的所述DNS服务器发送查询请求。

进一步,所述DNS管理服务器检查所述DNS客户端的软件版本。

进一步,所述DNS客户端通过HTTPS向DNS管理服务器发送下载请求;使用DNS协议向所述DNS服务器发送查询请求;

所述DNS服务器通过EDNS协议向CDN调度服务器发送所述查询请求。

根据本发明一方面,提出一种CDN调度方法,包括:

DNS客户端使用由CDN加速的域名时,向DNS管理服务器发送下载请求,并接收所述DNS管理服务器返回的DNS服务器列表以及CDN加速域名列表;

所述DNS客户端向所述DNS服务器发送查询请求,在所述查询请求中携带所述DNS客户端的IP地址以及CDN加速域名;

所述DNS服务器将所述查询请求转发给CDN调度服务器;

所述CDN调度服务器根据所述DNS客户端的IP地址返回访问CDN加速域名的最近节点。

进一步,所述DNS客户端按速度排列所述DNS服务器列表中的DNS服务器,并向速度最快的所述DNS服务器发送查询请求。

进一步,所述DNS管理服务器检查所述DNS客户端的软件版本。

本发明中,DNS客户端将其IP地址传送给CDN调度服务器,CDN调度服务器可以根据DNS客户端的IP地址精确定位用户位置,实现CDN精确调度。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:

图1为一种用于CDN调度的DNS客户端的结构示意图。

图2为一种用于CDN调度的DNS服务器的结构示意图。

图3为一种用于CDN调度的DNS管理服务器的结构示意图。

图4为一种用于CDN调度的系统的结构示意图。

图5为一种CDN调度方法的流程示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详 细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

本发明提出了一种以DNS协议为基础的改进CDN调度方法,通过在客户端集成DNS客户端模块,客户端应用发起由CDN加速的业务时,将通过该DNS客户端向CDN关联的DNS服务器发起DNS请求,DNS服务器再向CDN调度服务器发起调度请求,DNS服务器向CDN发起的DNS请求使用EDNS协议,可携带客户端IP地址,从而使CDN调度服务器可收集到客户端IP,进而可相应返回精准调度信息。

下面将结合附图和具体实施例,对本发明做进一步说明。

图1为一种用于CDN调度的DNS客户端的结构示意图。该DNS客户端10包括:列表接收单元101、查询单元102、以及节点获取单元103。其中:

列表接收单元101,用于在使用由CDN加速的域名时,向DNS管理服务器发送下载请求,并接收所述DNS管理服务器返回的DNS服务器列表以及CDN加速域名列表;

列表接收单元101在客户端启动时即获取DNS列表与CDN加速域名列表,并可定时更新相关信息。对于非CDN加速域名,不用调用客户端的定制DNS模块,通过以前的模块访问即可。

查询单元102,用于向所述DNS服务器发送查询请求,在所述查询请求中携带所述DNS客户端的IP地址以及CDN加速域名;

节点获取单元103,用于接收CDN调度服务器根据所述DNS客户端的IP地址返回的访问CDN加速域名的最近节点。

其中,所述列表接收单元通过HTTPS发送下载请求;

所述查询单元使用DNS协议发送查询请求。

在该实施例中,DNS客户端将其IP地址传送给CDN调度服务器,CDN调度服务器可以根据DNS客户端的IP地址精确定位用户位置,实现CDN精确调度。

在本发明的实施例中,所述查询单元按速度排列所述DNS服务器列表中的DNS服务器,并向速度最快的所述DNS服务器发送查询请求。从而实现DNS服务器对DNS客户端的快速响应。

图2为一种用于CDN调度的DNS服务器的结构示意图。该DNS服务器20包括:请求接收单元201、以及转发单元202。其中:

请求接收单元201,用于接收DNS客户端发送的查询请求,在所述查询请求中携带所述DNS客户端的IP地址以及CDN加速域名;

转发单元202,用于将所述查询请求转发给CDN调度服务器,以使所述CDN调度服务器根据所述DNS客户端的IP地址返回访问CDN加速域名的最近节点。

其中,DNS服务器不对外服务,只对CDN加速的客户端服务,其只递归指定的加速域名。所述转发单元支持EDNS协议,以将所述DNS客户端的IP地址转发给CDN调度服务器。

在该实施例中,DNS服务器将DNS客户端的IP地址传送给CDN调度服务器,CDN调度服务器可以根据DNS客户端的IP地址精确定位用户位置,实现CDN精确调度。

图3为一种用于CDN调度的DNS管理服务器的结构示意图。该DNS管理服务器30包括:保存单元301、以及响应单元302。其中:

保存单元301,用于保存DNS服务器列表以及CDN加速域名列表;

响应单元302,用于接收客户端的下载请求,并向所述客户端返回DNS服务器列表以及CDN加速域名列表。

在该实施例中,DNS管理服务器将DNS服务器列表返回给DNS客户端,则DNS客户端可以从中选择一个DNS服务器,并将DNS客户端的IP地址传送给DNS服务器,以通过该DNS服务器将DNS客户端的IP地址传送给CDN调度服务器,实现CDN调度服务器对于DNS客户端的精确定位。

在本发明的实施例中,所述响应单元检查所述客户端的软件版本。防止非法用户下载。

图4为一种用于CDN调度的系统的结构示意图。该系统包括:DNS客户端10、DNS服务器20、DNS管理服务器30、以及CDN调度服务器40。其中:

DNS客户端10,用于在使用由CDN加速的域名时,向DNS管理服务器发送下载请求,并接收所述DNS管理服务器返回的DNS服务器列表以及CDN加速域名列表;向所述DNS服务器发送查询请求,在所述查询请求中携带所述DNS客户端的IP地址以及CDN加速域名;其中,所述DNS客户端通过HTTPS向DNS管理服务器发送下载请求;使用DNS协议向所述DNS服务器发送查询请求;

DNS管理服务器30,用于接收所述DNS客户端的下载请求,并返回DNS服务器列表以及CDN加速域名列表;

DNS服务器20,用于接收所述DNS客户端的所述查询请求,并转发给CDN调度服务器;其中,所述DNS服务器通过EDNS协议向CDN调度服务器发送所述查询请求;

CDN调度服务器40,用于接收所述DNS服务器的查询请求,并根据所述DNS客户端的IP地址,向所述DNS客户端返回访问CDN加速域名的最近节点。

CDN调度服务器配置为响应指定DNS服务器的请求,从而提供了DNS攻击保护,保护其不受DNS攻击影响。

在该实施例中,DNS客户端将其IP地址传送给CDN调度服务器,CDN调度服务器可以根据DNS客户端的IP地址精确定位用户位置,实现CDN精确调度。

将传统DNS查询分为HTTP与DNS两个步骤,保证DNS服务器性能。相对于现有最接近技术(HTTP DNS),具备以下优点:

性能比HTTP调度高一个数量级;

对DNS服务器改动较小,易于开发实施,并可采用成熟的分布式DNS技术,减小了单点故障风险;

CDN调度服务器可安全地获取客户端地址,为后续精准调度提供了基础。

在本发明的实施例中,所述DNS客户端按速度排列所述DNS服务器列表中的DNS服务器,并向速度最快的所述DNS服务器发送查询请求。从而实现DNS服务器对DNS客户端的快速响应。

在本发明的实施例中,所述DNS管理服务器检查所述DNS客户端的软件版本。防止非法用户下载。

下面通过一个具体实施例,对本发明的系统做进一步说明。

本方案中,新设DNS管理服务器,设置支持EDNS协议的专用DNS服务器,并需要在客户终端中定制一个专用DNS客户端。

DNS客户端只在使用CDN服务时启用,专用DNS客户端内置DNS管理服务器IP地址。

DNS管理服务器记录了支持EDNS协议的专用DNS服务器地址。DNS管理服务器一般通过IP Anycast技术实现分布式部署。

DNS服务器地址不对外公布,只为CDN客户提供DNS解释服务。

当用户使用到由CDN加速的域名时,DNS客户端首先通过HTTPS向DNS管理服务器发送地址列表下载请求,获取CDN关联DNS地址列表;下载时,DNS管理服务器需检查DNS客户端的软件版本,防止非法用户下载。下载后,DNS客户端使用DNS协议向DNS服务器查询CDN加速域名的IP,DNS服务器通过EDNS把客户端地址传给CDN调度服务器。

图5为一种CDN调度方法的流程示意图。该方法包括以下步骤:

在步骤501,DNS客户端使用由CDN加速的域名时,向DNS管 理服务器发送下载请求,并接收所述DNS管理服务器返回的DNS服务器列表以及CDN加速域名列表;

在步骤502,所述DNS客户端向所述DNS服务器发送查询请求,在所述查询请求中携带所述DNS客户端的IP地址以及CDN加速域名;

在步骤503,所述DNS服务器将所述查询请求转发给CDN调度服务器;

在步骤504,所述CDN调度服务器根据所述DNS客户端的IP地址返回访问CDN加速域名的最近节点。

在该实施例中,DNS客户端将其IP地址传送给CDN调度服务器,CDN调度服务器可以根据DNS客户端的IP地址精确定位用户位置,实现CDN精确调度。

将传统DNS查询分为HTTP与DNS两个步骤,保证DNS服务器性能。相对于现有最接近技术(HTTP DNS),具备以下优点:

性能比HTTP调度高一个数量级;

对DNS服务器改动较小,易于开发实施,并可采用成熟的分布式DNS技术,减小了单点故障风险;

CDN调度服务器可安全地获取客户端地址,为后续精准调度提供了基础。

在本发明的实施例中,在步骤502中,所述DNS客户端按速度排列所述DNS服务器列表中的DNS服务器,并向速度最快的所述DNS服务器发送查询请求。从而实现DNS服务器对DNS客户端的快速响应。

在本发明的实施例中,在步骤501中,所述DNS管理服务器检查所述DNS客户端的软件版本,在判断DNS客户端合法后,向其返回DNS服务器列表以及CDN加速域名列表。以防止非法用户下载。

至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

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