全网流量调度器及使用该调度器查询域名解析记录的方法

文档序号:7858336阅读:186来源:国知局
专利名称:全网流量调度器及使用该调度器查询域名解析记录的方法
技术领域
本发明涉及互相网领域,特别地涉及流量调度领域。
背景技术
如图I所示,在现有技术中,是通过BIND 9 (DNS服务器软件)的Views (视图)功能可以实现流量调度。人们将BIND 9划分为多个视图(View),每个视图的解析完全独立。如“北方电信”视图中包含了 “a. com”域(zone)的解析配置,而另一个视图“南方电信”也包含了“a. com”的解析配置,这两个域是相互独立的,在物理上以文件(zone file)的形式分别保存,可以进行差异化的配置,将南北电信的用户分别解析到不同的地址上,来实现流量调度。而如何界定“南北”,是预先划分好IP段,以配置文件的形式,包含在BIN D 9的主配置文件中。当需要修改指定视图下某个域名的记录时,需修改(或借助工具生成)Zone文件,然后在主域名服务器执行reload指令;对于从域名服务器,可以通过Zone Transfer机制来同步Zone配置。视图划分、IP段的变动则需要进行主配置文件的同步,同步后再执行重载(reload)的指令。由些可见,现有技术中的流量调度方法的配置均基于磁盘上的文件,配置繁琐,需借助其他程序来生成和同步;只拥有单一的视图划分策略,无法对特定域名进行自定义视图划分;配置修改(包括域名解析记录、视图划分、IP段的修改)需要进行重载(reload)操作来生效;当查询含有多条A记录的域名时,各条记录以相同概率返回,即无法实现按权重的流量调度。

发明内容
为了解决上述问题,本发明旨在提供一种可自定义区域划分、带权随机返回解析记录,流量调度更为灵活的全网流量调度器。为实现上述目的,所述全网流量调度器,包括协议处理模块以及数据库查询模块,所述协议处理模块,用于处理域名解析协议的相关内容;所述数据库查询模块包括处理器以及域名解析数据库,用于通过处理器对域名解析数据库进行查询,并将查询结果返回给所述协议处理模块,所述域名解析数据库包括区域数据库以及记录数据库,其中,所述区域数据库中记录有每一个IP地址在不同的域名下的区域信息,所述记录数据库记录每一个区域的域名解析记录,所述处理器根据IP地址以及域名信息在所述区域数据库中查询该IP地址在该域名下所对应的区域信息,再根据所得到的区域信息从所述记录数据库中查找与之相对应的域名解析记录,最后将所查找到的结果返回给所述协议处理模块。本发明还提供一种全网流量调度系统,包括多个如上所述的全网流量调度器,所述多个全网流量调度器由同一个控制单元控制,其中的每一个全网流量调度器的域名解析数据库通过所述控制单元的数据库实现同步。本发明还提供了一种使用如上所述的全网流量调度器查询域名解析记录的方法,该方法包括查询开始后,所述全网流量调度器中的数据库查询模块根据所接收的域名以及发起域名解析请求的本地域名服务器的IP地址在所述域名解析数据库中查询该IP地址在该域名的域名解析记录,并将所述域名解析记录返回给所述全网流量调度器中的协议处理模块,并由所述协议处理模块对所述域名解析记录进行处理。另外,本发明还提供了一种使用如上所述的全网流量调度器进行域名解析的方法,所述方法包括如下步骤(I)本地域名服务器接收来自于用户的域名解析请求;(2)本地域名服务器将接受到的域名解析请求转发给网站域名服务器;(3)所述网站域名服务器对用户所输入的域名进行重命名,并将重新命名的域名返回给所述本地域名服务器;(4)所述本地域名服务器将所接收到的重新命名域名发送给所述全网流量调度 器,请求所述全网流量调度器查询;(5)所述全网流量调度器使用如上所述的查询域名解析记录的方法,根据所接收的域名以及所述本地域名服务器的IP地址得出域名解析记录,并将所述域名解析记录返回给所述本地域名服务器;(6)所述本地域名服务器将所接受到的域名解析记录发送给用户。本发明所述的全网流量调度器包括数据库查询模块,该模块使得重新设计数据结构和查询逻辑成为可能,因而全网流量调度器在此基础上实现了自定义区域划分、带权随机返回解析记录的功能。其次,本发明实现了对某一域名的自定义的区域划分,从而实现了更为灵活的流量调度。另外,本发明所述调度器拥有应用程序编程接口(API),用于通过外部程序修改域名解析数据库,以达到动态修改域名解析数据库的目的,从而避免了传统域名解析服务器在每次修改配置文件时都需要重新加载(reload)的繁琐操作。


