Dns授权系统中基于别名记录的负载均衡方法及系统的制作方法

文档序号:7811925阅读:295来源:国知局
Dns授权系统中基于别名记录的负载均衡方法及系统的制作方法
【专利摘要】本发明提供一种DNS授权系统中基于别名记录的负载均衡方法及系统,方法为:根据DNS协议规范,修订并添加CNAMEX记录,实现同一view下同一域名别名指向到多个其他域名,从而可实现同一VIEW中同一业务网站域名接入多家CDN服务商进行加速,且本发明为CNAMEX记录增加了流量负载的权重指标,使用户根据CDN服务商性能和承载能力,合理分担流量到不同CDN服务商,优化CDN应用服务的质量。
【专利说明】DNS授权系统中基于别名记录的负载均衡方法及系统

【技术领域】
[0001] 本发明属于负载均衡【技术领域】,具体涉及一种DNS授权系统中基于别名记录的负 载均衡方法及系统。

【背景技术】
[0002] CDN(内容分发网络,Content Distribution Network)是一种新型网络内容服务 体系,实质为:在现有互联网基础之上增加一层由多个CDN节点所组成的智能虚拟网络,各 个⑶N节点和⑶N服务器构成⑶N系统,⑶N系统能够实时地根据网络流量和各⑶N节点 的连接、负载状态以及到用户的距离和响应时间等综合信息,而将用户的请求重新导向到 离用户最近的CDN节点上,从而提高用户访问速度。
[0003] ⑶N服务商是指提供上述⑶N服务的服务商,主要服务模式为:接受某一业务网站 的委托,对该业务网站提供加速缓存服务,从而提高用户访问该业务网站的速度。
[0004] 现在技术中,以中国为例,存在多家CDN服务商,例如:蓝汛、快网、网宿等。当用户 需要将某一业务网站委托给某一 CDN服务商时,例如,如果需要将域名为:www. sina. com的 业务网站委托给⑶N服务商快网时,设快网域名为:www. sina. com. cloudcdn. net ;贝U常规 配置方法为:在sina的授权DNS服务器的DNS记录中增加 CNAME (别名指向)记录,将域名 www. sina. com 别名指向www. sina. com. cloudcdn. net ;然后,即可由快网对sina业务网站 提供加速缓存服务。
[0005] 上述方法存在的主要问题为:由于按照现有DNS系统规范标准,同一区域,一个域 名只能别名指向唯一另一个域名。因此,同一区域,一个业务网站只能委托一家⑶N服务商 提供加速缓存服务,无法满足用户因业务需求而需要同时委托多家CDN服务商的需要。
[0006] 目前解决此类问题的方法为:在用户网站域名的DNS系统中,根据不同地域或运 营商划分不同VIEW,将各个VIEW分别匹配至不同的⑶N服务商。例如:将北京联通客户端 划分为VIEW1,将北京移动客户端划分为VIEW2 ;然后,将VIEW1对sina业务网站的访问请 求委托给⑶N服务商1处理;将VIEW2对sina业务网站的访问请求委托给⑶N服务商2处 理。上述方法虽然实现了同一业务网站同时委托多家CDN服务商提供服务,但只能实现不 同VIEW接入不同的CND服务商,却不能实现同一个VIEW中的各个用户接入不同的CDN服 务商,仍然具有较大的局限性。


【发明内容】

[0007] 针对现有技术存在的缺陷,本发明提供一种DNS授权系统中基于别名记录的负载 均衡方法及系统,可实现同一 VIEW中同一业务网站域名接入多家⑶N服务商进行加速,且 本发明为CNAMEX记录增加了流量负载的权重指标,使用户根据CDN服务商性能和承载能 力,合理分担流量到不同CDN服务商,优化CDN应用服务的质量。
[0008] 本发明采用的技术方案如下:
[0009] 本发明提供一种DNS授权系统中基于别名记录的负载均衡方法,包括以下步骤:
[0010] S1,在请求域名的授权DNS服务器上配置多条CNAMEX记录;各条CNAMEX记录分别 用于记录同一请求域名与别名指向的不同的CDN服务商域名的映射关系,还用于记录同一 请求域名别名指向的各个CDN服务商域名的权重值;
[0011] S2,当所述请求域名的授权DNS服务器接收到来自LDNS请求端的对所述请求域名 的域名解析请求时,所述请求域名的授权DNS服务器查询所配置的多条CNAMEX记录,获得 与所述请求域名对应的各个CDN服务商域名及其权重值;
[0012] S3,然后,所述请求域名的授权DNS服务器从各条CNAMEX记录中基于与权重值 相关的负载均衡策略筛选得到与本次请求域名对应的目标CDN服务商域名,以及,从各 条CNAMEX记录中筛选出包含所述目标CDN服务商域名的特定CNAMEX记录,将所述特定 CNAMEX记录转化成特定CNAME记录后,将所述特定CNAME记录封装为DNS响应包后,将所 述DNS响应包返回给所述LDNS请求端;其中,所述DNS响应包携带有所述目标CDN服务商 域名;
[0013] S4,所述LDNS请求端向与目标⑶N服务商域名对应的目标⑶N服务商的授权DNS 服务器发起域名解析请求,由所述目标CDN服务商的授权DNS服务器进行域名解析。
[0014] 优选的,S3中,所述请求域名的授权DNS服务器从各条CNAMEX记录中基于与权重 值相关的负载均衡策略筛选得到与本次请求域名对应的目标CDN服务商域名,具体为:
[0015] 设共配置m条CNAMEX记录,则共有m个CDN服务商域名,分别记为:CDN-1、CDN-2… CDN-m;则依次为各个CDN服务商域名分配随机数范围区间,分别对应记为:随机数范围区 间1、随机数范围区间2…随机数范围区间m ;其中,随机数范围区间1区间长度:随机数范 围区间2区间长度…:随机数范围区间m区间长度=CDN-1权重值:CDN-2权重值…⑶N-m 权重值;
[0016] 将随机数范围区间1包括的随机数、随机数范围区间2包括的随机数…随机数范 围区间m包括的随机数组成随机数集合;
[0017] 然后,每当接收到域名解析请求时,即在所述随机数集合中随机挑选一个随机数, 然后计算挑选到的随机数属于的具体的随机数范围区间,该计算得到的随机数范围区间所 对应的CDN服务商域名,即为本次筛选得到的目标CDN服务商域名。
[0018] 优选的,S3中,将所述特定CNAMEX记录转化成特定CNAME记录后,将所述特定 CNAME记录封装为DNS响应包,具体为:
[0019] 将所述特定CNAMEX记录中的权重值删除,即转化为特定CNAME记录,然后将所述 特定CNAME记录封装为DNS响应包。
[0020] 本发明还提供一种DNS授权系统中基于别名记录的负载均衡系统,应用于请求域 名的授权DNS服务器上,包括 :
[0021] CNAMEX记录配置模块,用于配置多条CNAMEX记录;各条CNAMEX记录分别用于记 录同一请求域名与别名指向的不同的CDN服务商域名的映射关系,还用于记录同一请求域 名别名指向的各个CDN服务商域名的权重值;
[0022] 接收模块,用于接收来自LDNS请求端的对所述请求域名的域名解析请求;
[0023] 查询模块,用于查询所述CNAMEX记录配置模块所配置的多条CNAMEX记录,获得与 所述请求域名对应的各个CDN服务商域名及其权重值;
[0024] 负载均衡模块,用于根据所述查询模块所查询到的各个CDN服务商域名及其权重 值,基于与权重值相关的负载均衡策略筛选得到与本次请求域名对应的目标CDN服务商域 名;进而获得包含所述目标CDN服务商域名的特定CNAMEX记录;
[0025] 转化模块,用于将所述特定CNAMEX记录转化成特定CNAME记录;
[0026] 封装模块,用于将所述转化模块转化到的特定CNAME记录封装为DNS响应包;
[0027] 发送模块,用于将所述封装模块封装到的DNS响应包返回给所述LDNS请求端;其 中,所述DNS响应包携带有所述目标CDN服务商域名。
[0028] 本发明提供的DNS授权系统中基于别名记录的负载均衡方法及装置具有以下优 占 ·
[0029] 实现同一 VIEW中同一业务网站域名接入多家⑶N服务商进行加速,且本发明为 CNAMEX记录增加了流量负载的权重指标,使用户根据CDN服务商性能和承载能力,合理分 担流量到不同CDN服务商,优化CDN应用服务的质量。

【专利附图】

