一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于动态路由协议的应用加速方法及系统与流程

2021-10-29 21:40:00 来源:中国专利 TAG:网络加速 路由协议 加速 方法 动态


1.本发明涉及网络加速技术领域,具体涉及一种基于动态路由协议的应用加速方法及系统。


背景技术:

2.dns是internet的基础协议,能够用来完成域名到ip地址的翻译工作。
3.现有技术中,智能dns解析可以实现根据源ip地址,选择不同的ip地址进行dns应答,例如网通用户进行dns查询时,优先返回网通服务器ip地址。但是存在以下问题:
4.第一、需要人为配置,配置量大。智能dns解析需要在dns服务器上执行配置,dns服务器管理员需要知道哪些ip地址发来的dns请求返回哪些解析后的ip地址。这对dns服务器的管理员要求非常高,特别是在域名托管的情况下,某台dns服务器承担着数十万域名的解析工作时,逐一完成类似的配置工作量非常大,且易出错。
5.第二、并非最优结果。假设智能dns系统对联通用户返回a、b两个ip地址,其中a为首选ip地址。a、b的顺序通常是dns服务器自行决定的,即dns服务器探测到其自身到a的访问速度要快些,但这并不代表着最终用户访问a也更快。
6.现有技术中,动态路由协议是由一组相关协议组成,其目的是为了在一定的区域内建立一个路由自治系统。该自治系统内,路由表不需要人为配置,而使用相关的路由学习算法自动学习。但是动态路由协议仅仅是以目的ip地址为对象的路由探测,不涉及上层应用,所以无法针对具体应用进行优化。


技术实现要素:

7.为此,本发明提供一种基于动态路由协议的应用加速方法及系统,解决传统dns服务配置复杂易错,不能动态变更,自适应差的问题。
8.为了实现上述目的,本发明提供如下技术方案:基于动态路由协议的应用加速方法,包括:
9.通过dns加速模块接收终端用户发起的给定域名的dns请求,当所述dns请求到达dns加速模块时,查询所述dns加速模块中集成的dns缓存:
10.a)若在所述dns加速模块的dns缓存中查询到请求的dns记录,由所述dns加速模块对所述终端用户进行dns应答;
11.b)若在所述dns加速模块的dns缓存中未查询到请求的dns记录,将所述dns请求放行给dns服务器;
12.通过dns加速模块接收dns服务器对所述dns请求的dns解析和dns应答,当所述dns应答经过所述dns加速模块时,由dns加速模块对所述dns应答报文中的服务器ip地址进行解析,并在路由表中查找解析出的服务器ip地址,如果查找成功则转入:
13.c)由dns加速模块对解析出的服务器ip地址按照路由表中的连接速度从小到大排序,并以该排序重新构造dns应答报文;
14.否则,d)由dns加速模块通知动态路由模块,由动态路由模块判断解析出的服务器ip地址的连接速度。
15.作为基于动态路由协议的应用加速方法的优选方案,c)中,将重新构造的dns应答报文发送给终端用户,并将dns应答报文的内容写入到dns缓存。
16.作为基于动态路由协议的应用加速方法的优选方案,d)中,所述动态路由模块通过探测和选择判断解析出的服务器ip地址的连接速度。
17.作为基于动态路由协议的应用加速方法的优选方案,还包括,将动态路由模块判断解析出的服务器ip地址的连接速度结果更新到所述路由表中。
18.作为基于动态路由协议的应用加速方法的优选方案,还包括,将动态路由模块判断解析出的服务器ip地址的连接速度结果更新到dns缓存中。
19.本发明还提供一种基于动态路由协议的应用加速系统,包括:
20.dns加速模块,用于接收终端用户发起的给定域名的dns请求,当所述dns请求到达dns加速模块时,查询所述dns加速模块中集成的dns缓存;若在所述dns加速模块的dns缓存中查询到请求的dns记录,由所述dns加速模块对所述终端用户进行dns应答;
21.dns服务器,用于若在所述dns加速模块的dns缓存中未查询到请求的dns记录时,接收所述dns加速模块放行的dns请求;所述dns服务器对所述dns请求进行dns解析和dns应答;
22.所述dns加速模块接收所述dns应答,由dns加速模块对所述dns应答报文中的服务器ip地址进行解析,并在路由表中查找解析出的服务器ip地址,如果查找成功则由dns加速模块对解析出的服务器ip地址按照路由表中的连接速度从小到大排序,并以该排序重新构造dns应答报文;
23.动态路由模块,用于在路由表中查找解析出的服务器ip地址失败后,判断解析出的服务器ip地址的连接速度。
24.作为基于动态路由协议的应用加速系统的优选方案,所述dns加速模将重新构造的dns应答报文发送给终端用户,并将dns应答报文的内容写入到dns缓存。
25.作为基于动态路由协议的应用加速系统的优选方案,所述动态路由模块通过探测和选择判断解析出的服务器ip地址的连接速度。
26.作为基于动态路由协议的应用加速系统的优选方案,将所述动态路由模块判断解析出的服务器ip地址的连接速度结果更新到所述路由表中。
27.作为基于动态路由协议的应用加速系统的优选方案,将所述动态路由模块判断解析出的服务器ip地址的连接速度结果更新到dns缓存中。
28.本发明具有如下优点:通过dns加速模块接收终端用户发起的给定域名的dns请求,当dns请求到达dns加速模块时,查询dns加速模块中集成的dns缓存:若在dns加速模块的dns缓存中查询到请求的dns记录,由dns加速模块对终端用户进行dns应答;若在dns加速模块的dns缓存中未查询到请求的dns记录,将dns请求放行给dns服务器;通过dns加速模块接收dns服务器对dns请求的dns解析和dns应答,当dns应答经过dns加速模块时,由dns加速模块对dns应答报文中的服务器ip地址进行解析,并在路由表中查找解析出的服务器ip地址,如果查找成功则转入由dns加速模块对解析出的服务器ip地址按照路由表中的连接速度从小到大排序,并以该排序重新构造dns应答报文;否则,由dns加速模块通知动态路由模
块,由动态路由模块判断解析出的服务器ip地址的连接速度。本发明可以在一个自适的系统内,将路由的变化动态地反映到dns结果上,加速了应用的访问速度;dns服务配置不易出错,可以动态变更,使得dns系统也变得自适应,更加智能。
附图说明
29.为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
30.本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
31.图1为本发明实施例1提供的基于动态路由协议的应用加速方法流程示意图;
32.图2为本发明实施例1提供的基于动态路由协议的应用加速方法交互示意图;
33.图3为本发明实施例2提供的基于动态路由协议的应用加速系统示意图。
具体实施方式
34.以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.实施例1
36.参见图1和图2,本发明实施例1提供一种基于动态路由协议的应用加速方法,包括:
37.s1、通过dns加速模块2接收终端用户1发起的给定域名的dns请求,当所述dns请求到达dns加速模块2时,查询所述dns加速模块2中集成的dns缓存4:
38.s11、a)若在所述dns加速模块2的dns缓存4中查询到请求的dns记录,由所述dns加速模块2对所述终端用户1进行dns应答;
39.s12、b)若在所述dns加速模块2的dns缓存4中未查询到请求的dns记录,将所述dns请求放行给dns服务器6;
40.s2、通过dns加速模块2接收dns服务器6对所述dns请求的dns解析和dns应答,当所述dns应答经过所述dns加速模块2时,由dns加速模块2对所述dns应答报文中的服务器ip地址进行解析,并在路由表5中查找解析出的服务器ip地址,如果查找成功则转入:
41.s21、c)由dns加速模块2对解析出的服务器ip地址按照路由表5中的连接速度从小到大排序,并以该排序重新构造dns应答报文;
42.s22、否则,d)由dns加速模块2通知动态路由模块3,由动态路由模块3判断解析出的服务器ip地址的连接速度。
43.本实施例的s21中,将重新构造的dns应答报文发送给终端用户1,并将dns应答报
文的内容写入到dns缓存4。s22中,所述动态路由模块3通过探测和选择判断解析出的服务器ip地址的连接速度。
44.本实施例中,还包括,将动态路由模块3判断解析出的服务器ip地址的连接速度结果更新到所述路由表5中,以及,将动态路由模块3判断解析出的服务器ip地址的连接速度结果更新到dns缓存4中。
45.本发明实际应用过程中,可以应用在经典的网关防火墙部署方式,要求终端用户1的上网流量和dns流量同时经过网关,网关完成p2p识别的功能。将dns加速模块2、dns缓存4、路由表5、动态路由模块3整个作为一个应用加速器进行应用加速。
46.假设终端用户1需要访问应用a,应用a对应的域名是service.aaa.com。则终端用户1向dns服务器6发起了service.aaa.com的dns查询,该查询经过dns加速模块2。dns加速模块2在收到该dns请求时,需要执行dns缓存4查找,此时有两种情况:
47.情况一、dns缓存4中记录着service.aaa.com的记录,则将该记录作为dns应答包直接返回给终端用户1,整个加速过程结束;
48.情况二、dns缓存4中没有记录着service.aaa.com的记录,则将dns请求包放行给dns服务器6。
49.在情况二中,当dns服务器6收到dns请求后,执行dns解析,并将解析结果返回。假设解析结果是1.1.1.1/1.1.1.2两个ip地址,其中1.1.1.1是dns服务器6认为的最优结果,是首选ip地址,该dns解析结果也经过dns加速模块2。
50.当dns加速模块2收到dns应答报文后,依次执行以下操作:
51.(1)dns应答报文解析,依次解析出1.1.1.1和1.1.1.2两个ip地址;
52.(2)dns加速模块2查找路由表5中关于1.1.1.1和1.1.1.2的记录,如果找到则转入(4);否则,dns加速模块2通知动态路由模块3,查找(1)中解析到的两个ip地址的连接速度;
53.(3)动态路由模块3在收到dns加速模块2的服务请求后,进行路由探测和选择,主要是判断1.1.1.1和1.1.1.2的连接速度。动态路由模块3的计算结果,将更新到路由表5中。这里假设“连接速度(1.1.1.1)”=20,“连接速度(1.1.1.2)=10”。这里,“连接速度”越大,表示到相应目的地的时间越长;
54.(4)dns加速模块2对(1)中解析到的ip地址,按照路由表5中的连接速度从小到大排序,并以该顺序重新构造dns应答报文。该例中,重构后的dns应答报文中的ip地址的顺序将变为1.1.1.2/1.1.1.1;
55.(5)重新构造的dns应答报文被发送给终端用户1;同时,该应答报文的内容,即将“键

值”对<service.aaa.com,1.1.1.2/1.1.1.1>,写入到dns缓存4。
56.(6)如果动态路由模块3探测到路由的更新,例如某段时间发现“连接速度(1.1.1.1)”=15,“连接速度(1.1.1.2)=30”。除了需要更新路由表5之外,还需要通知dns缓存4进行dns缓存4更新,将缓存的<service.aaa.com,1.1.1.2/1.1.1.1>更新为<service.aaa.com,1.1.1.1/1.1.1.2>。
57.(7)终端用户1在收到dns应答后,在本例中是1.1.1.2/1.1.1.1,会首选第一个ip地址进行服务访问,即访问应用服务器1.1.1.2,而不是dns服务器6返回的首选地址1.1.1.1,从而达到了应用加速的效果。
58.综上所述,本发明通过dns加速模块2接收终端用户1发起的给定域名的dns请求,
当dns请求到达dns加速模块2时,查询dns加速模块2中集成的dns缓存4:若在dns加速模块2的dns缓存4中查询到请求的dns记录,由dns加速模块2对终端用户1进行dns应答;若在dns加速模块2的dns缓存4中未查询到请求的dns记录,将dns请求放行给dns服务器6;通过dns加速模块2接收dns服务器6对dns请求的dns解析和dns应答,当dns应答经过dns加速模块2时,由dns加速模块2对dns应答报文中的服务器ip地址进行解析,并在路由表5中查找解析出的服务器ip地址,如果查找成功则转入由dns加速模块2对解析出的服务器ip地址按照路由表5中的连接速度从小到大排序,并以该排序重新构造dns应答报文;否则,由dns加速模块2通知动态路由模块3,由动态路由模块3判断解析出的服务器ip地址的连接速度。本发明可以在一个自适的系统内,将路由的变化动态地反映到dns结果上,加速了应用的访问速度;dns服务配置不易出错,可以动态变更,使得dns系统也变得自适应,更加智能。
59.实施例2
60.参见图3,本发明实施例2还提供一种基于动态路由协议的应用加速系统,包括:
61.dns加速模块2,用于接收终端用户1发起的给定域名的dns请求,当所述dns请求到达dns加速模块2时,查询所述dns加速模块2中集成的dns缓存4;若在所述dns加速模块2的dns缓存4中查询到请求的dns记录,由所述dns加速模块2对所述终端用户1进行dns应答;
62.dns服务器6,用于若在所述dns加速模块2的dns缓存4中未查询到请求的dns记录时,接收所述dns加速模块2放行的dns请求;所述dns服务器6对所述dns请求进行dns解析和dns应答;
63.所述dns加速模块2接收所述dns应答,由dns加速模块2对所述dns应答报文中的服务器ip地址进行解析,并在路由表5中查找解析出的服务器ip地址,如果查找成功则由dns加速模块2对解析出的服务器ip地址按照路由表5中的连接速度从小到大排序,并以该排序重新构造dns应答报文;
64.动态路由模块3,用于在路由表5中查找解析出的服务器ip地址失败后,判断解析出的服务器ip地址的连接速度。
65.本实施例中,所述dns加速模将重新构造的dns应答报文发送给终端用户1,并将dns应答报文的内容写入到dns缓存4。所述动态路由模块3通过探测和选择判断解析出的服务器ip地址的连接速度。
66.本实施例中,将所述动态路由模块3判断解析出的服务器ip地址的连接速度结果更新到所述路由表5中。将所述动态路由模块3判断解析出的服务器ip地址的连接速度结果更新到dns缓存4中。
67.基于动态路由协议的应用加速系统的具体实施情形同实施例1的基于动态路由协议的应用加速方法。
68.实施例3
69.本发明实施例3提供一种计算机可读存储介质,所述计算机可读存储介质中存储基于动态路由协议的应用加速方法的程序代码,所述程序代码包括用于执行实施例1或其任意可能实现方式的基于动态路由协议的应用加速方法的指令。
70.计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘
(solidstatedisk、ssd))等。
71.实施例4
72.本发明实施例4提供一种电子设备,所述电子设备包括处理器,所述处理器与存储介质耦合,当所述处理器执行存储介质中的指令时,使得所述电子设备执行实施例1或其任意可能实现方式的基于动态路由协议的应用加速方法。
73.具体的,处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于所述处理器之外,独立存在。
74.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
75.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
76.虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