图I示出了现有流量调度器的调度划分示意图;图2示出了本发明所述的全网流量调度器的结构示意图;图3示出了本发明所述的全网流量调度器自定义区域划分的示意图;图4示出了本发明所述的全网流量调度器的调度划分示意图;图5示出了本发明所述的全网流量调度系统的结构示意图;图6为使用本发明所述的全网流量调度器动态地进行域名解析的示意图;图7为使用本发明所述的全网流量调度器的数据库查询模块查询域名解析记录的不意图;图8为使用本发明所述的全网流量调度器的数据库查询模块查询域名解析记录的流程图。图9所示本发明所述的使用全网流量调度器动态地进行域名解析的方法的流程图。
具体实施例方式如图2所示,本发明所述全网流量调度器I包括协议处理模块11以及数据库查询模块12,所述协议处理模块11,用于处理域名解析协议的相关内容;而所述数据库查询模块12则包括处理器121以及域名解析数据库122,其用于通过所述处理器121对域名解析数据库122进行查询,并将查询结果返回给所述协议处理模块11,所述域名解析数据库122进一步地包括区域数据库以及记录数据库,其中,所述区域数据库中记录有每一个IP地址在不同的域名下的区域信息,所述记录数据库记录每一个区域的域名解析记录,所述处理器根据IP地址以及域名信息在所述区域数据库中查询该IP地址在该域名下所对应的区域信息,再根据所得到的区域信息从所述记录数据库中查找与之相对应的域名解析记录,最后将所查找到的结果返回给所述协议处理模块。进一步地,如图2所示,本发明所述的全网流量调度器还包括控制单元13,所述控制单元13与所述数据库查询模块12中的域名解析数据库22相连接用于对所述域名解析数据库122进行管理。在本发明的一个较佳实施方式中,所述控制单元13以网站用户界面(Web UI)的形式得以呈现。进一步地所述控制单元13还包括一个或多个应用程序编程接口(API),用于通过 外部程序修改域名解析数据库,以达到动态修改域名解析数据库的目的,从而避免了传统域名解析服务器在每次修改配置文件时都需要重新加载(reload)的繁琐操作。所述域名解析数据库包括区域数据库以及记录数据库,其中,所述区域数据库中记录有每一个IP地址在不同的域名下的区域信息。在所述区域数据库中进一步地包括有 IP_ 地区表(IP_Location Table)、地区 _ 区域表(Location_Region Table)、区域表(Region Table)以及域名表(Domain Table)。其中,如表I所示,所述地区_区域表(Location_Region Table)中记录了地区与区域之间的对应关系,其中包括有序号(ID)、地区序号(LocationJD)以及区域序号(Region_ID)等项目。而所述IP_地区表(IP_Location Table)则记录有每一个IP地址所对应的地区。在本发明的一个较佳的实施方式中,所述地区的最小单位被划分到省(按照互联网服务提供商的不同而分别划分),多个地区被划分到同一个区域中,如图3所示,属于同一个互联网服务提供商的云南电信、四川电信以及陕西电信(地区)均被划分到西部电信(区域)中。而当出现一个新的位置的IP地址需要加入到所述区域数据库中时,直接将其添加到相对应的地区中即可,也就是在IP_地区表(IP_Location Table)中添加相对应的内容,如图3所示。
权利要求
1.一种全网流量调度器,其特征在于,包括协议处理模块以及数据库查询模块,所述协议处理模块,用于处理域名解析协议的相关内容;所述数据库查询模块包括处理器以及域名解析数据库,用于通过处理器对域名解析数据库进行查询,并将查询结果返回给所述协议处理模块,所述域名解析数据库包括区域数据库以及记录数据库,其中,所述区域数据库中记录有每一个IP地址在不同的域名下的区域信息,所述记录数据库记录每一个区域的域名解析记录,所述处理器根据IP地址以及域名信息在所述区域数据库中查询该IP地址在该域名下所对应的区域信息,再根据所得到的区域信息从所述记录数据库中查找与之相对应的域名解析记录,最后将所查找到的结 果返回给所述协议处理模块。
2.如权利要求I所述的全网流量调度器,其特征在于,所述全网流量调度器还包括控制单元,用于管理域名解析数据库。
3.—种全网流量调度系统,其特征在于,包括多个如权利要求I所述的全网流量调度器,所述多个全网流量调度器由同一个控制单元控制,其中的每一个全网流量调度器的域名解析数据库通过所述控制单元的数据库实现同步。
4.一种使用如权利要求1-2中任一项权利要求所述的全网流量调度器查询域名解析记录的方法,其特征在于,所述方法包括查询开始后,所述全网流量调度器中的数据库查询模块根据所接收的域名以及发起域名解析请求的本地域名服务器的IP地址在所述域名解析数据库中查询该IP地址在该域名的域名解析记录,并将所述域名解析记录返回给所述全网流量调度器中的协议处理模块,并由所述协议处理模块对所述域名解析记录进行处理。
5.如权利要求4所述的使用全网流量调度器查询域名解析记录的方法,其特征在于,该方法进一步地包括如下步骤 (a)所述数据库查询模块的处理器根据所接收的本地域名服务器的IP地址在所述区域数据库中查询该IP地址在该域名下所对应的区域信息; (b)所述数据库查询模块的处理器再根据由步骤(a)所查询到的区域信息在所述记录数据库中查询所述域名在该区域的域名解析记录,并将查询到的记录返回给所述数据库查询模块的处理器,再进一步地返回给所述全网流量调度器中的协议处理模块。
6.如权利要求5所述的使用全网流量调度器查询域名解析记录的方法,其特征在于,所述步骤(b)中进一步地包括如下步骤根据所述域名解析记录在所述区域中的返回策略,随机地或按权重对记录进行排列后随机地返回域名解析记录。
7.如权利要求4所述的使用全网流量调度器查询域名解析记录的方法,其特征在于,该方法具体地包括如下步骤 (a’ )检验所接收到的域名是否可用,如果该域名不可用则不返回结果,如果该域名可用,则继续执行步骤(b,); (b’)查询本地域名服务器IP地址的IP段,并判断所述IP段是否存在,如果所述IP段存在则继续执行步骤(c’),如果不存在则将该未知的IP地址保存,并继续执行步骤(e,); (c’ )获取IP段所在此域名中的区域信息; (d’)判断由步骤(c’)所获得的区域信息是否存在,如果不存在则继续执行步骤(e,)’如果存在则执行步骤(f’ ); (e,)查询所述域名是否存在默认区域信息,如果不存在则不返回结果,如果存在则执行步骤(f’); (f’)按区域信息中设置的返回策略返回该区域中的域名解析记录。
8.如权利要求7所述的使用全网流量调度器动态地进行域名解析的方法,其特征在于,所述步骤(c’ )中进一步地包括如下步骤 (c’ . I)获取IP段所在的地区信息; (c’ . 2)获取由步骤(c’ . I)所得到的地区信息在本域名中的区域信息。
9.一种使用如权利要求1-2中任一项权利要求所述的全网流量调度器进行域名解析的方法,其特征在于,所述方法包括如下步骤 (1)本地域名服务器接收来自于用户的域名解析请求; (2)本地域名服务器将接受到的域名解析请求转发给网站域名服务器; (3)所述网站域名服务器对用户所输入的域名进行重命名,并将重新命名的域名返回给所述本地域名服务器; (4)所述本地域名服务器将所接收到的重新命名域名发送给所述全网流量调度器,请求所述全网流量调度器查询; (5)所述全网流量调度器使用如权利要求4-8中任一项权利要求所述的查询域名解析记录的方法,根据所接收的域名以及所述本地域名服务器的IP地址得出域名解析记录,并将所述域名解析记录返回给所述本地域名服务器; (6)所述本地域名服务器将所接受到的域名解析记录发送给用户。
10.如权利要求9所述的使用全网流量调度器进行域名解析的方法,其特征在于,所述方法还进一步地包括如下步骤 (7)本地域名服务器将所接受到的域名解析记录存储到其缓存区域中,在所述域名解析记录的一个生存周期内,如同一用户再次向所述本地域名服务器就同一域名发出域名解析请求时,所述本地域名服务器直接将缓存区域中的域名解析记录发送给该用户,其中,所述生存周期是记录在所述全网流量调度器的记录数据库中,并且是在所述步骤(5)中随域名解析记录一同返回给所述本地域名服务器的。
全文摘要
本发明涉及一种全网流量调度器及使用该调度器查询域名解析记录的方法,所述全网流量调度器包括处理域名解析协议的相关内容的协议处理模块以及用于通过处理器对域名解析数据库进行查询,并将查询结果返回给所述协议处理模块的数据库查询模块,所述域名解析数据库包括区域数据库以及记录数据库,其中,所述区域数据库中记录有每一个IP地址在不同的域名下的区域信息,所述记录数据库则记录有每一个区域的域名解析记录。本发明所述的全网流量调度器可自定义区域划分、带权随机地返回域名解析记录,流量调度更为灵活,同时,本发明还拥有应用程序编程接口,可直接通过外部程序修改域名解析数据库,以达到动态修改域名解析数据库的目的。
文档编号H04L12/24GK102868550SQ20121029588
公开日2013年1月9日 申请日期2012年8月17日 优先权日2012年8月17日
发明者王柯龙, 吴城, 朱鑫 申请人:新浪网技术(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1