一种数据流量路由的方法和系统转让专利

申请号 : CN201710934715.8

文献号 : CN107666444B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林鹏陈国鹏

申请人 : 网宿科技股份有限公司

摘要 :

本申请涉及一种数据流量路由的方法,所述方法包括建立域名数据库,所述域名数据库包括多个域名;确定与所述域名相对应的IP地址集;以及基于所述数据流量的目的IP地址与所述IP地址集的关系,确定所述数据流量的路由策略。本申请还涉及该方法的一些变型以及相应的系统和计算机可读介质。本申请能够提高更高效且适用范围更广的路由管理。

权利要求 :

1.一种数据流量路由的方法,其特征在于,所述方法包括:

建立域名数据库,所述域名数据库包括多个域名,所述域名数据库包括域名以及与所述域名相关联的优先级;

确定与所述域名相对应的IP地址集;

基于所述数据流量的目的IP地址与所述IP地址集的关系,确定所述数据流量的路由策略,其中如果确定所述数据流量的目的IP地址在所述IP地址集中,则基于与所述域名相关联的所述优先级将所述数据流量转发至相应路由;以及周期性地或不定期地更新所述域名数据库,包括收集所述域名的子域名,其中所述确定与所述域名相对应的IP地址集包含:基于所述域名的子域名的域名解析结果扩充与所述域名相对应的IP地址集。

2.如权利要求1所述的方法,其特征在于,确定所述数据流量的路由策略包括:确定所述数据流量的目的IP地址是否在所述IP地址集中,以及如果所述数据流量的目的IP地址在该IP地址集中,则将所述数据流量转发至第一类路由,而如果所述数据流量的目的IP地址不在该IP地址集中,则将所述数据流量转发至第二类路由。

3.如权利要求1所述的方法,其特征在于,确定与所述域名相对应的IP地址集包括基于DNS服务器的解析结果来确定与所述域名相对应的IP地址集。

4.如权利要求3所述的方法,其特征在于,还包括收集用于解析所述域名的DNS服务器。

5.如权利要求3-4中任一项所述的方法,其特征在于,还包括周期性地或不定期地更新与所述域名相对应的IP地址集。

6.如权利要求1所述的方法,其特征在于,所述更新所述域名数据库包括从匹配成功的所述流量数据的HTTP报文中获得新的域名,并更新到所述域名数据库中。

7.一种数据流量路由系统,其特征在于,所述系统包括:

域名管理器,所述域名管理器包括域名数据库,所述域名数据库包括域名以及与所述域名相关联的优先级;

DNS管理器,所述DNS管理器接收所述域名管理器发送的域名信息,并向域名解析服务器发出解析所述域名的请求,接收并保存所述域名解析服务器返回的解析结果,其中所述解析结果包含所述域名对应的IP地址集;

流量引导装置,所述流量引导装置接收并保存来自所述DNS管理器的IP地址集,并基于所述IP地址集确定数据流量的路由策略,其中如果确定所述数据流量的目的IP地址在所述IP地址集中,则基于与所述域名相关联的所述优先级将所述数据流量转发至相应路由,其中所述域名数据库被周期性地或不定期地更新,包括收集所述域名的子域名,并且基于所述域名的子域名的域名解析结果扩充与所述域名相对应的IP地址集。

8.一种用于数据流量路由的系统,所述系统包括:

存储器;

处理器,所述处理器用于执行如权利要求1-6中任一项所述的方法。

9.一种包括存储于其上的计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被处理器执行时使得所述处理器执行如权利要求1-6中任一项所述的方法。

说明书 :

一种数据流量路由的方法和系统

技术领域

[0001] 本发明涉及数据流量的路由,尤其涉及一种数据流量路由方法和系统。

背景技术

[0002] 近年来,随着互联网的快速发展,网络结构日趋复杂,数据流量从源节点到达目的地节点,通常可经过不同的路由来实现。然而,数据流量通过不同的路由流动,可能存在显著的质量差异,从而影响访问质量和用户体验。
[0003] 对于数据流量路由服务的提供商而言,通常希望为不同重要等级的用户的数据流量提供不同的路由。例如,通常希望为与重要用户有关的、优先级比较高的数据流量提供速度更快、质量更高的路由,或者对线路要求较高的例如游戏、视频等应用提供较优的体验。故如何根据实际需求提供不同质量的路由线路成为业界急需解决的问题。

