一种更新缓存内容的方法及设备与流程

文档序号:20205213发布日期:2020-03-27 22:38阅读:1391来源:国知局
一种更新缓存内容的方法及设备与流程

本发明实施例涉及通信技术领域,特别涉及一种更新缓存内容的方法及设备。



背景技术:

内容分发网络(contentdistributionnetwork,cdn)时下一代互联网架构的研究热点,该架构通过分布式内容缓存机制实现以内容为核心的数据传输。通过将内容引入网内,并推送至更靠近用户的边缘节点,可减少网络中冗余数据的重复传输,减轻骨干网的带宽压力,缩短用户的访问距离和时延,提升用户体验和服务质量。

其中,缓存内容的更新策略是内容分发网络的核心研究问题之一,由于缓存服务器的容量有限,需要设计某种策略周期性清除陈旧、冷门、价值低或体量大的内容,为更流行的内容保留足够的空间以便得到更高的命中率,降低cdn运营成本。现有缓存内容的更新策略主要包括以下几种:

先进先出策略(firstinfirstout,fifo):按照先进先出的队列特性淘汰过期数据,即当缓存存满的时候,淘汰最先进入缓存的数据;

最近最少使用策略(leastrecentlyused,lru)当缓存服务器的缓存空间已满时,lru先删除很久没有人请求的内容,即时间为先。lru记录了每一个内容的最后一次访问时间;

最少频率使用策略(leastfrequentlyused,lfu):当缓存服务器的缓存空间已满时,先删除点击率最少的内容,即频率为先。lfu为每一个内容设置一个计数器,每发生一次缓存命中,相应内容的计数器加一。

上述各策略均存在缺陷:

fifo:虽然fifo具有处理简单、开销小的优点,但fifo对缓存内容不做任何分析和处理,无法满足cdn系统中对缓存策略的管控需求;

lru:该策略依据用户行为的时间局部性,核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。缺点是容易受到随机访问噪声的干扰,即用户对一些冷门资源的随机访问会被缓存机制误认为有较大的缓存价值。

lfu:该策略依据数据的历史访问频率,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”。缺点是容易发生缓存“污染”,即有些陈旧内容可能会积累很高的引用频率,但之后却几乎不再被访问而成为死文档。

除上述技术缺点以外,fifo、lru和lfu均无法预测新上线内容的点击率,也无法跟踪文件流行度的快速变化。

基于上述理由,目前亟需一种能够基于历史请求行为预测并更新缓存内容的技术方案。



技术实现要素:

本发明实施例提供一种更新缓存内容的方法及设备,解决现有技术方案无法基于历史请求行为预测并更新缓存内容的问题。

依据本发明实施例的第一方面,提供了一种更新缓存内容的方法,所述方法包括:确定当前缓存队列中的一个或多个缓存内容,得到每个所述缓存内容的权重因子;预测当前滑动时间窗口内的请求内容,得到一个或多个预测内容,其中所述当前滑动时间窗口包含一个或多个缓存更新周期;根据与所述缓存内容相关的自变量参数,预测每个所述预测内容在所述当前滑动时间窗口内的权重因子;根据每个所述预测内容在所述当前滑动时间窗口内的权重因子,对每个所述预测内容进行加权求和,并根据加权求和的结果对每个所述预测内容进行排序;根据排序后的所述预测内容,更新所述一个或多个缓存内容。

可选地,所述预测所述当前滑动时间窗口内的请求内容,得到一个或多个预测内容,包括:通过机器学习模型预测当前滑动时间窗口内的请求内容,得到一个或多个预测内容;其中,所述预测内容包括针对全部类别用户的第一类内容和/或针对各个类别用户的第二类内容。

可选地,所述根据与所述缓存内容相关的自变量参数,预测每个所述预测内容在所述当前滑动时间窗口内的权重因子,包括:根据所述自变量参数、所述缓存更新周期和所述滑动时间窗口的长度,通过回归预测函数确定每个所述预测内容在所述当前滑动时间窗口内的权重因子。

