一种适用于多副本路由的基于消息重量的延迟容忍网络节点缓存管理方法_2

文档序号:9474913阅读:来源:国知局
是新接收的消息 的目的节点,则综合消息的多个属性,通过拉格朗日求最值的方法来决定删除高重量消息 中的哪个消息来释放缓存空间,直到有足够空间来接收新的消息,若所有高重量消息及节 点剩余空闲缓存空间小于当前消息的大小,则放弃接收此消息。如果新接收的消息的目的 节点是当前节点,并且缓存空间剩余空闲缓存的大小和高重量消息所占用的缓存空间之和 仍不能满足此消息的大小,则删除所有高重量消息,并通过拉格朗日求最值的方法综合考 虑多个消息的属性,来决定删除哪些低重量的消息,直道有足够释放缓存空间接收此消息。
[0039] 本发明是这样实现的,如图1所示:
[0040] 步骤一:通过DTN重量划分方法,对节点中的消息进行重量划分,划分后的消息分 为高重量消息和低重量消息。
[0041] 步骤二:对于网络中任意节点,当有消息需要接收时。
[0042] 步骤三:判断该节点未占用缓存是否有足够空闲空间接收此消息,如果是,则执行 步骤八;否则,执行步骤四。
[0043] 步骤四:判断当前节点是否是此消息的目的节点,如果是,执行步骤五。否则执行 步骤九。
[0044] 步骤五:节点当前剩余的空闲缓存大小和所有高重量消息缓存大小之和是否大于 此消息的大小,如果是,则执行步骤六,否则执行步骤七。
[0045] 步骤六:通过DTN消息选择方法选出高重量消息中需要删除的消息,直到有足够 空间接收此消息,转向步骤八。
[0046] 步骤七:将高重量消息全部删除,通过DTN消息选择方法选出低重量消息中需要 删除的消息,直到有足够空间接收此消息,转向步骤八。
[0047] 步骤八:接收此消息并返回步骤一。
[0048] 步骤九:节点当前剩余的空闲缓存大小和所有高重量消息缓存大小之和是否大于 此消息的大小,如果是,则执行步骤六,否则执行步骤十。
[0049] 步骤十:放弃接收,并忽略此消息。
[0050] 在步骤一中所提到的DTN重量划分方法还包括:对于节点中的任意一个消息i, 消息i的重量:
|其中!\代表消息 i在网络中已经经历的时间的大小,民代表消息i的生命周期的剩余值的大小,MSTQjf 表消息i在消息队列所停留的时间的大小,MSjf表消息i的大小,n JTJ代表在经历?\ 时间网络中当前消息i所产生的副本数的大小,叫^)代表在经历1\时间消息i所相 遇的节点个数。在确定了节点中每个消息的的重量后,求出节点中所有消息的总重量:
其中I(t)代表节点中消息的总数。在确定消息的总重 量后求出每个节点中消息的平均重量:
'令节点中 重量大于平均重量的消息为高重量消息,重量小于平均重量的消息为低重量消息。
[0051] 在步骤六和步骤七中所提到的DTN消息选择方法还包括:为了满足消 息的平均交付率达到最大值,在节点中所选择的消息i应该满足下列条件:消 息i的
值为此节点中所有消息中的最小值,将
记为式(1),

i,其中:1\代表消息i在网络中已经经历的时间的大小,L代表网络中的节点 个数的大小,代表在经历1\时间消息i所相遇的节点个数,λ俩个节点之间的相遇 率,民代表消息i的TTL的剩余值的大小,TTL 表消息i的TTL,n i (TJ代表在经历1\时 间网络中当前消息i所产生的副本数的大小。为了求出消息i我们可以构造如下拉尔朗日 函数:
[0053] 其中,ε x是拉格朗日系数,R1= TTL,其中TTL#表消息i的TTL,由公式(2) 可以得出拉格朗日对偶函数:
[0055] 接下来对公式(2)中变量求导,可以得到公式(4)如下:
[0057] 另公式⑷等于0;可以得出1\和ε之间的关系,假设TfgU),然后用g(e) 代替公式⑶中的!\,我们可以得到关于D(e)的如下公式:
[0059] 因此我们可以得出和公式(1)等价的对偶问题:求max:D( ε ),其中 ε 1多0, ε 2多0, ε 3多0, ε 4多0,首先对公式(5)求导,得出如下公式(6):

