CN113225380B - 一种基于谱聚类的内容分发网络缓存方法及系统 - Google Patents

一种基于谱聚类的内容分发网络缓存方法及系统 Download PDF

Info

Publication number
CN113225380B
CN113225380B CN202110359576.7A CN202110359576A CN113225380B CN 113225380 B CN113225380 B CN 113225380B CN 202110359576 A CN202110359576 A CN 202110359576A CN 113225380 B CN113225380 B CN 113225380B
Authority
CN
China
Prior art keywords
request
content
cache
edge server
user
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.)
Active
Application number
CN202110359576.7A
Other languages
English (en)
Other versions
CN113225380A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN202110359576.7A priority Critical patent/CN113225380B/zh
Publication of CN113225380A publication Critical patent/CN113225380A/zh
Application granted granted Critical
Publication of CN113225380B publication Critical patent/CN113225380B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出一种基于谱聚类的内容分发网络缓存方法及系统包括准入策略和替换策略两部分。其中,准入策略基于谱聚类挖掘请求之间的关联性,将具有关联性的用户请求预取到CDN的HOC中,从而尽可能减少在HOC中缓存未命中情况的发生。而替换策略则利用GDSF的替换策略,基于用户请求的频率、大小和最近访问的时间来选择缓存替换的对象。此外,SpeCache设置的缓存参数不是固定的,通过在请求记录上滑动窗口来计算并按照一定的时间间隔更新相应参数,这种数据驱动的方法可以使得缓存策略随着CDN流量模式的变化而动态更新,同时也避免了历史信息的过拟合,最终提升CDN缓存的命中率。

Description

一种基于谱聚类的内容分发网络缓存方法及系统
技术领域
本发明涉及分发网络中的缓存替换技术领域,并特别涉及一种基于谱聚类的内容分发网络缓存方法及系统。
背景技术
内容分发网络(Content Delivery Network,CDN)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器(Edge Server),通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
CDN的核心是使用边缘服务器来加快用户请求内容的响应速度。当用户请求到达边缘服务器时,如果该服务器存储了用户请求的内容,则该边缘服务器可以直接将该内容返回给用户。但是,如果用户请求的内容不在边缘服务器中,则边缘服务器需要向源服务器(Origin Server)发送内容请求,并获取内容,上述过程增大了用户获取内容的时延,同时降低了服务质量。CDN通过将内容存储在地理位置上接近用户的边缘服务器中,提高用户请求内容的响应速率。但是,边缘服务器上的存储资源有限,并不能缓存所有用户请求内容。而从源服务器获取请求的内容,会增加用户请求的响应时延,同时带来从边缘服务器到源服务器的网络带宽开销。因此,保障用户请求尽可能多的在边缘服务器中命中是提高CDN服务质量的第一要义。
CDN服务器采用层次化的存储架构。第一层通常是一个容量小但速度快的内存缓存(In memory Cache),在CDN中称之为“流行对象缓存”(Hot Object Cache,HOC)。第二层则为容量大但速度相对较慢的磁盘缓存(Disk Cache,DC)。从源服务器获取请求内容后,边缘服务器将其交付给用户,同时,边缘服务器将该内容存储在DC中,HOC根据其准入策略(Admission Policy),决定是否将该内容存储到HOC中。当用户请求的内容在HOC中不存在,需要从DC或源服务器获取该内容并存储到HOC中,但HOC的剩余容量不足以存储它时,HOC要根据其替换策略(Eviction Policy),替换出一个或多个已经存储的内容,为新的内容腾出空间。由于用户从HOC中获取内容的速度比从DC中获取的速度快,因此,设计恰当的准入策略和替换策略,让用户请求的内容尽可能多的在HOC中命中,是提高CDN的性能和服务质量的第二要义。
“请求命中率”(Object Hit Ratio,OHR)表示在HOC中命中的用户请求数与请求总数之比。而OHR的值是衡量缓存方案的性能的重要指标之一,也是本发明重点关注的指标。
缓存策略包括准入策略和替换策略。在设计缓存策略时,用户请求内容的最近请求时间(Recency),频率(Frequency)和请求内容的大小(Size)是需要需要考虑的主要因素。学术界对于CDN中HOC缓存策略的研究,大多只关注缓存替换策略。所有请求的对象都可以被缓存,且上述因素中的一个或多个作为策略设计的基础。最近最少使用策略(LeastRecently Used,LRU)是一种非常流行的缓存替换策略。该策略认为最近使用过的数据在未来访问的可能性较大,而很久都没请求过的数据再次被请求的概率较小,因此优先替换最近最少被请求的内容来为新的请求内容腾出空间。根据中的统计数据,包括Varnish和Nginx在内的大多数流行的开源Web缓存系统都使用LRU作为替换算法。其他替换策略,例如LRFU,LFU-DA,GDS,GDSF,ARC和Cliffhanger基于更复杂的访问特征来选择替换的内容。
但是,在实际应用中,CDN中的不同的流量类型具有不同的请求内容尺寸分布和请求模式,例如一些图片和web请求所占的存储空间较小,而一些视频所占的存储空间则相对较大。由于HOC的大小有限,当所有对象都可以被缓存时,如果一些流行度较低的内容所占的存储空间很大,当其存入HOC后,可能会替换掉流行度高的对象,从而产生缓存未命中的情况。因此,在设计缓存策略时需要考虑准入策略,同时,缓存内容大小的影响也不可忽视。
SecondHit和TinyLFU是基于内容访问频率的缓存准入策略,即,当对象的请求数在固定时间间隔内超过某个频率阈值时,将该对象存储到缓存中。同时,由于CDN中请求内容的尺寸存在差异,越来越多的研究开始关注基于请求内容尺寸的准入策略。基于请求内容尺寸的阈值方法只允许缓存尺寸小于给定阈值的请求内容被存储到HOC。但是,由于网络流量的请求模式会随着时间而变化,因此静态阈值不能保证系统的性能。LRU-S以请求内容尺寸的倒数(即1/size)作为概率,对请求内容进行缓存。但是该方法设置的概率具有一定的局限性,当请求内容的尺寸较大时,LRU-S会降低其被缓存的概率,若该内容流行度高,反而会产生大量的缓存未命中的情况,从而降低系统性能。AdaptSize是一种基于请求内容大小的自适应的缓存准入策略,利用马尔可夫模型(Markov Model)动态调整准入请求内容尺寸的阈值,使准入请求内容的尺寸大小随着流量的变化而变化。但是,该方案需要进行全局搜索以找到最佳阈值,这一过程计算时间长,在线上部署难度较大。
随着人工智能的发展,一些研究开始利用机器学习(Machine Learning)的方法来指导CDN中的缓存替换策略。KORA和KORA-2使用反向传播神经网络(BackpropagationNeural Network)来指导缓存替换决策。在中,作者开发了一种基于关联的预测模型来预测未来的请求内容,利用预测结果对GDSF替换策略进行扩展。NNPCR通过训练多层前馈神经网络(Multi-layer Feedforwad Artificial Neural Network)来预测每个内容在未来被请求的概率,在进行缓存替换时,选择概率最小的请求内容进行替换。除了替换策略,机器学习同样可以用来优化准入策略。DeepCache应用了一个深层的编码器-解码器长短期记忆模型(LSTM Encoder-Decoder Model)来预测请求内容的流行度并将较为流行请求内容预取到缓存中。LFO使用模仿学习(Imitation Learning)来建立请求内容的特征和缓存决策之间的映射。RL-Cache使用无模型强化学习(model-free RL)来决定是否允许请求的对象进入缓存。不同于其他机器学习的方法提取少量的特征进行预测,RL-cache考虑了包括对象大小,最近请求时间和访问频率在内的大量特征进行预测。虽然基于机器学习的方法能够基于流量的变化动态调整缓存策略,但是基于监督学习的方法需要离线训练,而基于强化学习的方法在流量动态变化的环境中反应较慢,因此在实际应用中仍然存在一定的局限性。
现有的缓存准入和替换策略只考虑请求对象自身独立的特征,如请求内容的尺寸大小和访问频率。但在实际中,这些请求内容之间并不是独立的,而存在一定的关联性,而目前已有的策略都忽视了这种相关性。
发明内容
CDN中的缓存替换算法直接影响缓存命中率和用户请求响应时间,是保障CDN服务质量的关键。现有的技术没有考虑请求之间的相关性,无法进一步提升CDN的缓存命中率,为解决此问题,本发明提出了一种基于谱聚类的内容分发网络缓存方法,其中包括:
步骤1、使用观察窗口以时间顺序,采集内容分发网络中客户端向边缘服务器发出的用户请求,得到用户请求的时间序列;
步骤2、以该时间序列中用户请求的内容为节点,该时间序列中用户请求的内容之间的时间顺序为边,将用户请求的时间序列转换为加权无向图,并利用谱聚类对该加权无向图进行聚类,以将具有关联性的请求内容聚类到一个簇中,得到用户请求之间的关联性;
步骤3、判断待执行用户请求的请求对象是否位于边缘服务器缓存,若是,则从该边缘服务器缓存中读出该请求对象,作为该待执行用户请求的执行结果,否则,从边缘服务器磁盘或源服务器获取该请求对象,作为该待执行用户请求的执行结果,并将根据用户请求之间的关联性,将该执行结果以及与该执行结果相关联的请求内容一同存入边缘服务器缓存。
所述的基于谱聚类的内容分发网络缓存方法,其中该步骤2包括:
设置一个大小为N的观察窗口,以截取用户请求内容中的N个连续的请求序列,对于该请求序列,将每个不同的内容分配给图中的一个节点,初始状态下任意两点间的边的权重为0,然后使用长度为L的关联窗口,从请求序列中的第一个请求开始,以步长为1向前滑动,不断增加图中边的权重,以得到该加权无向图;
具体来说,对于请求序列中任意一个请求内容i,依次选择其后的连续L个请求内容,若当前选择的请求内容j与请求内容i不同,则i与j之间的边的权值加1,否则继续选择其后的请求内容直到选择到i后第L个请求内容。
所述的基于谱聚类的内容分发网络缓存方法,其中该步骤2中以该时间序列中用户请求的内容为节点,具体为根据该时间序列中用户请求的内容出现次数,选择该时间序列中的部分用户请求的内容作为该加权无向图中节点。
所述的基于谱聚类的内容分发网络缓存方法,其中该步骤3中将与该执行结果相关联的请求内容一同存入边缘服务器缓存,具体包括:
根据该观察窗口中用户请求的内容大小,生成准入阈值,判断与该执行结果相关联的请求内容大小是否大于该准入阈值,若是,则放弃将与该执行结果相关联的请求内容存入边缘服务器缓存,否则将与该执行结果相关联的请求内容存入边缘服务器缓存。
所述的基于谱聚类的内容分发网络缓存方法,其中通过如下公式为边缘服务器缓存中每一个请求访问的对象分配一个值K(g):
Figure BDA0003004968600000051
其中,L为老化因子,C(g)将对象g从边缘服务器磁盘或源服务器存入边缘服务器缓存的开销;F(g)是对象g的访问频率;S(g)是对象g的大小;当请求对象g且对象g不在边缘服务器缓存中时,F(g)初始化为1;如果对象g在边缘服务器缓存中,则其频率增加1;L初始化为0,当边缘服务器缓存中有对象被替换的时候,用被替换的对象的值K(g)更新L;当再次访问对象g时,使用更新后的L更新对象g的键值K(g);当要在边缘服务器缓存中加入新的对象且缓存空间满时,将键值K(g)最低的对象从缓存中替换出并更新L。
本发明还提出了一种基于谱聚类的内容分发网络缓存系统,其中包括:
模块1,使用观察窗口以时间顺序,采集内容分发网络中客户端向边缘服务器发出的用户请求,得到用户请求的时间序列;
模块2,用于以该时间序列中用户请求的内容为节点,该时间序列中用户请求的内容之间的时间顺序为边,将用户请求的时间序列转换为加权无向图,并利用谱聚类对该加权无向图进行聚类,以将具有关联性的请求内容聚类到一个簇中,得到用户请求之间的关联性;
模块3,用于判断待执行用户请求的请求对象是否位于边缘服务器缓存,若是,则从该边缘服务器缓存中读出该请求对象,作为该待执行用户请求的执行结果,否则,从边缘服务器磁盘或源服务器获取该请求对象,作为该待执行用户请求的执行结果,并将根据用户请求之间的关联性,将该执行结果以及与该执行结果相关联的请求内容一同存入边缘服务器缓存。
所述的基于谱聚类的内容分发网络缓存系统,其中该模块2包括:
设置一个大小为N的观察窗口,以截取用户请求内容中的N个连续的请求序列,对于该请求序列,将每个不同的内容分配给图中的一个节点,初始状态下任意两点间的边的权重为0,然后使用长度为L的关联窗口,从请求序列中的第一个请求开始,以步长为1向前滑动,不断增加图中边的权重,以得到该加权无向图;
具体来说,对于请求序列中任意一个请求内容i,依次选择其后的连续L个请求内容,若当前选择的请求内容j与请求内容i不同,则i与j之间的边的权值加1,否则继续选择其后的请求内容直到选择到i后第L个请求内容。
所述的基于谱聚类的内容分发网络缓存系统,其中该模块2中以该时间序列中用户请求的内容为节点,具体为根据该时间序列中用户请求的内容出现次数,选择该时间序列中的部分用户请求的内容作为该加权无向图中节点。
所述的基于谱聚类的内容分发网络缓存系统,其中该模块3中将与该执行结果相关联的请求内容一同存入边缘服务器缓存,具体包括:
根据该观察窗口中用户请求的内容大小,生成准入阈值,判断与该执行结果相关联的请求内容大小是否大于该准入阈值,若是,则放弃将与该执行结果相关联的请求内容存入边缘服务器缓存,否则将与该执行结果相关联的请求内容存入边缘服务器缓存。
所述的基于谱聚类的内容分发网络缓存系统,其中通过如下公式为边缘服务器缓存中每一个请求访问的对象分配一个值K(g):
Figure BDA0003004968600000061
其中,L为老化因子,C(g)将对象g从边缘服务器磁盘或源服务器存入边缘服务器缓存的开销;F(g)是对象g的访问频率;S(g)是对象g的大小;当请求对象g且对象g不在边缘服务器缓存中时,F(g)初始化为1;如果对象g在边缘服务器缓存中,则其频率增加1;L初始化为0,当边缘服务器缓存中有对象被替换的时候,用被替换的对象的值K(g)更新L;当再次访问对象g时,使用更新后的L更新对象g的键值K(g);当要在边缘服务器缓存中加入新的对象且缓存空间满时,将键值K(g)最低的对象从缓存中替换出并更新L。
由以上方案可知,本发明的优点在于:
本发明是CDN中一种基于数据驱动的缓存替换方法。通过构建基于时间序列的用户请求无向图模型,并利用谱聚类挖掘用户请求之间的关联性,指导缓存的准入和替换策略。与目前主流的CDN缓存替换策略相比,本发明将OHR提高了9%至34%。
附图说明
图1为基于滑动窗口的缓存策略预测方法示意图;
图2为基于时间序列的用户请求无向图模型示意图。
具体实施方式
关于CDN中的缓存替换策略,目前已有的研究都只关注单个请求的特征,包括请求的频率,最近请求的时间,和请求内容的大小。通过分析每一个请求的独立的特征,设计相应的缓存策略,从而尽可能的让用户请求在HOC中命中。但是在实际中,用户的请求的内容存在时间局部性(即同一内容可能在某个时间段内被频繁地请求)和空间局部性(最近被请求的内容以及和其相关联的内容可能被再次请求)。而这种空间上的局部性在之前的研究中被忽视。因此,本发明提出一种基于谱聚类的轻量级缓存方法–SpeCache来解决此问题。该缓存策略包括准入策略和替换策略两部分。其中,准入策略基于谱聚类挖掘请求之间的关联性,将具有关联性的用户请求预取到CDN的HOC中,从而尽可能减少在HOC中缓存未命中情况的发生。而替换策略则利用GDSF的替换策略,基于用户请求的频率、大小和最近访问的时间来选择缓存替换的对象。此外,SpeCache设置的缓存参数不是固定的,通过在请求记录上滑动窗口来计算并按照一定的时间间隔更新相应参数,这种数据驱动的方法可以使得缓存策略随着CDN流量模式的变化而动态更新,同时也避免了历史信息的过拟合,最终提升CDN缓存的命中率。
本发明包括以下关键点:
本发明提出一种基于滑动窗口的缓存策略预测方法,且随着窗口不断向前滑动,缓存策略相应的参数也动态更新。用前一个滑动窗口的流量模式计算缓存策略的参数,并指导后一个滑动窗口中的请求。该方法可以得到随着CDN请求流量模式变化而动态更新的缓存策略,同时也避免了对历史信息的过拟合,从而提升CDN缓存的命中率。
本发明提出一种表示请求间关系的无向图模型,用顶点表示不同的请求内容,用边来表示请求间的相关关系,构建出请求间的关系图。
本发明提出了使用谱聚类的方法对用户请求的内容进行聚类,根据请求之间相关性关系聚类成簇,使相关性较强请求内容在同一簇中。根据聚类结果,构建“谱聚类缓存策略”,用于指导缓存中的“准入策略”。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
基于滑动窗口的缓存策略预测方法。
本发明提出一种基于滑动窗口的缓存策略预测方法,通过在请求记录上利用滑动窗口来动态计算缓存策略中的参数。具体流程如附图1中所示,设置一个大小为N的观察窗口,将该观察窗口包含的请求记录为R[T]。通过对R[T]中的用户请求进行分析,利用该请求模式,得到对应的缓存准入策略和替换策略,并将得到的缓存策略应用于下一个观察窗口R[T+1]中的N个请求。而当用户请求在R[T+1]中完成后,观察窗口向前滑动,同时基于新的观察窗口中的请求,更新相应的缓存策略。随着用户请求的不断到来,该窗口也不断的向前滑动。该方法可以得到随着CDN请求流量模式变化而动态更新的缓存策略,同时也避免了对历史信息的过拟合,从而提升CDN缓存的命中率。
基于时间序列的用户请求无向图模型。
捕捉不同请求之间的相关关系具有挑战性。对请求之间的关系进行两两度量的复杂度较高,随着请求数的增加,请求对的数目成平方变化。
而图是表示内容之间复杂关系的一种紧凑而全面的方法。本发明提出一种基于时间序列的用户请求无向图模型,通过将用户请求的时间序列转换为加权无向图,更加全面的表示用户请求对象之间的相关关系。
首先设置一个大小为N的观察窗口,来截取用户请求内容中的N个连续的请求序列。对于这个请求序列,将每个不同的内容分配给图中的一个节点,初始状态下任意两点间的边的权重为0,然后使用长度为L的关联窗口,从N中的第一个请求开始,以步长为1向前滑动,不断增加图中边的权重。具体来说,对于任意一个请求内容i,依次考虑其后(含此请求)的连续L个请求内容,设正在考虑的请求内容为j,若j与i不同,则i与j之间的边的权值加1,若在同一窗口内有重复的j,此权值只增加一次。L是一个阈值,表示我们认为距离在L以内的请求存在关联,L过大会导致实际不具有相关性的内容在无向图中存在,L过小会导致实际具有相关性的内容在无向图中没有体现。
在实际中,请求内容的流行度服从Zipf法则(即小部分的请求内容占据了大部分的流量)。因此,通过统计top-k个最流行的请求内容,我们就可以得到网络中大部分流量的特征。可以处理很大比例的请求,同时控制了构建图模型和后续步骤的复杂性。因此,在SpeCache中,需要对观察窗口N中的每个内容维护一个计数器,从中选择top-k个最受欢迎的请求内容(占观察到的受欢迎程度的95%以上)作为加权无向图的节点。此外,在确定k的值时,我们还应该考虑缓存大小。如果缓存大小足够大,则可以增加k值以容纳更多的请求内容,从而增加缓存命中率。相反,如果存储空间有限,则需要适当减小k。
基于谱聚类的CDN缓存策略。
本发明在关键点二中的“基于时间序列的用户请求无向图模型”的基础上,提出基于谱聚类的CDN缓存策略--SpeCache。
SpeCache是一种同时包含准入策略和替换策略的缓存策略。这些策略考虑了请求内容的大小,请求的频率和最近请求的时间。此外,借助频谱聚类的结果,SpeCache可以识别不同请求对象之间的关系,并将一些请求对象预取到缓存中以最大化OHR。此外,SpeCache是一个高速数据驱动的系统,可以为新请求快速指定解决方案,并使缓存策略中参数随着请求模式的变化而更新。
谱聚类是一种基于边来识别图中聚集节点的技术。其主要思想是把所有的数据看做空间中的点,这些点之间可以用边连接起来。通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的。与传统的算法(例如k均值或层次聚类)相比,谱聚类的实现非常简单且计算量小,并且可以通过标准线性代数方法有效地解决。
本发明基于谱聚类,将得到的无向图中的节点聚类问题转换为图的划分。本发明借助谱聚类技术对CDN中请求进行时序分析,挖掘其内在联系。
图G=(V,E)中,vi∈V为图的顶点,eij∈E为图的边,wij为顶点vi,vj之间的边(即eij)的权重,
Figure BDA0003004968600000091
表示顶点vi∈V的度。图的邻接矩阵W如下:
W=wij(i,j=1,...,n)
度矩阵D为对角矩阵,表示如下:
Figure BDA0003004968600000092
拉普拉斯矩阵L如下:
L=D-W
讲拉普拉斯矩阵归一化后得到Lsym如下:
Lsym=D-1/2LD-1/2
基于Lsym计算特征值和对应的特征向量。如果簇的数量是n则取前n小个特征值的特征向量作为矩阵U。之后,通过将U中的行范数标准化为1(即将所有元素除以它所在的行的范数)得到矩阵T。最后,将T中的每一行都视为n维样本,并使用主流聚类技术(通常为k均值聚类)对数据进行聚类。利用谱聚类对请求无向图快速聚类后,通过将关联性强的请求内容聚类到一个簇中,得到用户请求之间的关联性。基于此关联性,SpeCache设计相应的缓存策略。
如附图2中所示,对于2(a)中的请求,得到2(b)中的无向图,对其进行谱聚类后,得到两个Cluster:Cluster 1(a,b)和Cluster2(c)。
基于上述聚类结果,SpeCache通过构建“谱聚类缓存策略”来指导准入策略。“谱聚类缓存策略”的本质是一种映射,该映射将每个请求对象与其所属的群集进行映射。更具体来说,SpeCache的准入策略是,当请求的对象在缓存中未命中时,需要从DC或源端获取该对象,在把该对象缓存的同时,也将与该对象属于同一聚类的请求内容也预取到该缓存中。但是需要明确,在预取其他对象时,还需要遵循“准入阈值”(即只有内容对象的尺寸小于该值时,可以缓存该对象)。因为当缓存一个大的对象时,可能会替换掉小的且流行的对象,从而降低系统的性能,因此需要对缓存尺寸的大小进行限制。在本发明中,我们将窗口中对象的尺寸从大到小进行排序,选择位于10%的位置的尺寸作为“准入阈值”,并且随着滑动窗口(观察窗口)的移动,该阈值也不断进行更新。具体如附图2中所示,根据聚类结果,得到2(c)中的缓存策略。当用户的请求为a且a不在缓存中时,在缓存a的同时,如果b的大小小于设置的准入阈值,也将和其属于同一类的b预取到缓存中。
对于替换策略,不同于大部分CDN采用LRU算法,SpeCache采用GDSF中的替换策略,通过利用如下公式为缓存内每一个对象g分配一个值K(g):
Figure BDA0003004968600000101
其中,L为老化因子(Aging Factor),C(g)将对象g从DC或源服务器缓存到cache中的开销;F(g)是对象g的访问频率;S(g)是对象g的大小。当请求了g且g不在缓存中时,F(g)初始化为1。如果g在缓存中,则其频率增加1。L初始化为0,当缓存中有内容被替换的时候,用被替换的对象的值K(g)更新L。当再次访问对象g时,使用更新后的L的值更新对象g的键值K(g)。当要在缓存中加入新的对象且缓存空间满时,将键值最低的对象从缓存中替换出并更新L。因此,GDSF是一种综合考虑对象的访问频率,大小和最近访问时间的替换策略,相对于LRU考虑的因素更为全面。
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种基于谱聚类的内容分发网络缓存系统,其中包括:
模块1,使用观察窗口以时间顺序,采集内容分发网络中客户端向边缘服务器发出的用户请求,得到用户请求的时间序列;
模块2,用于以该时间序列中用户请求的内容为节点,该时间序列中用户请求的内容之间的时间顺序为边,将用户请求的时间序列转换为加权无向图,并利用谱聚类对该加权无向图进行聚类,以将具有关联性的请求内容聚类到一个簇中,得到用户请求之间的关联性;
模块3,用于判断待执行用户请求的请求对象是否位于边缘服务器缓存,若是,则从该边缘服务器缓存中读出该请求对象,作为该待执行用户请求的执行结果,否则,从边缘服务器磁盘或源服务器获取该请求对象,作为该待执行用户请求的执行结果,并将根据用户请求之间的关联性,将该执行结果以及与该执行结果相关联的请求内容一同存入边缘服务器缓存。
所述的基于谱聚类的内容分发网络缓存系统,其中该模块2包括:
设置一个大小为N的观察窗口,以截取用户请求内容中的N个连续的请求序列,对于该请求序列,将每个不同的内容分配给图中的一个节点,初始状态下任意两点间的边的权重为0,然后使用长度为L的关联窗口,从请求序列中的第一个请求开始,以步长为1向前滑动,不断增加图中边的权重,以得到该加权无向图;
具体来说,对于请求序列中任意一个请求内容i,依次选择其后的连续L个请求内容,若当前选择的请求内容j与请求内容i不同,则i与j之间的边的权值加1,否则继续选择其后的请求内容直到选择到i后第L个请求内容。
所述的基于谱聚类的内容分发网络缓存系统,其中该模块2中以该时间序列中用户请求的内容为节点,具体为根据该时间序列中用户请求的内容出现次数,选择该时间序列中的部分用户请求的内容作为该加权无向图中节点。
所述的基于谱聚类的内容分发网络缓存系统,其中该模块3中将与该执行结果相关联的请求内容一同存入边缘服务器缓存,具体包括:
根据该观察窗口中用户请求的内容大小,生成准入阈值,判断与该执行结果相关联的请求内容大小是否大于该准入阈值,若是,则放弃将与该执行结果相关联的请求内容存入边缘服务器缓存,否则将与该执行结果相关联的请求内容存入边缘服务器缓存。
所述的基于谱聚类的内容分发网络缓存系统,其中通过如下公式为边缘服务器缓存中每一个请求访问的对象分配一个值K(g):
Figure BDA0003004968600000121
其中,L为老化因子,C(g)将对象g从边缘服务器磁盘或源服务器存入边缘服务器缓存的开销;F(g)是对象g的访问频率;S(g)是对象g的大小;当请求对象g且对象g不在边缘服务器缓存中时,F(g)初始化为1;如果对象g在边缘服务器缓存中,则其频率增加1;L初始化为0,当边缘服务器缓存中有对象被替换的时候,用被替换的对象的值K(g)更新L;当再次访问对象g时,使用更新后的L更新对象g的键值K(g);当要在边缘服务器缓存中加入新的对象且缓存空间满时,将键值K(g)最低的对象从缓存中替换出并更新L。

Claims (10)

1.一种基于谱聚类的内容分发网络缓存方法,其特征在于,包括:
步骤1、使用观察窗口以时间顺序,采集内容分发网络中客户端向边缘服务器发出的用户请求,得到用户请求的时间序列;
步骤2、以该时间序列中用户请求的内容为节点,该时间序列中用户请求的内容之间的时间顺序为边,将用户请求的时间序列转换为加权无向图,并利用谱聚类对该加权无向图进行聚类,以将具有关联性的请求内容聚类到一个簇中,得到用户请求之间的关联性;
步骤3、判断待执行用户请求的请求对象是否位于边缘服务器缓存,若是,则从该边缘服务器缓存中读出该请求对象,作为该待执行用户请求的执行结果,否则,从边缘服务器磁盘或源服务器获取该请求对象,作为该待执行用户请求的执行结果,并将根据用户请求之间的关联性,将该执行结果存入边缘服务器缓存的同时,将与该执行结果属于同一聚类的请求内容也存入该边缘服务器缓存。
2.如权利要求1所述的一种基于谱聚类的内容分发网络缓存方法,其特征在于,该步骤2包括:
设置一个大小为N的观察窗口,以截取用户请求内容中的N个连续的请求序列,对于该请求序列,将每个不同的内容分配给图中的一个节点,初始状态下任意两点间的边的权重为0,然后使用长度为L的关联窗口,从请求序列中的第一个请求开始,以步长为1向前滑动,不断增加图中边的权重,以得到该加权无向图;
具体来说,对于请求序列中任意一个请求内容i,依次选择其后的连续L个请求内容,若当前选择的请求内容j与请求内容i不同,则i与j之间的边的权值加1,否则继续选择其后的请求内容直到选择到i后第L个请求内容。
3.如权利要求1所述的基于谱聚类的内容分发网络缓存方法,其特征在于,该步骤2中以该时间序列中用户请求的内容为节点,具体为根据该时间序列中用户请求的内容出现次数,选择该时间序列中的部分用户请求的内容作为该加权无向图中节点。
4.如权利要求1所述的基于谱聚类的内容分发网络缓存方法,其特征在于,该步骤3中将与该执行结果相关联的请求内容一同存入边缘服务器缓存,具体包括:
根据该观察窗口中用户请求的内容大小,生成准入阈值,判断与该执行结果相关联的请求内容大小是否大于该准入阈值,若是,则放弃将与该执行结果相关联的请求内容存入边缘服务器缓存,否则将与该执行结果相关联的请求内容存入边缘服务器缓存。
5.如权利要求1所述的基于谱聚类的内容分发网络缓存方法,其特征在于,通过如下公式为边缘服务器缓存中每一个请求访问的对象分配一个值K(g):
Figure FDA0003547090340000021
其中,L为老化因子,C(g)将对象g从边缘服务器磁盘或源服务器存入边缘服务器缓存的开销;F(g)是对象g的访问频率;S(g)是对象g的大小;当请求了对象g且对象g不在边缘服务器缓存中时,F(g)初始化为1;如果对象g在边缘服务器缓存中,则其频率增加1;L初始化为0,当边缘服务器缓存中有对象被替换的时候,用被替换的对象的值K(g)更新L;当再次访问对象g时,使用更新后的L更新对象g的键值K(g);当要在边缘服务器缓存中加入新的对象且缓存空间满时,将键值K(g)最低的对象从缓存中替换出并更新L。
6.一种基于谱聚类的内容分发网络缓存系统,其特征在于,包括:
模块1,使用观察窗口以时间顺序,采集内容分发网络中客户端向边缘服务器发出的用户请求,得到用户请求的时间序列;
模块2,用于以该时间序列中用户请求的内容为节点,该时间序列中用户请求的内容之间的时间顺序为边,将用户请求的时间序列转换为加权无向图,并利用谱聚类对该加权无向图进行聚类,以将具有关联性的请求内容聚类到一个簇中,得到用户请求之间的关联性;
模块3,用于判断待执行用户请求的请求对象是否位于边缘服务器缓存,若是,则从该边缘服务器缓存中读出该请求对象,作为该待执行用户请求的执行结果,否则,从边缘服务器磁盘或源服务器获取该请求对象,作为该待执行用户请求的执行结果,并将根据用户请求之间的关联性,将该执行结果存入边缘服务器缓存的同时,将与该执行结果属于同一聚类的请求内容也存入该边缘服务器缓存。
7.如权利要求6所述的基于谱聚类的内容分发网络缓存系统,其特征在于,该模块2包括:
设置一个大小为N的观察窗口,以截取用户请求内容中的N个连续的请求序列,对于该请求序列,将每个不同的内容分配给图中的一个节点,初始状态下任意两点间的边的权重为0,然后使用长度为L的关联窗口,从请求序列中的第一个请求开始,以步长为1向前滑动,不断增加图中边的权重,以得到该加权无向图;
具体来说,对于请求序列中任意一个请求内容i,依次选择其后的连续L个请求内容,若当前选择的请求内容j与请求内容i不同,则i与j之间的边的权值加1,否则继续选择其后的请求内容直到选择到i后第L个请求内容。
8.如权利要求6所述的基于谱聚类的内容分发网络缓存系统,其特征在于,该模块2中以该时间序列中用户请求的内容为节点,具体为根据该时间序列中用户请求的内容出现次数,选择该时间序列中的部分用户请求的内容作为该加权无向图中节点。
9.如权利要求6所述的基于谱聚类的内容分发网络缓存系统,其特征在于,该模块3中将与该执行结果相关联的请求内容一同存入边缘服务器缓存,具体包括:
根据该观察窗口中用户请求的内容大小,生成准入阈值,判断与该执行结果相关联的请求内容大小是否大于该准入阈值,若是,则放弃将与该执行结果相关联的请求内容存入边缘服务器缓存,否则将与该执行结果相关联的请求内容存入边缘服务器缓存。
10.如权利要求6所述的基于谱聚类的内容分发网络缓存系统,其特征在于,通过如下公式为边缘服务器缓存中每一个请求访问的对象分配一个值K(g):
Figure FDA0003547090340000031
其中,L为老化因子,C(g)将对象g从边缘服务器磁盘或源服务器存入边缘服务器缓存的开销;F(g)是对象g的访问频率;S(g)是对象g的大小;当请求了对象g且对象g不在边缘服务器缓存中时,F(g)初始化为1;如果对象g在边缘服务器缓存中,则其频率增加1;L初始化为0,当边缘服务器缓存中有对象被替换的时候,用被替换的对象的值K(g)更新L;当再次访问对象g时,使用更新后的L更新对象g的键值K(g);当要在边缘服务器缓存中加入新的对象且缓存空间满时,将键值K(g)最低的对象从缓存中替换出并更新L。
CN202110359576.7A 2021-04-02 2021-04-02 一种基于谱聚类的内容分发网络缓存方法及系统 Active CN113225380B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110359576.7A CN113225380B (zh) 2021-04-02 2021-04-02 一种基于谱聚类的内容分发网络缓存方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110359576.7A CN113225380B (zh) 2021-04-02 2021-04-02 一种基于谱聚类的内容分发网络缓存方法及系统

Publications (2)

Publication Number Publication Date
CN113225380A CN113225380A (zh) 2021-08-06
CN113225380B true CN113225380B (zh) 2022-06-28

Family

ID=77086482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110359576.7A Active CN113225380B (zh) 2021-04-02 2021-04-02 一种基于谱聚类的内容分发网络缓存方法及系统

Country Status (1)

Country Link
CN (1) CN113225380B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780889B (zh) * 2022-05-07 2024-06-25 重庆大学 一种基于模仿学习的缓存替换系统及方法
CN116069529B (zh) * 2023-03-16 2023-06-23 天翼云科技有限公司 一种动态缓存方法、装置、电子设备及计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109905480A (zh) * 2019-03-04 2019-06-18 陕西师范大学 基于内容中心性的概率缓存内容放置方法
CN110365801A (zh) * 2019-08-26 2019-10-22 陕西师范大学 信息中心网络中基于分区的协作缓存方法
US10560351B1 (en) * 2017-12-28 2020-02-11 Architecture Technology Corporation Network monitoring tool for supercomputers

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001870B (zh) * 2012-12-24 2015-10-07 中国科学院声学研究所 一种内容中心网络协同缓存方法及系统
US10673716B1 (en) * 2017-10-31 2020-06-02 Amazon Technologies, Inc. Graph-based generation of dependency-adherent execution plans for data center migrations
CN112399485A (zh) * 2020-10-30 2021-02-23 南通大学 一种6g中基于ccn的新节点价值和内容流行度缓存方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10560351B1 (en) * 2017-12-28 2020-02-11 Architecture Technology Corporation Network monitoring tool for supercomputers
CN109905480A (zh) * 2019-03-04 2019-06-18 陕西师范大学 基于内容中心性的概率缓存内容放置方法
CN110365801A (zh) * 2019-08-26 2019-10-22 陕西师范大学 信息中心网络中基于分区的协作缓存方法

Also Published As

Publication number Publication date
CN113225380A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
Zhong et al. A deep reinforcement learning-based framework for content caching
CN107909108B (zh) 基于内容流行度预测的边缘缓存系统及其方法
CN108446340B (zh) 一种面向海量小文件的用户热点数据访问预测方法
CN113225380B (zh) 一种基于谱聚类的内容分发网络缓存方法及系统
CN104253855B (zh) 一种面向内容中心网络中基于内容分类的类别流行度缓存替换方法
CN107171961B (zh) 基于内容流行度的缓存方法及其装置
CN111491331B (zh) 一种雾计算网络中基于迁移学习的网络感知自适应缓存方法
Yan et al. RL-Bélády: A unified learning framework for content caching
CN103905439A (zh) 一种基于家庭网关的加速网页浏览方法
CN111314862B (zh) 雾无线接入网中深度强化学习下带有推荐的缓存方法
CN117971503B (zh) 一种基于边缘计算的数据缓存方法及系统
CN115168411A (zh) 缓存装置、方法及系统
CN113687960A (zh) 一种基于深度强化学习的边缘计算智能缓存方法
CN107370807B (zh) 基于透明服务平台数据访问的服务端及其缓存优化方法
CN112862060A (zh) 一种基于深度学习的内容缓存方法
CN113271631A (zh) 基于用户请求可能性与时空特性的新型内容缓存部署方案
CN117499484A (zh) 一种基于深度强化学习的边缘缓存替换方法
CN116680276A (zh) 数据标签存储管理方法、装置、设备及存储介质
Baskaran et al. Improved performance by combining web pre-fetching using clustering with web caching based on SVM learning method
CN113268458A (zh) 一种基于代价敏感分类算法的缓存方法及系统
Tang et al. Towards Dynamic and Scalable Active Learning with Neural Architecture Adaption for Object Detection.
CN115051996A (zh) 一种多接入边缘计算下基于本地视频效用值的视频缓存管理方法
CN113381886A (zh) 雾无线接入网中基于贝叶斯学习的内容流行度预测方法
Tao et al. Content popularity prediction in fog-rans: A bayesian learning approach
He et al. CUBIST: High-quality 360-degree video streaming services via tile-based edge caching and FoV-adaptive prefetching

Legal Events

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