可选地,所述自变量参数包括以下一项或多项:时间参数、地点参数、设备能力参数、网络承载需求参数、业务参数、用户参数和缓存服务等级参数。

可选地,所述回归预测函数包括以下一项或多项:多元线性回归函数、人工神经网络anns函数、支持向量机svm函数和分类与回归树cart函数。

可选地,所述根据排序后的所述预测内容,更新所述一个或多个缓存内容,包括:通过最近最少使用策略lru对权重因子相同的预测内容再次排序;根据再次排序后的排名前n的所述预测内容,更新所述一个或多个缓存内容,其中,n为正整数。

可选地,在所述根据排序后的所述预测内容,更新所述一个或多个缓存内容之后,所述方法还包括:根据更新后的所述一个或多个缓存内容的命中情况,调整所述机器学习模型和所述回归预测函数;在下一缓存更新周期,重新执行所述确定当前缓存队列中的一个或多个缓存内容,得到每个所述缓存内容的权重因子。

依据本发明实施例的第二方面,提供一种网络设备,包括:收发机和处理器,其中,所述处理器,用于确定当前缓存队列中的一个或多个缓存内容,得到每个所述缓存内容的权重因子;所述处理器,还用于预测当前滑动时间窗口内的请求内容,得到一个或多个预测内容,其中所述当前滑动时间窗口包含一个或多个缓存更新周期;所述处理器,还用于根据与所述缓存内容相关的自变量参数,预测每个所述预测内容在所述当前滑动时间窗口内的权重因子;所述处理器,还用于根据每个所述预测内容在所述当前滑动时间窗口内的权重因子,对每个所述预测内容进行加权求和,并根据加权求和的结果对每个所述预测内容进行排序;所述处理器,还用于根据排序后的所述预测内容,更新所述一个或多个缓存内容。

可选地,所述处理器,还用于通过机器学习模型预测当前滑动时间窗口内的请求内容,得到一个或多个预测内容;其中,所述预测内容包括针对全部类别用户的第一类内容和/或针对各个类别用户的第二类内容。

可选地,所述处理器,还用于根据所述自变量参数、所述缓存更新周期和所述滑动时间窗口的长度,通过回归预测函数确定每个所述预测内容在所述当前滑动时间窗口内的权重因子。

可选地,所述自变量参数包括以下一项或多项:时间参数、地点参数、设备能力参数、网络承载需求参数、业务参数、用户参数和缓存服务等级参数。

可选地,所述回归预测函数包括以下一项或多项:多元线性回归函数、人工神经网络anns函数、支持向量机svm函数和分类与回归树cart函数。

可选地,所述处理器,还用于通过最近最少使用策略lru对权重因子相同的预测内容再次排序;所述处理器,还用于根据再次排序后的排名前n的所述预测内容,更新所述一个或多个缓存内容,其中,n为正整数。

可选地,所述处理器,还用于根据更新后的所述一个或多个缓存内容的命中情况,调整所述机器学习模型和所述回归预测函数;所述处理器,还用于在下一缓存更新周期,重新执行所述确定当前缓存队列中的一个或多个缓存内容,得到每个所述缓存内容的权重因子。

依据本发明实施例的第三方面,提供了另一种网络设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的更新缓存内容的方法。

依据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的更新缓存内容的方法。

本发明实施例中,网络设备先确定当前缓存队列中的缓存内容,然后通过内容预测得到预测内容,并通过与该缓存内容相关的自变量参数预测,确定该预测内容的权重因子,利用该权重因子对预测内容排序,最后根据排序后的预测内容更新缓存内容,使网络设备在进行更新缓存内容的同时,提高更新后缓存内容的命中率,为用户提供精准的缓存服务。

附图说明

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

图1为本发明实施例提供的一种更新缓存内容的方法流程示意图;

图2为本发明实施例提供的另一种更新缓存内容的方法流程示意图;

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

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

