CN108984433B - 缓存数据控制方法及设备 - Google Patents
缓存数据控制方法及设备 Download PDFInfo
- Publication number
- CN108984433B CN108984433B CN201710412883.0A CN201710412883A CN108984433B CN 108984433 B CN108984433 B CN 108984433B CN 201710412883 A CN201710412883 A CN 201710412883A CN 108984433 B CN108984433 B CN 108984433B
- Authority
- CN
- China
- Prior art keywords
- cache node
- data
- edge
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000004044 response Effects 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 21
- 239000000872 buffer Substances 0.000 description 45
- 101000904787 Homo sapiens Serine/threonine-protein kinase ATR Proteins 0.000 description 19
- 102100023921 Serine/threonine-protein kinase ATR Human genes 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 101100355601 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RAD53 gene Proteins 0.000 description 14
- 230000009286 beneficial effect Effects 0.000 description 8
- 101150016833 mec-3 gene Proteins 0.000 description 7
- -1 and DGW1 Proteins 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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]
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种缓存数据控制方法及设备,应用于第一边缘缓存节点,所述方法包括:接收终端设备发送的数据获取请求,所述数据获取请求中包括待请求数据的标识;在所述第一边缘缓存节点中不包括所述待请求数据时,在所述第一边缘缓存节点对应的边缘缓存节点集合、及所述第一边缘缓存节点对应的中心缓存节点中,确定包括所述待请求数据的目标缓存节点;在所述目标缓存节点中获取待请求数据。用于提高向终端设备反馈数据信息的效率。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种缓存数据控制方法及设备。
背景技术
在数据服务器和终端设备之间通常部署有缓存节点,缓存节点可以缓存数据服务器中的部分数据,当终端设备需要从数据服务器中获取数据信息时,终端设备可以在从缓存节点中获取所需的数据信息。
目前,数据服务器和终端设备之间通常部署有两级缓存节点,分别记为一级缓存节点和二级缓存节点,其中,终端设备可以与第一缓存节点直接通信,一级缓存节点可以和二级缓存节点直接通信,二级缓存节点可以和数据服务器直接通信。当终端设备需要获取数据信息时,终端设备先向一级缓存节点请求获取数据信息,若一级缓存节点中缓存有该数据信息时,则向终端设备发送该数据信息;若一级缓存节点中未缓存有该数据信息,则一级缓存节点向二级缓存节点请求获取该数据信息,并向设备发送该数据信息;若二级缓存节点中也未缓存该数据信息,则二级缓存节点向数据服务器请求获取该数据信息,向一级缓存节点发送该数据信息,并由一级缓存节点向终端设备发送该数据信息。
由上可知,在现有技术中,终端设备需要获取数据信息时,必须逐级向各缓存节点、及数据服务器请求获取数据,导致向终端设备反馈数据信息的效率低下。
发明内容
本发明实施例提供一种缓存数据控制方法及设备,提高了向终端设备反馈数据信息的效率。
第一方面,本申请提供一种缓存数据控制方法,在第一边缘缓存节点接收到终端设备发送的、包括待请求数据的标识数据获取请求之后,第一边缘缓存节点判断其是否缓存有待请求数据,若是,则第一边缘缓存节点在本地获取待请求数据,若否,则第一边缘缓存节点在第一边缘缓存节点对应的边缘缓存节点集合、及第一边缘缓存节点对应的中心缓存节点中,确定包括待请求数据的目标缓存节点,并在目标缓存节点中获取待请求数据。
在上述过程中,由于第一边缘缓存节点可以与边缘缓存节点集合中的各个边缘缓存节点通信,使得第一边缘缓存节点可以在更多的缓存节点中获取待请求数据,进一步的,第一边缘缓存节点可以选择缓存有待请求数据的目标缓存节点,并在目标缓存节点中获取待请求数据,无需逐步向各级缓存节点请求获取待请求数据,进而提高了向终端设备反馈数据信息的效率。
在一种可能的实施方式中,在第一边缘缓存节点对应的边缘缓存节点集合、及第一边缘缓存节点对应的中心缓存节点中,确定包括待请求数据的目标缓存节点,包括:
根据待请求数据的标识,在边缘缓存节点集合和中心缓存节点中确定包括待请求数据的命中缓存节点;
根据命中缓存节点的个数、及命中缓存节点中包括的缓存节点类型,在命中缓存节点中确定目标缓存节点。
可选的,在确定命中缓存节点的个数为1时,则将命中缓存节点确定为目标缓存节点
可选的,在确定命中缓存节点中包括至少两个第二边缘缓存节点时,根据第一边缘缓存节点与每一个第二边缘缓存节点之间的链路质量,在至少两个第二边缘缓存节点中确定目标缓存节点;
可选的,在确定命中缓存节点中包括第三边缘缓存节点和中心缓存节点,向第三边缘缓存节点和目标缓存节点发送并行请求消息,并接收第三边缘缓存节点和目标缓存节点发送的并行响应消息,将最早接收到的并行响应消息对应的缓存节点确定为目标缓存节点。
在另一种可能的实施方式中,在确定边缘缓存节点集合和中心缓存节点中不存在命中缓存节点时,向数据服务器请求获取待请求数据;或者,向中心缓存节点发送数据获取请求,以使中心缓存节点在请求获取得到待请求数据后、向第一边缘缓存节点发送待请求数据。
第二方面,本申请提供一种缓存数据控制方法,在缓存控制器接收数据服务器发送的数据推送请求消息,数据推送请求消息中包括待推送数据的标识,待推送数据为数据服务器根据多个缓存节点的数据访问信息确定得到的,缓存控制器根据数据访问信息,确定待推送数据对应的边缘缓存节点,并向边缘缓存节点推送待推送数据。
在上述过程中,缓存控制器通过向数据服务器上报缓存节点的数据访问信息,使得数据服务器可以根据缓存节点的数据访问信息确定待推送数据,并向对应的边缘缓存节点推送该待推送数据,这样,数据服务器根据数据访问信息确定得到的待推送数据通常为用户较为喜欢的数据,并主动向边缘缓存节点推送待推送数据,当终端设备需要获取该数据时,边缘缓存节点即可向终端设备发送其缓存的数据信息,进而提高了向终端设备反馈数据信息的效率。
可选的,可以通过如下两种可行的实现方式向目标缓存节点推送待推送数据:
一种可行的实现方式:
向边缘缓存节点发送第一数据推送消息;
其中,第一数据推送消息包括数据服务器中的地址、及待推送数据的标识,第一数据推送消息用于指示边缘缓存节点在数据服务器中获取待推送数据。
另一种可行的实现方式:
向边缘缓存节点对应的中心缓存节点推送待推送数据;
向边缘缓存节点发送第二数据推送消息;
其中,第二数据推送消息包括中心缓存节点的地址、及待推送数据的标识,第二数据推送消息用于指示边缘缓存节点在中心缓存节点中获取待推送数据。
第三方面,本申请提供一种边缘缓存节点,包括:包括接收器、处理器、存储器及通信总线,所述存储器用于存储程序指令,所述通信总线用于实现各元器件之间的连接,所述处理器用于读取所述存储器中的程序指令,其中,
所述接收器用于,接收终端设备发送的数据获取请求,所述数据获取请求中包括待请求数据的标识;
所述处理器用于,在所述边缘缓存节点中不包括所述待请求数据时,在所述边缘缓存节点对应的边缘缓存节点集合、及所述边缘缓存节点对应的中心缓存节点中,确定包括所述待请求数据的目标缓存节点;
所述处理器还用于,在所述目标缓存节点中获取待请求数据。
在一种可能的实施方式中,所述处理器具体用于:
根据所述待请求数据的标识,在所述边缘缓存节点集合和所述中心缓存节点中确定包括所述待请求数据的命中缓存节点;
根据所述命中缓存节点的个数、及所述命中缓存节点中包括的缓存节点类型,在所述命中缓存节点中确定所述目标缓存节点。
在另一种可能的实施方式中,所述处理器具体用于:
在确定所述命中缓存节点的个数为1时,则将所述命中缓存节点确定为所述目标缓存节点
在确定所述命中缓存节点中包括至少两个第二边缘缓存节点时,根据所述边缘缓存节点与每一个第二边缘缓存节点之间的链路质量,在所述至少两个第二边缘缓存节点中确定所述目标缓存节点;
在确定所述命中缓存节点中包括第三边缘缓存节点和中心缓存节点,向所述第三边缘缓存节点和所述目标缓存节点发送并行请求消息,并接收所述第三边缘缓存节点和所述目标缓存节点发送的并行响应消息,将最早接收到的并行响应消息对应的缓存节点确定为所述目标缓存节点。
在另一种可能的实施方式中,所述边缘缓存节点还包括发送器,其中,
所述发送器用于,在所述处理器确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,向数据服务器请求获取所述待请求数据;
或者,
所述发送器用于,在所述处理器确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,向所述中心缓存节点发送所述数据获取请求,以使所述中心缓存节点在请求获取得到所述待请求数据后、向所述边缘缓存节点发送所述待请求数据。
第四方面,本申请提供一种缓存控制器,包括接收器、处理器、发送器、存储器及通信总线,所述存储器用于存储程序指令,所述通信总线用于实现各元器件之间的连接,所述处理器用于读取所述存储器中的程序指令,其中,
所述接收器用于,接收所述数据服务器发送的数据推送请求消息,所述数据推送请求消息中包括待推送数据的标识,所述待推送数据为所述数据服务器根据多个缓存节点的数据访问信息确定得到的;
所述处理器用于,根据所述数据访问信息,确定所述待推送数据对应的边缘缓存节点;
所述发送器用于,向所述边缘缓存节点推送所述待推送数据。
在一种可能的实施方式中,所述发送器具体用于:
向所述边缘缓存节点发送第一数据推送消息;
其中,所述第一数据推送消息包括所述数据服务器中的地址、及所述待推送数据的标识,所述第一数据推送消息用于指示所述边缘缓存节点在所述数据服务器中获取所述待推送数据。
在另一种可能的实施方式中,所述发送器具体用于:
向所述边缘缓存节点对应的中心缓存节点推送所述待推送数据;
向所述边缘缓存节点发送第二数据推送消息;
其中,所述第二数据推送消息包括所述中心缓存节点的地址、及所述待推送数据的标识,所述第二数据推送消息用于指示所述边缘缓存节点在所述中心缓存节点中获取所述待推送数据。
第五方面,本申请提供一种缓存数据控制装置,应用于第一边缘缓存节点,所述缓存数据控制装置包括接收模块、确定模块和获取模块,其中,
所述接收模块用于,接收终端设备发送的数据获取请求,所述数据获取请求中包括待请求数据的标识;
所述确定模块用于,在所述第一边缘缓存节点中不包括所述待请求数据时,在所述第一边缘缓存节点对应的边缘缓存节点集合、及所述第一边缘缓存节点对应的中心缓存节点中,确定包括所述待请求数据的目标缓存节点;
所述获取模块用于,在所述目标缓存节点中获取待请求数据。
在一种可能的实施方式中,所述确定模块包括第一确定单元和第二确定单元,其中,
所述第一确定单元用于,根据所述待请求数据的标识,在所述边缘缓存节点集合和所述中心缓存节点中确定包括所述待请求数据的命中缓存节点;
所述第二确定单元用于,根据所述命中缓存节点的个数、及所述命中缓存节点中包括的缓存节点类型,在所述命中缓存节点中确定所述目标缓存节点。
在另一种可能的实施方式中,所述第二确定单元具体用于:
在确定所述命中缓存节点的个数为1时,则将所述命中缓存节点确定为所述目标缓存节点
在确定所述命中缓存节点中包括至少两个第二边缘缓存节点时,根据所述第一边缘缓存节点与每一个第二边缘缓存节点之间的链路质量,在所述至少两个第二边缘缓存节点中确定所述目标缓存节点;
在确定所述命中缓存节点中包括第三边缘缓存节点和中心缓存节点,向所述第三边缘缓存节点和所述目标缓存节点发送并行请求消息,并接收所述第三边缘缓存节点和所述目标缓存节点发送的并行响应消息,将最早接收到的并行响应消息对应的缓存节点确定为所述目标缓存节点。
在另一种可能的实施方式中,所述缓存数据控制装置还包括发送模块,其中,
所述发送模块用于,在所述确定模块确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,向数据服务器请求获取所述待请求数据;
或者,
所述发送模块用于,在所述确定模块确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,向所述中心缓存节点发送所述数据获取请求,以使所述中心缓存节点在请求获取得到所述待请求数据后、向所述第一边缘缓存节点发送所述待请求数据。
第六方面,本申请提供一种缓存数据控制装置,应用于缓存控制器,所述缓存数据控制装包括接收模块、确定模块和发送模块,其中,
所述接收模块用于,接收所述数据服务器发送的数据推送请求消息,所述数据推送请求消息中包括待推送数据的标识,所述待推送数据为所述数据服务器根据多个缓存节点的数据访问信息确定得到的;
所述确定模块用于,根据所述数据访问信息,确定所述待推送数据对应的边缘缓存节点;
所述发送模块用于,向所述边缘缓存节点推送所述待推送数据。
在一种可能的实施方式中,所述发送模块具体用于:
向所述边缘缓存节点发送第一数据推送消息;
其中,所述第一数据推送消息包括所述数据服务器中的地址、及所述待推送数据的标识,所述第一数据推送消息用于指示所述边缘缓存节点在所述数据服务器中获取所述待推送数据。
在另一种可能的实施方式中,所述发送模块具体用于:
向所述边缘缓存节点对应的中心缓存节点推送所述待推送数据;
向所述边缘缓存节点发送第二数据推送消息;
其中,所述第二数据推送消息包括所述中心缓存节点的地址、及所述待推送数据的标识,所述第二数据推送消息用于指示所述边缘缓存节点在所述中心缓存节点中获取所述待推送数据。
本申请提供的缓存数据控制方法及设备,在第一边缘缓存节点接收到终端设备发送的数据获取请求之后,若第一边缘缓存节点中未缓存终端设备需要的待请求数据,则第一边缘缓存节点在第一边缘缓存节点对应的边缘缓存节点集合、及第一边缘缓存节点对应的中心缓存节点中确定目标缓存节点,该目标缓存节点为包括待请求数据的节点,第一边缘缓存节点向该目标缓存节点请求获取待请求数据,并向终端设备发送待请求数据。由于第一边缘缓存节点可以与边缘缓存节点集合中的各个边缘缓存节点通信,使得第一边缘缓存节点可以在更多的缓存节点中获取待请求数据,进一步的,第一边缘缓存节点可以选择缓存有待请求数据的目标缓存节点,并在目标缓存节点中获取待请求数据,无需逐步向各级缓存节点请求获取待请求数据,进而提高了向终端设备反馈数据信息的效率。
附图说明
图1为本申请提供的缓存数据控制的网络架构图;
图2为本申请提供的缓存数据控制方法的流程示意图一;
图3为本发明实施例提供的确定目标缓存节点方法的流程示意图;
图4为本申请提供的缓存数据控制方法的流程示意图二;
图5为本申请提供的缓存数据控制方法的流程示意图三;
图6为本申请提供的缓存数据控制方法的流程示意图四;
图7为本申请提供的边缘缓存节点的结构示意图一;
图8为本申请提供的边缘缓存节点的结构示意图二;
图9为本申请提供的缓存控制器的结构示意图;
图10为本申请提供的一种缓存数据控制装置的结构示意图一;
图11为本申请提供的一种缓存数据控制装置的结构示意图二;
图12为本申请提供的另一种缓存数据控制装置的结构示意图。
具体实施方式
图1为本申请提供的缓存数据控制的网络架构图。请参见图1,包括终端设备101、多个边缘缓存节点102-1至102-3、多个中心缓存节点103-1至103-2、数据服务器104、缓存控制器105和链路质量采集服务器106。数据服务器104中存储着终端设备101所需的多种数据信息,边缘缓存节点和中心缓存节点中缓存有数据服务器104中的部分数据信息。
请参见图1,多个边缘缓存节点构成一个边缘缓存节点集合,同一个边缘缓存节点集合中的每两个边缘缓存节点之间均可以直接通信,例如,每两个边缘缓存节点之间可以采用虚拟专用网络(Virtual Private Network,简称VPN)方式通信,通常位于一个临近区域内的多个边缘缓存节点可以构成一个边缘缓存节点集合。多个中心缓存节点构成一个中心缓存节点集合,同一个中心缓存节点集合中的每两个中心缓存节点之间均可以直接通信,例如,每两个中心缓存节点之间可以VPN方式通信,通常位于一个临近区域内的多个中心缓存节点可以构成一个中心缓存节点集合。同一边缘缓存节点集合中的多个边缘缓存节点通常对应一个中心缓存节点,该边缘缓存节点集合中的多个边缘缓存节点可以与对应的中心缓存节点直接通信。
缓存控制器105可以与各个缓存节点(边缘缓存节点和中心缓存节点)、及数据服务器104通信。缓存控制器可以获取各个缓存节点中缓存的数据的标识;缓存控制器还可以采集每一个缓存节点的数据访问信息,数据访问信息中可以包括各数据信息被访问的次数等,并向数据服务器发送缓存节点的数据访问信息;缓存控制器还可以向缓存节点推送数据服务器确定得到的推送数据。
链路质量采集服务器106可以采集边缘缓存节点集合中每两个边缘缓存节点之间的链路质量,还可以向每个边缘缓存节点发送采集得到的链路质量。
需要说明的是,图1只是以示例的形式示意一种网络架构,当然,在网络架构中还可以包括更多级缓存节点,例如三级缓存节点等。本申请对可适用于的网络架构不作具体限定。
在本申请中,在一个边缘缓存节点接收到终端设备发送的数据获取请求之后,若该边缘缓存节点中未存储有终端设备所需的数据信息,则该缓存节点可以在边缘缓存节点集合和对应的中心缓存节点中确定目标缓存节点,并向目标缓存节点获取数据信息,无需逐级的获取数据信息,这样,可以快速获取得到所需的数据信息,进而提高获取数据信息的效率。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行赘述。
图2为本申请提供的缓存数据控制方法的流程示意图一。请参见图2,该方法可以包括:
S201、第一边缘缓存节点接收终端设备发送的数据获取请求,数据获取请求中包括待请求数据的标识。
在本申请中,边缘缓存节点通常为可以与终端设备直接通信的缓存节点,例如,边缘缓存节点可以为移动边缘计算(Mobile Edge Computing,简称MEC)节点。中心缓存节点通常为可以与数据服务器直接通信的缓存节点,例如,中心缓存节点可以为分布式网关(Distributed Gateway,DGW)。
可选的,待请求数据的标识可以为待请求数据的统一资源定位符(UniformResource Locator,简称URL)地址。
当然,在实际应用过程中,数据获取请求中还可以包括其它内容,例如终端设备的标识等。可以根据实际需要设置数据获取请求中包括的内容,本申请对此不作具体限定。
S202、第一边缘缓存节点判断第一边缘缓存节点中是否包括待请求数据。
若是,则执行S203。
若否,则执行S204-S205。
可选的,在第一边缘缓存节点中可以包括第一边缘缓存节点中缓存的所有数据的标识,相应的,第一边缘缓存节点可以根据待请求数据的标识、及第一边缘缓存节点中缓存的所有数据的标识,判断第一边缘缓存节点中是否存储有待请求数据。
S203、第一边缘缓存节点在第一边缘缓存节点中获取待请求数据,并向终端设备发送待请求数据。
若第一缓存节点中缓存有待请求数据,则第一缓存节点直接在第一缓存节点中获取待请求数据,并向终端设备发送待请求数据。
S204、第一边缘缓存节点在第一边缘缓存节点对应的边缘缓存节点集合、及第一边缘缓存节点对应的中心缓存节点中,确定包括待请求数据的目标缓存节点。
可选的,第一边缘缓存节点对应的边缘缓存节点集合为第一边缘缓存节点所在的边缘缓存节点集合。边缘缓存节点集合中包括多个边缘缓存节点,第一边缘缓存节点通常与边缘缓存节点集合中的边缘缓存节点位于同一临近区域内。
一个边缘缓存节点通常对应一个中心缓存节点,一个中心缓存节点可以对应多个边缘缓存节点,其中,边缘缓存节点与对应的中心缓存节点可以直接通信。
需要说明的是,在图3所示的实施例中对确定目标缓存节点的方法进行详细说明,此处不再进行赘述。
还需要说明的是,若边缘缓存节点集合和中心缓存节点中不存在目标缓存节点,则第一边缘缓存节点可以通过如下两种可行的实现方式获取待请求数据:
一种可行的实现方式:
第一边缘缓存节点向数据服务器请求获取所述待请求数据。
可选的,第一边缘缓存节点可以向数据服务器发送数据获取请求,该数据获取请求中可以包括第一边缘缓存节点的标识和待请求内容的标识。相应的,数据服务器向第一边缘缓存节点发送待请求数据。
在第一边缘缓存节点获取得到待请求数据之后,第一边缘缓存节点可以缓存该待请求数据。在第一边缘缓存节点缓存待请求数据之后,还可以向缓存控制器发送更新请求,以使缓存控制器更新第一边缘缓存节点中缓存的数据的标识。
另一种可行的实现方式:
第一边缘缓存节点向中心缓存节点发送数据获取请求,以使中心缓存节点在请求获取得到请求数据后、向第一边缘缓存节点发送所述待请求数据。
可选的,第一边缘缓存节点向中心缓存节点发送数据获取请求,该数据获取请求中可以包括第一边缘缓存节点的标识和待请求内容的标识,中心缓存节点接收到数据获取请求之后,在相邻的中心缓存节点中、或者数据服务器中获取待请求数据,并向第一边缘缓存节点发送该待请求数据。
在中心缓存节点获取得到待请求数据之后,中心缓存节点缓存该待请求数据,在中心缓存节点缓存待请求数据之后,还可以向缓存控制器发送更新请求,以使缓存控制器更新中心缓存节点中缓存的数据的标识。在第一边缘缓存节点获取得到待请求数据之后,第一边缘缓存节点可以缓存该待请求数据。在第一边缘缓存节点缓存待请求数据之后,还可以向缓存控制器发送更新请求,以使缓存控制器更新第一边缘缓存节点中缓存的数据的标识。
S205、第一边缘缓存节点在目标缓存节点中获取待请求数据,并向终端设备发送待请求数据。
在实际应用过程中,在第一边缘缓存节点向终端设备发送待请求数据之后,第一边缘缓存节点可以将待请求数据缓存在本地,这样,在下一次接收到请求该数据的数据获取请求时,可以直接向终端设备发送本地缓存的该数据。
本申请提供的缓存数据控制方法,在第一边缘缓存节点接收到终端设备发送的数据获取请求之后,若第一边缘缓存节点中未缓存终端设备需要的待请求数据,则第一边缘缓存节点在第一边缘缓存节点对应的边缘缓存节点集合、及第一边缘缓存节点对应的中心缓存节点中确定目标缓存节点,该目标缓存节点为包括待请求数据的节点,第一边缘缓存节点向该目标缓存节点请求获取待请求数据,并向终端设备发送待请求数据。由于第一边缘缓存节点可以与边缘缓存节点集合中的各个边缘缓存节点通信,使得第一边缘缓存节点可以在更多的缓存节点中获取待请求数据,进一步的,第一边缘缓存节点可以选择缓存有待请求数据的目标缓存节点,并在目标缓存节点中获取待请求数据,无需逐步向各级缓存节点请求获取待请求数据,进而提高了向终端设备反馈数据信息的效率。
在上述任意一个实施例的基础上,可选的,可以通过如下可行的实现方式确定包括待请求数据的目标缓存节点(图2所示实施例中的S204),具体的,请参见图3所示的实施例。
图3为本发明实施例提供的确定目标缓存节点方法的流程示意图。请参见图3,该方法可以包括:
S301、根据待请求数据的标识,在边缘缓存节点集合和中心缓存节点中确定包括待请求数据的命中缓存节点。
可选的,第一边缘缓存节点中可以获取得到预设缓存数据列表,预设缓存数据列表中包括多个缓存节点的标识、及每一个缓存节点中缓存数据的标识;相应的,第一边缘缓存节点可以根据待请求数据的标识和该预设缓存列表,在边缘缓存节点集合和中心缓存节点中确定命中缓存节点。
可选的,预设缓存数据列表可以为缓存控制器发送给第一边缘缓存节点的,预设缓存数据列表也可以为第一边缘缓存节点在缓存控制器中获取得到的。其中,预设缓存数据列表为缓存控制器根据缓存节点中包括的数据的标识生成的。可以由缓存控制器向缓存节点请求缓存节点中缓存的数据标识,也可以由缓存节点主动向缓存控制器上报其缓存的数据的标识。
可选的,一个网络框架中的所有缓存节点可以对应一个预设缓存数据列表。相应的,预设缓存数据列表中可以包括网络架构中每一个缓存节点缓存的数据的标识、及每一个缓存节点中缓存的数据的标识。例如,该预设缓存数据列表可以如表1所示:
表1
缓存节点的标识 | 缓存数据的标识 |
边缘缓存节点1 | URL1、URL3、URL4…… |
边缘缓存节点2 | URL2、URL3、URL4…… |
…… | …… |
边缘缓存节点M | URL1、URL2、URL3…… |
中心缓存节点1 | URL3、URL4、URL6…… |
中心缓存节点2 | URL3、URL4、URL5…… |
…… | …… |
中心缓存节点N | URL5、URL6、URL7…… |
请参见表1,在预设缓存数据列表中包括网络架构中所有的边缘缓存节点中缓存的数据的标识、及网络架构中所有的中心缓存节点中缓存的数据的标识。
可选的,每一个边缘缓存节点集合可以对应一个预设缓存数据列表。相应的,预设缓存数据列表中包括边缘缓存节点集合中每一个边缘缓存节点和对应的中心缓存节点的标识、及边缘缓存节点集合中每一个边缘缓存节点和对应的中心缓存节点中缓存的数据的标识。例如,针对任意一个边缘缓存节点集合1,该边缘缓存节点集合1对应的预设缓存数据列表可以如表2所示:
表2
缓存节点的标识 | 缓存数据的标识 |
边缘缓存节点1 | URL1、URL3、URL4…… |
边缘缓存节点2 | URL2、URL3、URL4…… |
边缘缓存节点3 | URL1、URL2、URL3…… |
中心缓存节点1 | URL5、URL6、URL7…… |
请参见表2,边缘缓存节点集合1中包括边缘缓存节点1-边缘缓存节点3,边缘缓存节点集合1对应的中心缓存节点为中心缓存节点1。该预设缓存数据列表中仅包括边缘缓存节点集合1中的边缘缓存节点和中心缓存节点1中缓存的数据的标识。
S302、根据命中缓存节点的个数、及命中缓存节点中包括的缓存节点类型,在命中缓存节点中确定目标缓存节点。
当命中缓存节点的个数为1时,则将该一个命中缓存节点确定为目标缓存节点。
当命中缓存节点的个数大于1时,再根据命中缓存节点中包括的缓存节点的类型,在命中缓存节点中确定目标缓存节点,具体的,包括至少一下两种情况:
一种可能的情况:命中缓存节点中包括至少两个第二边缘缓存节点。
在该种可能的情况中,第一边缘缓存节点获取与每一个第二边缘缓存节点之间的链路质量,并根据与每一个第二边缘缓存节点之间的链路质量,在至少两个第二边缘缓存节点中确定目标缓存节点。
可选的,链路质量采集服务器可以实时或周期性的采集每个边缘缓存节点集合中每两个边缘缓存节点之间的链路质量,并存储或向边缘缓存节点发送采集得到的链路质量;相应的,第一边缘缓存节点可以根据链路质量采集服务器采集得到的链路质量,确定与每一个第二边缘缓存节点之间的链路质量。
可选的,第一边缘缓存节点可以将与其链路质量最高的第二边缘缓存节点确定为目标缓存节点。
另一种可能的情况:命中缓存节点中包括第三边缘缓存节点和中心缓存节点。
在该种可能的情况中,同时向第三边缘缓存节点和目标缓存节点发送并行请求消息,并接收第三边缘缓存节点和目标缓存节点发送的并行响应消息,将最早接收到的并行响应消息对应的缓存节点确定为目标缓存节点。
可选的,并行请求消息中可以包括第一边缘缓存节点的地址、待请求内容的标识、和并行请求标识符,相应的,并行响应消息中可以包括第一边缘缓存节点的地址、待请求内容的标识和内容确认标识符。当然,在并行请求消息和并行响应消息中还可以包括其它内容,本申请对此不作具体限定。
可选的,对于较晚接收到的并行响应消息对应的缓存节点,第一边缘缓存节点还可以向该缓存节点发送拒绝消息,该拒绝消息用于指示该缓存节点取消向第一边缘缓存节点发送待请求数据。可选的,拒绝消息中可以包括第一边缘缓存节点的地址、待请求内容的标识和内容拒绝标识符。当然,在拒绝消息中还可以包括其它内容,本申请对此不作具体限定。
需要说明的是,在该种可能的情况中,当命中缓存节点中包括的第三边缘缓存节点的个数大于1时,则先根据第一边缘缓存节点与各第三边缘缓存节点之间的链路质量,在多个第三边缘缓存节点中选择出一个第三边缘缓存节点,并对选择得到的第三边缘缓存节点和中心缓存节点执行上述过程,以在选择得到的第三边缘缓存节点和中心缓存节点中确定目标缓存节点。
例如,假设第一边缘缓存节点为边缘缓存节点1,命中缓存节点中包括两个边缘缓存节点(分别记为边缘缓存节点2和边缘缓存节点3)和中心缓存节点1。则边缘缓存节点1先根据与边缘缓存节点2和边缘缓存节点3之间的链路质量,在边缘缓存节点2和边缘缓存节点3中选择出一个边缘缓存节点,假设边缘缓存节点2与边缘缓存节点1之间的链路质量大于边缘缓存节点3与边缘缓存节点1之间的链路质量,则选择边缘缓存节点2。
边缘缓存节点1同时向边缘缓存节点2和中心缓存节点1发送并行请求消息,边缘缓存节点2和中心缓存节点1在接收到并行请求消息之后,向边远缓存节点1发送并行响应消息。假设边缘缓存节点1先接收到边远缓存节点2发送的并行响应消息,则边缘缓存节点1将边缘缓存节点2确定为目标缓存节点。进一步的,边缘缓存节点1还向中心缓存节点1发送拒绝消息,以指示中心缓存节点1不要向边缘缓存节点1发送待请求数据。
在上述任意一个实施例的基础上,下面,结合图4,通过具体示例,对上述方法实施例所示的技术方案进行详细说明。
在图4所示的实施例中,第一边缘缓存节点为MEC1,MEC1所在的MEC集合1中还包括MEC2和MEC3。再假设MEC集合1对应的中心缓存节点为DGW1,该DGW1所在的DGW集合中还包括DGW2。
图4为本申请提供的缓存数据控制方法的流程示意图二。请参见图4,该方法可以包括:
S401、终端设备向MEC1发送数据获取请求,数据获取请求中包括数据信息1的URL。
S402、MEC1判断ME1中是否包括数据信息1。
若是,则执行S403。
若否,则执行
S403、MEC1向终端设备发送MEC1中的数据信息1。
S404、MEC1在MEC2、MEC3和DGW1中确定命中缓存节点。
假设MEC2、MEC3和DGW1中均缓存有数据信息1,则MEC1将MEC2、MEC3和DGW1确定为命中缓存节点。
S405、MEC1获取与MEC2和MEC3之间的链路质量,并确定MEC1与MEC2的链路质量大于与MEC3的链路质量。
S406、MEC1同时向MEC2和DGW1同时发送并行请求消息。
S407、MEC2和DGW1向MEC1发送并行响应消息。
S408、假设MEC1先收到MEC2发送的并行响应消息,MEC1向DGW1发送拒绝消息。
S409、MEC2向MEC1发送数据信息1。
S410、MEC1向终端设备发送数据信息1。
在上述过程中,在MEC1接收到终端设备发送的数据获取请求之后,若MEC1中未缓存终端设备需要的待请求数据,则MEC1在MEC2、MEC3和DGW1中确定目标节点为MEC2,其中,MEC2中包括终端设备请求的数据信息1,且MEC2与MEC1的链路质量较高,因此,MEC1可以快速获取得到数据信息1,并快速向终端设备发送数据信息1,提高了向终端设备反馈数据信息的效率。
图5为本申请提供的缓存数据控制方法的流程示意图三。请参见图5,该方法可以包括:
S501、缓存控制器接收数据服务器发送的数据推送请求消息,数据推送请求消息中包括待推送数据的标识,待推送数据为数据服务器根据多个缓存节点的数据访问信息确定得到的。
在图5所示的实施例中,缓存控制器可以实时或周期性的获取缓存节点的数据访问信息,可选的,数据访问信息可以包括缓存节点中每条数据被访问的时刻,数据访问信息也可以包括缓存节点中各数据的被访问次数。当然,数据访问信息中还可以包括访问缓存节点中各数据的用户的属性信息等,在实际应用过程中,可以根据实际需要设置数据访问信息中包括的内容,本申请对此不作具体限定。
在缓存控制器获取得到缓存节点的数据访问信息之后,缓存控制器可以直接将获取得到的数据访问信息发送给数据服务器,也可以对数据访问信息进行汇总,并向数据服务器发送汇总后的数据访问信息。
在数据服务器接收到数据访问信息之后,数据服务器根据数据访问信息确定待推送数据,可选的,数据服务器可以根据数据访问信息,确定热门数据类型,并将热门数据类型对应的数据确定为待推送数据。
可选的,数据推送请求消息中还可以包括其它内容,例如数据服务器的地址、待推送数据的类型等。当然,在实际应用过程中,可以根据实际需要设置数据推送请求中包括的内容,本申请对此不作具体限定。
S502、缓存控制器所述数据访问信息,确定待推送数据对应的边缘缓存节点。
可选的,数据访问信息中可以包括访问缓存节点中各数据的用户的属性信息,相应的,缓存控制器可以根据用户的属性信息,确定推送区域,推送区域中用户的用户属性信息与数据访问信息中的用户属性信息的相似度大于预设阈值。
当然,缓存控制器也可以将所有的边缘缓存节点确定为待推送数据对应的边缘缓存节点,缓存控制器还可以将未缓存有待推送数据的边缘缓存节点确定为待推送数据对应的边缘缓存节点。
S503、缓存控制器向边缘缓存节点推送待推送数据。
可选的,缓存控制器可以通过如下两种可行的实现方式向目标缓存节点推送待推送数据:
一种可行的实现方式:
缓存控制器向边缘缓存节点发送第一数据推送消息;其中,第一数据推送消息包括数据服务器中的地址、及待推送数据的标识,第一数据推送消息用于指示边缘缓存节点在数据服务器中获取待推送数据。
在该种可行的实现方式中,缓存控制器直接通知边缘缓存节点在数据服务器中获取待推送数据。
另一种可行的实现方式:
缓存控制器向边缘缓存节点对应的中心缓存节点推送待推送数据,缓存控制器向边缘缓存节点发送第二数据推送消息;其中,第二数据推送消息包括中心缓存节点的地址、及待推送数据的标识,第二数据推送消息用于指示边缘缓存节点在中心缓存节点中获取待推送数据。
在该种可行的实现方式中,缓存控制器先通知边缘缓存节点对应的中心缓存节点在数据服务器中获取待推送数据,缓存控制器再通知边缘缓存节点在对应的中心缓存节点中获取待推送数据。
在图5所示的实施例中,缓存控制器通过向数据服务器上报缓存节点的数据访问信息,使得数据服务器可以根据缓存节点的数据访问信息确定待推送数据,并向对应的边缘缓存节点推送该待推送数据,这样,数据服务器根据数据访问信息确定得到的待推送数据通常为用户较为喜欢的数据,并主动向边缘缓存节点推送待推送数据,当终端设备需要获取该数据时,边缘缓存节点即可向终端设备发送其缓存的数据信息,进而提高了向终端设备反馈数据信息的效率。
在图5所示实施例的基础上,下面,结合图6,通过具体示例,对图5实施例所示的技术方案进行详细说明。
图6为本申请提供的缓存数据控制方法的流程示意图四。请参见图6,该方法可以包括:
S601、缓存控制器获取缓存节点的数据访问信息。
S602、缓存控制器对数据访问信息进行汇总。
可选的,缓存控制器可以删除获取得到的部分数据访问信息,或者将多条数据访问信息进行抽象整合成一条等。例如,假设数据访问信息中包括缓存节点中每条数据的访问时刻,相应的,缓存控制器可以对多条数据访问信息进行汇总,以确定每条数据的访问次数。
S603、缓存控制器向数据服务器发送汇总后的数据访问信息。
S604、数据服务器根据汇总后的数据访问信息,确定待推送数据。
S605、数据服务器向缓存控制器发送数据推送请求消息,数据推送请求消息中包括待推送数据的标识。
S606、缓存控制器根据数据访问信息,确定待推送数据对应的边缘缓存节点。
S607、缓存控制器向边缘缓存节点发送第一数据推送消息,第一数据推送消息中包括数据服务器的地址和待推送数据的URL。
S608、边缘缓存节点根据第一数据推送消息,向数据服务器发送数据获取请求,数据获取请求中包括待推送数据的URL。
S609、数据服务器向边缘缓存节点发送待推送数据。
图7为本申请提供的边缘缓存节点的结构示意图一。请参见图7,该边缘缓存节点包括接收器11、处理器12、存储器13及通信总线14,所述存储器13用于存储程序指令,所述通信总线14用于实现各元器件之间的连接,所述处理器12用于读取所述存储器中的程序指令,其中,
所述接收器11用于,接收终端设备发送的数据获取请求,所述数据获取请求中包括待请求数据的标识;
所述处理器12用于,在所述边缘缓存节点中不包括所述待请求数据时,在所述边缘缓存节点对应的边缘缓存节点集合、及所述边缘缓存节点对应的中心缓存节点中,确定包括所述待请求数据的目标缓存节点;
所述处理器12还用于,在所述目标缓存节点中获取待请求数据。
本申请所示的边缘缓存节点可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述处理器12具体用于:
根据所述待请求数据的标识,在所述边缘缓存节点集合和所述中心缓存节点中确定包括所述待请求数据的命中缓存节点;
根据所述命中缓存节点的个数、及所述命中缓存节点中包括的缓存节点类型,在所述命中缓存节点中确定所述目标缓存节点。
在另一种可能的实施方式中,所述处理器12具体用于:
在确定所述命中缓存节点的个数为1时,则将所述命中缓存节点确定为所述目标缓存节点
在确定所述命中缓存节点中包括至少两个第二边缘缓存节点时,根据所述边缘缓存节点与每一个第二边缘缓存节点之间的链路质量,在所述至少两个第二边缘缓存节点中确定所述目标缓存节点;
在确定所述命中缓存节点中包括第三边缘缓存节点和中心缓存节点,向所述第三边缘缓存节点和所述目标缓存节点发送并行请求消息,并接收所述第三边缘缓存节点和所述目标缓存节点发送的并行响应消息,将最早接收到的并行响应消息对应的缓存节点确定为所述目标缓存节点。
图8为本申请提供的边缘缓存节点的结构示意图二。在图7所示实施例的基础上,请参见图8,所述边缘缓存节点还包括发送器15,其中,
所述发送器15用于,在所述处理器12确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,向数据服务器请求获取所述待请求数据;
或者,
所述发送器15用于,在所述处理器12确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,向所述中心缓存节点发送所述数据获取请求,以使所述中心缓存节点在请求获取得到所述待请求数据后、向所述边缘缓存节点发送所述待请求数据。
本申请所示的边缘缓存节点可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图9为本申请提供的缓存控制器的结构示意图。请参见图9,包括接收器21、处理器22、发送器23、存储器24及通信总线25,所述存储器24用于存储程序指令,所述通信总线25用于实现各元器件之间的连接,所述处理器22用于读取所述存储器中的程序指令,其中,
所述接收器21用于,接收所述数据服务器发送的数据推送请求消息,所述数据推送请求消息中包括待推送数据的标识,所述待推送数据为所述数据服务器根据多个缓存节点的数据访问信息确定得到的;
所述处理器22用于,根据所述数据访问信息,确定所述待推送数据对应的边缘缓存节点;
所述发送器23用于,向所述边缘缓存节点推送所述待推送数据。
本申请所示的缓存控制器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述发送器23具体用于:
向所述边缘缓存节点发送第一数据推送消息;
其中,所述第一数据推送消息包括所述数据服务器中的地址、及所述待推送数据的标识,所述第一数据推送消息用于指示所述边缘缓存节点在所述数据服务器中获取所述待推送数据。
在另一种可能的实施方式中,所述发送器23具体用于:
向所述边缘缓存节点对应的中心缓存节点推送所述待推送数据;
向所述边缘缓存节点发送第二数据推送消息;
其中,所述第二数据推送消息包括所述中心缓存节点的地址、及所述待推送数据的标识,所述第二数据推送消息用于指示所述边缘缓存节点在所述中心缓存节点中获取所述待推送数据。
本申请所示的缓存控制器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图10为本申请提供的一种缓存数据控制装置的结构示意图一,该装置可以设置在第一边缘缓存节点。请参见图10,该装置可以包括接收模块31、确定模块32和获取模块33,其中,
所述接收模块31用于,接收终端设备发送的数据获取请求,所述数据获取请求中包括待请求数据的标识;
所述确定模块32用于,在所述第一边缘缓存节点中不包括所述待请求数据时,在所述第一边缘缓存节点对应的边缘缓存节点集合、及所述第一边缘缓存节点对应的中心缓存节点中,确定包括所述待请求数据的目标缓存节点;
所述获取模块33用于,在所述目标缓存节点中获取待请求数据。
本申请所示的缓存数据控制装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图11为本申请提供的一种缓存数据控制装置的结构示意图二。请参见图11,所述确定模块32包括第一确定单元321和第二确定单元322,其中,
所述第一确定单元321用于,根据所述待请求数据的标识,在所述边缘缓存节点集合和所述中心缓存节点中确定包括所述待请求数据的命中缓存节点;
所述第二确定单元322用于,根据所述命中缓存节点的个数、及所述命中缓存节点中包括的缓存节点类型,在所述命中缓存节点中确定所述目标缓存节点。
在一种可能的实施方式中,所述第二确定单元322具体用于:
在确定所述命中缓存节点的个数为1时,则将所述命中缓存节点确定为所述目标缓存节点
在确定所述命中缓存节点中包括至少两个第二边缘缓存节点时,根据所述第一边缘缓存节点与每一个第二边缘缓存节点之间的链路质量,在所述至少两个第二边缘缓存节点中确定所述目标缓存节点;
在确定所述命中缓存节点中包括第三边缘缓存节点和中心缓存节点,向所述第三边缘缓存节点和所述目标缓存节点发送并行请求消息,并接收所述第三边缘缓存节点和所述目标缓存节点发送的并行响应消息,将最早接收到的并行响应消息对应的缓存节点确定为所述目标缓存节点。
在另一种可能的实施方式中,所述缓存数据控制装置还包括发送模块34,其中,
所述发送模块34用于,在所述确定模块32确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,向数据服务器请求获取所述待请求数据;
或者,
所述发送模块34用于,在所述确定模块32确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,向所述中心缓存节点发送所述数据获取请求,以使所述中心缓存节点在请求获取得到所述待请求数据后、向所述第一边缘缓存节点发送所述待请求数据。
本申请所示的缓存数据控制装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图12为本申请提供的另一种缓存数据控制装置的结构示意图,该缓存数据控制装置可以设置在缓存控制器中。请参见图12,所述缓存数据控制装包括接收模块41、确定模块42和发送模块43,其中,
所述接收模块41用于,接收所述数据服务器发送的数据推送请求消息,所述数据推送请求消息中包括待推送数据的标识,所述待推送数据为所述数据服务器根据多个缓存节点的数据访问信息确定得到的;
所述确定模块42用于,根据所述数据访问信息,确定所述待推送数据对应的边缘缓存节点;
所述发送模块43用于,向所述边缘缓存节点推送所述待推送数据。
本申请所示的缓存数据控制装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述发送模块43具体用于:
向所述边缘缓存节点发送第一数据推送消息;
其中,所述第一数据推送消息包括所述数据服务器中的地址、及所述待推送数据的标识,所述第一数据推送消息用于指示所述边缘缓存节点在所述数据服务器中获取所述待推送数据。
在另一种可能的实施方式中,所述发送模块43具体用于:
向所述边缘缓存节点对应的中心缓存节点推送所述待推送数据;
向所述边缘缓存节点发送第二数据推送消息;
其中,所述第二数据推送消息包括所述中心缓存节点的地址、及所述待推送数据的标识,所述第二数据推送消息用于指示所述边缘缓存节点在所述中心缓存节点中获取所述待推送数据。
本申请所示的缓存数据控制装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例方案的范围。
Claims (14)
1.一种缓存数据控制方法,其特征在于,应用于第一边缘缓存节点,所述方法包括:
接收终端设备发送的数据获取请求,所述数据获取请求中包括待请求数据的标识;
在所述第一边缘缓存节点中不包括所述待请求数据时,在所述第一边缘缓存节点对应的边缘缓存节点集合、及所述第一边缘缓存节点对应的中心缓存节点中,确定包括所述待请求数据的目标缓存节点;所述第一边缘缓存节点与所述边缘缓存节点集合中的各个边缘缓存节点通信连接;
其中,边缘缓存节点集合由多个边缘缓存节点构成,同一个边缘缓存节点集合中的每两个边缘缓存节点之间通信连接;中心缓存节点集合由多个中心缓存节点构成,同一个中心缓存节点集合中的每两个中心缓存节点之间通信连接;同一边缘缓存节点集合中的多个边缘缓存节点对应一个中心缓存节点,该边缘缓存节点集合中的多个边缘缓存节点与对应的中心缓存节点通信连接;
在所述目标缓存节点中获取待请求数据。
2.根据权利要求1所述的方法,其特征在于,在所述第一边缘缓存节点对应的边缘缓存节点集合、及所述第一边缘缓存节点对应的中心缓存节点中,确定包括所述待请求数据的目标缓存节点,包括:
根据所述待请求数据的标识,在所述边缘缓存节点集合和所述中心缓存节点中确定包括所述待请求数据的命中缓存节点;
根据所述命中缓存节点的个数、及所述命中缓存节点中包括的缓存节点类型,在所述命中缓存节点中确定所述目标缓存节点。
3.根据权利要求2所述的方法,其特征在于,根据所述命中缓存节点的个数、及所述命中缓存节点中包括的缓存节点类型,在所述命中缓存节点中确定所述目标缓存节点,包括:
在确定所述命中缓存节点的个数为1时,则将所述命中缓存节点确定为所述目标缓存节点
在确定所述命中缓存节点中包括至少两个第二边缘缓存节点时,根据所述第一边缘缓存节点与每一个第二边缘缓存节点之间的链路质量,在所述至少两个第二边缘缓存节点中确定所述目标缓存节点;
在确定所述命中缓存节点中包括第三边缘缓存节点和中心缓存节点,向所述第三边缘缓存节点和所述目标缓存节点发送并行请求消息,并接收所述第三边缘缓存节点和所述目标缓存节点发送的并行响应消息,将最早接收到的并行响应消息对应的缓存节点确定为所述目标缓存节点。
4.根据权利要求2或3所述的方法,其特征在于,在确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,所述方法包括:
向数据服务器请求获取所述待请求数据;
或者,
向所述中心缓存节点发送所述数据获取请求,以使所述中心缓存节点在请求获取得到所述待请求数据后、向所述第一边缘缓存节点发送所述待请求数据。
5.一种缓存数据控制方法,其特征在于,应用于缓存控制器,所述缓存控制器与各个缓存节点、及数据服务器通信;所述各个缓存节点包括边缘缓存节点和中心缓存节点;
所述方法包括:
接收所述数据服务器发送的数据推送请求消息,所述数据推送请求消息中包括待推送数据的标识,所述待推送数据为所述数据服务器根据多个缓存节点的数据访问信息确定得到的;所述数据访问信息包括缓存节点中每条数据被访问的时刻、缓存节点中各数据的被访问次数;
根据所述数据访问信息,确定所述待推送数据对应的边缘缓存节点;
向所述边缘缓存节点推送所述待推送数据。
6.根据权利要求5所述的方法,其特征在于,所述向所述边缘缓存节点推送所述待推送数据,包括:
向所述边缘缓存节点发送第一数据推送消息;
其中,所述第一数据推送消息包括所述数据服务器中的地址、及所述待推送数据的标识,所述第一数据推送消息用于指示所述边缘缓存节点在所述数据服务器中获取所述待推送数据。
7.根据权利要求5所述的方法,其特征在于,所述向所述边缘缓存节点推送所述待推送数据,包括:
向所述边缘缓存节点对应的中心缓存节点推送所述待推送数据;
向所述边缘缓存节点发送第二数据推送消息;
其中,所述第二数据推送消息包括所述中心缓存节点的地址、及所述待推送数据的标识,所述第二数据推送消息用于指示所述边缘缓存节点在所述中心缓存节点中获取所述待推送数据。
8.一种边缘缓存节点,其特征在于,包括:包括接收器、处理器、存储器及通信总线,所述存储器用于存储程序指令,所述通信总线用于实现各元器件之间的连接,所述处理器用于读取所述存储器中的程序指令,其中,
所述接收器用于,接收终端设备发送的数据获取请求,所述数据获取请求中包括待请求数据的标识;
所述处理器用于,在所述边缘缓存节点中不包括所述待请求数据时,在所述边缘缓存节点对应的边缘缓存节点集合、及所述边缘缓存节点对应的中心缓存节点中,确定包括所述待请求数据的目标缓存节点;所述边缘缓存节点与所述边缘缓存节点集合中的各个边缘缓存节点通信连接;
其中,边缘缓存节点集合由多个边缘缓存节点构成,同一个边缘缓存节点集合中的每两个边缘缓存节点之间通信连接;中心缓存节点集合由多个中心缓存节点构成,同一个中心缓存节点集合中的每两个中心缓存节点之间通信连接;同一边缘缓存节点集合中的多个边缘缓存节点对应一个中心缓存节点,该边缘缓存节点集合中的多个边缘缓存节点与对应的中心缓存节点通信连接;
所述处理器还用于,在所述目标缓存节点中获取待请求数据。
9.根据权利要求8所述的边缘缓存节点,其特征在于,所述处理器具体用于:
根据所述待请求数据的标识,在所述边缘缓存节点集合和所述中心缓存节点中确定包括所述待请求数据的命中缓存节点;
根据所述命中缓存节点的个数、及所述命中缓存节点中包括的缓存节点类型,在所述命中缓存节点中确定所述目标缓存节点。
10.根据权利要求9所述的边缘缓存节点,其特征在于,所述处理器具体用于:
在确定所述命中缓存节点的个数为1时,则将所述命中缓存节点确定为所述目标缓存节点
在确定所述命中缓存节点中包括至少两个第二边缘缓存节点时,根据所述边缘缓存节点与每一个第二边缘缓存节点之间的链路质量,在所述至少两个第二边缘缓存节点中确定所述目标缓存节点;
在确定所述命中缓存节点中包括第三边缘缓存节点和中心缓存节点,向所述第三边缘缓存节点和所述目标缓存节点发送并行请求消息,并接收所述第三边缘缓存节点和所述目标缓存节点发送的并行响应消息,将最早接收到的并行响应消息对应的缓存节点确定为所述目标缓存节点。
11.根据权利要求9或10所述的边缘缓存节点,其特征在于,所述边缘缓存节点还包括发送器,其中,
所述发送器用于,在所述处理器确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,向数据服务器请求获取所述待请求数据;
或者,
所述发送器用于,在所述处理器确定所述边缘缓存节点集合和所述中心缓存节点中不存在命中缓存节点时,向所述中心缓存节点发送所述数据获取请求,以使所述中心缓存节点在请求获取得到所述待请求数据后、向所述边缘缓存节点发送所述待请求数据。
12.一种缓存控制器,其特征在于,所述缓存控制器与各个缓存节点、及数据服务器通信;所述各个缓存节点包括边缘缓存节点和中心缓存节点;包括接收器、处理器、发送器、存储器及通信总线,所述存储器用于存储程序指令,所述通信总线用于实现各元器件之间的连接,所述处理器用于读取所述存储器中的程序指令,其中,
所述接收器用于,接收所述数据服务器发送的数据推送请求消息,所述数据推送请求消息中包括待推送数据的标识,所述待推送数据为所述数据服务器根据多个缓存节点的数据访问信息确定得到的;所述数据访问信息包括缓存节点中每条数据被访问的时刻、缓存节点中各数据的被访问次数;
所述处理器用于,根据所述数据访问信息,确定所述待推送数据对应的边缘缓存节点;
所述发送器用于,向所述边缘缓存节点推送所述待推送数据。
13.根据权利要求12所述的缓存控制器,其特征在于,所述发送器具体用于:
向所述边缘缓存节点发送第一数据推送消息;
其中,所述第一数据推送消息包括所述数据服务器中的地址、及所述待推送数据的标识,所述第一数据推送消息用于指示所述边缘缓存节点在所述数据服务器中获取所述待推送数据。
14.根据权利要求12所述的缓存控制器,其特征在于,所述发送器具体用于:
向所述边缘缓存节点对应的中心缓存节点推送所述待推送数据;
向所述边缘缓存节点发送第二数据推送消息;
其中,所述第二数据推送消息包括所述中心缓存节点的地址、及所述待推送数据的标识,所述第二数据推送消息用于指示所述边缘缓存节点在所述中心缓存节点中获取所述待推送数据。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710412883.0A CN108984433B (zh) | 2017-06-05 | 2017-06-05 | 缓存数据控制方法及设备 |
EP18814168.3A EP3618404B1 (en) | 2017-06-05 | 2018-06-05 | Data caching control method and device |
PCT/CN2018/089975 WO2018223964A1 (zh) | 2017-06-05 | 2018-06-05 | 缓存数据控制方法及设备 |
US16/700,109 US11019171B2 (en) | 2017-06-05 | 2019-12-02 | Cache data control method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710412883.0A CN108984433B (zh) | 2017-06-05 | 2017-06-05 | 缓存数据控制方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984433A CN108984433A (zh) | 2018-12-11 |
CN108984433B true CN108984433B (zh) | 2023-11-03 |
Family
ID=64502667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710412883.0A Active CN108984433B (zh) | 2017-06-05 | 2017-06-05 | 缓存数据控制方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11019171B2 (zh) |
EP (1) | EP3618404B1 (zh) |
CN (1) | CN108984433B (zh) |
WO (1) | WO2018223964A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691127B (zh) * | 2019-09-25 | 2022-04-12 | 北京奇艺世纪科技有限公司 | 数据获取控制系统、数据获取控制方法及相关装置 |
CN110856144B (zh) * | 2019-10-22 | 2021-09-07 | 西安交通大学 | 一种移动边缘计算网络中基于lt码的雾化缓存方法 |
CN114039965B (zh) * | 2020-07-21 | 2024-02-13 | 青岛海大新星软件咨询有限公司 | 一种基于边缘计算技术的高速数采系统及方法 |
CN112866724B (zh) * | 2020-12-31 | 2022-07-29 | 山东远桥信息科技有限公司 | 一种基于软件定义网络和边缘计算技术的视频业务处理方法和系统 |
US11470154B1 (en) * | 2021-07-29 | 2022-10-11 | At&T Intellectual Property I, L.P. | Apparatuses and methods for reducing latency in a conveyance of data in networks |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634610A (zh) * | 2012-08-24 | 2014-03-12 | 中兴通讯股份有限公司 | 直播内容分发系统及方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1346289A1 (en) * | 2000-11-30 | 2003-09-24 | Appfluent Technology, Inc. | System and method for delivering dynamic content |
US7159070B2 (en) * | 2003-12-09 | 2007-01-02 | Emc Corp | Methods and apparatus for caching a location index in a data storage system |
US7451225B1 (en) * | 2006-09-12 | 2008-11-11 | Emc Corporation | Configuring a cache prefetch policy in a computer system employing object addressable storage |
US7526553B1 (en) * | 2006-09-12 | 2009-04-28 | Emc Corporation | Configuring a cache in a computer system employing object addressable storage |
US7565493B1 (en) * | 2006-09-12 | 2009-07-21 | Emc Corporation | Configuring a cache replacement policy in a computer system employing object addressable storage |
US20080065718A1 (en) * | 2006-09-12 | 2008-03-13 | Emc Corporation | Configuring a cache prefetch policy that is controllable based on individual requests |
US7617322B2 (en) * | 2006-09-29 | 2009-11-10 | Microsoft Corporation | Secure peer-to-peer cache sharing |
US8954548B2 (en) * | 2008-08-27 | 2015-02-10 | At&T Intellectual Property Ii, L.P. | Targeted caching to reduce bandwidth consumption |
US8046432B2 (en) * | 2009-04-17 | 2011-10-25 | Microsoft Corporation | Network caching for multiple contemporaneous requests |
US20110066676A1 (en) * | 2009-09-14 | 2011-03-17 | Vadim Kleyzit | Method and system for reducing web page download time |
US8689275B2 (en) * | 2010-11-02 | 2014-04-01 | Xyratex Technology Limited | Method of evaluating the profit of a substream of encoded video data, method of operating servers, servers, network and apparatus |
US8863204B2 (en) * | 2010-12-20 | 2014-10-14 | Comcast Cable Communications, Llc | Cache management in a video content distribution network |
US8438364B2 (en) * | 2010-12-30 | 2013-05-07 | Facebook Inc. | Distributed cache for graph data |
US8812609B2 (en) * | 2011-06-06 | 2014-08-19 | Jaguna Networks Ltd | Methods, circuits, devices, systems and associated computer executable code for distributed content caching and delivery |
CN103139658A (zh) * | 2011-11-29 | 2013-06-05 | 苏州达联信息科技有限公司 | 一种视频直播分发网络的被动式媒体流分发方法 |
CN104011701B (zh) * | 2011-12-14 | 2017-08-01 | 第三雷沃通讯有限责任公司 | 内容传送网络系统和能够在内容传送网络中操作的方法 |
US9253051B2 (en) * | 2012-02-23 | 2016-02-02 | Ericsson Ab | System and method for delivering content in a content delivery network |
US9705754B2 (en) * | 2012-12-13 | 2017-07-11 | Level 3 Communications, Llc | Devices and methods supporting content delivery with rendezvous services |
EP3017377B1 (en) | 2013-07-03 | 2018-11-21 | Ericsson AB | System and method for delivering content in a content delivery network |
CN104168317B (zh) * | 2014-08-12 | 2018-01-19 | 华为技术有限公司 | 缓存内容命中方法和通信系统 |
US10045088B2 (en) * | 2014-09-30 | 2018-08-07 | At&T Intellectual Property I, L.P. | Method and apparatus for distributing content locally |
CN104967651B (zh) * | 2015-03-02 | 2017-06-27 | 深圳市腾讯计算机系统有限公司 | 基于cdn架构的数据推送、存储、下载方法和装置 |
US20160323408A1 (en) * | 2015-05-01 | 2016-11-03 | Google Inc. | Caching in a mobile network |
CN105072172B (zh) * | 2015-07-31 | 2019-03-19 | 网宿科技股份有限公司 | 一种基于内容分发网络的热点统计及推送方法及系统 |
US10666757B2 (en) * | 2015-09-29 | 2020-05-26 | Fastly, Inc. | Content delivery network transitional caching |
US10306005B1 (en) * | 2015-09-30 | 2019-05-28 | EMC IP Holding Company LLC | Data retrieval system and method |
CN105763628B (zh) * | 2016-04-12 | 2019-05-10 | 上海帝联信息科技股份有限公司 | 数据访问请求处理方法及装置、边缘节点服务器和集群 |
CN106454430B (zh) * | 2016-10-13 | 2019-06-04 | 重庆邮电大学 | Ndn/ccn中针对自治域内视频业务预先发布方法 |
US10341454B2 (en) * | 2016-11-08 | 2019-07-02 | Cisco Technology, Inc. | Video and media content delivery network storage in elastic clouds |
US10938884B1 (en) * | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10498548B2 (en) * | 2017-05-19 | 2019-12-03 | Slack Technologies, Inc. | Method, apparatus, and computer program product for a scalable group-based communication system with a reduced client memory footprint requirement |
EP3419249A1 (en) * | 2017-06-23 | 2018-12-26 | Nokia Solutions and Networks Oy | Methods of optimizing traffic in an isp network |
US10732861B2 (en) * | 2018-07-26 | 2020-08-04 | Qualtrics, Llc | Generating and providing low-latency cached content |
US10771524B1 (en) * | 2019-07-31 | 2020-09-08 | Theta Labs, Inc. | Methods and systems for a decentralized data streaming and delivery network |
-
2017
- 2017-06-05 CN CN201710412883.0A patent/CN108984433B/zh active Active
-
2018
- 2018-06-05 EP EP18814168.3A patent/EP3618404B1/en active Active
- 2018-06-05 WO PCT/CN2018/089975 patent/WO2018223964A1/zh unknown
-
2019
- 2019-12-02 US US16/700,109 patent/US11019171B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634610A (zh) * | 2012-08-24 | 2014-03-12 | 中兴通讯股份有限公司 | 直播内容分发系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108984433A (zh) | 2018-12-11 |
US20200106852A1 (en) | 2020-04-02 |
WO2018223964A1 (zh) | 2018-12-13 |
EP3618404B1 (en) | 2021-08-25 |
EP3618404A1 (en) | 2020-03-04 |
EP3618404A4 (en) | 2020-04-22 |
US11019171B2 (en) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984433B (zh) | 缓存数据控制方法及设备 | |
US9621620B2 (en) | Apparatus and method for providing content with a distributed architecture, and system for providing content with the said apparatus | |
KR101541259B1 (ko) | 캐시 데이터의 인기도 값을 동기화하기 위한 방법 및 장치, 및 분산 캐싱을 위한 방법, 장치 및 시스템 | |
US11089473B2 (en) | Service access, and control method and apparatus therefor | |
CN101488928B (zh) | 一种互联企业群通信设备及互联企业群通信方法 | |
CN107979592B (zh) | 一种发送业务请求消息的方法及装置 | |
US10306007B2 (en) | Cache content hit method and communications system | |
US10356209B2 (en) | System and method to support context-aware content requests in information centric networks | |
CN105812408A (zh) | 全局服务器负载均衡装置及其高速缓存有效期控制方法 | |
CN104967651A (zh) | 基于cdn架构的数据推送、存储、下载方法和装置 | |
CN102143212A (zh) | 一种内容分发网络中缓存共享的方法及装置 | |
WO2018112759A1 (zh) | 访问资源的方法、装置和系统 | |
CN109873855A (zh) | 一种基于区块链网络的资源获取方法和系统 | |
CN106385426B (zh) | 节点内容的命中方法及装置 | |
CN106302827B (zh) | 基于分布式系统的通信方法、设备及分布式系统 | |
US9571537B2 (en) | Content acquisition device and method | |
JP2019009610A (ja) | エッジ装置、データ処理システム、データ送信方法、及びプログラム | |
JP6340076B2 (ja) | 移動性管理方法、装置及びシステム | |
CN101827357A (zh) | 数据核查的方法、装置及系统 | |
EP3574677B1 (en) | Method and network node for handover | |
CN102571963A (zh) | 内容分发的方法、装置和接入网设备 | |
EP3288242B1 (en) | Domain name system accessing method and device | |
CN112350946B (zh) | 数据缓存方法和装置 | |
EP3422674A1 (en) | A method of resolving a domain name by a dns server to a plurality of ip addresses based on location information of the user equipment | |
CN110545333B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |