一种DNS调度方法及装置与流程

文档序号:16149723发布日期:2018-12-05 17:19阅读:146来源:国知局

本发明涉及互联网技术领域,尤其涉及一种确定客户端ip和本地域名解析系统(localdomainnamesystem,ldns)出口ip的映射关系的方法及装置。

背景技术

参考图1,基于域名解析系统(domainnamesystem,dns)调度的内容分发网络(contentdeliverynetwork,cdn)访问过程如下:

1、北京用户客户端(ip为ip_a)请求访问域名www.a.com,客户端的解析器将此请求转换为解析请求,向ip为ip_b的ldns发起解析请求,请求获取域名www.a.com对应的ip。

2、ldns向a.com的权威服务器请求域名www.a.com对应的ip。

3、a.com的权威服务器查询域名www.a.com对应的ip,反馈www.a.comcnamewww.a.cdn.com的解析应答,将cname的内容反馈给ldns。

4、ldns携带ldns出口ip(即ip_c),向cdn厂商调度平台(ip为ip_d)请求域名www.a.cdn.com对应的ip。

5、cdn厂商调度平台根据请求来源ip(ip_c)和请求目标域名www.a.cdn.com匹配系统映射表,给出包括网络服务器的ip列表的映射表:

viewbj{ip_cwww.a.cdn.comip_e}

viewsh{ip_cwww.a.cdn.com9.9.9.9}

6、ldns将域名对应的ip即ip_e反馈给北京用户客户端。

7、北京用户客户端携带ip_a,向ip为ip_e的网络服务器请求域名为

www.a.com的内容。

8、ip为ip_e的网络服务器返回网页内容给北京用户,流程结束。

现有流程中存在以下问题:

1、cdn调度平台通过接收ip_c和目标域名来进行智能调度,而非实际客户端ip_a,一旦ip_a和ip_c的网络区域存在差异,会导致调度不准确,影响服务质量。

2、客户端访问网络服务器的请求来源ip为客户端自身ip(即ip_a),此时网络服务器只能记录客户端ip以及其访问的服务质量,而实际决定ip_a从哪个网络服务器获取内容,又是调度平台根据ldns出口ip(即ip_c)确定的,此时无法将网络服务器上的服务质量跟调度平台的智能调度直观联系到一起,对调优工作带来很大麻烦。

3、调度平台通过基于ldns出口ip_c,进行的调整,很难对应到对实际用户的访问影响,调度效果很难评估。

4、ip_a和ip_b的关系依靠于运营商分配和用户配置,ip_b和ip_c的关系依赖于运营商的维护,设计多个环节,很难简单将ip_a和ip_c的关系梳理清楚。

5、使用面向用户的help系统的话,由用户提交校验请求,通过help系统获取客户端ip、ldnsip、ldns出口ip的对应关系并判定三者关系,此种方案依赖于客户端的提报,如果没有客户端用户的协作,无法进行信息收集工作。

6、使用httpdns的方式,直接通过http协议进行调度,调度平台可以获取用户的客户端ip,避免了ldns环节的影响。此种方式因为多了一次httpdns请求,所以只适用于大文件业务并且使整个调度时长增长。

所以需要一种考虑目标客户端ip与ldns的出口ip的关系的dns调度方法。



技术实现要素:

为了解决上述技术问题,本发明提供了一种dns调度方法及装置。

本发明提供了一种dns调度方法,包括:

步骤1,针对访问目标域名的目标客户端ip,查询网络服务器日志获得客户端ip访问所述目标域名的线上网络服务器的ip并获得客户端ip访问所述目标域名的备份网络服务器的ip;查询dns调度配置文件获取所述线上网络服务器的ip所对应的视图作为所述目标客户端ip对应的视图;根据所述视图获取所述目标客户端ip的dns出口ip库;

步骤2,确定所述目标客户端ip对应的每个视图中的目标客户端ip使用的ldns的出口ip;

步骤3,将每个视图中的目标客户端ip使用的ldns的出口ip的合集作为确定出的目标客户端ip使用的ldns的出口ip列表。

上述方法还具有以下特点:

其中,步骤2包括:

步骤201,将目标客户端ip对应的视图作为目标视图执行步骤202,

步骤202,将目标视图中的dns出口ip库中的ip划分为至少一个分组,新增与分组个数相同数量的备用视图,每个备用视图中包括一个分组和一个备份网络服务器的ip,将备用视图设置入dns调度配置文件并加载,通过查询网络服务器日志中备用视图中的网络服务器ip是否接收过所述目标客户端ip访问目标域名的请求确定备用视图中的dns出口ip中是否包含目标客户端ip使用的ldns的出口ip;

步骤203,删除dns出口ip中不包含目标客户端ip使用的ldns的出口ip的备用视图,选取dns出口ip中包含目标客户端ip使用的ldns的出口ip的并且包括一个以上dns出口ip的备份视图作为目标视图,删除dns出口ip中包含目标客户端ip使用的ldns的出口ip的并且只包括一dns出口ip的备份视图,将此备份视图中的ip确定为目标客户端ip使用的ldns的出口ip;执行步骤202,

循环执行步骤202和步骤203直至查找到每个视图中的所有dns出口ip库中的目标客户端ip使用的ldns的出口ip。

上述方法还具有以下特点:

步骤202中将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:将目标视图中的dns出口ip库中的ip划分为两组,第一组中包括目标视图中的dns出口ip库中的一个ip,第二组中包括目标视图中的dns出口库中其它ip。

上述方法还具有以下特点:

步骤202中将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:判断目标视图中的dns出口ip库中的ip总数是n的整数倍时,将目标视图中的dns出口ip库中的ip平均划分为n组,n为大于1的整数,判断目标视图中的dns出口ip库中的ip总数不是n的整数倍时,将目标视图中的dns出口ip库中的ip划分为n组并使n组中的ip数量的方差最小。

上述方法还具有以下特点:

步骤2包括分组方式标识,分组方式标识的初始值为用于表示均分方式的值,在步骤202执行m次后,m为大于1的整数,将所述分组方式标识的值设置为用于表示单独划分方式的值;

步骤202中还包括判断分组方式的值,在判断分组标识的值为用于表示均分方式的值时,将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:判断目标视图中的dns出口ip库中的ip总数是n的整数倍时,将目标视图中的dns出口ip库中的ip平均划分为n组,n为大于1的整数,判断目标视图中的dns出口ip库中的ip总数不是n的整数倍时,将目标视图中的dns出口ip库中的ip划分为n组并使n组中的ip数量的方差最小;在判断分组标识的值为用于表示单独划分方式的值时,将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:将目标视图中的dns出口ip库中的ip划分为两组,第一组中包括目标视图中的dns出口ip库中的一个ip,第二组中包括目标视图中的dns出口库中其它ip。

上述方法还具有以下特点:

所述步骤1还包括:确定ldns出口ip列表;

所述步骤202中,将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:根据所述ldns出口ip列表将属于相同dns的出口ip放置于同一分组中。

本发明还提供了一种dns调度装置,包括:接收模块、分析模块、网络服务器日志模块、dns调度模块、运算模块;

接收模块,用于接收针对访问目标域名的目标客户端ip并发送至所述分析模块;

分析模块,用于接收目标客户端ip,还用于查询网络服务器日志模块获得客户端ip访问所述目标域名的线上网络服务器的ip并获得客户端ip访问所述目标域名的备份网络服务器的ip;还用于查询dns调度模块获得dns调度配置文件,根据dns调度配置文件获取所述线上网络服务器的ip所对应的视图作为所述目标客户端ip对应的视图;将所述目标客户端ip和所述视图发送至运算模块;

所述运算模块,用于根据所述视图获取所述目标客户端ip的dns出口ip库;确定所述目标客户端ip对应的每个视图中的目标客户端ip使用的ldns的出口ip;

所述运算模块,还用于将每个视图中的目标客户端ip使用的ldns的出口ip的合集作为确定出的目标客户端ip使用的ldns的出口ip列表。

上述装置还具有以下特点:

所述运算模块用于根据以下方法确定所述目标客户端ip对应的每个视图中的目标客户端ip使用的ldns的出口ip:

针对每个视图将目标客户端ip对应的视图作为目标视图执行步骤202,步骤202,将目标视图中的dns出口ip库中的ip划分为至少一个分组,新增与分组个数相同数量的备用视图,每个备用视图中包括一个分组和一个备份网络服务器的ip,将备用视图设置入dns调度配置文件并发送至dns调度模块,通过查询网络服务器日志中备用视图中的网络服务器ip是否接收过所述目标客户端ip访问目标域名的请求确定备用视图中的dns出口ip中是否包含目标客户端ip使用的ldns的出口ip;步骤203,删除dns出口ip中不包含目标客户端ip使用的ldns的出口ip的备用视图,选取dns出口ip中包含目标客户端ip使用的ldns的出口ip的并且包括一个以上dns出口ip的备份视图作为目标视图,删除dns出口ip中包含目标客户端ip使用的ldns的出口ip的并且只包括一dns出口ip的备份视图,将此备份视图中的ip确定为目标客户端ip使用的ldns的出口ip;执行步骤202;循环执行步骤202和步骤203直至查找到每个视图中的所有dns出口ip库中的目标客户端ip使用的ldns的出口ip。

上述装置还具有以下特点:

所述运算模块,还用于在步骤202中使用以下方法将目标视图中的dns出口ip库中的ip划分为至少一个分组:将目标视图中的dns出口ip库中的ip划分为两组,第一组中包括目标视图中的dns出口ip库中的一个ip,第二组中包括目标视图中的dns出口库中其它ip。

上述装置还具有以下特点:

所述运算模块,还用于在步骤202中使用以下方法将目标视图中的dns出口ip库中的ip划分为至少一个分组:判断目标视图中的dns出口ip库中的ip总数是n的整数倍时,将目标视图中的dns出口ip库中的ip平均划分为n组,n为大于1的整数,判断目标视图中的dns出口ip库中的ip总数不是n的整数倍时,将目标视图中的dns出口ip库中的ip划分为n组并使n组中的ip数量的方差最小。

上述装置还具有以下特点:

步骤2包括分组方式标识,分组方式标识的初始值为用于表示均分方式的值,在步骤202执行m次后,m为大于1的整数,将所述分组方式标识的值设置为用于表示单独划分方式的值;

所述运算模块还用于在步骤202中判断分组方式的值,在判断分组标识的值为用于表示均分方式的值时,将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:判断目标视图中的dns出口ip库中的ip总数是n的整数倍时,将目标视图中的dns出口ip库中的ip平均划分为n组,n为大于1的整数,判断目标视图中的dns出口ip库中的ip总数不是n的整数倍时,将目标视图中的dns出口ip库中的ip划分为n组并使n组中的ip数量的方差最小;在判断分组标识的值为用于表示单独划分方式的值时,将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:将目标视图中的dns出口ip库中的ip划分为两组,第一组中包括目标视图中的dns出口ip库中的一个ip,第二组中包括目标视图中的dns出口库中其它ip。

上述装置还具有以下特点:

所述装置还包括ldns检测模块用于确定ldns出口ip列表;

所述运算模块还用于将目标视图中的dns出口ip库中的ip划分为至少一个分组时,根据所述ldns出口ip列表将属于相同dns的出口ip放置于同一分组中。

本发明可以准确确定出客户端ip和ldns出口ip的映射关系,提高ldns的调度准确度,提高整个系统的服务质量。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是现有技术中基于dns调度的cdn访问过程的示意图;

图2是实施例中dns调度方法的流程图;

图3是实施例中dns调度装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

本发明中确定访问目标域名的目标客户端ip的视图后,增加新的视图,在新增加的视图中设置不同的目标客户端ip的dns出口ip,将新增加的视图设置入dns调度配置文件并加载,通过查询网络服务器日志确定新增视图中的ip是否包括目标客户端ip使用的ldns的出口ip。不断拆分新增加的视图中的ip,通过上述方法验证,最终查找到每个视图中的所有dns出口ip库中的目标客户端ip使用的ldns的出口ip。

图2是实施例中dns调度方法的流程图,此方法包括:

步骤1,针对访问目标域名的目标客户端ip,查询网络服务器日志获得客户端ip访问所述目标域名的线上网络服务器的ip并获得客户端ip访问所述目标域名的备份网络服务器的ip;查询dns调度配置文件获取所述线上网络服务器的ip所对应的视图作为所述目标客户端ip对应的视图;根据所述视图获取所述目标客户端ip的dns出口ip库;

步骤2,确定所述目标客户端ip对应的每个视图中的目标客户端ip使用的ldns的出口ip;

步骤3,将每个视图中的目标客户端ip使用的ldns的出口ip的合集作为确定出的目标客户端ip使用的ldns的出口ip列表;

其中,步骤2包括:

步骤201,将目标客户端ip对应的视图作为目标视图执行步骤202,

步骤202,将目标视图中的dns出口ip库中的ip划分为至少一个分组,新增与分组个数相同数量的备用视图,每个备用视图中包括一个分组和一个备份网络服务器的ip,将备用视图设置入dns调度配置文件并加载,通过查询网络服务器日志中备用视图中的网络服务器ip是否接收过所述目标客户端ip访问目标域名的请求确定备用视图中的dns出口ip中是否包含目标客户端ip使用的ldns的出口ip;

步骤203,删除dns出口ip中不包含目标客户端ip使用的ldns的出口ip的备用视图,选取dns出口ip中包含目标客户端ip使用的ldns的出口ip的备用视图作为目标视图执行步骤202;

循环执行步骤202和步骤203直至查找到每个视图中的所有dns出口ip库中的目标客户端ip使用的ldns的出口ip。

实现本方法中时,可以采用以下方式中的一种来实现:

方式一:单个ip判断方式

步骤202中将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:将目标视图中的dns出口ip库中的ip划分为两组,第一组中包括目标视图中的dns出口ip库中的一个ip,第二组中包括目标视图中的dns出口库中其它ip。

方式二:分组ip判断方式

步骤202中将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:判断目标视图中的dns出口ip库中的ip总数是n的整数倍时,将目标视图中的dns出口ip库中的ip平均划分为n组,n为大于1的整数,判断目标视图中的dns出口ip库中的ip总数不是n的整数倍时,将目标视图中的dns出口ip库中的ip划分为n组并使n组中的ip数量的方差最小。

方式三:先进行分组ip判断后再进行单个ip判断

步骤2包括分组方式标识,分组方式标识的初始值为用于表示均分方式的值,在步骤202执行m次后,m为大于1的整数,将所述分组方式标识的值设置为用于表示单独划分方式的值;

步骤202中还包括判断分组方式的值,在判断分组标识的值为用于表示均分方式的值时,将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:判断目标视图中的dns出口ip库中的ip总数是n的整数倍时,将目标视图中的dns出口ip库中的ip平均划分为n组,n为大于1的整数,判断目标视图中的dns出口ip库中的ip总数不是n的整数倍时,将目标视图中的dns出口ip库中的ip划分为n组并使n组中的ip数量的方差最小;在判断分组标识的值为用于表示单独划分方式的值时,将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:将目标视图中的dns出口ip库中的ip划分为两组,第一组中包括目标视图中的dns出口ip库中的一个ip,第二组中包括目标视图中的dns出口库中其它ip。

上述方式一适用于视图中ip数量较少的情况,在视图中ip数量较大的情况下,方式二和方式三的方式的效率更高。

所述步骤1还包括:确定ldns出口ip列表。所述步骤202中,将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:根据所述ldns出口ip列表将属于相同dns的出口ip放置于同一分组中。

图2是dns调度装置,此装置包括:接收模块、分析模块、网络服务器日志模块、dns调度模块和运算模块。

接收模块用于接收针对访问目标域名的目标客户端ip并发送至所述分析模块;

分析模块用于接收目标客户端ip,还用于查询网络服务器日志模块获得客户端ip访问所述目标域名的线上网络服务器的ip并获得客户端ip访问所述目标域名的备份网络服务器的ip;还用于查询dns调度模块获得dns调度配置文件,根据dns调度配置文件获取所述线上网络服务器的ip所对应的视图作为所述目标客户端ip对应的视图;将所述目标客户端ip和所述视图发送至运算模块;

运算模块用于根据所述视图获取所述目标客户端ip的dns出口ip库;确定所述目标客户端ip对应的每个视图中的目标客户端ip使用的ldns的出口ip;

运算模块还用于将每个视图中的目标客户端ip使用的ldns的出口ip的合集作为确定出的目标客户端ip使用的ldns的出口ip列表。针对每个视图将目标客户端ip对应的视图作为目标视图执行步骤202,步骤202,将目标视图中的dns出口ip库中的ip划分为至少一个分组,新增与分组个数相同数量的备用视图,每个备用视图中包括一个分组和一个备份网络服务器的ip,将备用视图设置入dns调度配置文件并发送至dns调度模块,通过查询网络服务器日志中备用视图中的网络服务器ip是否接收过所述目标客户端ip访问目标域名的请求确定备用视图中的dns出口ip中是否包含目标客户端ip使用的ldns的出口ip;步骤203,删除dns出口ip中不包含目标客户端ip使用的ldns的出口ip的备用视图,选取dns出口ip中包含目标客户端ip使用的ldns的出口ip的并且包括一个以上dns出口ip的备份视图作为目标视图,删除dns出口ip中包含目标客户端ip使用的ldns的出口ip的并且只包括一dns出口ip的备份视图,将此备份视图中的ip确定为目标客户端ip使用的ldns的出口ip;执行步骤202;循环执行步骤202和步骤203直至查找到每个视图中的所有dns出口ip库中的目标客户端ip使用的ldns的出口ip。

针对方法中的各个方式:

运算模块还用于在步骤202中使用以下方法将目标视图中的dns出口ip库中的ip划分为至少一个分组:将目标视图中的dns出口ip库中的ip划分为两组,第一组中包括目标视图中的dns出口ip库中的一个ip,第二组中包括目标视图中的dns出口库中其它ip。

运算模块还用于在步骤202中使用以下方法将目标视图中的dns出口ip库中的ip划分为至少一个分组:判断目标视图中的dns出口ip库中的ip总数是n的整数倍时,将目标视图中的dns出口ip库中的ip平均划分为n组,n为大于1的整数,判断目标视图中的dns出口ip库中的ip总数不是n的整数倍时,将目标视图中的dns出口ip库中的ip划分为n组并使n组中的ip数量的方差最小。

步骤2包括分组方式标识,分组方式标识的初始值为用于表示均分方式的值,在步骤202执行m次后,m为大于1的整数,将所述分组方式标识的值设置为用于表示单独划分方式的值。运算模块还用于在步骤202中判断分组方式的值,在判断分组标识的值为用于表示均分方式的值时,将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:判断目标视图中的dns出口ip库中的ip总数是n的整数倍时,将目标视图中的dns出口ip库中的ip平均划分为n组,n为大于1的整数,判断目标视图中的dns出口ip库中的ip总数不是n的整数倍时,将目标视图中的dns出口ip库中的ip划分为n组并使n组中的ip数量的方差最小;在判断分组标识的值为用于表示单独划分方式的值时,将目标视图中的dns出口ip库中的ip划分为至少一个分组包括:将目标视图中的dns出口ip库中的ip划分为两组,第一组中包括目标视图中的dns出口ip库中的一个ip,第二组中包括目标视图中的dns出口库中其它ip。

此装置还包括ldns检测模块用于确定ldns出口ip列表;运算模块还用于将目标视图中的dns出口ip库中的ip划分为至少一个分组时,根据所述ldns出口ip列表将属于相同dns的出口ip放置于同一分组中。

下面通过多个具体实施例详细说明本发明。

具体实施例一

访问www.a.com的客户端ip包括1.1.1.1和1.1.1.2。

针对1.1.1.1的处理包括:

在网络服务器的日志中查询获知1.1.1.1访问www.a.com的线上网络服务器ip为2.2.2.2。并且还获知1.1.1.1访问www.a.com的备份网络服务器ip包括2.2.2.3、2.2.2.4、2.2.2.5、2.2.2.6、2.2.2.7、2.2.2.8。

查询dns调度配置文件获知线上网络服务器ip为2.2.2.2所对应的视图view_bj,将此视图view_bj作为1.1.1.1对应的视图。

视图view_bj为:view_bj{dns出口ip库,www.a.com,2.2.2.2}

其中,dns出口ip库包括:

3.3.3.1、3.3.3.2、3.3.3.3、3.3.3.4、3.3.3.5、3.3.3.6、3.3.3.7、3.3.3.8。

新增两个视图view_bj_new1,view_bj_new2。为第一个新增的视图中分配原视图中dns出口ip库中一个ip,为第二个新增视图中分配原视图中dns出口ip库中其它ip。为新增的视图配置不同的备用网络服务器ip。

view_bj_new1{3.3.3.1,www.a.com,2.2.2.3}

view_bj_new2{3.3.3.2、3.3.3.3、3.3.3.4、3.3.3.5、3.3.3.6、3.3.3.7、3.3.3.8,www.a.com,2.2.2.4}

将形成的两个新的视图设置入dns调度配置文件并加载。通过查询网络服务器日志中2.2.2.3和2.2.2.4是否接收过1.1.1.1访问www.a.com的请求确定此两个新的视图中的dns出口ip是否包括1.1.1.1使用的ldns的出口ip。判断结果为2.2.2.3未接收过1.1.1.1访问www.a.com的请求,则此view_bj_new1的dns出口ip中不包括1.1.1.1使用的ldns的出口ip,删除view_bj_new1。判断结果为2.2.2.4接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2的dns出口ip中包括1.1.1.1使用的ldns的出口ip,将view_bj_new2作为目标视图继续处理。

针对view_bj_new2,新建两个视图,view_bj_new2_1,view_bj_new2_2。为第一个新增的视图中分配原视图中dns出口ip库中一个ip,为第二个新增视图中分配原视图中dns出口ip库中其它ip。

view_bj_new2_1{3.3.3.2,www.a.com,2.2.2.5}

view_bj_new2_2{3.3.3.3、3.3.3.4、3.3.3.5、3.3.3.6、3.3.3.7、3.3.3.8,www.a.com,2.2.2.6}

将形成的两个新的视图设置入dns调度配置文件并加载。通过查询网络服务器日志中2.2.2.5和2.2.2.6是否接收过1.1.1.1访问www.a.com的请求确定此两个新的视图中的dns出口ip是否包括1.1.1.1使用的ldns的出口ip。判断结果为2.2.2.5接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2_1的dns出口ip中包括1.1.1.1使用的ldns的出口ip且只包括一个ip,确定3.3.3.2是1.1.1.1使用的ldns的出口ip。判断结果为2.2.2.6接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2_2的dns出口ip中包括1.1.1.1使用的ldns的出口ip,将view_bj_new2作为目标视图继续处理。

针对view_bj_new2_2,新建两个视图,依照上述方法执行,直至查找到view_bj的所有dns出口ip库中的客户端ip1.1.1.1使用的ldns的出口ip,例如最终确定的dns出口ip库中的目标客户端ip使用的ldns的出口ip包括:3.3.3.2、3.3.3.4、3.3.3.8。

针对1.1.1.2的处理与针对1.1.1.1的处理同理,将针对1.1.1.1的处理中获得的目标客户端ip使用的ldns的出口ip和目标客户端ip使用的ldns的出口ip的合集作为最终确定的ip集。

具体实施例二

访问www.a.com的客户端ip包括1.1.1.1和1.1.1.2。

针对1.1.1.1的处理包括:

在网络服务器的日志中查询获知1.1.1.1访问www.a.com的线上网络服务器ip为2.2.2.2。并且还获知1.1.1.1访问www.a.com的备份网络服务器ip包括2.2.2.3、2.2.2.4、2.2.2.5、2.2.2.6、2.2.2.7、2.2.2.8。

查询dns调度配置文件获知线上网络服务器ip为2.2.2.2所对应的视图view_bj,将此视图view_bj作为1.1.1.1对应的视图。

视图view_bj为:view_bj{dns出口ip库,www.a.com,2.2.2.2}

其中,dns出口ip库包括:

3.3.3.1、3.3.3.2、3.3.3.3、3.3.3.4、3.3.3.5、3.3.3.6、3.3.3.7、3.3.3.8。

新增两个视图view_bj_new1,view_bj_new2。将原视图的dns出口ip库中的ip分成两组,使两组的ip数量差别最小。为新增的视图配置不同的备用网络服务器ip。

view_bj_new1{3.3.3.1,3.3.3.2、3.3.3.3、3.3.3.4,www.a.com,2.2.2.3}

view_bj_new2{3.3.3.5、3.3.3.6、3.3.3.7、3.3.3.8,www.a.com,2.2.2.4}

将形成的两个新的视图设置入dns调度配置文件并加载。通过查询网络服务器日志中2.2.2.3和2.2.2.4是否接收过1.1.1.1访问www.a.com的请求确定此两个新的视图中的dns出口ip是否包括1.1.1.1使用的ldns的出口ip。判断结果为2.2.2.3未接收过1.1.1.1访问www.a.com的请求,则此view_bj_new1的dns出口ip中不包括1.1.1.1使用的ldns的出口ip,删除view_bj_new1。判断结果为2.2.2.4接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2的dns出口ip中包括1.1.1.1使用的ldns的出口ip,将view_bj_new2作为目标视图继续处理。

