一种内容中心网络中文件的最优缓存配置方法与流程

文档序号:11628716阅读:219来源:国知局
一种内容中心网络中文件的最优缓存配置方法与流程

本发明涉及一种内容中心网络中文件的最优缓存配置方法,属于无线通信网络中资源分配和调度领域。



背景技术:

随着多媒体流量的爆炸式增长,现有的通信网络架构难以承受巨大的用户需求。同时通信系统中网络流量随时间有着明显的变化,在高峰时期网络会十分拥堵,而在非高峰时间网络空闲并不能得到很好的利用。

缓存机制通过在非高峰时间段将内容存储在网络里有存储能力的节点上(路由器,服务器或者终端用户等),在高峰时间段这些缓存可以满足用户的请求。这样的方式可以有效的将部分网络流量从高峰时间段转移到非高峰时间段,从而降低网络拥堵。由于网络中流量的巨大一部分源自于对热点内容文件的重复下载,如果网络中的边缘服务器(靠近用户)缓存这些热点内容将会极大的减少网络带宽消耗并且提高内容传输延迟。为了满足用户对互联网中内容需求的爆炸性增长,缓存机制在近年来已经获得越来越多的关注。对于缓存机制来说,最重要的是设计最优内容存储方案:对于一个给定的预期内容需求,确定每个缓存节点中放置的文件内容,以便最大化由缓存服务器满足的请求数量(即命中率)。

出于真实系统的考量,我们可以在内容中心网络(contentcentricnetworking,ccn)中设计缓存问题。目前,以内容为中心的网络已经成为互联网中传播内容最有前景的架构。这种新型的网络架构有两个主要特征:按名称路由和网内缓存。按名称路由确保内容而不是主机在网络中有最高优先级,所以可以从不同地点多次获取单个内容。网内缓存有助于降低传播时延和网络负载。在内容中心网络中,每个内容路由器具有缓存能力,可以缓存目标文件。通过使用缓存机制,ccn可以显著减少网络负载。因为用户请求不再需要全都通过源服务器,而可以由一个离用户更近的ccn内容路由器来满足。虽然在过去有大量优秀的工作是针对于ccn网络的,但他们仅仅关注网络资源利用率的提高,而关于能量消耗的部分却被忽略。日益严格的环境标准和迅速增长的能量成本已经引领了互联网中能量效率的趋势。互联网中的能量消耗已经在全球能源消耗比例中占据了高达10%并且这个比例还在持续增长。就能量效率来说,ccn网络可以通过较短的内容传输距离和去重复传输来降低传输的能量。但同时,ccn网络通过在每个内容路由器端提供缓存能力而产生额外的能量消耗。不同种类的硬件技术可以实现网络中的缓存机制,每种硬件技术都有不同的能量系数和存储容量。总之,网络中的传输能量和缓存能量存在倒数关系。因此,在ccn网络中研究能量消耗是十分有价值的。



技术实现要素:

本发明的目的是提供一种内容中心网络中文件的最优缓存配置方法。在内容中心的网络中,同时考虑用户命中率最大和缓存能耗消耗最小的情况下,文件缓存的最优方法。最大命中率的缓存策略和最小能量消耗的缓存策略在一定程度上是对立的两个目标。这是因为在最大命中率的缓存策略中,我们需要尽可能的缓存概率大的文件,但对于用户来说,在获取文件时这些概率大的文件其消耗的能量却不一定是小的。因此在这里我们将同时考虑命中率和能量消耗来获得最优的缓存内容放置。

为达到上述目的,本发明采用下述技术方案:

一种无线网络中文件的分布式缓存优化方法,具体步骤如下:

步骤1:分别定义缓存命中率和能量消耗函数;

步骤2:建立联合最大化的性能目标函数;

步骤3:用贪心算法解决该问题得到最优缓存配置。

所述步骤1的具体步骤如下:

在一个内容中心网络中,一般包括源服务器,包含全部的文件资源;边缘路由器,具有有限的缓存能力且覆盖许多用户。当用户请求视频时,首先尝试向自己所属的边缘路由器请求内容,如果其所属的边缘路由器没有其所需的内容,其边缘路由器向周围的边缘路由器请求内容,如果仍然没有则向源服务器发送请求,因此为了使用户获得更好的体验,如何进行缓存内容的放置显得十分关键;如果仅仅只考虑用户命中率的问题,缓存配置问题会变得单一,每个边缘路由器只需要缓存被请求概率最大的文件;同时,还需要考虑视频内容在传输过程中的能量消耗问题,此时我们也希望缓存能有效的节约该网络的能量;

