CN103607386A - 一种P2P Cache系统中的协作缓存方法 - Google Patents

一种P2P Cache系统中的协作缓存方法 Download PDF

Info

Publication number
CN103607386A
CN103607386A CN201310574809.0A CN201310574809A CN103607386A CN 103607386 A CN103607386 A CN 103607386A CN 201310574809 A CN201310574809 A CN 201310574809A CN 103607386 A CN103607386 A CN 103607386A
Authority
CN
China
Prior art keywords
file
cache
node
network domains
cache node
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
CN201310574809.0A
Other languages
English (en)
Other versions
CN103607386B (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 YUNCHUAN INFORMATION TECHNOLOGY Co Ltd
Original Assignee
NANJING YUNCHUAN INFORMATION TECHNOLOGY Co Ltd
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 YUNCHUAN INFORMATION TECHNOLOGY Co Ltd filed Critical NANJING YUNCHUAN INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310574809.0A priority Critical patent/CN103607386B/zh
Publication of CN103607386A publication Critical patent/CN103607386A/zh
Application granted granted Critical
Publication of CN103607386B publication Critical patent/CN103607386B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明公开了一种P2P Cache系统中的协作缓存方法,包括如下步骤:Q1、每个P2P缓存节点记录已缓存的文件,周期性的计算并存储已缓存文件在所在网络域中的全局价值V;Q2、网络域i中的P2P用户节点A请求文件h的步骤中,P2P用户节点A所请求的文件h在网络域i中不存在时,判断是否缓存文件h;Q3、计算文件h在网络域i中的全局价值Vi h并与P2P缓存节点Q中已缓存的文件的全局价值比较,如果文件h在P2P缓存节点Q中的全局价值Vih最小,则不进行缓存操作,否则,执行缓存替换操作。本发明提高系统缓存效率、节约系统资源、降低系统中全局开销。

Description

一种P2P Cache系统中的协作缓存方法
技术领域
本发明涉及一种P2P Cache系统中的协作缓存方法,具体涉及一种P2P Cache系统中全局开销最小的协作缓存方法,属于网络通信技术领域。 
背景技术
P2P应用具有传播内容速度快、可扩展性强等特点,自出现之后就受到了广泛的欢迎,并占据了互联网分发领域很大的比重。然而,由于P2P技术中逻辑网络和物理网络的失配,P2P用户经常会从网络距离很远的节点处获取数据,产生了大量的跨域流量,不但给骨干网带来巨大的压力,同时增加了运营商的运营成本。针对P2P网络所存在的问题,运营商采取了一系列的措施,来应对P2P流量的爆炸式增长。在初期阶段,主要采用激进的流量拦截技术,封杀网络中的P2P流量。随着P2P应用的快速发展,为了吸引用户,运营商改变了策略,采取了一些对用户友好的P2P流量优化方案,这类方案在不影响用户P2P应用体验的情况下,通过缓存(Cache)技术或节点选择技术,将用户产生的P2P流量限制在本地网络,从而减少了骨干网的压力,并提高了用户下载文件的速度。 
P2P Cache技术的核心思想是“一次获取,多次服务”。P2P Cache系统通过缓存服务器把用户请求的内容缓存在本地,当其它用户请求相同的内容时,可以直接从本地缓存服务器下载内容,而不需要从网络距离较远的对等节点处下载数据,从而减少了骨干网中的流量。P2P Cache系统在现网中得到了广泛使用。 
P2P Cache系统又分为单独缓存和协作缓存两种。单独缓存针对单个域(可以是一个城域网或省域网等区域网络)进行部署,采用独立的方式运行,部署在各个域的缓存节点与其它域之间没有联系,不能为其它域的用户提供服务。单个缓存节点的缓存能力有限,各域的缓存节点仅能存储少量的内容,很多用户仍然需要从外网下载所需要的文件。协作缓存指各个域所部署的缓存节点可以互相协作,共享所缓存的资源并为全局所有用户提供服务,可以提高整个缓 存系统的效率。 
在协作P2P Cache技术的研究中,需要解决的一个关键的问题是如何合理地调度和管理P2P Cache系统中的缓存资源,这依赖于缓存系统所采用的协作缓存策略。协作缓存系统根据缓存策略决定在各个P2P Cache节点缓存哪些文件,并选择缓存节点为用户服务。 
当前的协作缓存策略都不考虑缓存节点存储数据的存储开销,只是简单地根据系统传输开销来决定要缓存或替换的文件,在设计协作缓存替换算法时,没有同时考虑文件流行度、文件大小、数据传输开销和数据缓存开销对协作缓存系统总开销的影响,因此,降低了系统缓存的效率,浪费系统资源。 
发明内容
本发明所要解决的技术问题是,克服现有技术的缺点,提供一种提高系统缓存效率、节约系统资源、降低系统中全局开销的P2P Cache系统中的协作缓存方法。 
为了解决以上技术问题,本发明提供一种P2P Cache系统中的协作缓存方法,包括至少一个P2P Cache系统,所有P2P Cache系统两两之间通过网间链路双向通信;所述P2P Cache系统中包括至少二个网络域,所有网络域两两之间通过网内链路双向通信;每个网络域中包括至少一个P2P用户节点和一个P2P缓存节点,所述P2P缓存节点部署在所述网络域的网关出口处,所述P2P用户节点与所述P2P缓存节点双向通信,协作缓存方法包括网络域i中的P2P用户节点A请求文件h的步骤,还包括如下步骤: 
Q1、每个P2P缓存节点记录已缓存的文件,周期性的计算并存储已缓存文件在所在网络域中的全局价值V; 
Q2、网络域i中的P2P用户节点A请求文件h的步骤中,P2P用户节点A所请求的文件h在网络域i中不存在时,判断是否缓存文件h,方法为:如果网络域i中的P2P缓存节点Q的剩余存储空间大于等于文件h的大小,则P2P缓存节点Q直接存储文件h,否则执行步骤Q3; 
Q3、计算文件h在网络域i中的全局价值Vi h并与P2P缓存节点Q中已缓存的文件的全局价值比较,如果文件h在P2P缓存节点Q中的全局价值Vi h最小,则不进行缓存操作,否则,执行缓存替换操作。 
本发明技术方案的进一步限定为,步骤Q1和步骤Q3中计算文件h在网络域i中的全局价值的方法分为如下两种情况: 
①如果文件h在网络域i中存在,则文件h在网络域i中的全局价值为:  V i h = F i h min ( c i , j ) + Σ k ∈ A { \ A h } F k h [ min ( c k , j ) - min ( c k , q ) ] - c s * S h , 其中j∈Ah,q∈{Ah∪i}; 
②如果文件h在网络域i中不存在,则文件h在网络域i中的全局价值为: 
V i k = F i k c e + Σ j ∈ A { \ j } F j k ( c e - c i , j ) - c s * S k ;
上述两个公式中,Fi h为网络域i中的P2P用户节点在一个周期内对文件h的请求次数;ci,j为网络域i和网络域j之间传输数据的单位链路开销;ck,j为网络域k和网络域j之间传输数据的单位链路开销;A为所有网络域组成的集合;Ah为网络域i中已存储文件h的的P2P缓存节点的集合;cs为一个周期内P2P缓存节点存储数据的单位缓存开销;Sh为文件h的大小;ce为P2P Cache系统与其他P2P Cache系统之间的链路上传输数据的单位链路开销。 
进一步地,所述网络域i和网络域j之间传输数据的单位链路开销ci,j由P2P缓存节点周期性的统计,统计方法为: 
①P2P Cache系统中所有的网络域的P2P缓存节点都没有存储文件h:∑i∈AFi h*Sh,其中,Fi h为网络域i中的P2P用户节点在一个周期内对文件h的请求次数;Sh为文件h的大小; 
②P2P Cache系统中部分网络域的P2P缓存节点存储了文件h:  Σ i ∈ A { \ A h } , j ∈ A h F i h * S h * min ( c i , j ) + card ( A h ) * c s * S h , 其中,Fi h为网络域i中的P2P用户节点在一个周期内对文件h的请求次数;Sh为文件h的大小;cs为一个周期内P2P缓存节点存储数据的单位缓存开销;Ah为网络域i中已存储文件h的的P2P缓存节点的集合;card(Ah)表示集合Ah中元素的个数; 
③P2P Cache系统中所有网络域的P2P缓存节点都存储了文件h:card(A)*cs*Sh,其中,Sh为文件h的大小;cs为一个周期内P2P缓存节点存储数据的单位缓存开销。 
进一步地,所述网络域i中的P2P用户节点在一个周期内对文件h的请求次数Fi h由P2P缓存节点在预设周期内对文件h被请求次数进行统计得到。 
进一步地,所述一个周期内P2P缓存节点存储数据的单位缓存开销=单位耗电开销+单位缓存节点折旧开销+单位场地租赁开销,所述单位耗电开销、单位缓存节点折旧开销和单位场地租赁开销为P2P缓存节点设备的固定参数。 
进一步地,步骤Q3中,执行缓存替换操作时,缓存替换的粒度为分片或文件。 
进一步地,步骤Q3中,执行缓存替换操作时,缓存替换的粒度为分片,执行缓存替换操作的方法为:P2P缓存节点将已缓存的文件按照全局价值由小到大排序h1、h2、h3……,比较文件h文件h1的大小,如果文件h的尺寸不大于文件h1,P2P缓存节点删除文件h1的部分或全部分片,缓存文件h;否则,比较文件h和文件h1+h2的大小,如果文件h的尺寸不大于文件h1+h2的尺寸,P2P缓存节点删除文件h1的所有分片和文件h2的部分或全部分片,缓存文件h,以此类推,直到所有已缓存的文件的全局价值都比文件h的全局价值大或文件h的所有分片都被存储在缓存节点中。 
进一步地,当时删除已缓存文件的部分分片时,采取随机方式进行删除。 
进一步地,步骤Q1中,P2P缓存节点采用基于DHT的全局信息共享系统共享记录的已缓存的文件及其全局价值V。 
进一步地,所述网络域i中的P2P用户节点A请求文件h的步骤如下: 
S1、P2P用户节点A发送P2P请求到达所在网络域i的P2P缓存节点Q,所述P2P缓存节点Q对此P2P请求解析得到P2P用户节点A所请求的文件h,如果P2P用户节点A所请求的文件h在P2P缓存节点Q中不存在,则执行步骤S2; 
S2、所述P2P缓存节点Q查询文件h在其他网络域中是否存在,如果不存在,执行步骤S3,如果存在,所述P2P缓存节点Q通过查询路由表,将用户请求转发至用户网络距离最近的已经缓存了文件h的P2P缓存节点W,P2P缓存节点W传送文件h至P2P用户节点A; 
S3、所述P2P缓存节点Q查询文件h在其他P2P Cache系统是否存在,如果存在,所述P2P缓存节点Q通过查询路由表,将用户请求转发至用户网络距离最近的已经缓存了文件h的P2P缓存节点G,P2P缓存节点G传送文件h至P2P用户节点A。 
本发明的有益效果是:本发明提供的一种P2P Cache系统中的协作缓存方法,通过综合考虑缓存开销、传输开销,将内容放置在使系统总开销最小的缓存节点,并在缓存替换时,替换掉全局价值最小的内容,降低运营商部署P2P Cache协作缓存系统的的总开销,保证各缓存节点所维护的已缓存的文件的全局价值可以实时地反映出系统缓存该文件为运营商带来的收益,提高系统缓存效率、节约系统资源。 
附图说明
图1为本发明的一种P2P Cache系统中的协作缓存方法的流程图; 
图2为本发明的P2P Cache系统网络的拓扑图; 
图3为实施例1中域间单位链路代价变化时所提策略的效果曲线图; 
图4为实施例1中域间单位链路代价变化时单位存储开销的曲线图。 
具体实施方式
实施例1 
本实施例提供的一种P2P Cache系统中的协作缓存方法,应用于P2P Cache系统网络中,P2P Cache系统网络的拓扑图如图2所示,包括至少一个P2P Cache系统,所有P2P Cache系统两两之间通过网间链路3双向通信;所述P2P Cache系统中包括至少二个网络域,所有网络域两两之间通过网内链路4双向通信。每个网络域中包括至少一个P2P用户节点1和一个P2P缓存节点2,所述P2P缓存节点2部署在所述网络域的网关出口处,所述P2P用户节点1与所述P2P缓存节点2双向通信。本实施例中,P2P Cache系统是由部署在运营商各个网络域中的P2P缓存节点组成,在某运营商的网络中有多个网络域,每个网络域代表一个自治的网络,可以是一个城域网或省网。各网络域的网关出口都部署了P2P缓存节点,这些P2P缓存节点组成一套全局协作缓存系统,协作存储文件并为来自各域的用户提供服务。 
在该结构下,采用本发明策略是,各网络域的P2P缓存节点2拦截本网络域的P2P用户节点1的P2P请求,并引导P2P用户节点1从网络距离最近的数据源下载文件,P2P Cache系统中网络域i中的P2P用户节点A请求文件h的流程图如图1所示,具体步骤包括: 
S1、P2P用户节点A发送P2P请求到达所在网络域i的P2P缓存节点Q,所述P2P缓存节点Q对此P2P请求解析得到P2P用户节点A所请求的文件h,如果P2P用户节点A所请求的文件h在P2P缓存节点Q中不存在,则执行步骤S2;如果P2P用户节点A所请求的文件h在P2P缓存节点Q中存在,该P2P缓存节点Q直接将文件h返回给P2P用户节点A。 
S2、所述P2P缓存节点Q查询文件h在其他网络域中是否存在,如果不存在,执行步骤S3,如果存在,所述P2P缓存节点Q通过查询路由表,将用户请 求转发至用户网络距离最近的已经缓存了文件h的P2P缓存节点W,P2P缓存节点W传送文件h至P2P用户节点A。网络距离即为在路由表中,两个节点的跳数最少。 
S3、所述P2P缓存节点Q查询文件h在其他P2P Cache系统是否存在,如果存在,所述P2P缓存节点Q通过查询路由表,将用户请求转发至用户网络距离最近的已经缓存了文件h的P2P缓存节点G,P2P缓存节点G传送文件h至P2P用户节点A。网络距离即为在路由表中,两个节点的跳数最少。 
当用户所请求的文件h在本网络域的P2P缓存节点2不存在时,本网络域的P2P缓存节点2将计算缓存该文件h的全局价值,并决定是否缓存该文件。这里提到的文件的全局价值是用来衡量在本域的缓存节点存储该文件可以为运营商节省的系统开销,具体的计算方法按如下步骤进行: 
Q1、每个P2P缓存节点记录已缓存的文件,周期性的计算并存储已缓存文件在所在网络域中的全局价值V。 
本发明同时考虑请求文件在各域的流行程度、文件大小、不同域间传输数据的链路开销以及缓存节点缓存数据的存储开销,计算P2P Cache系统为全局请求某个文件的所有用户服务所产生的总开销,并在此基础上计算系统缓存该文件带来的全局价值。 
本发明后续讨论中用到的符号对照表如下表所示。 
表1.符合对照表 
A 所有域所组成的集合
Ah 本地缓存节点已存储文件h的域的集合
A{\Ah} 本地缓存节点没有存储文件h的域的集合
Fi h 域i的用户在一个周期内对文件h的请求次数
[0048] 
cl 域内传输数据的单位链路开销
ci,j i域和j域之间传输数据的单位链路开销
Sh 文件h的大小
cs 一个周期内缓存服务器存储数据的单位缓存开销
文件h在网络域i的全局价值(表示为Vi h)是指网络域i的缓存节点存储文件h的一个字节在单位时间内可以为运营商节省的开销。这里网络域i的P2P缓存节点2存储文件h为运营商节省的开销是相对于网络域i的P2P缓存节点2不存储文件h时,协作缓存系统为全局请求文件h的用户服务所产生的开销来讲的。假设网络域i的P2P缓存节点2不存储文件h时,协作缓存系统为全局单位时间内请求文件h的用户服务所产生的开销为C0;而如果网络域i的P2P缓存节点2缓存了文件h,协作缓存系统为全局单位时间内请求文件h的P2P用户节点1服务所产生的开销为C1,那么在网络域i缓存文件h的全局价值可以表示为(C0-C1)/Sh。结合上面讨论的协作缓存系统为全局请求文件h的用户服务所产生的开销,文件h在网络域i的全局价值可以分为如下两种情况: 
①如果文件h在网络域i中存在,则文件h在网络域i中的全局价值为:  V i h = F i h min ( c i , j ) + Σ k ∈ A { \ A h } F k h [ min ( c k , j ) - min ( c k , q ) ] - c s * S h , 其中j∈Ah,q∈{Ah∪i}。Fi hmin(ci,j)表示网络域i的P2P用户节点1可以从本域直接获取文件h而不需要去外网下载该文件所节省的开销;
Figure BDA0000415480730000082
表示其它网络域的P2P用户节点可以从网络域i获取文件h而不需要从外网下载该文件所节省的开销;cs*Sh表示网络域i存储文件h所需的存储开销。 
②如果文件h在网络域i中不存在,则文件h在网络域i中的全局价值为: 
V i k = F i k c e + Σ j ∈ A { \ j } F j k ( c e - c i , j ) - c s * S k . Fi hce表示网络域i的P2P用 户节点可以从本域直接获取文件h而不需要去外域下载文件h所节省的开销; 
Figure BDA0000415480730000091
表示其它域的用户可以就近从网络域i获取文件h而不需要再去网络距离更远的其它域获取文件所节省的开销;cs*Sh表示网络域i存储文件h所需的存储开销。 
上述两个公式中,Fi h为网络域i中的P2P用户节点在一个周期内对文件h的请求次数;ci,j为网络域i和网络域j之间传输数据的单位链路开销;ck,j为网络域k和网络域j之间传输数据的单位链路开销;A为所有网络域组成的集合;Ah为网络域i中已存储文件h的的P2P缓存节点的集合;cs为一个周期内P2P缓存节点存储数据的单位缓存开销;Sh为文件h的大小;ce为P2P Cache系统与其他P2P Cache系统之间的链路上传输数据的单位链路开销。 
从上面两个公式可以看出,文件h在某个域的全局价值和以下几个参数的值有关:系统中不同网络域间传输数据的单位链路开销,文件h在各网络域的P2P缓存节点的存储情况,各网络域的用户对文件h的请求频率以及文件h在P2P Cache系统中的单位存储开销。和该网络域有关的参数(如该网络域和其它网络域之间传输数据的单位链路开销,单位存储开销以及该域的P2P用户节点对文件h的请求频率)的值可以由该网络域的P2P缓存节点直接测量得到,而那些和该网络域无关的参数的值需要由其它网络域的P2P缓存节点进行测量。因此,各网络域的P2P缓存节点在计算文件的全局价值时,需要共享其它域的缓存节点所测量的信息。为了方便不同域之间进行信息共享,可以采用基于DHT的全局信息共享系统。尽管各缓存节点之间共享信息会产生一些额外的开销。同时,P2P缓存节点采用基于DHT的全局信息共享系统共享记录的已缓存的文件及其全局价值V。但是,由于P2P Cache系统中文件的尺寸一般比较大,相对于传输文件所产生的流量,P2P缓存节点之间信息交换所产生的开销基本可以忽略。 
各网络域的P2P缓存节点采用下述方式测量与该网络域有关的计算文件全 局价值的参数的值,并上报到全局信息共享平台,以便与其它域的缓存节点共享这些信息。 
(1)首先讨论如何测量某个网络域与其它网络域之间传输数据的单位链路开销。一般情况下,该参数和网络状况有关,通常波动不会很大,P2P缓存节点可以周期性地统计该参数的值。本实施例中,在协作P2P Cache系统中,P2P用户节点可能从三类数据源获取所请求的文件:本网络域的P2P缓存节点、邻网络域的P2P缓存节点或分布在互联网中的P2P缓存节点。本发明采用单位链路开销来衡量用户从不同数据源获取文件所产生的传输开销,单位链路传输开销是指在网络中的某条链路上传输一个字节的数据所耗费的开销。把在网络域内链路上传输数据的单位链路开销记为cl,把在网络域i和网络域j之间的链路上传输文件的单位链路开销记为ci,j,把在本运营商的网络和其它运营商的网络之间的链路上传输数据的单位链路开销记为ce。通常情况下,这三类链路上传输文件的单位链路开销的关系为ce>ci,j>cl,用户从其它运营商的网络中获取数据的单位链路开销要大于从本域或邻域的缓存节点获取数据的单位链路开销。为了方便讨论,将这三类链路开销进行简化:设ce=1,0<ci,j<1,cl=0。除了传输开销,还需要考虑缓存节点缓存数据所需的开销,本发明中用单位缓存开销cc表示单位时间内缓存节点存储单位数据的开销。 
根据在不同链路上传输数据的链路开销和缓存节点存储数据的缓存开销,结合用户对文件的访问情况,可以计算出在一个周期内协作缓存系统为全局请求某个文件的所有用户服务所产生的总开销。它主要和以下因素有关:(1)各域的用户在一个周期内对该文件的请求次数,即该文件的被请求频率,这反映了该文件在各域的流行程度;(2)该文件在全局中各缓存节点的存储情况;(3)不同链路上传输数据的单位链路开销;(4)网络缓存设备存储该文件的缓存开销;(5)该文件的大小。协作缓存系统可以通过调整文件在各域缓存节点的存储情况来减小为全局用户服务所产生的总开销。 
本实施例中,所述网络域i和网络域j之间传输数据的单位链路开销ci,j由 P2P缓存节点周期性的统计,统计方法为: 
①P2P Cache系统中所有的网络域的P2P缓存节点都没有存储文件h:∑i∈AFi h*Sh,其中,Fi h为网络域i中的P2P用户节点在一个周期内对文件h的请求次数;Sh为文件h的大小。在这种情况下,各网络域中请求文件h的P2P用户节点都需要从互联网中其它P2PCache系统处下载文件h。 
②P2P Cache系统中部分网络域的P2P缓存节点存储了文件h:  &Sigma; i &Element; A { \ A h } , j &Element; A h F i h * S h * min ( c i , j ) + card ( A h ) * c s * S h , 其中,Fi h为网络域i中的P2P用户节点在一个周期内对文件h的请求次数;Sh为文件h的大小;cs为一个周期内P2P缓存节点存储数据的单位缓存开销;Ah为网络域i中已存储文件h的的P2P缓存节点的集合。在这种情况下,已缓存文件h的网络域的用户可以直接从本网络域的P2P缓存节点下载文件h,而没有缓存文件h的网络域的P2P用户节点可以选择从与其网络距离最近且已缓存了文件h的P2P缓存节点下载文件h;card(Ah)表示集合Ah中元素的个数。 
③P2P Cache系统中所有网络域的P2P缓存节点都存储了文件h:card(A)*cs*Sh,其中,Sh为文件h的大小;cs为一个周期内P2P缓存节点存储数据的单位缓存开销。在这种情况下,各网络域的P2P用户节点都可以从本网络域的P2P缓存节点下载文件h。 
(2)其次讨论如何测量文件在各网络域的缓存节点的存储情况。当某个网络域的P2P缓存节点需要测量本网络域是否缓存了某个文件时,只需要查询已缓存文件的记录即可得到该信息。因此,为了获得文件在各域的缓存节点的存储情况,每个缓存节点可以维护一份本网络域已缓存的文件的记录,同时与其它域的缓存节点共享这些信息即可。 
(3)再次讨论如何测量某个网络域的P2P用户节点对文件的请求频率。所述网络域i中的P2P用户节点在一个周期内对文件h的请求次数Fi h由P2P缓存节点在预设周期内对文件h被请求次数进行统计得到。由于P2P缓存节点存储文件的目的是为以后请求该文件的P2P用户节点服务,因此这里文件的被请求频率是用来反映文件在未来一段时间的流行程度。然而,由于P2P用户节点在未来对文件的请求情况是未知的,只能通过分析过去一段时间内P2P用户节点对文件的请求情况来预测。考虑到P2P用户节点对文件的请求频率在短时间内不会发生较大变化,所提策略采用本网络域的P2P用户节点在最近时间T内对文件的平均请求频率作为本网络域的P2P用户节点对该文件的请求频率,这类似于静态缓存中测量文件流行度所用的方法。值得一提的是,由于P2P用户节点对文件的请求频率会随时间变化,因此选择一个合适的时间段T对预测用户对文件的请求频率至关重要。如果T值选取过小,P2P用户节点在局部时间段内对文件的请求会对测量结果产生较大的影响,导致得到的请求频率不准确。如果T值选取过大,测量结果会受较老的P2P用户节点访问记录影响,导致所求的请求频率不能实时反映出P2P用户节点对文件请求情况的变化。 
(4)最后讨论缓存节点单位时间内缓存单位数据的存储开销。所述一个周期内P2P缓存节点存储数据的单位缓存开销=单位耗电开销+单位缓存节点折旧开销+单位场地租赁开销,所述单位耗电开销、单位缓存节点折旧开销和单位场地租赁开销为P2P缓存节点设备的固定参数。该参数可以根据缓存设备的相关参数来获得,如果缓存设备不统一,可以与其它域的缓存节点共享该参数信息即可。 
Q2、网络域i中的P2P用户节点A请求文件h的步骤中,P2P用户节点A所请求的文件h在网络域i中不存在时,判断是否缓存文件h,方法为:如果网络 域i中的P2P缓存节点Q的剩余存储空间大于等于文件h的大小,则P2P缓存节点Q直接存储文件h,否则执行步骤Q3。 
当某个域的用户所请求的文件在本域的缓存节点中未命中时,该缓存节点将根据文件的全局价值决定是否存储该文件,以及替换哪些已经缓存的文件。 
在P2P Cache系统中,由于P2P用户节点是以分片为粒度下载文件的,因此P2P缓存节点在执行缓存替换时,既可以选择以文件为粒度替换整个文件,也可以选择以分片为粒度只替换文件的一部分。由于以分片为粒度进行缓存替换可以更充分地利用缓存节点的存储空间,本实施例采用以分片为粒度执行缓存替换,基本思想是用全局价值较大的文件替换缓存节点中全局价值较小的文件。 
Q3、计算文件h在网络域i中的全局价值Vi h并与P2P缓存节点Q中已缓存的文件的全局价值比较,如果文件h在P2P缓存节点Q中的全局价值Vi h最小,则不进行缓存操作,否则,执行缓存替换操作。执行缓存替换操作时,缓存替换的粒度为分片或文件。 
执行缓存替换操作时,缓存替换的粒度为分片,执行缓存替换操作的方法为:P2P缓存节点将已缓存的文件按照全局价值由小到大排序h1、h2、h3……,比较文件h文件h1的大小,如果文件h的尺寸不大于文件h1,P2P缓存节点删除文件h1的部分或全部分片,缓存文件h;否则,比较文件h和文件h1+h2的大小,如果文件h的尺寸不大于文件h1+h2的尺寸,P2P缓存节点删除文件h1的所有分片和文件h2的部分或全部分片,缓存文件h,以此类推,直到所有已缓存的文件的全局价值都比文件h的全局价值大或文件h的所有分片都被存储在缓存节点中。 
由于在P2P Cache系统中,用户对文件的请求可以从任意一个分片开始,因此同一个文件的各个分片的全局价值是相等的,采取随机方式存储或删除同一个文件的分片。具体的实现代码为: 
Figure BDA0000415480730000141
本发明策略的基本思想包括:(1)采用传输开销和存储开销来衡量文件的全局价值,判断是否值得缓存;(2)开销缓存节点需要缓存新文件时,如果剩余缓存空间不足,将优先替换本缓存节点中全局价值最小的文件。由于决定文件全局价值的几个参数的值会随时间发生变化,在本发明所提策略中,各缓存节点将周期地重新计算已缓存的文件的全局价值。通过这种方式,保证各缓存节点所维护的已缓存的文件的全局价值可以实时地反映出系统缓存该文件为运营商带来的收益。 
为验证本专利提出方法的有效性,本实施例通过仿真来衡量协作P2P Cache系统中所提缓存策略所取得的缓存总收益率。通过合成的用户访问记录,可以设置参与协作的网络域的数量,以及调整文件在P2P用户节点间的流行程度来模拟多个缓存系统的工作场景。 
基于OMNET++,开发并搭建了如图2所示的协作缓存系统。仿真过程中,对协作缓存系统进行了如下设置:(1)假设P2P Cache网络中共享的文件总数目为5000个,各文件的大小相同。(2)假设每个网络域的网关出口都部署了P2P缓存节点,各P2P缓存节点的存储空间容量相同,最多可以缓存所在的网络域中用户请求的所有文件总大小的20%,采用该比例设置P2P缓存节点的容量可以较好 地平衡缓存系统所取得的收益和部署缓存节点的开销。(3)假设任意两个网络域之间传输数据的单位链路开销相等且在仿真过程中保持不变。(4)假设各域的P2P用户节点对同一文件的请求频率相同。需要说明的是,P2P用户节点对文件的请求频率反映了该文件的流行程度,二者之间的关系可以用MZip-f(α,q)分布描述。各网络域的P2P缓存节点采用本网络域的用户在最近24小时内对某个文件的平均请求频率作为本网络域的用户对该文件的请求频率,并每隔24小时重新统计一次已缓存的文件的全局价值。 
缓存系统所取得的总收益率主要和以下因素有关:参与协作的域的数量,域间传输数据的单位链路开销,以及用户对文件的请求频率的分布。在仿真实验中,分别调整这些参数,来衡量不同的缓存策略所取得的效果。默认情况下,置参与协作的域的数量为8,各域的用户对文件的请求频率服从MZip-f(0.8,20)分布。 
首先,将单位存储开销设为0.005,域间传输数据的单位链路开销从0增大到1,得到如图3所示的系统收益结果。如图3所示,考虑存储开销的协作机制比未考虑存储开销的协作缓存具有更高的系统收益率,且随着域间单位链路开销的增大,考虑存储开销前后的收益率差距越来越小。 
然后,域间传输数据的单位链路开销设为0.5,单位存储开销从0增大到0.01,得到如图4所示的系统总开销结果。如图4所示,考虑存储开销的协作机制比未考虑存储开销的协作缓存具有更小的系统总开销,且随着单位存储开销的增大,考虑存储开销前后的系统总开销差距越来越大。 
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。 

Claims (10)

1.一种P2P Cache系统中的协作缓存方法,包括至少一个P2P Cache系统,所有P2P Cache系统两两之间通过网间链路双向通信;所述P2P Cache系统中包括至少二个网络域,所有网络域两两之间通过网内链路双向通信;每个网络域中包括至少一个P2P用户节点和一个P2P缓存节点,所述P2P缓存节点部署在所述网络域的网关出口处,所述P2P用户节点与所述P2P缓存节点双向通信,协作缓存方法包括网络域i中的P2P用户节点A请求文件h的步骤,其特征在于,还包括如下步骤:
Q1、每个P2P缓存节点记录已缓存的文件,周期性的计算并存储已缓存文件在所在网络域中的全局价值V;
Q2、网络域i中的P2P用户节点A请求文件h的步骤中,P2P用户节点A所请求的文件h在网络域i中不存在时,判断是否缓存文件h,方法为:如果网络域i中的P2P缓存节点Q的剩余存储空间大于等于文件h的大小,则P2P缓存节点Q直接存储文件h,否则执行步骤Q3;
Q3、计算文件h在网络域i中的全局价值Vi h并与P2P缓存节点Q中已缓存的文件的全局价值比较,如果文件h在P2P缓存节点Q中的全局价值Vi h最小,则不进行缓存操作,否则,执行缓存替换操作。
2.根据权利要求1所述的一种P2P Cache系统中的协作缓存方法,其特征在于,步骤Q1和步骤Q3中计算文件h在网络域i中的全局价值的方法分为如下两种情况:
①如果文件h在网络域i中存在,则文件h在网络域i中的全局价值为: V i h = F i h min ( c i , j ) + &Sigma; k &Element; A { \ A h } F k h [ min ( c k , j ) - min ( c k , q ) ] - c s * S h , 其中j∈Ah,q∈{Ah∪i};
②如果文件h在网络域i中不存在,则文件h在网络域i中的全局价值为:
V i k = F i k c e + &Sigma; j &Element; A { \ j } F j k ( c e - c i , j ) - c s * S k ;
上述两个公式中,Fi h为网络域i中的P2P用户节点在一个周期内对文件h的请求次数;ci,j为网络域i和网络域j之间传输数据的单位链路开销;ck,j为网络域k和网络域j之间传输数据的单位链路开销;A为所有网络域组成的集合;Ah为网络域i中已存储文件h的的P2P缓存节点的集合;cs为一个周期内P2P缓存节点存储数据的单位缓存开销;Sh为文件h的大小;ce为P2P Cache系统与其他P2P Cache系统之间的链路上传输数据的单位链路开销。
3.根据权利要求2所述的一种P2P Cache系统中的协作缓存方法,其特征在于,所述网络域i和网络域j之间传输数据的单位链路开销ci,j由P2P缓存节点周期性的统计,统计方法为:
①P2P Cache系统中所有的网络域的P2P缓存节点都没有存储文件h:∑i∈AFi h*Sh,其中,Fi h为网络域i中的P2P用户节点在一个周期内对文件h的请求次数;Sh为文件h的大小;
②P2P Cache系统中部分网络域的P2P缓存节点存储了文件h: &Sigma; i &Element; A { \ A h } , j &Element; A h F i h * S h * min ( c i , j ) + card ( A h ) * c s * S h , 其中,Fi h为网络域i中的P2P用户节点在一个周期内对文件h的请求次数;Sh为文件h的大小;cs为一个周期内P2P缓存节点存储数据的单位缓存开销;Ah为网络域i中已存储文件h的的P2P缓存节点的集合;card(Ah)表示集合Ah中元素的个数。
③P2P Cache系统中所有网络域的P2P缓存节点都存储了文件h:card(A)*cs*Sh,其中,Sh为文件h的大小;cs为一个周期内P2P缓存节点存储数据的单位缓存开销。
4.根据权利要求2所述的一种P2P Cache系统中的协作缓存方法,其特征在于,所述网络域i中的P2P用户节点在一个周期内对文件h的请求次数Fi h由P2P缓存节点在预设周期内对文件h被请求次数进行统计得到。
5.根据权利要求2所述的一种P2P Cache系统中的协作缓存方法,其特征在于,所述一个周期内P2P缓存节点存储数据的单位缓存开销=单位耗电开销+单位缓存节点折旧开销+单位场地租赁开销,所述单位耗电开销、单位缓存节点折旧开销和单位场地租赁开销为P2P缓存节点设备的固定参数。
6.根据权利要求1所述的一种P2P Cache系统中的协作缓存方法,其特征在于,步骤Q3中,执行缓存替换操作时,缓存替换的粒度为分片或文件。
7.根据权利要求6所述的一种P2P Cache系统中的协作缓存方法,其特征在于,步骤Q3中,执行缓存替换操作时,缓存替换的粒度为分片,执行缓存替换操作的方法为:P2P缓存节点将已缓存的文件按照全局价值由小到大排序h1、h2、h3……,比较文件h文件h1的大小,如果文件h的尺寸不大于文件h1,P2P缓存节点删除文件h1的部分或全部分片,缓存文件h;否则,比较文件h和文件h1+h2的大小,如果文件h的尺寸不大于文件h1+h2的尺寸,P2P缓存节点删除文件h1的所有分片和文件h2的部分或全部分片,缓存文件h,以此类推,直到所有已缓存的文件的全局价值都比文件h的全局价值大或文件h的所有分片都被存储在缓存节点中。
8.根据权利要求7所述的一种P2P Cache系统中的协作缓存方法,其特征在于,当时删除已缓存文件的部分分片时,采取随机方式进行删除。
9.根据权利要求1所述的一种P2P Cache系统中的协作缓存方法,其特征在于,步骤Q1中,P2P缓存节点采用基于DHT的全局信息共享系统共享记录的已缓存的文件及其全局价值V。
10.根据权利要求1所述的一种P2P Cache系统中的协作缓存方法,其特征在于,所述网络域i中的P2P用户节点A请求文件h的步骤如下:
S1、P2P用户节点A发送P2P请求到达所在网络域i的P2P缓存节点Q,所述P2P缓存节点Q对此P2P请求解析得到P2P用户节点A所请求的文件h,如果P2P用户节点A所请求的文件h在P2P缓存节点Q中不存在,则执行步骤S2;
S2、所述P2P缓存节点Q查询文件h在其他网络域中是否存在,如果不存在,执行步骤S3,如果存在,所述P2P缓存节点Q通过查询路由表,将用户请求转发至用户网络距离最近的已经缓存了文件h的P2P缓存节点W,P2P缓存节点W传送文件h至P2P用户节点A;
S3、所述P2P缓存节点Q查询文件h在其他P2P Cache系统是否存在,如果存在,所述P2P缓存节点Q通过查询路由表,将用户请求转发至用户网络距离最近的已经缓存了文件h的P2P缓存节点G,P2P缓存节点G传送文件h至P2P用户节点A。
CN201310574809.0A 2013-11-15 2013-11-15 一种P2P Cache系统中的协作缓存方法 Expired - Fee Related CN103607386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310574809.0A CN103607386B (zh) 2013-11-15 2013-11-15 一种P2P Cache系统中的协作缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310574809.0A CN103607386B (zh) 2013-11-15 2013-11-15 一种P2P Cache系统中的协作缓存方法

Publications (2)

Publication Number Publication Date
CN103607386A true CN103607386A (zh) 2014-02-26
CN103607386B CN103607386B (zh) 2017-11-10

Family

ID=50125586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310574809.0A Expired - Fee Related CN103607386B (zh) 2013-11-15 2013-11-15 一种P2P Cache系统中的协作缓存方法

Country Status (1)

Country Link
CN (1) CN103607386B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905538A (zh) * 2014-03-22 2014-07-02 哈尔滨工程大学 内容中心网络中邻居协作缓存替换方法
CN105357281A (zh) * 2015-10-19 2016-02-24 中国科学院信息工程研究所 一种移动接入网分布式内容缓存访问控制方法及系统
CN105471952A (zh) * 2014-09-10 2016-04-06 中国移动通信集团公司 一种基于全局价值的缓存方法和缓存服务器
CN105657054A (zh) * 2016-03-04 2016-06-08 重庆大学 一种基于k均值算法的内容中心网络缓存方法
CN106612315A (zh) * 2015-10-27 2017-05-03 腾讯科技(北京)有限公司 文件置换方法及装置
CN109408109A (zh) * 2018-10-23 2019-03-01 金蝶软件(中国)有限公司 一种软件配置方法及系统
CN113992653B (zh) * 2021-10-19 2023-09-15 西安邮电大学 一种基于边缘缓存的cdn-p2p网络的内容下载、预存和替换方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860550A (zh) * 2010-06-25 2010-10-13 复旦大学 一种基于路由器缓存的流媒体系统加速方法
CN102511043A (zh) * 2011-11-26 2012-06-20 华为技术有限公司 缓存文件替换方法、装置及系统
CN102546716A (zh) * 2010-12-23 2012-07-04 中国移动通信集团公司 一种缓存区管理方法、装置及流媒体点播系统
US20130054691A1 (en) * 2011-08-30 2013-02-28 International Business Machines Corporation Flexible rule based multi-protocol peer-to-peer caching
WO2013071949A1 (en) * 2011-11-14 2013-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Machine-to-machine communication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860550A (zh) * 2010-06-25 2010-10-13 复旦大学 一种基于路由器缓存的流媒体系统加速方法
CN102546716A (zh) * 2010-12-23 2012-07-04 中国移动通信集团公司 一种缓存区管理方法、装置及流媒体点播系统
US20130054691A1 (en) * 2011-08-30 2013-02-28 International Business Machines Corporation Flexible rule based multi-protocol peer-to-peer caching
WO2013071949A1 (en) * 2011-11-14 2013-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Machine-to-machine communication
CN102511043A (zh) * 2011-11-26 2012-06-20 华为技术有限公司 缓存文件替换方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
季美丽: "基于P2P的校园网资源共享关键技术的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905538A (zh) * 2014-03-22 2014-07-02 哈尔滨工程大学 内容中心网络中邻居协作缓存替换方法
CN105471952A (zh) * 2014-09-10 2016-04-06 中国移动通信集团公司 一种基于全局价值的缓存方法和缓存服务器
CN105357281A (zh) * 2015-10-19 2016-02-24 中国科学院信息工程研究所 一种移动接入网分布式内容缓存访问控制方法及系统
CN105357281B (zh) * 2015-10-19 2019-06-21 中国科学院信息工程研究所 一种移动接入网分布式内容缓存访问控制方法及系统
CN106612315A (zh) * 2015-10-27 2017-05-03 腾讯科技(北京)有限公司 文件置换方法及装置
CN106612315B (zh) * 2015-10-27 2021-04-27 腾讯科技(北京)有限公司 文件置换方法及装置
CN105657054A (zh) * 2016-03-04 2016-06-08 重庆大学 一种基于k均值算法的内容中心网络缓存方法
CN105657054B (zh) * 2016-03-04 2018-10-12 重庆大学 一种基于k均值算法的内容中心网络缓存方法
CN109408109A (zh) * 2018-10-23 2019-03-01 金蝶软件(中国)有限公司 一种软件配置方法及系统
CN113992653B (zh) * 2021-10-19 2023-09-15 西安邮电大学 一种基于边缘缓存的cdn-p2p网络的内容下载、预存和替换方法

Also Published As

Publication number Publication date
CN103607386B (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
CN103607386A (zh) 一种P2P Cache系统中的协作缓存方法
CN101500022B (zh) 一种数据访问资源的分配方法及其系统和设备
CN103425756B (zh) 一种hdfs中数据块的副本管理策略
CN105450780A (zh) 一种cdn系统及其回源方法
CN109005056A (zh) 基于cdn应用的存储容量评估方法和装置
CN112737823A (zh) 一种资源切片分配方法、装置及计算机设备
CN105049254A (zh) 一种ndn/ccn中基于内容等级及流行度的数据缓存替换方法
CN110661862A (zh) 一种预热资源文件的方法和中心管理系统
Meng et al. EHCP: An efficient hybrid content placement strategy in named data network caching
Yan et al. Big data driven wireless communications: A human-in-the-loop pushing technique for 5G systems
CN101296152A (zh) 对等连接网络的数据调度方法和系统
CN102984203B (zh) 基于云计算的提高缓存设备利用率的方法、装置及系统
CN105245592A (zh) 基于相近缓存协作的移动网络基站缓存内容放置方法
CN108541025A (zh) 一种面向无线异构网络的基站与d2d共同缓存方法
CN113114762B (zh) 一种数据缓存方法及系统
Li et al. Efficient cooperative cache management for latency-aware data intelligent processing in edge environment
CN109474461A (zh) 基于信誉泊松分布的无线传感器网络信任管理方法及系统
CN107222539A (zh) 一种基于节点竞争时延代价模型的缓存部署方法
CN106973088A (zh) 一种基于位置变动的联合lru与lfu的缓存更新方法及网络
CN104601424B (zh) 设备控制网中利用概率模型的主被动数据收集装置及方法
CN111324839A (zh) 建筑大数据缓存方法及装置
Mondal et al. CALM: QoS-aware vehicular sensor-as-a-service provisioning in cache-enabled multi-sensor cloud
Sen et al. A Data and Model Parallelism based Distributed Deep Learning System in a Network of Edge Devices
CN110798496A (zh) 一种cdn调度系统、方法及装置
Liu et al. Proactive data caching and replacement in the edge computing environment

Legal Events

Date Code Title Description
C06 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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171110

Termination date: 20191115

CF01 Termination of patent right due to non-payment of annual fee