一种保障路由一致性的方法、路由器和路由选路系统与流程

文档序号:12889974阅读:386来源:国知局
一种保障路由一致性的方法、路由器和路由选路系统与流程

本发明涉及互联网技术领域,特别涉及一种保障路由一致性的方法、路由器和路由选路系统。



背景技术:

在互联网高速发展的今天,常见的路由方法分为静态路由和动态路由。

静态路由是指由用户或网络管理员手工配置的路由信息,当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。

动态路由是与静态路由相对的一个概念,指路由器能够根据多个路由器之间交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整,这些变化包含:路径所包含的路由器结点数(hopcount)、网络传输费用(cost)、带宽(bandwidth)、延迟(delay)、负载(load)、可靠性(reliability)和最大传输单元mtu(maximumtransmissionunit)等等。

静态路由可以固定的根据流量的特征ip来选路,但是缺少对网络情况的反馈作处理。从路由的灵活性看,动态路由可以很好的解决网络拥塞的问题,但是对于具有同一特征的流量来说,无法保证其路由选择的一致性,由此导致流量的不稳定,进而影响用户的体验。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种保障路由一致性的方法和系统。所述技术方案如下:

一方面,一种保障路由一致性的方法,应用于上一级路由节点,其中,所述方法包括以下步骤:

所述上一级路由节点对到达每个下一级路由节点的网络状态进行探测;

将探测结果共享给所述上一级路由节点中同一应用的不同进程;

各个所述进程分别基于所述探测结果对数据包进行转发,其中流量特征相同的数据包将转发给同一个所述下一级路由节点。

进一步的,所述流量特征包括源ip地址、目的ip地址以及协议中的一项或多项。

进一步的,各个所述进程分别基于所述探测结果对数据包进行转发的步骤具体包括:

选取所述探测结果中网络状态正常的所述下一级路由节点为目标节点;

通过对所述流量特征进行一致性哈希运算,从所述目标节点中选择下一级路由节点并对数据包进行转发。

进一步的,所述上一级路由节点对到达每个下一级路由节点的网络状态进行探测的步骤具体包含:所述上一级路由节点周期性的对到达每个下一级路由节点的网络状态进行探测。

另一方面,一种保障路由一致性的方法,应用于多个上一级路由节点,其中,所述方法包括以下步骤:

所述多个上一级路由节点分别对到达每个下一级路由节点的网络状态进行探测;

所述多个上一级路由节点之间对各自的探测结果进行共享;

各个所述上一级路由节点分别基于所述探测结果对数据包进行转发,其中流量特征相同的数据包将转发给同一个所述下一级路由节点。

进一步的,所述流量特征包括源ip地址、目的ip地址以及协议中的一项或多项。

进一步的,各个所述上一级路由节点分别基于所述探测结果对数据包进行转发的步骤具体包括:

选取所有所述探测结果中网络状态正常的所述下一级路由节点为目标节点;

通过对所述流量特征进行一致性哈希运算,从所述目标节点中选择下一级路由节点并对数据包进行转发。

进一步的,所述多个上一级路由节点之间对各自的探测结果进行共享的步骤具体包括:

建立数据库存储所有所述上一级路由节点的探测结果;

将各个所述探测结果进行汇总,并选择到达每个所述上一级路由节点的网络状态均正常的所述下一级路由节点为最终探测结果;

将所述最终探测结果利用同步方式共享给其它每个所述上一级路由节点。

进一步的,所述多个上一级路由节点分别对到达每个下一级路由节点的网络状态进行探测的步骤具体包含:所述多个上一级路由节点周期性的分别对到达每个下一级路由节点的网络状态进行探测。

又一方面,一种路由器,包括:

探测模块,用于对到达每个下一级路由节点的网络状态进行探测;

共享模块,用于将探测结果共享给当前同一应用中的不同进程;

