一种基于流行度与节点重要度的缓存方法及装置与流程

文档序号:15497990发布日期:2018-09-21 22:04阅读:191来源:国知局

本申请涉及网络缓存技术领域,特别是涉及一种基于流行度与节点重要度的缓存方法及装置。



背景技术:

随着传统tcp/ip网络诸多弊端的暴露,内容中心网络(content-centricnetwork,ccn)作为一种新型网络,已经成为未来网络的研究热点。内容中心网络强调以内容资源本身为中心,在路由节点中对内容进行缓存,使内容接近用户,因此缓存策略研究成为ccn网络的关键技术之一。

在传统主流ccn网络缓存策略lce(leavecopyeverywhere,处处缓存)和rdm(randomcachingstrategy,随机缓存策略)的基础上,提出的betw(betweenness,节点介数)改进缓存策略受到了人们的关注。betw改进缓存策略的工作流程为:当用户需要获取某一数据文件时,首先作为内容请求者,通过某一用户终端设备向网络发送内容请求,然后网络中与用户终端设备连接的节点根据ccn的转发策略,对内容请求进行逐跳转发,直至遇到某一个缓存空间中存储有目标数据文件的节点或内容服务器。任何能够响应内容请求的节点或内容服务器,在沿着内容请求的方向发送目标数据文件的同时,考虑返回路径中各节点的节点重要度,即节点介数,选择路径中具有最大节点介数的节点作为重要节点,并进行缓存,其他节点中不再缓存。使用betw改进缓存策略可以取得较高的节点缓存命中率,减少数据文件传输的平均跳数。

然而在内容中心网络中,使用betw改进缓存策略进行缓存时,重要节点需要缓存所有的目标数据文件,导致了重要节点存储压力较大的问题。



技术实现要素:

本申请实施例的目的在于提供一种基于流行度与节点重要度的缓存方法及装置,以减轻重要节点的存储压力。具体技术方案如下:

第一方面,提供了一种基于流行度与节点重要度的缓存方法,所述方法应用于内容中心网络中的中间节点,所述方法包括:

当接收到网络设备发送的目标数据文件时,判断本设备是否为重要节点,所述目标数据文件是响应预设的用户节点发送的内容请求的数据文件;

如果本设备是重要节点,则判断当前的缓存利用率是否超过预设阈值;

如果当前的缓存利用率未超过所述预设阈值,则存储所述目标数据文件;

如果当前的缓存利用率超过所述预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及所述目标数据文件的内容流行度;

根据所述各数据文件的内容流行度、所述目标数据文件的内容流行度和预设的文件存储策略,确定用于存储所述目标数据文件的中间节点,并通过所述中间节点存储所述目标数据文件。

可选的,所述根据所述各数据文件的内容流行度、所述目标数据文件的内容流行度和预设的文件存储策略,确定用于存储所述目标数据文件的中间节点,并通过所述中间节点存储所述目标数据文件,包括:

在所述各数据文件的内容流行度中,确定最大流行度和最小流行度;

如果所述目标数据文件的内容流行度,大于所述最大流行度,则将所述目标数据文件发送给下一级中间节点;

如果所述目标数据文件的内容流行度,小于所述最小流行度,则将所述目标数据文件,发送给上一级中间节点;

如果所述目标数据文件的内容流行度,小于所述最大流行度,且大于所述最小流行度,则对所述目标数据文件进行存储,并删除所述最小流行度对应的数据文件。

可选的,如果本设备不是重要节点,所述方法还包括:

当所述网络设备为重要节点时,判断当前的缓存利用率是否超过预设阈值;

如果当前的缓存利用率未超过所述预设阈值,则存储所述目标数据文件;

如果当前的缓存利用率超过所述预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及所述目标数据文件的内容流行度;

在所述各数据文件的内容流行度中,确定最大流行度和最小流行度;

如果所述目标数据文件的内容流行度大于所述最小流行度,则对所述目标数据文件进行存储,并删除所述最小流行度对应的数据文件。

可选的,所述判断本设备是否为重要节点,包括:

获取本地预先存储的身份信息,如果所述身份信息表示本设备为重要节点,则判定本设备是重要节点;否则,判定本设备非重要节点;或者,

根据预先存储的节点介数算法和本设备所属的内容中心网络的网络拓扑,计算所述各中间节点对应的节点介数;

如果本设备对应的节点介数为所述各中间节点对应的节点介数中的最大值,则判定本设备是重要节点;否则,判定本设备非重要节点。

第二方面,提供了一种基于流行度与节点重要度的缓存装置,所述装置应用于内容中心网络中的中间节点,所述装置包括:

第一判断模块,用于在接收到网络设备发送的目标数据文件时,判断本设备是否为重要节点,所述目标数据文件是响应预设的用户节点发送的内容请求的数据文件;

第二判断模块,用于在本设备是重要节点时,判断当前的缓存利用率是否超过预设阈值;

第一存储模块,用于在当前的缓存利用率未超过所述预设阈值时,存储所述目标数据文件;

第一获取模块,用于在当前的缓存利用率超过所述预设阈值时,获取本设备当前存储的各数据文件的内容流行度、以及所述目标数据文件的内容流行度;

第一确定模块,用于根据所述各数据文件的内容流行度、所述目标数据文件的内容流行度和预设的文件存储策略,确定用于存储所述目标数据文件的中间节点,并通过所述中间节点存储所述目标数据文件。

可选的,所述第一确定模块,包括:

确定子模块,用于在所述各数据文件的内容流行度中,确定最大流行度和最小流行度;

第一发送子模块,用于在所述目标数据文件的内容流行度,大于所述最大流行度时,将所述目标数据文件发送给下一级中间节点;

第二发送子模块,用于在所述目标数据文件的内容流行度,小于所述最小流行度时,将所述目标数据文件,发送给上一级中间节点;

存储子模块,用于在所述目标数据文件的内容流行度,小于所述最大流行度,且大于所述最小流行度时,对所述目标数据文件进行存储,并删除所述最小流行度对应的数据文件。

可选的,如果本设备不是重要节点,所述装置还包括:

第三判断模块,用于在所述网络设备为重要节点时,判断当前的缓存利用率是否超过预设阈值;

第二存储模块,用于在当前的缓存利用率未超过所述预设阈值时,存储所述目标数据文件;

第二获取模块,用于在当前的缓存利用率超过所述预设阈值,获取本设备当前存储的各数据文件的内容流行度、以及所述目标数据文件的内容流行度;

第二确定模块,用于在所述各数据文件的内容流行度中,确定最大流行度和最小流行度;

第三存储模块,用于在所述目标数据文件的内容流行度大于所述最小流行度时,对所述目标数据文件进行存储,并删除所述最小流行度对应的数据文件。

可选的,所述第一判断模块,包括:

第一判断子模块,用于获取本地预先存储的身份信息,如果所述身份信息表示本设备为重要节点,则判定本设备是重要节点;否则,判定本设备非重要节点;或者,

计算子模块,用于根据预先存储的节点介数算法和本设备所属的内容中心网络的网络拓扑,计算所述各中间节点对应的节点介数;

第二判断子模块,用于在本设备对应的节点介数为所述各中间节点对应的节点介数中的最大值时,判定本设备是重要节点;否则,判定本设备非重要节点。

第三方面,提供了一种基于流行度与节点重要度的网络设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现一种基于流行度与节点重要度的缓存方法中任一所述的方法步骤。

第四方面,提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现一种基于流行度与节点重要度的缓存方法中任一所述的方法步骤。

本发明实施例提供的一种基于流行度与节点重要度的缓存方法及装置,当接收到网络设备发送的目标数据文件时,首先判断本设备是否为重要节点,然后判断重要节点的当前缓存利用率是否超过预设阈值。如果当前的缓存利用率未超过预设阈值,则存储目标数据文件;如果当前的缓存利用率超过预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及目标数据文件的内容流行度。根据预设的文件存储策略,确定用于存储目标数据文件的中间节点,并通过中间节点存储目标数据文件。在重要节点的缓存利用率超过预设阈值时,通过文件存储策略,选取其它中间节点缓存目标数据文件,减轻了重要节点的存储压力。

当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种网络拓扑结构图;

图2为本发明实施例提供的一种基于流行度和节点重要度的缓存方法流程图;

图3为本发明实施例提供的一种基于流行度和节点重要度的缓存方法流程图;

图4为本发明实施例提供的一种基于流行度和节点重要度的缓存方法流程图;

图5为本发明实施例提供的一种基于流行度和节点重要度的缓存装置的结构示意图;

图6为本发明实施例提供的一种基于流行度和节点重要度的缓存装置的结构示意图;

图7为本发明实施例提供的一种基于流行度和节点重要度的缓存装置的结构示意图;

图8为本发明实施例提供的一种基于流行度和节点重要度的缓存装置的结构示意图;

图9为本发明实施例提供的一种基于流行度和节点重要度的缓存装置的结构示意图;

图10为本发明实施例提供的一种网络设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本发明实施例提供了一种基于流行度与节点重要度的缓存方法,可以应用于中间节点,该中间节点可以是路由设备。其中,路由设备是可以实现对数据文件进行接收、发送和存储的网络设备,比如路由器、交换机或网关等。在任一网络拓扑结构中,服务器和用户节点之间可以设置有多级中间节点,每一级中可以包含多个中间节点,图1为本发明实施例提供的网络拓扑示意图。所示网络拓扑包括服务器101、中间节点102、中间节点103、中间节点104、中间节点105、中间节点106、中间节点107、中间节点108、用户a节点109、用户b节点110和用户c节点111。其中,对于任意一个中间节点,该中间节点的上一级节点为更靠近服务器的中间节点,该中间节点的下一级节点为更靠近用户节点的中间节点。其中,服务器可以是某应用程序的后台服务器,用于存储数据文件,接收用户节点发出的数据文件请求,并将请求的目标数据文件发送给用户节点,例如某视频网站的后台服务器,某搜索引擎的后台服务器。服务器中可以存储有多个数据文件,数据文件可以是视频、图片或其他形式的文件。用户节点可以是手机或电脑等终端设备。

在实际中,用户节点中可以预先安装有用于浏览网络数据的应用程序,比如某图片搜索引擎。当某用户需要浏览某视频或某图片等网络数据时,用户通过用户节点向服务器发送内容请求,该内容请求中携带有用户需要浏览的网络数据(可称为请求内容)的标识,比如图片类型的标识,或者某视频的视频标识等。另外,用户节点还可以计算该请求内容的内容流行度,并将该内容流行度携带在内容请求中,发送给中间节点。

当中间节点接收到该内容请求后,该中间节点可以解析内容请求,获取请求内容的标识和该请求内容的内容流行度,然后,在本设备的缓存空间中查找是否存在该请求内容的标识对应数据文件。如果存在该请求内容的标识对应数据文件,则该中间节点获取对应数据文件(即目标数据文件),然后生成响应消息,该响应消息中可以携带有目标数据文件,还可以携带有该目标数据文件对应的内容流行度。该中间节点通过本设备的下一级节点,将该响应消息发送给该用户节点。如果不存在该请求内容的标识对应数据文件,该中间节点将该内容请求转发给本设备的上一级节点(即更靠近服务器的中间节点),该上一级节点基于相同的方式进行处理,直到转发至服务器为止。

本发明实施例提供的一种基于流行度与节点重要度的缓存方法,在向用户节点发送响应消息的过程中,中间节点中的重要节点通过比较目标数据文件的流行度和本设备中各数据文件的流行度,替换本设备内低内容流行度的数据文件,实现了在重要节点中仅缓存高内容流行度的数据文件,减少重要节点内非流行数据文件的不必要缓存,避免了节点空间的浪费和节点缓存冗余的问题,减轻了重要节点的存储压力。通过配置不同内容流行度数据文件缓存位置的方式,实现了数据文件分布式的缓存,减少了用户节点接收高流行度数据文件所需时间,以及用户节点发送内容请求的路径中,其他节点缓存命中率低的问题。

如图2所示,该方法的处理过程可以包括以下步骤:

步骤201,当接收到网络设备发送的目标数据文件时,判断本设备是否为重要节点。

其中,目标数据文件是响应预设的用户节点发送的内容请求的数据文件。

在实施中,当某一中间节点(为了便于区分,可称为目标中间节点,目标中间节点可以是网络拓扑结构中的任意一个中间节点)接收到其它中间节点或服务器发送的目标数据文件时,判断本设备是否为重要节点。其中,网络设备可以是服务器,也可以是目标中间节点的上一级中间节点中的任一节点。

可选的,判断本设备是否为重要节点的方式可以是多种多样的,本发明实施例提供了两种可行的处理方式,具体如下:

方式一,获取本地预先存储的身份信息,如果身份信息表示本设备为重要节点,则判定本设备是重要节点;否则,判定本设备非重要节点。

在实施中,上述网络拓扑中还可以设置有中间节点的管理节点,管理节点可以通过计算并比较网络拓扑中各中间节点的节点介数,确定具有最大节点介数的中间节点为重要节点。其中,计算节点介数的处理过程后续会进行详细说明。其中,管理节点可以是中间节点中的某一节点,或者也可以为单独设立的用于管理中间节点的设备。

管理节点可以分别确定各中间节点的身份信息,具体的确定过程后续会进行详细说明。管理节点在确定各中间节点的身份信息后,会分别向各中间节点发送通知消息,该通知消息中携带有该中间节点对应的身份信息,该身份信息可以表示该中间节点为重要节点(比如该身份信息为预设的重要节点的身份标识),或者,该身份信息可以表示该中间节点为非重要节点(比如该身份信息为预设的非重要节点的身份标识),各中间节点接收到通知消息后,会对通知消息进行解析,获取自己的身份信息,然后对身份信息进行储存。

目标中间节点接收到其他中间节点或服务器发送的目标数据文件时,目标中间节点在本地预先存储的身份信息中提取本设备的身份信息,如果身份信息表示本设备为重要节点,则本设备是重要节点;否则,本设备不是重要节点。

方式二,根据预先存储的节点介数算法和本设备所属的内容中心网络的网络拓扑,计算各中间节点对应的节点介数,如果本设备对应的节点介数为各中间节点对应的节点介数中的最大值,则判定本设备是重要节点;否则,判定本设备非重要节点。

在实施中,当接收到网络设备发送的目标数据文件时,目标中间节点基于本设备所属的内容中心网络的网络拓扑,使用预先存储的节点介数算法,计算本设备的节点介数。目标中间节点还可以获取其他中间节点的节点介数。在一种可能的实现方式中,目标中间节点可以计算其他中间节点的节点介数;在另一种可能的实现方式中,各中间节点可以分别计算本设备的节点介数,然后将本设备的节点介数发送给其他中间节点。

目标中间节点可以将本设备对应的节点介数与各中间节点对应的节点介数进行比较。如果本设备的节点介数是所有中间节点的节点介数中的最大值,目标中间节点判定本设备是重要节点;否则,判定本设备非重要节点。

本发明实施例中,可以采用节点介数来量化节点重要度,也就是与该节点相关联的链路的条数。目标中间节点通过betw介数缓存方法提出的节点介数计算方法,确定本设备的节点重要度。

本发明实施例提供了目标中间节点使用的节点介数计算公式:

其中,cb-sp(v)是中间节点v的节点介数,s、t和v均为中间节点,σst表示两个中间节点s与t之间的最短路径数的和,σst(v)表示两个中间节点s与t之间的最短路径中,经过中间节点v的最短路径数。

在一些移动的网络、自组织网络或其他具有不确定的网络拓扑结构中,目标中间节点通过预设的近似节点介数公式,计算本设备的近似节点介数。

本发明实施例还提供了目标中间节点使用的近似节点介数计算公式:

其中,c’b-sp(v)是中间节点v的近似节点介数,a是自我中心网络的对称邻接矩阵,i代表用户节点,j代表服务器。

步骤202,如果本设备是重要节点,则判断当前的缓存利用率是否超过预设阈值。

在实施中,如果目标中间节点是重要节点,目标中间节点获取本设备当前的缓存利用率,并与其预设阈值进行比较,如果当前的缓存利用率小于预设阈值,执行步骤203;如果当前的缓存利用率大于等于预设阈值,执行步骤204、步骤205。

步骤203,存储目标数据文件。

在实施中,目标中间节点存储其他中间节点或服务器发送的目标数据文件。

步骤204,获取本设备当前存储的各数据文件的内容流行度、以及目标数据文件的内容流行度。

在实施中,目标中间节点通过内容流行度计算公式,计算目标数据文件以及本设备当前缓存空间中存储的所有数据文件的内容流行度。对于响应消息中携带有该目标数据文件对应的内容流行度的情况,目标中间节点也可以直接提取响应消息中携带的目标数据文件对应的内容流行度。

本发明实施例提供了本设备计算内容a的内容流行度时,采用的公式:

pa[n]=α×pa[n-1]+(1-α)×fa[n-1](3)

pa[n]代表第n个周期中内容a的内容流行度,pa[n-1]代表第n-1个周期中的内容a的内容流行度,α是衰减系数,fa(n-1)是第n-1个周期中内容a的访问频次。服务器或任一中间节点接收到用户节点发出的内容请求,并将内容返回至用户节点的全过程为一个周期。

步骤205,根据各数据文件的内容流行度、目标数据文件的内容流行度和预设的文件存储策略,确定用于存储目标数据文件的中间节点,并通过中间节点存储目标数据文件。

在实施中,目标中间节点中可以预先存储有文件存储策略,文件存储策略可以由技术人员根据经验进行配置。当目标中间节点获取各数据文件的内容流行度和目标数据文件的内容流行度之后,可以根据各数据文件的内容流行度、目标数据文件的内容流行度和预设的文件存储策略,确定用于存储目标数据文件的中间节点,并通过中间节点存储目标数据文件。

可选的,如图3所示,根据各数据文件的内容流行度、目标数据文件的内容流行度和预设的文件存储策略,确定目标数据文件的存储位置的具体处理过程可以为:

步骤301,在各数据文件的内容流行度中,确定最大流行度和最小流行度。

在实施中,目标中间节点比较各数据文件的内容流行度,从而确定最大流行度和最小流行度。其中,最大流行度用m表示,最小流行度用n表示,目标数据文件的内容流行度用x表示。

目标中间节点还可以根据各数据文件的内容流行度,生成一张内容流行度表ppt,方便本设备计算缓存空间中的数据文件在下一个周期的内容流行度。

目标中间节点比较目标数据文件的内容流行度和最大流行度、最小流行度,如果目标数据文件的内容流行度大于最大流行度,执行步骤302;如果目标数据文件的内容流行度小于最小流行度,执行步骤303;如果目标数据文件的内容流行度小于最大流行度,大于最小流行度,执行步骤304。

步骤302,将目标数据文件发送给下一级中间节点。

在实施中,目标中间节点确定用户节点对应的链路,在本设备的下一级中间节点中,确定属于该链路的下一级中间节点,然后将目标数据文件发送给该下一级中间节点。

步骤303,将目标数据文件发送给上一级中间节点。

在实施中,目标中间节点确定用户节点对应的链路后,在本设备的上一级中间节点中,确定属于该链路的上一级中间节点,然后将目标数据文件发送给该上一级中间节点。

步骤304,目标中间节点存储目标数据文件,并删除最小流行度对应的数据文件。

在实施中,目标中间节点对目标数据文件进行存储,并删除最小流行度对应的数据文件。

可选的,如果目标中间节点不是重要节点,如图4所示,目标中间节点的具体处理过程可以为:

步骤401,当网络设备为重要节点时,判断当前的缓存利用率是否超过预设阈值。

在实施中,如果网络设备是重要节点,并且目标中间节点接收到了网络设备发送的数据文件,说明当前重要节点已经进行了上述判断,且当前重要节点的缓存利用率已经大于其预设阈值。

目标中间节点接收到重要节点发送的目标数据文件后,获取本设备当前的缓存利用率,并与其预设阈值进行比较,如果当前的缓存利用率小于预设阈值,执行步骤402;如果当前的缓存利用率大于等于预设阈值,执行步骤403、步骤404、步骤405。

步骤402,存储目标数据文件。

在实施中,目标中间节点将目标数据文件存储在本设备的缓存空间内。

步骤403,获取本设备当前存储的各数据文件的内容流行度、以及目标数据文件的内容流行度。

在实施中,目标中间节点获取当前缓存空间中存储的各数据文件的内容流行度、以及目标数据文件的内容流行度。具体的处理方式参照上述步骤204的说明,此处不再赘述。

步骤404,在各数据文件的内容流行度中,确定最大流行度和最小流行度。

在实施中,目标中间节点比较各数据文件的内容流行度,选取最大的内容流行度作为最大流行度,最小的内容流行度作为最小流行度。

步骤405,如果目标数据文件的内容流行度大于最小流行度,则对目标数据文件进行存储,并删除最小流行度对应的数据文件。

在实施中,当目标数据文件的内容流行度大于最小流行度时,目标中间节点通过删除最小流行度对应的数据文件的方式,对该目标数据文件进行存储。

在另一种可能的实现方式中,如果非重要节点的网络设备在存储目标数据文件时,判断本设备当前的缓存利用率超过预设阈值,可以通过其他非重要节点对目标数据文件进行存储,具体的处理过程如下:

参照图1,对于用户节点110,服务器在发送目标数据文件至用户节点110的过程中,通过重要节点确认方法,确认中间节点104为重要节点,中间节点103是中间节点104的上一级中间节点,中间节点106是中间节点104的下一级节点,中间节点102是中间节点103的上一级中间节点,中间节点108是中间节点106的下一级节点。

中间节点104在存储其他中间节点或服务器发送的目标数据文件时,获取本设备当前的缓存利用率,并与其预设阈值进行比较:如果当前的缓存利用率小于预设阈值,则存储目标数据文件;如果当前的缓存利用率大于等于预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及目标数据文件的内容流行度,根据各数据文件的内容流行度、目标数据文件的内容流行度和预设的文件存储策略,确定用于存储目标数据文件的中间节点,并通过中间节点存储目标数据文件。

中间节点103或中间节点106在存储中间节点104发送的内容时,获取本设备当前的缓存利用率,并与预设阈值进行比较:如果当前的缓存利用率小于预设阈值,则存储目标数据文件;如果当前的缓存利用率大于等于预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及目标数据文件的内容流行度;在各数据文件的内容流行度中,确定最大流行度和最小流行度;如果目标数据文件的内容流行度大于最小流行度,则对目标数据文件进行存储,并删除最小流行度对应的数据文件。

中间节点102在存储中间节点103发送的内容时,获取本设备当前的缓存利用率,并与其预设阈值进行比较,如果当前的缓存利用率小于预设阈值,则存储目标数据文件;如果当前的缓存利用率大于等于预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及目标数据文件的内容流行度;在各数据文件的内容流行度中,确定最大流行度和最小流行度;如果目标数据文件的内容流行度大于最小流行度,则对目标数据文件进行存储,并删除最小流行度对应的数据文件。直到存储到离服务器最近的中间节点为止。

中间节点108在存储中间节点106发送的内容时,获取本设备当前的缓存利用率,并与其预设阈值进行比较:如果当前的缓存利用率小于预设阈值,则存储目标数据文件;如果当前的缓存利用率大于等于预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及目标数据文件的内容流行度;在各数据文件的内容流行度中,确定最大流行度和最小流行度;如果目标数据文件的内容流行度大于最小流行度,则对目标数据文件进行存储,并删除最小流行度对应的数据文件。直到存储到离用户节点最近的中间节点为止。

其他中间节点处理与之类似,不再赘述。

本发明实施例提供的一种基于流行度与节点重要度的缓存方法及装置,当接收到网络设备发送的目标数据文件时,首先判断本设备是否为重要节点,然后判断重要节点的当前缓存利用率是否超过预设阈值。如果当前的缓存利用率未超过预设阈值,则存储目标数据文件;如果当前的缓存利用率超过预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及目标数据文件的内容流行度。根据预设的文件存储策略,确定用于存储目标数据文件的中间节点,并通过中间节点存储目标数据文件。在重要节点的缓存利用率超过预设阈值时,通过文件存储策略,选取其它中间节点缓存目标数据文件,减轻了重要节点的存储压力。

基于相同的技术构思,如图5所示,本发明实施例还提供了一种基于流行度和节点重要度的缓存装置,所述装置应用于内容中心网络中的中间节点,所述装置包括:

第一判断模块510,用于在接收到网络设备发送的目标数据文件时,判断本设备是否为重要节点,所述目标数据文件是响应预设的用户节点发送的内容请求的数据文件;

第二判断模块520,用于在本设备是重要节点时,判断当前的缓存利用率是否超过预设阈值;

第一存储模块530,用于在当前的缓存利用率未超过所述预设阈值时,存储所述目标数据文件;

第一获取模块540,用于在当前的缓存利用率超过所述预设阈值时,获取本设备当前存储的各数据文件的内容流行度、以及所述目标数据文件的内容流行度;

第一确定模块550,用于根据所述各数据文件的内容流行度、所述目标数据文件的内容流行度和预设的文件存储策略,确定用于存储所述目标数据文件的中间节点,并通过所述中间节点存储所述目标数据文件。

可选的,如图6所示,所述第一确定模块550,包括:

确定子模块551,用于在所述各数据文件的内容流行度中,确定最大流行度和最小流行度;

第一发送子模块552,用于在所述目标数据文件的内容流行度,大于所述最大流行度时,将所述目标数据文件发送给下一级中间节点;

第二发送子模块553,用于在所述目标数据文件的内容流行度,小于所述最小流行度时,将所述目标数据文件,发送给上一级中间节点;

存储子模块554,用于在所述目标数据文件的内容流行度,小于所述最大流行度,且大于所述最小流行度时,对所述目标数据文件进行存储,并删除所述最小流行度对应的数据文件。

可选的,如图7所示,如果本设备不是重要节点,所述装置还包括:

第三判断模块710,用于在所述网络设备为重要节点时,判断当前的缓存利用率是否超过预设阈值;

第二存储模块720,用于在当前的缓存利用率未超过所述预设阈值时,存储所述目标数据文件;

第二获取模块730,用于在当前的缓存利用率超过所述预设阈值,获取本设备当前存储的各数据文件的内容流行度、以及所述目标数据文件的内容流行度;

第二确定模块740,用于在所述各数据文件的内容流行度中,确定最大流行度和最小流行度;

第三存储模块750,用于在所述目标数据文件的内容流行度大于所述最小流行度时,对所述目标数据文件进行存储,并删除所述最小流行度对应的数据文件。

可选的,如图8所示,所述第一判断模块510,包括:

第一判断子模块511,用于获取本地预先存储的身份信息,如果所述身份信息表示本设备为重要节点,则判定本设备是重要节点;否则,判定本设备非重要节点;或者,

如图9所示,所述第一判断模块510还可以包括:

计算子模块512,用于根据预先存储的节点介数算法和本设备所属的内容中心网络的网络拓扑,计算所述各中间节点对应的节点介数;

第二判断子模块513,用于在本设备对应的节点介数为所述各中间节点对应的节点介数中的最大值时,判定本设备是重要节点;否则,判定本设备非重要节点。

