本发明涉及一种网络数据转发方法,尤其涉及一种基于区域类型的机会网络数据转发方法,属于计算机应用技术领域。
背景技术:
随着目前网络技术的飞速发展,大量低成本、具备短距离无线通信能力的智能设备不断涌现,例如,行驶在公路上带有智能设备的车辆自组成车载网络,具有实现交通事故预警和其他道路安全应用;各种蓝牙、wi-fi接口的手持电子设备(如mp3播放器、手机、pda等)组成的自组织网络,具有实现数据共享或协作访问互联网等功能;放置在动物身上的传感器可组成移动传感器网络,具有收集动物迁徙数据信息的功能等,这些智能设备的出现大大推动了无线自组织网络应用的迅速发展。
在各种实际无线自组织网络应用中,无线自适应网络的拓扑结构可能随时发生改变,例如:节点移动、节点稀疏、射频关闭或障碍物等多种原因,造成信号衰减从而导致网络大多时候不能连通。在这种情况下,机会网络应运而生,机会网络是一种不需要源节点和目的节点之间存在完整路径,利用节点移动带来的相遇机会实现网络通信的、时延和分裂可容忍的自组织网络。
然而,机会网络是一种资源高度受限的网络,并且由于节点运动的无规则性、分布不均匀性、节点本地资源受限导致通信关闭等诸多原因,导致网络大多时候可能存在端到端链接以及资源稀缺的特征。
综上所述,如何提供一种机会网络数据转发方法,可提高机会网络的转发效率并且降低转发代价,就本领域技术人员亟待解决的问题。
技术实现要素:
本发明的目的是为了解决现有技术的上述缺陷,充分考虑区域类型之间差异性的基础上利用马尔科夫决策算法设计出基于最优化模型的数据转发策略,并根据城市土地规划的不同动态的设置区域模型,提高机会网络的转发效率并且降低转发代价,而提供一种机会网络数据转发方法。
本发明的技术解决方案是:
一种机会网络数据转发方法,通过节点对不同类型区域访问频率的不同,确定区域模型;以及根据确定的区域模型,并通过马尔科夫决策算法选择节点,包括如下步骤:
s1:初始化网络,将网络等分为k个矩形区域并随机分配区域类型,并定义节点归属区域、节点相邻区集、归属区之间的物理距离、区域相关性及区域权重的概念;
s2:根据马尔科夫决策算法选择是否将携带数据节点中的数据转发给n(1≤n≤2)个相遇节点,马尔科夫决策算法的具体细节为决策时刻、可能的状态、可用的行动集、报酬值及转移概率;
s3:携带数据节点相遇到未携带数据节点数m小于等于f-1个并且转发数n小于2时,重复步骤s2,f为马尔科夫决策阶段数且f=f-m;当n=0并且m=f时,数据转发给相遇的未携带数据的节点;
s4:如果数据包已经传送到目的区域,传输过程将被终止,算法停止;否则,在下一个时隙,重复步骤s2和步骤s3。
优选地,所述步骤s1中的将网络等分为k个矩形区域并随机分配区域类型是将整个网络ω等分为k个相互邻接的矩形区域r1,r2,...,rk,rk,并且∪rk=ω和∩rk=φ,并每个区域rk由一个三元组(xk,yk,tk)表示,其中(xk,yk)是区域的中心坐标,tk是区域类型的标识,节点位置由定位得到。
优选地,所述步骤s1中的节点归属区域、节点相邻区集、归属区之间的物理距离、区域相关性及区域权重分别为:
节点归属区域:节点i的归属区域,由h(i)表示,是i出现概率超过预设阈值ph的区域集合;
节点相邻集:节点i在t时隙的相邻集,用
归属区之间的物理距离:节点i和j之间归属区距离是属于h(i)和h(j)的任意两个区域之间的最小距离,由dij表示;
区域相关性:节点通常倾向于出现在相似类型的区域中,根据节点的运动轨迹计算不同区域类型的相关性。对于每个区域rk,rk和rk′之间的相关性被计算为:
其中,b(i,rk,rk′)设为1如果两个区域类型相同;否则,b(i,rk,rk′)设为0;
区域权重:区域rk的权重由wk(0≤wk≤1)表示,该值表示了数据包从当前区域rk传输到目的区域rd的可能性,
其中,α和γ为预设指数,其值分别反映区域类型和区域距离对区域权重的影响。
优选地,所述区域权重在第t个时隙节点j的区域权重表示为:
其中,p(j,rk)是节点j出现在区域rk的概率。
优选地,所述步骤s2中决策时刻、可能的状态、可用的行动集、报酬值及转移概率分别为:
决策时刻:t={1,...,f}f<∞
可能的状态:s=s'∪{δ}={0,1,δ}
可用的行动集:
报酬值:
其中,
转移概率:
优选地,所述马尔科夫决策算法的求解步骤为:
和
其中,
求解式(3)和式(4)即为马尔科夫决策算法的策略公式。
本发明提供了一种机会网络数据转发方法,其优点主要体现在以下几个方面:
(1)本发明充分考虑区域类型之间的差异性,通过给每个区域添加权重的方式得到节点的权值,从而量化了节点传输能力的大小。
(2)本发明利用马尔科夫决策算法设计出基于最优化模型的数据转发策略,并将数据以较大概率转发给传输能力较强的相遇节点,并具有较低的转发代价、较高数据送达率及较低的数据传输时延。
以下便结合实施例附图,对本发明的具体实施方式作进一步的详述,以使本发明技术方案更易于理解、掌握。
附图说明
图1是本发明中机会网络数据转发方法的流程图。
具体实施方式
一种机会网络数据转发方法,首先是通过节点对不同类型区域访问频率的不同,确定区域模型;然后再根据确定的区域模型,并通过马尔科夫决策算法选择节点,如图1所示,具体包括如下步骤:
s1:初始化网络,将网络等分为k个矩形区域并随机分配区域类型,并定义节点归属区域、节点相邻区集、归属区之间的物理距离、区域相关性及区域权重的概念;
s2:根据马尔科夫决策算法选择是否将携带数据节点中的数据转发给n(1≤n≤2)个相遇节点,马尔科夫决策算法的具体细节为决策时刻、可能的状态、可用的行动集、报酬值及转移概率;
s3:携带数据节点相遇到未携带数据节点数m小于等于f-1个并且转发数n小于2时,重复步骤s2,f为马尔科夫决策阶段数且f=f-m;当n=0并且m=f时,数据转发给相遇的未携带数据的节点;
s4:如果数据包已经传送到目的区域,传输过程将被终止,算法停止;否则,在下一个时隙,重复步骤s2和步骤s3。
进一步地,步骤s1中的将网络等分为k个矩形区域并随机分配区域类型是将整个网络ω等分为k个相互邻接的矩形区域r1,r2,…,rk,rk,并且∪rk=ω和∩rk=φ,并每个区域rk由一个三元组(xk,yk,tk)表示,其中(xk,yk)是区域的中心坐标,tk是区域类型的标识,节点位置由定位得到。
另外,步骤s1中的节点归属区域、节点相邻区集、归属区之间的物理距离、区域相关性及区域权重的定义分别为:
节点归属区域:节点i的归属区域,由h(i)表示,是i出现概率超过预设阈值ph的区域集合;
节点相邻集:节点i在t时隙的相邻集,用
归属区之间的物理距离:节点i和j之间归属区距离是属于h(i)和h(j)的任意两个区域之间的最小距离,由dij表示;
区域相关性:节点通常倾向于出现在相似类型的区域中,根据节点的运动轨迹计算不同区域类型的相关性。对于每个区域rk,rk和rk'之间的相关性被计算为:
其中,b(i,rk,rk′)设为1如果两个区域类型相同;否则,b(i,rk,rk′)设为0;
区域权重:区域rk的权重由wk(0≤wk≤1)表示,该值表示了数据包从当前区域rk传输到目的区域rd的可能性,
其中,α和γ为预设指数,其值分别反映区域类型和区域距离对区域权重的影响。
在第t个时隙节点j的区域权重表示为:
其中,p(j,rk)是节点j出现在区域rk的概率。
更进一步地,为提高数据送达率和降低时延,设计出马尔科夫决策算法,对马尔科夫决策算法的说明如下:(1)马尔科夫决策阶段数与决策节点数相同,从阶段1开始到阶段f=100时结束;(2)状态空间s有两个元素0和1,1表示当前的相遇节点比前面的所有相遇节点都好;0则表示当前的相遇节点不是最好的相遇节点;(3)行动集a有两个元素e和r,选取行动e表示将数据转发给当前的相遇节点,选取行动r表示不转发数据给当前的相遇节点;(4)选取行动r时的报酬总是0,
马尔科夫决策算法的具体细节为:
决策时刻:t={1,...,f}f<∞
可能的状态:s=s'∪{δ}={0,1,δ}
可用的行动集:
报酬值:
其中,
转移概率:
具体马尔科夫决策算法的求解步骤为:
且对于m=1,...,f-1,有
和
其中,
求解式(3)和式(4)即为马尔科夫决策算法的策略公式。
以下从k=100为例说明该机会网络数据转发方法:
整个网络ω等分为k=100个相互邻接的矩形区域r1,r2,…,rk,rk,并且∪rk=ω和∩rk=φ。每个区域rk由一个三元组(xk,yk,tk)表示,其中(xk,yk)是区域的中心坐标,tk是区域类型的标识。节点位置由定位得到。
定义1(节点归属区域):节点i的归属区域,由h(i)表示,是i出现概率超过预设阈值ph=0.5的区域集合。
定义2(节点相邻集):节点i在t时隙的相邻集,用
定义3(归属区之间的物理距离):节点i和j之间归属区距离是属于h(i)和h(j)的任意两个区域之间的最小距离,由dij表示。
定义4(区域相关性):节点通常倾向于出现在相似类型的区域中。根据节点的运动轨迹计算不同区域类型的相关性。对于每个区域rk,rk和rk′之间的相关性被计算为:
其中,b(i,rk,rk′)设为1如果两个区域类型相同;否则,b(i,rk,rk′)设为0。
定义5(区域权重):区域rk的权重由wk(0≤wk≤1)表示。该值表示了数据包从当前区域rk传输到目的区域rd的可能性。
其中,α=0.6和γ=0.4为预设指数,其值分别反映区域类型和区域距离对区域权重的影响。
在第t个时隙节点j的区域权重表示为:
其中,p(j,rk)是节点j出现在区域rk的概率,该值由统计的历史数据获得。
在上述基于区域模型的基础上本方法设计出的马尔科夫决策算法以提高数据送达率和降低时延。马尔科夫决策算法详细说明如下:
(1)在介绍算法步骤之前,我们需要详细说明马尔科夫决策过程。以下是马尔科夫决策的具体说明:
马尔科夫决策阶段数与决策节点数相同,从阶段1开始到阶段f=100时结束。
状态空间s有两个元素0和1。1表示当前的相遇节点比前面的所有相遇节点都好;0则表示当前的相遇节点不是最好的相遇节点。
行动集a有两个元素e和r。e表示将数据转发给当前的相遇节点;选取行动r表示不转发数据给当前的相遇节点。
选取行动r时的报酬总是0。
转移概率是不依赖于当前状态的,因此
马氏决策的具体细节是:
(1)决策时刻t={1,...,f}f<∞.
(2)可能的状态s=s'∪{δ}={0,1,δ}.
(3)可用的行动集
(4)报酬值
其中,
(5)转移概率
具体的求解过程如下:
和
特别地,存在
求解式(3)和式(4)得到最优策略。
基于区域类型的机会网络数据转发方法,具体步骤如下:
步骤1:初始化网络,将网络等分为k=100个矩形区域并随机分配区域类型。
步骤2:携带信息的节点将消息转发给n(1≤n≤2)个相遇节点。按马尔科夫决策决定是否转发。
根据马尔科夫决策可知:在第t个时隙,如果状态为1,并且
步骤3:携带数据节点相遇到未携带数据节点数m小于等于f-1个并且转发数n小于2时,转步骤2,同时,马尔科夫决策阶段数f=f-m。如果n=0并且m=f时,数据转发给相遇的未携带数据的节点。
步骤4:如果数据包已经传送到目的区域域,传输过程将被终止,算法停止;否则,在下一个时隙,应该重复步骤2和步骤3。
本发明充分考虑区域类型之间的差异性,通过给每个区域添加权重的方式得到节点的权值,从而量化了节点传输能力的大小。另外,本发明利用马尔科夫决策算法设计出基于最优化模型的数据转发策略,并将数据以较大概率转发给传输能力较强的相遇节点,并具有较低的转发代价、较高数据送达率及较低的数据传输时延。
应该注意的是,上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。