转发模块,接收用户发送的数据包,基于所述探测结果对数据包进行转发,其中流量特征相同的数据包将转发给同一个所述下一级路由节点。

进一步的,所述流量特征包括源ip地址、目的ip地址以及协议均中的一项或多项。

进一步的,所述转发模块具体用于:

选取所述探测结果中网络状态正常的所述下一级路由节点为目标节点;

通过对所述流量特征进行一致性哈希运算,从所述探测结果中选择下一级路由节点并对数据包进行转发。

又一方面,一种路由选路系统,其中,所述系统包括多个上一级路由节点以及多个下一级路由节点,其中:

每一个所述上一级路由节点分别对到达所有所述下一级路由节点的网络状态进行探测,并对探测结果进行共享;

各个所述上一级路由节点分别基于所述探测结果对数据包进行转发,其中流量特征相同的数据包将转发给同一个所述下一级路由节点。

进一步的,所述流量特包括源ip地址、目的ip地址以及协议中的一项或多项。

进一步的,更包含数据中心,存储并汇总所有所述上一级路由节点的探测结果,选择到达每个所述上一级路由节点的网络状态均正常的所述下一级路由节点为最终探测结果,并将所述最终探测结果利用同步方式共享给其它每个所述上一级路由节点。

进一步的,所述每一个上一级路由节点基于所述最终探测结果,通过对所述流量特征进行一致性哈希运算,选择下一级路由节点并对数据包进行转发。

又一方面,一种电子存储介质,其中,所述电子存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一项所述的方法。

又一方面,一种电子设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述任一项所述的方法。

又一方面,一种电子系统,包括:多个上述的电子设备。

本发明实施例提供的技术方案带来的有益效果是:本发明通过将流量特征相同的数据包转发给同一个下一级路由节点,这样既可以针对网络的链路和节点情况进行动态调整,又可以根据流量的特征来进行一致性路由,从而保证流量的稳定,提高了用户的体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一中保障路由一致性的方法流程图;

图2为本发明实施例二中保障路由一致性的方法流程图;

图3为本发明实施例三中路由器的结构示意图;

图4为本发明实施例四中路由选路系统的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施一

请参阅图1,为本发明实施一中保障路由一致性的方法流程图。

在本实施方式中,该保障路由一致性的方法应用于上一级路由节点,并能确保上一级路由节点中同一应用的不同进程针对流量特征相同的数据包能转发给同一个下一级路由节点,从而保证流量的稳定,提高了用户的体验。

值得注意的是,本发明实施例中所提及的上一级路由节点和下一级路由节点是根据实际应用场景来确定的,具体而言,是按照接收用户请求流量的先后顺序进行划分的,上一级路由节点优先接收到用户请求流量,并转发给下一级路由节点,故在不同的应用场景中,路由节点可能会被定义为上一级路由节点,也可能被定义为下一级路由节点。

在步骤s1中,上一级路由节点对到达每个下一级路由节点的网络状态进行探测。

在本实施方式中,与上一级路由节点有路由关系的下一级路由节点通常不止一个,在众多有路由关系的下一级路由节点中,上一级路由节点对到达每个下一级路由节点的网络状态均会进行探测,探测上一级路由节点与当前下一级路由节点之间的通信是否顺畅,探测两个路由节点之间的通信是否顺畅包括多种方式,例如可以通过ping指令来进行探测,或者其它方式,在此不做限定。

在本实施方式中,上一级路由节点对到达每个下一级路由节点的网络状态进行探测的形式也是多样的,既可以是周期性的探测,也可以是非周期性的探测,例如以500ms为一个探测周期进行周期性探测,或者以随机方式进行探测,在此不做限定。

经过步骤s1的探测只后,将会形成探测结果,探测结果中包含与上一级路由节点通信状态正常的下一级路由节点。

在步骤s2中,将探测结果共享给上一级路由节点中同一应用的不同进程。

在本实施方式中,进程(process)用于表示应用程序在内存环境中的基本执行单元,以unix操作系统为例,进程是unix操作系统环境中的基本成分,是系统资源分配的基本单位,unix操作系统中完成的几乎所有用户管理和资源分配等工作都是通过操作系统对应用程序进程的控制来实现的。应用程序(application)通常由多个程序组成,每一个程序(program)就是一个正在执行的进程,而每个进程既可以是单线程的,也可以是多线程的。因此,从用户角度来看,进程是应用程序的一个执行过程,从操作系统核心角度来看,进程代表的是操作系统分配的内存、cpu时间片等资源的基本单位,是为正在运行的程序提供的运行环境,进程与应用程序的区别在于,应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是处于动态条件下由操作系统维护的系统资源管理实体。

在本实施方式中,上一级路由节点对与之有路由关系的所有下一级路由节点的探测结果利用共享方式共享给当前上一级路由节点中同一应用的不同进程,例如上一级路由节点的当前应用a包括进程1、进程2、进程3这三个进程的话,那么进程1、进程2、进程3都会共享到该探测结果,这样一来每一个进程都会以共享到的探测结果作为依据转发流量的数据包,进而确保所有进程转发到的下一级路由节点都与上一级路由保持良好通信状态,从而保证流量的稳定性。

在步骤s3中,各个进程分别基于探测结果对数据包进行转发,其中流量特征相同的数据包将转发给同一个所述下一级路由节点。

在本实施方式中,流量特征包括源ip地址、目的ip地址以及协议中的一项或多项,其中协议表示流量数据包中的通信协议,例如tcp协议、udp协议等等。

判断流量特征是否相同,可根据实际需求来设定,例如,在一些实施例中,流量特征即为源ip地址,那么源ip地址相同则代表流量特征相同,在其他的实施例中,流量特征也可以包含其他内容,如同时包含源ip地址和目的ip地址,那么在判断流量特征是否相同时,则要满足源ip地址相同,并且目的ip地址也相同。也就是说,在程序设定时,需先确认流量特征具体包含哪些内容,再根据内容是否全部相同来判断流量特征是否相同。

在本实施方式中,以流量特征仅包含源ip地址为例,各个进程分别基于探测结果对数据包进行转发的步骤具体包括:

选取探测结果中网络状态正常的下一级路由节点为目标节点;

通过对源ip地址进行一致性哈希运算,从目标节点中选择下一级路由节点并对数据包进行转发。

在本实施方式中,一致性哈希是一种特殊的哈希算法,在使用一致性哈希算法后,哈希表槽位数(即大小)的改变平均只需要对k/n个关键字重新映射,其中k是关键字的数量,n是槽位数量,但是对比传统的哈希表中添加或删除一个槽位的几乎需要对所有关键字进行重新映射,因此本发明算法简单明了。

在本实施方式中,下一级路由的某个节点只有当所有上一级路由节点的探测结果均为正常时才认为可用并置为可用的哈希状态,否则认为异常并置为不可用的哈希状态,相同流量特征的流量在上一级路由节点选择下一级路由节点时,由于具有相同的一致性哈希特征,所以会选择众多哈希状态可用的下一级路由节点中的同一个路由节点。

也就是说,基于一致性哈希算法,当所有进程都共享相同的探测结果时,如果流量特征相同,那么最终选择的下一级路由节点也会相同,从而保证了相同流量特征的数据包转发给同一个所述下一级路由节点。

如此一来,上一级路由节点在进行用户数据包转发时,既可以针对网络的链路和节点情况进行动态调整,又可以根据流量的特征来进行一致性路由,从而保证流量的稳定,提高了用户的体验。

实施例二

请参阅图2,为本发明实施例二中保障路由一致性的方法流程图。

在本实施方式中,该保障路由一致性的方法应用于多个上一级路由节点,并能确保众多上一级路由节点中针对流量特征相同的数据包能转发给同一个下一级路由节点,从而保证流量的稳定,提高了用户的体验。