定义能量损耗:对于能量损耗主要考虑两部分,分别为缓存功耗和传输功耗。缓存功耗eca可以使用能量比例模型来定义。假设文件k的大小为sk,节点i在时间t内缓存大小为sk的文件k所消耗的能耗为在这里wca是缓存的能量系数,它取决于缓存的硬件条件,例如固态硬盘、动态随机存取存储器和静态随机存取存储器等,节点和路由器是等同的概念。传输功耗etr指的是当边缘路由器向其他边缘路由器请求内容是会产生传输功耗,主要包含路由能量功耗和链路的能量消耗。当节点i向节点j请求文件k时消耗的能量为其中指的是节点i对文件k的请求速率,也表示文件的流行性分布。dij指两个路由器i和j的距离,当j=-1时表示路由器和服务器之间的距离。表示核心路由器的能量密度,表示roadm的能量密度,表示wdm链接的能量密度。对于一个传统的没有缓存设备的网络,所有文件都需要从服务器进行传输。其总能量消耗为

对于能耗部分,具体定义为:

其中xik和yijk均为指示变量,当xik为1时表明节点i缓存了内容k,否则为0;当yijk为1时表明节点i从节点j下载内容k,否则为0。当j=-1时,表示节点从服务器获取所需内容。

定义缓存命中率:所谓缓存命中率指的是节点所请求的文件能在缓存中被满足的概率。若想要最大化缓存命中率就是尽量减少从源服务器请求文件的概率。具体定义为:

所述步骤2的具体步骤如下:根据上述分析,由最大命中率和最小能量消耗来决定的缓存内容放置策略可以写成这样的形式:

p1:

yijk≤xik(4)

yi,-1k+xik+∑j≠iyi,j,k=1(5)

在式(1)中,写成两部分,能量消耗部分和命中率部分其中能量消耗部分由三个部分表示分别为缓存消耗,访问其他节点消耗以及访问服务器消耗。式(2)表示路由器上的内容大小不能超过缓存大小。式(4)表示只有内容在节点j上时,节点i才能从j上下载内容k。约束条件(5)表示一个节点的请求可以被自身缓存、其他节点缓存或者服务器满足。

所述步骤3的具体步骤如下:

问题p1的约束条件是满足拟阵条件的,联合目标函数是满足亚模性质的。对于基于拟阵约束的最大化亚模问题一般采用贪心算法寻求近似解。贪心算法从空集开始;在每次迭代中,向集合中增加边际效用值最大的元素。

在贪心算法之前,需要对一些变量进行计算。首先将式(1)中的目标函数表示为f(.)=h(x)-g(x)。其中基集x={x11,x12,...,x1m,...,xnm}表示所有可能被放在节点缓存中的文件集合,假设节点中文件的存储是和其流行性相关的,其次分别计算命中率和能量消耗部分函数的边际效用。

命中率:在此我们考虑两种情况:1)假如文件k不在节点的缓存中且节点缓存空间还有富余时,那么节点会缓存该文件,其边际效用为2)当其他节点已经缓存了该文件时,节点i会将该文件与最受欢迎的文件进行交换。我们把这样的文件记做k'。这样边际效用为因此,能耗部分边际效用为

能量消耗:将和esr的表达式代入g(x)中,可知其中利用约束条件(5)将其进行化简得考虑两个放置集合x1和x2,x1<x2。我们把新文件加入到两个集合中。对于放置集合x1来说我们同样分两种情况考虑,1)假如文件k不在节点的缓存中且节点缓存空间还有富余时,那么节点会缓存该文件,其边际效用为2)当其他节点已经缓存了该文件时,节点i会将该文件与最受欢迎的文件进行交换。我们把这样的文件记做k'。这样边际效用为当把文件k加入到集合x2中,因为文件k不属于x2,其边际效用是因此能耗部分边际效用可总结为