具体实施方式

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

参见图1,本发明实施例提供了一种更新缓存内容的方法,具体步骤如下:

步骤101:确定当前缓存队列中的一个或多个缓存内容,得到每个缓存内容的权重因子;

在本发明实施例中,当前缓存队列中的一个或多个缓存内容为上一缓存更新周期中更新得到的缓存内容。

需要说明的是,对于初始状态下的缓存内容确定,以边缘缓存系统为例,通过对用户请求数据的挖掘与分析,能够得到缓存优先级列表,在该列表中记录了不同类别的用户对应的缓存内容,将该列表中的缓存内容确定为当前缓存队列中的缓存内容。相应地,对于初始状态下的缓存内容的权重因子,为每个缓存内容赋予相同的初始权重因子,例如:权重因子f={1,1,1,1},本发明实施例对初始状态下缓存内容的确定方式以及初始权重因子的数值不做具体限定。

步骤102:预测当前滑动时间窗口内的请求内容,得到一个或多个预测内容;

在本发明实施例中,为了保证更新缓存内容过程中算法的平滑性,为不同时刻的请求赋予一个可调的滑动时间窗口,依据该滑动时间窗口的长度,该滑动时间窗口包含一个或多个缓存更新周期,例如:滑动时间窗口的长度w=4,则滑动时间窗口包含4个缓存更新周期,即{t→t+r,t+r→t+2r,t+2r→t+3r,t+3r→t+4r},其中,t为任一时刻,r为缓存更新周期。可以根据实际情况设置该滑动时间窗口的长度w的取值范围,例如:w1≤w≤w2。

需要说明的是,上述缓存更新周期r一般为固定值(例如每周更新一次),根据应用场景及需求,可调整为分钟级、小时级、天级等,例如:r={15min,0.5h,1h,···},本发明实施例对滑动时间窗口的长度w和缓存更新周期r的数值不做具体限定。

在本发明实施例中,可以通过现有的机器学习模型预测当前滑动时间窗口内的请求内容,例如:该机器学习模型可以是流行度回归预测模型、贝叶斯概率预测模型、关联规则模型、内容过滤/协同过滤模型等,本发明实施例对该机器学习模型的类型不做具体限定。

可选地,通过上述机器学习模型预测得到的预测内容包括以下类型:

(1)针对全部类别用户的第一类内容;

针对全部类别用户指的是对于所有类别的用户,流行度均达到一定等级的内容,例如:生活常识、娱乐新闻等。

(2)针对各个类别用户的第二类内容;

针对各个类别用户指的是对于每个类别的用户,确定各种不同类别的内容,例如:对于科研工作者,预测内容为科研资讯等;对于金融行业人员,预测内容为财经资讯等。

步骤103:根据与缓存内容相关的自变量参数,预测每个预测内容在当前滑动时间窗口内的权重因子;

在本发明实施例中,可以根据运营商对网络的运行经验,确定一个或多个与缓存内容相关的自变量参数。

可选地,该自变量参数包括以下一项或多项:

(1)时间参数

不同时段(例如波峰、波谷时刻)对应的缓存策略是不同的,可选地,该时间参数t由k1维特征构成,即

(2)地点参数

内容网络的不同部署方式(例如集中部署、边缘部署)对应的缓存策略是不同的,可选地,该时间参数l由k2维特征构成,即

(3)设备能力参数

不同网元设备具有不同的缓存能力(如缓存容量大/小、存储空间可调/不可调),可选地,该设备能力参数d由k3维特征构成,即

(4)网络承载需求参数

不同的业务对网络承载能力的要求是不同的(如高带宽/低带宽、计算密集/稀疏、时延敏感/不敏感),可选地,该网络承载需求参数n由k4维特征构成,即

(5)业务参数

业务本身具有不同属性的(如文件流行度高/低、活跃周期长/短),可选地,该业务参数s由k5维特征构成,即

(6)用户参数