值得注意的是,本发明实施例中所提及的上一级路由节点和下一级路由节点是根据实际应用场景来确定的,具体而言,是按照接收用户请求流量的先后顺序进行划分的,上一级路由节点优先接收到用户请求流量,并转发给下一级路由节点,故在不同的应用场景中,路由节点可能会被定义为上一级路由节点,也可能被定义为下一级路由节点。

在步骤s11中,多个上一级路由节点分别对到达每个下一级路由节点的网络状态进行探测。

在本实施方式中,多个上一级路由节点与多个下一级路由节点之间存在路由关系,与上一级路由节点有路由关系的下一级路由节点通常不止一个,在众多有路由关系的下一级路由节点中,上一级路由节点对到达每个下一级路由节点的网络状态均会进行探测,而且其它的上一级路由节点也会对到达每个下一级路由节点的网络状态进行探测,探测上一级路由节点与当前下一级路由节点之间的通信是否顺畅,探测两个路由节点之间的通信是否顺畅包括多种方式,例如可以通过ping指令来进行探测,或者其它方式,在此不做限定。

在本实施方式中,上一级路由节点对到达每个下一级路由节点的网络状态进行探测的形式也是多样的,既可以是周期性的探测,也可以是非周期性的探测,例如以500ms为一个探测周期进行周期性探测,或者以随机方式进行探测,在此不做限定。

在步骤s22中,多个上一级路由节点之间对各自的探测结果进行共享。

在本实施方式中,所述多个上一级路由节点之间对各自的探测结果进行共享的步骤s22具体包括:

建立数据库存储所有所述上一级路由节点的探测结果;

将各个所述探测结果进行汇总,并选择到达每个所述上一级路由节点的网络状态均正常的所述下一级路由节点为最终探测结果;

将所述最终探测结果利用同步方式共享给其它每个所述上一级路由节点。

在本实施方式中,每一个上一级路由节点对到达每个下一级路由节点的网络状态进行探测的探测结果均会上传到数据库中,其中,数据库建立在管理中心节点上,管理中心节点可以是独立设置的一个与各个上一级路由节点通信的服务器,也可以是其中一个上一级路由节点。

通过该数据库来收集所有上一级路由节点的探测结果,然后将各个探测结果进行汇总并利用逻辑与的方式选择最终探测结果,具体为选择到达每个所述上一级路由节点的网络状态均正常的所述下一级路由节点为最终探测结果,也就是说,最终探测结果中的所有下一级路由节点与每个上一级路由节点的网络连接状态均正常。最后将最终探测结果利用同步方式共享给其它每个上一级路由节点。

在步骤s33中,各个上一级路由节点分别基于探测结果对数据包进行转发,其中流量特征相同的数据包将转发给同一个下一级路由节点。

在本实施方式中,流量特征包括源ip地址、目的ip地址以及协议中的一项或多项,其中协议表示流量数据包中的通信协议,例如tcp协议、udp协议等等。

判断流量特征是否相同,可根据实际需求来设定,例如,在一些实施例中,流量特征即为源ip地址,那么源ip地址相同则代表流量特征相同,在其他的实施例中,流量特征也可以包含其他内容,如同时包含源ip地址和目的ip地址,那么在判断流量特征是否相同时,则要满足源ip地址相同,并且目的ip地址也相同。也就是说,在程序设定时,需先确认流量特征具体包含哪些内容,再根据内容是否全部相同来判断流量特征是否相同。

在本实施方式中,以流量特征仅包含源ip地址为例,所述各个上一级路由节点分别基于探测结果对数据包进行转发的步骤具体包括:

选取所有探测结果中网络状态正常的下一级路由节点为目标节点;

通过对源ip地址进行一致性哈希运算,从目标节点中选择下一级路由节点并对数据包进行转发。