针对view_bj_new2,新建两个视图,view_bj_new2_1,view_bj_new2_2。将原视图的dns出口ip库中的ip分成两组,使两组的ip数量差别最小。为新增的视图配置不同的备用网络服务器ip。

view_bj_new2_1{3.3.3.5、3.3.3.6,www.a.com,2.2.2.5}

view_bj_new2_2{3.3.3.7、3.3.3.8,www.a.com,2.2.2.6}

将形成的两个新的视图设置入dns调度配置文件并加载。通过查询网络服务器日志中2.2.2.5和2.2.2.6是否接收过1.1.1.1访问www.a.com的请求确定此两个新的视图中的dns出口ip是否包括1.1.1.1使用的ldns的出口ip。判断结果为2.2.2.5未接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2_1的dns出口ip中不包括1.1.1.1使用的ldns的出口ip,删除view_bj_new2_1。判断结果为2.2.2.6接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2_2的dns出口ip中包括1.1.1.1使用的ldns的出口ip,将view_bj_new2_2作为目标视图继续处理。

针对view_bj_new2_2,新建两个视图,view_bj_new2_2_1,view_bj_new2_2_2。将原视图的dns出口ip库中的ip分成两组,使两组的ip数量差别最小。为新增的视图配置不同的备用网络服务器ip。

view_bj_new2_2_1{3.3.3.7,www.a.com,2.2.2.7}

view_bj_new2_2_2{3.3.3.8,www.a.com,2.2.2.8}

将形成的两个新的视图设置入dns调度配置文件并加载。通过查询网络服务器日志中2.2.2.7和2.2.2.8是否接收过1.1.1.1访问www.a.com的请求确定此两个新的视图中的dns出口ip是否包括1.1.1.1使用的ldns的出口ip。判断结果为2.2.2.7未接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2_2_1的dns出口ip中不包括1.1.1.1使用的ldns的出口ip,删除view_bj_new2_2_1。判断结果为2.2.2.8接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2_2_2的dns出口ip中包括1.1.1.1使用的ldns的出口ip并且此视图中只包括一个ip,将此ip3.3.3.8确定为目标客户端ip使用的ldns的出口ip。最终确定的dns出口ip库中的目标客户端ip使用的ldns的出口ip包括:3.3.3.8。

依照上述方法执行,直至查找到view_bj的所有dns出口ip库中的客户端ip1.1.1.1使用的ldns的出口ip,例如最终确定的dns出口ip库中的目标客户端ip使用的ldns的出口ip包括:3.3.3.2、3.3.3.4、3.3.3.8。

针对1.1.1.2的处理与针对1.1.1.1的处理同理,将针对1.1.1.1的处理中获得的目标客户端ip使用的ldns的出口ip和目标客户端ip使用的ldns的出口ip的合集作为最终确定的ip集。

具体实施例三

访问www.a.com的客户端ip包括1.1.1.1和1.1.1.2。

针对1.1.1.1的处理包括:

在网络服务器的日志中查询获知1.1.1.1访问www.a.com的线上网络服务器ip为2.2.2.2。并且还获知1.1.1.1访问www.a.com的备份网络服务器ip包括2.2.2.3、2.2.2.4、2.2.2.5、2.2.2.6、2.2.2.7、2.2.2.8。

查询dns调度配置文件获知线上网络服务器ip为2.2.2.2所对应的视图view_bj,将此视图view_bj作为1.1.1.1对应的视图。

视图view_bj为:view_bj{dns出口ip库,www.a.com,2.2.2.2}

其中,dns出口ip库包括:

3.3.3.1、3.3.3.2、3.3.3.3、3.3.3.4、3.3.3.5、3.3.3.6、3.3.3.7、3.3.3.8,

3.3.3.9、3.3.3.10、3.3.3.11、3.3.3.12、3.3.3.13、3.3.3.14、3.3.3.14、3.3.3.15。

新增两个视图view_bj_new1,view_bj_new2。将原视图的dns出口ip库中的ip分成两组,使两组的ip数量差别最小。为新增的视图配置不同的备用网络服务器ip。

