CN114297288A - 一种次级内容分发网络cdn、数据提供方法和存储介质 - Google Patents

一种次级内容分发网络cdn、数据提供方法和存储介质 Download PDF

Info

Publication number
CN114297288A
CN114297288A CN202011004851.5A CN202011004851A CN114297288A CN 114297288 A CN114297288 A CN 114297288A CN 202011004851 A CN202011004851 A CN 202011004851A CN 114297288 A CN114297288 A CN 114297288A
Authority
CN
China
Prior art keywords
cdn
data
terminal
node
secondary cdn
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
Application number
CN202011004851.5A
Other languages
English (en)
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202011004851.5A priority Critical patent/CN114297288A/zh
Priority to PCT/CN2021/119615 priority patent/WO2022063125A1/zh
Publication of CN114297288A publication Critical patent/CN114297288A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种次级内容分发网络CDN,该次级CDN与上级CDN连接,次级CDN包括多个次级CDN节点,上级CDN包括至少一层CDN节点,其中,上级CDN中靠近次级CDN的为CDN边缘节点,多个次级CDN节点通过CDN边缘节点接入上级CDN;第一次级CDN节点,用于为接入次级CDN的终端提供数据,数据存储于第一次级CDN节点或第二次级CDN节点,并且,第一次级CDN节点从第二次级CDN节点获取数据的通信链路绕过CDN边缘节点。由于第一次级CDN节点可以为该终端提供数据,而可以不用由CDN边缘节点为终端提供数据,如此可以缓解CDN边缘节点的负载压力,也就可以尽可能避免接入该次级CDN的终端出现长时间等待响应的状态。此外,本申请还提供了一种数据提供方法和存储介质。

Description

一种次级内容分发网络CDN、数据提供方法和存储介质
技术领域
本申请涉及内容分发网络CDN技术领域,尤其涉及一种次级CDN、数据提供方法和存储介质。
背景技术
内容分发网络(Content Delivery Network,CDN),是构建在现有网络基础之上的智能虚拟网络,通过中心平台对部署在各地的边缘服务器进行负载均衡、内容分发、调度等操作,将内容发布至接近用户的网络“边缘”,以使得用户能够就近获取所需内容,从而降低网络拥塞,提高用户访问响应速度和命中率。
但是,实际应用中,部署在网络“边缘”的CDN节点,其存储、带宽、计算等能力通常有限,当存在较多数量的终端同时向CDN边缘节点请求数据时,这会导致CDN边缘节点的负载过大,从而使得部分终端可能长时间无法得到该CDN边缘节点的响应。
发明内容
本申请提供了一种次级内容分发网络CDN,用于缓解CDN边缘节点的压力。此外,本申请还提供了一种数据提供方法、装置、计算机可读存储介质以及计算机程序产品。
第一方面,本申请提供了一种次级CDN,该次级CDN与上级CDN连接,并且包括多个次级CDN节点。上级CND可以包括至少一层CDN节点,例如可以是传统的CND,该上级CDN中靠近次级CDN的为CDN边缘节点,并且,该多个次级CDN节点通过该CDN边缘节点接入上级CDN。其中,多个次级CDN中的第一次级CDN节点,可以用于为接入该次级CDN的终端提供数据,该数据通常可以是存储于第一次级CDN节点或者第二次级CDN节点,并且,当第一次级CDN节点本地未存储有终端所请求的数据时,该第一次级CDN节点可以从第二次级CDN节点获取该数据,并且,第一次级CDN节点与第二次级CDN节点之间的通信链路绕过CDN边缘节点。
由于CDN边缘节点下的次级CDN中,可以由第一次级CDN节点为该终端提供数据,而可以不用由CDN边缘节点为终端提供数据,即第一次级CDN节点能够为CDN边缘节点分担部分负载,如此可以缓解CDN边缘节点的负载压力,也就可以尽可能避免接入该次级CDN的终端出现长时间等待响应的状态。
同时,由于在次级CDN中部署了多个次级CDN节点,而CDN边缘节点以及部署的多个次级CDN节点所能存储的数据总量会多于CDN边缘节点存储的数据量,这就实现了对CDN边缘节点存储的数据量的扩容。而CDN边缘节点中存储的数据量增加,可以降低CDN边缘节点通过“回源”方式向上层CDN节点拉取数据的频率,从而可以减少中间层与顶层所产生的流量,这就使得中间层与顶层的服务能力不容易出现瓶颈,并且中间层与顶层的成本也可以得到降低。
结合第一方面,在第一方面的第一种可能的实施方式中,第一次级CDN节点从第二次级CDN节点获取终端所请求数据的通信链路为直连链路,或者,该通信链路为包括其它次级CDN节点。在该实施方式中,次级CDN节点之间,可以相互直接进行通信,即通过直连链路进行通信,也可以是在两个次级CDN节点之间,存在其它可能的中间节点,该中间节点为其它次级CDN节点。由于第一次级CDN节点可以与其它次级CDN节点之间进行直接或者间接通信,这使得第一次级CDN节点在本地未存储终端所请求的数据时,可以通过访问其它次级CDN节点的方式获取数据,从而第一次级CDN节点可以进一步将获取的数据再提供给终端。
结合第一方面或第一方面的第一种实施方式,在第一方面的第二种可能的实施方式中,上级CDN内的至少一层CDN节点为树状结构。其中,树状结构,也可以被称为树形结构,通常包括一个根节点和若干个子节点,这些节点可以构成至少两层节点,其中,最顶层(或者称之为第一层)为一个根节点,与该根节点连接的下一层(第二层)节点为该根节点的子节点,实际应用中,第二层子节点下还可以连接有第三层子节点,并且,同一层的节点之间通常不进行直接通信,即同一层的节点之间的通信链路中通常包括上一层节点。其中,在CDN中,距离用户最近的一层节点(也即该树状结构中最底层的CDN节点)可以称之为CND边缘节点。
结合第一方面至第一方面的第二种实施方式中的任意一种实施方式,在第一方面的第三种可能的实施方式中,次级CND内的多个次级CDN节点为网状结构。其中,网状结构,是指次级CDN中的各个CDN节点可以与该次级CND中的其它次级CDN节点直接相连,如此,不同次级CDN节点之间可以通过直连链路或者间接连接的通信链路进行通信并共享数据,而多个次级CDN节点之间的通信链路可以构成网状。
结合第一方面至第一方面的第三种实施方式中的任意一种实施方式,在第一方面的第四种可能的实施方式中,上级CDN内的CDN边缘节点可以连接多个次级CDN。在该实施方式中,可以在一个CDN边缘节点下部署两个或者两个以上的次级CDN,从而可以由多个次级CDN为该CDN边缘节点进行负载分担,扩大存储的数据量。当然,在其它可能的实施方式中,在一个CDN边缘节点也可以是仅部署一个次级CDN,并且,多个CDN边缘节点可以连接同一个次级CDN。
结合第一方面至第一方面的第四种实施方式中的任意一种实施方式,在第一方面的第五种可能的实施方式中,可以是通过次级CDN节点响应终端的时延对次级CDN节点进行区域划分,具体的,次级CDN中可以包括至少一个时延区域,并且,该时延区域中的次级CDN节点响应该时延区域中终端的平均时延小于预设时延阈值。当然,在其它可能的实施方式中,也可以是基于其它因素对次级CDN节点进行区域划分,比如,终端与次级CDN节点的地理位置、网络位置、网络环境等因素,本申请对此并不进行限定。
结合第一方面至第一方面的第五种实施方式中的任意一种实施方式,在第一方面的第六种可能的实施方式中,CDN边缘节点可以用于为第一次级CDN节点提供数据,这样,CDN边缘节点可以对第一次级CDN节点中存储的数据进行更新,比如,CDN边缘节点可以发送第一次级CDN节点当前尚未存储的数据等,或者,当终端所请求的数据在第一次级CDN节点以及其它次级CDN节点上均未存储,则第一次级CDN节点可以向CND边缘节点请求数据,而CDN边缘节点将该终端提供给第一次级CDN节点,以便再由第一次级CDN节点将数据返回给终端。
结合第一方面至第一方面的第六种实施方式中的任意一种实施方式,在第一方面的第七种可能的实施方式中,次级CND中还可以包括数据管理装置,该数据管理装置可以用于对多次次级CDN节点所能提供的数据以及该数据的元数据进行管理。其中,元数据是用于描述数据的数据,如元数据可以是数据的标识、统一资源定位符(Uniform ResourceLocator,URL)描述数据属性的信息等。数据管理装置对于数据以及元数据的管理,例如可以是对管理各个次级CDN节点上存储的数据的分布,并且为次级CDN节点上存储的数据对应的元数据进行创建、删除和修改等。
结合第一方面的第七种实施方式,在第一方面的第八种可能的实施方式中,数据管理装置还可以用于根据多个次级CDN节点所能提供的数据的元数据,以及接入该次级CDN的第一终端所请求数据的数据标识,向第一终端提供多个次级CND节点中第一次级CDN节点的网际协议(Internet Protocol,IP)地址。如此,终端可以基于所接收到的IP地址,向相应的第一次级CDN节点请求数据。实际应用中,数据管理装置向终端提供的IP地址,可以是存储有终端所请求数据的第一次级CDN节点的IP地址,这样,终端可以从该第一次级CDN节点上快速获取所需数据,从而可以降低终端获取数据的时延。
结合第一方面的第八种实施方式,在第一方面的第九种可能的实施方式中,第一次级CDN节点上可能未存储有终端所请求的完整数据,即在第一次级CDN节点上仅存储有第一部分数据,此时,第一次级CDN节点可以从第二次级CDN节点获取第一终端所请求数据的第二部分数据,如可以是向第二次级CDN节点发送第一终端所请求数据的数据标识的方式,从第二次级CDN节点上获取第二部分数据等,然后,第一次级CDN节点可以将本地存储的第一部分数据以及从第二次级CDN节点上获取的第二部分数据发送给第一终端。通常情况下,第一部分数据与第二部分数据可以是不同的数据。如此,第一终端可以第一次级CDN节点上获取其请求的完整数据。
结合第一方面的第八种实施方式或第一方面的第九种实施方式中的任意一种实施方式,在第一方面的第十种可能的实施方式中,数据管理装置,在向第一终端提供第一次级CDN节点的IP地址时,具体可以是去IEID能够接入次级CDN节点的第二终端所能提供的数据的元数据,并根据该第二终端所能提供的数据的元数据,以及该第一终端所请求数据的数据标识,向第一终端提供该第二终端的IP地址。如此,第一终端可以根据该IP地址访问第二终端,从而可以从第二终端上获取其所需的数据,以此可以实现终端之间的数据共享。
结合第一方面的第八种实施方式至第一方面的第十种实施方式中的任意一种实施方式,在第一方面的第十一种可能的实施方式中,CDN边缘节点还用于接收第一终端的终端信息,该终端信息例如可以是第一终端的网际协议版本标识(如第一终端是基于VPV4协议进行通信的标识,或者是基于IPV6协议进行通信标识,或者是均可以支持等)、网络协议标识(如UPNP通信协议的标识等)以及接入方式标识(如4G、5G或WIFI接入等)中的任意一种或者多种。相应的,数据管理装置,在向第一终端提供IP地址时,具体可以是根据多个次级CDN节点所能提供的数据的元数据、第一终端所请求数据的数据标识以及从CDN边缘节点获取的第一终端的终端信息,确定第一次级CDN节点的IP地址,并向该第一终端提供该第一次级CDN节点的IP地址。
结合第一方面的第八种实施方式至第一方面的第十一种实施方式中的任意一种实施方式,在第一方面的第十二种可能的实施方式中,次级CDN中还可以包括有域名解析设备,该域名解析设备用于根据多个次级CDN节点所能提供的数据的元数据,以及接入该子网的第一终端所请求数据的数据标识,向第一终端提供多个次级CDN节点中的第一次级CDN节点的IP地址。其中,域名解析设备所确定的第一次级CDN节点上,可能存储有第一终端所请求的数据,比如,域名解析设备能够根据各个次级CDN节点上所存储的数据来确定向第一终端提供第一次级CDN节点的IP地址;或者,域名解析设备所确定的第一次级CDN节点上,可能未存储有第一终端所请求的数据,比如,域名解析设备根据各个次级CDN节点的位置以及第一终端的位置,向所述第一终端提供距离所述第一终端最近的次级CDN节点的IP地址,此时,在第一终端向第一次级CDN节点请求数据时,第一次级CDN节点可以从其它次级CDN节点中获取数据,并将数据再提供给第一终端。
在一种可能的实施方式中,当次级CDN中还包括数据管理装置时,该数据管理装置还可以用于识别热数据,并在该次级CND中的次级CDN节点上部署热数据。其中,热数据是指被终端频繁访问或者很有可能被终端频繁访问的数据。如此,终端所请求的数据通常大概率位于次级CDN节点,而可以无需从CDN边缘节点获取数据,从而可以进一步降低CDN边缘节点的负载压力,降低上层CDN中的流量。
第二方面,本申请实施例还提供了一种数据提供方法,所述方法应用于次级内容分发网络CDN,所述次级CDN与上级CDN连接,所述次级CDN包括多个次级CDN节点,所述上级CDN包括至少一层CDN节点,其中,所述上级CDN中靠近次级CDN的为CDN边缘节点,所述多个次级CDN节点通过所述CDN边缘节点接入所述上级CDN;
所述方法包括:
接收来自接入所述次级CDN的第一终端的数据获取请求,所述数据获取请求包括数据标识;
利用第一次级CDN节点向所述第一终端提供所述数据标识对应的数据,所述数据存储于所述第一次级CDN节点或第二次级CDN节点,并且,所述第一次级CDN节点从所述第二次级CDN节点获取所述数据的通信链路绕过所述CDN边缘节点。
结合第二方面,在第二方面的第一种可能的实施方式中,所述方法还包括:
所述第一次级CDN节点接收来自所述CDN边缘节点的数据。
结合第二方面或者第二方面的第一种实施方式,在第二方面的第二种可能的实施方式中,所述次级CND还包括数据管理装置,所述方法还包括:
所述数据管理装置接收来自所述第一终端的请求,所述请求中携带有所述数据标识;
所述数据管理装置根据所述数据标识以及所述多个次级CDN节点所能提供的数据的元数据,向所述第一终端提供所述第一次级CDN节点的IP地址;
则,接收来自接入所述次级CND的第一终端的数据获取请求,具体为:
所述第一次级CDN节点接收所述第一终端发送的所述数据获取请求。
结合第二方面的第二种实施方式,在第二方面的第三种可能的实施方式中,所述数据管理装置根据所述数据标识以及所述多个次级CDN节点所能提供的数据的元数据,向所述第一终端提供所述第一次级CDN节点的IP地址,包括:
所述数据管理装置获取所述第一终端的终端信息,所述终端信息包括所述第一终端的网际协议版本标识、网络协议标识、接入方式标识中的一种或多种;
所述数据管理装置根据所述多个次级CDN节点所能提供的数据的元数据、所述数据标识、所述第一终端的终端信息,向所述第一终端提供所述第一次级CDN节点的IP地址
结合第二方面的第二种实施方式或者第二方面的第三种实施方式,在第二方面的第四种可能的实施方式中,所述方法还包括:
当接入所述次级CND的第二终端存储有所述第一终端所请求的数据时,所述数据管理装置向所述第一终端提供所述第二终端的IP地址。
结合第二方面至第二方面的第四种实施方式中的任意一种实施方式,在第二方面的第五种可能的实施方式中,所述次级CND还包括域名解析设备,所述方法还包括:
所述域名解析设备接收来自所述第一终端的域名解析请求,所述域名解析请求中携带有所述数据标识;
所述域名解析设备根据所述数据标识以及所述多个次级CDN节点所能提供的数据的元数据,向所述第一终端提供所述第一次级CDN节点的IP地址;
则,接收来自接入所述子网的第一终端的数据获取请求,具体为:
所述第一次级CDN节点接收所述第一终端发送的所述数据获取请求。
结合第二方面至第二方面的第五种实施方式中的任意一种实施方式,在第二方面的第六种可能的实施方式中,所述利用第一次级CDN节点向所述第一终端提供所述数据标识对应的数据,包括:
所述第一次级CDN节点从所述第二次级CDN节点获取所述第一终端所请求数据的第二部分数据;
所述第一次级CDN节点向所述第一终端提供所述第二部分数据以及本地存储的所述第一终端所请求数据的第一部分数据,所述第一部分数据与所述第二部分数据不同。
结合第二方面的第二种实施方式至第二方面的第四种实施方式中的任意一种实施方式,在第二方面的第七种可能的实施方式中,所述方法还包括:
所述数据管理装置识别热数据;
所述数据管理装置将所述热数据部署在所述子网中的次级CDN节点上。
第三方面,本申请提供一种数据提供装置,所述数据提供装置应用于上述第一次级CDN节点,所述数据提供装置包括用于实现第二方面或第二方面任一种可能实现方式中第一次级CDN节点执行的数据提供方法的各个模块。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在多个计算机设备上运行时,使得多个计算机设备执行上述第二方面或第二方面的任一种实现方式所述的方法。具体的,所述多个计算机设备中的第一计算机设备,运行计算机可读存储介质中的指令,可以实现上述第二方面中第一次级CDN节点所执行的方法;其中,该第一计算机设备包括至少一个计算机设备。所述多个计算机设备中的第二计算机设备,运行计算机可读存储介质中的指令,可以实现上述第二方面中数据管理装置所执行的方法;其中,该第二计算机设备包括至少一个计算机设备。所述多个计算机设备中的第三计算机设备,运行计算机可读存储介质中的指令,可以实现上述第二方面中域名解析设备所执行的方法;其中,该第三计算机设备包括至少一个计算机设备。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在多个计算机设备上运行时,使得多个计算机设备执行上述第二方面或第二方面的任一种实现方式所述的方法。具体的,所述多个计算机设备中的第一计算机设备,运行包含指令的计算机程序产品,可以实现上述第二方面中第一次级CDN节点所执行的方法;其中,该第一计算机设备包括至少一个计算机设备。所述多个计算机设备中的第二计算机设备,运行包含指令的计算机程序产品,可以实现上述第二方面中数据管理装置所执行的方法;其中,该第二计算机设备包括至少一个计算机设备。所述多个计算机设备中的第三计算机设备,运行包含指令的计算机程序产品,可以实现上述第二方面中域名解析设备所执行的方法;其中,该第三计算机设备包括至少一个计算机设备。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1为一种CDN的网络架构示意图;
图2为本申请实施例提供的一种次级CDN的网络架构示意图;
图3为本申请实施例提供的另一种次级CDN的网络架构示意图;
图4为本申请实施例提供的又一种次级CDN的网络架构示意图;
图5为本申请实施例提供的再一种次级CDN的网络架构示意图;
图6为本申请实施例提供的再一种次级CDN的网络架构示意图;
图7为本申请实施例提供的再一种次级CDN的网络架构示意图;
图8为本申请实施例提供的再一种次级CDN的网络架构示意图;
图9为本申请实施例提供的再一种次级CDN的网络架构示意图;
图10为本申请实施例提供的一种计算机设备1000的结构示意图;
图11为本申请实施例提供的另一种计算机设备1100的结构示意图;
图12为本申请实施例提供的又一种计算机设备1200的结构示意图;
图13为本申请实施例提供的再一种计算机设备1300的结构示意图。
具体实施方式
目前,在现有的网络基础上可以部署如图1所示的网络架构。该网络架构100可以包括不同层级的CDN节点,如位于顶层(如核心网层)的CDN节点110、位于中间层(如汇聚层)的CDN节点120、位于底层的CDN边缘节点130等。本实施例中,对于距离用户最近的N层CDN节点(也即位于网络“边缘”的CDN节点),称之为CDN边缘节点。图1中是以网络架构包括三层CDN节点为例进行示例性说明,并且,最底层的CDN节点为CDN边缘节点(即上述N为1)。实际应用中,网络结构可以包括任意数量层级的CDN节点,并且每一层级的CDN节点的数量也可以为任意数量,本实施例对此并不进行限定。
其中,不同层级的CDN节点上均可以存储有相应的数据,并且每一层CDN节点所存储的数据可以来源于上一层的CDN节点,而最顶层的CDN节点110中存储的数据可以来源于内容源101。该内容源101例如可以是数据中心等,而各个层级的CDN节点可以通过部署相应的服务器实现。
在部署CDN边缘节点130时,通常可以是根据地域(如省、市等)部署CDN边缘节点130,并且,每个CDN边缘节点130能够为一个或者多个接入该CDN边缘节点130的终端140提供数据。当CDN边缘节点130中未存储有终端140所请求的数据,则CDN边缘节点130可以从上一层的CDN节点120中拉取数据到CDN边缘节点130本地中进行缓存;若CDN120中也未存储有终端140所请求的数据,则CDN120从上一层的CDN节点110中拉取数据,并将其发送给CDN节点120,再由CDN节点120将该数据转发给CDN边缘节点130;若CDN节点110中仍然未存储有终端140所请求的数据,则从内容源101中获取,并将其逐层转发给CDN边缘节点130本地进行缓存。上述过程通常被称之为“回源”。然后,CDN边缘节点130再将本地缓存的、通过“回源”方式获取的数据发送给终端140。如当终端140所请求的数据仅存储于内容源101时,数据请求路径可以是:终端140->CDN边缘节点130->CDN节点120->CDN节点110->内容源101。
但是,实际应用中,接入CDN边缘节点130的终端140数量较多,比如,当以省单位部署CDN边缘节点130时,接入同一CDN边缘节点130的终端140为该省内的所有用户的终端。此时,若同时存在较多数量的终端140向该CDN边缘节点130请求获取数据(如下载软件更新资源包、影视数据等),这就会对CDN边缘节点130造成较大的负载压力,而部分终端140可能会长时间处于等待CDN边缘节点130响应的状态。
同时,每个CDN边缘节点130所能存储的数据量有限,这使得当该CDN边缘节点130中未存储有终端140所请求的数据,CDN边缘节点130通常是通过“回源”的方式获取终端140所请求的数据,这就造成中间层与顶层容易产生较大的流量(如同一时刻存在多个不同的CDN边缘节点130通过“回源”的方式从中间层或者顶层拉取数据等),从而可能会出现中间层与顶层的服务能力瓶颈,以及为应对该较大流量而付出高昂的成本。
基于此,本申请实施例提供了一种次级CDN,该次级CDN与上级CDN连接,该次级CDN中包括多个次级CDN节点,并且不同次级CDN节点之间的通信链路绕过CDN边缘节点,每个次级CDN节点也可被称之为星际内容分发网络(Inter Planetary Content DeliveryNetwork,IPCDN)节点。其中,每个次级CDN节点可以为接入次级CDN的终端提供数据。这样,接入次级CDN的终端,在其请求获取数据时,可以是由次级CDN节点为该终端提供数据,而可以不用由CDN边缘节点为终端提供数据,即次级CDN节点能够为CDN边缘节点分担部分负载,从而可以缓解CDN边缘节点的负载压力,也就可以尽可能避免该CDN边缘节点内的部分终端出现长时间等待响应的状态。
同时,由于在次级CDN中部署了多个次级CDN节点,而CDN边缘节点以及部署的多个次级CDN节点所能存储的数据总量会多于CDN边缘节点存储的数据量,这就实现了对CDN边缘节点存储的数据量的扩容。而CDN边缘节点中存储的数据量增加,可以降低CDN边缘节点通过“回源”方式向上层CDN节点拉取数据的频率,从而可以减少中间层与顶层所产生的流量,这就使得中间层与顶层的服务能力不容易出现瓶颈,并且中间层与顶层的成本也可以得到降低。同时,多个次级CDN节点的网络覆盖范围可以大于单个CDN边缘节点的网络覆盖范围,比如当多个次级CDN节点相互之间共享为终端提供的数据时,该多个次级CDN节点的网络覆盖范围总和可以大于该单个CDN边缘节点的网络覆盖范围;当然,多个次级CDN节点的网络覆盖范围也可以是小于单个CDN边缘节点的网络覆盖范围,本实施例对此并不进行限定。
下面结合附图,对本申请的实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
参见图2所示的次级CDN的网络结构示意图。在图1所示的CDN的基础上,可以针对CDN边缘节点部署次级CDN。该次级CDN可以与图1所示的上级CDN连接,具体可以是通过该次级CDN所连接的CDN边缘节点连接上级CDN。其中,每个次级CDN中可以包括多个次级CDN节点。如图2所示,针对于CDN边缘节点131部署的次级CDN中可以包含有7个次级CDN节点,编号为1至7。示例性的,该7个次级CDN节点可以划分为两个次级CDN节点集群,如图2所示,一个集群中包括编号1至4的次级CDN节点,另一个集群中包括编号5至7的次级CDN节点。值得注意的是,各个次级CDN节点集群可以构成单独的次级CDN,即CDN边缘节点131可以连接两个次级CDN,一个次级CDN包含有4个次级CDN节点,另一个次级CDN包含有3个次级CDN节点。并且,这两个次级CDN均可以通过CDN边缘节点131连接上级CDN。
类似的,针对于CDN边缘节点132部署的次级CDN中可以包含有3个次级CDN节点,编号为8至10。针对于CDN边缘节点133部署的次级CDN中可以包含有2个次级CDN节点,编号为11与12;针对于CDN边缘节点134部署的次级CDN中可以包含有3个次级CDN节点,编号为13至15。其中,每个次级CDN节点可以允许一个或者多个终端接入(部分次级CDN节点接入的终端未示出),如存在两个终端接入次级CDN3节点等。当然,也可以存在部分次级CDN节点未接入终端,但是这部分次级CDN节点可以为其它次级CDN节点共享数据。
为便于描述,图2中以包括4个CDN边缘节点为例进行示例性说明,实际应用中,基于CDN的网络架构中可以包括任意数量的CDN边缘节点,并且,针对于CDN边缘节点所部署的次级CDN中可以包含任意数量的次级CDN节点,本实施例对此并不进行限定。
实际应用的一些实施方式中,次级CDN节点可以是作为功能模块部署于家庭网络所依托的设备上,如家庭路由器、智能电视等设备。这样,可以复用家庭网络的带宽资源以及存储资源,不仅可以实现对CDN边缘节点存储数据量的扩容,而且,次级CDN节点向终端提供数据时,可以不占用CDN边缘节点的带宽。而在其它可能的实施方式中,次级CDN节点也可以是作为功能模块部署于CDN边缘节点的网络覆盖范围内的其它设备,如移动边缘计算(Mobile Edge Computing,MEC)设备、基于固网的边缘计算(Edge Computing,EC)设备等。或者,次级CDN节点也可以是独立部署的服务器等。
作为一种示例,终端在请求数据时,可以是向CDN边缘节点、次级CDN节点或者由多个次级CDN节点构成的集群请求数据。以终端向多个次级CDN节点中的第一次级CDN节点请求数据为例,终端可以向该第一次级CDN节点发送数据获取请求,该数据获取请求中包括终端所要获取数据的数据标识。第一次级CDN节点根据从数据获取请求中解析出的数据标识,可以从本地查找具有该数据标识的数据,若查找到,则可以将该数据发送给终端。而若未查找到具有该数据标识的数据,则第一次级CDN节点可以向次级CDN中的其它次级CDN节点,如第二次级CDN节点发送该数据标识,以请求第二次级CDN节点共享该数据标识对应的数据。若其它CDN节点存储有该数据标识对应的数据,则可以将该数据发送给第一次级CDN节点,并由该第一次级CDN节点将该数据提供给终端。其中,次级CDN中的第一次级CND节点与第二次级CDN节点的通信链路绕过CDN边缘节点,即第一次级CDN节点与第二次级CND节点之间的通信链路,可以是直连链路,即该通信链路上不存在其它次级CDN节点或者CDN边缘节点,或者,该第一次级CDN节点与第二次级CDN节点之间的通信链路,包括其它次级CND节点,但是不包括CDN边缘节点。
而若次级CDN中的其它CDN节点也没有存储有该数据,则第一次级CDN可以向CDN边缘节点发送包含该数据标识的请求,以便CDN边缘节点从其本地存储的数据中查找出具有该数据标识的数据。若CDN边缘节点本地存储有该数据,则CDN边缘节点可以将其发送给第一次级CDN节点中进行缓存,然后,由第一次级CDN节点将本地缓存的数据转发给终端。而若CDN边缘节点本地也未存储该数据,则CDN边缘节点可以通过“回源”的方式向上一层CDN拉取数据,再将拉取到的数据通过第一次级CDN节点提供给终端。
当然,对于未接入次级CDN,但是位于CDN边缘节点的网络覆盖范围内的终端,其可以是直接向CDN边缘节点发送包含上述数据标识的数据获取请求,以便由CDN边缘节点向该终端提供数据。具体实现时,CDN边缘节点上可以配置有相应的通信接口,而终端可以通过CDN边缘节点上的通信接口向CDN边缘节点请求数据,示例性的,该通信接口例如可以是超文本传输协议(Hyper Text Transfer Protocol,HTTP)接口等,或者可以是其它接口。
如图2所示,与次级CDN连接的上层CDN内,各层CDN节点可以是为树状结构,其中,树状结构,也可以被称为树形结构,通常包括一个根节点和若干个子节点,这些节点可以构成至少两层节点,如图2中可以包括三层节点。其中,最顶层(或者称之为第一层)为一个根节点,与该根节点连接的下一层(第二层)节点为该根节点的子节点,第二层子节点下还可以连接有第三层子节点。通常情况下,同一层的节点之间通常不进行直接通信,即同一层的节点之间的通信链路中通常包括上一层节点。
而次级CDN内的多个次级CDN节点可以呈网状结构。其中,网状结构,是指次级CDN中的各个CDN节点可以与该次级CND中的其它次级CDN节点直接相连,如此,不同次级CDN节点之间可以通过直连链路或者间接连接的通信链路进行通信并共享数据,而多个次级CDN节点之间的通信链路可以构成网状。
本实施例中,可以进一步根据次级CDN节点响应终端的时延,对CDN边缘节点的网络覆盖范围内的次级CDN节点以及多个终端进行聚类,从而得到响应时延较低的集合,该集合中包括次级CDN节点以及终端,并且,该集合中的次级CDN节点响应该集合中的终端的时延平均值小于预设时延阈值。
示例性的,CDN边缘节点可以统计该CDN边缘节点中的各个终端被各个次级CDN节点响应的时延,并基于各个终端相对于各个次级CDN节点的时延进行聚类计算,例如可以是以次级CDN节点为基准,确定该次级CDN节点响应多个终端的时延的平均值,若该多个终端的时延平均值小于预设时延阈值,则将该次级CDN节点与该多个终端聚为一类。其中,次级CDN节点响应终端的时延,可以是该次级CDN节点响应与该次级CDN节点连接的终端的时延,也可以是该次级CDN节点响应与其它次级CDN节点连接的终端的时延(例如可以是两个次级CDN节点之间的通信时延与其它次级CDN节点响应终端的时延之和等)。因此,每个聚类类别中可以是包括多个次级CDN节点以及一个或者多个终端。
然后,基于次级CDN节点与终端的聚类结果,可以在CDN边缘节点的网络覆盖范围内划分得到一个或者多个时延区域,每个时延区域对应于一个聚类结果,并且,该时延区域中的次级CDN节点响应该时延区域中的终端的平均时延小于预设时延阈值。如图2所示,在CDN边缘节点131中可以划分为两个时延区域。在一些可能的实施方式中,每个时延区域对应于一个次级CDN的网络范围,该时延区域内所包含的次级CDN节点,也即为构成次级CDN的次级CDN节点。
实际应用中,多个CDN边缘节点中的时延区域也可以合并为一个时延区域,并且,该合并后的时延区域中次级CDN节点响应该时延区域中的终端的平均时延仍然小于预设时延阈值。如图2所示,CDN边缘节点133、CDN边缘节点134的网络覆盖范围内的次级CDN节点以及终端可以合并为一个时延区域。当然,CDN边缘节点的网络覆盖范围内也可以是只包含一个时延区域,如图2所示,CDN边缘节点132的网络覆盖范围内的次级CDN节点与终端可以被聚类在一个时延区域中。
进一步的,对于同一时延区域内的不同次级CDN节点之间,可以共享数据。比如,如图3所示,当接入次级CDN节点6的终端,向次级CDN节点6请求的数据未存储于次级CDN节点6中时,可以从同一时域区域内的次级CDN节点5以及次级CDN节点7存储的数据中进行查找(如图3中所示的东西向回源),并且,若从这两个次级CDN节点中查找到终端所请求的数据,则次级CDN节点5或者次级CDN节点7可以将查找到的数据发送给次级CDN节点6,再由次级CDN节点6将该数据提供给终端。而若从这两个次级CDN节点中未查找到终端所请求的数据时,次级CDN节点6可以向CDN边缘节点131请求数据,并且当CDN边缘节点131中仍然没有存储有终端所请求的数据时,再由CDN边缘节点131继续通过“回源”方式向上层CDN(如CDN节点120、CDN节点110等)节点请求数据,直至CDN边缘节点131从上层CDN节点中请求到数据并将其提供给终端(如图3中所示的南北向回源)。假设终端所请求的数据位于内容源101中,则数据请求的路径为:终端->次级CDN节点6->次级CDN节点5、次级CDN节点7->CDN边缘节点131->CDN节点120->CDN节点110->内容源101。
值得注意的是,上述实施方式中,是以根据次级CDN节点响应终端的时延,对次级CDN节点以及与该次级CDN节点连接的终端进行区域划分,在其它可能的实施方式中,也可以是根据终端与次级CDN节点的地理位置、网络位置、网络环境等因素对次级CDN节点以及终端进行区域划分,或者也可以是基于上述因素(包括时延)中的任意一种或者多种进行区域划分等,并且,所采用的区域划分方式也并不局限于聚类,也可以是采用其它方式,本实施例对此并不进行限定。为方便描述,以下均以根据时延划分区域为例进行说明。
在一种示例性的具体实施方式中,CDN边缘节点中的每个次级CDN节点,均可以配置有分布式缓存以及通信接口。如图4所示,次级CDN节点5上配置有分布式缓存1以及通信接口1、次级CDN节点6上配置有分布式缓存2以及通信接口2、次级CDN节点7上配置有分布式缓存3以及通信接口3。其中,每个次级CDN节点上的分布式缓存,均可以用于缓存数据,相应的,当终端向次级CDN节点6请求数据时,次级CDN节点6可以从分布式缓存2所缓存的数据中查找是否存在终端所请求的数据。若存在,则次级CDN节点6可以将该分布式缓存2中的数据发送给终端;若不存在,则次级CDN节点6可以在同一区域(如上述时延区域)内的次级CDN节点5以及次级CDN节点7的分布式缓存1以及分布式缓存3所缓存的数据中查找是否存在终端所请求的数据。若存在,则,次级CDN节点5或次级CDN节点7将分布式缓存中的数据发送给次级CDN节点6,并由该次级CDN节点6将其提供给终端,若次级CDN节点5以及次级CDN节点7的分布式缓存中仍然不存在终端所存储的数据,则次级CDN节点6再通过“回源”的方式,向CDN边缘节点131甚至是上层CDN中拉取数据。
其中,同一区域内的分布式缓存1、分布式缓存2以及分布式缓存3可以组成分布式缓存网格,并且,数据可以在分布式缓存网格间共享和传输。如此,可以基于CDN边缘节点部署包括多个次级CDN节点的分布式网状网络。
同时,次级CDN节点上可以配置有通信接口,该通信接口可以与CDN边缘节点上的通信接口采用相同的通信协议,也可以是与CDN边缘节点上的通信接口采用不同的通信协议。特别的,当次级CDN节点上的通信接口与CDN边缘节点上的通信接口采用相同的通信协议时,终端可以通过访问CDN边缘节点的方式访问次级CDN节点,如此可以减少对于终端的改动,增加方案在实际实施时的可行性。
进一步的,在一些可能的实施方式中,还可以在CDN边缘节点中配置数据管理装置,以便利用该数据管理装置对各个次级CDN节点上存储的数据进行管理。
如图5所示,可以在CDN边缘节点131中配置数据管理装置500,该数据管理装置可以用于对次级CDN节点5、次级CDN节点6以及次级CDN节点7上存储的数据以及该数据的元数据进行管理。示例性的,实际应用中可以针对于每个时延圈部署一个数据管理装置,当然,也可以是多个时延圈共用一个数据管理装置,如在整个CDN网络中可以仅部署一个数据管理装置等,本实施例对此并不进行限制。
其中,数据管理装置500可以包括元数据跟踪模块501以及数据跟踪模块502。
元数据跟踪模块501,可以用于对各个次级CDN节点中数据对应的元数据进行生成和管理。其中,元数据,也可以被称中介数据等,是用于描述数据的数据(data aboutdata),例如是描述数据的属性(property)信息,用来支持如指示存储位置、资源查找、文件记录等功能。示例性的,当次级CDN节点上存储的数据为影视数据时,元数据可以是具有某种格式文件的“种子”,该“种子”可以包括该影视数据在次级CDN节点上的统一资源定位符(Uniform Resource Locator,URL),可以用于根据该“种子”获取相应的数据。
示例性的,本实施例中的元数据,具体可以是包括次级CDN节点上所缓存数据的基础信息,比如,数据资源的名称、数据大小、数据类型等信息。进一步的,该元数据还可以包括校验信息和/或切片信息。其中,校验信息,例如可以是用于对缓存数据进行完整性校验的信息等,或者可以是其它校验信息;切片信息,可以是用于描述数据所属的切片,例如可以是数据的切片标识等。例如,一份文件可以被切分成多个切片数据,而多个切片数据可以被放置于不同的次级CDN节点中进行存储,实际应用中,存储同一文件的不同切片数据的次级CDN节点,可以位于同一时延区域中。当然,元数据也可以采用其它用于描述数据的数据,本实施例,本实施例对此并不限定。
数据跟踪模块502,可以用于跟踪各个次级CDN节点上数据以及元数据信息,并对各个次级CDN节点上的数据进行维护和调整。
例如,数据跟踪模块502对次级CDN节点5、次级CDN节点6以及次级CDN节点7中缓存的数据进行跟踪,当确定其中一个次级CDN节点中缓存了新数据时,则数据跟踪模块502可以向元数据跟踪模块501发送针对于新缓存数据的元数据创建请求,以请求元数据跟踪模块501创建相应的元数据;然后,数据跟踪模块502可以将元数据跟踪模块501创建的元数据发送至次级CDN节点中进行保存。而当次级CDN节点中删除了部分缓存数据时,数据跟踪模块502可以将维护的元数据信息中删除该部分缓存数据所对应的元数据。
另外,数据跟踪模块502还可以对时延区域内缓存在各个次级CDN节点上的数据进行调度。比如,数据跟踪模块502可以均衡同一时延区域内的多个次级CDN节点的负载以及存储的数据等,具体的,同一时延区域内的不同次级CDN节点上,可以存储有部分相同的数据,这样,当该数据被较多数量的终端所请求时,可以由多个次级CDN节点同时为终端提供数据,以均衡各个次级CDN节点的负载,如此,可以尽可能避免该时延区域内的单个次级CDN节点的负载过大的情况。
示例性的,数据跟踪模块502在对各个次级CDN节点上存储的数据进行调度和管理时,可以向一个或者多个次级CDN节点推送热数据,该热数据是指被访问频次较多或者被访问的可能性较大的数据。比如,该热数据,可以是某款游戏的软件更新包等,当该款游戏需要进行统一更新时,数据跟踪模块502可以从CDN边缘节点131中获取该软件更新包,并将其推送至一个或者多个次级CDN节点中,从而当终端在需要更新该款游戏时,可以直接从相应的次级CDN节点中获取到软件更新包。
具体实现时,数据跟踪模块502可以收集各个次级CDN节点为终端提供数据的情况,并从中确定出终端请求频次较高的数据,从而数据跟踪模块502可以预测该数据属于热数据,并将其拷贝至一个或者多个次级CDN节点上,这样,CDN边缘节点131的网络覆盖范围内可以存在更多数量的次级CDN节点存储有该热数据,而终端无需全部从少量的次级CDN节点中请求数据,如此可以降低单个次级CDN节点的负载过高的概率,减少单次级CDN节点出现瓶颈的可能性,增加分布式网络的可用性和可靠性。
除了可以由数据跟踪模块502通过分析和预测的方式确定出热数据以外,也可以是在确定CDN边缘节点131中存在部分数据具有热数据的标识时,将该数据确定为热数据,该热数据的标识,可以是由CDN边缘节点提供或者其它设备提供;或者,可以是根据过去次级CDN节点所提供的数据,预测在未来一段时间段内次级CDN节点可以提供的热点数据,比如未来一段时间内上映的影视数据等。本实施例中,对于数据跟踪模块502如何确定热数据的具体实现方式并不进行限定。
实际应用中,数据管理装置500可以是由软件实现,例如可以是运行在服务器上的计算机程序等;或者,数据管理装置500也可以是由硬件实现,如利用专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合实现上述数据管理装置500的功能。并且,当数据管理装置500由硬件实现时,该数据管理装置500可以是一个硬件设备;或者,可以是两个硬件设备,此时,元数据跟踪模块501与数据跟踪模块502分别位于不同的硬件设备。另外,数据管理装置500可以被配置于CDN边缘节点上,也可以是作为独立的设备配置在CDN中,本实施例对此并不进行限定。
本实施例中,终端在请求数据时,可以是由数据管理装置500为终端提供次级CDN节点的IP地址。
具体的,作为一种示例性实施方式,数据管理装置500作为插件(plugin)被配置在CDN边缘节点131中,具体可以是被配置在CDN边缘节点131对应的服务器上。如图6所示,终端141在请求数据时:
S601:终端141向本地域名服务器(Local Domain Name Service,LDNS)150发送域名解析请求,以请求LDNS150进行域名解析。
本实施例中,在图1所示的网络架构的基础上,还配置有LDNS150,以用于对多个不同终端提供域名解析服务。
S602:LDNS150向终端141返回CDN边缘节点131的网际协议(Internet Protocol,IP)地址。
实际应用中,针对于不同终端发送的域名解析请求,LDNS150可以返回不同CDN边缘节点的IP地址。
S603:终端141根据接收到的IP地址,向CDN边缘节点131发送数据获取请求,该数据获取请求中包括有终端141所要请求的资源内容的数据标识。
S604:CDN边缘节点131响应该数据获取请求,调用作为插件配置在CDN边缘节点131上的数据管理装置500。
S605:数据管理装置500根据维护的各个次级CDN节点上的数据以及元数据信息,向CDN边缘节点131返回用于为终端141提供数据的次级CDN节点5的IP地址。
具体实现时,数据管理装置500中的数据跟踪模块502,可以根据次级CDN节点拓扑(包括数据共享的次级CDN节点5、次级CDN节点6以及次级CDN节点7)、每个次级CDN节点上缓存数据对应的元数据以及终端141所请求数据的数据标识,确定为终端141提供数据的次级CDN节点,本实施例中,假设所确定的次级CDN节点为次级CDN节点5。比如,数据跟踪模块502可以通过匹配各个次级CDN节点中的元数据与终端141所请求数据的数据标识,确定存在次级CDN节点5上的元数据与该数据标识相匹配,从而可以确定由次级CDN节点5为终端提供数据。在其它可能的实施方式中,数据跟踪模块502还可以结合各个次级CDN节点的负载、各个次级CDN节点与终端141之间的网络位置距离、以及各个次级CDN节点响应终端141的时延中的任意一种或者多种因素进行考虑,以确定出为终端141提供数据的次级CDN节点。
实际应用中,可能存在部分次级CDN节点与终端141通信难度较大或者无法进行通信的问题。比如,终端141可能为仅支持网际协议第6版(Internet Protocol Version 6,IPV6)的单栈终端,而次级CDN节点6可能仅支持网际协议第4版(Internet ProtocolVersion 4,IPV4)协议,这就使得该次级CDN节点6与该终端之间可能无法进行通信。
因此,在进一步可能的实施方式中,数据跟踪模块502可以先判断当前请求数据的终端141与各个次级CDN节点之间的可达性,从数据跟踪模块502所管理的一个或者多个次级CDN节点中筛选出与终端可以进行通信的次级CDN节点,从而再基于上述确定次级CDN节点的方式,从筛选出的次级CDN节点中确定出为终端141提供数据的次级CDN节点。
实际应用时,可以在终端侧配置轻量级的客户端,如图6所示,该客户端可以用于获取终端141的终端信息,并将其发送给CDN边缘节点131。这样,元数据跟踪模块502在确定为终端141提供数据的次级CDN节点时,可以根据次级CDN节点拓扑、每个次级CDN节点上缓存数据对应的元数据、终端141所请求数据的数据标识以及从CDN边缘节点131获取的终端信息,确定出为终端141提供数据的次级CDN节点。其中,终端信息,例如可以是该终端141所支持的网际协议版本标识(如IPV4、IPV6等)、网络协议标识(如UPNP协议,即通用即插即用协议)以及接入方式(如4G网络、5G网络、WIFI网络接入等)中的一种或多种。
S606:CDN边缘节点131将次级CDN节点5的IP地址返回给终端141。
S607:终端141基于接收到的IP地址向次级CDN节点5发送数据获取请求,该数据获取请求中包括数据标识。
如此,CDN边缘节点131实现对终端141发送的数据获取请求的重定向调度。
S608:次级CDN节点5响应接收到的数据获取请求,并在本地存储的数据中查找该数据标识对应的数据,并向次级CDN节点6以及次级CDN节点7请求共享数据。
次级CDN节点5可以对终端141发送的数据获取请求进行解析,得到终端141所请求数据的数据标识,该数据标识例如可以是数据资源的名称或者其它用于唯一标识数据的信息。然后,次级CDN节点5可以从本地查找该数据标识所对应的数据。实际应用中,由于该数据资源可能会被切分成多个切片,并且不同次级CDN节点上存储该数据资源的不同切片,因此,次级CDN节点5若确定其在本地只存储有终端141所请求数据的第一部分数据,则可以向次级CDN节点6以及次级CDN节点7请求共享数据,以获取其它次级CDN节点上缓存的其它切片数据,也即为终端141所请求数据的第二部分数据。在次级CDN节点6和/或IPCD7向次级CDN节点5发送第二部分数据后,次级CDN节点5在本地可以缓存终端所请求的所有数据,从而可以为终端141提供其所需的所有数据。
S609:次级CDN节点5向终端141返回数据。
图6所示实施例中,需要CDN边缘节点131参与调度,而在其它可能的实施例中,可以在终端141配置具有一定数据处理能力的客户端,以使得在次级CDN节点能够为终端141提供数据的前提下,终端141请求数据的过程中可以无需CDN边缘节点131参与。具体的,参见图7所示的终端141请求数据的过程:
S701:客户端触发终端141向LDNS150发送域名解析请求,以请求LDNS150进行域名解析。
S702:LDNS150向终端141返回数据管理装置500的IP地址。
本实施例中,在终端141上可以配置客户端,该客户端可以向LDNS150发送针对于数据管理装置500的域名解析请求,以使得LDNS150向客户端返回数据管理装置500的IP地址。
示例性的,当数据管理装置500为CDN边缘节点131中独立设置的设备时,LDNS150所返回的IP地址即为该设备的IP地址;当数据管理装置500被配置于实现CDN边缘节点的服务器时,LDNS150所返回的IP地址为该服务器的IP地址。
S703:客户端触发终端141根据LDNS150返回的IP地址,向数据管理装置500发送获取次级CDN节点的IP地址的请求,所请求的次级CDN节点即为能够为终端141提供数据的次级CDN节点。
S704:数据管理装置500根据维护的各个次级CDN节点上的数据以及元数据信息,向终端141返回用于为终端141提供数据的次级CDN节点5的IP地址。
其中,数据管理装置500确定次级CDN节点5的具体实现方式,可以参见图6所示实施例中确定次级CDN节点5过程的相关之处描述,在此不做赘述。
值得注意的是,客户端在触发终端141发送请求时,可以先获取该终端141上的终端信息,并向数据管理装置500发送包含该终端信息的请求,以便数据管理装置500可以结合该终端信息确定次级CDN节点5,从而提高所确定的次级CDN节点的合理性以及准确性。
S705:终端141基于接收到的IP地址向次级CDN节点5发送数据获取请求,该数据获取请求中包括数据标识。
S706:次级CDN节点5响应接收到的数据获取请求,并在本地未存储该数据标识对应的数据时,向次级CDN节点6以及次级CDN节点7请求共享数据。
S707:次级CDN节点5向终端141返回数据。
当然,若次级CDN节点5本地存储有该数据标识对应的数据,则可以直接将本地存储的数据发送给终端141,从而无需向其它次级CDN节点请求共享数据。
本实施例中,步骤S705至步骤S707的具体实现方式,可以参见图6所示实施例中步骤S607与步骤S609的相关之处描述,在此不做赘述。
图6以及图7所述实施例中,终端141是通过LDNS150与CDN边缘节点131确定次级CDN节点5的IP地址,或者是通过LDNS150与数据管理装置500确定次级CDN节点5的IP地址,而在其它可能的实施例中,终端141也可以是通过具有域名解析能力的设备直接获得次级CDN节点5的IP地址。具体的,如图8所示,可以在网络中配置有域名解析设备160,则终端141请求数据的流程可以为:
S801:客户端触发终端141向域名解析设备160发送域名解析请求,以请求域名解析设备进行域名解析。
S802:域名解析设备160向终端141返回次级CDN节点5的IP地址。
本实施例中,终端141向域名解析设备发送的域名解析请求中,可以包含终端141所要请求数据的数据标识,而该域名解析设备160可以根据该数据标识以及各个次级CDN上存储的数据的元数据,确定出存储有该数据标识对应的数据的次级CDN节点5,并将该次级CDN节点5的IP地址发送给终端141。
或者,在其它可能的实施方式中,域名解析设备在进行域名解析时,可以根据各个次级CDN节点在网络中的位置以及终端141的网络位置,从多个次级CDN节点中确定出与该终端141距离最近的次级CDN节点,假设本实施例中,距离该终端141最近的次级CDN节点为次级CDN节点5,则域名解析设备160可以将该次级CDN节点5的IP地址发送给终端141。
S803:终端141基于接收到的IP地址向次级CDN节点5发送数据获取请求,该数据获取请求中包括数据标识。
S804:次级CDN节点5响应接收到的数据获取请求,并在本地未存储该数据标识对应的数据时,向次级CDN节点6以及次级CDN节点7请求共享数据。
在一种示例性的实施方式中,若次级CDN节点5未存储有终端141所请求的数据,则可以向时延区域内的其它次级CDN节点广播共享数据的请求,该请求中包含终端141所请求数据的数据标识,从而可以由存储有该数据的次级CDN节点向次级CDN节点5反馈该数据,以使得次级CDN节点5能够获取终端141所请求的数据。
或者,在其它可能的实施方式中,时延区域内的各个次级CDN节点上可以配置有元数据指示信息,该元数据指示信息用于指示该时延区域内所有次级CDN节点所存储数据的元数据,如可以是包括所有次级CDN节点所存储数据的元数据的列表。这样,当次级CDN节点5本地未存储有终端141所请求的数据时,可以根据本地存储的元数据指示信息,确定存储有终端141所请求数据的次级CDN节点,从而可以从该次级CDN节点处获取数据,以便将所获取的数据反馈给终端141。
S805:次级CDN节点5向终端141返回数据。
当然,当次级CDN节点5存储有终端141所请求的数据时,次级CDN节点5可以直接将该数据提供该终端141,从而无需从其它次级CDN节点处获取数据。
本实施例中,步骤S803至步骤S805的具体实现方式,可以参见前述实施例的相关之处描述,在此不做赘述。
在进一步可能的实施例中,不仅次级CDN节点可以为终端141提供数据,位于CDN边缘节点的网络覆盖范围内的其它终端,也可以为该终端141提供数据。具体的,如图9所示,CDN边缘节点的网络覆盖范围内的各个终端可以配置有智能互联网客户端(humanoriented network-client,HON-client),终端上的HON-client可以支持终端之间互相共享数据。参见图9所示的数据请求流程:
S901:HON-client2触发终端142向数据管理装置500进行节点注册,并请求获取终端142所存储数据的元数据。
由于CDN边缘节点131的网络覆盖范围内提供数据的节点通常是由数据管理装置500进行管理,因此,终端142在作为提供数据的节点之前,可以先向数据管理装置500进行注册,以便数据管理装置500将该终端142纳入管理。
同时,数据管理装置500是基于数据的元数据对各个节点上的数据进行管理,因此,终端142在进行节点注册的同时,也向数据管理装置500请求获取终端142所存储数据的元数据。
S902:数据管理装置500中的数据跟踪模块502可以根据终端142存储的数据,向元数据管理模块501请求生成相应的元数据。
S903:元数据管理模块501生成相应的元数据并将其返回给数据跟踪模块502。
S904:数据跟踪模块502将元数据返回给终端142。
S905:HON-clinet1触发终端141向数据管理装置500请求数据。
其中,步骤S905的具体实现方式,可以参见前述实施例中的相关之处描述,在此不做赘述。
S906:数据管理装置500向终端141返回存储有该数据的节点列表,该节点列表中可以包括一个或者多个节点的IP地址。
其中,对于数据管理装置500如何确定向终端141提供数据的节点的具体实现方式,可以参见前述实施例的相关之处描述,在此不做赘述。
节点列表中的IP地址,可以包括次级CDN节点的IP地址,或者可以包括终端142的IP地址,或者可以包括CDN边缘节点131的IP地址等。
S907:HON-clinet1触发终端141根据节点列表中的IP地址,向相应的次级CDN节点、终端142或者CDN边缘节点131请求数据。
上述各实施例中,终端请求数据的过程所涉及到的次级CDN节点5、CDN边缘节点131、终端141以及数据处理装置500均可以以单独的硬件设备实现,而在其它可能的实现方式中,其也可以是配置于计算机设备上的软件,并且,通过在计算机设备上运行该软件,可以使得计算机设备分别实现上述次级CDN节点5、CDN边缘节点131、终端141及数据处理装置500所具有的功能。下面,对终端请求数据的过程中所涉及的次级CDN节点5、CDN边缘节点131、终端141以及数据处理装置500分别进行详细介绍。
图10至图13提供了一种计算机设备。图10所示的计算机设备1000具体可以用于实现上述图2至图9所示实施例中次级CDN节点5的功能,图11所示的计算机设备1100具体可以用于实现上述图2至图9所示实施例中CDN边缘节点131的功能,图12所示的计算机设备1200具体可以用于实现上述图6至图9所示实施例中终端141的功能,图13所示的计算机设备1300具体可以用于实现上述图5至图7以及图9所示实施例中数据管理装置500的功能。
计算机设备1000包括总线1001、处理器1002、通信接口1003和存储器1004。处理器1002、存储器1004和通信接口1003之间通过总线1001通信。总线1001可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口1003用于与外部通信,例如接收终端发送的数据获取请求等。
其中,处理器1002可以为中央处理器(central processing unit,CPU)。存储器1004可以包括易失性存储器(volatile memory),例如随机存取存储器(random accessmemory,RAM)。存储器1004还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。
存储器1004中存储有可执行代码,处理器1002执行该可执行代码以执行前述次级CDN节点5所执行的方法。
具体地,在实现图2至图9所示实施例的情况下,且图2至图9所示实施例中所描述的次级CDN节点为通过软件实现的情况下,执行图2至图9中的次级CDN节点5的功能所需的软件或程序代码存储在存储器1004中,次级CDN节点5与其它设备的交互通过通信接口1003实现,处理器用于执行存储器1004中的指令,实现次级CDN节点5所执行的方法。
计算机设备1100包括总线1101、处理器1102、通信接口1103和存储器1104。处理器1102、存储器1104和通信接口1103之间通过总线1101通信。计算机设备1100在实现图2至图9所示实施例的情况下,且图2至图9实施例中所描述的CDN边缘节点131为通过软件实现的情况下,实现CDN边缘节点131功能所需的软件或程序代码存储在存储器1104中。CDN边缘节点131与其他设备进行交互的功能通过通信接口1103实现,处理器1102用于执行存储器1104中的指令,实现CDN边缘节点131所执行的方法。
计算机设备1200包括总线1201、处理器1202、通信接口1203和存储器1204。处理器1202、存储器1204和通信接口1203之间通过总线1201通信。计算机设备1200在实现图6至图9所示实施例的情况下,且图6至图9实施例中所描述的终端141为通过软件实现的情况下,实现终端141功能所需的软件或程序代码存储在存储器1204中。终端141与其他设备进行交互的功能通过通信接口1203实现,处理器1202用于执行存储器1204中的指令,实现终端141所执行的方法。
计算机设备1300包括总线1301、处理器1302、通信接口1303和存储器1304。处理器1302、存储器1304和通信接口1303之间通过总线1301通信。计算机设备1300在实现图5至图7以及图9所示实施例的情况下,且图5至图7以及图9实施例中所描述的数据管理装置500为通过软件实现的情况下,执行元数据管理模块501以及数据跟踪模块502功能所需的软件或程序代码存储在存储器1304中。数据管理装置500与其他设备进行交互的功能通过通信接口1303实现,处理器1302用于执行存储器1304中的指令,实现数据管理装置500所执行的方法。
此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在多个计算机设备上运行时,使得多个计算机设备执行上述实施例所述的方法。具体的,该多个计算机设备中可以包括有第一计算机设备,该第一计算机设备运行计算机可读存储介质中的指令,可以实现上述各实施例中次级CDN节点所执行的方法。其中,该第一计算机设备包括至少一个计算机设备。
在一些实施方式中,该多个计算机设备中还可以包括有第二计算机设备,并且,该第二计算机设备运行计算机可读存储介质中的指令,可以实现上述各实施例中数据管理装置所执行的方法。其中,该第二计算机设备包括至少一个计算机设备。
在进一步可能的实施方式中,该多个计算机设备中还可以包括有第三计算机设备,并且,该第三计算机设备运行计算机可读存储介质中的指令,可以实现上述实施例中域名解析设备所执行的方法;其中,该第三计算机设备包括至少一个计算机设备。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品被多个计算机执行时,所述多个计算机执行前述数据提供方法的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述数据提供方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (21)

1.一种次级内容分发网络CDN,其特征在于,所述次级CDN与上级CDN连接,所述次级CDN包括多个次级CDN节点,所述上级CDN包括至少一层CDN节点,其中,所述上级CDN中靠近所述次级CDN的为CDN边缘节点,所述多个次级CDN节点通过所述CDN边缘节点接入所述上级CDN;
第一次级CDN节点,用于为接入所述次级CDN的终端提供数据,所述数据存储于所述第一次级CDN节点或第二次级CDN节点;
所述第一次级CDN节点从所述第二次级CDN节点获取所述数据的通信链路绕过所述CDN边缘节点。
2.根据权利要求1所述的次级CDN,其特征在于,所述第一次级CDN节点从所述第二次级CDN节点获取所述数据的通信链路为直连链路或所述通信链路包括其它次级CDN节点。
3.根据权利要求1或2所述的次级CDN,其特征在于,所述上级CDN内的所述至少一层CDN节点为树状结构。
4.根据权利要求1至3任一项所述的次级CDN,其特征在于,所述次级CDN内的所述多个次级CDN节点为网状结构。
5.根据权利要求1至4任一项所述的次级CDN,其特征在于,所述上级CDN内的所述CDN边缘节点连接多个所述次级CDN。
6.根据权利要求1至5任一项所述的次级CDN,其特征在于,所述次级CDN中包括至少一个时延区域,所述时延区域中的次级CDN节点响应所述时延区域中的终端的平均时延小于预设时延阈值。
7.根据权利要求1至6任一项所述的次级CDN,其特征在于,所述CDN边缘节点,用于为所述第一次级CDN节点提供数据。
8.根据权利要求1至7任一项所述的次级CDN,其特征在于,所述次级CDN还包括数据管理装置;
所述数据管理装置,用于管理所述多个次级CDN节点所能提供的数据以及所述数据的元数据。
9.根据权利要求8所述的次级CDN,其特征在于,所述数据管理装置,还用于根据所述多个次级CDN节点所能提供的数据的元数据,以及接入所述次级CDN的第一终端所请求数据的数据标识,向所述第一终端提供所述多个次级CDN节点中的第一次级CDN节点的网际协议IP地址。
10.根据权利要求9所述的次级CDN,其特征在于,所述第一次级CDN节点向所述第一终端提供所述第一终端所请求数据的第一部分数据,所述第一次级CDN节点从所述第二次级CDN节点获取所述第一终端所请求数据的第二部分数据,并向所述第一终端提供所述第二部分数据,所述第一部分数据与所述第二部分数据不同。
11.根据权利要求9或10所述的次级CDN,其特征在于,所述数据管理装置,具体用于确定接入所述次级CDN的第二终端所能提供的数据的元数据,并根据所述第二终端所能提供的数据的元数据,以及所述第一终端所请求数据的数据标识,向所述第一终端提供所述第二终端的网际协议IP地址。
12.根据权利要求9至11任一项所述的次级CDN,其特征在于,所述CDN边缘节点还用于接收所述第一终端的终端信息,所述终端信息包括所述第一终端的网际协议版本标识、网络协议标识、接入方式标识中的一种或多种;
所述数据管理装置,具体于根据所述多个次级CDN节点所能提供的数据的元数据、所述第一终端所请求数据的数据标识、从所述CDN边缘节点获取的所述第一终端的终端信息,向所述第一终端提供所述第一次级CDN节点的IP地址。
13.根据权利要求1至12任一项所述的次级CDN,其特征在于,所述次级CDN还包括域名解析设备,所述域名解析设备用于根据所述多个次级CDN节点所能提供的数据的元数据,以及接入所述子网的第一终端所请求数据的数据标识,向所述第一终端提供所述多个次级CDN节点中的第一次级CDN节点的网际协议IP地址。
14.一种数据提供方法,其特征在于,所述方法应用于次级内容分发网络CDN,所述次级CDN与上级CDN连接,所述次级CDN包括多个次级CDN节点,所述上级CDN包括至少一层CDN节点,其中,所述上级CDN中靠近次级CDN的为CDN边缘节点,所述多个次级CDN节点通过所述CDN边缘节点接入所述上级CDN,所述方法包括:
接收来自接入所述次级CDN的第一终端的数据获取请求,所述数据获取请求包括数据标识;
利用第一次级CDN节点向所述第一终端提供所述数据标识对应的数据,所述数据存储于所述第一次级CDN节点或第二次级CDN节点,并且,所述第一次级CDN节点从所述第二次级CDN节点获取所述数据的通信链路绕过所述CDN边缘节点。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
所述第一次级CDN节点接收来自所述CDN边缘节点的数据。
16.根据权利要求14或15所述的方法,其特征在于,所述次级CND还包括数据管理装置,所述方法还包括:
所述数据管理装置接收来自所述第一终端的请求,所述请求中携带有所述数据标识;
所述数据管理装置根据所述数据标识以及所述多个次级CDN节点所能提供的数据的元数据,向所述第一终端提供所述第一次级CDN节点的IP地址;
则,接收来自接入所述次级CND的第一终端的数据获取请求,具体为:
所述第一次级CDN节点接收所述第一终端发送的所述数据获取请求。
17.根据权利要求16所述的方法,其特征在于,所述数据管理装置根据所述数据标识以及所述多个次级CDN节点所能提供的数据的元数据,向所述第一终端提供所述第一次级CDN节点的IP地址,包括:
所述数据管理装置获取所述第一终端的终端信息,所述终端信息包括所述第一终端的网际协议版本标识、网络协议标识、接入方式标识中的一种或多种;
所述数据管理装置根据所述多个次级CDN节点所能提供的数据的元数据、所述数据标识、所述第一终端的终端信息,向所述第一终端提供所述第一次级CDN节点的IP地址。
18.根据权利要求16或17所述的方法,其特征在于,所述方法还包括:
当接入所述次级CND的第二终端存储有所述第一终端所请求的数据时,所述数据管理装置向所述第一终端提供所述第二终端的IP地址。
19.根据权利要求14至18任一项所述的方法,其特征在于,所述次级CND还包括域名解析设备,所述方法还包括:
所述域名解析设备接收来自所述第一终端的域名解析请求,所述域名解析请求中携带有所述数据标识;
所述域名解析设备根据所述数据标识以及所述多个次级CDN节点所能提供的数据的元数据,向所述第一终端提供所述第一次级CDN节点的IP地址;
则,接收来自接入所述子网的第一终端的数据获取请求,具体为:
所述第一次级CDN节点接收所述第一终端发送的所述数据获取请求。
20.根据权利要求14至19任一项所述的方法,其特征在于,所述利用第一次级CDN节点向所述第一终端提供所述数据标识对应的数据,包括:
所述第一次级CDN节点从所述第二次级CDN节点获取所述第一终端所请求数据的第二部分数据;
所述第一次级CDN节点向所述第一终端提供所述第二部分数据以及本地存储的所述第一终端所请求数据的第一部分数据,所述第一部分数据与所述第二部分数据不同。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在多个计算设备上运行时,使得所述多个计算设备执行如权利要求14至权利要求20任一项所述的方法。
CN202011004851.5A 2020-09-22 2020-09-22 一种次级内容分发网络cdn、数据提供方法和存储介质 Pending CN114297288A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011004851.5A CN114297288A (zh) 2020-09-22 2020-09-22 一种次级内容分发网络cdn、数据提供方法和存储介质
PCT/CN2021/119615 WO2022063125A1 (zh) 2020-09-22 2021-09-22 一种次级内容分发网络cdn、数据提供方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011004851.5A CN114297288A (zh) 2020-09-22 2020-09-22 一种次级内容分发网络cdn、数据提供方法和存储介质

Publications (1)

Publication Number Publication Date
CN114297288A true CN114297288A (zh) 2022-04-08

Family

ID=80846221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011004851.5A Pending CN114297288A (zh) 2020-09-22 2020-09-22 一种次级内容分发网络cdn、数据提供方法和存储介质

Country Status (2)

Country Link
CN (1) CN114297288A (zh)
WO (1) WO2022063125A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581245B (zh) * 2012-07-30 2018-06-19 腾讯科技(深圳)有限公司 一种内容分发网络内容分发的方法及系统
CN104427005B (zh) * 2013-08-20 2018-01-02 阿里巴巴集团控股有限公司 在cdn上实现请求精确调度的方法及系统
CN103634692A (zh) * 2013-12-06 2014-03-12 南京理工大学连云港研究院 基于cdn和p2p的混合流媒体视频点播系统
CN107483614B (zh) * 2017-08-31 2021-01-22 京东方科技集团股份有限公司 基于cdn与p2p网络的内容调度方法及通信网络

Also Published As

Publication number Publication date
WO2022063125A1 (zh) 2022-03-31

Similar Documents

Publication Publication Date Title
CN112087312B (zh) 一种提供边缘服务的方法、装置和设备
US10757068B2 (en) Enhanced domain name translation in content delivery networks
CN110336843B (zh) 一种用于众包的内容分发方法、中心节点及边缘节点
US10298713B2 (en) Distributed content discovery for in-network caching
US20010042110A1 (en) System for distributing contents on a network, a method of distribution and a computer program product therefor
EP2227016A1 (en) A content buffering, querying method and point-to-point media transmitting system
EP3306987A1 (en) Method and system for instantiating a logical network slice for use with an operator-maintained network portion
CN110198332B (zh) 内容分发网络节点的调度方法、装置及存储介质
CN112087390B (zh) 一种网络路由方法及装置
US20220030297A1 (en) Cache management in content delivery systems
JP2023523473A (ja) ユーザプレーン機能の決定方法、情報提供方法、機器及び媒体
CN110830565A (zh) 资源下载方法、装置、系统、电子设备及存储介质
US11212329B2 (en) Method, apparatus, device and storage medium for pushing video stream
CN113301079B (zh) 一种数据的获取方法、系统、计算设备及存储介质
CN107306279B (zh) 数据处理方法、内容分发网络节点和常驻网关
CN109873855A (zh) 一种基于区块链网络的资源获取方法和系统
US20140317271A1 (en) Method and node apparatus for collecting information in content network based on information-centric networking
US20060136487A1 (en) Clustering apparatus and method for content delivery system by content classification
US9544371B1 (en) Method to discover multiple paths to disk devices cluster wide
US20140317272A1 (en) Method of collecting information, content network management system, and node apparatus using management interface in content network based on information-centric networking
CN109246240A (zh) 一种融合ccn的移动网络内容预缓存方法
CN115706741A (zh) 一种切片文件的回源方法以及装置
US10063614B2 (en) Method for obtaining a storage identifier in a hierarchical level of storage in a network for storing data
CN114297288A (zh) 一种次级内容分发网络cdn、数据提供方法和存储介质
US20220182444A1 (en) Peer-managed content distribution network

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