一种选择路由的方法及装置与流程

文档序号:12630707阅读:174来源:国知局
一种选择路由的方法及装置与流程
本发明涉及互联网
技术领域
,尤其是一种选择路由的方法及装置。
背景技术
:随着移动自组织网络(MobileAd-hocNETwork,MANET)的快速发展,基于TCP/IP的传统互联网体系已经难以满足MANET对数据请求效率、网络资源利用率等方面的需求,因此提出了基于信息中心网络(InformationCentricNetworking,ICN)的数据命名网络(NamedDataNetworking,NDN),并将NDN应用于MANET。NDN采用沿路节点缓存的方式来提高数据请求的效率,当节点接收到与之前的数据请求内容相同的新数据请求时,可以从保存有数据请求对应的信息的节点缓存中直接获取所述信息,而无需再将数据请求发送至存储所述信息的服务器。这样不仅减少了请求数据的响应时延,而且提高了网络资源的利用率。显然,节点缓存方式也存在很多问题,比如,使用的路由选择策略不合适就会影响数据请求效率和节点缓存的利用率,目前使用较为广泛的路由选择策略包括全转发路由策略和随机转发路由策略。具体地,根据路由选择策略为数据请求选择转发路由的过程如下:首先,节点获取到包含内容前缀的数据请求,在节点对应的内容存储器(ContentStore,CS)和节点对应的未决兴趣请求表(PendingInterestTable,PIT)中均没有查找到与内容前缀对应的信息,而在节点对应的转发信息库(ForwardingInformationBase,FIB)中查找到与内容前缀对应的信息;接下来,确定FIB中与内容前缀对应的全部接口,当使用全转发路由策略时,将全部接口分别对应的路由都确定为数据请求对应的路由;当使用随机转发路由策略时,在全部接口分别对应的路由中随机选择一个路由作为数据请求对应的路由。可见,当使用全转发路由策略时,需要同时从节点发出多个数据请求,容易造成网络流量冗余,尤其当NDN的连接速度较高时,冗余现象更加明显;使用随机转发路由策略虽然不会在网络中产生冗余流量,但由于选择路由的随机性,无法保证路由的稳定可靠,进而导致沿路节点缓存得不到充分利用,这些都对数据请求效率和网络资源的利用率产生了不良影响。技术实现要素:本发明实施例的目的在于提供一种选择路由的方法及装置,能够提高数据请求的效率以及网络资源的利用率。为达到上述目的,本发明实施例公开了一种选择路由的方法,方法包括:在节点获取到包含内容前缀的数据请求,且在所述节点对应的FIB中查找到所述内容前缀对应的信息时,确定所述FIB中与所述内容前缀对应的所有接口;获取所述所有接口分别对应的相邻节点的位置信息和速度信息;根据所述位置信息和所述速度信息,预测所述所有接口分别对应的路由的生存时长;根据所述生存时长,确定所述所有接口分别对应的路由的可用概率;将所述所有接口分别对应的路由中最大可用概率对应的路由确定为所述数据请求对应的路由。本发明实施例还公开了一种选择路由的装置,装置包括:第一确定单元,用于在节点获取到包含内容前缀的数据请求,且在所述节点对应的转发信息库中查找到所述内容前缀对应的信息时,确定所述转发信息库中与所述内容前缀对应的所有接口;获取单元,用于获取所述所有接口分别对应的相邻节点的位置信息和速度信息;预测单元,用于根据所述位置信息和所述速度信息,预测所述所有接口分别对应的路由的生存时长;第二确定单元,用于根据所述生存时长,确定所述所有接口分别对应的路由的可用概率;第三确定单元,用于将所述所有接口分别对应的路由中最大可用概率对应的路由确定为所述数据请求对应的路由。由上述的技术方案可见,本发明实施例提供的选择路由的方法及装置,能够根据路由的可用概率,选择最大可用概率对应的路由对数据请求进行转发。这样,不仅能够保证用于转发的路由的稳定可靠,提高了沿路节点缓存的利用率,而且能够避免从同一节点同时发出多个数据请求而导致网络产生冗余流量,提高了信息检索的效率以及网络资源的利用率。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例的选择路由方法的一种流程图;图2为本发明实施例中的节点对应的坐标信息和运动方向的示意图;图3为本发明实施例的选择路由方法的另一种流程图;图4为本发明实施例中的平均响应时间的对比图;图5为本发明实施例中的总体响应时间的对比图;图6为本发明实施例中的缓存命中情况的对比图;图7为本发明实施例中的瞬时网络流量的对比图;图8为本发明实施例中的平均网络流量的对比图;图9为本发明实施例中的总体网络流量的对比图;图10为本发明实施例的选择路由装置的一种结构图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例公开了一种选择路由的方法及装置,以下分别进行详细说明。参见图1,图1为本发明实施例的选择路由方法的一种流程图,包括如下步骤:步骤101,在节点获取到包含内容前缀的数据请求,且在所述节点对应的FIB中查找到所述内容前缀对应的信息时,确定所述FIB中与所述内容前缀对应的所有接口;步骤102,获取所述所有接口分别对应的相邻节点的位置信息和速度信息;步骤103,根据所述位置信息和所述速度信息,预测所述所有接口分别对应的路由的生存时长;步骤104,根据所述生存时长,确定所述所有接口分别对应的路由的可用概率;步骤105,将所述所有接口分别对应的路由中最大可用概率对应的路由确定为所述数据请求对应的路由。本发明实施例可以适用于以内容和信息为中心的网络体系,比如内容中心网络(ContentCentricNetworking,CCN)等。在实际应用中,MANET中的任一节点均能够获取到包含内容前缀的数据请求,为了方便理解,可以将发出数据请求的节点称为请求节点,并将获取数据请求的节点称为源节点。具体地,首先,在源节点对应的FIB中能够找到与所述内容前缀对应的信息,进而可以确定在所述FIB中与所述内容前缀对应的所有接口;然后,获取所有接口分别对应的相邻节点的位置信息和速度信息,并且根据相邻节点的位置信息和速度信息,可以计算出所有接口分别对应的路由的生存时长;接下来,根据所有接口分别对应的路由的生存时长,可以计算出所有接口分别对应的路由的可用概率;最后,将所有接口分别对应的路由中最大可用概率对应的路由确定为数据请求对应的转发路由。可见,应用本发明实施例能够根据路由的可用概率值,为数据请求选择一个可用概率值最大的路由。这样,不仅能够保证转发路由的稳定可靠,提高节点缓存的利用率,而且避免从源节点同时发出多个数据请求而导致网络产生冗余流量,提高了信息获取的效率以及网络资源的利用率。在本发明的一种优选实施例中,所述所有接口分别对应的相邻节点包括所述所有接口分别对应的两个相邻节点,其中,所述两个相邻节点包括所述节点和另一个相邻节点;所述获取所述所有接口分别对应的相邻节点的位置信息和速度信息的步骤,具体可以包括如下步骤:获取所述节点的位置信息和速度信息;根据预置周期,通过发送探测包获取所述所有接口分别对应的两个相邻节点中除所述节点以外的另一个相邻节点的位置信息和速度信息,并将所述另一个相邻节点的位置信息和速度信息保存在接口信息表中;从所述接口信息表中获取所述另一个相邻节点的位置信息和速度信息。其中,所述节点为源节点。具体地,在确定FIB中与数据请求包含的内容前缀对应的所有接口之后,由于源节点保存有自身节点信息,包括位置坐标、运动速率和运动方向等,因此,可以直接获取到源节点对应的位置坐标、运动速率和运动方向;同时,可以根据预置周期,使用探测包来获得各个接口分别对应的两个相邻节点中除源节点以外的另一个相邻节点的位置坐标、运动速率和运动方向,并保存在FIB各个接口分别对应的接口信息表中;表1为一个FIB对应的接口信息表。接口编号x轴坐标值x0y轴坐标值y0夹角θ速率v43116.23561339.54875230423116.23561539.548752304表1在表1中,从左到右数第一列记录的是FIB对应的所有接口的编号,具体为编号为43的接口和编号为23的接口;第二列记录的是接口分别对应的两个相邻节点中除源节点以外的另一个相邻节点的x轴坐标值x0;第三列记录的是接口分别对应的所述另一个相邻节点的y轴坐标y0;第四列记录的是接口分别对应的所述另一个相邻节点当前的运动方向与y轴正向的夹角θ;第五列记录的是接口分别对应的所述另一个相邻节点的运动速率v。在实际应用中,坐标信息(x0,y0)和夹角θ均可以通过卫星导航系统获取到,图2为节点的坐标信息(x0,y0)和夹角θ的示意图。在图2中,x轴坐标值x0可以为节点所处的经度值,y轴坐标轴值y0可以为节点所处的纬度值,夹角θ可以为节点的当前运动方向与纬度方向,也即y轴正向的夹角;其中,卫星定位信息可以包括全球定位系统(GlobalPositioningSystem,GPS)和北斗卫星导航系统(BeiDouNavigationSatelliteSystem,BDS),本发明对获取节点坐标信息(x0,y0)和夹角θ的方式不加以限制。需要说明的是,接口信息表是一直存在的,当源节点接收到包含内容前缀的数据请求时,可以从接口信息表中获取所需的信息,因此,为了保证所述接口信息表中数据时效性,需要对所述接口信息表进行更新处理,具体地,接口信息表的更新流程如下:首先,可以周期性地向接口信息表中已经存在的接口发送探测包,以获取接口对应的两个相邻节点中除源节点以外的另一个相邻节点的各项信息,并将所述另一个相邻节点的各项信息保存在接口信息表中;如果在已经确定的与内容前缀对应的所有接口中,有部分接口尚不存在于接口信息表中,可以将所述部分接口添加到接口信息表中,通过发送探测包来获取所述部分接口分别对应的所述另一个相邻节点的各项信息,并将所述部分接口分别对应的另一个相邻节点的各项信息保存于接口信息表中;如果通过发送探测包无法获取到接口信息表中某些接口的信息,则说明所述某些接口已经丢失,可以从接口信息表中删除所述某些接口的信息。可见,本发明实施例能够通过接口信息表记录MANET中所有接口对应的两个相邻节点中除源节点以外的另一个相邻节点的信息,并进行周期性更新,以便在需要选择路由转发数据请求时,能够从接口信息表中获取可用接口对应的相关信息来计算出可用接口分别对应的路由的可用概率,进而为数据请求选择一个最大可用概率的路由进行转发,以提高数据请求效率和网络资源的利用率。在具体实施过程中,在确定所述FIB中与内容前缀对应的所有接口之后,在根据所述所有接口分别对应的两个相邻节点的运动状态都不发生变化的情况下,可以根据所述两个相邻节点的位置信息和速度信息,计算出所述所有接口分别对应的路由的生存时长;其中,运动状态包括运动方向和运动速度。但是在实际应用中,MANET中的节点是可以相互独立地频繁改变运动状态的,并且,根据路由在任意时间内的可用概率来选择最佳路由的方式更加方便。因此,本发明实施例能够根据接口信息表中的相邻节点信息,计算出接口对应的路由的生存时长,再根据路由对应的生存时长,计算出在相邻节点的运动状态可能出现改变的情况下,接口对应的路由在任意时间内的可用概率。以一个接口为例,说明由接口对应的两个相邻节点的各项信息,计算出接口对应的路由的可用概率的具体过程:子步骤11,获取接口分别对应的两个相邻节点i和j的位置信息和速度信息,包括:节点i的位置坐标(xi,yi)和相邻节点j的位置坐标(xj,yj),节点i的运动速率vi和节点j的运动速率vj,以及节点i的运动方向θi和节点j的运动方向θj;具体地,所述两个相邻节点中源节点的位置信息和速度信息可以直接获取;而所述两个相邻节点中除源节点以外的另一个相邻节点的速度信息和运动信息可以从接口信息表中获取。子步骤12,根据获取到的接口分别对应的两个相邻节点i和j的位置信息和速度信息,确定所述接口对应的路由的生存时长t;具体地,所述接口对应的路由的生存时长为采用如下公式(1)计算获得:t=-(a×b+c×d)+(a2+c2)×r2-(a×d-b×c)2a2+c2---(1)]]>在公式(1)中,t为所述接口对应的路由的生存时长,a=vicosθi-vjcosθj,b=xi-xj,c=visinθi-vjsinθj,d=yi-yj,r为节点之间的最大有效传输距离需要说明的是,根据公式(1)计算出的生存时长t值为在两个相邻节点i和j的运动状态都不发生改变的情况下,所述接口对应的路由的生存时长,也就是说,若当前时刻为t0,则所述路由在t0到t0+t这段时间是存在的。子步骤13,根据所述生存时长t,确定在所述所有接口对应的相邻节点的运动速率和/或运动方向出现变更时,所述所有接口分别对应的路由在一时间段内的第一可用概率L(t);具体地,第一可用概率为采用如下公式(2)计算获得:L(t)=(1-e-2λ×t)×(12λ×t+X)+12×λ×t×e-2λ×t---(2)]]>在公式(2)中,L(t)为当所述相邻节点的运动速率和/或运动方向出现变更时,路由从时间点t0到t0+t内的第一可用概率;t为接口对应的路由的生存时长;L(t)服从λ-1指数分布;X可以采用测量值来估计,在实际应用中,为了使L(t)值最小,可以取X=0;λ为率参数,且λ>0。子步骤14,根据所述第一可用概率L(t),确定所述所有接口分别对应的路由在任意时间段内的第二可用概率p(Δt),并将所述第二可用概率作为所述路由的可用概率。具体地,第二可用概率为采用如下公式(3)计算获得:p(Δt)={1-1-L(t)t×Δt,0≤Δt≤tL(t)log(Δt-t+1)+1,Δt>t---(3)]]>在公式(3)中,L(t)是由公式(2)计算出的,表示在相邻节点的运动状态可能出现改变的情况下,所述路由在当前时间t0到t0+t这段时间内的第一可用概率;p(Δt)表示所述路由在任意时间段Δt内的第二可用概率,也就是说,所述路由在任意时间段Δt内存在的概率为p(Δt);并且将第二可用概率p(Δt)作为所述路由的可用概率。可见,路由对应的可用概率越大,说明所述路由在任意时间段内的持续可用的概率就越大,相应地,所述路由的生存时间也越长,所述路由也就越稳定;同时,由于所述路由能够在较长时间段内保持可用状态,当后续再次发起与之前的数据请求的内容前缀相同的新数据请求时,就不再需要将新数据请求发送至存储所述内容前缀对应信息的服务器,而可以直接从所述路由的沿路节点缓存中获取到所述内容前缀对应的信息,这样,沿路节点缓存方式就能够在MANET中发挥显著的优化作用,不仅缩短了数据请求的响应时长,而且使网络资源得到了充分利用。在本发明的一种应用实施例中,参见图3,图3为本发明实施例中对数据请求进行路由转发的流程图,具体地,节点接收到数据请求并选择的路由对数据请求进行转发的完整过程如下:子步骤21,节点获取到所述请求节点发送的包含内容前缀的数据请求;具体地,节点通过请求节点与节点之间的接口,接收请求节点发送的包含内容前缀的数据请求。子步骤22,判断在所述节点对应的CS中是否包括所述内容前缀对应的信息,如果是,则执行子步骤23;如果否,则执行子步骤24;子步骤23,如果在所述CS中能够查找到所述内容前缀对应的信息,则将所述信息返回给所述请求节点,数据请求结束;需要说明的是,在所述CS中能够查找到所述内容前缀对应的信息,也就是说,所述节点的缓存中保存有所述内容前缀对应的信息,此时,只需要将所述信息返回给所述请求节点即可,无需再将数据请求转发至其他节点,数据请求结束。子步骤24,如果在所述CS中没有查找到所述内容前缀对应的信息,则将数据请求转发至所述节点对应的PIT中,执行子步骤25;其中,CS用于保存节点的缓存内容;PIT用于记录未得到响应的数据请求以及所述未得到响应的数据请求对应的转发路由,以便当找到所述未得到响应的数据请求的内容前缀对应的信息时,能够将所述信息原路返回给请求节点。子步骤25,判断在所述节点对应的所述PIT中是否包括所述内容前缀对应的信息,如果是,则执行子步骤26;如果否,则执行子步骤27;子步骤26,如果在所述PIT中查找到内容前缀对应的信息,则确定所述数据请求对应的路由,将所述数据请求与所述路由的对应关系保存在所述PIT中,并撤销所述数据请求,数据请求结束;需要说明的是,如果在所述PIT中能够找到内容前缀对应的信息,说明之前已经有过相同的数据请求,并之前的数据请求已经转发出去了,可以理解的,为了避免重复发送相同的数据请求,因此对后续相同的数据请求执行撤销操作,结束数据请求,也就是说,对后续相同的数据请求不再进行转发。子步骤27,如果在所述PIT中没有查找到所述内容前缀对应的信息,则将所述数据请求转发至所述节点对应的FIB中,执行子步骤28;其中,FIB用于保存内容前缀与接口的对应关系,当需要转发数据请求时,可以在FIB中根据数据请求中的内容前缀查找到可用的接口列表,通常情况下,一个内容前缀对应的可用接口为多个。子步骤28,判断在所述节点对应的所述FIB中是否包括所述内容前缀对应的信息,如果是,则执行子步骤29;如果否,则执行子步骤30;子步骤29,如果在所述FIB中查找到所述内容前缀对应的信息,则根据所述所有接口分别对应的路由的可用概率,确定所述数据请求对应的路由,执行子步骤33;具体地,可以先确定所述FIB中与内容前缀对应的所有接口;再根据接口分别对应的相邻节点的所述位置信息和所述速度信息,确定所述接口分别对应的路由的可用概率值,将所述所有接口中最大可用概率对应的路由确定为所述数据请求对应的路由。子步骤30,如果在所述FIB中没有查找到所述信息,则判断所述节点周围是否存在除与所述请求节点之间的接口以外的其他接口,如果是,则执行子步骤31;如果否,则执行子步骤32;子步骤31,如果所述节点周围存在除与所述请求节点之间的接口以外的其他接口,则从所述节点周围的接口中随机选择一个接口作为所述数据请求对应的接口,执行子步骤33;子步骤32,如果所述节点周围不存在除与所述请求节点之间的接口以外的其他接口,则撤销所述数据请求,数据请求结束;子步骤33,将所述数据请求通过所述路由转发至MANET中的下一个节点。可见,在本发明实施例中,为了保证数据请求能够继续转发下去,即使在节点对应的FIB中没有找到与数据请求对应的信息的情况下,也能够从节点周围的接口中随机选取一个接口对应的路由对数据请求进行转发,避免数据请求被中途抛弃从而导致请求节点无法接收到对应的数据回复。为了评估本发明实施例所述方案的性能,在Ubuntu系统下的ndnSIM上做了大量仿真实验;其中,Ubuntu使用14.04,libboost使用1.55,ndnSIM使用1.0,ndnSIM1.0是实现NDN的一个NS-3的模块。设置网络中的节点数为65个,最大通信距离是200m,仿真时间是100s,具体参数如表2所示。表2其中,65个节点中移动节点为60个,其中55号节点为请求节点。这60个移动节点分布在以100m×100m的范围内,并限制其在1000m×1000m的区域内移动,以连续比特率作为数据流的通信源。节点以小于5m/s的速率在区域内按照随机方向运动,节点在每移动一次都会短暂的停顿,停顿时间是2s,然后移动到下一个位置。为了方便实验,实现中使用了固定的速度。65个节点中的另外5个节点为固定节点,其中3号节点设定为服务节点,0号节点设定为能与移动节点交互的固定WiFi节点。需要说明的是,实验使用的网络拓扑结构是随机产生的。由于在实际应用中互联网的报文到达满足泊松过程,因此,在实验中也将用户发送的数据请求包模拟为满足泊松到达特性,具体地,平均每秒发送10个数据请求包,仿真时间为100s。为了体现内容流行度的影响,实验中的客户端请求符合齐普夫定律,并且CS的替换算法采用最近很少使用(LeastRecentlyUsed,LRU)算法。首先,实验从平均响应时间和总体响应时间这两个方面比较了三种网络体系的响应时间指标;其中,三种网络体系分别为基于链路生存时间的预测模型(MobileTimeForecastModel,MTFM)、TCP/IP网络体系以及使用命名数据链路状态路由(Named-dataLinkStateRouting,NLSR)协议的NDN;需要说明的是,MTFM使用本发明实施例所述的选择路由方法和沿路节点缓存策略,TCP/IP网络体系不需要使用沿路节点缓存策略,NDN-NLSR使用全转发路由策略和沿路节点缓存策略。具体地,平均响应时间为采用公式(4)计算得到:ARTi=Σj=1iTimeji---(4)]]>在公式(4)中,平均响应时间(AverageResponseTime,ART)为前i秒的平均响应时间,Timej表示第j秒响应时间。ART能够反应出不同网络体系下平均响应时间的发展趋势,其中,三种网络体系下的平均响应时间对比图如图4所示,在图4中,横轴为仿真时间,纵轴为平均响应时间。从图4可以看出,在60s之前,NDN-NLSR依靠庞大的节点缓存量和全转发路由策略,使平均响应时间曲线收敛地很快,但是在60s至后,MTFM对应的平均响应时间曲线与NDN-NLSR对应的平均响应时间曲线差距较小;相比之下,传统的TCP-IP网络体系对应的平均响应时间曲线的峰值和均值都大很多。可见,MTFM和NDN-NLSR在平均响应时间方面的性能较为接近。为了进一步了解这三种网络体系在响应时间方面的性能差异,实验还从总体响应时间对这三者进行了比较。其中,总体响应时间是从请求节点第一次发送数据请求包到请求节点收到与数据请求包对应的数据回复包之间的这段时间,三种网络体系下总体响应时间的对比图如图5所示,在图5中,横轴为三种网络体系,纵轴为总体响应时间。从图5中可以看出,MTFM对应的总体响应时间量远小于NDN-NLSR对应的总体响应时间量,这是因为MTFM减少了数据请求包的发送;另外,TCP-IP网络体系对应的总体响应时间量远大于MTFM和NDN-NLSR分别对应的总体响应时间量。可见,MTFM对应的总体响应时间最短,可以理解的,与NDN-NLSR和TCP-IP网络体系相比,MTFM中的数据请求效率最高。接下来,为了更加全面的衡量MTFM的性能,实验从沿路节点缓存的命中次数和沿路节点缓存的未命中次数这两方面分别比较了三种网络体系下沿路节点缓存的利用率,其中,三种网络体系下的缓存命中情况的对比图如图6所示,在图6中,横轴为三种网络体系,纵轴为缓存命中情况。在图6中,MTFM对应的缓存命中情况明显优于NDN-NLSR对应的缓存命中情况。但是由于网络中的节点是频繁移动的,图6中显示的是十次实验得的测试结果,因此不排除在个别情况下,NDN-NLSR对应的缓存命中情况可能优于MTFM对应的缓存命中情况。另外,由于TCP/IP网络体系不存在缓存机制,因此无法衡量TCP/IP网络体系下的缓存命中情况。最后,实验又从瞬时网络流量、平均网络流量和总体网络流量这三方面对三种网络体系下的网络流量情况进行了对比,其中,瞬时网络流量为单位时间内的流量之和,平均网络流量由公式(5)计算所得:NTi=Σj=1intji---(5)]]>在公式(5)中,NTi为前i秒平均网络流量,ntj为第j秒网络流量,总体网络流量即仿真时间内所有节点的流量之和。三种网络体系下的瞬时网络流量对比如图7所示,图7中的横坐标为仿真时间,纵坐标为单位时间内所有节点产生的流量之和,也即瞬时网络流量。从图7中可以看出,三种网络体系分别对应的瞬时网络流量曲线在起始位置处的差距不大,随着时间的推移,TCP-IP网络体系和MTFM分别对应的瞬时网络流量曲线的波动幅度均较小,且TCP-IP网络对应的瞬时网络流量曲线的下降趋势不明显,相比之下,MTFM对应的瞬时网络流量曲线有较为明显的下降趋势;而NDN-NLSR对应的瞬时网络流量曲线有较明显的波动,在49s处,NDN-NLSR对应的瞬时网络流量接近1100kilobytes,可以理解的,此处的瞬时网络流量值是由于NDN-NLSR使用的全转发路由策略。另外,NDN-NLSR和MTFM分别对应的瞬时网络流量曲线在单位时间内都存在流量为0的情况,这是由于在本地节点缓存中保存有数据请求对应的信息的情况下,不需要再将数据请求转发至其他节点,这也是沿路节点缓存策略的优势所在。三种网络体系下的平均网络流量对比如图8所示,图8中的横坐标为仿真时间,纵坐标为前i秒时间的平均网络流量。从图8中可以看出,整体来看,TCP-IP网络体系和NDN-NLSR分别对应的平均网络流量曲线的峰值较大,具体地,在50s后,NDN-NLSR和MTFM分别对应的平均网络流量曲线的收敛较为迅速。可见,MTFM对应的平均网络流量曲线的峰值较小且在后期的收敛较快,因此,相比之下,MTFM对应的平均网络流量较小。三种网络环境下的总体网络流量对比如图9所示,在图9中,横轴为三种网络体系,纵轴为总体网络流量。从图9中可以看出,TCP-IP网络体系对应的总体网络流量最大,这是因为TCP/IP在每次发起数据请求的时候,都需要寻找到目的主机,并完成数据包的回传,所以总体网络流量最大;而MTFM对应的总体网络流量比NDN-NLSR对应的总体网络流量小。但由于网络中的节点是频繁运动的,因此不排除在个别情况下,NDN-NLSR对应的总体网络流量可能会小于MTFM对应的总体网络流量。可见,应用本发明实施例所述选择路由方案并结合沿路节点缓存策略的MTFM,无论在响应时间、沿路节点缓存的利用率还是网络流量方面都优于传统的TCP-IP网络体系和NDN-NLSR,因此,本发明实施例所述方案不仅能够增加节点缓存的命中率,提高网络资源的利用率,而且可以降低网络的数据流量,缩短数据请求的响应时延。装置实施例参见图10,图10为本发明实施例的选择路由装置的一种结构图,具体可以包括以下单元:第一确定单元1001,用于在节点获取到包含内容前缀的数据请求,且在所述节点对应的转发信息库中查找到所述内容前缀对应的信息时,确定所述转发信息库中与所述内容前缀对应的所有接口;获取单元1002,用于获取所述所有接口分别对应的相邻节点的位置信息和速度信息;预测单元1003,用于根据所述位置信息和所述速度信息,预测所述所有接口分别对应的路由的生存时长;第二确定单元1004,用于根据所述生存时长,确定所述所有接口分别对应的路由的可用概率;第三确定单元1005,用于将所述所有接口分别对应的路由中最大可用概率对应的路由确定为所述数据请求对应的路由。在本发明的一种可选实施例中,所述所有接口分别对应的相邻节点包括所述所有接口分别对应的两个相邻节点,其中,所述两个相邻节点包括所述节点和另一个相邻节点;所述获取单元1002,包括:第一获取子单元、保存子单元和第二获取子单元;所述第一获取子单元,用于获取所述节点的位置信息和速度信息;所述保存子单元,用于根据预置周期,通过发送探测包获取所述所有接口分别对应的两个相邻节点中除所述节点以外的另一个相邻节点的位置信息和速度信息,并将所述另一个相邻节点的位置信息和速度信息保存在接口信息表中;所述第二获取子单元,用于从所述接口信息表中获取所述另一个相邻节点的位置信息和速度信息。在本发明的又一种可选实施例中,所述预测单元1003,包括:第一计算子单元;所述第一计算子单元,用于所述预测单元1003得到的所述所有接口分别对应的路由的生存时长,为采用如下公式计算获得:t=-(a×b+c×d)+(a2+c2)×r2-(a×d-b×c)2a2+c2]]>其中,a=vicosθi-vjcosθj,b=xi-xj,c=visinθi-vjsinθj,d=yi-yj,t为所述所有接口分别对应的路由的生存时长,(xi,yi)和(xj,yj)分别为所述所有接口分别对应的两个相邻节点的位置坐标,vi和vj分别为所述两个相邻节点的运动速率,θi和θj分别为所述两个相邻节点的运动方向。在本发明的另一种可选实施例中,所述第二确定单元1004,包括:第一确定子单元、第二确定子单元和第三确定子单元;所述第一确定子单元,用于根据所述生存时长,确定在所述所有接口对应的相邻节点的运动速率和/或运动方向出现变更时,所述所有接口分别对应的路由在一时间段内的第一可用概率;所述第二确定子单元,用于根据所述第一可用概率,确定所述所有接口分别对应的路由在任意时间段内的第二可用概率;所述第三确定子单元,用于将所述第二可用概率确定为所述路由的可用概率。在本发明的再一种可选实施例中,所述第一确定子单元,包括:第二计算子单元和第三计算子单元;所述第二计算子单元,用于根据所述生存时长,采用如下公式计算出在所述所有接口对应的相邻节点的运动速率和/或运动方向出现变更时,所述所有接口分别对应的路由在一时间段内的第一可用概率:L(t)=(1-e-2λ×t)×(12λ×t+X)+12×λ×t×e-2λ×t]]>其中,L(t)为当所述相邻节点的运动速率和/或运动方向出现变更时,所述路由从时间点t0到t0+t内的第一可用概率,t为所述接口对应的路由的生存时长,L(t)服从λ-1指数分布,X为测量估计值,λ为率参数;所述第三计算子单元,用于根据所述第二计算子单元计算出的所述第一可用概率,采用如下公式计算出所述所有接口分别对应的路由在任意时间段内的第二可用概率:p(Δt)=1-1-L(t)t×Δt,0≤Δt≤tL(t)log(Δt-t+1)+1,Δt>t]]>其中,Δt为任意时间段,p(Δt)为所述路由在任意时间段Δt内的第二可用概率,L(t)为当所述相邻节点的运动速率和/或运动方向出现变更时,所述路由从时间点t0到t0+t内的第一可用概率,t为所述接口对应的路由的生存时长。在本发明的再一种可选实施例中,所述第一确定单元1001,包括:第三获取子单元;所述第三获取子单元,用于通过请求节点与节点之间的接口,所述节点获取到所述请求节点发送的包含内容前缀的数据请求;所述装置还可以包括:发送单元;所述发送单元,用于在所述节点对应的内容存储器CS中查找到所述内容前缀对应的信息时,将所述信息发送回所述请求节点。在本发明的再一种可选实施例中,所述装置还可以包括:第四确定单元;所述第四确定单元,用于在所述节点对应的CS中、所述节点对应的未决兴趣请求表PIT中、以及所述节点对应的FIB中均没有查找到所述内容前缀对应的信息,且所述节点周围只有一个接口时,撤销所述数据请求;其中,所述接口为所述节点与所述请求节点之间的接口。在本发明的再一种可选实施例中,所述装置还可以包括:第五确定单元;所述第五确定单元,用于在所述节点对应的CS中、所述节点对应的PIT中、以及所述节点对应的FIB中均没有查找到所述内容前缀对应的信息,且所述源节点周围至少有两个接口时,从所述源节点周围的可用接口分别对应的路由中随机选择一个路由确定为所述数据请求对应的路由;其中,所述可用接口为所述源节点周围的接口中除所述节点与所述请求节点之间的接口以外的其他接口。在本发明的再一种可选实施例中,所述装置还可以包括:第六确定单元和保存单元;所述第六确定单元,用于在所述节点对应的CS中没有查找到所述内容前缀对应的信息,且在所述节点对应的PIT中查找到所述信息时,确定所述数据请求对应的路由;所述保存单元,用于将所述数据请求与所述路由的对应关系保存在所述PIT中,并撤销所述数据请求。需要说明的是,本发明实施例的装置是应用上述选择路由方法的装置,则上述选择路由方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1