CN106230723A - 一种报文转发缓存方法及装置 - Google Patents
一种报文转发缓存方法及装置 Download PDFInfo
- Publication number
- CN106230723A CN106230723A CN201610641085.0A CN201610641085A CN106230723A CN 106230723 A CN106230723 A CN 106230723A CN 201610641085 A CN201610641085 A CN 201610641085A CN 106230723 A CN106230723 A CN 106230723A
- Authority
- CN
- China
- Prior art keywords
- node
- cache
- request
- adjacent
- point set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种报文转发缓存方法及装置,其中,方法包括:获取请求包;获取当前请求节点与所有相邻节点的跳数,确定第一节点集合;获取并根据第一相邻节点的节点繁忙度、第一相邻节点的节点缓存量及当前请求节点到第一相邻节点的路径时延,确定第一相邻节点的节点缓存价值;根据节点缓存价值,通过夏普利值公式,确定第一节点集合对应的夏普利值;根据夏普利值中的夏普利值指数,对应分配第一节点集合中每个相邻节点的转发比例,由每个相邻节点转发请求包,并记录转发路径;接收沿转发路径的反方向回传的数据包,根据节点的缓存概率,确定缓存数据包的缓存节点。应用本实施例,节省报文的转发和缓存开销,并实现均衡转发。
Description
技术领域
本发明涉及计算机网络通信技术领域,特别是涉及一种报文转发缓存方法及装置。
背景技术
传统的基于IP(Internet Protocol,网络之间互连的协议)的以主机为中心的网络体系已经难以满足人们日益增长的内容需求。虽然传统网络体系架构已经做了技术的改进和提高,在一定程度上缓解了内容需求膨胀的压力,但是仍然存在许多问题,例如网络负载严重、吞噬带宽等。
和传统的基于IP的网络体系不同,CCN(Content Centric Networking,内容中心网络)属于信息中心网络,是一种全新的基于命名数据的通信体系结构。当前对于内容中心网络的缓存的研究主要集中在缓存替换策略和缓存放置策略,其中对于缓存放置策略的研究最为火热。而对路由转发的研究主要集中在快速建立内容路由、最优路由选择等方面,多采用全转发策略。现有技术通过划分子网络,将网络中的内容设置与热度相关,用内容放置/转发索引信息实现动态路由,把请求就近路由至命中的节点,实现协同缓存。
由于现有技术需要通过复杂的信息交互以及计算才能做出决策,这对要求线性速度执行的信息中心网络过于复杂,从而导致报文转发和缓存的开销大且转发不均衡。
发明内容
本发明实施例的目的在于提供一种报文转发缓存方法及装置,以节省报文的转发和缓存开销,并实现均衡转发。具体技术方案如下:
本发明实施例提供了一种报文转发缓存方法,包括:
获取当前请求节点的请求包,其中,所述请求包中包括:预设值和请求数据的前缀信息;
获取所述当前请求节点与所有相邻节点的跳数,确定所述跳数小于所述请求包中的预设值的所有相邻节点为第一节点集合;
获取并根据第一相邻节点的节点繁忙度、所述第一相邻节点的节点缓存量及所述当前请求节点到所述第一相邻节点的路径时延,确定所述第一相邻节点的节点缓存价值,其中,所述第一相邻节点为所述第一节点集合中的任一相邻节点;
根据所述节点缓存价值,通过夏普利值公式,确定所述第一节点集合对应的夏普利值;
根据所述夏普利值中的夏普利值指数,对应分配所述第一节点集合中每个相邻节点的转发比例,由每个相邻节点转发所述请求包至与所述请求包中请求数据的前缀信息相匹配的节点,并记录由每个相邻节点转发所述请求包至所述相匹配的节点的转发路径;
接收由所述相匹配的节点沿所述转发路径的反方向回传的所述请求包对应的数据包,根据节点的缓存概率,确定缓存所述数据包的缓存节点,其中,所述缓存节点包括:所述相邻节点和\或所述当前请求节点。
可选的,所述请求包中还包括:请求数据的类型、时间戳及请求标志位;
所述数据包中包括:请求数据的类型、所述请求数据的前缀信息、时间戳、数据包长度、用于判断缓存状态的标志位及数据。
可选的,所述获取所述当前请求节点与相邻节点的跳数,确定所述跳数小于预设值的所有相邻节点为第一节点集合之前,所述的数据包转发缓存方法还包括:
通过蚁群算法,构建蚁群算法表;
根据所述蚁群算法表,确定第二节点集合,其中,所述第二节点集合为与所述蚁群算法表中请求数据的前缀信息相匹配的所有相邻节点的集合。
可选的,所述获取并根据第一相邻节点的节点繁忙度、所述第一相邻节点的节点缓存量及所述当前请求节点到所述第一相邻节点的路径时延,得到所述第一相邻节点的节点缓存价值,包括:
获取第一相邻节点的节点繁忙度,确定预设节点繁忙度最大阈值与所述第一相邻节点的节点繁忙度的第一差值;
获取所述第一相邻节点的节点缓存量,确定所述第一相邻节点的缓存空闲度;
获取所述当前请求节点到所述第一相邻节点的路径时延,确定预设路径时延最大阈值与所述当前请求节点到所述第一相邻节点的路径时延的第二差值;
确定所述第一差值、所述缓存空闲度及所述第二差值的乘积为所述第一相邻节点的节点缓存价值。
可选的,所述根据所述节点缓存价值,通过夏普利值公式,确定所述第一节点集合对应的夏普利值,包括:
确定所述第一节点集合中所有相邻节点的节点缓存价值之和为第一特征函数;
根据所述第一特征函数,通过夏普利值公式,确定所述第一节点集合中每个相邻节点的夏普利值指数;
根据所述夏普利值指数,确定所述第一节点集合的夏普利值。
可选的,所述夏普利值公式为:
其中,所述为所述第一节点集合中第q个相邻节点的夏普利值指数,所述V(Sij)为所述第一节点集合的第一特征函数,所述Sij为所述第一节点集合,所述i为所述当前请求节点,所述j为所述第一相邻节点,所述N={1,2,…,n}为所述当前请求节点的所有相邻节点的全集,所述|Sij|为所述第一节点集合中的相邻节点的数目,所述n为所述全集中的相邻节点的数目,所述所述Sij\{q}为所述第一节点集合中除第q个相邻节点以外的所有相邻节点的集合。
可选的,所述第一节点集合的夏普利值为:
其中,所述为所述第一节点集合的夏普利值,所述V(Sij)为所述第一节点集合的第一特征函数,所述Sij为所述第一节点集合,所述i为所述当前请求节点,所述j为所述第一相邻节点,所述为所述第一节点集合中第q个相邻节点的夏普利值指数。
可选的,所述接收由所述相匹配的节点沿所述转发路径的反方向回传的所述请求包对应的数据包,根据节点的缓存概率,确定缓存所述数据包的缓存节点,包括:
沿所述转发路径的反方向由所述相匹配的节点向所述当前请求节点回传所述请求包对应的数据包;
根据第一标志位的数值、所述请求包中的预设值、第三差值及节点的缓存概率,确定缓存所述数据包的缓存节点,其中,所述第一标志位为所述数据包中用于判断缓存状态的标志位,所述第三差值包括:所述当前请求节点到所述相匹配的节点的跳数与所述第一相邻节点到所述当前请求节点的跳数之差。
可选的,所述根据第一标志位的数值、预设值、第三差值及节点的缓存概率,确定缓存所述数据包的缓存节点,包括:
在所述第一标志位的数值为0或者、所述第三差值小于或等于所述请求包中的预设值时,确定所述第一相邻节点为缓存所述数据包的缓存节点。
本发明实施例还提供了一种报文转发缓存装置,包括:
请求包获取模块,用于获取当前请求节点的请求包,其中,所述请求包中包括:预设值和请求数据的前缀信息;
第一节点集合确定模块,用于获取所述当前请求节点与所有相邻节点的跳数,确定所述跳数小于所述请求包中的预设值的所有相邻节点为第一节点集合;
节点缓存价值确定模块,用于获取并根据第一相邻节点的节点繁忙度、所述第一相邻节点的节点缓存量及所述当前请求节点到所述第一相邻节点的路径时延,确定所述第一相邻节点的节点缓存价值,其中,所述第一相邻节点为所述第一节点集合中的任一相邻节点;
夏普利值确定模块,用于根据所述节点缓存价值,通过夏普利值公式,确定所述第一节点集合对应的夏普利值;
转发模块,用于根据所述夏普利值中的夏普利值指数,对应分配所述第一节点集合中每个相邻节点的转发比例,由每个相邻节点转发所述请求包至与所述请求包中请求数据的前缀信息相匹配的节点,并记录由每个相邻节点转发所述请求包至所述相匹配的节点的转发路径;
缓存节点确定模块,用于接收由所述相匹配的节点沿所述转发路径的反方向回传的所述请求包对应的数据包,根据节点的缓存概率,确定缓存所述数据包的缓存节点,其中,所述缓存节点包括:所述相邻节点和\或所述当前请求节点。
本发明实施例提供的一种报文转发缓存方法及装置,通过构建第一节点集合,利用夏普利值公式获得第一节点集合的夏普利值,根据夏普利值指数分配相邻节点的转发比例,将请求包转发至具有相对应的数据包的节点,实现了请求包的权衡转发,节省了转发开销,并且数据包沿转发路径回传时,根据缓存概率,确定靠近网络边缘的节点作为缓存节点缓存数据包,提高了缓存效率;并且在利用夏普利值确定转发比例之前使用蚁群算法得到优化的转发路径,保证了转发的路径为最优且转发高效。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的报文转发缓存方法的流程示意图;
图2为本发明实施例的请求包转发组件结构示意图;
图3为本发明实施例的请求包转发的流程示意图;
图4为本发明实施例的数据包回传的流程示意图;
图5为本发明实施例的报文转发缓存装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的报文包括请求节点发送的请求包及请求包对应的数据包。
图1为本发明实施例的报文转发缓存方法的流程示意图,包括:
步骤101,获取当前请求节点的请求包。
其中,请求包中包括:请求数据的类型、请求数据的前缀信息、预设值、时间戳及请求标志位IFlag。
需要说明的是请求包中还包括:请求数据的类型、时间戳及请求标志位;数据包中包括:请求数据的类型、请求数据的前缀信息、时间戳、数据包长度、用于判断缓存状态的标志位及数据。
本实施例中,转发的是请求包,节点根据接收到的请求包中请求数据的前缀信息判断向请求节点回传的数据包,数据包中包括:请求数据的类型、请求数据的前缀信息、时间戳、数据包长度、用于判断缓存状态的标志位DFlag及数据。
步骤102,获取当前请求节点与所有相邻节点的跳数,确定所有跳数中小于请求包中的预设值的所有相邻节点为第一节点集合。
本发明实施例,根据联盟博弈理论的夏普利值概念进行数据包转发缓存的联盟分配,因此需要先构建一个联盟,即第一节点集合。本发明实施例中建立的第一节点集合中包含的为当前请求节点与所有相邻节点的跳数中小于预设值的所有相邻节点。
步骤103,获取并根据第一相邻节点的节点繁忙度、该第一相邻节点的节点缓存量及当前请求节点到该第一相邻节点的路径时延,确定该第一相邻节点的节点缓存价值。
其中,第一相邻节点为第一节点集合中的任一相邻节点,节点缓存价值为预设节点繁忙度最大阈值与第一相邻节点的节点繁忙度的第一差值、该第一相邻节点的缓存空闲度、及预设路径时延最大阈值与当前请求节点到该第一相邻节点的路径时延的第二差值的乘积。
需要说明的是,节点缓存价值由节点繁忙度、节点缓存量及路径时延来衡量。节点繁忙度及路径时延具有上限值。
步骤104,根据节点缓存价值,通过夏普利值公式,确定第一节点集合对应的夏普利值。
其中,根据节点缓存价值,通过求和运算可以得到第一节点集合的第一特征函数;根据第一特征函数,通过夏普利值公式,确定第一节点集合对应的夏普利值。
夏普利值是联盟博弈理论中的一个重要概念,是博弈理论关于公平的首要公理化标准,夏普利值的实质是联盟收益的一种分配方案。本发明实施例使用夏普利值,能够对请求包的转发实现权衡分配。
步骤105,根据夏普利值中的夏普利值指数,对应分配第一节点集合中每个相邻节点的转发比例,由每个相邻节点转发请求包至与该请求包中请求数据的前缀信息相匹配的节点,并记录由每个相邻节点转发该请求包至相匹配的节点的转发路径。
其中,第一节点集合中每个相邻节点通过夏普利值公式得到夏普利值指数,根据每个夏普利值指数占所有夏普利指数总和的比例确定每个相邻节点转发请求包的比例,分配转发请求包。
通过夏普利值中夏普利指数对请求包的转发进行分配,能够实现信息中心网络中请求包转发的效率最大化。记录转发路径是为了在节点接收到请求包时,通过判断请求包中请求数据的前缀,确定该节点是否存在当前请求节点请求的数据包,若存在,则沿转发路径的反方向回传该数据包。
步骤106,接收由相匹配的节点沿转发路径的反方向回传的请求包对应的数据包,根据节点的缓存概率,确定缓存数据包的缓存节点。
其中,缓存节点包括:相邻节点和\或当前请求节点。
数据包在回传的过程中,在数据包回传到任一节点时,判断数据包中用于判断缓存状态的标志位DFlag的数值,并判断该节点至当前请求节点的跳数是否小于或等于数据包中的预设值,从而确定该节点是否作为缓存节点缓存数据包。
现有技术已证明越靠近网络边缘的节点,平均请求时延越小。通过上述判断的过程可以实现缓存节点的边缘设置,保证了平均请求时延小的节点缓存数据包,提高了缓存效率。
本发明实施例中,通过构建第一节点集合,利用夏普利值公式获得第一节点集合的夏普利值,根据夏普利值指数分配每个相邻节点的转发比例,将请求包转发至具有相对应的数据包的节点,实现了请求包的权衡转发,节省了转发开销,并且数据包沿转发路径回传时,根据缓存概率,确定靠近网络边缘的节点作为缓存节点缓存数据包,提高了缓存效率。
更进一步的,在本发明实施例的一种实现方式中,在确定第一节点集合之前,数据包转发缓存方法还包括:
首先,通过蚁群算法,构建蚁群算法表。
其次,根据蚁群算法表,确定第二节点集合。
其中,第二节点集合为与蚁群算法表中请求数据的前缀信息相匹配的所有相邻节点的集合,蚁群算法表包括:请求数据的前缀、转发接口号、节点转发概率、当前请求节点到相邻节点的时延、相邻节点的繁忙度及相邻节点的缓存量。
本发明实施例中,通过请求数据的前缀匹配决定转发接口号,一个请求数据的前缀可能与多个转发接口号匹配,匹配的转发接口有一个转发概率,该概率用于确定优化的转发路径,本发明实施例在优化的转发路径中通过夏普利值分配转发比例,保证了转发的路径为最优且转发高效。通过蚁群算法,构建蚁群算法表为现有技术,在此不作赘述。
更进一步的,在本发明实施例的一种实现方式中,数据包转发缓存方法包括:
首先,获取第一相邻节点的节点繁忙度,确定预设节点繁忙度最大阈值与该第一相邻节点的节点繁忙度的第一差值。
具体的,本发明实施例中,第一差值为:(b0-bj)。
其中,b0为预设节点繁忙度最大阈值,bj为第一相邻节点的节点繁忙度,j为第一相邻节点。
其次,获取上述第一相邻节点的节点缓存量,确定该第一相邻节点的缓存空闲度。
具体的,本发明实施例中,第一相邻节点的缓存空闲度为:(1-cj)。
其中,cj为第一相邻节点的节点缓存量,j为第一相邻节点。
再次,获取当前请求节点到上述第一相邻节点的路径时延,确定预设路径时延最大阈值与当前请求节点到该第一相邻节点的路径时延的第二差值。
具体的,本发明实施例中,第二差值为:(t0-tij)。
其中,t0为预设路径时延最大阈值,tij为当前请求节点到该第一相邻节点的路径时延,i为当前请求节点,j为第一相邻节点。
最后,将上述第一差值、缓存空闲度及第二差值的乘积,确定为上述第一相邻节点的节点缓存价值。
具体的,本发明实施例中,节点缓存价值为:
pij=(b0-bj)*(1-cj)*(t0-tij)。
其中,pij为第一相邻节点的节点缓存价值,i为当前请求节点,j为第一相邻节点,b0为预设节点繁忙度最大阈值,bj为第一相邻节点的节点繁忙度,cj为第一相邻节点的节点缓存量,t0为预设路径时延最大阈值,tij为当前请求节点到该第一相邻节点的路径时延。
本发明实施例中,节点缓存价值由节点繁忙度、节点缓存量及路径时延来衡量。在节点缓存量及路径时延固定的情况下,第一节点集合中任一相邻节点的节点繁忙度越低,则该相邻节点的节点缓存价值越大;同理,节点繁忙度及路径时延固定的情况下,第一节点集合中任一相邻节点的节点缓存量越小,则该相邻节点的节点缓存价值越大;同理,在节点繁忙度及节点缓存量固定的情况下,当前请求节点到该相邻节点的路径时延越小,则该相邻节点的节点缓存价值越大。
更进一步的,在本发明实施例的一种实现方式中,数据包转发缓存方法还包括:
首先,根据节点缓存价值,将第一节点集合中所有相邻节点的节点缓存价值之和,确定为第一特征函数。
具体的,本发明实施例中,第一特征函数为:
其中,V(Sij)为第一节点集合的第一特征函数,Sij为第一节点集合,i为当前请求节点,j为第一相邻节点,pij为第一相邻节点的节点缓存价值。
其次,根据上述第一特征函数,通过夏普利值公式,确定该第一节点集合中每个相邻节点的夏普利值指数。
具体的,在本发明实施例中,夏普利值公式为:
其中,为第一节点集合中第q个相邻节点的夏普利值指数,V(Sij)为第一节点集合的第一特征函数,Sij为第一节点集合,i为当前请求节点,j为第一相邻节点,N={1,2,…,n}为当前请求节点的所有相邻节点的全集,|Sij|为第一节点集合中的相邻节点的数目,n为全集中的相邻节点的数目,Sij\{q}为第一节点集合中除第q个相邻节点以外的所有相邻节点的集合。
最后,根据上述夏普利值指数,确定上述第一节点集合的夏普利值。
具体的,在本发明实施例中,第一节点集合的夏普利值为:
其中,为第一节点集合的夏普利值,V(Sij)为第一节点集合的第一特征函数,Sij为第一节点集合,i为当前请求节点,j为第一相邻节点,为第一节点集合中第q个相邻节点的夏普利值指数。
本发明实施例中,根据节点缓存价值确定第一节点集合的夏普利值,夏普利值作为一种分配方案,提供了第一节点集合中相邻节点转发请求包的转发比例,保证高效转发。
更进一步的,在本发明实施例的一种实现方式中,数据包转发缓存方法还包括:
首先,沿转发路径的反方向由相匹配的节点向当前请求节点回传请求包对应的数据包。
其次,根据第一标志位的数值、请求包中的预设值、第三差值及节点的缓存概率,确定缓存数据包的缓存节点。
其中,第一标志位为数据包中用于判断缓存状态的标志位,第三差值包括:当前请求节点到相匹配的节点的跳数与第一相邻节点到当前请求节点的跳数之差。
需要说明的是,每通过一个相邻节点转发请求包时,请求包中的请求标志位IFlag加1,上述相匹配的节点的数据包中,设置第一标志位DFlag的数值为该相匹配的节点接收到的请求包中的请求标志位IFlag;每经过一个相邻节点转发数据包时,第一标志位DFlag减1。在第一标志位的数值为0或者、第三差值小于或等于请求包中的预设值时,确定第一相邻节点为缓存数据包的缓存节点。
本发明实施例中,通过上述判断的过程可以实现缓存节点的边缘设置,保证了平均请求时延小的节点缓存数据包,提高了缓存效率。
图2为本发明实施例的请求包转发组件结构示意图。
本发明实施例的请求包转发组件201中包括:内容缓存表202、待定兴趣表203、缓存价值表204及蚁群算法表205及数据索引表206。
内容缓存表202至少包括:数据包名称及数据包,以满足未来的请求包请求;待定兴趣表203至少包括:请求数据的前缀及转发接口号,以方便网络性能测量、请求包流量聚合以及为指定转发策略提供依据等;缓存价值表204至少包括:请求数据的前缀、转发接口号、相邻节点的节点缓存价值及时间戳,以供在计算相邻节点的夏普利值时调用相应的节点缓存价值;蚁群算法表205至少包括:请求数据的前缀、转发接口号,以利用蚁群算法优化转发路径。通过数据索引表206,确定查找内容缓存表202、待定兴趣表203、缓存价值表204及蚁群算法表205中的一个。经过查找上述表格,确定转发接口207中转发请求包的转发接口及分配比例。
本发明实施例中,根据请求包的内容,通过数据索引表,确定请求包转发的接口,保证了转发的高效,降低了网络能耗,并提升了网络的服务质量。
如表1所示为本发明实施例的蚁群算法表的示例。
表1
前缀 | 接口号 | 路由节点缓存价值 | 时间戳/ms |
/ccn/read1 | 0 | 61 | 1203420229 |
/ccn/read3 | 2 | 58 | 1203420242 |
/ccn/read2 | 3 | 58 | 1203420225 |
如表2所示为本发明实施例的缓存价值表的示例。
表2
前缀 | 接口号 | 概率 | 路径时延 | 繁忙度 | 缓存容量 |
/ccn/read1 | 0 | 20 | 30 | 7 | 100 |
/ccn/read1 | 1 | 80 | 15 | 24 | 100 |
/ccn/read2 | 2 | 10 | 45 | 12 | 100 |
图3为本发明实施例的请求包转发的流程示意图,转发流程包括:
步骤301,接收当前请求节点发送的请求包。
步骤302,判断内容存储表中是否存在与请求包内容相同的数据,存在则执行步骤303,不存在则执行步骤304。
步骤303,封装数据包并回传至当前请求节点。
步骤304,判断待定兴趣表是否存在与请求包中请求数据的前缀相同的数据,存在则执行步骤305,不存在则执行步骤306。
步骤305,在对应表项后添加回传接口,并丢弃请求包。
步骤306,判断缓存价值表是否存在与请求包中请求数据的前缀相同的数据,存在则执行步骤307,不存在则执行步骤309。
步骤307,利用夏普利值选择转发接口,并向待定兴趣表添加选择的转发接口号。
步骤308,将选择的转发接口号映射到蚁群算法表,并通过转发信息库进行转发。
步骤309,判断蚁群算法表中是否存在与请求包中请求数据的前缀相同的数据,存在则执行步骤310,不存在则执行步骤311。
步骤310,转发请求包,根据转发接口更新缓存价值表和待定兴趣表。
步骤311,丢弃请求包。
本发明实施例中,四个核心组件对应的表的查找优先级由高到低分别为:内容存储表、待定兴趣表、缓存价值表、蚁群算法表。基于上述流程,提高了信息中心网络信息转发的效率,降低了网络能耗,并提升了网络的服务质量。
图4为本发明实施例的数据包回传的流程示意图。
步骤401,与请求包中请求数据的前缀信息相匹配的节点接收到请求包时,封装数据包,设置数据包中用于判断缓存状态的标志位DFlag的数值为请求包中请求标志位的数值。
步骤402,沿转发路径回传数据包,经由相邻节点时,判断DFlag的数值是否为0或该相邻节点到上述相匹配的节点的跳数是否小于预设值,若成立则执行步骤403,若不成立则执行步骤404。
步骤403,缓存数据包,并回传数据包。
步骤404,DFlag的数值减1,并回传数据包。
本发明实施例中,通过判断数据包中用于判断缓存状态的标志位DFlag及相邻节点到上述相匹配的节点的跳数的大小,确定缓存节点的边缘设置,保证了平均请求时延小的节点缓存数据包,提高了缓存效率。
图5为本发明实施例的报文转发缓存装置的结构示意图,包括:
请求包获取模块501,用于获取当前请求节点的请求包。
第一节点集合确定模块502,用于获取当前请求节点与所有相邻节点的跳数,确定所有跳数中小于请求包中的预设值的所有相邻节点为第一节点集合。
节点缓存价值确定模块503,用于获取并根据第一相邻节点的节点繁忙度、该第一相邻节点的节点缓存量及当前请求节点到该第一相邻节点的路径时延,确定该第一相邻节点的节点缓存价值。
夏普利值确定模块504,用于根据节点缓存价值,通过夏普利值公式,确定上述第一节点集合对应的夏普利值。
转发模块505,用于根据夏普利值中的夏普利值指数,对应分配第一节点集合中每个相邻节点的转发比例,由每个相邻节点转发请求包至与该请求包中请求数据的前缀信息相匹配的节点,并记录由每个相邻节点转发该请求包至相匹配的节点的转发路径。
缓存节点确定模块506,用于接收由上述相匹配的节点沿转发路径的反方向回传的请求包对应的数据包,根据节点的缓存概率,确定缓存数据包的缓存节点。
本发明实施例中,通过构建第一节点集合,利用夏普利值公式获得第一节点集合的夏普利值,根据夏普利值指数分配每个相邻节点的转发比例,将请求包转发至具有相对应的数据包的节点,实现了请求包的权衡转发,节省了转发开销,并且数据包沿转发路径回传时,根据缓存概率,确定靠近网络边缘的节点作为缓存节点缓存数据包,提高了缓存效率。
需要说明的是,本发明实施例的装置是应用上述报文转发缓存方法的装置,则上述报文转发缓存方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明的又一实施例的报文转发缓存装置中,请求包中还包括:请求数据的类型、时间戳及请求标志位;
数据包中包括:请求数据的类型、请求数据的前缀信息、时间戳、数据包长度、用于判断缓存状态的标志位及数据。
本发明的又一实施例的报文转发缓存装置还包括:
蚁群算法表构建模块,用于通过蚁群算法,构建蚁群算法表;
第二节点集合确定模块,用于根据蚁群算法表,确定第二节点集合。
本发明的又一实施例的报文转发缓存装置中,节点缓存价值确定模块503包括:
第一差值确定子模块,用于获取第一相邻节点的节点繁忙度,确定预设节点繁忙度最大阈值与该第一相邻节点的节点繁忙度的第一差值;
缓存空闲度确定子模块,用于获取上述第一相邻节点的节点缓存量,确定该第一相邻节点的缓存空闲度;
第二差值确定子模块,用于获取当前请求节点到上述第一相邻节点的路径时延,确定预设路径时延最大阈值与当前请求节点到该第一相邻节点的路径时延的第二差值;
节点缓存价值确定子模块,用于确定上述第一差值、缓存空闲度及第二差值的乘积为上述第一相邻节点的节点缓存价值。
本发明的又一实施例的报文转发缓存装置中,夏普利值确定模块504包括:
第一特征函数确定子模块,用于确定第一节点集合中所有相邻节点的节点缓存价值之和为第一特征函数;
夏普利值指数确定子模块,用于根据上述第一特征函数,通过夏普利值公式,确定第一节点集合中每个相邻节点的夏普利值指数;
夏普利值确定子模块,用于根据上述夏普利值指数,确定第一节点集合的夏普利值。
本发明的又一实施例的报文转发缓存装置中,夏普利值确定模块504使用的夏普利值公式为:
其中,为第一节点集合中第q个相邻节点的夏普利值指数,V(Sij)为第一节点集合的第一特征函数,Sij为第一节点集合,i为当前请求节点,j为第一相邻节点,N={1,2,…,n}为当前请求节点的所有相邻节点的全集,|Sij|为第一节点集合中的相邻节点的数目,n为全集中的相邻节点的数目,Sij\{q}为第一节点集合中除第q个相邻节点以外的所有相邻节点的集合。
本发明的又一实施例的报文转发缓存装置中,夏普利值确定模块504中第一节点集合的夏普利值为:
其中,为第一节点集合的夏普利值,V(Sij)为第一节点集合的第一特征函数,Sij为第一节点集合,i为当前请求节点,j为第一相邻节点,为第一节点集合中第q个相邻节点的夏普利值指数。
本发明的又一实施例的报文转发缓存装置中,缓存节点确定模块506包括:
数据包回传子模块,用于沿转发路径的反方向由相匹配的节点向当前请求节点回传请求包对应的数据包;
缓存节点确定子模块,用于根据第一标志位的数值、请求包中的预设值、第三差值及节点的缓存概率,确定缓存数据包的缓存节点。
本发明的又一实施例的报文转发缓存装置中,缓存节点确定模块506中的缓存节点确定子模块进一步用于在第一标志位的数值为0或者、第三差值小于或等于请求包中的预设值时,确定该第一相邻节点为缓存所述数据包的缓存节点。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种报文转发缓存方法,其特征在于,包括:
获取当前请求节点的请求包,其中,所述请求包中包括:预设值和请求数据的前缀信息;
获取所述当前请求节点与所有相邻节点的跳数,确定所述跳数小于所述请求包中的预设值的所有相邻节点为第一节点集合;
获取并根据第一相邻节点的节点繁忙度、所述第一相邻节点的节点缓存量及所述当前请求节点到所述第一相邻节点的路径时延,确定所述第一相邻节点的节点缓存价值,其中,所述第一相邻节点为所述第一节点集合中的任一相邻节点;
根据所述节点缓存价值,通过夏普利值公式,确定所述第一节点集合对应的夏普利值;
根据所述夏普利值中的夏普利值指数,对应分配所述第一节点集合中每个相邻节点的转发比例,由每个相邻节点转发所述请求包至与所述请求包中请求数据的前缀信息相匹配的节点,并记录由每个相邻节点转发所述请求包至所述相匹配的节点的转发路径;
接收由所述相匹配的节点沿所述转发路径的反方向回传的所述请求包对应的数据包,根据节点的缓存概率,确定缓存所述数据包的缓存节点,其中,所述缓存节点包括:所述相邻节点和\或所述当前请求节点。
2.根据权利要求1所述的报文转发缓存方法,其特征在于,所述请求包中还包括:请求数据的类型、时间戳及请求标志位;
所述数据包中包括:请求数据的类型、所述请求数据的前缀信息、时间戳、数据包长度、用于判断缓存状态的标志位及数据。
3.根据权利要求1或2所述的报文转发缓存方法,其特征在于,所述获取所述当前请求节点与相邻节点的跳数,确定所述跳数小于预设值的所有相邻节点为第一节点集合之前,所述的数据包转发缓存方法还包括:
通过蚁群算法,构建蚁群算法表;
根据所述蚁群算法表,确定第二节点集合,其中,所述第二节点集合为与所述蚁群算法表中请求数据的前缀信息相匹配的所有相邻节点的集合。
4.根据权利要求1所述的报文转发缓存方法,其特征在于,所述获取并根据第一相邻节点的节点繁忙度、所述第一相邻节点的节点缓存量及所述当前请求节点到所述第一相邻节点的路径时延,得到所述第一相邻节点的节点缓存价值,包括:
获取第一相邻节点的节点繁忙度,确定预设节点繁忙度最大阈值与所述第一相邻节点的节点繁忙度的第一差值;
获取所述第一相邻节点的节点缓存量,确定所述第一相邻节点的缓存空闲度;
获取所述当前请求节点到所述第一相邻节点的路径时延,确定预设路径时延最大阈值与所述当前请求节点到所述第一相邻节点的路径时延的第二差值;
确定所述第一差值、所述缓存空闲度及所述第二差值的乘积为所述第一相邻节点的节点缓存价值。
5.根据权利要求1所述的报文转发缓存方法,其特征在于,所述根据所述节点缓存价值,通过夏普利值公式,确定所述第一节点集合对应的夏普利值,包括:
确定所述第一节点集合中所有相邻节点的节点缓存价值之和为第一特征函数;
根据所述第一特征函数,通过夏普利值公式,确定所述第一节点集合中每个相邻节点的夏普利值指数;
根据所述夏普利值指数,确定所述第一节点集合的夏普利值。
6.根据权利要求5所述的报文转发缓存方法,其特征在于,所述夏普利值公式为:
其中,所述为所述第一节点集合中第q个相邻节点的夏普利值指数,所述V(Sij)为所述第一节点集合的第一特征函数,所述Sij为所述第一节点集合,所述i为所述当前请求节点,所述j为所述第一相邻节点,所述N={1,2,…,n}为所述当前请求节点的所有相邻节点的全集,所述|Sij|为所述第一节点集合中的相邻节点的数目,所述n为所述全集中的相邻节点的数目,所述所述Sij\{q}为所述第一节点集合中除第q个相邻节点以外的所有相邻节点的集合。
7.根据权利要求5所述的报文转发缓存方法,其特征在于,所述第一节点集合的夏普利值为:
其中,所述为所述第一节点集合的夏普利值,所述V(Sij)为所述第一节点集合的第一特征函数,所述Sij为所述第一节点集合,所述i为所述当前请求节点,所述j为所述第一相邻节点,所述为所述第一节点集合中第q个相邻节点的夏普利值指数。
8.根据权利要求1所述的报文转发缓存方法,其特征在于,所述接收由所述相匹配的节点沿所述转发路径的反方向回传的所述请求包对应的数据包,根据节点的缓存概率,确定缓存所述数据包的缓存节点,包括:
沿所述转发路径的反方向由所述相匹配的节点向所述当前请求节点回传所述请求包对应的数据包;
根据第一标志位的数值、所述请求包中的预设值、第三差值及节点的缓存概率,确定缓存所述数据包的缓存节点,其中,所述第一标志位为所述数据包中用于判断缓存状态的标志位,所述第三差值包括:所述当前请求节点到所述相匹配的节点的跳数与所述第一相邻节点到所述当前请求节点的跳数之差。
9.根据权利要求8所述的报文转发缓存方法,其特征在于,所述根据第一标志位的数值、预设值、第三差值及节点的缓存概率,确定缓存所述数据包的缓存节点,包括:
在所述第一标志位的数值为0或者、所述第三差值小于或等于所述请求包中的预设值时,确定所述第一相邻节点为缓存所述数据包的缓存节点。
10.一种报文转发缓存装置,其特征在于,包括:
请求包获取模块,用于获取当前请求节点的请求包,其中,所述请求包中包括:预设值和请求数据的前缀信息;
第一节点集合确定模块,用于获取所述当前请求节点与所有相邻节点的跳数,确定所述跳数小于所述请求包中的预设值的所有相邻节点为第一节点集合;
节点缓存价值确定模块,用于获取并根据第一相邻节点的节点繁忙度、所述第一相邻节点的节点缓存量及所述当前请求节点到所述第一相邻节点的路径时延,确定所述第一相邻节点的节点缓存价值,其中,所述第一相邻节点为所述第一节点集合中的任一相邻节点;
夏普利值确定模块,用于根据所述节点缓存价值,通过夏普利值公式,确定所述第一节点集合对应的夏普利值;
转发模块,用于根据所述夏普利值中的夏普利值指数,对应分配所述第一节点集合中每个相邻节点的转发比例,由每个相邻节点转发所述请求包至与所述请求包中请求数据的前缀信息相匹配的节点,并记录由每个相邻节点转发所述请求包至所述相匹配的节点的转发路径;
缓存节点确定模块,用于接收由所述相匹配的节点沿所述转发路径的反方向回传的所述请求包对应的数据包,根据节点的缓存概率,确定缓存所述数据包的缓存节点,其中,所述缓存节点包括:所述相邻节点和\或所述当前请求节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610641085.0A CN106230723B (zh) | 2016-08-08 | 2016-08-08 | 一种报文转发缓存方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610641085.0A CN106230723B (zh) | 2016-08-08 | 2016-08-08 | 一种报文转发缓存方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106230723A true CN106230723A (zh) | 2016-12-14 |
CN106230723B CN106230723B (zh) | 2019-08-13 |
Family
ID=57547132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610641085.0A Active CN106230723B (zh) | 2016-08-08 | 2016-08-08 | 一种报文转发缓存方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106230723B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110798819A (zh) * | 2018-08-01 | 2020-02-14 | 华为技术有限公司 | 一种消息传播方法及装置 |
CN111107000A (zh) * | 2019-12-13 | 2020-05-05 | 东南大学 | 一种基于网络编码的命名数据网络中内容缓存方法 |
CN114168518A (zh) * | 2021-11-08 | 2022-03-11 | 陕西千山航空电子有限责任公司 | 一种空速数据的传输方法及传输系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090401A (zh) * | 2007-05-25 | 2007-12-19 | 金蝶软件(中国)有限公司 | 一种群集环境下的数据缓存方法及系统 |
CN101521895A (zh) * | 2009-04-03 | 2009-09-02 | 南京邮电大学 | 无线自组织网络中用于构建多跳路由转发的方法 |
CN102917412A (zh) * | 2011-03-31 | 2013-02-06 | 北京新岸线无线技术有限公司 | 业务流管理方法及装置 |
US20160050582A1 (en) * | 2008-05-05 | 2016-02-18 | Cisco Technology, Inc. | Distributed Bi-Directional Flow Control in Wireless Mesh Networks |
CN105450555A (zh) * | 2014-09-26 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种片上网络系统,及片上网络通信链路的建立方法 |
-
2016
- 2016-08-08 CN CN201610641085.0A patent/CN106230723B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090401A (zh) * | 2007-05-25 | 2007-12-19 | 金蝶软件(中国)有限公司 | 一种群集环境下的数据缓存方法及系统 |
US20160050582A1 (en) * | 2008-05-05 | 2016-02-18 | Cisco Technology, Inc. | Distributed Bi-Directional Flow Control in Wireless Mesh Networks |
CN101521895A (zh) * | 2009-04-03 | 2009-09-02 | 南京邮电大学 | 无线自组织网络中用于构建多跳路由转发的方法 |
CN102917412A (zh) * | 2011-03-31 | 2013-02-06 | 北京新岸线无线技术有限公司 | 业务流管理方法及装置 |
CN105450555A (zh) * | 2014-09-26 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种片上网络系统,及片上网络通信链路的建立方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110798819A (zh) * | 2018-08-01 | 2020-02-14 | 华为技术有限公司 | 一种消息传播方法及装置 |
CN110798819B (zh) * | 2018-08-01 | 2021-04-20 | 华为技术有限公司 | 一种消息传播方法及装置 |
CN111107000A (zh) * | 2019-12-13 | 2020-05-05 | 东南大学 | 一种基于网络编码的命名数据网络中内容缓存方法 |
CN111107000B (zh) * | 2019-12-13 | 2021-09-07 | 东南大学 | 一种基于网络编码的命名数据网络中内容缓存方法 |
CN114168518A (zh) * | 2021-11-08 | 2022-03-11 | 陕西千山航空电子有限责任公司 | 一种空速数据的传输方法及传输系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106230723B (zh) | 2019-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106936709B (zh) | 远程服务访问路径控制方法和相关设备 | |
CN104144222B (zh) | Dns授权系统中基于别名记录的负载均衡方法及系统 | |
CN108833299A (zh) | 一种基于可重构交换芯片架构的大规模网络数据处理方法 | |
CN101170512B (zh) | 报文业务处理方法 | |
CN104184663B (zh) | 基于软件定义网络和一体化标识网络的通信方法和装置 | |
CN103747274B (zh) | 一种增设缓存集群的视频数据中心及其缓存资源调度方法 | |
CN107135158A (zh) | 一种多路径传输中最优路径选择方法 | |
CN107404530A (zh) | 基于用户兴趣相似度的社交网络协作缓存方法及装置 | |
CN104429038A (zh) | 路由转发方法、装置及系统 | |
CN106230723A (zh) | 一种报文转发缓存方法及装置 | |
CN101141281A (zh) | 一种网管和非网关网元通讯的方法 | |
CN107317752A (zh) | 一种转发数据报文的方法及装置 | |
CN108449269A (zh) | 基于sdn的数据中心网络负载均衡方法 | |
CN106686060B (zh) | 一种内容扩散的方法及系统 | |
CN103581258B (zh) | 网络数据缓存的方法和系统 | |
CN108289062A (zh) | 一种基于软件定义的信息中心网络结构 | |
CN106210116A (zh) | 一种基于内容中心网络的差异化存储方法及装置 | |
CN103974219B (zh) | 一种组计费标识的分配及下发方法、组计费标识处理实体 | |
CN101986605B (zh) | 一种基于骨干网的用户上网数据处理方法和系统 | |
US10862858B2 (en) | Information centric approach in achieving anycast in machine type communications | |
CN106572168A (zh) | 基于内容价值缓存的内容中心网络协同缓存方法及系统 | |
CN107347085A (zh) | 一种信息获取方法和装置 | |
CN108093056A (zh) | 信息中心无线网络虚拟化网络中节点缓存替换方法 | |
CN101582884A (zh) | 基于fpga的3g数据包重组系统及方法 | |
CN107135271B (zh) | 一种能量有效的内容中心网络缓存方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |