基于dns的优化访问流量调度方法和设备的制作方法

文档序号:7795017阅读:295来源:国知局
基于dns的优化访问流量调度方法和设备的制作方法
【专利摘要】本发明提供一种基于DNS的优化访问流量调度方法和设备,方法包括:用户请求获取步骤,用于分析目标DNS的请求解析行为,来获取用户所请求解析的域名地址;IP地址查询步骤,用于将域名地址分发到多个ISP线路的DNS上查询域名地址对应的多个IP地址;质量排序步骤,用于根据预设的优化算法对多个IP地址进行量排序,多个IP地址的顺序指示用户访问多个IP地址的访问质量高低;IP地址反馈步骤,用于将访问质量最高的IP地址反馈给用户。通过本发明,可以自动基于DNS的解析行为进行分析,自动分析出用户访问域名对应不同IP地址的访问质量。
【专利说明】基于DNS的优化访问流量调度方法和设备
【技术领域】
[0001]本发明主要涉及网络通讯【技术领域】,尤其涉及到一种基于DNS的优化访问流量调度方法和设备。
【背景技术】
[0002]目前,国内互联网发展中主要的ISP(互联网服务提供商)网络包括:电信、网通、教育网,这三个网络之间存在着互联不互通、区域性地域限制、出口带宽限制等各方面因素,造成了应用在不同区域间难以正常访问。各个大型及热门应用为了保证自己的服务质量,都在不同的ISP上部署了独立的应用缓存服务器来对外提供服务,方便不同网络的用户就近使用所提供的应用。
[0003]DNS是计算机域名系统或域名解析服务器(Domain Name System或Domain NameService)的缩写,它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP (网络之间互连的协议)地址,并具有将域名转换为IP地址功能的服务器。
[0004]对于多网络出口的用户来说,提交一个应用访问请求,实际所访问的服务器,是由用户使用的DNS来决定的。如果DNS走网通的线路,那么获取到的域名所对应的就是网通的IP地址,根据路由表指向,用户所访问的就是该应用部署在网通网络上的应用服务器。但是此时用户通过网通的出口线路来访问应用服务器,未必是最快的,例如:
[0005]优酷在教育网、电信和联通上都部署了应用服务器,如果某DNS的数据走的是联通线路,故用户解析优酷应用时,得到的必然为优酷在联通的服务器地址,故所有访问优酷的流量数据均走的是联通线路。但此时经过对优酷在其他线路的应用服务器进行延迟值测试,访问联通的服务器未必最快,故对用户造成了访问的未最优化。
[0006]为优化用户的访问:目前,业界上使用的是对出口 ISP线路进行探测,并根据OSPF(开放式最短路径优先)、BGP(边界网关协议)或静态路由的方式来对用户访问外网进行线路指定。这种方法依赖于需要有上级设备发送及时有效的路由信息,或是网络管理员需要手动修改静态路由。这些方法都依赖于人为来对路由信息进行调整,并具有两次调整的时间差问题,同时每次更改都是对所有的应用和域名情况调整,不能实时根据网络状况来针对特定域名来进行路由指向。
[0007]其次,目前业界部分公司和企业采用流量调度设备上自带的流量调度算法及线路负载均衡算法去处理此类问题。其处理的原理是使用地址归属列表和带宽占用率来进行流量调度,由于用户通过DNS获取的应用服务器IP地址是固定的ISP地址,硬性的调度势必会造成用户访问的质量下降。。

【发明内容】

[0008]本发明的主要目的,在于提供一种基于DNS的优化访问流量调度方法和设备,用于通过调度来将域名的IP地址定向到用户访问速度快、线路稳定的应用服务器上,从而提升了用户访问域名相应的应用的速度和质量。
[0009]本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种基于DNS的优化访问流量调度方法,包括:用户请求获取步骤,用于分析目标DNS的请求解析行为,来获取用户所请求解析的域名地址;IP地址查询步骤,用于将所述域名地址分发到多个ISP线路的DNS上查询所述域名地址对应的多个IP地址;质量排序步骤,用于根据预设的优化算法对所述多个IP地址进行量排序,所述多个IP地址的顺序指示用户访问所述多个IP地址的访问质量高低;IP地址反馈步骤,用于将访问质量最高的IP地址反馈给所述用户。
[0010]优选地,所述质量排序步骤包括:站点页面打开时间步骤,用于模拟浏览器打开所述多个IP地址对应的页面,并获取打开所述页面所花费的时间,所述时间设定为判断所述多个IP地址的访问质量的第一参考值。
[0011]优选地,所述质量排序步骤包括:ICMP值获取步骤,用于通过ICMP协议对所述多个IP地址进行探测,并获取所述多个IP地址对应的丢包率和/或延迟值,所述丢包率和/或延迟值设定为判断所述多个IP地址的访问质量的第二参考值。
[0012]优选地,所述质量排序步骤包括:HTTP状态值获取步骤,用于通过模拟HTTP协议对所述多个IP地址进行探测,获取所述多个IP地址对应的HTTP状态码,所述HTTP状态码设定为判断所述多个IP地址的访问质量的第三参考值。
[0013]优选地,还包括:存储步骤,用于将所述域名地址已经排序好的所述多个IP地址进行本地存储,并标记存储时间和/或TTL ;是否过期检测步骤,用于判断所述存储时间是否超过预设的超期时间,和/或判断所述TTL是否等于0,且如果不等于0,则将TTL减I ;删除步骤,在所述存储时间超过所述超期时间,和/或所述TTL等于O时,将所述域名地址已经排序好的所述多个IP地址从本地删除。
[0014]本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种基于DNS的优化访问流量调度设备,包括:用户请求获取模块,用于分析目标DNS的请求解析行为,来获取用户所请求解析的域名地址;IP地址查询模块,用于将所述域名地址分发到多个ISP线路的DNS上查询所述域名地址对应的多个IP地址;质量排序模块,用于根据预设的优化算法对所述多个IP地址进行量排序,所述多个IP地址的顺序指示用户访问所述多个IP地址的访问质量高低;IP地址反馈模块,用于将访问质量最高的IP地址反馈给所述用户。
[0015]优选地,所述质量排序模块包括:站点页面打开时间模块,用于模拟浏览器打开所述多个IP地址对应的页面,并获取打开所述页面所花费的时间,所述时间设定为判断所述多个IP地址的访问质量的第一参考值。
[0016]优选地,所述质量排序模块包括:ICMP值获取模块,用于通过ICMP协议对所述多个IP地址进行探测,并获取所述多个IP地址对应的丢包率和/或延迟值,所述丢包率和/或延迟值设定为判断所述多个IP地址的访问质量的第二参考值。
[0017]优选地,所述质量排序模块包括:HTTP状态值获取模块,用于通过模拟HTTP协议对所述多个IP地址进行探测,获取所述多个IP地址对应的HTTP状态码,所述HTTP状态码设定为判断所述多个IP地址的访问质量的第三参考值。
[0018]优选地,还包括:存储模块,用于将所述域名地址已经排序好的所述多个IP地址进行本地存储,并标记存储时间和/或TTL ;是否过期检测模块,用于判断所述存储时间是否超过预设的超期时间,和/或判断所述TTL是否等于O,且如果不等于O,则将TTL减I ;删除模块,在所述存储时间超过所述超期时间,和/或所述TTL等于O时,将所述域名地址已经排序好的所述多个IP地址从本地删除。
[0019]本发明的基于DNS的优化访问流量调度方法和设备至少具有以下优点:
[0020]1、实时性:本发明实时对用户访问过的不同域名进行探测,一旦出口线路出现故障或拥塞,会自动根据情况调整到其他的出口线路上;
[0021]2、无需人为干预:本发明通过程序来自动对线路和应用服务器访问速度进行探测,无需人为干预,降低了网络管理员的劳动量;
[0022]3、准确性:对每个域名都进行判定,不会笼统的归类,细化了指向范围,使得每个域名的应用都会被定位到更好的出口线路上。
[0023]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
【专利附图】