本发明实施例提供的一种基于流行度与节点重要度的缓存方法及装置,当接收到网络设备发送的目标数据文件时,首先判断本设备是否为重要节点,然后判断重要节点的当前缓存利用率是否超过预设阈值。如果当前的缓存利用率未超过预设阈值,则存储目标数据文件;如果当前的缓存利用率超过预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及目标数据文件的内容流行度。根据预设的文件存储策略,确定用于存储目标数据文件的中间节点,并通过中间节点存储目标数据文件。在重要节点的缓存利用率超过预设阈值时,通过文件存储策略,选取其它中间节点缓存目标数据文件,减轻了重要节点的存储压力。

本发明实施例还提供了一种基于流行度与节点重要度的缓存装置,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。

存储器1003,用于存放计算机程序;

处理器1001,用于执行存储器1003上所存放的程序时,以使该节点设备执行如下步骤,该步骤包括:

当接收到网络设备发送的目标数据文件时,判断本设备是否为重要节点,所述目标数据文件是响应预设的用户节点发送的内容请求的数据文件;

如果本设备是重要节点,则判断当前的缓存利用率是否超过预设阈值;

如果当前的缓存利用率未超过所述预设阈值,则存储所述目标数据文件;

如果当前的缓存利用率超过所述预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及所述目标数据文件的内容流行度;

根据所述各数据文件的内容流行度、所述目标数据文件的内容流行度和预设的文件存储策略,确定用于存储所述目标数据文件的中间节点,并通过所述中间节点存储所述目标数据文件。

可选的,所述根据所述各数据文件的内容流行度、所述目标数据文件的内容流行度和预设的文件存储策略,确定所述目标数据文件的存储位置,包括:

在所述各数据文件的内容流行度中,确定最大流行度和最小流行度;

如果所述目标数据文件的内容流行度,大于所述最大流行度,则将所述目标数据文件发送给下一级中间节点;

如果所述目标数据文件的内容流行度,小于所述最小流行度,则将所述目标数据文件,发送给上一级中间节点;

如果所述目标数据文件的内容流行度,小于所述最大流行度,且大于所述最小流行度,则对所述目标数据文件进行存储,并删除所述最小流行度对应的数据文件。

可选的,如果本设备不是重要节点,所述方法还包括:

当所述网络设备为重要节点时,判断当前的缓存利用率是否超过预设阈值;

如果当前的缓存利用率未超过所述预设阈值,则存储所述目标数据文件;

如果当前的缓存利用率超过所述预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及所述目标数据文件的内容流行度;

在所述各数据文件的内容流行度中,确定最大流行度和最小流行度;

如果所述目标数据文件的内容流行度大于所述最小流行度,则对所述目标数据文件进行存储,并删除所述最小流行度对应的数据文件。

可选的,所述判断本设备是否为重要节点,包括:

获取本地预先存储的身份信息,如果所述身份信息表示本设备为重要节点,则判定本设备是重要节点;否则,判定本设备非重要节点;或者,

根据预先存储的节点介数算法和本设备所属的内容中心网络的网络拓扑,计算所述各中间节点对应的节点介数;

如果本设备对应的节点介数为所述各中间节点对应的节点介数中的最大值,则判定本设备是重要节点;否则,判定本设备非重要节点。

机器可读存储介质可以包括ram(randomaccessmemory,随机存取存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括cpu(centralprocessingunit,中央处理器)、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessing,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例提供的一种基于流行度与节点重要度的缓存方法及装置,当接收到网络设备发送的目标数据文件时,首先判断本设备是否为重要节点,然后判断重要节点的当前缓存利用率是否超过预设阈值。如果当前的缓存利用率未超过预设阈值,则存储目标数据文件;如果当前的缓存利用率超过预设阈值,则获取本设备当前存储的各数据文件的内容流行度、以及目标数据文件的内容流行度。根据预设的文件存储策略,确定用于存储目标数据文件的中间节点,并通过中间节点存储目标数据文件。在重要节点的缓存利用率超过预设阈值时,通过文件存储策略,选取其它中间节点缓存目标数据文件,减轻了重要节点的存储压力。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1