CN116633921A - 基于边缘缓存的cdn-p2p网络及缓存方法、缓存放置方法 - Google Patents
基于边缘缓存的cdn-p2p网络及缓存方法、缓存放置方法 Download PDFInfo
- Publication number
- CN116633921A CN116633921A CN202111216815.XA CN202111216815A CN116633921A CN 116633921 A CN116633921 A CN 116633921A CN 202111216815 A CN202111216815 A CN 202111216815A CN 116633921 A CN116633921 A CN 116633921A
- Authority
- CN
- China
- Prior art keywords
- file
- edge
- edge cache
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000008901 benefit Effects 0.000 claims abstract description 37
- 238000004364 calculation method Methods 0.000 claims description 13
- 239000012634 fragment Substances 0.000 claims description 11
- 230000005484 gravity Effects 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 claims 4
- 238000004891 communication Methods 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 34
- 230000006870 function Effects 0.000 description 7
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1737—Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明属于无线通信技术领域,公开了一种基于边缘缓存的CDN‑P2P网络及缓存方法、缓存放置方法,解决了现有网络中的缓存、替换方法造成服务器压力过大,引起了网络开销和下载时延,不能够最大化利用边缘缓存节点的存储空间的问题。本缓存方法,包括步骤S1、通过与文件k有关的诸多信息,计算请求下载文件k的整体开销;步骤S2、根据系统请求文件k的整体开销,结合该文件在所有边缘缓存节点的存储情况计算不同情况下文件k的缓存收益;步骤S3、判断文件k的缓存收益是否大于0,将文件k缓存入边缘缓存节点的存储空间中;否则,边缘缓存节点不缓存文件k。
Description
技术领域
本发明属于无线通信技术中内容分发网络领域,尤其涉及一种基于边缘缓存的CDN-P2P网络及缓存方法、缓存放置方法。
背景技术
近些年,随着网络及其用户的爆炸性增长,向大规模的用户稳定而又持续地传输流式内容,无论是在学术界还是工业界,已成为研究的热点话题。多媒体流式应用在这种情况下应运而生,人们可以通过互联网络随时随地获取到多媒体内容。在上述问题下,内容分发网络(CDN,Content Delivery Network)、对等网络(P2P,Peer-to-Peer)受到了广泛关注。
内容分发网络是在现有互联网基础之上的一层智能虚拟网络。一方面,它把源服务器上的内容,通过一定的策略,将内容传送到离用户较近的代理服务器上。另一方面,它根据各个代理服务器的负载情况、内容请求用户距代理服务器的位置和网络流量等信息,选定一个合适的代理服务器为用户提供服务。在P2P网络中,各个设备没有主从之分,网络上任意节点的计算机既可以作为网络服务器,为其他计算机提供资源,也可以作为一般客户端,从其他计算机获取资源。CDN和P2P网络各自存在局限性,但两者能在部署成本和可扩展性等方面能很好地互补,因此,近年来展开了对混合CDN-P2P网络中的内容副本放置、请求重定向、缓存替换和计费等技术研究。现有的混合CDN-P2P网络内容副本放置、请求重定向、缓存替换存在重复请求、利用网络资源,存在网络开销大、下载延迟、占用存在空间较大的问题,同时易造成主干网络拥堵。因此,研究合理的缓存替换方法有效减少服务器压力,降低网络开销和下载时延,最大化利用节点的存储空间。
发明内容
本发明的目的是解决现有网络中的缓存、替换方法造成服务器压力过大,引起了网络开销和下载时延,不能够最大化利用边缘缓存节点的存储空间,而提供了一种基于边缘缓存的CDN-P2P网络及缓存方法、缓存放置方法。
为达到上述目的,本发明采用的技术方案为:
一种基于边缘缓存的CDN-P2P网络的缓存方法,其特殊之处在于,包括以下步骤:
步骤S1、通过与文件k有关的信息,计算请求下载文件k的整体开销;
所述与文件k有关的信息包括文件的热门程度、文件在边缘缓存节点的存储情况、文件的大小、从不同文件源下载文件k的下载开销和边缘缓存节点存储文件的存储开销;
步骤S2、根据请求下载文件k的整体开销,结合该文件在所有边缘缓存节点的存储情况计算文件k的缓存收益;
步骤S3、判断文件k的缓存收益是否大于0,若是,则将文件k缓存入边缘缓存节点的存储空间中;否则,边缘缓存节点不缓存文件k。
进一步地,步骤S1中,
所述文件的热门程度,指用边缘缓存节点i的用户在一个周期T内对文件k的请求次数,用表示;
所述文件在边缘缓存节点的存储情况,指所有边缘缓存节点是否已经存储文件k,用表示;其中,/>为文件k存储在边缘缓存节点i中,/>为文件k没有存储在边缘缓存节点i中;
所述文件的大小,指文件k拥有的字节总数,用Sk表示;
所述下载开销,指单位时间内用户从不同文件源下载文件k的单位下载开销;
所述文件k的单位下载开销包括:
在边缘缓存所辖区域内链路上下载文件的单位下载开销Db、通过P2P方式连接的边缘缓存节点间下载文件的单位下载开销D(i,j)、在P2P边缘缓存节点上级的边缘CDN服务器下载文件的单位下载开销Dc、从在边缘CDN服务器上级的源服务器下载文件的单位下载开销Ds;
所述存储开销,指单位时间内将一个待缓存文件k缓存入边缘缓存节点的存储空间所产生的开销,用Cc表示。
进一步地,步骤S1中,
所述文件的热门程度可通过访问部署在边缘CDN服务器附近的后台系统中的目录服务器获得;所述文件在各边缘缓存节点的存储情况可通过访问部署在边缘CDN服务器附近的后台系统中的运营管理模块获得;
所述文件的大小可通过访问部署在边缘CDN服务器附近的后台系统中的目录服务器获得;
所述文件k的整体开销包括:
(1)当所有域的边缘缓存节点都没有存储文件k,且边缘CDN服务器上也没有存储文件k时,系统为一个周期内所有请求文件k的用户服务所需要的整体开销为Ctotal1:
其中:整体开销只包含下载开销,下载开销为存储开销为0;
(2)当所有域的边缘缓存节点都没有存储文件k,但边缘CDN服务器上存储了文件k,则整体开销为Ctotal2:
其中,整体开销只包含下载开销,下载开销为存储开销为0;
(3)部分边缘缓存节点存储了文件k,即定义所有边缘缓存节点的集合为Ψ,其中,存储文件k的边缘缓存节点的集合为Ψk,即i∈Ψk,没有存储文件k的边缘缓存节点的集合为/>即/>则整体开销为Ctotal3:
其中,为下载开销,/>为存储开销;/>为没有存储文件k的边缘缓存节点在一个周期T内对文件k的请求次数;
(4)所有域的边缘缓存节点都存储了文件k,则整体开销为Ctotal4:
其中,整体开销只包含存储开销,下载开销为0,为存储开销。
进一步地,步骤S2中,
所述文件k的缓存收益为:
所述节点i存储文件k后获得的缓存收益是相对于节点i没有缓存文件k时,系统为全局请求文件k的用户服务所产生的总开销;
文件k在边缘缓存节点i的缓存收益,指在单位时间内可以降低的整体开销,用表示;
(1)当其他边缘缓存节点都没有存储文件k,且边缘CDN服务器也没有存储文件k时,文件k在边缘缓存节点i的缓存收益为
其中:
表示边缘缓存节点i所辖的用户可以从边缘缓存节点i直接获取文件k而不需要去源服务器下载该文件所节省的开销;
表示其他边缘缓存节点的用户可以从边缘缓存节点i获取文件k而不需要从源服务器下载该文件所节省的开销;
SkCc表示边缘缓存节点i存储文件k所需要的存储开销;
(2)如果其他边缘缓存节点都没有存储文件k,但边缘CDN服务器存储了文件k,那么文件k在边缘缓存节点i的缓存收益为
其中:
表示边缘缓存节点i所辖的用户可以从边缘缓存节点i直接获取文件k而不需要从边缘CDN服务器下载该文件所节省的开销;
表示其他边缘缓存节点的用户可以从边缘缓存节点i获取文件k而不需要从边缘CDN服务器下载该文件所节省的开销;
SkCc表示边缘缓存节点i存储文件k所需要的存储开销;
(3)如果系统中某些边缘缓存节点己经存储了文件k,那么文件k在i域的缓存收益为
其中,z为已经存储了文件k的边缘缓存节点,j为没有存储文件k的边缘缓存节点;
表示边缘缓存节点i所辖的用户可以从边缘缓存节点i直接获取文件k而不需要去其他边缘缓存节点下载文件k所节省的开销;
表示其他边缘缓存节点的用户可以就近从边缘缓节点i获取文件k而不需要再去网络距离更远的其他边缘缓存节点下载文件所节省的开销;
SkCc表示i域存储文件k所需要的存储开销。
进一步地,还包括:步骤S4、缓存替换方法,当边缘缓存节点的存储空间不足以缓存文件k时,判断文件k的缓存收益,先替换边缘缓存节点中其他文件或文件k的文件段m,再缓存文件k。
进一步地,步骤S4具体为:
步骤S401、判断边缘缓存节点的剩余存储空间;
若剩余存储空间足够,则直接存储文件k;否则,进入步骤S402;
步骤S402、比较文件k与边缘缓存节点所有己缓存文件的缓存收益;
若文件k的缓存收益小于己有文件的缓存收益,则不进行替换;否则,进入步骤S403;
步骤S403、依次替换缓存收益最小的文件,直到腾出足够的缓存空间存储文件k。
进一步地,步骤S4中
所述文件k的文件段m的缓存价值计算公式如下:
其中:
表示t时刻系统中文件k第m段被请求的次数;
表示t时刻系统中所有边缘缓存节点存储的文件k第m段的总数量;
ρ为比重因子,介于0-1之间;
T是一个周期;t是T的整数倍;
表示文件k第m段在t时刻的上一个周期的缓存价值;
表示文件k第m段在t时刻的缓存价值。
本发明还提供了一种基于边缘缓存的CDN-P2P网络的缓存放置方法,其特殊之处在于,当用户请求下载文件k时,具体步骤如下:
步骤一、向用户边缘缓存节点发送下载文件k的请求,边缘缓存节点解析请求;
若用户所在边缘缓存节点存在文件k,直接将文件k返回用户;否则,进入步骤二;
步骤二、判断用户边缘缓存节点内是否存在文件k;
若用户边缘缓存节点内存在文件k,计算已缓存文件k的边缘缓存节点中下载开销最小的边缘缓存节点,用户从目标边缘缓存节点下载获取文件k;
后台系统经过计算决定将文件k缓存入用户边缘缓存节点,则在用户边缘缓存节点内放置文件k;否则,不放置;
若所有边缘缓存节点都不存在缓存文件k,则进入步骤三;
步骤三、判断系统边缘的CDN服务器内是否存在文件k;
若系统边缘的CDN服务器内存在文件k,用户从边缘CDN上下载获取文件k;
后台系统经过计算决定将文件k缓存入用户边缘缓存节点,则在用户边缘缓存节点内放置文件k;否则,不放置;
若系统边缘的CDN服务器内不存在缓存文件k,则进入步骤四;
步骤四、判断源服务器内是否存在文件k;
若源服务器内存在文件k,用户从源服务器上下载获取文件k;
后台系统经过计算决定将文件k缓存入用户边缘缓存节点,则在用户边缘缓存节点内放置文件k;否则,不放置。
本发明还提供了一种基于边缘缓存的CDN-P2P网络,其特殊之处在于,包括前台系统和后台系统;
所述前台系统包括多个边缘缓存节点,所述边缘缓存节点为家庭内容服务器,用于用户信息的存储以及作为CDN边缘缓存设备存储流媒体资源;所述边缘缓存节点之间逻辑上以P2P方式通信;
所述后台系统包括内容路由模块、目录服务器、内容管理模块和运营管理模块;
所述内容路由模块用于把访问需求调度到最优的边缘缓存节点;
所述目录服务器模块用于维护系统中文件分片分布信息列表;
所述文件分片分布信息列表包括资源名称和贡献资源的用户地址;
所述内容管理模块每隔特定时间或者接收到一定次数的内容请求后,指导边缘缓存节点执行内容副本放置算法;同时,根据P2P用户的请求,更新内容服务器中的内容列表;
所述内容管理模块包括整体开销计算模块、缓存收益计算模块、缓存决策模块和缓存替换模块;
所述运营管理模块包括节点管理功能和网络管理功能。
与现有技术相比,本发明具有的有益技术效果如下:
1、在CDN-P2P的混合网络系统中,通过综合考虑下载文件的诸多因素,计算系统在不同的服务器上下载请求文件的所产生的整体开销,同时引入了缓存收益的概念,判断下载文件的缓存收益来决策用户所在的边缘缓存节点是否缓存文件,缓解了随用户量增加而对CDN服务器造成的巨大服务压力;降低了网络开销和下载时延。
2、当用户所在的边缘缓存节点存储空间已满时,根据文件的缓存收益,提出了一种基于边缘缓存的CDN-P2P网络中缓存替换方法,采用以分片为粒度执行缓存替换,用缓存收益较大的分片替换缓存节点中缓存收益较小的分片,最大化利用了边缘缓存节点的存储空间。
3、本发明提出的基于边缘缓存的CDN-P2P网络中,边缘缓存节点之间是以P2P的形式连接的,各个边缘缓存之间可以共享资源;边缘缓存所辖用户端可直接从边缘缓存获取资源,也可从CDN服务器获取,最大程度的减少了主干网络的拥堵,充分提高了资源的响应能力。
附图说明
图1是本发明实施例提供的基于边缘缓存的CDN-P2P网络的缓存方法、缓存放置方法流程图;
图2是本发明实施例提供的基于边缘缓存的CDN-P2P网络中后台系统的内容管理模块的结构示意图;
图3是本发明实施例提供的可应用的一个场景图;
图4是本发明中基于文件缓存收益的缓存放置方法工作流程;
图5是本发明中基于文件缓存收益及文件段缓存价值的缓存替换方法工作流程;
附图标记:
1-源服务器,2-边缘CDN服务器,3-后台系统,4-边缘缓存节点。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施方式对本发明提出的一种基于边缘缓存的CDN-P2P网络及缓存方法、缓存放置方法作进一步详细说明。本领域技术人员应当理解的是,这些实施方式仅仅用来解释本发明的技术原理,目的并不是用来限制本发明的保护范围。
如图1所示,本发明提供的基于边缘缓存的CDN-P2P网络的缓存方法,包括以下步骤:
步骤S1:通过与文件有关的诸多信息,包括文件的热门程度、文件在各边缘缓存节点的存储情况、文件大小、从不同文件源下载文件的下载开销以及边缘缓存节点存储文件的存储开销,来计算系统请求某文件的整体开销;
步骤S2:基于系统请求某文件的整体开销,结合该文件在各边缘缓存节点的存储情况计算不同情况下该文件的缓存收益;
步骤S3:基于某文件的缓存收益,决定是否将已下载的该文件缓存入边缘缓存节点的存储空间中。若该文件的缓存收益大于0,则决定将该文件缓存入边缘缓存节点的存储空间中;否则,边缘缓存节点不缓存该文件;
步骤S4:当边缘缓存节点的存储空间不足以缓存待缓存文件时,采用基于文件缓存收益及文件段缓存价值的内容替换方法先替换出某些文件或文件段后再缓存待缓存文件。
步骤S1中,文件的热门程度,表现为一个文件在一个时间周期内被访问的次数,可通过访问部署在边缘CDN服务器附近的后台系统中的目录服务器获得。记为边缘缓存节点i的用户在一个周期内对文件k的请求次数。
文件在各边缘缓存节点的存储情况,即某文件在哪些边缘缓存节点已经被存储,在哪些边缘缓存节点没有被存储,可通过访问部署在边缘CDN服务器附近的后台系统中的运营管理模块获得,记为边缘缓存节点i已经存储了文件k,记/>为边缘缓存节点i没有存储文件k。
文件的大小,表现为一个文件拥有的字节总数,可通过访问部署在边缘CDN服务器附近的后台系统中的目录服务器获得,记Sk为文件大小。
文件的下载开销,即从不同文件源下载一个文件的开销,采用单位下载开销来衡量用户从不同文件源获取文件所产生的下载开销。
文件的存储开销,即将一个待缓存文件缓存入边缘缓存节点的存储空间所产生的开销,用单位存储开销Cc表示单位时间内边缘缓存节点存储单位数据的开销。
由于在CDN-P2P缓存系统中,用户可能从本边缘缓存节点、其他边缘缓存节点、边缘CDN服务器以及源服务器这4类数据源获取所请求的文件,优化缓存算法采用单位下载开销来衡量用户从不同文件源获取文件所产生的下载开销,单位下载开销是指在网络中的某条链路上传输1byte的数据所耗费的开销。
(1)把在边缘缓存所辖区域内链路上下载文件的单位下载开销记为Db;
(2)把在通过P2P方式连接的边缘缓存节点间下载文件的单位下载开销记为D(i,j);
(3)把从在P2P边缘缓存节点上级的边缘CDN服务器下载文件的单位下载开销记为Dc;
(4)把从在边缘CDN服务器上级的源服务器下载文件的单位下载开销记为Ds。
通常情况下,用户从源服务器获取文件的单位下载开销最大,其次是从边缘CDN获取文件的单位下载开销,再次是从通过P2P连接的边缘缓存节点获取文件的下载开销,最后,从边缘缓存节点所辖区域内链路上下载文件的单位下载开销最小。基于此,可以将下载开销简化为Db=0、0<D(i,j)<1、Dc=1、Ds=1.5。
对于系统请求某文件的整体开销,可根据文件在各边缘缓存节点的存储情况分为以下四类:
(1)所有域的边缘缓存节点都没有存储文件k,且边缘CDN服务器上也没有存储文件k,则系统为一个周期内全局所有请求文件k的用户服务所需要的整体开销为Ctotal1:
其中,整体开销只包含下载开销,下载开销为存储开销为0;
(2)所有域的边缘缓存节点都没有存储文件k,但边缘CDN服务器上存储了文件k,则整体开销为Ctotal2:
其中,整体开销只包含下载开销,下载开销为存储开销为0;
(3)部分边缘缓存节点存储了文件k,即记所有边缘缓存节点的集合为Ψ,其中,存储文件k的边缘缓存节点的集合为Ψk,即i∈Ψk,没有存储文件k的边缘缓存节点的集合为/>即/>则整体开销为Ctotal3:
其中,为下载开销,/>为存储开销;/>为没有存储文件k的边缘缓存节点在一个周期T内对文件k的请求次数;
(4)所有域的缓存节点都存储了文件k,则整体开销为Ctotal4:
其中,整体开销只包含存储开销,下载开销为0,为存储开销。
步骤S2中,假设在边缘缓存节点i存储文件k的1byte,那么在单位时间内可以降低的整体开销称为文件k在边缘缓存节点i的缓存收益,记为
基于系统请求某文件的整体开销,结合该文件在各边缘缓存节点的存储情况,文件的缓存收益为:
(1)如果其他边缘缓存节点都没有存储文件k,且边缘CDN服务器也没有存储文件k,那么文件k在边缘缓存节点i的缓存收益为
上式第一部分表示边缘缓存节点i所辖的用户可以从边缘缓存节点i直接获取文件k而不需要去源服务器下载该文件所节省的开销,第二部分表示其他边缘缓存节点的用户可以从边缘缓存节点i获取文件k而不需要从源服务器下载该文件所节省的开销,第三部分表示边缘缓存节点i存储文件k所需要的存储开销;
(2)如果其他边缘缓存节点都没有存储文件k,但边缘CDN服务器存储了文件k,那么文件k在边缘缓存节点i的缓存收益为
上式第一部分表示边缘缓存节点i所辖的用户可以从边缘缓存节点i直接获取文件k而不需要从边缘CDN服务器下载该文件所节省的开销,第二部分表示其他边缘缓存节点的用户可以从边缘缓存节点i获取文件k而不需要从边缘CDN服务器下载该文件所节省的开销,第三部分表示边缘缓存节点i存储文件k所需要的存储开销;
(3)如果系统中某些边缘缓存节点己经存储了文件k,那么文件k在i域的缓存收益为
上式第一部分表示边缘缓存节点i所辖的用户可以从边缘缓存节点i直接获取文件k而不需要去其他边缘缓存节点下载文件k所节省的开销,第二部分表示其他边缘缓存节点的用户可以就近从边缘缓存节点i获取文件k而不需要再去网络距离更远的其他边缘缓存节点下载文件所节省的开销,第三部分表示i域存储文件k所需要的存储开销。
步骤S3中,文件k在某个边缘缓存节点的缓存收益和以下参数有关:系统中不同的单位下载开销,文件k在各边缘缓存节点的存储情况,各边缘缓存节点所辖的用户对文件k的请求次数以及文件的单位存储开销。
上述参数的值,可以直接从后台系统得到。具体而言,与文件有关的信息可以从目录服务器获得,与边缘缓存节点状态有关的信息可以从运营管理模块获得。然后,这些参数信息将被发送给后台系统中的内容管理模块,内容管理模块将根据这些信息进行计算,并作出最终的缓存决策。
在做缓存决策的过程中,因为各边缘缓存节点的信息和文件信息很小,所以后台系统的目录服务器和运营模块把它们传给内容管理模块的时延和信令开销都很小,基本可以忽略。
步骤S4中,缓存替换方法是指,后台系统中的内容管理模块在得到各种参数并进行计算之后,若被请求文件的缓存收益大于0,则该文件将被缓存入相应边缘缓存节点的存储空间中。如果边缘缓存节点的存储空间足够缓存待缓存文件时,待缓存文件将直接被缓存入相应边缘缓存节点的存储空间;
当边缘缓存节点的存储空间不足以缓存带缓存文件时,将采用基于文件缓存收益及文件段缓存价值的内容替换方法先替换出某些文件或文件段后再缓存带缓存文件。具体如下:
(1)采用以分片为粒度执行缓存替换,基本思想是用缓存收益较大的分片替换缓存节点中缓存收益较小的分片。
(2)假设边缘缓存节点i中的用户请求文件k,但边缘缓存节点i没有存储文件k。如果本边缘缓存节点有足够的剩余存储空间且该文件的缓存收益Gi k大于0,则该边缘缓存节点将直接存储文件k。否则,将该文件的缓存收益Gi k与本地已缓存的文件的缓存收益进行比较。如果Gi k是最小的,该边缘缓存节点不存储文件k。否则,该边缘缓存节点将用文件k替换一个或多个存储中已缓存的缓存收益最小的文件。
(3)在执行缓存替换时,缓存节点首先比较文件k和已缓存的缓存收益最小的文件(假设为k1)的大小,如果文件k的尺寸不大于文件k1,该边缘缓存节点删除文件k1的部分或全部分片,腾出足够的存储空间存储文件k。否则,边缘缓存节点比较文件k和文件k1+k2(k2为缓存节点中缓存收益第二小的文件)的大小。如果文件k的尺寸不大于文件k1+k2的尺寸,边缘缓存节点删除文件k1的所有分片和文件k2的部分或全部分片,腾出足够的缓存空间存储文件k。否则,该边缘缓存节点将继续寻找待替换的文件,直到所有己缓存的文件的缓存收益都比文件k的缓存收益大或文件k的所有分片都被存储在缓存节点中。
(4)如果存在以下情况:如,k1和k2的缓存收益都小于k,但尺寸不如k,如果加上k3(边缘缓存节点中缓存收益第三小的文件)后,三者之和尺寸大于k,但k3的缓存收益却大于k。对于这种情况,则删除k1和k2,将文件k的部分段存入边缘缓存节点的存储空间直至存储空间饱和。其中,文件k分段的存储优先级按照分段的缓存价值降序排列。
系统中所有文件段的存储优先级均按照文件段的缓存价值降序排列,所有文件段的删除优先级均按照文件段的缓存价值升序排列。
文件k的第m段的缓存价值计算公式如下:
其中,表示t时刻系统中文件k的第m段被请求的次;
表示t时刻系统中所有边缘缓存节点存储的文件k的第m段的总数量;
ρ为比重因子,用来防止价值抖动,介于0-1之间;
t是T的整数倍;
表示文件k的第m段在t时刻的上一个周期的缓存价值,/>表示文件k的第m段在t时刻的缓存价值,其值越大,表示该文件段缓存价值越高。
如图2所示,本发明提供的边缘缓存的CDN-P2P网络系统,由前台系统和后台系统组成。
所述的前台系统由家庭CDN边缘缓存节点(家庭内容服务器)简称边缘缓存节点组成,它一方面用于用户信息的存储,一方面作为CDN边缘缓存设备存储流媒体资源,用户则就近从边缘服务器获取服务,这样就提高了用户获取服务的速度。
所述边缘缓存节点是一种部署在用户生活场所中的专用家庭盒子,与传统CDN相似,具有一定的缓存功能,可提前将一些文件存储在其存储空间中。若边缘缓存节点所辖用户请求的文件已被边缘缓存节点缓存,则可以直接从边缘缓存节点获取,因此可以显著降低网络开销和网络时延。
边缘缓存节点之间以逻辑上P2P方式通信用户需要的内容可以从边缘缓存节点获取,如果有的片段在边缘缓存节点中没有,用户也可以从边缘CDN甚至源服务器获取。
所述的后台系统,即系统的控制中心,包括内容路由模块、目录服务器、内容管理模块、运营管理模块。
内容路由模块用于把访问需求调度到最优的边缘缓存节点。
目录服务器模块主要维护系统中可服务的视频信息列表,即系统内文件分片分布情况,包括资源名称、贡献资源的用户地址等,比如当前系统中有哪些视频文件,当前在线边缘缓存节点上拥有哪些视频文件分片可向其他节点提供。
内容管理模块一方面每隔一段时间或者系统接收到一定次数的内容请求,指导在家庭CDN边缘缓存节点执行内容副本放置算法;另一方面,根据P2P用户的请求,更新内容服务器中的内容列表。
内容管理模块包括:
整体开销计算模块,用于通过与文件有关的诸多信息,来计算系统请求某文件的整体开销;
缓存收益计算模块,用于基于系统请求某文件的整体开销,结合该文件在各边缘缓存节点的存储情况计算不同情况下该文件的缓存收益;
缓存决策模块,用于基于某文件的缓存收益,决定是否将已下载的该文件缓存入边缘缓存节点的存储空间中;
缓存替换模块,用于当边缘缓存节点的存储空间不足以缓存待缓存文件时,采用基于文件缓存收益及文件段缓存价值的内容替换方法先替换出某些文件或文件段后再缓存待缓存文件。
运营管理模块包括节点管理功能和网络管理功能等。
节点管理功能:通过接收边缘缓存节点定时发送的心跳包获取并管理自治域内的对等节点的基本信息,包括该边缘缓存节点的网络地址,是否在线,节点内存占用情况,自身上传下载带宽、插件更新、版本更新等信息。这些信息可以用于对系统内节点分布情况进行管理;
网络管理功能:如CDN系统的网络拓扑管理、故障管理、网络设备管理和链路监控,为管理员提供集中化的管理操作界面。
图3是本发明的方法可应用的一个场景图。系统中包含若干个边缘缓存节点,这些边缘缓存节点是以P2P的形式进行信息交换的,每个边缘缓存节点在其服务范围内服务着若干个用户。在这些边缘缓存节点的边缘,布置了一个CDN服务器,并且在CDN服务器的附近,装备了一个后台系统。后台系统由目录服务器、运营管理模块、内容管理模块等组成。因此,后台系统拥有所有边缘缓存节点和用户的数据信息并可以对它们的数据的删除和缓存做出决策。
在这场景下,用户若需要下载一个文件k,可以优先向自己的边缘缓存节点发送请求,边缘缓存节点解析该请求。如果用户所请求的文件k己经被存储在该边缘缓存节点,该边缘缓存节点直接将文件k返回给用户。否则,该边缘缓存节点将向后台系统发送信息,因为后台系统拥有所有边缘缓存节点的信息(包括文件k在其他边缘缓存节点的存储信息),其中的后台系统中的内容管理模块就会进行计算,得出该请求用户将从哪一个已缓存了文件k的边缘缓存节点进行下载可以使下载开销最小,并将这个下载决策信息返回给请求用户,该用户就可以以P2P的形式在系统内的目标边缘缓存节点进行下载。如果所有边缘缓存节点都没有存储文件k,但边缘的CDN服务器上有该文件,则后台系统会返回给用户去CDN下载文件k的决策信息。如果所有边缘缓存节点都没有存储文件k,边缘的CDN服务器上也没有该文件,则后台系统会返回给用户去源服务器下载文件k的决策信息。
如图4所示,本发明的基于CDN-P2P系统的基于文件缓存收益的缓存放置工作流程如下:
步骤一:用户若需要下载一个文件k,可以优先向自己的边缘缓存节点发送请求,边缘缓存节点解析该请求。如果用户所请求的文件k己经被存储在该边缘缓存节点,该边缘缓存节点直接将文件k返回给用户。
步骤二:如果用户所请求的文件k没有被该边缘缓存节点存储,该边缘缓存节点将向后台系统发送信息,因为后台系统拥有所有边缘缓存节点的信息(包括文件k在其他边缘缓存节点的存储信息),其中的后台系统中的内容管理模块就会进行计算,得出该请求用户将从哪一个已缓存了文件k的边缘缓存节点进行下载可以使下载开销最小,并将这个下载决策信息返回给请求用户,该用户就可以以P2P的形式在系统内的目标边缘缓存节点进行下载。
如果用户已经从下载开销最小的边缘缓存节点下载了文件k,且后台系统经过计算决定将该文件k缓存入用户所在边缘缓存节点,则用户所在的边缘缓存即缓存文件k;否则,不缓存。
步骤三:如果所有边缘缓存节点都没有存储文件k,但边缘的CDN服务器上有该文件,则后台系统会返回给用户去CDN下载文件k的决策信息,用户将从边缘CDN上下载文件k。
如果用户已经从边缘CDN下载了文件k,且后台系统经过计算决定将该文件k缓存入用户所在边缘缓存节点,则用户所在的边缘缓存节点即缓存文件k;否则,不缓存。
步骤四:如果所有边缘缓存节点都没有存储文件k,边缘的CDN服务器上也没有该文件,则后台系统会返回给用户去源服务器下载文件k的决策信息,用户将从源服务器上下载文件k。
如果用户已经从源服务器下载了文件k,且后台系统经过计算决定将该文件k缓存入用户所在边缘缓存节点,则用户所在的边缘缓存节点即缓存文件k;否则,不缓存。
如图5所示,本发明采用的基于CDN-P2P系统中的基于文件缓存收益及文件段缓存价值的缓存替换方法工作流程:
步骤一:计算文件在本边缘缓存节点的缓存收益Gi k,如果Gi k小于零,说明没有缓存的价值,不进行缓存或替换处理,否则进入下一步;
步骤二:判断本边缘缓存节点是否有足够的剩余存储空间,如果有则直接存储该文件,否则进入下一步;
步骤三:将该文件的缓存收益与本边缘缓存节点所有己缓存文件的缓存收益进行对比,如果该文件的缓存收益小于己有文件的缓存收益,则不进行替换;否则,进入下一步;
步骤四:用该文件依次替换缓存收益最小的文件,直到腾出足够的缓存空间存储文件k。
其中,如果存在以下情况:如,k1和k2的缓存收益都小于k,但尺寸不如k,如果加上k3(边缘缓存节点中缓存收益第三小的文件)后,三者之和尺寸大于k,但k3的缓存收益却大于k。对于这种情况,则删除k1和k2,将文件k的部分段存入边缘缓存节点的存储空间直至存储空间饱和。
Claims (9)
1.一种基于边缘缓存的CDN-P2P网络的缓存方法,其特征在于,包括以下步骤:
步骤S1、通过与文件k有关的信息,计算请求下载文件k的整体开销;
所述与文件k有关的信息包括文件的热门程度、文件在边缘缓存节点的存储情况、文件的大小、从不同文件源下载文件k的下载开销和边缘缓存节点存储文件的存储开销;
步骤S2、根据请求下载文件k的整体开销,结合该文件在所有边缘缓存节点的存储情况计算文件k的缓存收益;
步骤S3、判断文件k的缓存收益是否大于0,若是,则将文件k缓存入边缘缓存节点的存储空间中;否则,边缘缓存节点不缓存文件k。
2.根据权利要求1所述基于边缘缓存的CDN-P2P网络的缓存方法,其特征在于:步骤S1中,
所述文件的热门程度,指用边缘缓存节点i的用户在一个周期T内对文件k的请求次数,用表示;
所述文件在边缘缓存节点的存储情况,指所有边缘缓存节点是否已经存储文件k,用表示;其中,/>为文件k存储在边缘缓存节点i中,/>为文件k没有存储在边缘缓存节点i中;
所述文件的大小,指文件k拥有的字节总数,用Sk表示;
所述下载开销,指单位时间内用户从不同文件源下载文件k的单位下载开销;
所述文件k的单位下载开销包括:
在边缘缓存所辖区域内链路上下载文件的单位下载开销Db、通过P2P方式连接的边缘缓存节点间下载文件的单位下载开销D(i,j)、在P2P边缘缓存节点上级的边缘CDN服务器下载文件的单位下载开销Dc、从在边缘CDN服务器上级的源服务器下载文件的单位下载开销Ds;
所述存储开销,指单位时间内将一个待缓存文件k缓存入边缘缓存节点的存储空间所产生的开销,用Cc表示。
3.根据权利要求2所述基于边缘缓存的CDN-P2P网络的缓存方法,其特征在于:步骤S1中,
所述文件的热门程度可通过访问部署在边缘CDN服务器附近的后台系统中的目录服务器获得;所述文件在各边缘缓存节点的存储情况可通过访问部署在边缘CDN服务器附近的后台系统中的运营管理模块获得;
所述文件的大小可通过访问部署在边缘CDN服务器附近的后台系统中的目录服务器获得;
所述文件k的整体开销包括:
(1)当所有域的边缘缓存节点都没有存储文件k,且边缘CDN服务器上也没有存储文件k时,系统为一个周期内所有请求文件k的用户服务所需要的整体开销为Ctotal1:
其中:整体开销只包含下载开销,下载开销为存储开销为0;
(2)当所有域的边缘缓存节点都没有存储文件k,但边缘CDN服务器上存储了文件k,则整体开销为Ctotal2:
其中,整体开销只包含下载开销,下载开销为存储开销为0;
(3)部分边缘缓存节点存储了文件k,即定义所有边缘缓存节点的集合为Ψ,其中,存储文件k的边缘缓存节点的集合为Ψk,即i∈Ψk,没有存储文件k的边缘缓存节点的集合为/>即/>则整体开销为Ctotal3:
其中,为下载开销,/>为存储开销;/>为没有存储文件k的边缘缓存节点在一个周期T内对文件k的请求次数;
(4)所有域的边缘缓存节点都存储了文件k,则整体开销为Ctotal4:
其中,整体开销只包含存储开销,下载开销为0,为存储开销。
4.根据权利要求1所述基于边缘缓存的CDN-P2P网络的缓存方法,其特征在于:步骤S2中,
所述文件k的缓存收益为:
所述节点i存储文件k后获得的缓存收益是相对于节点i没有缓存文件k时,系统为全局请求文件k的用户服务所产生的总开销;
文件k在边缘缓存节点i的缓存收益,指在单位时间内可以降低的整体开销,用表示;
(1)当其他边缘缓存节点都没有存储文件k,且边缘CDN服务器也没有存储文件k时,文件k在边缘缓存节点i的缓存收益为
其中:
表示边缘缓存节点i所辖的用户可以从边缘缓存节点i直接获取文件k而不需要去源服务器下载该文件所节省的开销;
表示其他边缘缓存节点的用户可以从边缘缓存节点i获取文件k而不需要从源服务器下载该文件所节省的开销;
SkCc表示边缘缓存节点i存储文件k所需要的存储开销;
(2)如果其他边缘缓存节点都没有存储文件k,但边缘CDN服务器存储了文件k,那么文件k在边缘缓存节点i的缓存收益为
其中:
表示边缘缓存节点i所辖的用户可以从边缘缓存节点i直接获取文件k而不需要从边缘CDN服务器下载该文件所节省的开销;
表示其他边缘缓存节点的用户可以从边缘缓存节点i获取文件k而不需要从边缘CDN服务器下载该文件所节省的开销;
SkCc表示边缘缓存节点i存储文件k所需要的存储开销;
(3)如果系统中某些边缘缓存节点己经存储了文件k,那么文件k在i域的缓存收益为
其中,z为已经存储了文件k的边缘缓存节点,j为没有存储文件k的边缘缓存节点;
表示边缘缓存节点i所辖的用户可以从边缘缓存节点i直接获取文件k而不需要去其他边缘缓存节点下载文件k所节省的开销;
表示其他边缘缓存节点的用户可以就近从边缘缓节点i获取文件k而不需要再去网络距离更远的其他边缘缓存节点下载文件所节省的开销;
SkCc表示i域存储文件k所需要的存储开销。
5.根据权利要求1-4任一所述基于边缘缓存的CDN-P2P网络的缓存方法,其特征在于,还包括:步骤S4、缓存替换方法,当边缘缓存节点的存储空间不足以缓存文件k时,判断文件k的缓存收益,先替换边缘缓存节点中其他文件或文件k的文件段m,再缓存文件k。
6.根据权利要求5所述基于边缘缓存的CDN-P2P网络的缓存方法,其特征在于,步骤S4具体为:
步骤S401、判断边缘缓存节点的剩余存储空间;
若剩余存储空间足够,则直接存储文件k;否则,进入步骤S402;
步骤S402、比较文件k与边缘缓存节点所有己缓存文件的缓存收益;
若文件k的缓存收益小于己有文件的缓存收益,则不进行替换;否则,进入步骤S403;
步骤S403、依次替换缓存收益最小的文件,直到腾出足够的缓存空间存储文件k。
7.根据权利要求6所述的基于边缘缓存的CDN-P2P网络的缓存方法,其特征在于,步骤S4中
所述文件k的文件段m的缓存价值计算公式如下:
其中:
表示t时刻系统中文件k第m段被请求的次数;
表示t时刻系统中所有边缘缓存节点存储的文件k第m段的总数量;
ρ为比重因子,介于0-1之间;
T是一个周期;t是T的整数倍;
表示文件k第m段在t时刻的上一个周期的缓存价值;
表示文件k第m段在t时刻的缓存价值。
8.一种基于边缘缓存的CDN-P2P网络的缓存放置方法,其特征在于,当用户请求下载文件k时,具体步骤如下:
步骤一、向用户边缘缓存节点发送下载文件k的请求,边缘缓存节点解析请求;
若用户所在边缘缓存节点存在文件k,直接将文件k返回用户;否则,进入步骤二;
步骤二、判断用户边缘缓存节点内是否存在文件k;
若用户边缘缓存节点内存在文件k,计算已缓存文件k的边缘缓存节点中下载开销最小的边缘缓存节点,用户从目标边缘缓存节点下载获取文件k;
后台系统经过计算决定将文件k缓存入用户边缘缓存节点,则在用户边缘缓存节点内放置文件k;否则,不放置;
若所有边缘缓存节点都不存在缓存文件k,则进入步骤三;
步骤三、判断系统边缘的CDN服务器内是否存在文件k;
若系统边缘的CDN服务器内存在文件k,用户从边缘CDN上下载获取文件k;
后台系统经过计算决定将文件k缓存入用户边缘缓存节点,则在用户边缘缓存节点内放置文件k;否则,不放置;
若系统边缘的CDN服务器内不存在缓存文件k,则进入步骤四;
步骤四、判断源服务器内是否存在文件k;
若源服务器内存在文件k,用户从源服务器上下载获取文件k;
后台系统经过计算决定将文件k缓存入用户边缘缓存节点,则在用户边缘缓存节点内放置文件k;否则,不放置。
9.一种基于边缘缓存的CDN-P2P网络,其特征在于,包括前台系统和后台系统;
所述前台系统包括多个边缘缓存节点,所述边缘缓存节点为家庭内容服务器,用于用户信息的存储以及作为CDN边缘缓存设备存储流媒体资源;所述边缘缓存节点之间逻辑上以P2P方式通信;
所述后台系统包括内容路由模块、目录服务器、内容管理模块和运营管理模块;
所述内容路由模块用于把访问需求调度到最优的边缘缓存节点;
所述目录服务器模块用于维护系统中文件分片分布信息列表;
所述文件分片分布信息列表包括资源名称和贡献资源的用户地址;
所述内容管理模块每隔特定时间或者接收到一定次数的内容请求后,指导边缘缓存节点执行内容副本放置算法;同时,根据P2P用户的请求,更新内容服务器中的内容列表;
所述内容管理模块包括整体开销计算模块、缓存收益计算模块、缓存决策模块和缓存替换模块;
所述运营管理模块包括节点管理功能和网络管理功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111216815.XA CN116633921A (zh) | 2021-10-19 | 2021-10-19 | 基于边缘缓存的cdn-p2p网络及缓存方法、缓存放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111216815.XA CN116633921A (zh) | 2021-10-19 | 2021-10-19 | 基于边缘缓存的cdn-p2p网络及缓存方法、缓存放置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116633921A true CN116633921A (zh) | 2023-08-22 |
Family
ID=87601335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111216815.XA Pending CN116633921A (zh) | 2021-10-19 | 2021-10-19 | 基于边缘缓存的cdn-p2p网络及缓存方法、缓存放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116633921A (zh) |
-
2021
- 2021-10-19 CN CN202111216815.XA patent/CN116633921A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11431791B2 (en) | Content delivery method, virtual server management method, cloud platform, and system | |
US11194719B2 (en) | Cache optimization | |
KR101228230B1 (ko) | 컨텐츠 전달 네트워크 내의 노드에서 하나 이상의 컨텐츠 아이템을 캐싱하는 방법, 장치 및 제품 | |
US20190327507A1 (en) | Dynamic binding for use in content distribution | |
US8745262B2 (en) | Adaptive network content delivery system | |
US9380323B2 (en) | Cache eviction | |
KR20090097034A (ko) | 피어 투 피어 통신에서의 피어 선정 방법 및 그 시스템 | |
CN102438020A (zh) | 内容分发网络中内容分发的方法、设备和网络系统 | |
WO2018049563A1 (en) | Systems and methods for caching | |
Nguyen et al. | Adaptive caching for beneficial content distribution in information-centric networking | |
Lal et al. | A popularity based content eviction scheme via betweenness-centrality caching approach for content-centric networking (CCN) | |
Wu et al. | Intelligent data cache based on content popularity and user location for Content Centric Networks | |
JP2009122981A (ja) | キャッシュ配置方法 | |
CN114095573B (zh) | 基于边缘缓存的cdn-p2p网络的内容副本放置方法 | |
CN116633921A (zh) | 基于边缘缓存的cdn-p2p网络及缓存方法、缓存放置方法 | |
CN113992653B (zh) | 一种基于边缘缓存的cdn-p2p网络的内容下载、预存和替换方法 | |
JP7174372B2 (ja) | 分散ストレージネットワークにおけるデータ管理方法、装置、プログラム | |
CN114124971B (zh) | 一种基于边缘缓存的cdn-p2p网络的内容副本放置方法 | |
Mokhtarian | Content management in planet-scale video CDNs | |
CN113965588B (zh) | 一种面向内容中心网络的自治域内协同缓存方法 | |
Gao et al. | Distributed caching strategies in peer-to-peer systems | |
Su et al. | Scalable maintenance for strong web consistency in dynamic content delivery overlays | |
Sajeev | Intelligent pollution controlling mechanism for peer to peer caches | |
Papadakis et al. | Adaptive content caching simulation with visualization capabilities | |
Li et al. | Coordinated placement and replacement for grid-based hierarchical web caches |
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 |