技术领域
[0001] 本发明涉及容迟网络缓存管理技术领域,尤其涉及一种基于消息质量状态的缓存管理方法。
相关背景技术
[0002] 容迟网络的概念最初来自于星际网络,主要用于应对节点之间进行间歇性通信、节点之间连接频繁中断的情况。作为一种连接状态不稳定的网络,网络中的节点利用先存储数据包、然后携带着数据包移动、最后转发数据包的模式来完成通信需求。另外,容迟网络也适用于链路状态不稳定、数据传输延迟大、数据传输丢失率高、网络拓扑结构不断变化的极端通信环境中,如野生动物追踪、卫星通信网络、地震紧急通信网络、车载自组织网络等应用场景。在间断性的环境中,容迟网络不要求网络的全连通,更适合实际的自组网需求。
[0003] 在节点“存储‑携带‑转发”的通信策略下,消息在等待转发前将会有很长时间滞留在节点缓存中,这可能会造成节点的剩余缓存空间不足,降低消息的成功交付率。此外,容迟网络中的节点由于分工不明确,一些能力较弱的节点频繁承担转发重任,进一步加重了节点缓存的负担。因此,制定一个合理的缓存管理策略是提升路由性能的关键之处。通过分析消息的综合状态,进一步评估消息的重要程度来决定是否丢弃和转发,将会有效缓解节点的拥塞状况。
具体实施方式
[0058] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0059] 如图1‑图4所示,本发明实施例基于消息质量状态的缓存管理方法,根据消息的综合属性状态来评估和定义消息留存质量,通过分析消息留存质量状态来设计消息调度机制,留存质量状态高的消息优先位于调度队列队首,另外,调度队列中的消息排序也与消息门限值有关。在转发策略中,优先转发留存质量最高的消息;当节点缓存空间不足时,优先丢弃留存质量最低的消息。该方法包括以下步骤:
[0060] S1、定义消息容忍度,根据节点的剩余缓存空间与新消息的大小来计算消息容忍度;
[0061] S2、根据节点间交换信息的特性,引入节点剩余缓存率来定义消息平均转发概率,当节点缓存空间不足时,平均转发概率最小的消息优先被丢弃;
[0062] S3、定义消息丢弃值,根据消息跳数和剩余生存时间来计算消息丢弃值,当节点缓存空间不足时,丢弃值最大的消息优先被丢弃;
[0063] S4、设计合理的消息调度机制,获取缓冲区中首个大于阈值的消息,获取该消息的跳数即为消息门限值,若新消息的跳数小于门限值,则按照消息丢弃值降序排序,否则按照消息平均转发概率升序排序;
[0064] S5、通过定义消息留存质量关联消息的调度机制设计,留存质量高的消息位于调度队列队首,当新消息跳数小于门限值时,消息丢弃值越大表示消息留存质量越低;反之,消息平均转发概率越小表示消息留存质量越低。使用丢弃策略优先丢弃留存质量最低的消息,使用转发策略优先转发留存质量最高的消息。
[0065] 步骤S1中消息容忍度MTn的计算方法为:
[0066] 消息容忍度与节点的剩余缓存空间和新消息的大小有关,其计算公式为:
[0067]
[0068] 其中,Bn为节点vn剩余缓存空间大小, 为新传来的消息大小,当MTn≥0时,说明节点恰好能接纳新传来的消息;否则说明该节点的剩余空间不足,需要删除其他消息来容纳新消息。
[0069] 步骤S2中消息平均转发概率计算方法为:
[0070] 消息平均转发概率表示为源节点vm携带消息投递给相遇节点vn的转发概率,记为AFPmn。AFPmn的计算包括了三个阶段:更新、衰化以及传递性。
[0071] 更新:当节点vm和vn彼此接触时,首先更新节点vm携带消息的平均转发概率,其计算公式为:
[0072]
[0073] 其中,AFPinit表示初始值,BAn为节点vn的剩余缓存率。R表示节点的剩余缓存率占比参数,其值是在动态变化,其计算公式为:
[0074]
[0075] 其中Rinit=1,当BAn=1时,R是个等于1的定值,公式变成原来的平均转发概率公式。剩余缓存率占比参数的值与节点剩余缓存率的值成反比,随着节点剩余缓存率的变大,R的值逐渐变小。
[0076] 衰化:如果节点间出现了间歇性中断,此时节点间传递消息的机会将减少,因此转发概率会随着时间有所衰退,其计算公式为:
[0077]
[0078] 其中,q表示衰化因子,t表示节点间从上次接触后到这次相遇所经历的时间块的数目,xn=1‑BAn,节点vn消耗的缓存占比越高,则节点vn的老化衰退速度越慢。
[0079] 传递性:若节点vm经常与节点vn相遇,而节点vn经常与节点vi接触,那么对于目的节点为vm的消息来说,节点vi是一个值得考虑的下一跳节点,其计算公式为:
[0080]
[0081] 其中,β∈[0,1],表示传递性影响平均转发概率的比重参数。
[0082] 步骤S3中消息丢弃值MDVi计算方法为:
[0083] MDVi=1*i+2*(1‑TTLi)
[0084] 其中,Hi表示消息mi经过的跳数,TTLi表示消息mi的剩余生存时间,d1和d2分别代表两者所占的比重。当消息经过的跳数越多,说明消息获得充足的传递机会越多,优先丢弃;同样,当消息的剩余生存时间越少,说明消息停留的时间越长,获得的传递机会越多,优先丢弃。
[0085] 步骤S4中消息调度机制的设计方法为:
[0086] 消息调度机制实现了对缓存中的消息进行合理地排序,当收到一个新消息时,首先判断其跳数是否大于或等于门限值,如果大于或等于门限值,将缓冲区中的消息按照消息平均转发概率进行升序排序,否则按照消息丢弃值进行降序排序。当消息容忍度小于0时,说明节点此时缓存空间不足,若要接收新的消息,就必须考虑缓冲区中消息的删除次序,使用{消息平均转发概率;消息丢弃值}的调度队列方式,充分考虑了消息的大小、消息的跳数、消息的剩余生存空间以及消息的平均转发概率对消息排序的影响。
[0087] 根据MaxProp算法定义,找出消息队列中第一个大于阈值p的消息,获取该消息的跳数,其跳数即为消息门限值Hthreshold,其中x为每次传输的平均字节数,b为缓冲区中消息的大小,阈值p的计算公式为:
[0088]
[0089] 从上式中可以看出,当x远小于b时,阈值p为x;随着x的增加,阈值p将缩小为这两个值的差值,当x大于b时,阈值p为0,此时可以完全不用考虑它。
[0090] 步骤S5中消息留存质量RQi计算方法为:
[0091] 消息mi的留存质量表示消息在缓冲区中丢弃和转发的重要程度。当消息容忍度为负数时,结合消息平均转发概率、消息丢弃值以及消息门限值共同确定消息留存质量,其计算公式为:
[0092]
[0093] 其中MDVi表示消息mi的丢弃值,Hi表示消息mi的跳数,Hthreshold表示消息门限值,AFPmn表示消息mi的平均转发概率。当Hi
[0094] 综上,本发明公开了一种基于消息质量状态的缓存管理方法,该缓存管理方法首先根据消息平均转发概率、消息丢弃值以及消息门限度等定义了消息留存质量,消息留存质量反映了消息在缓存中存储和转发的重要程度,消息平均转发概率高或消息丢弃值小说明留存质量高;接着根据消息留存质量设计了消息调度机制,合理安排消息转发和丢弃的次序,其中消息留存质量高的消息位于调度队列队首。随后的消息转发策略中,优先转发留存质量最高的消息,而在消息丢弃策略中,优先丢弃留存质量最低的消息。与OANBM、NBAPR、NWBBMP缓存策略以及经典算法Prophet相比,该方法明显提高了消息投递率,在网络开销方面也有较好的提升效果。
[0095] 在网络中节点数为126,节点的缓存设定在5MB,消息的生存时间固定在300min内,实验仿真时间在4h~24h区间内变化的实验场景下,在消息投递率方面,本发明提出的方法相比较于OANBM策略平均提升了11.43%,相比较于NBAPR策略平均提升了59.65%,相比较于NWBBMP策略平均提升了80.79%,相比较于原始Prophet策略平均提升了77.29%。在网络开销方面,本发明提出的方法相比较于OANBM策略、NBAPR策略、NWBBMP策略和Prophet策略平均提升了60.19%,64.21%,73.44%,72.84%。
[0096] 应当理解的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0097] 应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。