【附图说明】
[0030] 图1为应用本发明提供的DNS授权系统中基于别名记录的负载均衡方法的拓扑 图;
[0031] 图2为本发明提供的DNS授权系统中基于别名记录的负载均衡方法的流程示意 图;
[0032] 图3为本发明提供的DNS授权系统中基于别名记录的负载均衡系统的结构示意 图。

【具体实施方式】
[0033] 以下结合附图对本发明进行详细说明:
[0034] 如图1和图2所示,本发明提供一种DNS授权系统中基于别名记录的负载均衡方 法,包括以下步骤:
[0035] S1,在请求域名的授权DNS服务器上配置多条CNAMEX记录;各条CNAMEX记录分别 用于记录同一请求域名与别名指向的不同的CDN服务商域名的映射关系,还用于记录同一 请求域名别名指向的各个CDN服务商域名的权重值;
[0036] 为方便说明,CNAMEX记录可简记为CX记录,CX记录遵守DNS协议规范,可实现同 一请求域名别名指向到多个其他域名,如多个CDN服务商域名,从而使用户可同时接入多 家⑶N服务商。另外,CX记录在资源记录五元组中添加了负载权重值,用户可根据不同⑶N 服务商的服务质量及带宽情况,灵活配置CX记录所记录的各⑶N服务商权重值。
[0037] 例如,对于请求域名为sina的sina授权DNS服务器,如需要将其接入到三个⑶N 服务商,分别为CDN服务商1、CDN服务商2和CDN服务商3 ;并且,用户根据自己需求,将 30 %的业务量分配给⑶N服务商1,将20 %的业务量分配给⑶N服务商2,将50 %的业务量 分配给⑶N服务商3,则可配置以下三条CX记录,分别为CX记录1、CX记录2以及CX记录 3 ;其中,CX记录1用于记录别名指向的⑶N服务商域名1以及权重值30%;CX记录2用于 记录别名指向的CDN服务商域名2以及权重值20%;CX记录3用于记录别名指向的CDN月艮 务商域名3以及权重值50%。
[0038] 另外,需要说明的是,分配给各个⑶N服务商的权重值,即可由用户手动配置,也 可由请求域名的授权DNS服务器根据各CDN服务商的实时负载状态,而动态调整所设置的 权重值。
[0039] S2,当所述请求域名的授权DNS服务器接收到来自LDNS请求端的对所述请求域名 的域名解析请求时,所述请求域名的授权DNS服务器查询所配置的多条CNAMEX记录,获得 与所述请求域名对应的各个CDN服务商域名及其权重值;
[0040] S3,然后,所述请求域名的授权DNS服务器从各条CNAMEX记录中基于与权重值 相关的负载均衡策略筛选得到与本次请求域名对应的目标CDN服务商域名,以及,从各 条CNAMEX记录中筛选出包含所述目标CDN服务商域名的特定CNAMEX记录,将所述特定 CNAMEX记录转化成特定CNAME记录后,将所述特定CNAME记录封装为DNS响应包后,将所 述DNS响应包返回给所述LDNS请求端;其中,所述DNS响应包携带有所述目标CDN服务商 域名。
[0041] 本步骤中,筛选目标CDN服务商域名的具体方法可以为:
[0042] 设共配置m条CNAMEX记录,则共有m个⑶N服务商域名,分别记为:⑶N-1XDN-2··· CDN-m;则依次为各个CDN服务商域名分配随机数范围区间,分别对应记为:随机数范围区 间1、随机数范围区间2…随机数范围区间m ;其中,随机数范围区间1区间长度:随机数范 围区间2区间长度…:随机数范围区间m区间长度=⑶N-1权重值:CDN-2权重值…⑶N-m 权重值;
[0043] 将随机数范围区间1包括的随机数、随机数范围区间2包括的随机数…随机数范 围区间m包括的随机数组成随机数集合;
[0044] 然后,每当接收到域名解析请求时,即在所述随机数集合中随机挑选一个随机数, 然后计算挑选到的随机数属于的具体随机数范围区间,该计算得到的随机数范围区间所对 应的CDN服务商域名,即为本次筛选得到的目标CDN服务商域名。
[0045] 可配置以下三条CX记录,分别为CX记录1、CX记录2以及CX记录3 ;其中,CX记 录1用于记录别名指向的CDN服务商域名1以及权重值30%;CX记录2用于记录别名指向 的⑶N服务商域名2以及权重值20%;CX记录3用于记录别名指向的⑶N服务商域名3以 及权重值50%。
[0046] 例如,设共配置3条CX记录,分别为CX记录1、CX记录2以及CX记录3 ;其中,CX 记录1用于记录别名指向的⑶N服务商域名为⑶N-1,且权重值30 % ;CX记录2用于记录别 名指向的⑶N服务商域名为⑶N-2,且权重值20 % ;CX记录3用于记录别名指向的⑶N服务 商域名为⑶N-3,且权重值50%。贝U,为⑶N-1分配的随机自然数范围区间为1-30这30个 自然数;为CDN-2分配的随机自然数范围区间为31-50这20个自然数;为CDN-3分配的随 机自然数范围区间为51-100这50个自然数;则随机数集合即为1-100这100个自然数;
[0047] 然后,每当接收到域名解析请求时,即从1-100这100个随机数集合中随机挑选一 个随机数,如果挑选的随机数为15,则本次筛选得到的目标CDN服务商域名即为CDN-1 ;如 果挑选的随机数为40,则本次筛选得到的目标CDN服务商域名即为CDN-2 ;如果挑选的随机 数为51,则本次筛选得到的目标CDN服务商域名即为CDN-3。
[0048] 另外,本步骤中,可采用以下方法封装DNS响应包:
[0049] 将所述特定CNAMEX记录中的权重值删除,即转化为特定CNAME记录,然后将所述 特定CNAME记录封装为DNS响应包。
[0050] 通过该步骤,使本发明提供的方法即实现了同一域名别名指向到多个其他域名的 效果,又使其符合现有DNS协议,不需要对现有DNS协议变化,因此,本发明具有易布署实现 的优点。
[0051] S4,所述LDNS请求端向与目标⑶N服务商域名对应的目标⑶N服务商的授权DNS 服务器发起域名解析请求,由所述目标CDN服务商的授权DNS服务器进行域名解析。
[0052] 如图3所示,本发明还提供一种DNS授权系统中基于别名记录的负载均衡系统,应 用于请求域名的授权DNS服务器上,包括:
[0053] CNAMEX记录配置模块,用于配置多条CNAMEX记录;各条CNAMEX记录分别用于记 录同一请求域名与别名指向的不同的CDN服务商域名的映射关系,还用于记录同一请求域 名别名指向的各个CDN服务商域名的权重值;
[0054] 接收模块,用于接收来自LDNS请求端的对所述请求域名的域名解析请求;
[0055] 查询模块,用于查询所述CNAMEX记录配置模块所配置的多条CNAMEX记录,获得与 所述请求域名对应的各个CDN服务商域名及其权重值;
[0056] 负载均衡模块,用于根据所述查询模块所查询到的各个CDN服务商域名及其权重 值,基于与权重值相关的负载均衡策略筛选得到与本次请求域名对应的目标CDN服务商域 名;进而获得包含所述目标CDN服务商域名的特定CNAMEX记录;
[0057] 转化模块,用于将所述特定CNAMEX记录转化成特定CNAME记录;
[0058] 封装模块,用于将所述转化模块转化到的特定CNAME记录封装为DNS响应包;
[0059] 发送模块,用于将所述封装模块封装到的DNS响应包返回给所述LDNS请求端;其 中,所述DNS响应包携带有所述目标CDN服务商域名。
[0060] 综上所述,本发明提供的DNS授权系统中基于别名记录的负载均衡方法及系统, 根据DNS协议规范,修订并添加 CNAMEX记录,实现同一域名别名指向到多个其他域名,从而 可实现同一 VIEW中同一业务网站域名接入多家⑶N服务商进行加速,且本发明为CNAMEX 记录增加了流量负载的权重指标,使用户根据CDN服务商性能和承载能力,合理分担流量 到不同CDN服务商,优化CDN应用服务的质量。
[0061] 以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视本发明的保护范围。
【权利要求】
1. 一种DNS授权系统中基于别名记录的负载均衡方法,其特征在于,包括以下步骤: S1,在请求域名的授权DNS服务器上配置多条CNAMEX记录;各条CNAMEX记录分别用于 记录同一请求域名与别名指向的不同的CDN服务商域名的映射关系,还用于记录同一请求 域名别名指向的各个CDN服务商域名的权重值; 52, 当所述请求域名的授权DNS服务器接收到来自LDNS请求端的对所述请求域名的域 名解析请求时,所述请求域名的授权DNS服务器查询所配置的多条CNAMEX记录,获得与所 述请求域名对应的各个CDN服务商域名及其权重值; 53, 然后,所述请求域名的授权DNS服务器从各条CNAMEX记录中基于与权重值相关的 负载均衡策略筛选得到与本次请求域名对应的目标CDN服务商域名,以及,从各条CNAMEX 记录中筛选出包含所述目标CDN服务商域名的特定CNAMEX记录,将所述特定CNAMEX记录 转化成特定CNAME记录后,将所述特定CNAME记录封装为DNS响应包后,将所述DNS响应包 返回给所述LDNS请求端;其中,所述DNS响应包携带有所述目标CDN服务商域名; S4,所述LDNS请求端向与目标CDN服务商域名对应的目标CDN服务商的授权DNS服务 器发起域名解析请求,由所述目标CDN服务商的授权DNS服务器进行域名解析。
2. 根据权利要求1所述的DNS授权系统中基于别名记录的负载均衡方法,其特征在于, S3中,所述请求域名的授权DNS服务器从各条CNAMEX记录中基于与权重值相关的负载均衡 策略筛选得到与本次请求域名对应的目标CDN服务商域名,具体为: 设共配置m条CNAMEX记录,则共有m个⑶N服务商域名,分别记为:⑶N-1、⑶N-2··· CDN-m;则依次为各个CDN服务商域名分配随机数范围区间,分别对应记为:随机数范围区 间1、随机数范围区间2…随机数范围区间m ;其中,随机数范围区间1区间长度:随机数范 围区间2区间长度…:随机数范围区间m区间长度=⑶N-1权重值:CDN-2权重值…⑶N-m 权重值; 将随机数范围区间1包括的随机数、随机数范围区间2包括的随机数…随机数范围区 间m包括的随机数组成随机数集合; 然后,每当接收到域名解析请求时,即在所述随机数集合中随机挑选一个随机数,然后 计算挑选到的随机数属于的具体的随机数范围区间,该计算得到的随机数范围区间所对应 的CDN服务商域名,即为本次筛选得到的目标CDN服务商域名。
3. 根据权利要求1所述的DNS授权系统中基于别名记录的负载均衡方法,其特征在于, S3中,将所述特定CNAMEX记录转化成特定CNAME记录后,将所述特定CNAME记录封装为DNS 响应包,具体为: 将所述特定CNAMEX记录中的权重值删除,即转化为特定CNAME记录,然后将所述特定 CNAME记录封装为DNS响应包。
4. 一种DNS授权系统中基于别名记录的负载均衡系统,其特征在于,应用于请求域名 的授权DNS服务器上,包括 : CNAMEX记录配置模块,用于配置多条CNAMEX记录;各条CNAMEX记录分别用于记录同 一请求域名与别名指向的不同的CDN服务商域名的映射关系,还用于记录同一请求域名别 名指向的各个CDN服务商域名的权重值; 接收模块,用于接收来自LDNS请求端的对所述请求域名的域名解析请求; 查询模块,用于查询所述CNAMEX记录配置模块所配置的多条CNAMEX记录,获得与所述 请求域名对应的各个CDN服务商域名及其权重值; 负载均衡模块,用于根据所述查询模块所查询到的各个CDN服务商域名及其权重值, 基于与权重值相关的负载均衡策略筛选得到与本次请求域名对应的目标CDN服务商域名; 进而获得包含所述目标CDN服务商域名的特定CNAMEX记录; 转化模块,用于将所述特定CNAMEX记录转化成特定CNAME记录; 封装模块,用于将所述转化模块转化到的特定CNAME记录封装为DNS响应包; 发送模块,用于将所述封装模块封装到的DNS响应包返回给所述LDNS请求端;其中,所 述DNS响应包携带有所述目标CDN服务商域名。
【文档编号】H04L29/12GK104144222SQ201410412460
【公开日】2014年11月12日 申请日期:2014年8月20日 优先权日:2014年8月20日
【发明者】彭扬 申请人:北京阅联信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1