背景技术
在过去的网络中,相互连接的设备大多是电脑等大型设备;而现在,基于各种网络范式的移动网络和云计算设备直接相互联系,如电脑,智能手机,平板电脑,相机等其他设备。由此出现了物联网的原型。随着物联网的出现,其应用的网络框架发挥着越来越重要的作用,有效的网络的框架为物联网的应用程序提供高效数据传输的过程。然而,现有的网络还不能很好的支撑物联网的应用。由于,现有的一些非结构化网络仍存在着一些问题,例如无线网络的不稳定,网络中缺乏信任模型,薄弱的移动网络等。因此,为这些非结构化的网络(例如,容迟网络)设计一个高效的路由方法至关重要,有效的容迟网络路由对物联网应用的数据传输方面的发展有着承上启下的直接作用。
在容迟网络中,节点移动导致网络拓扑动态变化,网络中任意两个节点之间某个时刻或者某段时间内不存在一条稳定的端到端连通路径。容迟网络应用于网络环境中,采用“存储-携带-转发”的传输机制,网络中节点的运动导致网络拓扑结构不断变化,使传统的路由无法适用。因此设计可靠有效的容迟网络路由来促进节点间数据的传输和共享是容迟网络研究的一个核心问题,近年来,有大量针对容迟网络的新的路由方法提出。例如,First Contact,Epidemic,Spray and wait,PROPHET等路由方法。
概率路由方法(PROPHET,Probabilistic Routing Protocol using History ofEncounters&Transitivity)是基于历史的预测传输策略的典型代表。然而,这其中仍然存在不足之处:
1.由于传输过程的时间和路径延长,传输数据的内容可能受到一定的破坏,而不完整。
2.由于容迟网络的特点,信息在传输过程中必定经过多个中继节点的转发。然而,若存在过多的中继节点,信息容易在传输的途中丢失,同时这会导致数据传输效率的低下。
3.受信息生存时间和限额缓存的限制,部分数据会因为生存时间已满或缓存区拥挤而被删除。
针对已有路由方法存在的不足,为了提高信息成功传输率,减少数据丢失,从而提高整个数据传输过程的效率,本发明着眼于数据传输概率估算,节点缓存和节点负载量,提出一种新的基于调度策略的路由方法。
发明内容
经典概率路由方法(PROPHET)的规则是,如果两个节点频繁的相遇,那么其传输概率值将迅速增加。反之,如果两个节点受网络错误的影响,在某一个时间单元内的传输概率就会急剧下降。另一方面,由于概率路由其本身缓存区的管理和传输规则的缺陷,数据可能会被破坏或丢失。为解决概率路由方法的以上不足,本发明提出一种面向物联网应用的基于调度策略的容迟网络概率优化路由方法,目的是提高概率路由的性能。
本发明解决其技术问题所采用的技术方案如下:一种面向物联网应用的容迟网络路由方法,包括:
步骤1,相遇节点相互交换数据表,并计算更新网络每两个节点之间的相遇概率;
步骤2,根据步骤1得到的最新相遇概率,对当前网络状况,计算得出可供选择的传输路径,选择合适更优的节点进行传输数据;
步骤3,在步骤2完后传输后,节点对存储在自身缓存中的数据进行管理。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤1中计算每个节点之间的相遇概率,具体包括:
步骤1.1,处于通讯范围内的节点相互交换其携带的数据表,根据公式(1)计算通讯范围内每两个节点之间的相遇概率;
步骤1.2,根据公式(2)将这个网络中的节点相遇概率重新规划。
进一步,所述步骤2在选择更优传输节点的过程中,需要依据一系列的选择判断准则来从多种路径中选择更有效的传输路径。
进一步,所述步骤2中包含了一种基于调度机制的传输模型,该模型通过对可能的传输路径的概率,传输路径的跳数,以及下一跳节点的负载量进行多重比较,最终获得针对待发数据更有效的传输路径。具体包括:
步骤2.1,根据步骤1得到的整个网络节点的相遇概率,得到多条可能的传输路径;
步骤2.2,根据公式(4),计算出所有可能传输路径的概率,然后根据得到的路径概率对所有路径由概率从高到低进行排序;若存在多于一条的路径的传输概率相等,且都是最大概率时,则比较这几条传输路径的传输跳数;否则选择概率最大的一条传输路径传输数据;
步骤2.3,在比较传输路径的传输跳数时,先计算得到每条路径的总跳数,然后对这几条路径由跳数从低到高进行排序;若存在多于一条的路径的跳数相等,且都是最低跳数时,则比较这条传输路径的下一跳节点负载量;否咋选择跳数最少的一条传输路径传输数据;
步骤2.4,在比较传输路径的下一跳节点负载量时,由节点相遇时相互交换的数据表中的节点负载量的值来判定,选择负载量最少的节点作为下一跳节点。若存在多个这样的节点,则选择多条这样的路径同时传输,增大数据的传输率。
进一步,所述步骤3中对待节点中收到的来自其他节点的数据,进行合理有效的调度管理,分配相应的优先级;并且删除已经成功传递到终点的数据。
本发明的优点是:较为有效地提升了经典概率路由方法的性能,使得数据传输率明显提升,数据传输延迟和路由开销大大减少。与现有的发明相比,为了使数据传输更加有效,且耗费更少的网络资源,本发明提出了两种调度策略,使数据转发更加有效且高效,并且可以提高路由方法的传输成功率。同时,本发明的路由方法中强调了完整传输预测值和跳数,信息通过相对最短的路径和传输预测最高的路径传输,大大降低了路由开销。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实力只用于解释本发明,并非用于限定本发明的范围。
如图1所示,一种面向物联网应用的容迟网络路由方法,主要包括传输概率计算模块、数据管理策略模块、数据转发策略模块。
传输概率计算模块。当两个节点相遇后,节点A与节点B交换传输向量表,更新其传输概率,并重新分配调整整个网络节点间的传输概率。此外,节点A统计当前时刻,可以用于传输数据的路径,计算所有路径的完整传输概率值。若存在相同传输概率的路径,还将统计路径的传输跳数。
数据管理策略模块。数据管理主要是指对缓存区内的数据进行管理,主要根据传输概率计算模块的结果和数据传输的结果来衡定。一方面,根据目标节点发出的ACK消息,转发节点从缓存中删除相关数据的副本,以此空余出有效的空间供后续数据存储。另一方面,根据节点之间的传输概率大小来设置相关数据的优先级高低,对传输概率大的节点数据设置较高的优先级,否之,设置较低的优先级。对于优先级较高的数据将会得到优先传输的机会,而优先级较低的数据传输机会相对较少,且当缓存区溢出时,将考虑先删除优先级低的数据。
数据转发策略模块。根据缓存区中的设定好的数据优先级,数据转发依照如下原则进行:首先数据传输路径保证是最大传输概率路径,即数据传输路径的完整传输概率值在所有可供选择的路径中是最大的;其次,当有多条路径的完整传输概率值相等且都最大时,则选择传输最短路径,即数据传输路径的传输跳数最少。
如图2所示,一种面向物联网应用的容迟网络路由方法,就是通过调度方法来改进经典概率路由的性能。为了减少网络错误对传输预测值的影响,本发明的引用了平均增量的方法,以达到缓和传输概率的变化情况和平衡分配每个节点的概率值的目的。具体计算方法如下所述:
我们定义节点A与节点B相遇的概率为P(A,B)∈[0,1],当节点A携带着数据与节点B相遇时,节点A和节点B的传输概率根据公式(1)计算得出。其中,β∈(0.5,1),是一个初始化的常数。然后需要重新规划所有节点的传输概率值。假设网络中所有节点构成集合N,若i∈N,j∈N,那么重新规划传输概率值,如公式(2)所示。
P(A,B)new=P(A,B)old+[1-P(A,B)old]*β (1)
因而,在该网络中的每个节点都需要维护一个传输向量表来存放到所有节点的传输概率值,当两个节点相遇时,彼此会相互交换这个传输向量表。若节点A第一次与节点B相遇,在更新节点A和节点B传输概率P(A,B)时,其前一时刻的传输概率值为Pinit,如公式(3)所示。其中,Pinit∈(0,1]是一个初始化的常数,定义了所有节点在第一次相遇时的概率值。
P(A,B)old=Pinit (3)
利用这种方法,使节点A和节点B传输概率值P(A,B)与节点A和节点B相遇的频繁程度产生密切的联系。对节点A而言,若节点A和某一节点C相遇的频繁程度极低,那么P(A,C)就会越来越低,从而使节点C得不到传输的机会。
由于容迟网络固有的特点,数据从源节点到目标节点的传递过程中将经过众多的中继节点,经历无数次的复制和转发。然而频繁的复制副本,和中继转发容易导致数据的缺损,甚至导致数据传输失败。因此,我们定义了完整传输概率值,它计算了从目前节点i到目标节点d的整条路径的传输概率,记为S(i,i+1,…,d),如公式(4)所示。
对于源节点i到目标节点d,由公式(4)可以得到多个S(i,i+1,…,d)值,其中最大值的一条路径就是传输的最优路径,即它具有最大的成功传输概率值。由此,我们选择的是一条较为高效的传输路径,以此降低传输的失败率和数据的丢失率。
当低效或无效数据充斥着整个容迟网络,占据着节点缓存时,一些重要急待传输的信息被搁置延迟。为了解决这一问题,本发明是基于调度策略的容迟网络概率优化路由方法。这种路由方法运用了调度机制来优化概率路由,主要由两种调度策略组成:一部分是数据管理策略,另一部分是数据转发策略。通过这两种机制协同作用使路由方法的成功传输率得到提高,并且减小了传输延迟。
数据管理策略指的是在节点缓存区内通过设置数据的优先级对其进行管理调度的策略。首先,利用广播ACK,通知其他节点删除已经完成传递的信息;其次,基于传输概率值来确定信息的优先级。若信息的传输概率值低,则赋予其较低的优先级,使其不易得到传输机会,从而避免产生低效传输的信息副本,进而提高整个网络的资源利用率和传输效率。反之,对于传输概率值较高的信息,则被赋予较高的优先级,使其尽快的得到传输机会。
数据转发策略指的是根据数据的优先级在执行转发时所遵循的调度策略。在容迟网络中,当两个移动节点相遇时,两个节点相互传递消息副本,但是为了提高网络的性能,我们对转发的执行进行控制和调整。首先,当节点A与节点B相遇时,判断相遇的节点B是否就是该信息的目标节点,若是则节点A直接将信息转发给节点B;若不是则继续一下判断,即节点A和节点B相互交换传输概率的传输向量表,由三个度量指标来来判断节点A是否将数据转发给节点B。两个相遇节点交换传输向量表之后,根据公式(4)可以得到一条可连通路径的完整传输概率值S(i,i+1,…,d),根据概率估算结果选择概率最大的路径进行传输。当有两条或多条路径的传输概率值相等时,则分别计算这几条路径的跳数,从中选择跳数最小的路径。通过这个方法,如果仍然有多条路径传输跳数相等,则选择负载量小的下一跳节点。总而言之,在转发策略中,我们的原则是选择具有较高成功传输率,相对较短的传输路径,并且节点负载量较小的下一跳节点。
如图3和图4所示,一种面向物联网应用的容迟网络路由方法,其具体实施过程如下:
1.对任意节点A遇到节点B后,节点A与节点B之间相互交换传输向量表,并根据公式(1)更新节点A与节点B的传输概率;然后,根据公式(2)对网络中的所有节点之间的传输概率进行重新计算。
2.节点B是否是节点A携带数据的终点(D);若是,节点A将数据转发给节点B,完成了关于该条数据(M)的传输。然后节点B向整个网络发送ACK消息,告知该数据已经传输完成,其他节点可以从缓存区中删除该数据的副本,以此来减少缓存区的占用。
3.若不是,节点A统计当前时刻可供选择的传输路径,从中选择较优的路径进行传输。然而,若不存在这种可供选择的传输路径,则节点A中携带的数据停止传输。
4.若存在这样的路径,则首先判断这些路径中概率最大的前三条路径的概率值S(Li)是否相等。若不相等,则按照传输概率最大的路径传输该数据。
5.若相等,则计算这三条路径的传输跳数h(Li)。按照传输跳数最少的路径传输该数据。
6.若存在两条或三条路径的传输跳数都相等,那么比较三条路径的下一跳节点的负载量(tli+1),选择将数据传输给负载量最小的节点。