基于位图传输的机会网络免疫方法及系统的制作方法

文档序号:7803411阅读:148来源:国知局
基于位图传输的机会网络免疫方法及系统的制作方法
【专利摘要】本发明公开了一种基于位图传输的机会网络免疫方法及系统,其中方法包括以下步骤:节点生成携带机会网络相应信息的确认信息并存储,该确认信息包括确认位图和既往消息向量,该既往消息向量为系统中一段时间内有效消息产生器产生的既往消息编号,该确认位图为系统中一段时间内有效消息产生器产生的编号在既往消息向量之后的消息投递状况;两个节点相遇时,调整两个节点的既往消息向量和确认位图,将两个节点的确认信息更新为一致,并根据更新后的确认信息清理节点缓存中已经投递成功的消息或者已经过期的消息,然后按照选定的路由转发消息。本发明能有效提高机会网络中的消息投递率,降低投递开销。
【专利说明】基于位图传输的机会网络免疫方法及系统
【技术领域】
[0001]本发明涉及机会网络,尤其涉及一种基于位图传输的机会网络免疫方法及系统。【背景技术】
[0002]随着移动终端的出现及普及,无线自组织网络的广泛应用,为了研究能够运行在实际的自组织网络中通信机制,机会网络的概念应运而生。机会网络不需要源节点和目标节点之间存在完整的链路,利用节点移动带来的相遇机会实现通信。
[0003]机会网络采用“存储一携带一转发”的方式实现节点之间的通信。为了提高消息的投递率,机会网络中多采取多拷贝传输的路由机制。对于资源有限的节点以及通信机遇比较宝贵的网络而言,有效的确认机制将回收已经成功投递的消息在节点中所占空间,大大提闻节点存储空间的利用率,提闻网络有效传输的比例。
[0004]已有的主动免疫机制没有考虑确认信息本身带来的存储开销及传递开销;而被动免疫机制则存在确认消息传递过慢的弊端。可见这些免疫机制存在一定程度的局限性。

【发明内容】

[0005]本发明要解决的技术问题在于针对现有技术中的上述缺陷,提供一种能有效提高消息投递率,降低投递开销的基于位图传输的机会网络免疫方法及系统。
[0006]本发明解决其技术问题所采用的技术方案是:
[0007]提供一种基于位图传输的机会网络免疫方法,包括以下步骤:
[0008]节点生成携带机会网络相应信息的确认信息并存储,该确认信息包括确认位图和既往消息向量,该既往消息向量为系统中一段时间内有效消息产生器产生的既往消息编号,该确认位图为系统中一段时间内有效消息产生器产生的编号在既往消息向量之后的消息投递状况;
[0009]两个节点相遇时,调整两个节点的既往消息向量和确认位图,将两个节点的既往消息向量和确认位图更新为一致,并根据更新后的确认信息清理节点缓存中已经投递成功的消息或者已经过期的消息,然后按照选定的路由转发投递消息。
[0010]本发明所述的方法中,调整两个节点的既往消息向量为一致具体为:
[0011]两个节点相遇时,先将本地既往消息向量发送给对方;根据接收到的对方节点的既往消息向量调整本地既往消息向量,最终两个节点的既往消息向量将达到一致。
[0012]本发明所述的方法中,调整两个节点的确认位图为一致具体为:在既往消息向量调整完毕后,若本地既往消息向量已更新则相应调整本地确认位图,然后相互发送确认位图,根据对方发送过来的确认位图再次更新本地确认位图。
[0013]本发明所述的方法中,若更新后的确认位图开头存在连续确认的信息,则调整确认位图并更新既往消息向量。
[0014]本发明所述的方法中,若节点成功投递了消息或者节点作为消息的目的地接收了消息,则更新确认信息中的确认位图。[0015]本发明为解决其技术问题还提供了一种基于位图传输的机会网络免疫系统,包括:
[0016]确认信息生成和存储模块,用于生成携带机会网络相应信息的确认信息并存储,该确认信息包括确认位图和既往消息向量,该既往消息向量为系统中一段时间内有效消息产生器产生的既往消息编号,该确认位图为系统中一段时间内有效消息产生器产生的编号在既往消息向量之后的消息投递状况;
[0017]确认消息更新模块,用于调整两个节点的既往消息向量和确认位图,将两个节点的确认信息更新为一致,并根据更新后的确认信息清理节点缓存中已经投递成功的消息或者已经过期的消息,然后按照选定的路由转发消息。
[0018]本发明所述的系统中,所述确认消息更新模块在调整两个节点的确认信息为一致时,具体用于先进行既往消息向量的更新,将两个节点的既往消息向量更新为一致;然后根据调整后的既往消息向量调整本地节点的确认位图。
[0019]本发明所述的系统中,所述确认消息更新模块还用于在既往消息向量调整完毕后,通过两个相遇的节点相互发送确认位图,然后根据对方发送过来的确认位图再次更新本地确认位图。
[0020]本发明所述的系统中,所述确认消息更新模块还用于在调整后的确认位图开头存在连续确认的信息时,调整确认位图并更新既往消息向量。
[0021]本发明所述的系统中,所述确认消息更新模块还用于在节点成功投递了消息或者节点作为消息的目的地接收了消息时,更新确认信息中的确认位图。
[0022]本发明产生的有益效果是:本发明将单一的确认信息分解为采用确认位图和既往消息向量的二维模式进行存储,在当节点相遇时,将本地的确认信息发送给对方,然后根据对方发送过来的确认信息更新本地确认信息为新的确认信息,根据新的确认信息删除缓存中已经投递成功或已经过期的消息,实现主动免疫功能,大大减小了一般确认信息存储方式带来的巨大开销,能有效提高消息投递率,降低投递开销。
【专利附图】

【附图说明】
[0023]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0024]图1是本发明实施例的相遇节点确认信息更新示意图;
[0025]图2 (a)是本发明一个实施例中节点A和节点B相遇之前的确认信息;
[0026]图2 (b)是本发明一个实施例中节点A和节点B相遇后更新的既往消息向量;
[0027]图2(c)是本发明一个实施例中基于图2(b)更新后的既往消息向量更新的节点A的确认位图;
[0028]图3是本发明实施例节点A和节点B的确认信息传递及更新流程图。
【具体实施方式】
[0029]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0030]本发明的基于位图传输的机会网络免疫方法,包括以下步骤:[0031 ] 节点生成携带机会网络相应信息的确认信息并存储,该确认信息包括确认位图和既往消息向量,该既往消息向量为系统中一段时间内有效消息产生器产生的既往消息编号,该确认位图为系统中一段时间内有效消息产生器产生的编号在既往消息向量之后的消息投递状况;在节点未相遇时,若节点成功投递了消息或者节点作为消息的目的地接收了消息,则更新确认信息中的确认位图。在节点作为目的地收到消息后,将消息的确认信息发送给消息发送者。
[0032]两个节点相遇时,调整两个节点的既往消息向量和确认位图,调整两个节点的确认信息为一致,并根据调整后的确认信息清理节点缓存中已经投递成功的消息或者已经过期的消息,然后按照选定的路由转发消息。
[0033]本发明的一个实施例中,步骤“调整两个节点的确认信息为一致”具体为:
[0034]两个节点相遇时,先将本地的既往消息向量发送给对方,并根据接收到的对方节点的既往消息向量调整本地既往消息向量,将相遇节点的既往消息向量调整为一致。本发明的一个具体实施例中,具体方法为:节点新的既往消息向量中的第i个分量取两个节点既往消息向量中第i个分量的最大值。
[0035]在既往消息向量调整完毕后,若本地既往消息向量经过了调整,需相应调整本地节点的确认位图。在根据本地既往向量调整好本节点的确定位图后,两个相遇的节点相互发送经调整的确认位图,然后根据对方发送过来的确认位图再次更新本地确认位图。
[0036]若更新后的确认位图开头存在连续确认的信息,则调整确认位图并更新既往消息向量。
[0037]本发明采用确认位图和既往消息向量存储确认信息,从而完成主动免疫过程;本发明基于这样一个基础:系统中所有消息产生器按序编号(或编号唯一),每个消息产生器产生的消息按序编号。每个节点保存一个确认位图和既往消息向量,当获知有消息投递成功后,更新本地的确认位图,若有必要对既往消息向量进行更新;当两个节点相遇时,通过先将本地的既往消息向量和确认位图发送给对方,实现相遇节点确认信息的更新;每当节点本地存储的确认信息更新后,清理缓存中已经投递成功的消息,或已经过期的消息,然后再按预定的方法转发消息。显然,确认位图是相对于既往向量的确认信息,相遇两个节点更新确认信息时,需先将既往消息向量调整为一致后,并根据本地调整的情况更新本地确认位图,然后相互发送确认位图,进行确认位图的更新,达到最终节点确认信息一致的目的,然后根据新的确认信息清理各自缓存。此外,确认位图大小,和既往消息向量的维数如何设定也非常重要,可以根据相当长一段时间内系统有效消息产生器的个数,以及消息产生器产生的消息的频率和节点缓存容量来设计初始位图大小及既往消息向量维数大小。
[0038]1.设定确认位图及既往消息向量。
[0039]确认信息由确认位图和既往消息向量两部分构成。
[0040]在机会网络中,消息的编码具有唯一性,同一个站点发出的消息前缀相同,可以按照消息产生的先后顺序从大到小为消息编码。基于此本发明采用确认位图作为实现高效主动免疫方法的重要存储模式之一。变量定义如下:给定节点的确认位图AckBitMap,其大小为M*N位,其中M为系统中很长一段时间内有效的消息产生器的个数,N由系统中消息产生器产生的消息的频率以及节点缓存大小综合确定,默认值可以设为1024。系统中的消息投递情况和位图中相应的比特位对应,比特位为I或O表示对应编码的消息投递成功或未成功。基于此,AckBitMap可保存M个消息产生器的连续1024个消息的投递状况。
[0041]本发明中假设同一个站点发出的消息具有相同的前缀,按消息产生的先后编号,号码越小,此消息在网络中存在的时间越久,被投递成功,或已经死亡的概率越高。本发明定义既往消息向量VectorP,通过VectorP精简确认信息的存储;VeCtorP维数为M,M为系统中很长一段时间内有效的消息产生器的个数,VectorP保存所有消息产生器产生的既往消息编号,既往消息编号之前的消息的确认信息不再存放在确认位图中,可以默认这些消息已经成功投递,或由于生存期结束已经在网络中“死亡”;引入VectorP后AckBitMap可保存M个消息产生器产生的编号在既往消息向量的M个分量之后的连续1024个消息的投递状况。
[0042]初始状态,系统中各个节点的AckBitMap的每一位均为0,VectorP各个分量为O。
[0043]若节点已知消息News(i, j)投递成功,即节点成功投递了该消息,或节点作为该消息的目的地接收到了该消息,其中i表示系统中消息产生器的序号,(i,j)表示序号为i的消息产生器产生的第j个消息,若没有加入既往消息向量,节点的AckBitMap按公式(I)更新。
[0044]AckBitMap (i, j) = I (0< = i<M, 0< = j〈N) (I)
[0045]系 统运行到一定时间后,已投递成功的消息越来越多,其中有些消息的编号可能会等于或超过N,要采用既往消息向量对确认位图进行优化。
[0046]引入节点的既往消息向量VectorP ;对于消息产生器i(l〈 = i< = Μ)而言,将VectorP中第i维分量记为VectorP(i),则VectorP(i)之前的所有消息已经投递,AckBitMap中存储编号在VectorP中各分量之后的所有消息的确认信息。
[0047]加入既往消息向量后,若节点已知消息News (i, j)投递成功,当j〈VectorP(i)时,节点认为是过期的信息不予理踩,若VectorP(i)〈 = j〈VectorP(i)+1024, AckBitMap按公式⑵更新。
[0048]AckBitMap (i, j-VectorP ⑴)=I (0〈 = i<M, VectorP ⑴ < =j<N+VectorP ⑴)(2)
[0049]已知消息News (i, j)投递成功,且j> = VectorP (i)+1024,确认信息超出当前AckBitMap和VectorP描述的范围,先调整VectorP(i),再根据VectorP(i)调整的步长更新AckBitMap (i),最后再将第j个消息对应位置I ;其中VectorP (i)按公式(3)调整,AckBitMap (i)按公式(4)更新。
[0050]VectorPAJ (i) = j-1024+l(3)
[0051]AckBitMap (i, k) = AckBitMap(i, k+VectorP’ (i)-VectorP (i))
[0052](0〈 = k〈1024_(VectorP,(i)-VectorP(i)))
[0053]AckBitMap (i, j-VectorP’ (i)) = I(4)
[0054]定义A,B的既往消息向量分别为:VeCtorP_A,VectorP_B,确认位图分别为AckBitMap_A, AckBitMap_B。如图1所示,当A,B两个节点相遇时,它们先交换确认信息,即A,B先将本地的确认信息发送给对方,接着根据收到的确认信息更新本地确认信息,然后根据更新后的确认信息清除本地缓存中已经投递成功的消息或已经过期的消息,最后再按照选定的路由机制转发消息。
[0055]确认信息更新的具体流程图如图3所示。首先更新既往消息向量。如图2(a)所示,为节点A和节点B相遇之前的既往消息向量以及节点A的确认位图,本发明的一个实施例中,更新确认信息之前,既往消息向量按公式(5)调整为一致。
[0056]VectorP_A> (i) = VectorP_B> (i) = max{VectorP_A(i), VectorP_B(i)}(0< =i〈M) (5)
[0057]节点A和节点B调整后的既往消息向量如图2(b)所示。节点的既往消息向量调整后,其确认位图按式(6)调整。
[0058]AckBitMap (i, j) = AckBitMap(i, j+VectorP’ (i)-VectorP (i))
[0059](0〈 = i<M,0< = j〈1024_VectorP’ (i)-VectorP (i))(6)
[0060]节点A的确认位图调整后如图2 (C)所示。节点A,B将本地的确认位图发送给对方,然后根据收到的确认位图再次更新本地确认位图。以达到将本地确认信息告知对方,并根据对方发送过来的确认信息补充本地确认信息的目的。Α,Β的AckBitMap按式(7)进行更新。
[0061]AckBitMap_A’ = AckBitMap_B’ = AckB i tMap_AUAckB i tMap_B(7)
[0062]更新后的位图中可能在开头部分存在连续确认的信息,这种信息会导致既往消息向量更新,即再次更新后的确认位图中可能存在从起始位开始的连续确认信息,表明从对应既往向量标示的消息标号开始的若干条消息已经投递成功;可依据这类信息再次更新既往消息向量及确认位图。VectorP按式(8)调整,然后确认信息位图按式(6)调整。
【权利要求】
1.一种基于位图传输的机会网络免疫方法,其特征在于,包括以下步骤: 节点生成携带机会网络相应信息的确认信息并存储,该确认信息包括确认位图和既往消息向量,该既往消息向量为系统中一段时间内有效消息产生器产生的既往消息编号,该确认位图为系统中一段时间内有效消息产生器产生的编号在既往消息向量之后的消息投递状况; 两个节点相遇时,调整两个节点的既往消息向量和确认位图,将两个节点的确认信息更新为一致,并根据更新后的确认信息清理节点缓存中已经投递成功的消息或者已经过期的消息,然后按照选定的路由转发消息。
2.根据权利要求1所述的方法,其特征在于,调整两个节点的既往消息向量为一致具体为: 两个节点相遇时,先将本地既往消息向量发送给对方;根据接收到的对方节点的既往消息向量调整本地既往消息向量,最终两个节点的既往消息向量将达到一致。
3.根据权利要求2所述的方法,其特征在于,调整两个节点的确认位图为一致具体为: 在既往消息向量调整完毕后,若本地既往消息向量已更新则相应调整本地确认位图,然后相互发送确认位图,根据对方发送过来的确认位图调整本地确认位图。
4.根据权利要求3所述的方法,其特征在于,若调整后的确认位图开头存在连续确认的信息,则再次调整确认位图并更新既往消息向量。
5.根据权利要求1所述的方法,其特征在于,若节点成功投递了消息或者节点作为消息的目的地接收了消息,则更新确认信息中的确认位图。
6.一种基于位图传输的机会网络免疫系统,其特征在于,包括: 确认信息生成和存储模块,用于生成携带机会网络相应信息的确认信息并存储,该确认信息包括确认位图和既往消息向量,该既往消息向量为系统中一段时间内有效消息产生器产生的既往消息编号,该确认位图为系统中一段时间内有效消息产生器产生的编号在既往消息向量之后的消息投递状况; 确认消息更新模块,用于调整两个节点的既往消息向量和确认位图,将两个节点的确认信息更新为一致,并根据更新后的确认信息清理节点缓存中已经投递成功的消息或者已经过期的消息,然后按照选定的路由转发消息。
7.根据权利要求6所述的系统,其特征在于,所述确认消息更新模块在调整两个节点的确认信息为一致时,具体用于先进行既往消息向量的更新,将两个节点的既往消息向量更新为一致;然后根据调整后的既往消息向量调整本地节点的确认位图。
8.根据权利要求7所述的系统,其特征在于,所述确认消息更新模块还用于在既往消息向量调整完毕后,两个相遇的节点相互发送确认位图,然后节点根据对方发送过来的确认位图再次更新本地确认位图。
9.根据权利要求8所述的系统,其特征在于,所述确认消息更新模块还用于在调整后的确认位图开头存在连续确认的信息时,调整确认位图并更新既往消息向量。
10.根据权利要求6所述的系统,其特征在于,所述确认消息更新模块还用于在节点成功投递了消息或者节点作为消息的目的地接收了消息时,更新确认信息中的确认位图。
【文档编号】H04L1/16GK103973415SQ201410196816
【公开日】2014年8月6日 申请日期:2014年5月9日 优先权日:2014年5月9日
【发明者】鲁丽, 廖剑锋, 殷福安, 陈维 申请人:华中科技大学文华学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1