在本实施方式中,一致性哈希是一种特殊的哈希算法,在使用一致性哈希算法后,哈希表槽位数(即大小)的改变平均只需要对k/n个关键字重新映射,其中k是关键字的数量,n是槽位数量,但是对比传统的哈希表中添加或删除一个槽位的几乎需要对所有关键字进行重新映射,因此本发明算法简单明了。

在本实施方式中,下一级路由的某个节点只有当所有上一级路由节点的探测结果均为正常时才认为可用并置为可用的哈希状态,否则认为异常并置为不可用的哈希状态,相同流量特征的流量在上一级路由节点选择下一级路由节点时,由于具有相同的一致性哈希特征,所以会选择众多哈希状态可用的下一级路由节点中的同一个路由节点。

也就是说,基于一致性哈希算法,当所有上一级路由节点都共享相同的探测结果时,如果流量特征相同,那么最终选择的下一级路由节点也会相同,从而保证了相同流量特征的数据包转发给同一个所述下一级路由节点。

本发明实施例提供的一种保障路由一致性的方法,将流量特征相同的数据包转发给同一个下一级路由节点,这样既可以针对网络的链路和节点情况进行动态调整,又可以根据流量的特征来进行一致性路由,从而保证流量的稳定,提高了用户的体验。

值得注意的是,本实施例中的上一级路由节点上处理数据包转发的方式可以是单进程作业,也可以是多进程作业,当为多进程作业时,上一级路由节点上可同时应用图1所示实施例中的保障路由一致性的方法,从而确保流量特征相同的数据包转发给相同的下一级路由节点。

实施例三

请参阅图3,为本发明实施例三中路由器的结构示意图。

在本实施方式中,路由器10是作为上一级路由节点中的一个,其具体包括探测模块101、共享模块102以及转发模块103。

探测模块101,用于对到达每个下一级路由节点的网络状态进行探测。

在本实施方式中,与路由器10有路由关系的下一级路由节点通常不止一个,在众多有路由关系的下一级路由节点中,路由器10中的探测模块101对到达每个下一级路由节点的网络状态均会进行探测,探测路由器10与当前下一级路由节点之间的通信是否顺畅,探测二者之间的通信是否顺畅包括多种方式,例如可以通过ping指令来进行探测,或者其它方式,在此不做限定。

在本实施方式中,路由器10中的探测模块101对到达每个下一级路由节点的网络状态进行探测的形式也是多样的,既可以是周期性的探测,也可以是非周期性的探测,例如以500ms为一个探测周期进行周期性探测,或者以随机方式进行探测,在此不做限定。

共享模块102,用于将探测结果共享给当前同一应用中的不同进程。其中所述应用包含流量代理应用,负责按照相关策略对用户发送的数据包进行转发。

在本实施方式中,进程(process)用于表示应用程序在内存环境中的基本执行单元,以unix操作系统为例,进程是unix操作系统环境中的基本成分,是系统资源分配的基本单位,unix操作系统中完成的几乎所有用户管理和资源分配等工作都是通过操作系统对应用程序进程的控制来实现的。应用程序(application)通常由多个程序组成,每一个程序(program)就是一个正在执行的进程,而每个进程既可以是单线程的,也可以是多线程的。因此,从用户角度来看,进程是应用程序的一个执行过程,从操作系统核心角度来看,进程代表的是操作系统分配的内存、cpu时间片等资源的基本单位,是为正在运行的程序提供的运行环境,进程与应用程序的区别在于,应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是处于动态条件下由操作系统维护的系统资源管理实体。

在本实施方式中,上一级路由节点对与之有路由关系的所有下一级路由节点的探测结果利用共享方式共享给当前上一级路由节点中同一应用的不同进程,例如上一级路由节点的当前应用a包括进程1、进程2、进程3这三个进程的话,那么进程1、进程2、进程3都会共享到该探测结果,这样一来每一个进程都会以共享到的探测结果作为依据同步转发流量的数据包,进而确保流量的稳定性。

转发模块103,接收用户发送的数据包,基于所述探测结果对数据包进行转发,其中流量特征相同的数据包将转发给同一个所述下一级路由节点。

在本实施方式中,流量特征包括源ip地址、目的ip地址以及协议中的一项或多项,其中协议表示流量数据包中的通信协议,例如tcp协议、udp协议等等。

判断流量特征是否相同,可根据实际需求来设定,例如,在一些实施例中,流量特征即为源ip地址,那么源ip地址相同则代表流量特征相同,在其他的实施例中,流量特征也可以包含其他内容,如同时包含源ip地址和目的ip地址,那么在判断流量特征是否相同时,则要满足源ip地址相同,并且目的ip地址也相同。也就是说,在程序设定时,需先确认流量特征具体包含哪些内容,再根据内容是否全部相同来判断流量特征是否相同。

在本实施方式中,以流量特征仅包含源ip地址为例,转发模块103具体用于:

选取探测结果中网络状态正常的下一路由节点为目标节点;

通过对源ip地址进行一致性哈希运算,从目标节点中选择下一级路由节点并转发。

在本实施方式中,一致性哈希是一种特殊的哈希算法,在使用一致性哈希算法后,哈希表槽位数(即大小)的改变平均只需要对k/n个关键字重新映射,其中k是关键字的数量,n是槽位数量,但是对比传统的哈希表中添加或删除一个槽位的几乎需要对所有关键字进行重新映射,因此本发明算法简单明了。

在本实施方式中,下一级路由的某个节点只有当所有上一级路由节点的探测结果均为正常时才认为可用并置为可用的哈希状态,否则认为异常并置为不可用的哈希状态,相同流量特征的流量在上一级路由节点选择下一级路由节点时,由于具有相同的一致性哈希特征,所以会选择众多哈希状态可用的下一级路由节点中的同一个路由节点。

也就是说,基于一致性哈希算法,当所有进程都共享相同的探测结果时,如果流量特征相同,那么最终选择的下一级路由节点也会相同,从而保证了相同流量特征的数据包转发给同一个所述下一级路由节点。

本发明实施例提供的一种路由器10,将流量特征相同的数据包转发给同一个下一级路由节点,这样既可以针对网络的链路和节点情况进行动态调整,又可以根据流量的特征来进行一致性路由,从而保证流量的稳定,提高了用户的体验。

实施例四

请参阅图4,所示为本发明实施例四中路由选路系统的结构示意图。

在本实施方式中,所述路由选路系统20包括多个上一级路由节点(图示以201、202为例)、多个下一级路由节点(图示以211、212、213为例)以及数据中心222。

每一个上一级路由节点(如201、202等)分别对到达所有下一级路由节点(如211、212、213等)的网络状态进行探测,并对探测结果进行共享。

在本实施方式中,多个上一级路由节点(如201、202等)与多个下一级路由节点(如211、212、213等)之间存在路由关系,与上一级路由节点(如201、202等)有路由关系的下一级路由节点(如211、212、213等)通常不止一个,在众多有路由关系的下一级路由节点(如211、212、213等)中,上一级路由节点(如201、202等)对到达每个下一级路由节点(如211、212、213等)的网络状态均会进行探测,而且其它的上一级路由节点(如201、202等)也会对到达每个下一级路由节点(如211、212、213等)的网络状态进行探测,探测上一级路由节点(如201、202等)与当前下一级路由节点(如211、212、213等)之间的通信是否顺畅,探测两个路由节点之间的通信是否顺畅包括多种方式,例如可以通过ping指令来进行探测,或者其它方式,在此不做限定。

在本实施方式中,上一级路由节点(如201、202等)对到达每个下一级路由节点(如211、212、213等)的网络状态进行探测的形式也是多样的,既可以是周期性的探测,也可以是非周期性的探测,例如以500ms为一个探测周期进行周期性探测,或者以随机方式进行探测,在此不做限定。

