一种基于内容中心网络的域协同缓存方法及装置与流程

文档序号:16200440发布日期:2018-12-08 06:33阅读:144来源:国知局
本发明涉及内容中心网络领域,特别涉及一种基于内容中心网络的域协同缓存方法及装置。
背景技术
:相较于传统的以主机为中心的面向连接的网络模型,ccn更加关注的是用户请求的内容,将内容的命名作为网络传输的标志,取代当前的ip地址。并将传输模式改“推”为“拉”,以用户的意愿和请求作为信息传输的驱动因素,并直接以内容的命名进行数据的路由传输以及定位等,符合当前用户的需求。在ccn中,最重要的一个特性是支持节点缓存,将数据缓存在相关路由节点上,当相同的请求发出时直接由节点做出响应,而无需发往服务器,达到降低用户的请求时延同时减轻服务器的压力。当前主要的缓存策略是集中式路径缓存策略即将数据缓存在传输包经过的路径节点上,有几种典型的策略,分别是:1.处处缓存[1],将数据缓存在传输包经过路径的所有路由节点上。2.概率缓存[2],是对处处缓存的一种改进,传输包经过路由节点时,以一定的概率对数据进行缓存,可以在一定程度上减少数据的冗余3.下游节点缓存[3],将包仅仅缓存在用户请求的边缘节点上,可以很大程度上减少数据的冗余4.节点中心性缓存[4],将传输包缓存在网络拓扑图中,节点中心性值大的路由节点上,将节点的重要性充分考虑的同时不盲目的缓存,减少数据冗余。在ccn中,缓存策略的选择将直接影响通信质量,而当前的各种缓存策略也大部分处于研究阶段,已经实现的策略在数据冗余处理、减少请求时延等方面比较薄弱,因此本发明的主要目的是提高ccn的缓存效率,通过对通信拓扑的充分考量以及用户请求的动态调整,提高数据命中率、减少请求时延。目前在ccn中主要采取的是集中式的路径缓存策略,将数据缓存在数据包经过的路由器上,其结果会导致网络中会存在很多相同的数据副本,而只有距离用户请求近的节点缓存数据会被用户访问,大量的远端副本成为冗余信息,浪费存储空间,经过相关优化,将数据仅缓存在其中的部分节点上又会导致命中率低,核心节点数据替换频繁等问题。技术实现要素:有鉴于此,本发明实施例提供了一种基于内容中心网络的域协同缓存方法及装置,可以减少数据冗余,节省存储空间,提高缓存命中率,降低请求时延,为网络用户提供更好的数据服务。第一方面,本发明提供一种基于内容中心网络的域协同缓存方法,所述方法包括:确定网络拓扑中所有节点的中介中心值,根据节点的中介中心值的大小对所述网络拓扑进行划分得到多个协同缓存域,所述协同缓存域包括核心节点和普通节点,其中,中介中心值最大的节点对应为核心节点,与所述核心节点直接连接的节点为普通节点;在传输包中添加缓存处理标志位,在所述缓存标志位上配置所述传输包在节点转发模型中传递节点的中心值属性;在所述节点转发模型中配置协作值表cvt,当节点接收到传输包后将所述缓存标志位与所述协作值表进行匹配,并根据匹配结果对所述传输包进行相应处理。可选地,所述传输包包括数据包和兴趣包,所述兴趣包具有兴趣内容的命名、选择器、随机字段以及第一缓存标志位,所述数据包具有数据内容的命名、数字签名、标志信息、数据以及第二缓存标志位。可选地,所述方法还包括:在兴趣包产生时将自身的中介中心值初始化为零,在每次转发所述兴趣包前,将所述兴趣包的中介中心值与目标节点的中介中心值比较,将较大的中介中心值存储于兴趣包中,当兴趣包到达数据答复的目标节点时,所述兴趣包存储路由路径上所有节点中介中心值最大的值;将最大的值传递给数据包,在所述数据包回传时到达每个节点之后将所述最大的值和对应节点的中介中心值进行比较,比较结果为相等时将所述数据包中的数据进行储存。可选地,所述确定网络拓扑中所有节点的中介中心值,根据节点的中介中心值的大小对所述网络拓扑进行划分得到多个协同缓存域,包括:计算网络拓扑中所有节点的中介中心值;选取中介中心值最大的节点作为核心节点,若其中有多个节点同时具有最大中介中心值,则随机选取其中一个作为核心节点;设置核心节点一跳或多跳范围内为普通节点,则核心节点和周围的普通节点构成一个协同缓存域;再次选取除去已经划分协同缓存域的余下节点集合作为新的处理对象重复执行直到剩余未划分域的节点集合为空,则得到多个协同缓存域。可选地,所述节点转发模型还包括待定兴趣表、转发信息库以及内容存储表cs,所述在所述节点转发模型中配置协作值表,所述在所述节点转发模型中配置协作值表,当节点接收到传输包后将所述缓存标志位与所述协作值表进行匹配,并根据匹配结果对所述传输包进行相应处理,包括:当请求用户的兴趣包到达所述网络拓扑中的某个节点,查找当前节点的cs条目,当cs中存储有所述兴趣包请求的数据内容,则直接将所述该兴趣包丢弃并响应一个携带所述请求数据的数据包沿所述兴趣包到来的相反路径回传给请求用户,当cs中没有对应所述兴趣包请求的请求数据,则在pit中查找是否存在与所述兴趣内容的命名相匹配的内容;若存在则在pit的响应条目中增加到达接口,并将所述兴趣包丢弃,若不存在则在cvt中查找与所述兴趣包的第一缓存标志位对应的节点类型是否为核心节点;当所述节点类型为普通节点时将所述兴趣包转发至所述普通节点所在协同缓存域的核心节点,当节点类型为核心节点时,由核心节点来查询所管理的协同缓存域内是否有对应的普通节点存储所述请求数据,若存在相应的普通节点则由所述相应的普通节点返回所述请求数据,丢弃所述兴趣包,若不存在相应的普通节点则在fib中利用预定路由策略将所述兴趣包转发至其他节点或协同缓存域,并将所述兴趣包的到达接口记录在所述fib条目中。可选地,当节点接收到传输包后将所述缓存标志位与所述协作值表进行匹配,并根据匹配结果对所述传输包进行相应处理,包括:当数据包到达网络拓扑某个节点时,按照所述数据内容的命名查询cs是否存在匹配的数据包,若存在则将新到达的所述数据包丢弃,若不存在则将所述兴趣包与所述pit中的端口进行匹配,将所述数据包向匹配到的端口转发;查询所述利用所述cvt查询所述数据包的第二缓存标志位对应的节点类型是否为核心节点,若为核心节点则根据所述核心节点自身剩余缓存收益并结合各普通节点反馈回来的报文查询普通节点的缓存收益,选取缓存收益最大的节点进行缓存,在所述cvt中天健对应端口信息,若为普通节点,则将所述数据包转发至所述普通节点所在的协同缓存域的核心节点。可选地,所述将所述兴趣包与所述pit中的端口进行匹配之后,所述方法还包括:当所述pit中没有相应条目则丢弃所述数据包。第二方面,本发明提供一种基于内容中心网络的域协同缓存装置,所述装置包括:划分单元,用于确定网络拓扑中所有节点的中介中心值,根据节点的中介中心值的大小对所述网络拓扑进行划分得到多个协同缓存域,所述协同缓存域包括核心节点和普通节点,其中,中介中心值最大的节点对应为核心节点,与所述核心节点直接连接的节点为普通节点;添加单元,用于在传输包中添加缓存处理标志位,在所述缓存标志位上配置所述传输包在节点转发模型中传递节点的中心值属性;节点转发单元,用于在所述节点转发模型中配置协作值表cvt,当节点接收到传输包后将所述缓存标志位与所述协作值表进行匹配,并根据匹配结果对所述传输包进行相应处理。从以上技术方案可以看出,本发明实施例具有以下优点:本发明提供的基于内容中心网络的域协同缓存方法及装置,通过采用协同缓存的方式,将数据缓存在一定的协作区域内,充分利用协作域内的非路径节点的缓存空间,同时协作区域仅缓存一份副本,减少数据的冗余,充分利用网络拓扑中的硬件资源,采取合理的协作缓存策略,达到提高缓存命中率、减少路由跳数、降低请求时延目的,在一定程度上缓解服务器的压力的同时降低网络拥塞,为ccn中的网络用户提供更好的数据服务。附图说明图1是本发明提供的基于内容中心网络的域协同缓存方法的一种实施例的流程图;图2是本发明提供的基于内容中心网络的域协同缓存方法的一种实施例传输包的结构框图;图3是本发明提供的基于内容中心网络的域协同缓存方法的一种实施例的协同缓存域划分的示意图;图4是本发明提供的基于内容中心网络的域协同缓存方法的一种实施例的协同缓存域划分的流程图;图5是本发明提供的基于内容中心网络的域协同缓存方法的一种实施例的兴趣包转发的流程图;图6是本发明提供的基于内容中心网络的域协同缓存方法的一种实施例的数据包转发的流程图;图7是本发明提供的基于内容中心网络的域协同缓存方法的一种实施例仿真示意图;图8是本发明提供的基于内容中心网络的域协同缓存方法的一种实施例仿真示意图;图9是本发明提供的基于内容中心网络的域协同缓存方法的一种实施例仿真示意图。具体实施方式为了使本
技术领域
:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。结合图1所示,本发明提供一种基于内容中心网络的域协同缓存方法,所述方法包括:s101、确定网络拓扑中所有节点的中介中心值,根据节点的中介中心值的大小对所述网络拓扑进行划分得到多个协同缓存域,所述协同缓存域包括核心节点和普通节点,其中,中介中心值最大的节点对应为核心节点,与所述核心节点直接连接的节点为普通节点。s102、在传输包中添加缓存处理标志位,在所述缓存标志位上配置所述传输包在节点转发模型中传递节点的中心值属性。s103、在所述节点转发模型中配置协作值表cvt,当节点接收到传输包后将所述缓存标志位与所述协作值表进行匹配,并根据匹配结果对所述传输包进行相应处理。本发明提供的基于内容中心网络的域协同缓存方法,通过采用协同缓存的方式,将数据缓存在一定的协作区域内,充分利用协作域内的非路径节点的缓存空间,同时协作区域仅缓存一份副本,减少数据的冗余,充分利用网络拓扑中的硬件资源,采取合理的协作缓存策略,达到提高缓存命中率、减少路由跳数、降低请求时延目的,在一定程度上缓解服务器的压力的同时降低网络拥塞,为ccn中的网络用户提供更好的数据服务。结合图2所示,节点的重要性可以由节点的中介中心性(betweennesscentrality)来度量,在一个网络拓扑图中,v节点的中介中心性是指由源节点s到目的节点t(除去v节点本身)所有的最短路径中经过v节点的路径条数与拓扑中总的最短路径条数的比值的和。而内容中心网络ccn中通信是由用户端驱动的,传输过程中传输包主要包含两类数据类型,即兴趣包和数据包。兴趣包主要由兴趣内容的命名、选择器以及随机字段组成;而数据包则包括数据内容的命名、数字签名、标志信息以及数据等部分,本发明在原始结构上添加了缓存处理标志位,通过迪杰斯特拉算法求得每个节点的中介中心值,并将中介中心值存储到每个节点的缓存标志位中,兴趣包对应的是第一缓存标志位,数据包对应的是第二缓存标志位。由于传输包需要在节点之间进行传输的,因此对于新添加的域需要进行对应的编码以及解码才能进行传输。如果在兴趣包产生的时候将其中介中心值初始化为零,同时在每次转发兴趣包前,将兴趣包中的介中心值与到达节点的中心值比较,将较大的值存储于兴趣包中,这样当兴趣包到达数据答复的节点或服务器时,其中存储的将会是其路由路径上所有节点中心值最大的值,将该值传给数据包,让数据包在回传的时候,到达每个节点之后将该值和对应节点的中心值进行比较,相等时将数据进行储存,这样就将数据存储在了路径中介中心值最大的节点上,即实现基础的节点中心性缓存策略。但该策略只能将数据存储于传输路径上的节点上,会产生其他大量节点缓存空间的浪费以及负载不均衡等问题,本发明提出的域协同策略则是在实现中介中心值策略的基础上进行进一步优化,将节点中心值达到一定程度的节点进行协同域的划分,对其进行协同处理,达到对数据的高效缓存。将基本的传输包添加缓存标志处理位,可以为包在节点转发模型中传递节点的中心值属性,达到将传输包转移到对应节点的目的。结合图3和4所示,在步骤s102中,对网络拓扑种所有节点划分协同缓存域,具体地,网络拓扑图可以建模为一个无向图g=(v,e),其中v为网络节点集合,e为网络中连接的边集合。划分协同域的是为了充分利用所有节点的缓存空间,同时为节点的转发模型中的协作值表提供协作范围指示以及节点的重要性标记。根据实际的通信拓扑图,以计算得出的节点中介中心值为基础,选取其中中介中心值较大的节点作为核心节点,其周围直接连接的节点作为普通节点,将一个拓扑图大致分为多个以核心节点为引导的域,具体的步骤包括以下:s1、计算网络拓扑中所有节点的中介中心值;s2、选取中介中心值最大的节点作为核心节点,若其中有多个节点同时具有最大中介中心值,则随机选取其中一个作为核心节点;s3、设置核心节点一跳或多跳范围内为普通节点,则核心节点和周围的普通节点构成一个协同缓存域;s4、再次选取除去已经划分协同缓存域的余下节点集合作为新的处理对象重复执行s2和s3,直到剩余未划分域的节点集合为空,则得到多个协同缓存域。结合图5所示,在步骤s103中,节点转发模型还包括待定兴趣表(pendinginteresttable,pit)、转发信息库(forwardinginformationbase,fib)以及内容存储表(contentstore,cs),针对兴趣包的转发流程可以如下:当请求用户的兴趣包到达所述网络拓扑中的某个节点,查找当前节点的cs条目,当cs中存储有所述兴趣包请求的数据内容,则直接将所述该兴趣包丢弃并响应一个携带所述请求数据的数据包沿所述兴趣包到来的相反路径回传给请求用户,当cs中没有对应所述兴趣包请求的请求数据,则在pit中查找是否存在与所述兴趣内容的命名相匹配的内容,查找的时候采用的是命名的最长前缀匹配算法进行匹配查找;若存在则在pit的响应条目中增加到达接口,并将所述兴趣包丢弃,若不存在则在cvt中查找与所述兴趣包的第一缓存标志位对应的节点类型是否为核心节点;当所述节点类型为普通节点时将所述兴趣包转发至所述普通节点所在协同缓存域的核心节点,当节点类型为核心节点时,由核心节点来查询所管理的协同缓存域内是否有对应的普通节点存储所述请求数据,若存在相应的普通节点则由所述相应的普通节点返回所述请求数据,丢弃所述兴趣包,若不存在相应的普通节点则在fib中利用预定路由策略将所述兴趣包转发至其他节点或协同缓存域,并将所述兴趣包的到达接口记录在所述fib条目中。结合图6所示,在步骤s103中,在节点收到兴趣包后会根据兴趣包的请求数据查找数据包返回,数据包的转发流程可以包括以下步骤:当数据包到达网络拓扑某个节点时,按照所述数据内容的命名查询cs是否存在匹配的数据包,若存在则将新到达的所述数据包丢弃,若不存在则将所述兴趣包与所述pit中的端口进行匹配,将所述数据包向匹配到的端口转发,查找的时候采用的是命名的最长前缀匹配算法进行匹配查找;查询所述利用所述cvt查询所述数据包的第二缓存标志位对应的节点类型是否为核心节点,若为核心节点则根据所述核心节点自身剩余缓存收益并结合各普通节点反馈回来的报文查询普通节点的缓存收益,选取缓存收益最大的节点进行缓存,在所述cvt中天健对应端口信息,若为普通节点,则将所述数据包转发至所述普通节点所在的协同缓存域的核心节点,当所述pit中没有相应条目则丢弃所述数据包。本发明提供的基于内容中心网络的域协同缓存方法,通过采用协同缓存的方式,将数据缓存在一定的协作区域内,充分利用协作域内的非路径节点的缓存空间,同时协作区域仅缓存一份副本,减少数据的冗余。其充分利用网络拓扑中的硬件资源,采取合理的协作缓存策略,达到提高缓存命中率、减少路由跳数、降低请求时延目的,在一定程度上缓解服务器的压力的同时降低网络拥塞,为ccn中的网络用户提供更好的数据服务。下面采用仿真平台对本发明的基于内容中心网络的域协同缓存进行仿真,以便更好的对本方案的效果进行了解,具体地,仿真时的主要参数设置如下:网络拓扑图使用具有典型代表的geant2012,仿真时间设置为50s,内容请求概率服从zipf分布,使用最近最少使用(lru)替换策略,安装appdelaytracer、cs内容存储表tracer,并设置采样周期为2s,其中图7成功计算geant2012拓扑节点的中介中心值,图8成功在ndnsim仿真平台上编译并运行程序,图9成功追踪到响应的数据包请求,本发明通过在linux系统下的ndnsim仿真平台进行仿真实验时,相较于当前的策略,能够有效的缓解服务器压力,减少网络拥塞,降低网络通信过程中存储数据的冗余并提高缓存内容命中率。通过上述仿真和方案介绍可以看到,在内容中心网络中,高效的缓存策略可以给网络的使用者带来良好的用户体验,相异于tcp/ip网络通信,其更加能满足未来人们对信息请求趋势。而这项新的网络通信架构正处于研究阶段,因此当前基于该网络通信架构而提出来的缓存策略大部分也处于研究阶段,现今比较成熟的缓存技术基本上是基于路径的集中式缓存。本发明抛开传统的集中式路径缓存策略,将缓存的范围推广到域,避免数据缓存过程中出现的负载分布不均衡问题,同时域协同缓存策略可以充分利用协同域中的每一个节点的缓存空间,在相同条件下可以较集中式路径缓存策略存储更多的内容,并且减少了数据的频繁替换。同时,本发明拥有较小的节点代价开销,基于原有的数据结构进行操作,与原仿真平台有较好的兼容性,在充分考虑网络拓扑结构的基础上,对细粒度化的内容块进行协同缓存,保证内容块在当前的节点域中只有一个副本,降低了通信过程中的数据冗余、减少路由跳数的同时提高内容的命中率,能够较好的缓解服务器的压力和网络的拥塞,为用户带来良好的使用体验。相应地,本发明还提供一种基于内容中心网络的域协同缓存装置,所述装置包括:划分单元,用于确定网络拓扑中所有节点的中介中心值,根据节点的中介中心值的大小对所述网络拓扑进行划分得到多个协同缓存域,所述协同缓存域包括核心节点和普通节点,其中,中介中心值最大的节点对应为核心节点,与所述核心节点直接连接的节点为普通节点;添加单元,用于在传输包中添加缓存处理标志位,在所述缓存标志位上配置所述传输包在节点转发模型中传递节点的中心值属性;节点转发单元,用于在所述节点转发模型中配置协作值表cvt,当节点接收到传输包后将所述缓存标志位与所述协作值表进行匹配,并根据匹配结果对所述传输包进行相应处理。本发明提供的基于内容中心网络的域协同缓存方法,通过采用协同缓存的方式,将数据缓存在一定的协作区域内,充分利用协作域内的非路径节点的缓存空间,同时协作区域仅缓存一份副本,减少数据的冗余。其充分利用网络拓扑中的硬件资源,采取合理的协作缓存策略,达到提高缓存命中率、减少路由跳数、降低请求时延目的,在一定程度上缓解服务器的压力的同时降低网络拥塞,为ccn中的网络用户提供更好的数据服务。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。以上对本发明所提供的一种基于内容中心网络的域协同缓存方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1