CN110391980B - 一种数据转发方法、路由设备及计算机存储介质 - Google Patents
一种数据转发方法、路由设备及计算机存储介质 Download PDFInfo
- Publication number
- CN110391980B CN110391980B CN201810339650.7A CN201810339650A CN110391980B CN 110391980 B CN110391980 B CN 110391980B CN 201810339650 A CN201810339650 A CN 201810339650A CN 110391980 B CN110391980 B CN 110391980B
- Authority
- CN
- China
- Prior art keywords
- forwarding
- port
- interest
- stored
- packet
- 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.)
- Active
Links
Images
Classifications
-
- 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/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种数据转发方法、路由设备及计算机存储介质,上述数据转发方法包括:获取兴趣包;根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包;若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息;根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口;其中,第一转发端口为转发效率最高的一个端口;通过第一转发端口转发兴趣包。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种数据转发方法、路由设备及计算机存储介质。
背景技术
命名数据网络(Named Data Networking,NDN)是基于内容名字对内容的请求进行路由转发,并且转发路径上的所有网络设备都可以对内容进行缓存,以减少网络中重复内容的传输。当前命名数据网络转发策略的研究主要可以包括三种方法,具体可以分为基于网络端口状况感知、基于网络内容分布感知以及网络端口状况感知与网络内容分布感知相结合。
然而现有技术中,基于网络端口状况感知的转发策略不能充分利用命名数据网络中的缓存特性;基于网络内容分布感知的转发策略不能对网络端口的实时状况进行获取;进一步地,虽然将网络端口状况感知与网络内容分布感知相结合的转发策略可以有效的克服以上缺陷,但是,两者相结合的转发策略主要为针对具体内容的感知,因此会产生较大的延迟性;同时,由于当前命名数据网络转发策略主要采用主观属性选择的方式对网络进行感知,因此会存在时效性较差的缺陷。
发明内容
本发明实施例提供了数据转发方法、路由设备及计算机存储介质,能够在命名数据网络转发时有效地降低延时性,同时保证了转发的时效性。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种数据转发方法,包括:
获取兴趣包;
根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发所述兴趣包;
若判定转发所述兴趣包,则获取所述兴趣包对应的数据分布信息和预设端口对应的端口状态信息;
根据所述端口状态信息、所述数据分布信息以及预设决策树,确定所述兴趣包对应的第一转发端口;其中,所述第一转发端口为转发效率最高的一个端口;
通过所述第一转发端口转发所述兴趣包。
在上述方案中,所述根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发所述兴趣包,包括:
根据所述兴趣包分别在所述预存内容存储库、所述预存待定兴趣表以及所述预存转发信息表中进行查询处理;
若所述预存内容存储库中未存储所述兴趣包对应的内容信息、所述预存待定兴趣表中未存储所述兴趣包对应的兴趣信息,且所述预存转发信息表中存储所述兴趣包对应的转发信息,则判定转发所述兴趣包。
在上述方案中,所述根据所述端口状态信息、所述数据分布信息以及预设决策树,确定所述兴趣包对应的第一转发端口之前,所述方法还包括:
从所述预存转发信息表中获取可用端口。
在上述方案中,所述根据所述端口状态信息、所述数据分布信息以及预设决策树,确定所述兴趣包对应的第一转发端口,包括:
将所述端口状态信息和所述数据分布信息输入至所述预设决策树中,获得所述预设端口对应的转发概率;
根据所述转发概率,从所述可用端口中确定所述第一转发端口。
在上述方案中,所述通过所述第一转发端口转发所述兴趣包之后,所述方法还包括:
获取所述兴趣包对应的数据包;
根据所述预存待定兴趣表判断是否对所述数据包进行转发;
若判定转发所述数据包,则根据所述预存待定兴趣表确定所述数据包对应的第二转发端口;
通过所述第二转发端口转发所述数据包。
在上述方案中,所述根据所述预存待定兴趣表判断是否对所述数据包进行转发之后,所述方法还包括:
若判定转发所述数据包,则将所述数据包保存至所述预存内容存储库中。
在上述方案中,所述通过所述第一转发端口转发所述兴趣包之后,所述方法还包括:
获取所述兴趣包对应的转发属性信息;
根据所述转发属性信息更新所述预设决策树。
在上述方案中,所述获取所述兴趣包对应的转发属性信息之后,所述方法还包括:
根据所述转发属性信息更新预存热度表。
本发明实施例提供了一种路由设备,所述路由设备包括:获取单元,判断单元,收集单元,决策单元以及转发单元,
所述获取单元,用于获取兴趣包;
所述判断单元,用于根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发所述兴趣包;
所述收集单元,用于若判定转发所述兴趣包,则获取所述兴趣包对应的数据分布信息和预设端口对应的端口状态信息;
所述决策单元,用于根据所述端口状态信息、所述数据分布信息以及预设决策树,确定所述兴趣包对应的第一转发端口;其中,所述第一转发端口为转发效率最高的一个端口;
所述转发单元,用于通过所述第一转发端口转发所述兴趣包。
在上述方案中,所述判断单元,具体用于根据所述兴趣包分别在所述预存内容存储库、所述预存待定兴趣表以及所述预存转发信息表中进行查询处理;以及若所述预存内容存储库中未存储所述兴趣包对应的内容信息、所述预存待定兴趣表中未存储所述兴趣包对应的兴趣信息,且所述预存转发信息表中存储所述兴趣包对应的转发信息,则判定转发所述兴趣包。
在上述方案中,所述获取单元,还用于根据所述端口状态信息、所述数据分布信息以及预设决策树,确定所述兴趣包对应的第一转发端口之前,从所述预存转发信息表中获取可用端口。
在上述方案中,所述决策单元,具体用于将所述端口状态信息和所述数据分布信息输入至所述预设决策树中,获得所述预设端口对应的转发概率;以及根据所述转发概率,从所述可用端口中确定所述第一转发端口。
在上述方案中,所述获取单元,还用于通过所述第一转发端口转发所述兴趣包之后,获取所述兴趣包对应的数据包;
所述判断单元,还用于根据所述预存待定兴趣表判断是否对所述数据包进行转发;
所述决策单元,还用于若判定转发所述数据包,则根据所述预存待定兴趣表确定所述数据包对应的第二转发端口;
所述转发单元,还用于通过所述第二转发端口转发所述数据包。
在上述方案中,所述路由设备还包括:存储单元,
所述存储单元,用于根据所述预存待定兴趣表判断是否对所述数据包进行转发之后,若判定转发所述数据包,则将所述数据包保存至所述预存内容存储库中。
在上述方案中,所述路由设备还包括:更新单元,
所述获取单元,还用于获取所述兴趣包对应的转发属性信息;
所述更新单元,用于根据所述转发属性信息更新所述预设决策树。
在上述方案中,所述更新单元,还用于获取所述兴趣包对应的转发属性信息之后,根据所述转发属性信息更新预存热度表。
本发明实施例提供了一种路由设备,所述路由设备包括处理器、存储有所述处理器可执行指令的存储器、通信接口,和用于连接所述处理器、所述存储器以及所述通信接口的总线,当所述指令被执行时,所述处理器执行时实现如上所述的数据转发方法。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,应用于路由设备中,所述程序被处理器执行时实现如上所述的数据转发方法。
由此可见,本发明实施例提供了一种数据转发方法、路由设备及计算机存储介质,获取兴趣包;根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包;若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息;根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口;其中,第一转发端口为转发效率最高的一个端口;通过第一转发端口转发兴趣包。也就是说,本发明实施例提出的一种数据转发方法、路由设备及计算机存储介质,在获取兴趣包并判定转发兴趣包之后,根据数据分布信息、端口状态信息以及预设决策树确定出用于转发上述兴趣包的第一转发端口,并通过第一转发端口转发兴趣包。综上所述,上述预设决策树的使用,能够使路由设备确定出转发效率最高的第一转发端口,进而通过第一转发端口对兴趣包进行转发,从而能够在命名数据网络转发时有效地降低延时性,同时保证了转发的时效性。
附图说明
图1为本发明实施例提出的一种数据转发方法的实现流程示意图一;
图2为本发明实施例提出的一种数据转发方法的实现流程示意图二;
图3为本发明实施例中判断是否转发兴趣包的具体流程示意图;
图4为本发明实施例提出的一种数据转发方法的实现流程示意图三;
图5为本发明实施例提出的一种数据转发方法的实现流程示意图四;
图6为本发明实施例提出的一种数据转发方法的实现流程示意图五;
图7为本发明实施例提出的一种数据转发方法的实现流程示意图六;
图8为本发明实施例中判断是否转发数据包的具体流程示意图;
图9为本发明实施例提出的一种数据转发方法的实现流程示意图七;
图10为本发明实施例提出的一种数据转发方法的实现流程示意图八;
图11为本发明实施例提出的基于预设决策树的数据转发策略图;
图12为本发明实施例提出的路由设备的组成结构示意图一;
图13为本发明实施例提出的路由设备的组成结构示意图二;
图14为本发明实施例提出的路由设备的组成结构示意图三;
图15为本发明实施例提出的路由设备的组成结构示意图四。
具体实施方式
NDN设计了2种协议包,即兴趣包和数据包,分别用于探寻路径和接收数据内容。NDN中定义的节点模型主要由三部分构成:转发信息表(Forwarding Information Base,FIB),内容存储库(Content Store,CS)和待定兴趣表(Pending Interest Table,PIT),NDN利用这三张表储存的信息实现路由和转发。
由于不同策略所感知的网络信息各不相同,现有技术中主观选取感知信息来对网络进行度量的方式是不合理的。同时,不同网络环境下同一被感知的属性信息对网络中转发的度量也各不相同。对于不同环境下多属性决策的转发问题,因其复杂性很难通过计算的方式来确定各个属性对转发的度量程度。在本发明实施例中,机器学习的方法能通过对客观历史数据信息的学习,来获取数据本身固有的规律,能很好的解决上述问题。
决策树算法是机器学习方法中最常用的一种分类学习算法,它通过有监督学习的方式来完成数据分类模型。决策树的学习过程是一种对实例的归纳过程,即通过总结、概括等方式从若干的事实所表现出的属性中获取一般性规律的过程。通过归纳的方式,属性分类树从历史训练数据集中被获取,然后被用于对新数据的分析和分类,这是决策树方法的一般使用方式。本发明中基于决策树策略在不同状态下对应不同的决策行为。同时,决策树算法可以通过剪枝的方式来对具有相似处理方式的类别进行合并。此外,决策树算法中通过信息增益对比的方式对属性进行选取,客观衡量了不同网络环境下各属性对转发的度量程度,进一步缩小了分类数量。
针对当前命名数据网络转发策略中基于网络端口状态和内容分布共同感知的转发策略的不足,本发明提出了一种基于决策树的转发策略,可以将整个转发流程划分为离线学习和在线转发两部分进行,在线转发过程中获取的各属性信息被用于离线学习,离线学习的结果被用于在线转发。此外,为了适应转发策略的需求,本发明对现有的决策树算法进行修改。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
本发明实施例提供了一种数据转发方法,图1为本发明实施例提出的一种数据转发方法的实现流程示意图一,如图1所示,在本发明的实施例中,路由设备进行数据转发的方法可以包括以下步骤:
步骤101、获取兴趣包。
在本发明的实施例中,路由设备可以先获取兴趣包。具体地,在本发明的实施例中,路由设备可以通过用户的检索操作或输入操作而产生。
进一步地,在发明的实施例中,上述兴趣包由用户发出,通过名称来请求数据,能清晰地确定请求的内容包。兴趣包是NDN网络CCNX协议中的一种Message类型。
需要说明的是,在本发明的实施例中,上述兴趣包可以由上述路由设备中的一个路由节点获取的。
具体地,在本发明的实施例中,用户通过上述兴趣包可以向网络发送需求,网络根据上述兴趣包来查找与上述兴趣包对应的数据包。上述兴趣包是一种数据包类型,拥有一个内容名称。
步骤102、根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包。
在本发明的实施例中,上述路由设备在获取上述兴趣包之后,可以根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发上述兴趣包。
进一步地,在本发明的实施例中,上述路由设备在获取上述兴趣包之后,可以在上述预存内容存储库中查询与上述兴趣包相关的内容信息;同时,上述路由设备还可以在上述预存待定兴趣表中查询与上述兴趣包相关的兴趣信息;以及,上述路由设备还可以在上述预存转发信息表中查询与上述兴趣包相关的转发信息。
进一步地,在本发明的实施例中,上述路由设备在根据上述兴趣包对上述预存内容存储库、上述预存待定兴趣表以及上述预存转发信息表进行查询之后,便可以判定是否转发上述兴趣包。
具体地,在本发明的实施例中,如果上述路由设备判定不转发上述兴趣包,那么便可以将上述兴趣包丢弃。
步骤103、若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息。
在本发明的实施例中,上述路由设备在根据上述预存内容存储库,上述预存待定兴趣表以及上述预存转发信息表判断是否转发上述兴趣包之后,如果判定转发上述兴趣包,那么上述路由设备可以进一步获取上述兴趣包对应的数据分布信息和预设端口对应的端口状态信息。
需要说明的是,在本发明的实施例中,上述兴趣包对应的上述数据分布信息可以包括数据转发过程中的多种属性信息,例如,上述数据分布信息可以为数据的热度信息和类别信息。上述预设端口为上述路由节点对应的全部端口,上述预设端口对应的端口状态信息可以为表征端口状态的多个信息参数,例如,上述端口状态信息可以为端口平均延迟、PI计数等。
进一步地,在本发明的实施例中,如果上述兴趣包没有被丢弃,那么上述路由设备便需要获取上述数据分布信息和上述端口状态信息,从而进一步地根据上述数据分布信息和上述端口状态信息确定上述路由节点对应的各个端口的转发概率。
步骤104、根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口,其中,第一转发端口为转发效率最高的一个端口。
在本发明的实施例中,上述路由设备在获取上述兴趣包对应的上述数据分布信息和上述预设端口对应的上述端口状态信息之后,可以根据上述端口状态信息、上述数据分布信息以及预设决策树,确定上述兴趣包对应的第一转发端口。其中,上述第一转发端口为上述路由设备根据上述预设决策树确定出的转发效率最高的一个端口。
进一步地,在本发明的实施例中,上述路由设备在获取上述数据分布信息和上述端口状态信息之后,可以将上述数据分布信息和上述端口状态信息输入上述预设决策树中,从而确定上述预设端口对应的转发概率。
进一步地,在本发明的实施例中,上述路由设备在确定出上述预设端口对应的转发概率之后,便可以进一步根据上述兴趣包对应的可用端口和上述预设端口对应的转发概率,确定出转发上述兴趣包所需要的端口,即上述第一转发端口。
需要说明的是,在本发明的实施例中,数据转发过程中不同属性下各端口对应的转发概率的获取,是一个从根节点到叶子节点的遍历过程。这种树状结构减少了状态查询时间,从而缩短了传输过程中的处理时间。进一步地,在上述预设决策树的构建过程中,上述预设决策树算法中通过各属性信息增益的对比方式对重要属性进行选取,同时剪枝的使用使得具有相似处理方式的状态进行合并,从而使构建的树结构比较矮小,分类的类别数量减少。
进一步地,在本发明的实施例中,上述预设决策树中叶子节点中所标记的并不是任一个个端口延迟等级,而是任一个端口下的平均延迟,这种设置使得网络的度量变得更加准确。
进一步地,在本发明的实施例中,上述预设决策树算法中,信息增益的计算和叶子节点中平均延迟计算采用不同的标准,但两者有一定的内在联系,与现有决策树算法中采用相同标准的方式不同。
步骤105、通过第一转发端口转发兴趣包。
在本发明的实施例中,上述路由设备在根据上述端口状态信息、上述数据分布信息以及上述预设决策树,确定上述兴趣包对应的上述第一转发端口之后,便可以通过上述第一转发端口转发上述兴趣包。
进一步地,在本发明的实施例中,上述路由设备在确定出上述兴趣包对应的上述第一转发端口,即从上述可用端口中确定出转发概率最大的一个端口之后,便可以将上述兴趣包通过上述第一转发端口进行转发。
本发明实施例提供了一种数据转发方法,获取兴趣包;根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包;若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息;根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口;其中,第一转发端口为转发效率最高的一个端口;通过第一转发端口转发兴趣包。也就是说,本发明实施例提出的一种数据转发方法,在获取兴趣包并判定转发兴趣包之后,根据数据分布信息、端口状态信息以及预设决策树确定出用于转发上述兴趣包的第一转发端口,并通过第一转发端口转发兴趣包。综上所述,上述预设决策树的使用,能够使路由设备确定出转发效率最高的第一转发端口,进而通过第一转发端口对兴趣包进行转发,从而能够在命名数据网络转发时有效地降低延时性,同时保证了转发的时效性;并且,实现起来简单方便,便于普及,适用范围更广。
实施例二
图2为本发明实施例提出的一种数据转发方法的实现流程示意图二,如图2所示,基于实施例一,在本发明的实施例中,进一步地,上述路由设备根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发上述兴趣包的方法可以包括以下步骤:
步骤102a、根据兴趣包分别在预存内容存储库、预存待定兴趣表以及预存转发信息表中进行查询处理。
在本发明的实施例中,上述路由设备在获取上述兴趣包之后,可以根据上述兴趣包分别在上述预存内容存储库、上述预存待定兴趣表以及上述预存转发信息表中进行查询处理。
进一步地,在本发明的实施例中,上述路由设备可以在上述预存内容存储库中查询与上述兴趣包相关的内容信息;同时,上述路由设备还可以在上述预存待定兴趣表中查询与上述兴趣包相关的兴趣信息;以及,上述路由设备还可以在上述预存转发信息表中查询与上述兴趣包相关的转发信息。
步骤102b、若预存内容存储库中未存储兴趣包对应的内容信息、预存待定兴趣表中未存储兴趣包对应的兴趣信息,且预存转发信息表中存储兴趣包对应的转发信息,则判定转发兴趣包。
在发明的实施例中,上述路由设备在根据上述兴趣包分别在上述预存内容存储库、上述预存待定兴趣表以及上述预存转发信息表中进行查询处理之后,如果上述预存内容存储库中未存储上述兴趣包对应的内容信息,且上述预存待定兴趣表中未存储上述兴趣包对应的兴趣信息,且上述预存转发信息表中存储上述兴趣包对应的转发信息,那么便可以判定转发上述兴趣包。
图3为本发明实施例中判断是否转发兴趣包的具体流程示意图,如图3所示,在本发明的实施例中,上述路由装置可以先在上述预存内容存储库中查询与上述兴趣包对应的上述内容信息,如果上述预存内容存储库中存储有与上述兴趣包相关的内容信息,上述路由设备可以直接标记上述内容信息,并对上述内容信息进行转发,同时抛弃上述兴趣包;如果上述预存内容存储库中未存储有与上述兴趣包相关的内容信息,那么上述路由设备可以再在上述预存待定兴趣表中查询与上述兴趣包相关的兴趣信息,如果上述预存待定兴趣表存储有与上述兴趣包相关的兴趣信息,上述路由设备可以将上述兴趣包对应的接收端口添加至上述预存待定兴趣表中,同时抛弃上述兴趣包;如果上述预存待定兴趣表未存储有与上述兴趣包相关的兴趣信息,那么上述路由设备可以再在上述预存转发信息表中查询与上述兴趣包相关的转发信息,如果上述预存转发信息表中存储上述兴趣包对应的转发信息,上述路由装置可以判定对上述兴趣包进行转发;如果上述预存转发信息表中未存储上述兴趣包对应的转发信息,那么上述路由设备便可以直接抛弃上述兴趣包。
根据上述描述可知,通过上述步骤102a-102b对应的方法,上述路由设备根据兴趣包分别在预存内容存储库、预存待定兴趣表以及预存转发信息表中进行查询处理;若预存内容存储库中未存储兴趣包对应的内容信息、预存待定兴趣表中未存储兴趣包对应的兴趣信息,且预存转发信息表中存储兴趣包对应的转发信息,则判定转发兴趣包。也就是说,本发明实施例提出的一种数据转发方法,在获取兴趣包并判定转发兴趣包之后,根据数据分布信息、端口状态信息以及预设决策树确定出用于转发上述兴趣包的第一转发端口,并通过第一转发端口转发兴趣包。综上所述,上述预设决策树的使用,能够使路由设备确定出转发效率最高的第一转发端口,进而通过第一转发端口对兴趣包进行转发,从而能够在命名数据网络转发时有效地降低延时性,同时保证了转发的时效性;并且,实现起来简单方便,便于普及,适用范围更广。
实施例三
图4为本发明实施例提出的一种数据转发方法的实现流程示意图三,如图4所示,基于实施例一,在本发明的实施例中,进一步地,上述路由在根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口之前,即步骤104之前,上述路由设备进行数据转发的方法还可以包括以下步骤:
步骤106、从预存转发信息表中获取可用端口。
在本发明的实施例中,上述路由设备在根据上述端口状态信息、上述数据分布信息以及上述预设决策树,确定上述兴趣包对应的上述第一转发端口之前,需要先从上述预存转发信息表中获取可用端口。
需要说明的是,在本发明的实施例中,上述路由设备在确定上述预存转发信息表中存储有上述兴趣包对应的转发信息之后,可以从上述预存转发信息表中获取转发上述兴趣包所对应的可用端口。
图5为本发明实施例提出的一种数据转发方法的实现流程示意图四,如图5所示,在本发明的实施例中,进一步地,上述路由设备根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口的方法可以包括以下步骤:
步骤104a、将端口状态信息和数据分布信息输入至预设决策树中,获得预设端口对应的转发概率。
在本发明的实施例中,上述路由设备在获取上述兴趣包对应的上述数据分布信息和上述预设端口对应的上述端口状态信息之后,可以将上述端口状态信息和上述数据分布信息输入至上述预设决策树中,从而便可以计算获得上述预设端口对应的上述转发概率。
需要说明的是,在本发明的实施例中,上述路由设备根据上述数据分布信息、上述端口状态信息,通过上述预设决策树获取的上述转概率为上述路由节点对应的全部端口的转发概率,从而可以确定在上述路由节点的全部上述预设端口中的转发概率情况。
步骤104b、根据转发概率,从可用端口中确定第一转发端口。
在本发明的实施例中,上述路由设备在将上述端口状态信息和上述数据分布信息输入至上述预设决策树中,获得上述预设端口对应的上述转发概率,同时从上述预存转发信息表中获取上述可用端口之后,便可以根据上述转发概率,从上述可用端口中确定上述第一转发端口。
进一步地,在本发明的实施例中,由于上述路由节点对应的上述预设端口中存在不能用于转发上述兴趣包的端口,因此,上述路由设备需要从获取到的上述可用端口中选择一个端口对上述兴趣包进行转发,具体地,在本发明的实施例中,上述路由设备可以根据上述转发概率,在上述可用端口中选择概率值最高的端口,即上述第一转发端口。
本发明实施例提供了一种数据转发方法,获取兴趣包;根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包;若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息;根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口;其中,第一转发端口为转发效率最高的一个端口;通过第一转发端口转发兴趣包。也就是说,本发明实施例提出的一种数据转发方法,在获取兴趣包并判定转发兴趣包之后,根据数据分布信息、端口状态信息以及预设决策树确定出用于转发上述兴趣包的第一转发端口,并通过第一转发端口转发兴趣包。综上所述,上述预设决策树的使用,能够使路由设备确定出转发效率最高的第一转发端口,进而通过第一转发端口对兴趣包进行转发,从而能够在命名数据网络转发时有效地降低延时性,同时保证了转发的时效性;并且,实现起来简单方便,便于普及,适用范围更广。
实施例四
图6为本发明实施例提出的一种数据转发方法的实现流程示意图五,如图6所示,基于实施例一,在本发明的实施例中,进一步地,上述路由设备在通过第一转发端口转发兴趣包之后,即步骤105之后,上述路由设备进行数据转发的方法还可以包括以下步骤:
步骤107、获取兴趣包对应的数据包。
在本发明的实施例中,上述路由设备在通过上述第一转发端口转发上述兴趣包之后,可以获取上述兴趣包对应的数据包。
需要说明的是,在本发明的实施例中,上述路由设备在上述路由节点处确定上述第一转发端口,将上述兴趣包在上述第一转发端口进行转发之后,相应地,上述路由设备可以在上述路由节点获取到上述兴趣包对应的数据包。
进一步地,在本发明的实施例中,上述路由设备在上述路由节点上通过上述第一转发端口将上述兴趣包转发出去,表征请求获取与上述兴趣包对应的内容信息,即请求获取与上述兴趣包对应的数据包。
步骤108、根据预存待定兴趣表判断是否对数据包进行转发。
在本发明的实施例中,上述路由设备在获取到上述兴趣包对应的上述数据包之后,可以先根据上述预存待定兴趣表判断是否对上述数据包进行转发。
进一步地,在本发明的实施例中,与上述兴趣包对应的上述数据包到达上述路由节点时,上述路由设备可以在上述预存待定兴趣表查找与上述数据包对应的数据信息,从而可以判断是否对上述数据包进行转发处理。
需要说明的是,在本发明的实施例中,如果上述预存待定兴趣表中存储有上述数据包对应的数据信息,则判定转发上述数据包。
步骤109、若判定转发数据包,则根据预存待定兴趣表确定数据包对应的第二转发端口。
在本发明的实施例中,上述路由设备在根据上述预存待定兴趣表判断是否对上述数据包进行转发之后,如果判定转发上述数据包,那么上述路由设备可以先根据上述预存待定兴趣表确定上述数据包对应的第二转发端口。
需要说明的是,在本发明的实施例中,如果上述预存待定兴趣表中存储有上述数据包对应的数据信息,那么上述路由设备便可以从上述预存待定兴趣表中查询获取到上述路由节点上,与上述数据包对应的转发端口,即上述第二转发端口。
步骤1010、通过第二转发端口转发数据包。
在本发明的实施例中,如果判定转发上述数据包,上述路由设备在根据上述预存待定兴趣表确定上述数据包对应的第二转发端口之后,便可以通过上述第二转发端口转发上述数据包。
进一步地,在本发明的实施例中,上述路由设备在确定出上述数据包对应的上述第二转发端口,即从上述路由节点对应的全部端口中确定出一个用于转发上述数据包的转发端口之后,便可以将上述数据包通过上述第二转发端口进行转发。
图7为本发明实施例提出的一种数据转发方法的实现流程示意图六,如图7所示,在本发明的实施例中,进一步地,上述路由设备在根据预存待定兴趣表判断是否对数据包进行转发之后,即步骤108之后,上述路由设备进行数据转发的方法还可以包括以下步骤:
步骤1011、若判定转发数据包,则将数据包保存至预存内容存储库中。
在本发明的实施例中,上述路由设备在根据上述预存待定兴趣表判断是否对上述数据包进行转发之后,如果判定转发上述数据包,那么上述路由设备可以将上述数据包保存至上述预存内容存储库中。
图8为本发明实施例中判断是否转发数据包的具体流程示意图,如图8所示,在本发明的实施例中,上述路由装置可以先在上述预存待定兴趣表中查询与上述数据包相关的数据信息,如果上述预存待定兴趣表存储有与上述数据包相关的数据信息,上述路由设备可以判定对上述数据包进行转发,同时将上述数据包缓存至上述预存内容存储库中;如果上述预存待定兴趣表未存储有与上述数据包相关的数据信息,那么上述路由设备便可以直接抛弃上述数据包。
本发明实施例提供了一种数据转发方法,获取兴趣包;根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包;若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息;根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口;其中,第一转发端口为转发效率最高的一个端口;通过第一转发端口转发兴趣包。也就是说,本发明实施例提出的一种数据转发方法,在获取兴趣包并判定转发兴趣包之后,根据数据分布信息、端口状态信息以及预设决策树确定出用于转发上述兴趣包的第一转发端口,并通过第一转发端口转发兴趣包。综上所述,上述预设决策树的使用,能够使路由设备确定出转发效率最高的第一转发端口,进而通过第一转发端口对兴趣包进行转发,从而能够在命名数据网络转发时有效地降低延时性,同时保证了转发的时效性;并且,实现起来简单方便,便于普及,适用范围更广。
实施例五
图9为本发明实施例提出的一种数据转发方法的实现流程示意图七,如图9所示,基于实施例一,在本发明的实施例中,上述路由设备在通过第一转发端口转发兴趣包之后,即步骤105之后,上述路由设备进行数据转发的方法还可以包括以下步骤:
步骤1012、获取兴趣包对应的转发属性信息。
在本发明的实施例中,上述路由设备在通过上述第一转发端口转发上述兴趣包之后,可以获取上述兴趣包对应的转发属性信息。
需要说明的是,在本发明的实施例中,上述路由设备在线获取上述兴趣包对应的转发属性信息,进一步地,上述路由设备可以对在线收集到的上述兴趣包对应的转发属性信息进行离线处理,以便可以对预设决策树和预存热度表进行定时更新,从而提高数据转发的时效性。
步骤1013、根据转发属性信息更新预设决策树。
在本发明的实施例中,上述路由设备在获取上述兴趣包对应的上述转发属性信息之后,可以根据上述转发属性信息更新上述预设决策树。
进一步地,在本发明的实施例中,上述路由设备可以根据在线收集到的上述兴趣包对应的上述转发属性信息进行上述预设决策树的更新,从而使上述预设决策树在构建时可以定时进行调整和变更,从而可以保证属性的时效性。
图10为本发明实施例提出的一种数据转发方法的实现流程示意图八,如图10所示,在本发明的实施例中,上述路由设备在获取兴趣包对应的转发属性信息之后,即步骤1012之后,上述路由设备进行数据转发的方法还可以包括以下步骤:
步骤1014、根据转发属性信息更新预存热度表。
在本发明的实施例中,上述路由设备在获取上述兴趣包对应的上述转发属性信息之后,可以根据上述转发属性信息更新上述预存热度表。
进一步地,在本发明的实施例中,上述路由设备可以根据在线收集到的上述兴趣包对应的上述转发属性信息进行上述预存热度表的更新,从而使上述预存热度表可以适应新的热度数据变更。
综上所述,在本发明的实施例中,针对当前命名数据网络转发策略中基于网络端口状态和内容分布共同感知的转发策略的不足,本发明提出了一种基于决策树的转发策略,可以将整个转发流程划分为离线学习和在线转发两部分进行,在线转发过程中获取的各属性信息被用于离线学习,离线学习的结果被用于在线转发。此外,为了适应转发策略的需求,本发明实施例对现有的决策树算法进行修改。
进一步地,在本发明的实施例中,基于决策树的转发策略通过对客观历史数据归纳总结,获取各个属性对数据转发的度量程度。同时,该策略的定时更新功能提供了属性的实效性保证。
本发明实施例提供了一种数据转发方法,获取兴趣包;根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包;若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息;根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口;其中,第一转发端口为转发效率最高的一个端口;通过第一转发端口转发兴趣包。也就是说,本发明实施例提出的一种数据转发方法,在获取兴趣包并判定转发兴趣包之后,根据数据分布信息、端口状态信息以及预设决策树确定出用于转发上述兴趣包的第一转发端口,并通过第一转发端口转发兴趣包。综上所述,上述预设决策树的使用,能够使路由设备确定出转发效率最高的第一转发端口,进而通过第一转发端口对兴趣包进行转发,从而能够在命名数据网络转发时有效地降低延时性,同时保证了转发的时效性;并且,实现起来简单方便,便于普及,适用范围更广。
实施例六
基于上述实施例一至实施例五,图11为本发明实施例提出的基于预设决策树的数据转发策略图,如图11所示,在本发明的实施例中,在单个路由节点中,上述路由设备基于预设决策树的转发策略将整个数据处理流程分为两个部分进行,包括在线处理流程和离线处理流程。
进一步地,在本发明的实施例中,上述在线处理流程的主要任务是完成兴趣包和数据包的在线转发。如图11所示,上述在线处理流程主要可以包括预处理模块,属性收集模块,转发策略模块,缓存决策模块以及查询模块。
具体地,在本发明的实施例中,当一个兴趣包到达一个路由节点中,兴趣包的转发处理流程就开始了。兴趣包首先进入预处理模块,在预处理模块中,兴趣包的一些基本操作被执行,若兴趣包在该流程中没有被丢弃,则进入状态收集模块,状态收集模块的功能是完成与网络端口状况和数据分布有关属性信息的获取。在收集到属性信息过后,就进入转发决策模块,转发决策模块实现了预设决策树查询和端口选择两种功能。预设决策树查询功能主要是利用收集到的属性信息来获取各个端口的转发概率,而端口选择功能是利用各端口转发概率和预处理模块中提供的可转端口信息来选择端口,经过以上步骤,上述路由设备便可以基于预设决策树确定出第一转发端口,并将兴趣包从第一转发端口中转发出去,从而完成整个兴趣包的处理流程。
具体地,在本发明的实施例中,数据包的转发处理流程由缓存决策模块和查询模块组成。上述路由设备通过配置缓存策略,返回的数据包被决定是否要缓存在本地,而查询模块通过对预设待定兴趣表的查询决定了从哪些端口转出数据包。此外,通过返回的数据包,上述路由设备可以度量每个包的属性,该属性可以被传送至属性收集模块,属性收集模块将属性信息进行整合,并传送至离线定时更新模块的数据集中。
进一步地,在本发明的实施例中,上述离线处理流程的主要任务是对在线收集到的数据信息进行离线处理,并利用处理后结果帮助在线转发。如图11所示,上述离线处理流程主要可以包括定时更新模块。
具体地,本发明的实施例中,上述定时更新模块主要用于数据热度更新和预设决策树更新。其中,数据热度更新功能主要是利用在线收集到的转发信息更新属性收集模块中的热度表,以适应新的热度数据更换。预设决策树更新功能是利用预设决策树算法重新构建新的预设决策树,以适应新的网络环境。
本发明实施例提供了一种数据转发方法,获取兴趣包;根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包;若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息;根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口;其中,第一转发端口为转发效率最高的一个端口;通过第一转发端口转发兴趣包。也就是说,本发明实施例提出的一种数据转发方法,在获取兴趣包并判定转发兴趣包之后,根据数据分布信息、端口状态信息以及预设决策树确定出用于转发上述兴趣包的第一转发端口,并通过第一转发端口转发兴趣包。综上所述,上述预设决策树的使用,能够使路由设备确定出转发效率最高的第一转发端口,进而通过第一转发端口对兴趣包进行转发,从而能够在命名数据网络转发时有效地降低延时性,同时保证了转发的时效性;并且,实现起来简单方便,便于普及,适用范围更广。
实施例七
基于实施例一至实施例六的同一发明构思下,图12为本发明实施例提出的路由设备的组成结构示意图一,如图12所示,本发明实施例提出的路由设备0可以包括获取单元01,判断单元02,收集单元03,决策单元04以及转发单元05。
获取单元01,用于获取兴趣包。
判断单元02,用于在获取单元01获取兴趣包之后,根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包。
收集单元03,用于在判断单元02根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包之后,若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息。
决策单元04,用于在收集单元03获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息之后,根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口。
转发单元05,用于在决策单元04根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口之后,通过第一转发端口转发兴趣包。
在本发明的实施例中,进一步地,上述判断单元02,具体用于根据兴趣包分别在预存内容存储库、预存待定兴趣表以及预存转发信息表中进行查询处理;以及若预存内容存储库中未存储兴趣包对应的内容信息、预存待定兴趣表中未存储兴趣包对应的兴趣信息,且预存转发信息表中存储兴趣包对应的转发信息,则判定转发兴趣包。
在本发明的实施例中,进一步地,上述获取单元01,还用于根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口之前,从预存转发信息表中获取可用端口。
在本发明的实施例中,进一步地,上述决策单元04,具体用于将端口状态信息和数据分布信息输入至预设决策树中,获得预设端口对应的转发概率;以及根据转发概率,从可用端口中确定第一转发端口。
在本发明的实施例中,进一步地,上述获取单元01,还用于通过第一转发端口转发兴趣包之后,获取兴趣包对应的数据包。
上述判断单元02,还用于在获取单元01获取兴趣包对应的数据包之后,根据预存待定兴趣表判断是否对数据包进行转发。
上述决策单元04,还用于在判断单元02根据预存待定兴趣表判断是否对数据包进行转发之后,若判定转发数据包,则根据预存待定兴趣表确定数据包对应的第二转发端口。
上述转发单元05,还用于在决策单元04根据预存待定兴趣表确定数据包对应的第二转发端口之后,通过第二转发端口转发数据包。
基于上述图12,图13为本发明实施例提出的路由设备的组成结构示意图二,如图13所示,本发明实施例提出的路由设备0还可以包括:存储单元06。
存储单元06,用于根据预存待定兴趣表判断是否对数据包进行转发之后,若判定转发数据包,则将数据包保存至预存内容存储库中。
基于上述图12,图14为本发明实施例提出的路由设备的组成结构示意图三,如图14所示,本发明实施例提出的路由设备0还可以包括:更新单元07。
收集单元03,还用于获取兴趣包对应的转发属性信息。
更新单元07,用于在收集单元03获取兴趣包对应的转发属性信息之后,根据转发属性信息更新预设决策树。
在本发明的实施例中,进一步地,上述更新单元07,还用于获取兴趣包对应的转发属性信息之后,根据转发属性信息更新预存热度表。
基于实施例一至实施例六的同一发明构思下,图15为本发明实施例提出的路由设备的组成结构示意图四,如图15所示,本发明实施例提出的路由设备0还可以包括处理器08、存储有处理器08可执行指令的存储器09、通信接口010,和用于连接处理器08、存储器09以及通信接口010的总线011。
在本发明的实施例中,上述处理器08可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列(Field ProgRAMmable GateArray,FPGA)、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。该路由设备0还可以包括存储器09,该存储器09可以与处理器08连接,其中,存储器09用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器09可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。
在本发明的实施例中,总线011用于连接通信接口010、处理器08、SIM卡单元01以及存储器09以及这些器件之间的相互通信。
在本发明的实施例中,存储器09,用于存储指令和数据。
处理器08,用于获取兴趣包;根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包;若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息;根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口;其中,第一转发端口为转发效率最高的一个端口;通过第一转发端口转发兴趣包。
在实际应用中,上述存储器09可以是易失性第一存储器(volatile memory),例如随机存取第一存储器(Random-Access Memory,RAM);或者非易失性第一存储器(non-volatile memory),例如只读第一存储器(Read-Only Memory,ROM),快闪第一存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的第一存储器的组合,并向处理器08提供指令和数据。
另外,在本实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例提供了一种路由设备,获取兴趣包;根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包;若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息;根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口;其中,第一转发端口为转发效率最高的一个端口;通过第一转发端口转发兴趣包。也就是说,本发明实施例提出的一种路由设备,在获取兴趣包并判定转发兴趣包之后,根据数据分布信息、端口状态信息以及预设决策树确定出用于转发上述兴趣包的第一转发端口,并通过第一转发端口转发兴趣包。综上所述,上述预设决策树的使用,能够使路由设备确定出转发效率最高的第一转发端口,进而通过第一转发端口对兴趣包进行转发,从而能够在命名数据网络转发时有效地降低延时性,同时保证了转发的时效性;并且,实现起来简单方便,便于普及,适用范围更广。
本发明实施例提供一种计算机可读存储介质,其上存储有程序,应用于路由设备中,该程序被处理器执行时实现如实施例一至实施例六的方法。
具体来讲,本实施例中的一种数据转发方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种数据转发方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
获取兴趣包;
根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发兴趣包;
若判定转发兴趣包,则获取兴趣包对应的数据分布信息和预设端口对应的端口状态信息;
根据端口状态信息、数据分布信息以及预设决策树,确定兴趣包对应的第一转发端口;其中,第一转发端口为转发效率最高的一个端口;
通过第一转发端口转发兴趣包。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (18)
1.一种数据转发方法,其特征在于,所述方法包括:
获取兴趣包;
根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发所述兴趣包;
若判定转发所述兴趣包,则获取所述兴趣包对应的数据分布信息和预设端口对应的端口状态信息,其中,所述数据分布信息包括数据转发过程中的属性信息;
根据所述端口状态信息、所述数据分布信息以及预设决策树,确定所述兴趣包对应的第一转发端口;其中,所述第一转发端口为转发效率最高的一个端口;
通过所述第一转发端口转发所述兴趣包。
2.根据权利要求1所述的方法,其特征在于,所述根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发所述兴趣包,包括:
根据所述兴趣包分别在所述预存内容存储库、所述预存待定兴趣表以及所述预存转发信息表中进行查询处理;
若所述预存内容存储库中未存储所述兴趣包对应的内容信息、所述预存待定兴趣表中未存储所述兴趣包对应的兴趣信息,且所述预存转发信息表中存储所述兴趣包对应的转发信息,则判定转发所述兴趣包。
3.根据权利要求1所述的方法,其特征在于,所述根据所述端口状态信息、所述数据分布信息以及预设决策树,确定所述兴趣包对应的第一转发端口之前,所述方法还包括:
从所述预存转发信息表中获取可用端口。
4.根据权利要求3所述的方法,其特征在于,所述根据所述端口状态信息、所述数据分布信息以及预设决策树,确定所述兴趣包对应的第一转发端口,包括:
将所述端口状态信息和所述数据分布信息输入至所述预设决策树中,获得所述预设端口对应的转发概率;
根据所述转发概率,从所述可用端口中确定所述第一转发端口。
5.根据权利要求1所述的方法,其特征在于,所述通过所述第一转发端口转发所述兴趣包之后,所述方法还包括:
获取所述兴趣包对应的数据包;
根据所述预存待定兴趣表判断是否对所述数据包进行转发;
若判定转发所述数据包,则根据所述预存待定兴趣表确定所述数据包对应的第二转发端口;
通过所述第二转发端口转发所述数据包。
6.根据权利要求5所述的方法,其特征在于,所述根据所述预存待定兴趣表判断是否对所述数据包进行转发之后,所述方法还包括:
若判定转发所述数据包,则将所述数据包保存至所述预存内容存储库中。
7.根据权利要求1所述的方法,其特征在于,所述通过所述第一转发端口转发所述兴趣包之后,所述方法还包括:
获取所述兴趣包对应的转发属性信息;
根据所述转发属性信息更新所述预设决策树。
8.根据权利要求7所述的方法,其特征在于,所述获取所述兴趣包对应的转发属性信息之后,所述方法还包括:
根据所述转发属性信息更新预存热度表。
9.一种路由设备,其特征在于,所述路由设备包括:获取单元,判断单元,收集单元,决策单元以及转发单元,
所述获取单元,用于获取兴趣包;
所述判断单元,用于根据预存内容存储库,预存待定兴趣表以及预存转发信息表判断是否转发所述兴趣包;
所述收集单元,用于若判定转发所述兴趣包,则获取所述兴趣包对应的数据分布信息和预设端口对应的端口状态信息,其中,所述数据分布信息包括数据转发过程中的属性信息;
所述决策单元,用于根据所述端口状态信息、所述数据分布信息以及预设决策树,确定所述兴趣包对应的第一转发端口;其中,所述第一转发端口为转发效率最高的一个端口;
所述转发单元,用于通过所述第一转发端口转发所述兴趣包。
10.根据权利要求9所述的路由设备,其特征在于,
所述判断单元,具体用于根据所述兴趣包分别在所述预存内容存储库、所述预存待定兴趣表以及所述预存转发信息表中进行查询处理;以及若所述预存内容存储库中未存储所述兴趣包对应的内容信息、所述预存待定兴趣表中未存储所述兴趣包对应的兴趣信息,且所述预存转发信息表中存储所述兴趣包对应的转发信息,则判定转发所述兴趣包。
11.根据权利要求9所述的路由设备,其特征在于,
所述获取单元,还用于根据所述端口状态信息、所述数据分布信息以及预设决策树,确定所述兴趣包对应的第一转发端口之前,从所述预存转发信息表中获取可用端口。
12.根据权利要求11所述的路由设备,其特征在于,
所述决策单元,具体用于将所述端口状态信息和所述数据分布信息输入至所述预设决策树中,获得所述预设端口对应的转发概率;以及根据所述转发概率,从所述可用端口中确定所述第一转发端口。
13.根据权利要求9所述的路由设备,其特征在于,
所述获取单元,还用于通过所述第一转发端口转发所述兴趣包之后,获取所述兴趣包对应的数据包;
所述判断单元,还用于根据所述预存待定兴趣表判断是否对所述数据包进行转发;
所述决策单元,还用于若判定转发所述数据包,则根据所述预存待定兴趣表确定所述数据包对应的第二转发端口;
所述转发单元,还用于通过所述第二转发端口转发所述数据包。
14.根据权利要求13所述的路由设备,其特征在于,所述路由设备还包括:存储单元,
所述存储单元,用于根据所述预存待定兴趣表判断是否对所述数据包进行转发之后,若判定转发所述数据包,则将所述数据包保存至所述预存内容存储库中。
15.根据权利要求9所述的路由设备,其特征在于,所述路由设备还包括:更新单元,
所述收集单元,还用于获取所述兴趣包对应的转发属性信息;
所述更新单元,用于根据所述转发属性信息更新所述预设决策树。
16.根据权利要求15所述的路由设备,其特征在于,
所述更新单元,还用于获取所述兴趣包对应的转发属性信息之后,根据所述转发属性信息更新预存热度表。
17.一种路由设备,其特征在于,所述路由设备包括处理器、存储有所述处理器可执行指令的存储器、通信接口,和用于连接所述处理器、所述存储器以及所述通信接口的总线,当所述指令被执行时,所述处理器执行时实现如权利要求1-8任一项所述的方法。
18.一种计算机可读存储介质,其上存储有程序,应用于路由设备中,其特征在于,所述程序被处理器执行时实现如权利要求1-8任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810339650.7A CN110391980B (zh) | 2018-04-16 | 2018-04-16 | 一种数据转发方法、路由设备及计算机存储介质 |
PCT/CN2019/072785 WO2019200994A1 (zh) | 2018-04-16 | 2019-01-23 | 一种数据转发方法、路由设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810339650.7A CN110391980B (zh) | 2018-04-16 | 2018-04-16 | 一种数据转发方法、路由设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110391980A CN110391980A (zh) | 2019-10-29 |
CN110391980B true CN110391980B (zh) | 2021-11-09 |
Family
ID=68239257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810339650.7A Active CN110391980B (zh) | 2018-04-16 | 2018-04-16 | 一种数据转发方法、路由设备及计算机存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110391980B (zh) |
WO (1) | WO2019200994A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117499178A (zh) * | 2024-01-02 | 2024-02-02 | 中国科学技术大学 | 一种ip网络和icn网络融合方法与*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107248956A (zh) * | 2017-06-05 | 2017-10-13 | 北京邮电大学 | 一种信息中心网络的路由方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8462666B2 (en) * | 2011-02-05 | 2013-06-11 | Force10 Networks, Inc. | Method and apparatus for provisioning a network switch port |
US8694675B2 (en) * | 2011-09-01 | 2014-04-08 | Futurewei Technologies, Inc. | Generalized dual-mode data forwarding plane for information-centric network |
CN103841018B (zh) * | 2012-11-26 | 2017-04-19 | 华为技术有限公司 | 一种基于内容网多端口的转发方法及路由器 |
CN104737505B (zh) * | 2013-02-05 | 2017-07-14 | 华为技术有限公司 | 基于缓存的路由方法及路由节点 |
JP6225249B2 (ja) * | 2013-06-08 | 2017-11-01 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ルーティング及び転送の方法、装置、及びシステム |
WO2015048773A2 (en) * | 2013-09-30 | 2015-04-02 | Northeastern University | System and method for joint dynamic forwarding and caching in content distribution networks |
US10212248B2 (en) * | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
CN106534360A (zh) * | 2016-12-13 | 2017-03-22 | 重庆大学 | 一种基于软件定义的内容中心网络路由方法 |
CN106878310B (zh) * | 2017-02-22 | 2020-02-14 | 吉林大学 | 命名数据网络下一种实时流数据分发的方法 |
-
2018
- 2018-04-16 CN CN201810339650.7A patent/CN110391980B/zh active Active
-
2019
- 2019-01-23 WO PCT/CN2019/072785 patent/WO2019200994A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107248956A (zh) * | 2017-06-05 | 2017-10-13 | 北京邮电大学 | 一种信息中心网络的路由方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110391980A (zh) | 2019-10-29 |
WO2019200994A1 (zh) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11811660B2 (en) | Flow classification apparatus, methods, and systems | |
CN108153757B (zh) | 一种哈希表管理的方法和装置 | |
Varvello et al. | On the design and implementation of a wire-speed pending interest table | |
CN100499523C (zh) | 网络***及通信量信息汇集装置 | |
CN106998370A (zh) | 访问控制方法、装置以及*** | |
WO2012122435A2 (en) | Accessing network traffic data at multiple time scales and levels of detail | |
NO313399B1 (no) | Fremgangsmate til soking og analyse av informasjon i datanettverk | |
JP2004229163A (ja) | 固定長データ検索装置、及び固定長データ検索方法、及びコンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体 | |
US9787585B2 (en) | Distributed storage system, control apparatus, client terminal, load balancing method and program | |
CN108710629B (zh) | 基于命名数据网络的Top-k查询方法及*** | |
CN110391980B (zh) | 一种数据转发方法、路由设备及计算机存储介质 | |
CN111294394A (zh) | 基于复杂网络交汇点的自适应缓存策略 | |
CN111694793A (zh) | 一种日志存储方法、装置及日志查询方法、装置 | |
CN107248939A (zh) | 基于hash存储器的网络流高速关联方法 | |
CN112449371A (zh) | 一种无线路由器的性能评测方法及电子设备 | |
CN109067744A (zh) | Acl规则处理方法、装置及通信设备 | |
CN112817983A (zh) | 句柄标识解析缓存方法、查询方法及其句柄标识解析*** | |
CN112231481A (zh) | 网址的分类方法、装置、计算机设备和存储介质 | |
KR102127272B1 (ko) | 통계적 sql 패턴 분석을 통한 sql 튜닝 자동화 방법 및 시스템 | |
CN114520784B (zh) | 一种动态内容加速访问方法及装置 | |
CN107870925B (zh) | 一种字符串过滤方法和相关装置 | |
CN103078968B (zh) | 域名查询方法、ip分族方法、装置和设备 | |
Zhang et al. | Multi-path interests routing scheme for multi-path data transfer in content centric networking | |
JP2018018523A (ja) | ユーザアクセスログの関連付け方法、装置、システム、プログラム及び記録媒体 | |
Tortelli et al. | On simulating Bloom filters in the ndnSIM open source simulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |