CN116233147A - 一种基于ndn的高效边缘缓存方法 - Google Patents
一种基于ndn的高效边缘缓存方法 Download PDFInfo
- Publication number
- CN116233147A CN116233147A CN202211595863.9A CN202211595863A CN116233147A CN 116233147 A CN116233147 A CN 116233147A CN 202211595863 A CN202211595863 A CN 202211595863A CN 116233147 A CN116233147 A CN 116233147A
- Authority
- CN
- China
- Prior art keywords
- cache
- edge
- server
- edge server
- cost
- 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
Images
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
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种基于NDN的高效边缘缓存方法,属于计算机网络中的边缘缓存技术领域。本方法涉及用户向边缘服务器上传数据的场景,构建边缘缓存路由表和全网缓存代价表。当用户希望上传数据到边缘服务器时,首先根据路由代价表确定一个边缘服务器作为缓存的起点;在此基础上,此边缘服务器还以自身为起点根据边缘缓存路由表,选择网络中的一个边缘服务器作为缓存终点。终点边缘服务器和用户之间通过一次双向通信,缓存起点边缘服务器到缓存终点边缘服务器都能够缓存用户上传的内容,以实现对数据内容的分布式缓存。本方法适用于网络通信等领域,能够有效提高缓存效率,降低用户向边缘服务器请求数据时的响应时间。
Description
技术领域
本发明涉及一种基于NDN的高效边缘缓存方法,属于计算机网络中的边缘缓存技术领域。
背景技术
边缘缓存,指的是把数据缓存到靠近用户或数据源头的网络边缘侧,就近为用户提供边缘化智能服务,满足数字行业在敏捷联结、实时业务、数据优化、应用智能、安全与隐私保护等方面的关键需求。由于边缘服务器的存在,不需要将所有的数据都传输到数据中心,可以有效的节省网络带宽;同时广泛分布的边缘服务器可以实现数据的分布式缓存,提高通信系统的容错性。
目前边缘缓存的实现方式为:当用户向边缘服务器上传或下载数据时,需要首先通过中心服务器获取边缘服务器的IP地址,当用户发送上传或下载数据的请求时,网络将上传数据或下载数据请求传输到边缘服务器,边缘服务器发送请求应答后,用户与边缘服务器建立了端到端连接,并向边缘服务器上传或下载数据。目前边缘缓存在选择缓存节点和分布式缓存数据方面存在的不足如下:
(1)在缓存节点选择方面,在用户上传数据时通常需要依赖中心服务器选取合适的边缘服务器进行数据缓存,在用户下载数据时同样需要依赖中心服务器定位包含缓存数据的边缘服务器。边缘服务器的映射关系由中心服务器管理,终端用户仅解析需要上传或下载的缓存内容,确定与之对应的边缘服务器地址并发送获取数据或上传数据的请求。这种解决方案不仅会导致额外的网络开销和增加服务响应延迟,而且还会面临单点故障。
(2)在分布式缓存数据方面,由于边缘缓存往往要求同一份数据在多个边缘服务器中备份,当某一个边缘服务器中的数据损坏时,可以通过其他边缘服务器中的数据备份进行恢复。当用户向多个边缘服务器上传数据以实现分布式缓存时,每次上传数据都需要建立单独的通信链路,这极大的增加了通信系统的网络开销,降低了缓存效率。
上述不足的根源是目前边缘缓存采用基于TCP/IP的网络架构,使用基于IP地址的寻址模式和端到端的数据推送方式,即以主机为中心的通信模式。这种以主机为中心、位置为寻址的通信模式通信效率较低,不能支撑复杂的边缘缓存业务需求,无法高效的实现缓存节点选择以及对数据的分布式缓存。
作为未来的网络体系结构,以命名数据网络(NDN)通过命名数据而不是命名主机,实现了网络从以主机为中心到以内容为中心的根本转变。由于其强大的转发平面,NDN有可能为边缘计算提供比TCP/IP更高效的网络支持。首先,NDN通过在网络层转发中直接使用应用程序名称来解决应用程序名称到IP地址的映射问题,这简化了内容发现过程,不再需要集中式实体。其次,其路由和转发比IP更智能,NDN可以通过命名和转发信息直接将缓存任务转发到适当的边缘服务器。第三,NDN在网络层具有应用层语义信息,可以支持以分布式方式动态部署服务。第四,在缓存方面,与IP网络中相对集中控制的缓存相比,NDN缓存更有助于节省网络资源、提升用户请求响应速度、降低内容源服务器的负载。
NDN的网内缓存功能主要依赖于网络节点中的内容缓存表(Content Store,CS)。在NDN中,每个节点都会配备一定大小的缓存代价,CS将经由本节点传输的数据包都缓存下来,每当节点接收到兴趣包请求时,首先在CS中进行查找,若有响应的数据包,则直接将命中的数据包传回至请求方。如果未能在CS中找到对应的内容,则根据转发策略等进行进一步的转发处理。
这种直接将缓存任务转发到适当的网络节点,转发途径的网络节点缓存数据在内容缓存表中,当后续请求者请求相同名称内容时可以直接提供服务的机制可以用于边缘缓存领域,以实现高效的缓存节点选择和分布式缓存数据。
发明内容
针对TCP/IP边缘缓存在缓存节点选择和缓存数据共享方面存在“依赖中心服务器来选择适当的边缘服务器来缓存数据”以及“分布式存储数据时的通信开销较大”的技术缺陷,本发明的主要目的是提供一种基于NDN的高效边缘缓存方法,兼顾用户向边缘服务器上传数据的场景,构建边缘缓存路由表和全网缓存代价表。当用户希望上传数据到边缘服务器时,首先根据路由代价表确定一个边缘服务器作为缓存的起点;在此基础上,此边缘服务器还以自身为起点根据边缘缓存路由表,选择网络中的一个边缘服务器作为缓存终点。终点边缘服务器和用户之间通过一次双向通信,缓存起点边缘服务器到缓存终点边缘服务器都能够缓存用户上传的内容,以实现对数据内容的分布式缓存。本发明能够有效提高缓存效率,降低用户向边缘服务器请求数据时的响应时间。
本发明的目的是通过以下的技术方案实现的:
本发明公开一种基于NDN的高效边缘缓存方法,包括以下步骤:
步骤1、设置网络中心服务器并通告全网,具体包括如下子步骤:
步骤1.1在网络中确定中心服务器的位置;
所述中心服务器的作用是维护网络的全局拓扑,维护网络中边缘服务器的缓存代价表,并在通信的过程中具有路由的功能;
步骤1.2中心服务器向全网全部边缘服务器和路由器广播认证兴趣包,所有收到认证兴趣包的节点都在其转发信息表中添加一条至中心服务器的路由条目,并返回一个数据包作为确认,以保证网络中除中心服务器以外的所有节点对中心服务器是可达的;
步骤2、全网所有节点建立本地链路状态数据库并向中心服务器发送链路状态兴趣包,边缘服务器向中心服务器缓存状态兴趣包。具体包括如下子步骤:
步骤2.1网络中每两个相邻的节点互相向对方发送一次问候兴趣包,以确定网络中相邻节点的名称,链路状态及通信开销。
所述节点包含路由器和边缘服务器;
所述相邻节点为通信不需要经过另一个路由器或边缘服务器的两个节点;
所述问候兴趣包中的内容是“本节点的名称,向本节点发送数据的路由代价及邻接段标识”;
步骤2.2网络中各通信节点根据收到的所有问候兴趣包,记录本节点的所有相邻节点的名称以及对应链路的路由代价及链路的邻接段标识,形成本节点的链路状态数据库;
所述链路状态数据库的内容包括本节点的所有相邻节点的名称,对应链路的路由代价及邻接段标识;
步骤2.3网络中的所有节点向中心服务器发送链路状态兴趣包;边缘服务器向中心服务器发送缓存状态兴趣包;
所述链路状态兴趣包的内容是“本节点名称、本节点的所有相邻路由器名称,对应链路的路由代价及邻接段标识”,即本地路由器的链路状态数据库的所有信息;缓存状态兴趣包的内容是本边缘服务器可用的缓存空间。
步骤3、中心服务器建立全网拓扑结构图及全网缓存容量表,将全网拓扑结构图发送给网络中所有路由器和边缘服务器,将全网缓存代价表分发给所有边缘服务器。具体包括如下子步骤:
步骤3.1中心服务器汇总收到的所有链路状态兴趣包,建立全网拓扑结构图;
其中全网拓扑结构图的内容包括“本网络中所有节点的名称,对应链路的路由代价及邻接段标识”;
步骤3.2中心服务器汇总收到的所有缓存状态兴趣包,维护全网缓存代价表;
所述全网缓存代价表是根据网络中各边缘服务器的可用的缓存容量经过变换后得到的。缓存代价与缓存容量成负相关,即缓存容量越大,缓存代价越小。
步骤3.3中心服务器以“全网拓扑结构图”为内容封装拓扑数据包,以“全网缓存代价表”为内容封装缓存代价数据包。向网络中所有路由器和边缘服务器广播发送封装好的拓扑数据包,并向所有边缘服务器发送封装好的缓存代价数据包;
步骤3.4全网路由器和边缘服务器收到拓扑数据包后,获取全网拓扑结构图并保存。全网边缘服务器收到缓存代价数据包后,获取全网缓存代价表并保存;
所述步骤3.3和步骤3.4用于保证网络中所有路由器和边缘服务器都能够获得全网拓扑结构图,边缘服务器都能获得全网缓存代价表;
步骤4、各个路由器依赖全网拓扑结构图维护自身的转发信息表,边缘服务器建立一个边缘缓存路由表。具体包括如下子步骤:
步骤4.1路由器根据全网拓扑结构图和链路路由代价,使用Dijkstra最优路径算法计算得到自身的转发信息表,转发信息表中包含目标路由器或边缘服务器的名称,下一条接口以及路由代价Cr。
步骤4.2所有的边缘服务器维护一个边缘缓存路由表,用于后续的缓存节点选择。
所述“边缘缓存路由表”,包括“目标边缘计算服务器名称、到达该边缘计算服务器的所有路径,相应通信代价,以及出接口对应的邻接段标识”;
所述通信代价Cc通过计算路由代价Cr和缓存代价Cs以及Cc=Cr+Cs得到;出接口对应的邻接段标识从本节点的链路状态数据库中得到;
网络中存在边缘服务器都能够缓存数据,因此边缘缓存路由表中对应存在多个转发接口,对应每个边缘缓存服务器的转发接口必须声明其路由代价;
所述计算路由代价Cr,根据全网拓扑结构图中节点连接情况和链路路由代价计算得到;缓存代价Cs,根据中心服务器计算得出的全网缓存代价表,将路由途径的所有节点的缓存代价叠加后得到;边缘缓存路由表包括以本边缘服务器为起点的所有路由条目。
步骤5、用户发送缓存通告兴趣包到边缘服务器,兴趣包在网络中经由路由器转发,根据最短路径算法到达边缘服务器。最先到达的边缘服务器结合自身边缘缓存路由表中的通信代价及到目标节点的跳数选择最合适的缓存终点边缘服务器,并向兴趣包中添加邻接段标识,将兴趣包按照特定路径转发到终点边缘服务器,终点边缘服务器回复缓存应答数据包。具体包括如下子步骤:
步骤5.1用户发送缓存通告兴趣包、路由器接收兴趣包后根据转发信息表查询,并将缓存通告兴趣包转发到通信开销最小的边缘服务器。
所述“缓存通告兴趣包”的作用是向边缘服务器发送通告,说明用户想要上传数据。“缓存通告兴趣包”的内容包含“待上传的参数文件的大小、名称及所在节点名称”。
步骤5.2边缘服务器接收到缓存通告兴趣包后,结合自身边缘缓存路由表中的通信代价,选择三跳及以上的通信代价最低的路由条目的目标节点作为终点边缘服务器,同时将本地全网拓扑结构图中的邻接段标识信息添加到兴趣包中。本边缘服务器根据邻接段标识信息沿特定路径转发缓存通告兴趣包到终点边缘服务器。
所述本边缘服务器也能够称为缓存起点边缘服务器。本边缘服务器选择的路由条目对应的目标节点也能够称为终点边缘服务器。
跳数,指的是用户到目标边缘服务器途径的边缘服务器数量。跳数越多,说明一次通信能够缓存数据的边缘服务器越多,缓存效率越高。
步骤5.3终点边缘服务器收到兴趣包后反馈一个“缓存通告数据包”用作接收确认,说明终点边缘服务器已经和用户建立好了连接。
步骤6、终点边缘服务器根据缓存通告兴趣包中“待上传的文件大小”信息向用户发送特定数量的缓存任务兴趣包,根据“用户节点名称”区分不同的用户,并在自身的PIT表中记录“待上传参数文件的名称”。用户沿兴趣包相反路径返回缓存任务数据包,中间经过的边缘服务器基于LCE策略缓存任务数据包,并根据LRU策略对自身的缓存进行更新;
所述“缓存任务兴趣包”的作用是获取用户的数据,用户将“缓存内容数据包”按照缓存任务兴趣包转发的反向路径回传到终点边缘服务器;
LCE(Leave Copy Everywhere)策略指的是在数据返回路径中,每一节点都会缓存一份该内容的副本。
LRU(Least Recently Used)策略指的是利用最近的缓存内容作为参考的缓存替换策略,将缓存队列中最近最少使用的对象从缓存中删除,为新来的内容腾出可用的空间。
步骤7、边缘服务器向中心服务器发送缓存状态兴趣包,中心服务器更新全网缓存代价表并将缓存代价数据包发送到各边缘服务器节点,边缘服务器更新边缘缓存路由表。实现基于NDN的边缘缓存的高效利用,降低中心服务器的压力以及通信系统的网络开销,提高缓存效率,降低用户向边缘服务器请求数据时的响应时间。
所述“缓存状态兴趣包”包含本边缘服务器的可用缓存容量。
还包括步骤8、根据步骤6边缘服务器缓存的内容,能够验证数据获取时延和缓存命中率,检测是否能够实现在边缘缓存领域低延时,高缓存命中率的性能要求。此外,还能够将此方案应用于网络带宽受限,高动态拓扑的复杂网络中,解决缓存效率低、服务器响应时间长的相关实际问题。
有益效果:
本发明公开的一种基于NDN的高效边缘缓存方法,与现有基于TCP/IP的边缘缓存方法相比,具有如下有益效果:
1、与基于TCP/IP的代理边缘缓存解决方案相比,在缓存节点选择方面,当用户上传数据时,NDN的智能转发平面会将用户发送的缓存通告兴趣包转发到路由代价最低的边缘服务器,再由边缘服务器根据边缘缓存路由表进行缓存节点的选择,而不需要中心服务器进行缓存节点选择,降低中心服务器的压力以及通信系统的网络开销;
2、利用NDN的缓存机制,只需要缓存终点边缘服务器和用户之间的一次双向通信就能够让数据包经过的边缘节点都能缓存内容源,实现对用户上传内容的分布式缓存,提高边缘服务器缓存数据时的缓存效率;
3、利用链路的邻接段标识信息,采取段路由转发的方式,确保缓存通告兴趣包按照特定的路径转发,保证缓存节点的选择只由与用户路由代价最低的边缘服务器决定,避免缓存节点选择时不同边缘服务器存在歧义的情况;
4、当用户上传大型数据时,发送的数据包可能会分片发送。由于缓存通告兴趣包中包含“待上传数据大小”信息,而边缘服务器发送缓存任务兴趣包时已经知道需要返回数据包的总大小,因此在已知每个数据包大小的情况下,能够通过计算控制兴趣包的发送数量,实现系统中兴趣包和数据包数量的平衡。
附图说明
图1为本发明公开的一种基于NDN的边缘缓存的会话模型;包括边缘服务器向中心服务器发送自身可用缓存空间、中心服务器返回全网缓存代价表、用户发送缓存通告兴趣包、边缘服务器选择接收并查询边缘缓存路由表以及选择最优服务器缓存用户数据、边缘服务器获取用户上传数据数据等流程;
图2为本实施公开的一种基于NDN的高效边缘缓存方法的网络拓扑及中心服务器设置,以及缓存任务兴趣包和数据包流向图;
图3为本发明基于NDN的边缘缓存路由表建立中步骤四使用的Dijkstra最优路径算法的计算流程图;
图4为本发明公开的一种基于NDN的高效边缘缓存方法的流程示意图。
具体实施方式
下面将结合附图和实施例对本发明加以详细说明,同时论述本发明的技术方案解决的技术问题及有益效果。需要指出的是,所描述的实施例旨在便于对本发明的理解,对本发明不起任何限定作用。
本实施例基于NDN网络,用户和边缘服务器建立好连接后,用户向最近边缘服务器发送缓存通告兴趣包,边缘服务器根据边缘缓存路由表选择通信代价最低的目标节点作为终点边缘缓存服务器。终点边缘缓存服务器向用户发送缓存任务兴趣包,用户返回缓存结果数据包并在途径的边缘缓存服务器缓存代价数据包。本实施例中网络拓扑,节点设置及数据流向如图1所示;用户上传数据到边缘服务器的通信会话模型如图2所示。本实施例中,网络各节点的命名为“nodex(x=1,2,3……)”,节点包括路由器和边缘服务器,路由器和边缘服务器都具有路由功能,user为用户,server为中心服务器。用户要上传的内容记作“videox(x=1,2,3……)”。本实施例公开的一种基于NDN的高效边缘缓存方法,具体包含如下步骤:
步骤I、设置网络中心服务器并通告全网,具体包括如下子步骤:
步骤I.1在网络中心区域选定中心服务器,本实施例中节点server被设置为网络中心服务器,网络拓扑及中心服务器的设置如图1所示;
步骤I.2中心服务器广播发送名称为“/Server”的认证兴趣包,认证兴趣包的内容是“节点server为网络中心服务器”;所有收到认证兴趣包的路由器和边缘服务器在其转发信息表中添加一条名称为“/Server”的路由条目,对应的转发接口为收到认证兴趣包的接口;
步骤II、各路由器边缘服务器建立本地链路状态数据库,将链路状态和缓存代价并告知中心服务器,具体包括如下子步骤:
步骤II.1网络中每两个相邻的边缘服务器或路由器互相向对方发送一次问候兴趣包,问候兴趣包的名称为“/Hello/nodex/router”或“/Hello/nodex/server”(nodex是节点名称,x=1,2,3……);router代表当前节点是路由器,server代表当前节点是边缘服务器。问候兴趣包的内容是“本节点名称信息,向本节点发送数据的路由代价及链路的邻接段标识”;
步骤II.2各个路由器和边缘服务器根据收到的所有问候兴趣包,记录本节点的所有相邻节点名称以及对应链路的路由代价及链路的邻接段标识,形成本边缘服务器的链路状态数据库;本实施例中边缘服务器node1收到来自路由器node2、node4的问候兴趣包,路由器node1的链路状态数据库列表如表1所示;
表1路由器node1的链路状态数据库列表
相邻节点名称 | 转发接口 | 链路的路由代价 |
node2 | 接口1 | 100 |
node4 | 接口2 | 110 |
步骤II.3网络中除中心服务器以外的所有路由器和边缘服务器,向中心服务器发送链路状态兴趣包,边缘服务器还需要向中心服务器发送缓存状态兴趣包,链路状态兴趣包的名称为“/Server/nodex/linkstate”,缓存状态兴趣包的名称是“/Server/nodex/capacity”(nodex是本节点名称,x=1,2,3……),链路状态兴趣包的内容包括“本节点名称、本节点的链路状态数据库所有信息”;缓存状态兴趣包的内容包括“本边缘服务器的可用缓存容量”根据之前在各路由器的转发信息表中添加的名称为“/Server”的路由条目,链路状态兴趣包和缓存状态兴趣包会被转发至中心服务器;
步骤III、中心服务器建立全网拓扑结构图分发给全网各节点,建立全网缓存代价表分发给所有边缘服务器,具体包括如下子步骤:
步骤III.1中心服务器汇总收到的所有链路状态兴趣包建立全网拓扑结构图;本实施例中全网拓扑结构图的数据信息如表2所示;
表2全网拓扑结构图数据信息表
节点名称 | 相邻节点名称 | 链路的路由代价 |
node1 | node2 | 110 |
node1 | node4 | 100 |
node2 | node3 | 100 |
node2 | node5 | 120 |
node3 | node6 | 100 |
node3 | server | 300 |
node4 | node5 | 130 |
node4 | node7 | 100 |
node5 | node6 | 120 |
node5 | node8 | 100 |
node6 | node9 | 110 |
node6 | server | 320 |
node7 | node8 | 100 |
node8 | node9 | 130 |
node9 | server | 310 |
步骤III.2中心服务器汇总收到的所有缓存状态兴趣包并建立全网缓存代价表;其中缓存代价与节点的缓存容量成负相关,(缓存容量大,缓存代价就小)本实施例中全网缓存代价表的数据信息如表3所示;
表3全网缓存代价表
步骤III.3中心服务器向网络中所有节点广播发送名称为“/NET”的拓扑数据包,向所有边缘服务器发送“/STORE”的缓存代价数据包,拓扑数据包中的内容是“全网拓扑结构图”,容量数据包的内容是“全网缓存代价表”;
步骤III.4各路由器收到拓扑数据包后,获取全网拓扑结构图并保存。各边缘服务器收到拓扑数据包和容量数据包后,获取全网拓扑结构图和全网缓存代价表并保存;
步骤IV、各个路由器依赖全网拓扑结构图维护自身的转发信息表,边缘服务器依赖全网拓扑结构图和全网缓存代价表建立一个边缘缓存路由表;
步骤IV.1各个路由器依赖全网拓扑结构图和链路路由代价,使用Dijkstra最优路径算法计算得到自身的转发信息表,转发信息表中包含目标路由器或边缘服务器的名称,下一条接口以及路由代价Cr。
路由器node1的转发信息表如表4所示;
表4路由器node1的转发信息表
目的节点 | 转发接口 | 路由代价Cr |
node2 | 接口1 | 110 |
node3 | 接口1 | 210 |
node4 | 接口2 | 100 |
node5 | 接口1 | 230 |
node6 | 接口1 | 310 |
node7 | 接口2 | 200 |
node8 | 接口2 | 300 |
node9 | 接口1 | 420 |
server | 接口1 | 610 |
步骤IV.2每个边缘服务器根据全网拓扑结构图和全网缓存代价表建立边缘缓存路由表;
具体为:网络中所有的边缘服务器均在本边缘服务器中建立边缘缓存路由表;边缘缓存路由表包括目标边缘计算服务器名称、到达该边缘计算服务器的所有路径,相应通信代价,以及出接口对应的邻接段标识四部分。其中,节点名称在全网拓扑结构图中获得,通信代价由边缘服务器根据全网拓扑结构图和全网缓存代价表计算得到,邻接段标识在本地链路状态数据库中得到。本实施例中边缘服务器node5建立的边缘缓存路由表如表5所示。
表5边缘服务器node5的边缘缓存路由表
步骤V、用户发送缓存通告兴趣包到边缘服务器,兴趣包的命名实例为“/Producer/user/video”。兴趣包到达通信开销最小的的边缘服务器结合自身边缘缓存路由表中的通信代价与到目标节点的跳数选择最合适的目的边缘服务器,并向兴趣包中添加邻接段标识,将兴趣包按照特定路径转发到目标边缘服务器,目标目标边缘服务器回复缓存应答数据包。
步骤V.1用户发送缓存通告兴趣包,经网络转发到路由代价Cr最低的边缘服务器。
具体为:当用户发送的缓存通告兴趣包当用户从路由器node1接入网络时,node1会根据自身的转发信息表得知,到达边缘服务器node5的路由代价Cr最低,因此会首先将缓存通告兴趣包转发到node5处。
步骤V.2边缘服务器根据自身的边缘缓存路由表选择最佳的缓存路由路径,并向兴趣包中添加邻接段标识,兴趣包在网络中基于邻接段标识按照确定路径转发。具体为:
边缘服务器根据边缘缓存路由表中的通信代价及跳数,选择三跳及以上的通信代价最低的边缘服务器作为缓存目标节点。
在本实施例中,目的节点node9为距离边缘服务器node5三跳及以上通信代价最小的目的节点,具体路径为node5→node8→node9。因此边缘服务器node5会在缓存通告兴趣包前面加上邻接段标识803,902,使得缓存通告兴趣包沿着node5→node8→node9的路径转发到边缘服务器node9,边缘服务器node9向用户发送缓存应答数据包作为反馈。
步骤VI、边缘服务器node9沿node9→node8→node5向边缘服务器node5发送缓存任务兴趣包,缓存任务兴趣包的命名实例为“/video”。边缘服务器node5根据缓存通告兴趣包中的“文件所在节点名称”user,“文件的大小”32MB,结合通信系统中数据包的有效数据载荷,沿着node5→node4→node1向用户转发特定数量的缓存任务兴趣包。用户沿node1→node4→node5→node8→node9返回缓存任务数据包。边缘服务器node5,node8,node9基于LCE缓存策略缓存任务数据包,并根据LRU策略更新自身边缘服务器的可用缓存空间。
其中,边缘服务器发送的缓存任务兴趣包的数量能够由缓存通告兴趣包中“待上传的数据文件的大小”计算得到。假如用户上传数据文件的大小是32MB,每个数据包的有效数据载荷为1MB,边缘服务器就会发送32个缓存任务兴趣包用来获取用户要上传的数据。
步骤VII、边缘服务器node5,node8,node9向中心服务器发送缓存状态兴趣包,中心服务器更新全网缓存代价表并将缓存代价数据包发送到各边缘服务器节点,边缘服务器更新自身的边缘缓存路由表。
至此,基于NDN的边缘缓存方案介绍与使用过程结束。
本实施例中涉及到的系统会话模型如图2所示。其中包括边缘服务器获取全网缓存代价表,用户发送缓存通过兴趣包、边缘服务器查询边缘缓存路由表并确定终点边缘缓存服务器,终点边缘缓存服务器发送缓存任务兴趣包请求,用户传回待缓存任务数据包,途径的边缘服务器缓存数据包并向中心服务器发送缓存状态兴趣包更新自身的可用缓存空间。
本实施例中使用的多种兴趣包命名实例如表6所示;多种数据包命名实例如表7所示;
表6多种兴趣包命名实例表
表7多种数据包命名实例表
数据包类型 | 发送方 | 接收方 | 命名实例 |
拓扑数据包 | 中心服务器 | 全网节点 | /NET |
缓存代价数据包 | 中心服务器 | 边缘服务器 | /STORE |
缓存任务数据包 | 用户 | 终点边缘服务器 | /video |
本实施例描述了基于NDN的边缘缓存会话模型和使用方法,这种方法一方面改善了目前边缘缓存需要依赖中心服务器选择边缘缓存服务器带来的时间开销和网络资源浪费问题;另一方面,此方法只需要缓存终点边缘服务器和用户之间的一次双向通信就能够让数据包经过的边缘服务器都能缓存内容源,实现对用户上传内容的分布式缓存,提高了边缘服务器缓存数据时的缓存效率。此外,通过分布式缓存,当其他用户向边缘服务器请求资源时,能够有效的提高用户的响应效率。
该方法设计了一个边缘缓存路由表和全网缓存代价表。当用户希望上传数据到边缘服务器时,会首先根据路由代价确定一个边缘服务器作为缓存的起点。在此基础上,此边缘服务器还会以自身为起点根据边缘缓存路由表和全网缓存代价表根据通信代价和跳数选择网络中的一个边缘服务器作为缓存终点。本实施例通过终点边缘服务器向用户发送缓存任务兴趣包,用户返回缓存任务数据包并在途径的边缘服务器缓存数据包,最终实现了用户向边缘服务器上传数据,以及多个边缘服务器对用户上传数据的分布式缓存;通过缓存通告兴趣包定义待上传数据大小,进而控制边缘服务器在获取用户数据时发送的缓存任务兴趣包数量,实现了网络中兴趣包和数据包数量的平衡;通过边缘服务器建立边缘缓存路由表,实现了从多个边缘缓存服务器中选择最合适的边缘服务器来缓存数据。此系统能够降低分布式缓存服务的数据获取时延,对高难度和算法复杂的边缘缓存方案尤为适用。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于NDN的高效边缘缓存方法,其特征在于:包括如下步骤,
步骤1、设置网络中心服务器并通告全网;
步骤2、全网所有节点建立本地链路状态数据库并向中心服务器发送链路状态兴趣包,边缘服务器向中心服务器缓存状态兴趣包;
步骤3、中心服务器建立全网拓扑结构图及全网缓存容量表,将全网拓扑结构图发送给网络中所有路由器和边缘服务器,将全网缓存代价表分发给所有边缘服务器;
步骤4、各个路由器依赖全网拓扑结构图维护自身的转发信息表,边缘服务器建立一个边缘缓存路由表;
步骤5、用户发送缓存通告兴趣包到边缘服务器,兴趣包在网络中经由路由器转发,根据最短路径算法到达边缘服务器;最先到达的边缘服务器结合自身边缘缓存路由表中的通信代价及到目标节点的跳数选择最合适的缓存终点边缘服务器,并向兴趣包中添加邻接段标识,将兴趣包按照特定路径转发到终点边缘服务器,终点边缘服务器回复缓存应答数据包;
步骤6、终点边缘服务器根据缓存通告兴趣包中“待上传的文件大小”信息向用户发送特定数量的缓存任务兴趣包,根据“用户节点名称”区分不同的用户,并在自身的PIT表中记录“待上传参数文件的名称”;用户沿兴趣包相反路径返回缓存任务数据包,中间经过的边缘服务器基于LCE策略缓存任务数据包,并根据LRU策略对自身的缓存进行更新;
步骤7、边缘服务器向中心服务器发送缓存状态兴趣包,中心服务器更新全网缓存代价表并将缓存代价数据包发送到各边缘服务器节点,边缘服务器更新边缘缓存路由表;实现基于NDN的边缘缓存的高效利用,降低中心服务器的压力以及通信系统的网络开销,提高缓存效率,降低用户向边缘服务器请求数据时的响应时间。
2.如权利要求1所述的一种基于NDN的高效边缘缓存方法,其特征在于:还包括步骤8,根据步骤6边缘服务器缓存的内容,验证数据获取时延和缓存命中率,检测是否能够实现在边缘缓存领域低延时,高缓存命中率的性能要求。
3.如权利要求1所述的一种基于NDN的高效边缘缓存方法,其特征在于:应用于网络带宽受限,高动态拓扑的复杂网络中,解决缓存效率低、服务器响应时间长的相关技术问题。
4.如权利要求1、2或3所述的一种基于NDN的高效边缘缓存方法,其特征在于:步骤1的实现方法为,
步骤1.1在网络中确定中心服务器的位置;
所述中心服务器的作用是维护网络的全局拓扑,维护网络中边缘服务器的缓存代价表,并在通信的过程中具有路由的功能;
步骤1.2中心服务器向全网全部边缘服务器和路由器广播认证兴趣包,所有收到认证兴趣包的节点都在其转发信息表中添加一条至中心服务器的路由条目,并返回一个数据包作为确认,以保证网络中除中心服务器以外的所有节点对中心服务器是可达的。
5.如权利要求4所述的一种基于NDN的高效边缘缓存方法,其特征在于:步骤2的实现方法为,
步骤2.1网络中每两个相邻的节点互相向对方发送一次问候兴趣包,以确定网络中相邻节点的名称,链路状态及通信开销;
所述节点包含路由器和边缘服务器;
所述相邻节点为通信不需要经过另一个路由器或边缘服务器的两个节点;
所述问候兴趣包中的内容是“本节点的名称,向本节点发送数据的路由代价及邻接段标识”;
步骤2.2网络中各通信节点根据收到的所有问候兴趣包,记录本节点的所有相邻节点的名称以及对应链路的路由代价及链路的邻接段标识,形成本节点的链路状态数据库;
所述链路状态数据库的内容包括本节点的所有相邻节点的名称,对应链路的路由代价及邻接段标识;
步骤2.3网络中的所有节点向中心服务器发送链路状态兴趣包;边缘服务器向中心服务器发送缓存状态兴趣包;
所述链路状态兴趣包的内容是“本节点名称、本节点的所有相邻路由器名称,对应链路的路由代价及邻接段标识”,即本地路由器的链路状态数据库的所有信息;缓存状态兴趣包的内容是本边缘服务器可用的缓存空间。
6.如权利要求5所述的一种基于NDN的高效边缘缓存方法,其特征在于:步骤3的实现方法为,
步骤3.1中心服务器汇总收到的所有链路状态兴趣包,建立全网拓扑结构图;
其中全网拓扑结构图的内容包括“本网络中所有节点的名称,对应链路的路由代价及邻接段标识”;
步骤3.2中心服务器汇总收到的所有缓存状态兴趣包,维护全网缓存代价表;
所述全网缓存代价表是根据网络中各边缘服务器的可用的缓存容量经过变换后得到的;缓存代价与缓存容量成负相关,即缓存容量越大,缓存代价越小;
步骤3.3中心服务器以“全网拓扑结构图”为内容封装拓扑数据包,以“全网缓存代价表”为内容封装缓存代价数据包;向网络中所有路由器和边缘服务器广播发送封装好的拓扑数据包,并向所有边缘服务器发送封装好的缓存代价数据包;
步骤3.4全网路由器和边缘服务器收到拓扑数据包后,获取全网拓扑结构图并保存;全网边缘服务器收到缓存代价数据包后,获取全网缓存代价表并保存;
所述步骤3.3和步骤3.4用于保证网络中所有路由器和边缘服务器都能够获得全网拓扑结构图,边缘服务器都能获得全网缓存代价表。
7.如权利要求6所述的一种基于NDN的高效边缘缓存方法,其特征在于:步骤4的实现方法为,
步骤4.1路由器根据全网拓扑结构图和链路路由代价,使用Dijkstra最优路径算法计算得到自身的转发信息表,转发信息表中包含目标路由器或边缘服务器的名称,下一条接口以及路由代价Cr;
步骤4.2所有的边缘服务器维护一个边缘缓存路由表,用于后续的缓存节点选择;
所述“边缘缓存路由表”,包括“目标边缘计算服务器名称、到达该边缘计算服务器的所有路径,相应通信代价,以及出接口对应的邻接段标识”;
所述通信代价Cc通过计算路由代价Cr和缓存代价Cs以及Cc=Cr+Cs得到;出接口对应的邻接段标识从本节点的链路状态数据库中得到;
网络中存在边缘服务器都能够缓存数据,因此边缘缓存路由表中对应存在多个转发接口,对应每个边缘缓存服务器的转发接口必须声明其路由代价;
所述计算路由代价Cr,根据全网拓扑结构图中节点连接情况和链路路由代价计算得到;缓存代价Cs,根据中心服务器计算得出的全网缓存代价表,将路由途径的所有节点的缓存代价叠加后得到;边缘缓存路由表包括以本边缘服务器为起点的所有路由条目。
8.如权利要求7所述的一种基于NDN的高效边缘缓存方法,其特征在于:步骤5的实现方法为,
步骤5.1用户发送缓存通告兴趣包、路由器接收兴趣包后根据转发信息表查询,并将缓存通告兴趣包转发到通信开销最小的边缘服务器;
所述“缓存通告兴趣包”的作用是向边缘服务器发送通告,说明用户想要上传数据;“缓存通告兴趣包”的内容包含“待上传的参数文件的大小、名称及所在节点名称”;
步骤5.2边缘服务器接收到缓存通告兴趣包后,结合自身边缘缓存路由表中的通信代价,选择三跳及以上的通信代价最低的路由条目的目标节点作为终点边缘服务器,同时将本地全网拓扑结构图中的邻接段标识信息添加到兴趣包中;本边缘服务器根据邻接段标识信息沿特定路径转发缓存通告兴趣包到终点边缘服务器;
所述本边缘服务器也能够称为缓存起点边缘服务器;本边缘服务器选择的路由条目对应的目标节点也能够称为终点边缘服务器;
跳数,指的是用户到目标边缘服务器途径的边缘服务器数量;跳数越多,说明一次通信能够缓存数据的边缘服务器越多,缓存效率越高;
步骤5.3终点边缘服务器收到兴趣包后反馈一个“缓存通告数据包”用作接收确认,说明终点边缘服务器已经和用户建立好了连接。
9.如权利要求8所述的一种基于NDN的高效边缘缓存方法,其特征在于:
所述“缓存任务兴趣包”的作用是获取用户的数据,用户将“缓存内容数据包”按照缓存任务兴趣包转发的反向路径回传到终点边缘服务器;
LCE策略指的是在数据返回路径中,每一节点都会缓存一份该内容的副本;
LRU策略指的是利用最近的缓存内容作为参考的缓存替换策略,将缓存队列中最近最少使用的对象从缓存中删除,为新来的内容腾出可用的空间。
10.如权利要求9所述的一种基于NDN的高效边缘缓存方法,其特征在于:所述“缓存状态兴趣包”包含本边缘服务器的可用缓存容量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211595863.9A CN116233147A (zh) | 2022-12-12 | 2022-12-12 | 一种基于ndn的高效边缘缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211595863.9A CN116233147A (zh) | 2022-12-12 | 2022-12-12 | 一种基于ndn的高效边缘缓存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116233147A true CN116233147A (zh) | 2023-06-06 |
Family
ID=86581335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211595863.9A Pending CN116233147A (zh) | 2022-12-12 | 2022-12-12 | 一种基于ndn的高效边缘缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116233147A (zh) |
-
2022
- 2022-12-12 CN CN202211595863.9A patent/CN116233147A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE49943E1 (en) | System and method for a context layer switch | |
US9906436B2 (en) | Scalable name-based centralized content routing | |
US7830896B2 (en) | Server load balancing using IP option field approach to identify route to selected server | |
US7784055B2 (en) | Method and apparatus for routing data to a load balanced server using MPLS packet labels | |
US7490164B2 (en) | Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states | |
KR101467720B1 (ko) | 서비스 명명식 라우팅 방법 및 라우터 | |
US7512702B1 (en) | Method and apparatus providing highly scalable server load balancing | |
JP4677155B2 (ja) | コンピュータ通信ネットワークのためのオンデマンドなオーバーレイルーティング | |
US7552233B2 (en) | System and method for information object routing in computer networks | |
EP2420035B1 (en) | Method and apparatus for reducing traffic in a communications network | |
KR20160076445A (ko) | 정보 중심 네트워크들에서 링크 상태 정보를 사용한 효율적인 이름 기반 콘텐츠 라우팅을 위한 시스템 및 방법 | |
WO2013155992A1 (en) | Name-based neighbor discovery and multi-hop service discovery in information-centric networks | |
Alghamdi et al. | A novel fog computing based architecture to improve the performance in content delivery networks | |
Ascigil et al. | A native content discovery mechanism for the information-centric networks | |
Dong et al. | On the cache-and-forward network architecture | |
Nguyen et al. | Adaptive caching for beneficial content distribution in information-centric networking | |
EP1433051B1 (en) | System and method for information object routing in computer networks | |
Mishra et al. | A review on content centric networking and caching strategies | |
CN116233147A (zh) | 一种基于ndn的高效边缘缓存方法 | |
Xue et al. | A withered tree comes to life again: Enabling in-network caching in the traditional IP network | |
Alghamdi et al. | Fog-Based CDN Architecture Using ICN Approach for Efficient Large-Scale Content Distribution | |
Chai et al. | A distributed interdomain control system for information-centric content delivery | |
Pelsser et al. | Scalable support of interdomain routes in a single as | |
Alghamdi et al. | Research Article A Novel Fog Computing Based Architecture to Improve the Performance in Content Delivery Networks | |
CN113660162A (zh) | 一种临近缓存感知的半集中式路由方法及其系统 |
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 |