发明内容

[0004] 为了解决背景技术中提及的技术问题,本发明提供了一种全新的数据流量路由的方法和系统,可直接基于用户请求的IP地址对数据流量进行路由分类,从而实现为不同的应用提供所需的路由线路。
[0005] 在本发明的一个方面中,公开了一种数据流量路由的方法,所述方法包括:建立域名数据库,所述域名数据库包括多个域名;确定与所述域名相对应的IP地址集;以及基于所述数据流量的目的IP地址与所述IP地址集的关系,确定所述数据流量的路由策略。
[0006] 优选地,如果所述数据流量的目的IP地址在该IP地址集中,则将所述数据流量转发至第一类路由,以及如果所述数据流量的目的IP地址不在该IP地址集中,则将所述数据流量转发至第二类路由。
[0007] 优选地,确定与所述域名相对应的IP地址集包括基于DNS(Domain Name System,简称DNS)服务器的解析结果来确定与所述域名相对应的IP地址集。
[0008] 优选地,所述DNS服务器为公共DNS服务器。在一个示例中,所述DNS服务器包括常用地区的DNS服务器。在另一示例中,所述DNS服务器包括所有可用DNS服务器。
[0009] 优选地,所述方法还包括收集用于解析所述域名的DNS服务器。
[0010] 优选地,所述方法还包括周期性地或不定期地更新与所述域名相对应的IP地址集。
[0011] 优选地,所述方法还包括周期性地或不定期地更新所述域名数据库。
[0012] 优选地,所述更新所述域名数据库包括从匹配成功的所述流量数据的HTTP报文中获得新的域名,并更新到所述域名数据库中。
[0013] 优选地,所述域名数据库包括域名以及与所述域名相关联的优先级,其中如果确定所述数据流量的目的IP地址在该IP地址集中,则基于与所述域名相关联的所述优先级将所述数据流量转发至相应路由。
[0014] 在本发明的另一方面中,公开了一种数据流量路由系统,所述系统包括:域名管理器,所述域名管理器包括域名数据库;DNS管理器,所述DNS管理器接收所述域名管理器发送的域名信息,并向域名解析服务器发出解析所述域名的请求,接收并保存所述域名解析服务器返回的解析结果,其中所述解析结果包含所述域名对应的IP地址集;流量引导装置,所述流量引导装置接收并保存来自所述DNS管理器的IP地址集,并基于所述IP地址集确定数据流量的路由策略。
[0015] 在本发明的又一方面中,公开了一种用于对数据流量进行路由的系统,所述系统包括:存储器;处理器,所述处理器用于执行如前所述的方法。
[0016] 在本发明的再一方面中,公开了一种包括存储于其上的计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被处理器执行时使得所述处理器执行如前所述的方法。
[0017] 在本发明中,通过预先收集并设置需要处理的域名,并基于常用的DNS服务器对其进行解析,得到每个域名对应的IP地址集,并基于该IP地址集与待引导数据流量的目的IP地址的关系,对数据流量进行引导。通过判断数据流量的目的IP地址是否属于相应的IP地址集来确定是否需要对该数据流量进行相应的引导,例如,若属于,则将该数据流量引导到质量较好的路由线路,如此一来,不仅可以直接基于数据流量的目的IP就可以对数据流量进行引导,无需获取数据流量的域名,即可用于http数据流量的引导,还可用于https的数据流量引导,还可以基于所述目的IP与预设IP地址集的关系对数据流量进行分类引流。
[0018] 更进一步的,通过收集不同优先级的域名、收集DNS服务器地址以确定与域名相关联的IP地址集,从而将不同的IP地址集与相应的优先级关联起来,能够根据优先级将数据流量转发至不同的路由,而无需分析数据报文,从而提高了效率,且具有更广的适用性。

附图说明

[0019] 本发明的以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所请求保护的发明的示例。在附图中,相同的附图标记代表相同或类似的元素。
[0020] 图1示出了根据本发明的一个实施例的一个系统的框图。
[0021] 图2示出了根据本发明的一个实施例的另一系统的框图。
[0022] 图3A示出了根据本发明的一个实施例的一个方法的流程图。
[0023] 图3B示出了根据本发明的一个实施例的确定路由策略的流程图。
[0024] 图4A示出了根据本发明的一个实施例的另一方法的流程图。
[0025] 图4B示出了根据本发明的一个实施例的确定路由策略的流程图。

具体实施方式

[0026] 以下在具体实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本发明相关的目的及优点。
[0027] 为了解决背景技术中的问题,本发明提出了一种数据流量路由方法和系统。具体而言,本发明可建立包括域名以及与域名相关联的优先级的域名数据库并确定与所述域名相对应的IP地址集,从而根据域名的优先级对与所述IP地址集中的IP地址相对应的数据流量进行路由。
[0028] 下面参考附图1和2详细描述根据本发明的实施例的系统,并且参考附图3和4详细描述根据本发明的实施例的方法。
[0029] 请参考图1,其中示出了根据本发明的一个实施例的系统100的框图。系统100包括可互相连接的域名管理器102、DNS管理器104以及流量引导装置106。
[0030] 在此实施例中,域名管理器102包括域名数据库108,其中所述域名数据库108可包括多个域名。在本实施例中,所述多个域名可以是高优先级域名,即为对应于重要客户的域名。在本发明的其他实施例中,所述多个域名的优先级可根据实际需求进行设定,例如域名黑名单等,本发明并不以此为限。
[0031] 所述域名数据库108可以通过收集所述多个域名来实现。所述多个域名可以通过各种方式收集。在一个示例中,所述域名可以来自通过由系统管理员等配置的基础域名,或者相对完整的域名和泛域名。
[0032] 此外,在另一个示例中,所述域名还可来自流量引导装置在疏导流量时,如果匹配到HTTP的数据流量中基础泛域名可以匹配的域名,这一过程可通过域名数据库和流量引导装置之间的连接实现(图中未示出)。
[0033] 以某网站为例,我们只知道该域名的主网站的泛域名假设为aaa.com。通过配置aaa.com,对所有aaa.com的子域名进行搜集。我们之前只知道有aa.aaa.com,经过域名解析得到域名aaa.com和aa.aaa.com对应的域名解析服务器上对应的所有IP地址,形成域名aaa.com对应的IP地址集,此时如果用户的http数据流量通过流量引导装置在引导流量时匹配成功到aaa.com对应的IP地址集,而该数据流量的http报文中访问的域名为bb.aaa.com,流量引导装置将此信息传送至域名数据库,如此bb.aaa.com的域名都会被自动更新进来,归属为主域名aaa.com的子域名,并可进一步基于bb.aaa.com的域名解析结果来扩充主域名aaa.com对应的IP地址集,从而更进一步的IP地址集的完整度。
[0034] 通过这种方式,符合定义的域名搜集规则的域名在被用户访问时都可以被收集并更新到域名数据库中。在此示例中,域名数据库可以被自动建立和/或更新,而无需系统管理员干预,提高了域名收集的效率。
[0035] 任选地,所述DNS管理器104可包括DNS服务器数据库110。所述DNS服务器数据库110可包括多个DNS服务器的信息。所述DNS管理器104可以根据域名分组和配置的DNS服务器地址,发送域名解析请求,并从DNS服务器接收到所请求的域名对应的IP地址集。
[0036] 总所周知,DNS服务器可基于自身的配置,对域名进行解析。在实际使用过程中,通常是所有域名解析请求共用一个DNS服务器集,以便使得每个域名解析得到的IP地址集更加完整。在一些其他实施例中,根据实际需要,也可以针对不同的域名配置不同的DNS域名服务器对其进行解析。
[0037] DNS服务器可以是公共DNS服务器,例如网络运营商(比如电信、联通、移动等运营商)提供的DNS服务器,也可以是其它类型的,例如由谷歌公司、百度公司等提供的DNS服务器等,或者是在应用区域内所有的常用的DNS服务器。在一个示例中,所述DNS服务器数据库110可包括尽可能多的DNS服务器地址,从而使得经过该些DNS服务器解析出域名或域名分组对应的IP地址集更加完整。
[0038] 具体而言,用户在发送数据流量时,在网络层封装数据包时会根据上层协议中的请求域名向DNS服务器发送域名解析请求,以获得相应的目的IP,并封装在请求数据包中。这里所使用的DNS服务器可以是随机的公用DNS服务器,也可以是特定的DNS服务器,由于一个域名经过不同的DNS服务器解析得到的IP地址可能不相同,而且经过同一DNS服务器解析得到的IP地址也可能不相同,故在本实施例中,DNS管理器104对DNS服务器数据库110中的域名进行解析时,尽可能的包含更多的DNS服务器或者更能包含到用户所请求的DNS服务器,以使得当用户实际访问的域名为DNS服务器数据库110中的域名时,可以直接被识别,而避免出现无法匹配的问题。
[0039] 所述域名管理器102可向所述DNS管理器104发送域名分组。例如,所述域名分组中的域名是存储于所述域名数据库108中的高优先级域名。在本实施例中,高优先级域名为管理员预先根据实际需求配置的,该些高优先级域名对线路的质量要求较高。可以理解的是,在本发明的实施例中,高优先级域名对线路的要求也可以是其他类型,可根据实际需求进行配置,本发明并不作限制。
[0040] 所述DNS管理器104接收到所述域名分组,并与DNS服务器112通信以发送对所述域名分组中的域名进行解析请求。所述DNS服务器112包含以任何方式预先定义的DNS服务器或DNS服务器集。
[0041] 优选地,当所述DNS管理器104包括DNS服务器数据库110时,所述DNS服务器112是从DNS服务器数据库110中得到的。DNS服务器112在接收到该请求之后,对所述域名分组中的域名进行解析以获得与每个域名相对应的IP地址集,并将该IP地址集作为结果返回给所述DNS管理器104。所述DNS管理器104可将该IP地址集发送给流量引导装置106。
[0042] 如此一来,流量引导装置106获得与高优先级的域名相对应的IP地址集。在一个示例中,该流量引导装置106可存储该IP地址集,例如存储在IP地址数据库(图中未示出)中。
[0043] 在对数据流量进行引导的过程中,流量引导装置106可将从数据流量的数据包中解析得到的目的IP地址与该IP地址集进行比较,当该数据流量的目的IP地址在该IP地址集中时,该流量引导装置106可为该数据流量分配第一类路由,例如高质量路由。当该数据流量的目的IP地址不在该IP地址集中时,该流量引导装置106可为该数据流量分配第二类路由,例如默认的路由,或线路质量较次的路由。
[0044] 请参考图2,其中示出了根据本发明的一个实施例的另一系统200的框图,该系统适用于其中包括多个优先级的域名的情况。在此实施例中,与系统100类似,系统200包括可互相连接的域名管理器202、DNS管理器204以及流量引导装置206。在此实施例中,域名管理器202包括域名数据库208,其中与系统100的域名数据库108不同,系统200的域名数据库208不仅包括多个域名,还包括与该多个域名中的每个域名相关联的优先级。
[0045] 在一个实施例中,所述域名数据库208是通过预先收集和配置的各种优先级的域名来建立的。所述优先级可以包括多个层级。比如,在一个实施方式中,最重要客户的域名可被赋予第一优先级,次重要客户的域名可被赋予第二优先级,再次重要客户的域名可被赋予第三优先级,以此类推。在一些示例中,域名数据库208还可包括较低优先级的域名,比如普通用户的域名等。通常,有些域名不被包括在域名数据库208中。值得注意的是,优先级的划分主要是为了对不同的域名进行区分,并按类别配置相应的路由策略,例如第一优先级中的域名对用的路由策略相同,在本发明的其他实施例中,优先级的定义可以根据实际需求进行设定。
[0046] 所述域名的收集可以通过多种方式来实现。所述域名可以来自通过由系统管理员等配置的基础域名,或者相对完整的域名和泛域名。此外,所述域名还可来自路由选择装置在疏导流量时如果匹配到HTTP报文中基础泛域名可以匹配的域名。
[0047] 在一个示例中,可以周期性地更新所述域名数据库。例如,可以每小时、每天、每周更新一次域名数据库等。在另一示例中,可以响应于特定事件的发生来更新所述域名数据库。例如,当新的重要客户加入时,将该新的重要客户的域名加入到所述域名数据库中。在又一示例中,可以不定期地更新所述域名数据库。
[0048] 所述域名数据库还可连接到流量引导装置(图中未示出),从而可以通过所述连接获得匹配正确的HTTP协议的数据流量,并基于该数据流量获取到扩充的域名。如同上面所例示的,流量引导装置可将HTTP报文中的bb.aaa.com的域名传送至域名数据库,从而域名数据库中包括aaa.com的域名分组可被更新以包括bb.aaa.com。同时,还可更新域名与优先级之间的关联。例如,可将域名bb.aaa.com与和aaa.com相关联的域名相关联。
[0049] 所述DNS管理器可包括DNS服务器数据库。所述DNS服务器数据库可包括多个DNS服务器的地址。所述DNS服务器可以根据域名的分组和配置的DNS服务器地址,将域名发送给公共DNS服务器108。所述公共DNS服务器108可为每个分组的域名解析出于该域名相对应的IP地址集,并将相应的IP地址集发送给该流量引导装置106。
[0050] 在此实施例中,所述域名管理器202可向所述DNS管理器204发送域名分组。在一个示例中,与系统100的实施例不同,域名管理器202还可向所述DNS管理器204发送与该域名分组相对应的优先级。所述DNS管理器204接收到所述域名分组和所述优先级,并与DNS服务器数据库中记录的DNS服务器212通信以发送对所述域名分组中的域名进行解析的请求。DNS服务器212在接收到该请求之后,对所述域名分组中的域名进行解析以获得与每个域名相对应的IP地址集,并将该IP地址集作为结果返回给所述DNS管理器204。所述DNS管理器
204可将该IP地址集发送给流量引导装置206。与系统100的实施例不同,所述DNS管理器还可将与该域名分组的IP地址集相对应的优先级发送给所述流量引导装置206。所述流量引导装置106现在可具有IP地址集以及与所述IP地址集相对应的优先级。而针对不同的优先级,流量引导装置106中也预先设置了对应的路由策略。
[0051] 在一个示例中,该流量引导装置206可将该IP地址集和相对应的优先级相关联地存储,例如存储在IP地址数据库(图中未示出)中。该流量引导装置206可将与数据流量的目的IP地址与IP地址集进行比较。当该数据流量的目的IP地址在该IP地址集中时,该流量引导装置106可执行与该IP地址集相对应的优先级的路由策略,为该数据流量分配相应的路由。例如,当该优先级为第一优先级时,可向与该IP地址集中的地址相关联的数据流量分配第一类路由(例如最高质量路由)。当该优先级为第二优先级时,可向与该IP地址集中的地址相关联的数据流量分配第二类路由(例如次高质量路由)。当该优先级为第三优先级时,可向与该IP地址集中的地址相关联的数据流量分配第三类路由(例如再次佳质量路由)。以此类推。特别地,当该数据流量的IP地址不在任何IP地址集中(即,该数据流量不是与域名数据库208中的任何域名相对应的数据流量)时,该流量引导装置106可为该数据流量分配另一质量路由,例如默认质量路由,如普通质量路由或低质量路由。
[0052] 在另一个示例中,与图2中所示的不同,不是先由域名管理器202将优先级发送给DNS管理器并由DNS管理器将优先级发送给流量引导装置,而是由域名管理器202直接将相关联的优先级发送给流量引导装置206(图中未示出)。
[0053] 本领域技术人员可以理解,本发明描述的实施例可以在无需解析应用层报文的情况下对数据流量进行智能路由,由此减少了对数据处理能力的需求并提高了效率。而且,由于本发明描述的实施例不依赖于对应用层报文的解析,所以能够适用于HTTPS协议,具有更广的适用性,这在如今HTTPS协议日益普及的环境下尤为有益。
[0054] 请参考图3A,其中示出了根据本发明的一个实施例的一个方法300的流程图。一般而言,可参考图1中所示的系统100来理解方法300。
[0055] 该方法300包括:在步骤302,建立域名数据库,该域名数据库可包括多个域名。该域名数据库中的域名可以是高优先级域名。可按照上面针对域名数据库108所述的方式来收集域名。
[0056] 该方法300还包括:在步骤304,确定与所述域名相对应的IP地址集。该步骤304可包括由域名管理器将域名数据库中的域名分组发送到DNS管理器。该步骤304还可包括由DNS管理器向对应的DNS服务器发送解析请求,由DNS服务器对该域名分组中的域名进行解析,并由该DNS服务器将解析结果发送给该DNS管理器。该解析结果是与该域名分组相对应的IP地址集。该步骤304还可包括由该DNS管理器将该IP地址集发送给该流量引导装置。具体实现方式可参见上面对域名管理器102和DNS管理器104进行的描述。
[0057] 该方法300还包括:在步骤305,基于所述数据流量的目的IP地址与所述IP地址集的关系,确定所述数据流量的路由策略。
[0058] 参考图3B,其描述了基于数据流量的目的IP地址与所述IP地址集的关系来确定数据流量的路由策略(步骤305)的一个实施例。
[0059] 该步骤305可包括:在步骤306,确定数据流量的目的IP地址是否在该IP地址集中。如果该目的IP在该IP地址集中表示该数据流量与高优先级域名相关联。如果该目的IP不在该IP地址集中,则表示该数据流量不与高优先级域名相关联。
[0060] 该步骤305还可包括:如果在步骤306确定数据流量的目的IP地址在该IP地址集中,则在步骤308为该数据流量分配第一类路由(例如高质量路由)。这可通过将该数据流量转发至该第一类路由实现。如果在步骤306确定与数据流量相对应的IP地址不在该IP地址集中,则在步骤310为该数据流量分配第二类路由(例如普通质量路由)。这可通过将该数据流量转发至该第二类路由实现。通过这种方式,与不同优先级的域名相关联(并且因此与不同重要等级的客户相关联)的数据流量可被智能地路由,从而可为重要客户提供更高质量的路由。相关步骤的细节可以参见上面针对系统100进行的描述。
[0061] 在优选示例中,流量引导装置可尝试匹配HTTP报文中的域名,并且在成功匹配时,将相应域名更新到域名数据库。
[0062] 请参考图4A,其中示出了根据本发明的一个实施例的另一方法400的流程图。一般而言,可参考图2中所示的系统200来理解方法400。
[0063] 该方法400包括:在步骤402,建立域名数据库,该域名数据库可包括域名以及与所述域名相关联的优先级。如同上面针对域名数据库208所述,可包括与多个优先级相对应的多个域名分组。可按照上面针对域名数据库108或208所述的方式来收集域名。
[0064] 该方法400还包括:在步骤404,确定与所述域名相对应的IP地址集。在一个示例中,该步骤404可包括由域名管理器将域名数据库中的域名分组和相关联的优先级发送到DNS管理器。该步骤404还可包括由DNS管理器向对应的DNS服务器发送解析请求,由DNS服务器对该域名分组中的域名进行解析,并由该DNS服务器将解析结果发送给该DNS管理器。该解析结果是与该域名分组(即与相应的优先级)相对应的IP地址集。该步骤404还可包括由该DNS管理器将该IP地址集和相应的优先级发送给该流量引导装置。具体实现方式可参见上面对域名管理器202和DNS管理器204进行的描述。
[0065] 在另一示例中,该步骤404可包括由域名管理器将域名数据库中的域名分组发送到DNS管理器。该步骤404还可包括由DNS管理器向对应的DNS服务器发送解析请求,由DNS服务器对该域名分组中的域名进行解析,并由该DNS服务器将解析结果发送给该DNS管理器。该解析结果是与该域名分组相对应的IP地址集。该步骤404还可包括由该DNS管理器将该IP地址集发送给该流量引导装置。该步骤404还可包括由该域名管理器将与该域名分组相关联(并且因此与该IP地址集相关联)的优先级直接发送给流量引导装置。
[0066] 该方法400还包括:在步骤405,基于所述数据流量的目的IP地址与所述IP地址集的关系,确定所述数据流量的路由策略。
[0067] 参考图4B,其描述了基于数据流量的目的IP地址与所述IP地址集的关系来确定数据流量的路由策略(步骤405)的一个实施例。
[0068] 该步骤405可包括:在步骤406,确定数据流量的目的IP地址是否在该IP地址集中。如果该目的IP地址在该IP地址集中,则说明该IP地址具有该IP地址集相关联的优先级。如果该目的IP地址不在该IP地址集中,说明该目的IP地址具有与该IP地址集相关联的优先级不同的优先级。如果该IP地址在与域名数据库中的另一域名分组相对应的另一IP地址集中,则该IP地址具有与该另一IP地址集(因此与该另一域名分组)相关联的优先级。
[0069] 该步骤405还可包括::如果在步骤406确定数据流量的目的IP地址在该IP地址集中,则在步骤408根据所述IP地址集的优先级来确定该数据流量的路由策略。在一个示例中,该IP地址集为第一优先级IP地址集,此时如果在步骤406确定该数据流量的目的IP地址在该IP地址集中,则将该数据流量转发至第一类路由(例如最高质量路由)。在另一示例中,该IP地址集为第二优先级IP地址集,此时如果在步骤406确定该数据流量的目的IP地址在该IP地址集中,则将该数据流量转发至第二类路由(例如次高质量路由),以此类推。该步骤405还可包括:如果在步骤406确定该数据流量的目的IP地址不在该IP地址集中,则确定所述数据流量的目的IP地址是否在与所述域名数据库中的另一域名相对应的IP地址集中,如果是,则基于与所述另一域名相关联的另一优先级将所述数据流量转发至相应路由。通过这种方式,可以确定该IP地址是否在于该域名数据库中的域名相对应的任何IP地址集中,并从而根据与该域名相对应的优先级来为该数据流量分配路由。例如,如果该IP地址在与第一优先级的域名相关联的IP地址集中,则向该IP地址分配最高质量路由,如果该IP地址在与第二优先级相关联的IP地址集中,则向该IP地址分配次高质量路由,以此类推。
[0070] 该步骤405还可包括:如果在步骤406确定数据流量的目的IP地址不在任何IP地址集中,则在步骤410将该数据流量转发至另一路由(例如默认质量路由,如默认质量路由或低质量路由)。通过这种方式,与不同优先级的域名相关联(并且因此与不同重要等级的客户相关联)的数据流量可被智能地路由,从而可为重要客户提供更高质量的路由。相关步骤的细节可以参见上面针对系统100进行的描述。
[0071] 在优选示例中,流量引导装置可尝试匹配HTTP报文中的域名,并且在成功匹配时,将相应域名(以及任选的优先级)更新到域名数据库。
[0072] 通过上面的分析可以看出,在本发明中,通过预先收集并设置需要处理的域名,并基于常用的DNS服务器对其进行解析,得到每个域名对应的IP地址集,并基于该IP地址集与待引导数据流量的目的IP地址的关系,对数据流量进行引导。通过判断数据流量的目的IP地址是否属于相应的IP地址集来确定是否需要对该数据流量进行相应的引导,例如,若属于,则将该数据流量引导到质量较好的路由线路,如此一来,不仅可以直接基于数据流量的目的IP就可以对数据流量进行引导,无需获取数据流量的域名,即可用于http数据流量的引导,还可用于https的数据流量引导,还可以基于所述目的IP与预设IP地址集的关系对数据流量进行分类引流。
[0073] 更进一步的,通过收集不同优先级的域名、收集DNS服务器地址以确定与域名相关联的IP地址集,从而将不同的IP地址集与相应的优先级关联起来,从而能够根据优先级将数据流量转发至不同的路由,而无需分析数据报文,从而提高了效率,且具有更广的适用性。
[0074] 可以理解,根据本发明的各实施例的方法可以用软件、固件或其组合来实现。在一个实施例中,公开了一种系统,该系统包括存储器;通信接口;和处理器,与所述存储器和通信接口通信地连接,所述处理器操作以实现本文所述的各实施例的方法,如方法300、400中的一者或多者。
[0075] 在另一个实施例中,公开了一种包括存储于其上的计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被处理器执行时使得所述处理器执行本文所述的各实施例的方法,如方300、400中的一者或多者。
[0076] 这里采用的术语和表述方式只是用于描述,本发明并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。
[0077] 同样,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。