【附图说明】
[0024]图1是根据本发明的一个实施例的基于DNS的优化访问流量调度方法的流程图;
[0025]图2是根据本发明的一个实施例的基于DNS的优化访问流量调度方法的流程图;
[0026]图3是根据本发明的一个实施例的基于DNS的优化访问流量调度设备的框图;
[0027]图4是根据本发明的一个实施例的基于DNS的优化访问流量调度设备的框图。
【具体实施方式】
[0028]为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的基于DNS的优化访问流量调度方法和设备其【具体实施方式】、结构、特征及其功效,详细说明如后。在下述说明中,不同的“一实施例”或“实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
[0029]如图1所示,本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种基于DNS的优化访问流量调度方法,包括:用户请求获取步骤11,用于分析目标DNS的请求解析行为,来获取用户所请求解析的域名地址,具体可以通过用户定义的两种方式对数据进行读取,一种方式为定时读取DNS的日志中的请求信息,另外一种方式为实时监听DNS的相应接口,读取DNS请求数据包,以上两种方式根据用户选定及使用环境,均可对域名汇总后生成特定格式的域名列表信息供下一模块使用;IP地址查询步骤12,用于将域名地址分发到多个ISP线路的DNS上查询域名地址对应的多个IP地址,具体可以根据设定的ISP线路,开启多条线程并发的向每个ISP的DNS发起请求,并将获取到的数据进行预处理,将错误的返回数据过滤掉,将合理的返回数据进行格式化处理后,标记线路后汇总成特定格式的返回数据列表供下一模块使用;质量排序步骤13,用于根据预设的优化算法对多个IP地址进行量排序,多个IP地址的顺序指示用户访问多个IP地址的访问质量高低;IP地址反馈步骤14,用于将访问质量最高的IP地址反馈给用户,通过本实施例的技术方案,可以自动基于DNS的解析行为进行分析,自动分析出用户访问域名对应不同IP地址的访问质量。
[0030]本发明的另一个实施例还提供一种基于DNS的优化访问流量调度方法,质量排序步骤13包括:站点页面打开时间步骤,用于模拟浏览器打开多个IP地址对应的页面,并获取打开页面所花费的时间,具体可以使用HTTP下的传输工具,对目标IP的HTTP页面进行读取下载,计算从发送请求到页面下载完成所需的时间,优选地,可以自每次清空页面缓存值后开始计算,下载页面内容3次的平均值,时间设定为判断多个IP地址的访问质量的第一参考值,例如,比对第一参考值与预设的最优值偏差(50ms),选出小于该偏差的第一参考值对应的IP地址作为访问质量较优的IP地址,通过本实施例的技术方案,有利于提高域名对应页面的打开速度。
[0031]本发明的另一个实施例还提供一种基于DNS的优化访问流量调度方法,质量排序步骤13包括:ICMP值获取步骤,用于通过ICMP (控制报文协议)协议对多个IP地址进行探测,并获取多个IP地址对应的丢包率和/或延迟值,考虑到广域网情况,丢包率和延迟值均可以是10次探测后的平均值,对10次探测的数据进行优化处理,丢掉第I次和最后一次的数据,然后对8次数据进行平方差处理后取平均值,然后将处理后的数据汇总为特定格式供后续模块使用,因为部分网站设定禁止ICMP协议探测,所以丢包率和/或延迟值设定为判断多个IP地址的访问质量的第二参考值,通过本实施例的方案,可以降低用户访问域名时出现丢包和延迟的情况。
[0032]本发明的另一个实施例还提供一种基于DNS的优化访问流量调度方法,质量排序步骤13包括:HTTP状态值获取步骤,用于通过模拟HTTP (超文本转移协议)协议对多个IP地址进行探测,获取多个IP地址对应的HTTP状态码,HTTP状态码设定为判断多个IP地址的访问质量的第三参考值,考虑到不同服务器可能存在的不同问题,故这里设计对于故障的站点进行排除化处理,即对HTTP的状态码进行分析,对于常见的4XX和5XX状态码进行探测标记,通过本实施例的技术方案,可以降低用户访问域名时产生的异常情况。
[0033]本发明的另一个实施例还提供一种基于DNS的优化访问流量调度方法,还包括:人为设定步骤,即通过界面用户直接指定某些域名指向到某条线路,同时支持通过接口自动获取第三方设备发送的域名指定线路xml (可扩展标记语言)信息。
[0034]如图2所示,本发明的另一个实施例还提供一种基于DNS的优化访问流量调度方法,还包括:存储步骤15,用于将域名地址已经排序好的多个IP地址进行本地存储,并标记存储时间和/或TTL(生存时间);是否过期检测步骤16,用于判断存储时间是否超过预设的超期时间,和/或判断TTL是否等于0,且如果不等于0,则将TTL减I ;删除步骤17,在存储时间超过超期时间,和/或TTL等于O时,将域名地址已经排序好的多个IP地址从本地删除,通过本实施例的技术方案,可以实现对IP地址排序的实时更新,避免网络环境变化造成排序出现错误。
[0035]如图3所示,本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种基于DNS的优化访问流量调度设备,包括:用户请求获取模块21,用于分析目标DNS的请求解析行为,来获取用户所请求解析的域名地址,具体可以通过用户定义的两种方式对数据进行读取,一种方式为定时读取DNS的日志中的请求信息,另外一种方式为实时监听DNS的相应接口,读取DNS请求数据包,以上两种方式根据用户选定及使用环境,均可对域名汇总后生成特定格式的域名列表信息供下一模块使用;IP地址查询模块22,用于将域名地址分发到多个ISP线路的DNS上查询域名地址对应的多个IP地址,具体可以根据设定的ISP线路,开启多条线程并发的向每个ISP的DNS发起请求,并将获取到的数据进行预处理,将错误的返回数据过滤掉,将合理的返回数据进行格式化处理后,标记线路后汇总成特定格式的返回数据列表供下一模块使用;质量排序模块23,用于根据预设的优化算法对多个IP地址进行量排序,多个IP地址的顺序指示用户访问多个IP地址的访问质量高低;IP地址反馈模块24,用于将访问质量最高的IP地址反馈给用户,通过本实施例的技术方案,可以自动基于DNS的解析行为进行分析,自动分析出用户访问域名对应不同IP地址的访问质量。
[0036]本发明的另一个实施例还提供一种基于DNS的优化访问流量调度设备,质量排序模块23包括:站点页面打开时间模块,用于模拟浏览器打开多个IP地址对应的页面,并获取打开页面所花费的时间,具体可以使用HTTP下的传输工具,对目标IP的HTTP页面进行读取下载,计算从发送请求到页面下载完成所需的时间,优选地,可以自每次清空页面缓存值后开始计算,下载页面内容3次的平均值,时间设定为判断多个IP地址的访问质量的第一参考值,例如,比对第一参考值与预设的最优值偏差(50ms),选出小于该偏差的第一参考值对应的IP地址作为访问质量较优的IP地址,通过本实施例的技术方案,有利于提高域名对应页面的打开速度。
[0037]本发明的另一个实施例还提供一种基于DNS的优化访问流量调度设备,质量排序模块23包括:ICMP值获取模块,用于通过ICMP协议对多个IP地址进行探测,并获取多个IP地址对应的丢包率和/或延迟值,考虑到广域网情况,丢包率和延迟值均可以是10次探测后的平均值,对10次探测的数据进行优化处理,丢掉第I次和最后一次的数据,然后对8次数据进行平方差处理后取平均值,然后将处理后的数据汇总为特定格式供后续模块使用,因为部分网站设定禁止ICMP协议探测,所以丢包率和/或延迟值设定为判断多个IP地址的访问质量的第二参考值,通过本实施例的方案,可以降低用户访问域名时出现丢包和延迟的情况。
[0038]本发明的另一个实施例还提供一种基于DNS的优化访问流量调度设备,质量排序模块23包括:HTTP状态值获取模块,用于通过模拟HTTP协议对多个IP地址进行探测,获取多个IP地址对应的HTTP状态码,HTTP状态码设定为判断多个IP地址的访问质量的第三参考值,考虑到不同服务器可能存在的不同问题,故这里设计对于故障的站点进行排除化处理,即对HTTP的状态码进行分析,对于常见的4XX和5XX状态码进行探测标记,通过本实施例的技术方案,可以降低用户访问域名时产生的异常情况。
[0039]本发明的另一个实施例还提供一种基于DNS的优化访问流量调度设备,还包括:人为设定模块,即通过界面用户直接指定某些域名指向到某条线路,同时支持通过接口自动获取第三方设备发送的域名指定线路xml (可扩展标记语言)信息。
[0040]如图4所示,本发明的另一个实施例还提供一种基于DNS的优化访问流量调度设备,还包括:存储模块25,用于将域名地址已经排序好的多个IP地址进行本地存储,并标记存储时间和/或TTL ;是否过期检测模块26,用于判断存储时间是否超过预设的超期时间,和/或判断TTL是否等于0,且如果不等于0,则将TTL减I ;删除模块27,在存储时间超过超期时间,和/或TTL等于O时,将域名地址已经排序好的多个IP地址从本地删除,通过本实施例的技术方案,可以实现对IP地址排序的实时更新,避免网络环境变化造成排序出现错误。
[0041]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种基于DNS的优化访问流量调度方法,其特征在于,包括: 用户请求获取步骤,用于分析目标DNS的请求解析行为,来获取用户所请求解析的域名地址; IP地址查询步骤,用于将所述域名地址分发到多个ISP线路的DNS上查询所述域名地址对应的多个IP地址; 质量排序步骤,用于根据预设的优化算法对所述多个IP地址进行量排序,所述多个IP地址的顺序指示用户访问所述多个IP地址的访问质量高低; IP地址反馈步骤,用于将访问质量最高的IP地址反馈给所述用户。
2.根据权利要求1所述的方法,其特征在于,所述质量排序步骤包括: 站点页面打开时间步骤,用于模拟浏览器打开所述多个IP地址对应的页面,并获取打开所述页面所花费的时间,所述时间设定为判断所述多个IP地址的访问质量的第一参考值。
3.根据权利要求1所述的方法,其特征在于,所述质量排序步骤包括: ICMP值获取步骤,用于通过ICMP协议对所述多个IP地址进行探测,并获取所述多个IP地址对应的丢包率和/或延迟值,所述丢包率和/或延迟值设定为判断所述多个IP地址的访问质量的第二参考值。
4.根据权利要求1所述的方法,其特征在于,所述质量排序步骤包括: HTTP状态值获取步骤,用于通过模拟HTTP协议对所述多个IP地址进行探测,获取所述多个IP地址对应的HTTP状态码,所述HTTP状态码设定为判断所述多个IP地址的访问质量的第三参考值。
5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括: 存储步骤,用于将所述域名地址已经排序好的所述多个IP地址进行本地存储,并标记存储时间和/或TTL ; 是否过期检测步骤,用于判断所述存储时间是否超过预设的超期时间,和/或判断所述TTL是否等于O,且如果不等于O,则将TTL减I ; 删除步骤,在所述存储时间超过所述超期时间,和/或所述TTL等于O时,将所述域名地址已经排序好的所述多个IP地址从本地删除。
6.一种基于DNS的优化访问流量调度设备,其特征在于,包括: 用户请求获取模块,用于分析目标DNS的请求解析行为,来获取用户所请求解析的域名地址; IP地址查询模块,用于将所述域名地址分发到多个ISP线路的DNS上查询所述域名地址对应的多个IP地址; 质量排序模块,用于根据预设的优化算法对所述多个IP地址进行量排序,所述多个IP地址的顺序指示用户访问所述多个IP地址的访问质量高低; IP地址反馈模块,用于将访问质量最高的IP地址反馈给所述用户。
7.根据权利要求6所述的设备,其特征在于,所述质量排序模块包括: 站点页面打开时间模块,用于模拟浏览器打开所述多个IP地址对应的页面,并获取打开所述页面所花费的时间,所述时间设定为判断所述多个IP地址的访问质量的第一参考值。
8.根据权利要求6所述的设备,其特征在于,所述质量排序模块包括: ICMP值获取模块,用于通过ICMP协议对所述多个IP地址进行探测,并获取所述多个IP地址对应的丢包率和/或延迟值,所述丢包率和/或延迟值设定为判断所述多个IP地址的访问质量的第二参考值。
9.根据权利要求6所述的设备,其特征在于,所述质量排序模块包括: HTTP状态值获取模块,用于通过模拟HTTP协议对所述多个IP地址进行探测,获取所述多个IP地址对应的HTTP状态码,所述HTTP状态码设定为判断所述多个IP地址的访问质量的第三参考值。
10.根据权利要求6至9中任一项所述的设备,其特征在于,还包括: 存储模块,用于将所述域名地址已经排序好的所述多个IP地址进行本地存储,并标记存储时间和/或TTL ; 是否过期检测模块,用于判断所述存储时间是否超过预设的超期时间,和/或判断所述TTL是否等于0,且如果不等于0,则将TTL减I ; 删除模块,在所述存储时间超过所述超期时间,和/或所述TTL等于O时,将所述域名地址已经排序好的所述多个IP地址从本地删除。
【文档编号】H04L12/26GK103746929SQ201410013118
【公开日】2014年4月23日 申请日期:2014年1月13日 优先权日:2014年1月13日
【发明者】刘保太, 张宝山 申请人:刘保太, 张宝山
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1