用户对业务的访问及使用模式本身具有一定的随机性(如行为相似度高/低、有规律/无规律),可选地,该用户参数u由k6维特征构成,即

(7)缓存服务等级参数

不同的服务提供商对运营商而言具有不同的缓存服务等级(如签约/未签约、vip/非vip),可选地,该缓存服务等级参数p由k7维特征构成,即

由上述自变量参数构成自变量空间x={t,l,d,n,s,u,p},可以理解的是本发明实施例中的自变量参数并不限于上述的7种类型,本发明实施例对自变量参数的种类不做具体限定。

进一步地,基于现网深度报文检测(deeppacketinspection,dpi)大数据、内容分发网络(contentdeliverynetwork,cdn)运营统计数据等,对上述k1~k7维特征分别进行挖掘、分析和预测,从而获得整个自变量空间x的时间序列值。

在本发明实施例中,采用机器学习中的回归预测函数确定每个预测内容在当前滑动时间窗口内的权重因子。

具体地,建立自变量空间x、滑动时间窗口的长度w、缓存更新周期r与权重因子f之间的回归模型:

其中,f1~f3均为回归预测函数,f1~f3可以相同也可以不同,该回归预测函数可以包括以下一项或多项:多元线性回归函数、人工神经网络(artificialneuralnetworks,anns)函数、支持向量机(supportvectormachine,svm)函数和分类与回归树(classificationandregressiontree,cart)函数。

经过上述计算,每个包含在当前滑动时间窗口内的缓存更新周期均对应一个权重因子,即f={f1,f1···,fw},该权重因子按时间顺序依次递减,即f={f1≥f1≥···≥fw}。

步骤104:根据每个预测内容在当前滑动时间窗口内的权重因子,对每个预测内容进行加权求和,并根据加权求和的结果对每个预测内容进行排序;

在本发明实施例中,对预测内容的加权求和可以是对预测内容的使用频次进行加权求和,对预测内容的加权求和也可以是对预测内容的业务流量进行加权求和,本发明实施例对预测内容的加权求和的方式不做具体限定。

步骤105:根据排序后的预测内容,更新一个或多个缓存内容;

在本发明实施例中,将缓存队列中的缓存内容更新为排序后的预测内容。

可选地,在更新缓存内容之前,通过lru对权重因子相同的预测内容再次排序,选取再次排序后的预测内容中排名前n的预测内容,将缓存内容更新为选取的预测内容,其中n为正整数。这样,在更新缓存内容的同时,只缓存排名靠前的内容,节省缓存资源。

本发明实施例中,网络设备先确定当前缓存队列中的缓存内容,然后通过内容预测得到预测内容,并通过与该缓存内容相关的自变量参数预测,确定该预测内容的权重因子,利用该权重因子对预测内容排序,最后根据排序后的预测内容更新缓存内容,使网络设备在进行更新缓存内容的同时,提高更新后缓存内容的命中率,为用户提供精准的缓存服务。

参见图2,本发明实施例提供了另一种更新缓存内容的方法,具体步骤如下:

步骤201:确定当前缓存队列中的一个或多个缓存内容,得到每个缓存内容的权重因子;

步骤202:预测当前滑动时间窗口内的请求内容,得到一个或多个预测内容;

步骤203:根据与缓存内容相关的自变量参数,预测每个预测内容在当前滑动时间窗口内的权重因子;

步骤204:根据每个预测内容在当前滑动时间窗口内的权重因子,对每个预测内容进行加权求和,并根据加权求和的结果对每个预测内容进行排序;

步骤205:根据排序后的预测内容,更新一个或多个缓存内容;

上述步骤201至步骤205可以参照图1中的步骤101至步骤105的描述,再次不再赘述。

步骤206:根据更新后的一个或多个缓存内容的命中情况,调整机器学习模型和回归预测函数,在下一缓存更新周期,返回执行步骤201;

在本发明实施例中,缓存内容的命中情况表示更新后的缓存内容与用户实际请求的内容之间的符合程度,根据该缓存内容的命中情况,调整机器学习模型,从而调整在下一缓存更新周期中预测得到的预测内容;调整回归预测函数,从而调整在下一缓存更新周期中确定的每个预测内容在滑动时间窗口内的权重因子,进而在下一缓存更新周期将缓存内容更新为符合用户需求的内容。

本发明实施例中,网络设备根据更新后的缓存内容的命中情况,实时调整预测模型和算法,使下一缓存更新周期中的预测结果更加准确,使网络设备在进行更新缓存内容的同时,能够随和用户需求的改变主动调整缓存内容,为用户提供精准的缓存服务。

参见图3,本发明实施例提供了一种网络设备300,包括:收发机301和处理器302;

其中,所述处理器302,用于确定当前缓存队列中的一个或多个缓存内容,得到每个所述缓存内容的权重因子;

所述处理器302,还用于预测当前滑动时间窗口内的请求内容,得到一个或多个预测内容,其中所述当前滑动时间窗口包含一个或多个缓存更新周期;

所述处理器302,还用于根据与所述缓存内容相关的自变量参数,预测每个所述预测内容在所述当前滑动时间窗口内的权重因子;

所述处理器302,还用于根据每个所述预测内容在所述当前滑动时间窗口内的权重因子,对每个所述预测内容进行加权求和,并根据加权求和的结果对每个所述预测内容进行排序;

所述处理器302,还用于根据排序后的所述预测内容,更新所述一个或多个缓存内容。

可选地,所述处理器302,还用于通过机器学习模型预测当前滑动时间窗口内的请求内容,得到一个或多个预测内容;其中,所述预测内容包括针对全部类别用户的第一类内容和/或针对各个类别用户的第二类内容。

可选地,所述处理器302,还用于根据所述自变量参数、所述缓存更新周期和所述滑动时间窗口的长度,通过回归预测函数确定每个所述预测内容在所述当前滑动时间窗口内的权重因子。

可选地,所述自变量参数包括以下一项或多项:时间参数、地点参数、设备能力参数、网络承载需求参数、业务参数、用户参数和缓存服务等级参数。

可选地,所述回归预测函数包括以下一项或多项:多元线性回归函数、人工神经网络anns函数、支持向量机svm函数和分类与回归树cart函数。

可选地,所述处理器302,还用于通过最近最少使用策略lru对权重因子相同的预测内容再次排序;所述处理器302,还用于根据再次排序后的排名前n的所述预测内容,更新所述一个或多个缓存内容,其中,n为正整数。

可选地,所述处理器302,还用于根据更新后的所述一个或多个缓存内容的命中情况,调整所述机器学习模型和所述回归预测函数;所述处理器302,还用于在下一缓存更新周期,重新执行所述确定当前缓存队列中的一个或多个缓存内容,得到每个所述缓存内容的权重因子。

本发明实施例中,网络设备先确定当前缓存队列中的缓存内容,然后通过内容预测得到预测内容,并通过与该缓存内容相关的自变量参数预测,确定该预测内容的权重因子,利用该权重因子对预测内容排序,最后根据排序后的预测内容更新缓存内容,使网络设备在进行更新缓存内容的同时,提高更新后缓存内容的命中率,为用户提供精准的缓存服务。

参见图4,本发明实施例提供另一种通信设备400,包括:处理器401、收发机402、存储器403和总线接口。

其中,处理器401可以负责管理总线架构和通常的处理。存储器403可以存储处理器401在执行操作时所使用的数据。

本发明实施例中,通信设备400还可以包括:存储在存储器403上并可在处理器401上运行的计算机程序,该计算机程序被处理器401执行时实现本发明实施例提供的方法的步骤。

在图4中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器401代表的一个或多个处理器和存储器403代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本发明实施例不再对其进行进一步描述。总线接口提供接口。收发机402可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述网络接入的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

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