[0061] 另公式(6)等于0我们可以得出对偶问题的最优解,记为ε *,由于T1= g( ε ),所 以!?= g( ε 〇,因此我们可以得出删除满足 的消息i。
[0062] 以图2所示为例,图2为网络中节点缓存的示例图,其中节点缓存中黑色线条部分 代表着低重量消息所占用的缓存空间,白色空白部分为高重量消息所占用的缓存空间,黑 色网状部分代表节点未占用的缓存空间,黑色线条箭头LWL代表低重量消息队列,白色空 白箭头HWL代表高重量消息队列。
[0063] 首先通过DTN重量划分方法,对节点中的消息进行重量划分,划分后的消息分为 高重量消息和低重量消息。对于网络中任意节点,如果有消息需要接收。
[0064] 则判断该节点的未占用缓存是否有足够空间接收此消息,如果此节点有足够的未 占用空间接收此消息,则接收此消息并重新对节点中的消息进行消息重量的划分。
[0065] 如果此节点的未占用缓没有足够的空间接收此消息,则判断此节点是否是此消息 的目的节点,如果此节点是此消息的目的节点,则判断节点当前剩余的缓存大小和所有高 重量消息缓存大小之和是否大于此消息的大小,如果当前剩余的缓存大小和所有高重量消 息缓存大小之和大于此消息的大小,通过DTN消息选择方法选出高重量消息中需要删除的 消息,直到有足够空间接收此消息。
[0066] 如果当前剩余的缓存大小和所有高重量消息缓存大小之和不大于此消息的大小, 将高重量消息全部删除,通过DTN消息选择方法选出低重量消息中需要删除的消息,直到 有足够空间接收此消息。
[0067] 如果此节点的未占用缓没有足够的空间接收此消息,并且此节点不是此消息的目 的节点,此节点的未占用缓和高重量消息缓存的大小之和小于此消息,则忽略此消息。否则 通过DTN消息选择方法选出高重量消息中需要删除的消息,直到有足够空间接收此消息。
【主权项】
1. 一种适用于多副本路由的基于消息重量的延迟容忍网络节点缓存管理方法,其特征 在于:包括以下步骤, 步骤一:通过DTN重量划分方法,对节点中的消息进行重量划分,划分后的消息分为高 重量消息和低重量消息; 步骤二:网络中任意节点,当有消息需要接收时,判断该节点未占用缓存是否有足够空 闲空间接收此消息,如果是,则执行步骤七;否则,执行下一步; 步骤三:判断当前节点是否是此消息的目的节点,如果是,执行下一步,否则执行步骤 八;步骤四:判断节点当前剩余的空闲缓存大小和所有高重量消息缓存大小之和是否大于 此消息的大小,如果是,则执行下一步,否则执行步骤六; 步骤五:通过DTN消息选择方法选出高重量消息中需要删除的消息,直到有足够空间 接收此消息,转向步骤七; 步骤六:将高重量消息全部删除,通过DTN消息选择方法选出低重量消息中需要删除 的消息,直到有足够空间接收此消息,转向步骤七; 步骤七:接收此消息并返回步骤一; 步骤八:节点当前剩余的空闲缓存大小和所有高重量消息缓存大小之和是否大于此消 息的大小,如果是,则执行步骤五,否则执行步骤九; 步骤九:放弃接收,并忽略此消息。2. 根据权利要求1所述的一种适用于多副本路由的基于消息重量的延迟容忍网络节 点缓存管理方法,其特征在于:所述的DTN重量划分方法为:节点中重量大于平均重量的消 息为高重量消息,节点中重量小于平均重量的消息为低重量消息; 其中,每个节点中消息的平均重量:其中1代表消息i在网络中已经经历的时间,R1R表消息i的生命周期的剩余值,MSTQ1R表消息i在消息队列所停留的时间,MS表消息i,ni(T1)代表在经历1\时间网络 中当前消息i所产生的副本数,Hi1(T1)代表在经历1\时间消息i所相遇的节点个数。3. 根据权利要求1所述的一种适用于多副本路由的基于消息重量的延迟容忍网络节 点缓存管理方法,其特征在于:所述的DTN消息选择方法为,节点中所选择的消息i满足以其中L代表网络中的节点个数,A俩个节点之间的相遇率。
【专利摘要】本发明公开了一种适用于多副本路由的基于消息重量的延迟容忍网络节点缓存管理方法。对于网络中任意节点,如果有消息需要接收。判断该节点的未占用缓存是否有足够空间接收此消息,如果有:接收此消息并重新对节点中的消息进行消息重量的划分。如果没有:判断此节点是否是此消息的目的节点,如果是目的节点,判断节点当前剩余的缓存大小和所有高重量消息缓存大小之和是否大于此消息的大小,如果大于选出高重量消息中需要删除的消息,直到有足够空间接收此消息。如果不大于,将高重量消息全部删除,选出低重量消息中需要删除的消息,直到有足够空间接收此消息。本发明能够有效提高节点缓存管理效率。
【IPC分类】H04W28/02
【公开号】CN105228196
【申请号】CN201510706022
【发明人】吕宏武, 王贺哲, 谭静, 王慧强, 林俊宇
【申请人】哈尔滨工程大学
【公开日】2016年1月6日
【申请日】2015年10月27日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1