CN110879852A - 一种视频内容缓存方法 - Google Patents

一种视频内容缓存方法 Download PDF

Info

Publication number
CN110879852A
CN110879852A CN201811030094.1A CN201811030094A CN110879852A CN 110879852 A CN110879852 A CN 110879852A CN 201811030094 A CN201811030094 A CN 201811030094A CN 110879852 A CN110879852 A CN 110879852A
Authority
CN
China
Prior art keywords
life curve
video file
caching
file
clustering
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.)
Granted
Application number
CN201811030094.1A
Other languages
English (en)
Other versions
CN110879852B (zh
Inventor
张旭
赵阳超
马展
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201811030094.1A priority Critical patent/CN110879852B/zh
Publication of CN110879852A publication Critical patent/CN110879852A/zh
Application granted granted Critical
Publication of CN110879852B publication Critical patent/CN110879852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种视频内容缓存方法,其步骤如下:(1)利用视频文件访问历史日志对文件进行数据预处理;(2)利用预处理结果生成每个视频文件的生命曲线;(3)将生命曲线的前n分钟作为聚类算法的输入进行聚类,调节聚类的关键参数直至收敛,得到聚类模型,用于视频文件生命曲线的分类;根据文件生命曲线的类别生成相应的缓存策略;(4)对于新进入内容分发网络边缘节点的视频文件,通过生命曲线生成器生成新视频文件的前n分钟的生命曲线;(5)将新视频文件的生命曲线输入聚类模型,聚类模型输出新视频文件所属的类别;内容分发网络根据类别分配缓存策略进行文件缓存。利用本发明方法可以有效提升视频缓存系统的缓存命中率。

Description

一种视频内容缓存方法
技术领域
本发明涉及文件缓存系统领域,尤其涉及视频文件内容分发网络缓存方法。
背景技术
由于视频具有实时性要求高、文件体积大等特征,使用专门的内容分发网络(CDN)用于视频文件的分发,在一定程度上能够克服高峰期访问量巨大带来的网络拥塞等问题,提升用户的体验。
用于视频的内容分发网络一般由可接入用户的边缘节点以及用于数据存储的中心节点组成。边缘节点直接为用户提供需要的视频下载业务,以及上传和存储用户发消息时发出的视频内容。边缘节点具有一定容量的缓存,用户下载视频的时候首先就近接入CDN边缘节点,如果边缘节点的缓存中存在用户所需求的视频,则边缘节点迅速将视频文件发送给用户客户端;如果用户需求的视频未在边缘节点缓存,则需要该边缘节点回源到数据中心节点取得需要的视频文件,由数据中心节点发送至用户接入的边缘节点后再由边缘节点发送至用户客户端。
视频内容分发网络的成本主要来源于高峰期的带宽占用。如果用户下载视频时接入的CDN边缘节点没有缓存需要的视频文件时,则会带来数据中心向边缘节点发送视频文件的流量成本以及边缘节点向用户客户端发送视频文件的流量成本。因此要减少CDN的流量运营成本,就应该尽量减少因回源数据存储中心带来的流量成本,要求用户下载视频文件时接入的CDN边缘节点缓存中存在所需要的视频文件。因此,需要一个适用于视频访问特点的CDN节点缓存策略来降低CDN回源流量,特别是降低高峰期的回源带宽成本。
利用视频文件的属性将视频文件区分开来分别实行不同的缓存策略,是提升缓存命中率的关键。现有的缓存策略大都是基于最近最少使用算法(LRU)以及结合文件大小和访问频率,并取得了较好的效果,然而对于视频文件单次访问的所占比例高、大多数文件生命周期短、热视频文件比例少但占带宽比例高等特点,现有的方法均忽略了视频文件的热度信息以及生命周期等信息。
发明内容
针对以上现有缓存方法在视频内容分发网络上存在问题,本发明的目的在于提出一种基于文件生命曲线的视频内容缓存方法。
为达上述目的,本发明采用的技术方案如下:
一种视频内容缓存方法,其特征在于,包括如下步骤:
步骤1,利用一段时间内的视频文件访问历史日志对文件进行数据预处理;
步骤2,利用步骤1的预处理结果生成每个视频文件的生命曲线;
步骤3,将生命曲线的前n分钟作为聚类算法的输入进行聚类,调节聚类的关键参数直至收敛,得到聚类模型,用于视频文件生命曲线的分类;根据文件生命曲线的类别生成相应的缓存策略;
步骤4,对于新进入内容分发网络边缘节点的视频文件,通过生命曲线生成器生成新视频文件的前n分钟的生命曲线;
步骤5,将步骤4得到的新视频文件的生命曲线输入步骤3得到的聚类模型,聚类模型输出新视频文件所属的类别;内容分发网络根据所述类别分配缓存策略进行文件缓存。
本发明在现有视频内容分发网络日志的基础上,结合Spark大数据处理平台,利用视频文件访问历史日志挖掘视频文件的生命周期、访问频次等反映文件生命曲线变化的特征,同时结合机器学习中的聚类方法将视频文件生命曲线进行典型分类,对不同的典型类别采取不同的缓存策略。本方法能够充分结合视频文件本身的访问特点,有效提升视频缓存系统例如用于视频文件的内容分发网络(CDN)边缘节点的缓存命中率,能够降低高峰期用于视频文件CDN网络负载,特别是节约高峰期视频文件访问回源带宽,给内容提供商降低运营成本。
附图说明
图1为本发明方法的流程图。
图2为本发明实施例中的一种冲击形生命曲线。
图3为本发明实施例中的另一种冲击形生命曲线。
图4为本发明实施例中的增长形生命曲线。
图5为本发明实施例中的爆发形生命曲线。
具体实施方式
下面将结合附图及具体实施例对本发明进行详细描述。
本实施例的一种视频内容缓存方法如图1所示,具体包括如下步骤:
步骤1,利用Spark平台进行数据预处理,从文件访问日志中筛选出每个系统节点上被访问的视频文件的大小、视频文件在每分钟的访问频次。例如对于一个月(30天)的文件访问日志,统计出总共43200分钟内每分钟每个文件的访问频次,使用一个43200长度的向量表示。考虑到大多数文件生命周期和访问频次都比较小,访问频次的向量是稀疏的。因此将处理结果进行稀疏化表示,利用向量的稀疏化,稀疏向量
Figure BDA0001789508470000021
具体的形式可以用两个数组表示:
Figure BDA0001789508470000031
其中第一个数组表示访问频次不为0的时间点,第二个数组表示对应时间点上的访问频次。t为时间点,f为访问频次,k,n为整数,且0<k,n≤43200。采用上述表示方式可以在数据量巨大时有效地节约存储空间。
步骤2,利用步骤1的处理结果生成每个文件的生命曲线。生命曲线具体形式为一个m维的向量,向量的每个元素对应文件进入节点后每分钟的访问频次。生命曲线的生成先将步骤1中的稀疏向量结果进行稠密化生成稠密向量,然后取稠密向量第一个不为0的位置到最后一个不为0的位置之间的内容,具体的含义即文件在30天内从第一次出现到不再出现这个过程中每分钟的访问频次。
Figure BDA0001789508470000032
上式中,
Figure BDA0001789508470000033
为文件i对应的向量,i为文件标识,a为视频文件出现的时间点,c为文件最后被访问的时间点,a≤b≤c,表示文件生命周期内的某次被访问的时间点。
步骤3,将文件前n分钟的生命曲线即取步骤2所述m维向量的前n维(不足n维的向量在末尾补零至n维)组成的新向量送入K-Means聚类器中进行聚类模型的训练,具体步骤如下:
步骤31,调节聚类的关键参数即聚类的中心数目k以及迭代次数直至收敛。用S1,S2,...,Sk分别表示k个聚类集合,a1,a2,...,ak分别表示对应的聚类集合的中心点向量,对应的优化目标函数为每个聚类集合之内的向量到聚类中心点向量的距离和:
Figure BDA0001789508470000034
其中,J为优化目标函数,即每个聚类集合之内的向量到聚类中心向量的距离之和,a1,a2,...,ak为k个聚类集合的中心点向量,xi为聚类集合Sj中的向量,aj为聚类集合Sj的中心点向量,1≤j≤k,若聚类集合中的向量数目为num,则向量序号i满足0≤i≤num;收敛的条件为前后两次迭代得到的中心点向量之间的距离小于设定的阈值:
Figure BDA0001789508470000035
其中s表示迭代次数,j为中心点向量序数,
Figure BDA0001789508470000036
是第s次迭代所得的第j个中心点向量,
Figure BDA0001789508470000037
为第s-1次迭代得到的对应的第j个中心点向量,1≤j≤k。∈为设定的距离阈值,本实施例中设定为0.0001。如果聚类迭代的次数大于最大迭代次数m=50时还未达到收敛条件,则迭代终止。
步骤32,反复进行步骤31,每进行一次步骤31都要选取一个不同的中心数量k,此处重复的目的是确定最佳的k,使得聚类的每个中心表现出来的生命曲线都具有典型的特征,不和其他中心的类型重复又尽可能多地包含不同的类型。将聚类结果的中心点向量绘制成生命曲线,观察每个聚类方案产生的聚类中心生命曲线,寻找聚类结果中具有代表性的生命曲线的典型形状,最终确定聚类的关键参数k,若最后一次重复步骤31选取的聚类中心数目为
Figure BDA0001789508470000041
Figure BDA0001789508470000042
聚类结束,产生k个典型的文件生命曲线类别。本实施例最终选取了3个典型的生命曲线类别,分别为冲击形、增长形和爆发形。图2和图3为冲击形生命曲线的实例,图4为增长形生命曲线实例,图5为爆发形生命曲线实例。
步骤33,对于每个典型文件生命曲线类别,生成合理的缓存策略。缓存策略的关键参数包括文件是否被缓存以及缓存时间,例如:对于冲击形生命曲线的视频文件尽量少缓存或者不缓存;对于增长形生命曲线的视频文件尽量多缓存、缓存时间较为延长;对于爆发形生命曲线的热度视频文件尽量长时间缓存。最终根据验证结果得出较优缓存方案,制定生命曲线类别-缓存方案表。本实施例中对典型的冲击型生命曲线的视频文件直接在生命曲线生成之后从缓存中清除,对增长形生命曲线文件选择固定缓存时长为30分钟,对爆发形生命曲线文件选择长时间缓存,时间为3天。由于缓存容量有限,当缓存文件总量达到缓存上限时,选择最后访问时间距当前最久的文件清除出缓存。
步骤4,对于新进入CDN边缘节点的文件,其观察时间长度为步骤3中所述生成聚类模型的向量长度n对应的等值分钟数,通过生命曲线生成器生成新文件的前n分钟的生命曲线。生命曲线的具体形式为n维的向量:
Figure BDA0001789508470000043
向量中n的含义是文件从出现开始后的第n分钟被用户访问的频次,本实施例中n的取值为10,即生成了文件前10分钟的生命曲线。
步骤5,将步骤4得到的文件生命曲线向量
Figure BDA0001789508470000044
输入步骤3中得到的K-Means聚类模型,聚类模型输出的结果是Sk,代表此文件生命曲线所属类别。
步骤6,根据步骤5所得的文件生命曲线类型,对照步骤33得出的生命曲线类别-缓存方案表,采取对应的缓存策略进行文件缓存。整个视频文件的缓存方法完成。

Claims (6)

1.一种视频内容缓存方法,其特征在于,包括如下步骤:
步骤1,利用一段时间内的视频文件访问历史日志对文件进行数据预处理;
步骤2,利用步骤1的预处理结果生成每个视频文件的生命曲线;
步骤3,将生命曲线的前n分钟作为聚类算法的输入进行聚类,调节聚类的关键参数直至收敛,得到聚类模型,用于视频文件生命曲线的分类;根据文件生命曲线的类别生成相应的缓存策略;
步骤4,对于新进入内容分发网络边缘节点的视频文件,通过生命曲线生成器生成新视频文件的前n分钟的生命曲线;
步骤5,将步骤4得到的新视频文件的生命曲线输入步骤3得到的聚类模型,聚类模型输出新视频文件所属的类别;内容分发网络根据所述类别分配缓存策略进行文件缓存。
2.根据权利要求1所述的一种视频内容缓存方法,其特征在于,所述步骤1中,对文件进行数据预处理具体包括:筛选出每个内容分发网络边缘节点上被访问的视频文件的大小、视频文件在每分钟内的访问频次以及视频文件的生命周期。
3.根据权利要求1所述的一种视频内容缓存方法,其特征在于,所述步骤2中,生成每个视频文件的生命曲线具体是将视频文件从第一次出现到不再出现这个过程中每分钟的访问频次生成一个m维的向量,向量的每个元素对应视频文件进入边缘节点后每分钟的访问频次。
4.根据权利要求1所述的一种视频内容缓存方法,其特征在于,所述步骤3的具体过程为:
步骤31,选取一个聚类的聚类中心数目k以及最大迭代次数m直至收敛,用S1,S2,...,Sk分别表示k个聚类集合,a1,a2,...,ak分别表示k个聚类集合的中心点向量,则优化目标函数J为每个聚类集合之内的向量到聚类中心点向量的距离和:
Figure FDA0001789508460000011
其中,xi为聚类集合Sj中的向量,aj为聚类集合Sj的中心点向量,1≤j≤k,若聚类集合Sj中的向量数目为num,则向量序号i满足0≤i≤num;
收敛的条件为前后两次迭代得到的中心点向量之间的距离小于设定的阈值ε:
Figure FDA0001789508460000012
其中s表示迭代次数,
Figure FDA0001789508460000013
是第s次迭代所得的第j个中心点向量,
Figure FDA0001789508460000014
为第s-1次迭代得到的对应的第j个中心点向量,如果聚类迭代的次数s大于最大迭代次数m时还未达到收敛条件,则迭代终止;
步骤32,重复步骤31,每进行一次步骤31都选取不同的聚类中心数目k;将聚类集合的中心点向量a1,a2,...,ak绘制成生命曲线,根据生命曲线的形状,最终确定聚类的聚类中心数目k,若最后一次重复步骤31选取的聚类中心数目为
Figure FDA0001789508460000021
Figure FDA0001789508460000022
聚类结束,产生k个典型的文件生命曲线类别;
步骤33,对于每个典型文件生命曲线类别,生成相应的缓存策略。
5.根据权利要求4所述的一种视频内容缓存方法,其特征在于,所述步骤33中,缓存策略的关键参数包括是否被缓存以及缓存时间。
6.根据权利要求5所述的一种视频内容缓存方法,其特征在于,生命曲线类别包括冲击形生命曲线、增长形生命曲线和爆发式生命曲线;对于冲击形生命曲线的视频文件,采用尽量少缓存或者不缓存的缓存策略;对于增长形生命曲线的视频文件,采用尽量多缓存和缓存时间较长的缓存策略;对于爆发式生命曲线的热度视频文件,采用尽量长时间缓存的缓存策略;最终根据验证结果得出较优缓存方案,制定生命曲线类别-缓存方案表。
CN201811030094.1A 2018-09-05 2018-09-05 一种视频内容缓存方法 Active CN110879852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811030094.1A CN110879852B (zh) 2018-09-05 2018-09-05 一种视频内容缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811030094.1A CN110879852B (zh) 2018-09-05 2018-09-05 一种视频内容缓存方法

Publications (2)

Publication Number Publication Date
CN110879852A true CN110879852A (zh) 2020-03-13
CN110879852B CN110879852B (zh) 2022-06-21

Family

ID=69727362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811030094.1A Active CN110879852B (zh) 2018-09-05 2018-09-05 一种视频内容缓存方法

Country Status (1)

Country Link
CN (1) CN110879852B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011143946A1 (zh) * 2011-01-24 2011-11-24 华为技术有限公司 一种cdn中边缘服务器的多级缓存管理方法与系统
JP2012141885A (ja) * 2011-01-05 2012-07-26 Nippon Telegr & Teleph Corp <Ntt> キャッシュシステム及びキャッシュ配置方法及びキャッシュ制御装置及びキャッシュ制御プログラム
CN105574153A (zh) * 2015-12-16 2016-05-11 南京信息工程大学 一种基于文件热度分析和K-means的副本放置方法
CN107277159A (zh) * 2017-07-10 2017-10-20 东南大学 一种基于机器学习的超密集网络小站缓存方法
CN108259929A (zh) * 2017-12-22 2018-07-06 北京交通大学 一种视频活跃期模式的预测及缓存方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141885A (ja) * 2011-01-05 2012-07-26 Nippon Telegr & Teleph Corp <Ntt> キャッシュシステム及びキャッシュ配置方法及びキャッシュ制御装置及びキャッシュ制御プログラム
WO2011143946A1 (zh) * 2011-01-24 2011-11-24 华为技术有限公司 一种cdn中边缘服务器的多级缓存管理方法与系统
CN105574153A (zh) * 2015-12-16 2016-05-11 南京信息工程大学 一种基于文件热度分析和K-means的副本放置方法
CN107277159A (zh) * 2017-07-10 2017-10-20 东南大学 一种基于机器学习的超密集网络小站缓存方法
CN108259929A (zh) * 2017-12-22 2018-07-06 北京交通大学 一种视频活跃期模式的预测及缓存方法

Also Published As

Publication number Publication date
CN110879852B (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
Che et al. Hierarchical web caching systems: Modeling, design and experimental results
CN108549719A (zh) 一种移动边缘计算网络中基于聚类的自适应缓存方法
CN114841364B (zh) 一种满足个性化本地差分隐私需求的联邦学习方法
CN111314862B (zh) 雾无线接入网中深度强化学习下带有推荐的缓存方法
CN110471939A (zh) 数据访问方法、装置、计算机设备及存储介质
CN109471847B (zh) 一种i/o拥塞控制方法及控制系统
Ma et al. Weighted greedy dual size frequency based caching replacement algorithm
CN107105043B (zh) 一种基于软件定义网络的内容中心网络缓存方法
CN106250381A (zh) 表格数据中的用于输入/输出优化的列排序
CN111294394B (zh) 基于复杂网络交汇点的自适应缓存策略方法
CN106557777A (zh) 一种基于SimHash改进的Kmeans聚类方法
CN105512156A (zh) 点击模型生成方法和装置
Yan et al. Distributed edge caching with content recommendation in fog-rans via deep reinforcement learning
Papadopoulos et al. Authenticated multistep nearest neighbor search
CN109754135B (zh) 信用行为数据处理方法、装置、存储介质和计算机设备
CN116362329A (zh) 一种融合参数优化的集群联邦学习方法及设备
CN111491175A (zh) 一种基于视频内容特征的边缘网络缓存方法和装置
CN108600365B (zh) 一种基于排序学习的无线异构网络缓存方法
CN110879852B (zh) 一种视频内容缓存方法
CN104077555B (zh) 一种识别图片搜索中坏例的方法和装置
CN108810139A (zh) 一种基于蒙特卡洛树搜索辅助的无线缓存方法
Costantini et al. Impact of popular content relational structure on joint caching and recommendation policies
CN115695429A (zh) 面向Non-IID场景的联邦学习客户端选择方法
CN113704220A (zh) 一种基于LSTM和遗传算法的Ceph参数调优方法
CN108833556B (zh) 边缘缓存更新方法及系统

Legal Events

Date Code Title Description
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