令fx(d)=hx(d)-gx(d)表示对于放置集合x增加元素d的边际效用值。在每步迭代中,贪心算法选择具有最高边际效用的xik。选择元素xik代表节点i缓存文件k。因为目标函数(1)为亚模函数,随着加入集合中元素的增多,边际效用值会减小。在某一次迭代中如果所选择元素的边际效用值为0,那么下一个被选择的文件的边际效用值也为0。因此,我们的迭代将会在边际效用为0的时候停止。所有被选择的文件在开始时都根据文件的流行性降序存储在初始集合d中。初始元素集合d也就是基集x。在每次迭代中,我们从集合d中移出元素xik。如果某个节点i的缓存空间变满,那么将集合d中和i相关的元素全部移除,这样节点i相关元素的边际效用值将不会被考虑在随后的迭代中。放置集合x和每个被节点i缓存的文件xik在每次迭代的时候更新。最后贪心算法会返回放置集合x。

本发明与现有技术相比较,具有以下显而易见的突出实质性特点和显著优点:

本发明方法不仅实现了同时考虑缓存命中率和能耗两方面性能,而且实现过程简单,便于分布式求解,有效提高了缓存配置效率。

附图说明

图1为本发明针对的内容中心网络系统模型。

图2为本发明中内容为中心网络中实现最优缓存配置的流程框图。

图3为本发明中仅考虑能耗的性能曲线图。

图4为本发明中仅考虑命中率的性能曲线图。

具体实施方式

下面结合附图对本发明的优选实施例作详细的描述。

如图1所示为内容中心网络中文件缓存的系统模型。图中服务器包含系统中所需要的所有文件内容,为分布在其周围的路由器提供服务。这些边缘路由器均具有缓存能力,每个路由器覆盖需要被服务的用户。在这个模型中有一个服务器s和三个路由器r1、r2、r3。用户向路由器请求所需的文件,如果路由器提前缓存该文件,则直接对用户提供服务。在原始网络中服务器s拥有所有的文件。如果只考虑命中率,所有路由器均会选择缓存被请求概率较大的文件。考虑能耗的情况会变得复杂,如果传输能耗的代价比较大,路由器会将文件存储在自己的缓存中;如果缓存能耗是主要的,并且r2离s比较远,那么r2会缓存这个文件,其他路由器也会从离他较近的节点获得这个文件。

如图2所示,内容中心网络中文件的最优缓存配置方法的具体步骤如下:

步骤1:分别定义缓存命中率和能量消耗函数。

在一个内容中心网络中,一般包括源服务器,包含全部的文件资源;边缘路由器,具有有限的缓存能力且覆盖许多用户;当用户请求视频时,首先尝试向自己所属的边缘路由器请求内容,如果其所属的边缘路由器没有其所需的内容,其边缘路由器向周围的边缘路由器请求内容,如果仍然没有,该用户则向源服务器请求内容,因此为了使用户获得更好的体验,如何进行缓存内容的放置显得十分关键;如果仅仅只考虑用户命中率的问题,缓存配置问题会变得很简单,每个边缘路由器只需要缓存被请求概率最大的文件;同时,还需要考虑视频内容在传输过程中的能量消耗问题,此时我们也希望缓存能有效的节约该网络的能量。

定义能量损耗:对于能量损耗主要考虑两部分,分别为缓存功耗和传输功耗。缓存功耗eca可以使用能量比例模型来定义。假设文件k的大小为sk,节点i在时间t内缓存大小为sk的文件k所消耗的能耗为在这里wca是缓存的能量系数,它取决于缓存的硬件条件,例如固态硬盘、动态随机存取存储器和静态随机存取存储器等。传输功耗etr指的是当边缘路由器向其他边缘路由器请求内容是会产生传输功耗,主要包含路由能量功耗和链路的能量消耗。当节点i向节点j请求文件k时消耗的能量为其中指的是节点i对文件k的请求速率,也表示文件的流行性分布。dij指两个路由器i和j的距离,当j=-1时表示路由器和服务器之间的距离。表示核心路由器的能量密度,表示roadm的能量密度,表示wdm链接的能量密度。对于一个传统的没有缓存设备的网络,所有文件都需要从服务器进行传输。其总能量消耗为

对于能耗部分,具体定义为:

其中xik和yijk均为指示变量,当xik为1时表明节点i缓存了内容k,否则为0;当yijk为1时表明节点i从节点j下载内容k,否则为0。当j=-1时,表示节点从服务器获取所需内容。

定义缓存命中率:所谓缓存命中率指的是节点所请求的文件能在缓存中被满足的概率。若想要最大化缓存命中率就是尽量减少从源服务器请求文件的概率。具体定义为:

所述步骤2的具体步骤如下:根据上述分析,由最大命中率和最小能量消耗来决定的缓存内容放置策略可以写成这样的形式:

p1:

yijk≤xik(4)

yi,-1k+xik+∑j≠iyi,j,k=1(5)

在式(1)中,写成两部分,能量消耗部分和命中率部分其中能量消耗部分由三个部分表示分别为缓存消耗,访问其他节点消耗以及访问服务器消耗。式(2)表示路由器上的内容大小不能超过缓存大小。式(4)表示只有内容在节点j上时,节点i才能从j上下载内容k。约束条件(5)表示一个节点的请求可以被自身缓存、其他节点缓存或者服务器满足。

所述步骤3的具体步骤如下:

问题p1的约束条件是满足拟阵条件的,联合目标函数是满足亚模性质的。对于基于拟阵约束的最大化亚模问题一般采用贪心算法寻求近似解。贪心算法从空集开始;在每次迭代中,向集合中增加边际效用值最大的元素。

在贪心算法之前,对一些变量进行计算。首先将式(1)中的目标函数表示为f(.)=h(x)-g(x)。其中基集x={x11,x12,...,x1m,...,xnm}表示所有可能被放在节点缓存中的文件集合,假设节点中文件的存储是和其流行性相关的,其次分别计算命中率和能量消耗部分函数的边际效用。

命中率:在此我们考虑两种情况:1)假如文件k不在节点的缓存中且节点缓存空间还有富余时,那么节点会缓存该文件,其边际效用为2)当其他节点已经缓存了该文件时,节点i会将该文件与最受欢迎的文件进行交换。我们把这样的文件记做k'。这样边际效用为因此,能耗部分边际效用为

能量消耗:将和esr的表达式代入g(x)中,可知其中利用约束条件(5)将其进行化简得考虑两个放置集合x1和x2,x1<x2。我们把新文件加入到两个集合中。对于放置集合x1来说我们同样分两种情况考虑,1)假如文件k不在节点的缓存中且节点缓存空间还有富余时,那么节点会缓存该文件,其边际效用为2)当其他节点已经缓存了该文件时,节点i会将该文件与最受欢迎的文件进行交换。我们把这样的文件记做k'。这样边际效用为当把文件k加入到集合x2中,因为文件k不属于x2,其边际效用是因此能耗部分边际效用可总结为

令fx(d)=hx(d)-gx(d)表示对于放置集合x增加元素d的边际效用值。在每步迭代中,贪心算法选择具有最高边际效用的xik。选择元素xik代表节点i缓存文件k。因为目标函数(1)为亚模函数,随着加入集合中元素的增多,边际效用值会减小。在某一次迭代中如果所选择元素的边际效用值为0,那么下一个被选择的文件的边际效用值也为0。因此,我们的迭代将会在边际效用为0的时候停止。所有被选择的文件在开始时都根据文件的流行性降序存储在初始集合d中。初始元素集合d也就是基集x。在每次迭代中,我们从集合d中移出元素xik。如果某个节点i的缓存空间变满,那么将集合d中和i相关的元素全部移除,这样节点i相关元素的边际效用值将不会被考虑在随后的迭代中。放置集合x和每个被节点i缓存的文件xik在每次迭代的时候更新。最后贪心算法会返回放置集合x。

如图3所示为在内容中心网络中,根据本发明的文件缓存最优配置方法,在缓存容量和齐普夫指数一定的情况下,系统的能耗节约的比率和存储效率的关系,这表明了在ccn网络中,我们所提出的缓存方案的效率。从实验结果可以看出,随着存储效率的增加,系统的能耗节约比率是增加的。对于没有缓存的情况,我们可以认为系统的能耗是没有变化的,所以系统的能耗节约比率接近0。

如图4所示为在内容中心网络中,根据本发明的文件缓存最优配置方法,在存储效率和齐普夫指数一定的情况下,系统的缓存命中率和缓存容量的关系。从实验结果可以看出,随着缓存大小的增加,每个路由器可缓存的文件数量增加,部分需要通过服务器来提供服务的用户请求,可以通过路由器的缓存来进行服务,那么可服务的用户数量增加,从而命中率也表现出随着缓存容量的增加而增加的性质。

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