数据中心222,存储并汇总所有上一级路由节点(如201、202等)的探测结果,选择到达每个上一级路由节点(如201、202等)的网络状态均正常的下一级路由节点(如211、212、213等)为最终探测结果,并将最终探测结果利用同步方式共享给其它每个上一级路由节点(如201、202等)。

各个上一级路由节点(如201、202等)分别基于最终探测结果对数据包进行转发,其中流量特征相同的数据包将转发给同一个下一级路由节点(如211、212、213等)。

在本实施方式中,流量特征包括源ip地址、目的ip地址以及协议中的一项或多项,其中协议表示流量数据包中的通信协议,例如tcp协议、udp协议等等。

判断流量特征是否相同,可根据实际需求来设定,例如,在一些实施例中,流量特征即为源ip地址,那么源ip地址相同则代表流量特征相同,在其他的实施例中,流量特征也可以包含其他内容,如同时包含源ip地址和目的ip地址,那么在判断流量特征是否相同时,则要满足源ip地址相同,并且目的ip地址也相同。也就是说,在程序设定时,需先确认流量特征具体包含哪些内容,再根据内容是否全部相同来判断流量特征是否相同。

在本实施方式中,每一个上一级路由节点基于最终探测结果,通过对流量特征进行一致性哈希运算,选择下一级路由节点并对数据包进行转发。

在本实施方式中,一致性哈希是一种特殊的哈希算法,在使用一致性哈希算法后,哈希表槽位数(即大小)的改变平均只需要对k/n个关键字重新映射,其中k是关键字的数量,n是槽位数量,但是对比传统的哈希表中添加或删除一个槽位的几乎需要对所有关键字进行重新映射,因此本发明算法简单明了。

在本实施方式中,下一级路由的某个节点只有当所有上一级路由节点的探测结果均为正常时才认为可用并置为可用的哈希状态,否则认为异常并置为不可用的哈希状态,相同流量特征的流量在上一级路由节点选择下一级路由节点时,由于具有相同的一致性哈希特征,所以会选择众多下一级路由节点中的同一个路由节点。

也就是说,基于一致性哈希算法,当所有上一级路由节点都共享相同的探测结果时,如果流量特征相同,那么最终选择的下一级路由节点也会相同,从而保证了相同流量特征的数据包转发给同一个所述下一级路由节点。

本发明实施例提供的一种路由选路系统20,将流量特征相同的数据包转发给同一个下一级路由节点,这样既可以针对网络的链路和节点情况进行动态调整,又可以根据流量的特征来进行一致性路由,从而保证流量的稳定,提高了用户的体验。

实施例五

一种计算机电子存储介质,其中,所述电子计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行图1所示的保障路由一致性的方法或者图2所示实施例所提供的的保障路由一致性的方法。

本发明实施例提供的一种计算机电子存储介质,将流量特征相同的数据包转发给同一个下一级路由节点,这样既可以针对网络的链路和节点情况进行动态调整,又可以根据流量的特征来进行一致性路由,从而保证流量的稳定,提高了用户的体验。

实施例六

一种电子设备,其中,所述电子设备包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行图1所示的保障路由一致性的方法或者图2所示实施例所提供的保障路由一致性的方法。

本发明实施例提供的一种电子设备,将流量特征相同的数据包转发给同一个下一级路由节点,这样既可以针对网络的链路和节点情况进行动态调整,又可以根据流量的特征来进行一致性路由,从而保证流量的稳定,提高了用户的体验。

实施例七

一种电子系统,其中,所述电子系统包括:多个前述的电子设备。

本发明实施例提供的一种电子系统,将流量特征相同的数据包转发给同一个下一级路由节点,这样既可以针对网络的链路和节点情况进行动态调整,又可以根据流量的特征来进行一致性路由,从而保证流量的稳定,提高了用户的体验。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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