view_bj_new1{3.3.3.1,3.3.3.2、3.3.3.3、3.3.3.4,3.3.3.5、3.3.3.6、3.3.3.7、3.3.3.8,www.a.com,2.2.2.3}

view_bj_new2{3.3.3.9、3.3.3.10、3.3.3.11、3.3.3.12、3.3.3.13、3.3.3.14、3.3.3.14、3.3.3.15,www.a.com,2.2.2.4}

将形成的两个新的视图设置入dns调度配置文件并加载。通过查询网络服务器日志中2.2.2.3和2.2.2.4是否接收过1.1.1.1访问www.a.com的请求确定此两个新的视图中的dns出口ip是否包括1.1.1.1使用的ldns的出口ip。判断结果为2.2.2.3接收过1.1.1.1访问www.a.com的请求,则此view_bj_new1的dns出口ip中包括1.1.1.1使用的ldns的出口ip,将view_bj_new1作为目标视图继续处理。判断结果为2.2.2.4未接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2的dns出口ip中不包括1.1.1.1使用的ldns的出口ip,删除view_bj_new2。

针对view_bj_new1,新建两个视图,view_bj_new1_1,view_bj_new1_2。将原视图的dns出口ip库中的ip分成两组,使两组的ip数量差别最小。为新增的视图配置不同的备用网络服务器ip。

view_bj_new1_1{3.3.3.1,3.3.3.2、3.3.3.3、3.3.3.4,www.a.com,2.2.2.5}

view_bj_new1_2{3.3.3.5、3.3.3.6、3.3.3.7、3.3.3.8,www.a.com,2.2.2.6}

将形成的两个新的视图设置入dns调度配置文件并加载。通过查询网络服务器日志中2.2.2.5和2.2.2.6是否接收过1.1.1.1访问www.a.com的请求确定此两个新的视图中的dns出口ip是否包括1.1.1.1使用的ldns的出口ip。判断结果为2.2.2.5未接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2_1的dns出口ip中不包括1.1.1.1使用的ldns的出口ip,删除view_bj_new2_1。判断结果为2.2.2.6接收过1.1.1.1访问www.a.com的请求,则此view_bj_new2_2的dns出口ip中包括1.1.1.1使用的ldns的出口ip,将view_bj_new2_2作为目标视图继续处理。

判断已执行过2次均分逻辑处理方式,则后续步骤中使用单独划分方式。

针对view_bj_new1_2,新建两个视图,view_bj_new1_2_1,view_bj_new1_2_2。为第一个视图设置一个原视图中ip库的一个ip,为第二个视图设置原视图中ip库中的其它ip。

view_bj_new1_2_1{3.3.3.5,www.a.com,2.2.2.7}

view_bj_new1_2_2{3.3.3.6、3.3.3.7、3.3.3.8,www.a.com,2.2.2.8}

将形成的两个新的视图设置入dns调度配置文件并加载。通过查询网络服务器日志中2.2.2.7和2.2.2.8是否接收过1.1.1.1访问www.a.com的请求确定此两个新的视图中的dns出口ip是否包括1.1.1.1使用的ldns的出口ip。判断结果为2.2.2.7未接收过1.1.1.1访问www.a.com的请求,则此view_bj_new1_2_1的dns出口ip中不包括1.1.1.1使用的ldns的出口ip,删除view_bj_new1_2_1。判断结果为2.2.2.8接收过1.1.1.1访问www.a.com的请求,则此view_bj_new1_2_2的dns出口ip中包括1.1.1.1使用的ldns的出口ip,将此视图作为目标视图继续处理。依照上述方法执行,直至查找到view_bj的所有dns出口ip库中的客户端ip1.1.1.1使用的ldns的出口ip,例如最终确定的dns出口ip库中的目标客户端ip使用的ldns的出口ip包括:3.3.3.7、3.3.3.8。

针对1.1.1.2的处理与针对1.1.1.1的处理同理,将针对1.1.1.1的处理中获得的目标客户端ip使用的ldns的出口ip和目标客户端ip使用的ldns的出口ip的合集作为最终确定的ip集。

本发明可以准确确定出客户端ip和ldns出口ip的映射关系,提高ldns的调度准确度,提高整个系统的服务质量。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

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