CN112218100B - 内容分发网络、数据处理方法、装置、设备及存储介质 - Google Patents

内容分发网络、数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112218100B
CN112218100B CN201910614694.0A CN201910614694A CN112218100B CN 112218100 B CN112218100 B CN 112218100B CN 201910614694 A CN201910614694 A CN 201910614694A CN 112218100 B CN112218100 B CN 112218100B
Authority
CN
China
Prior art keywords
node
service node
data
target
service
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
Application number
CN201910614694.0A
Other languages
English (en)
Other versions
CN112218100A (zh
Inventor
杨超
李松林
王宗阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910614694.0A priority Critical patent/CN112218100B/zh
Priority to PCT/CN2020/100052 priority patent/WO2021004384A1/zh
Publication of CN112218100A publication Critical patent/CN112218100A/zh
Application granted granted Critical
Publication of CN112218100B publication Critical patent/CN112218100B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Abstract

本申请实施例提供一种内容分发网络、数据处理方法、装置、设备及存储介质。在内容分发网络中,第一服务节点接收到针对本地未存储的目标数据的访问请求时,向中心节点请求获取存储该目标数据的第二服务节点的地址,以从第二服务节点获取目标数据;其中,第二服务节点符合设定规则。在这种实施方式中,第一服务节点可根据与中心节点的交互结果,直接从存储有目标数据的其他节点获取数据以实现回源操作,有利于优化链路质量,降低内容分发网络传输数据时产生的链路损耗。

Description

内容分发网络、数据处理方法、装置、设备及存储介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种内容分发网络、数据处理方法、装置、设备及存储介质。
背景技术
内容分发网络(Content Delivery Network,CDN)由数据中心和缓存服务器组成。缓存服务器分布在用户访问相对集中的地区或网络中,在用户访问网络资源时,数据中心可利用全局负载技术将用户的访问指向距离用户最近的缓存服务器上,极大降低了用户的访问延时。
现有的CDN架构通常实现为树状结构。树状结构的CDN包含多个节点服务器层级,每个节点服务器层级可包含多个节点服务器。但是,依赖于这种树状结构的CDN进行数据分发时,产生的链路损耗较大。因此,有待提出一种新的解决方案。
发明内容
本申请的多个方面提供一种内容分发网络、数据处理方法、装置、设备及存储介质,用以有效地降低链路损耗,优化CDN的链路质量。
本申请实施例提供一种内容分发网络,包括:中心节点以及至少一服务节点;其中,所述至少一服务节点中的第一服务节点,用于:在接收到针对本地未存储的目标数据的访问请求时,向所述中心节点请求获取存储有所述目标数据的节点的地址;所述中心节点,具体用于:在所述第一服务节点请求获取存储有所述目标数据的节点的地址时,确定所述内容分发网络中符合预设规则且存储有所述目标数据的第二服务节点,并将所述第二服务节点的地址提供给所述第一服务节点,以使所述第一服务节点从所述第二服务节点获取所述目标数据。
本申请实施例还提供一种数据处理方法,适用于内容分发网络中的第一服务节点,包括:响应针对目标数据的访问请求,查询本地是否存储所述目标数据;若为否,则从中心节点获取存储有所述目标数据的第二服务节点的地址;所述第二服务节点为按照预设规则选择的;根据所述第二服务节点的地址访问所述第二服务节点,以获取所述目标数据。
本申请实施例还提供一种数据处理方法,适用于内容分发网络中的中心节点,包括:响应第一服务节点发送的获取存储有目标数据的服务节点的请求,按照预设规则选择所述内容分发网络中存储有所述目标数据的第二服务节点;将所述第二服务节点的地址提供给所述第一服务节点,以使所述第一服务节点从所述第二服务节点中获取所述目标数据。
本申请实施例还提供一种内容分发网络,包括:直播中心以及至少一直播节点;其中,所述至少一直播节点中的第一直播节点,用于:在接收到针对本地未存储的直播流数据的拉流请求时,向所述直播中心请求获取存储有所述直播流数据的直播节点的地址;所述直播中心,具体用于:在所述第一直播节点请求获取存储有所述直播流数据的直播节点的地址时,确定所述内容分发网络中符合预设规则且存储有所述直播流数据的第二服务节点,并将所述第二直播节点的地址提供给所述第一直播节点,以使所述第一直播节点从所述第二直播节点获取所述直播流数据。
本申请实施例还提供一种数据处理装置,包括:查询模块,用于响应针对目标数据的访问请求,查询本地是否存储所述目标数据;请求模块,用于在所述查询模块的输出为否时,从中心节点获取存储有所述目标数据的第二服务节点的地址;所述第二服务节点为按照预设规则选择的;数据获取模块,用于根据所述第二服务节点的地址访问所述第二服务节点,以获取所述目标数据。
本申请实施例还提供一种数据处理装置,包括:选择模块,用于响应第一服务节点发送的获取存储有目标数据的服务节点的请求,按照预设规则选择所述内容分发网络中存储有所述目标数据的第二服务节点;发送模块,用于将所述第二服务节点的地址提供给所述第一服务节点,以使所述第一服务节点从所述第二服务节点中获取所述目标数据。
本申请实施例还提供一种电子设备,包括:存储器、处理器以及通信组件;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本申请实施例提供的数据处理方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够使得处理器实现本申请实施例提供的数据处理方法中的步骤。
本申请实施例提供的内容分发网络中,第一服务节点接收到针对本地未存储的目标数据的访问请求时,向中心节点请求获取存储该目标数据的第二服务节点的地址,以从第二服务节点获取目标数据;其中,第二服务节点符合设定规则。在这种实施方式中,第一服务节点可根据与中心节点的交互结果,直接从存储有目标数据的其他节点获取数据以实现回源操作,有利于优化链路质量,降低内容分发网络传输数据时产生的链路损耗。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请一示例性实施例提供的内容分发网络的结构示意图;
图1b为本申请另一示例性实施例提供的内容分发网络的结构示意图;
图2是本申请一示例性实施例提供的数据处理方法的流程示意图;
图3是本申请另一示例性实施例提供的数据处理方法的流程示意图;
图4为本申请一示例性实施例提供的数据处理装置的结构示意图;
图5为本申请一示例性实施例提供的数据处理装置的结构示意图;
图6是本申请一示例性实施例提供的第一服务节点的结构示意图;
图7为本申请一示例性实施例提供的中心节点的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有技术存在的内容分发网络链路损耗较大,不易优化链路质量的技术问题,在本申请一些实施例中,提供了一种解决方案,以下结合附图,详细说明本申请各实施例提供的技术方案。
图1a为本申请一示例性实施例提供的内容分发网络的结构示意图,如图1a所示,该内容分发网络(CDN)100包括:中心节点10以及至少一服务节点20。
其中,至少一服务节点20可示意为图1a中的服务节点201a、201b、201c、201d、201e、201f、201g、202a、202b、202c等等。
如图1a所示,内容分发网络100实现为树状结构。树状结构的CDN主要包含三个层级:中心层级、中间层级以及边缘层级。其中,中心层级中的中心节点10为树状结构中的根节点,中间层级中的服务节点(例如图1a所示的服务节点202a、202b、202c)为中心层级中的服务节点的子节点,边缘层级中的服务节点(例如图1a所示的服务节点201a、201b、201c、201d、201e、201f、201g)为中间层级中的服务节点的子节点。需要说明的是,内容分发网络100中,服务节点20的数量以及所划分的层级的数量视实际需求而定,本实施例对此不做限制。
其中,中心层级中的中心节点10用于实现负载均衡、数据内容分发以及访问调度等功能。中间层级的服务节点用于连接边缘层级中的服务节点以及中心层级的中心节点,以缓解中心层级中的中心节点的数据访问压力。边缘层级中的服务节点用于同步源站内容,并直接响应用户请求,将内容快速分发到用户。
基于树状结构的内容分发网络100,服务节点20可分布到用户访问相对集中的地区或者网络中,使用户可以就近访问其所需的数据,降低中心节点10的访问量,解决网络的拥挤状况,并有利于提供网络服务的响应速度。
以下为描述方便,以内容分发网络100中的第一服务节点为例对本实施例提供的技术方案进行说明。其中,第一服务节点为至少一服务节点20中的任意一个服务节点,可以是边缘层级中的服务节点,也可以是中间层级中的服务节点。
在内容分发网络100中,第一服务节点,用于:响应针对目标数据的访问请求,查询本地是否存储该目标数据;若查询结果为否,则向中心节点10请求获取存储有该目标数据的服务节点的地址。
当第一服务节点实现为直接为用户提供网络访问服务的边缘层级中的服务节点(例如图1a中的服务节点201a)时,针对目标数据的访问请求可以是用户通过用户终端设备(例如图1a所示的第二设备)直接向第一服务节点发起的。
当第一服务节点实现为位于中间层级中的服务节点(例如图1a中的服务节点202a)时,针对目标数据的访问请求可以第一服务节点的下一层级的服务节点(例如节点201a和节点201b)向第一服务节点发起的。
中心节点10接收到第一服务节点发送的获取存储有目标数据的服务节点的请求后,可确定内容分发网络100中符合预设规则、且存储有目标数据的服务节点,作为第二服务节点。接着,将第二服务节点的地址提供给第一服务节点。第一服务节点接收到第二服务节点的地址后,可根据该地址访问第二服务节点,以从中获取该目标数据。
其中,预设规则,可根据实际情况进行设置。在一些实施例中,第二服务节点符合预设规则,可实现为:第二服务节点的访问量小于设定的访问量阈值;在另一些实施例中,第二服务节点符合预设规则,可实现为:第二服务节点与第一服务节点所属的地域分类适配;在又一些实施例中,第二服务节点符合预设规则,可实现为:第二服务节点的下行可用带宽大于设定的带宽阈值。上述列举的规则用于对本实施例进行示例性说明,并不对本实施例所述的预设规则进行限制。
图1a在一些实施例中,中心节点10和服务节点20可实现为常规服务器、云服务器、云主机、虚拟中心等服务器等设备,本实施例对此不做限制。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,不再赘述。
在内容分发网络100中,为实现中心节点10和服务节点20之间的上述数据交互过程,中心节点10和服务节点20可建立通信连接,具体的通信连接方式可视实际的应用场景而定。
在一些示例性实施方式中,中心节点10和至少一服务节点20之间可采用有线通信方式无线通信方式进行通信。其中,无线通信方式包括蓝牙、ZigBee、红外线、WiFi(WIreless-Fidelity,无线保真技术)等短距离通信方式,也包括LORA等远距离无线通信方式,还可包括基于移动网络的无线通信方式。其中,当通过移动网络通信连接时,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、5G、WiMax等中的任意一种。
本实施例中,第一服务节点接收到针对本地未存储的目标数据的访问请求时,向中心节点请求获取存储该目标数据的第二服务节点的地址,以从第二服务节点获取目标数据;其中,第二服务节点符合设定规则。在这种实施方式中,第一服务节点可根据与中心节点的交互结果,直接从存储有目标数据的其他节点获取数据以实现回源操作,有利于优化链路质量,降低内容分发网络传输数据时产生的链路损耗。
需要说明的是,在本申请的上述以及下述各实施例中,第一服务节点接收到中心节点返回的第二服务节点的地址后,若第一服务节点并未从第二服务节点处获取到目标数据,则第一服务节点可向其上一层级的服务节点发起目标数据的获取请求,以通过逐层向上查询的方式获取到目标数据,不再赘述。
在本申请的上述以及下述各实施例中,根据应用场景不同,所述的预设规则也不同,以下将结合一些具体的规则进行示例性说明。
在一些示例性的实例中,第二服务节点符合预设规则,该预设规则可实现为:第二服务节点与第一服务节点所属的地域分类适配。
在内容分发网络100中,服务节点按照地域进行部署,以满足不同地区的用户快速、稳定地访问网络的需求。
例如,一国家内可部署多个地区层级的中心节点,多个中心节点对应国家的不同地区(例如中部地区、南部地区、北部地区、东部地区、西部地区等);地区层级的下一层级可部署省份层级的服务节点,例如,中部地区的下一层级可包括:A省对应的服务节点、B省对应的服务节点、C省对应的服务节点;省份层级的下一层级可部署城市层级的服务节点,例如,A省对应的服务节点的下一层级可包括A1市对应的服务节点、A2市对应的服务节点、A3市对应的服务节点等等。通常,城市层级中的服务节点可被视为位于边缘节点层级。
通常,内容分发网络100中不同地区的服务节点之间的部署位置相距较远,数据传输链路较长,进而导致数据在相距较远的不同地区的服务节点之间进行传输时,产生较大的链路损耗。其中,链路损耗可采用数据传输过程中数据包丢失的情况来评价。
因此,为降低链路损耗,中心节点10在选取第二服务节点时,可将第一服务节点和第二服务节点在内容分发网络100中对应的地域分布情况纳入考虑范围,就近选取与第一服务节点距离较近、且存储有目标数据的服务节点的地址作为第一服务节点的回源地址。这种实施方式有利于缩短数据传输的链路,优化链路质量。除此之外,还可一定程度上降低第一服务节点获取目标数据的操作对与其相连的上一层级或者下一层级的服务节点的依赖。
在一些实施例中,第一服务节点和第二服务节点所属的地域分类适配,可包括:第一服务节点和第二服务节点同属于同一国家层级、同属于同一地区层级、同属于同一省份层级和/或同属于同一城市层级等等,本实施例不做限制。
当然,在另一些实施例中,第一服务节点和第二服务节点所属的地域分类适配,可包括:第一服务节点和第二服务节点之间的距离(该距离包括地理距离,或者链路距离)小于设定的距离阈值;或者,第一服务节点和第二服务节点之间的距离小于第一服务节点与其所属的上一层级的服务节点之间的距离,本实施例包含但不限于此。
基于此,中心节点10在按照预设规则选择内容分发网络100中存储有目标数据的第二服务节点时,可确定内容分发网络100中与第一服务节点所属地域分类适配的至少一个候选节点,接着从该至少一个候选节点中,确定存储有目标数据的服务节点,作为第二服务节点。
例如,如图1a所示,假设服务节点202a、202b、202c分别为A省、B省以及C省对应的服务节点,服务节点201a、201b分别为A省下辖的A1市、A2市对应的服务节点;服务节点201c、201d、201e分别为B省下辖的B1市、B2以及B3市对应的服务节点;服务节点201f、201g为C省下辖的C1市以及C2市对应的服务节点。当中心节点10接收到服务节点201c发送的请求获取存储有目标数据的服务节点的请求时,中心节点10可从内容分发网络100中,获取与服务节点201c所属地域分类适配的服务节点201d以及服务节点201e。接着,从服务节点201d以及服务节点201e中选取存储有目标数据的服务节点,并返回给服务节点201c。假设,服务节点201d上存储有目标数据,则服务节点201c可直接访问服务节点201d获取目标数据。基于这种方案,在链路损耗较低的情况下实现了省内不同城市之间的数据调度。
基于上述实施例,在一种典型的应用场景中,中心节点10接收到第一服务节点获取存储有目标数据的服务节点的地址的请求时,可查询是否存在与第一服务节点所属地域分类适配且存储有目标数据的第二服务节点,若存在,则将第二服务节点的地址返回给第一服务节点;若不存在,则可通知第一服务节点向其上一层级的服务节点发起目标数据的获取请求,以通过逐层向上查询的方式获取到目标数据,不再赘述。
实际场景中,受机房建设以及设备部署规划等方面的限制,节点的层级越高,其对应的带宽费用成本越高。例如,中心节点的带宽费用成本高于中间层级的服务节点的带宽费用成本,中间层级的服务节点的带宽费用成本高于边缘层级的服务节点的带宽费用成本。
因此,在上述各实施例的基础上,可选地,中心节点10在确定内容分发网络100中与第一服务节点所属地域分类适配的至少一个候选节点时,可进一步考虑层级因素,从内容分发网络100中,获取与第一服务节点所属地域分类适配、且与第一服务节点位于同一节点层级的服务节点,作为该至少一个候选节点。
基于上述,第一服务节点可从同一层级的第二服务节点处获取目标数据,降低了对上一层级的服务节点的依赖,降低了高层级的服务节点的访问量,有利于降低第一服务节点的上一层级的服务节点的带宽费用成本以及访问压力。
例如,以图1a所示的内容分发网络为例:服务节点201c接收到用户终端发送的获取目标数据的请求时,若服务节点201c本地未存储该目标数据,则可向中心节点10请求查询存储有该目标数据的服务节点。假设,中心节点10确定服务节点201d以及服务节点202b为与服务节点201a所属地域分类适配、且存储有目标数据的服务节点。进一步地,中心节点10可确定与服务节点201c位于同一层级的服务节点201d作为第二服务节点。在这种实施方式中,从服务节点201d中获取目标数据而不是从服务节点202b中获取目标数据,一方面可降低服务节点202b的访问压力,另一方面,有利于降低本次访问过程产生的带宽费用。
内容分发网络100可用于分发多种不同类型的数据,例如,网页数据、图片数据、音频数据、视频数据等非流式数据,也可以是实时产生的视频流、音频流等多媒体流式数据等。以下将结合一种典型的应用场景进行示例性说明。
在一种典型的应用场景中,前述各实施例所述的数据可实现为直播产生的流数据。该流数据由推流端(如图1a所示的第一设备以及第二设备)实时采集,使用传输协议封装并实时推送至网络端。
在内容分发网络100中,推流端可将封装好的流数据推送至边缘层级中的服务节点,边缘层级中的服务节点可缓存该流数据,并将该流数据推送至中间层级中的服务节点;中间层级中的服务节点缓存该流数据,并可将该流数据推送至中心节点10。在本实施例中,推流端可以实现为手机、平板电脑、计算机、图像采集器、航拍无人机等等,本实施例不做限制。
可选地,中心节点10接收到服务节点针对流数据的推流操作时,可响应该推流操作,获取与流数据的推流操作关联的服务节点以及流数据的推流域名和流名称;接着,对应记录流数据的推流域名和流名称以及与流数据的推流操作关联的服务节点,以生成流数据与推流操作关联的服务节点的对应关系。
其中,与流数据的推流操作关联的服务节点可包括:向其他节点推送该流数据的服务节点,以及,接收其他节点或者推流端推送的该流数据的服务节点。也就是说,与流数据的推流操作关联的服务节点可包括:流数据在推流的过程中所经过以及到达的所有节点,这些节点既包括边缘层级中的服务节点,也可包括中间层级中的服务节点以及中心层级中的服务节点。
例如,在一种场景下,用户通过手机进行直播,直播产生的第一流数据由手机推流至距离用户最近的边缘层级的服务节点201b,服务节点201b缓存该第一流数据并将第一流数据推流至与其相连的上一层级的服务节点202a,服务节点202a缓存该第一流数据并将该第一流数据推流至与其相连的中心节点10。则,与第一流数据的推流操作关联的服务节点包括:服务节点201b、服务节点202a以及中心节点10。
基于上述,可选地,在直播场景下,第一服务节点在向中心节点10请求获取存储有目标流数据的服务节点的地址时,可将目标流数据的播放域名以及流名称发送至中心节点10。中心节点10接收到该播放域名和流名称后,可根据流数据与推流操作关联的服务节点的对应关系,确定与该目标流数据的推流操作关联的服务节点。
需要说明的是,在内容分发网络100中,中心节点10在管理流数据时,分别采用播放域名和推流域名对请求播放的流数据和推送来的流数据进行区分;与此同时,中心节点10处存储有播放域名和推流域名的对应关系。基于该对应关系,中心节点10接收到第一服务节点发送的目标流数据的播放域名后,可根据播放域名和推流域名的对应关系,确定目标流数据对应的推流域名。接着,根据预先记录的推流域名和流名称与推流操作关联的服务节点的对应关系,确定与目标流数据的推流域名和流名称对应的服务节点,作为第二服务节点。
继续结合图1a进行示例性说明,如图1a所示,假设中心节点10接收到了服务节点201a发送的获取目标流数据的请求,则中心节点10可从该请求中确定目标流数据的播放域名和流名称,并确定与该播放域名对应的推流域名。接着,查询与服务节点201a所属的地域分类适配且位于同一层级的服务节点中哪些服务节点存在与该推流域名和流名称对应的推流记录。假设,服务节点201b存在与该推流域名和流名称对应的推流记录,则中心节点10可将服务节点201b的地址返回给服务节点201a,进而,服务节点201a可直接从服务节点201b处获取目标流数据。进而,一方面有利于缩短目标流数据的传输链路,提升数据传输质量,另一方面降低了中间层级的服务节点202a以及中心节点10的带宽消耗。
又例如,假设中心节点10接收到服务节点202a发送的获取目标流数据的请求,则可从该请求中确定目标流数据的播放域名和流名称,并确定与该播放域名对应的推流域名。接着,查询与服务节点202a所属的地域分类适配且位于同一层级的服务节点中哪些服务节点存在与该推流域名和流名称对应的推流记录。假设,服务节点202c存在对应的推流记录,则中心节点10可将服务节点202c的地址返回给服务节点202a,进而,服务节点202a可直接从服务节点202c处获取目标流数据。进而,一方面有利于缩短目标流数据的传输链路,提升数据传输质量,另一方面降低了中心节点10的带宽消耗。
直播场景下,针对直播产生的流数据的访问通常是高并发的,这种高并发的访问对带宽要求较高,除此之外,为确保直播数据流畅播放,对数据传输的链路质量要求也较高。相对于低层级的服务节点逐层向上访问高层级中的服务节点和/或高层级中的服务节点逐层向下访问低层级中的服务节点以获取直播流数据的技术方案而言,基于本实施例提供的技术方案,可有效缓解高层级的服务节点以及中心节点的带宽消耗较大的技术问题以及链路质量不易优化的技术问题,从而有效降低直播延时、卡顿、画面丢失等问题。
在除直播场景之外的其他应用场景中,内容分发网络中可供用户访问的数据可实现为网页数据、图片数据、音频数据、视频数据等等非流式数据。中心节点10可记录与数据的上传操作关联的服务节点,或者记录与数据的下载操作关联的服务节点。进而,接收到查询存储目标数据的服务节点的地址的请求时,中心节点10可根据预先记录的目标数据和与目标数据的上传操作关联的服务节点的对应关系,或者预先记录的目标数据和与目标数据的下载操作关联的服务节点的对应关系,确定历史时间段内请求上传过目标数据的服务节点,或者下载过目标数据的服务节点,作为存储有目标数据的服务节点。接着,可返回存储有目标数据的服务节点的地址,以使发起查询请求的设备获取目标数据,不再赘述。
除上述各实施例记载的内容分发网络之外,本申请实施例还提供了如图1b所示的内容分发网络,如图1b所示,该内容分发网络包括:直播中心30以及至少一直播节点40。
其中,至少一直播节点40中的第一直播节点,用于:在接收到针对本地未存储的直播流数据的拉流请求时,向直播中心30请求获取存储有直播流数据的服务节点的地址。其中,第一直播节点是至少一直播节点40中的任一直播节点。
直播中心30,具体用于:在第一直播节点请求获取存储有直播流数据的直播节点的地址时,确定内容分发网络200中符合预设规则且存储有直播流数据的第二直播节点,并将第二直播节点的地址提供给第一直播节点,以使第一直播节点从第二直播节点获取直播流数据。
其中,第一直播节点位于边缘层级时,第一直播节点接收到的拉流请求,可以是拉流端(例如手机、电脑、智能电视)发起的。若第一直播节点位于中间层级,第一直播节点接收到的拉流请求,可以是其下一层级的直播节点发起的。
其中,第二直播节点位于边缘层级时,第二直播节点中存储的直播流数据,可以是推流端(例如手机、电脑、摄像机)执行推流操作推送来的。若第二直播节点位于中间层级,第二直播节点中存储的直播流数据,可以是其下一层级的直播节点执行推流操作推送来的。
本申请实施例提供的技术方案可应用于多种不同的应用场景中,以下将结合具体的例子进行示例性说明。
在一些场景下,若用户上传(或推流)至边缘层级中的服务节点的数据为访问频次较少冷数据,则边缘层级中的服务节点可不向其上一层级的服务节点上传该冷数据,以降低带宽消耗。或者,在另一些场景下,中心节点可从其管理的数据中识别出冷数据,并且不向中间层级中的服务节点以及边缘层级的服务节点分发这些冷数据。其中,冷数据包括冷门的多媒体数据、备份数据、设定时间之前的历史数据等访问频次较低的数据等等。
在上述两种场景下,以图1a为例,假设用户上传(推流)至边缘层级中的服务节点201a的数据A为冷数据,则节点201a可缓存数据A,且不向其上一层级的服务节点上传该数据A。中心节点10检测到用户的上传(推流)记录后,可记录数据A和节点201a的对应关系。
假设,节点201b接收到了用户访问该数据A的请求,若采用现有的逐层获取数据的方式,则节点201b在本地未存储数据A的情况下,可向节点202a请求获取数据A。节点202a从节点201a处下载(拉取)数据A后,再将数据A返回给节点201b。这种方式中,数据A的传输经过三个节点之间的两条传输链路,一方面带宽消耗增大,另一方面链路损耗增大。
若采用本实施例提供的技术方案,则节点201b在本地未存储数据A的情况下,可向中心节点10请求查询存储有数据A的服务节点。中心节点10经查询,可确定节点201a存储有该数据A,且与节点201b所属的地域分类和层级相同,则可将节点201a的地址返回给节点201b。进而,节点201b可直接从节点201a处下载(拉流)数据A。这种方式中,数据A的传输经过两个节点之间的一条链路,一方面降低了带宽消耗以及带宽费用成本,另一方面减少了链路损耗。
假设,节点201c接收到了用户访问该数据A的请求,则在本地未存储数据A的情况下,可向中心节点10请求查询存储有数据A的服务节点。中心节点10经查询,可确定节点201a存储有该数据A。但是,节点201a与节点201c所属的地域分类不相同。此时,中心节点10可指示节点201c的上一层级的服务节点202b向与之同一层级的服务节点202a请求获取数据A。节点202a可从其下一层级的服务节点201a中数据A,并将数据A返回至节点202a。节点202a接收到数据A后,可将数据A下发至节点201c。相对于现有技术,本方案节省了节点202a继续访问中心节点10且中心节点10逐层向下访问节点202a以获取目标数据的步骤,有利于降低带宽消耗以及带宽费用成本,减少链路损耗,以及降低中心节点10的访问压力。
本实施例除了提供前述实施例记载的内容分发网络之外,还提供一种数据处理方法,以下将结合附图进行说明。
图2是本申请一示例性实施例提供的数据处理方法的流程示意图,该方法在内容分发网络中的第一服务节点侧执行时,可包括如图2所示的步骤:
步骤201、第一服务节点接收针对目标数据的访问请求。
步骤202、查询本地是否存储目标数据;若为是,则返回目标数据;若为否,则执行步骤203。
步骤203、从中心节点获取存储有目标数据的第二服务节点的地址;第二服务节点为按照预设规则选择的。
步骤204、根据第二服务节点的地址访问第二服务节点,以获取目标数据。
在一些示例性的实施例中,目标数据包括:目标流数据;响应针对目标数据的访问请求,查询本地是否存储目标数据的一种方式,包括:响应针对目标流数据的访问请求,获取目标流数据的播放域名以及流名称;在本地查询是否存在与目标流数据的播放域名以及流名称匹配的流数据。
在一些示例性的实施例中,向中心节点请求获取存储有目标数据的第二服务节点的地址的一种方式,包括:将目标流数据的播放域名以及流名称发送至中心节点,以使中心节点根据目标流数据的播放域名以及流名称确定内容分发网络中与目标数据流的推流操作关联的服务节点作为第二服务节点。
本实施例中,第一服务节点接收到针对本地未存储的目标数据的访问请求时,向中心节点请求获取存储该目标数据的第二服务节点的地址,以从第二服务节点获取目标数据;其中,第二服务节点符合预设规则。在这种实施方式中,第一服务节点可根据与中心节点的交互结果,直接从存储有目标数据的其他节点获取数据以实现回源操作,有利于优化链路质量,降低内容分发网络传输数据时产生的链路损耗。
图3是本申请另一示例性实施例提供的数据处理方法的流程示意图,该方法在内容分发网络中的中心节点侧执行时,可包括如图3所示的步骤:
步骤301、响应第一服务节点发送的获取存储有目标数据的服务节点的请求,按照预设规则选择内容分发网络中存储有目标数据的第二服务节点。
步骤302、将第二服务节点的地址提供给第一服务节点,以使第一服务节点从第二服务节点中获取目标数据。
在一些示例性的实施例中,按照预设规则选择内容分发网络中存储有目标数据的第二服务节点的一种方式,包括:确定内容分发网络中与第一服务节点所属地域分类适配的至少一个候选节点;从至少一个候选节点中,确定存储有目标数据的服务节点,作为第二服务节点。
在一些示例性的实施例中,确定内容分发网络中与第一服务节点所属地域分类适配的至少一个候选节点的一种方式,包括:从内容分发网络中,获取与第一服务节点所属地域分类适配,且与第一服务节点位于同一节点层级的服务节点,作为至少一个候选节点。
在一些示例性的实施例中,目标数据包括:目标流数据;从至少一个候选节点中,确定存储有目标数据的服务节点,作为第二服务节点的一种方式,包括:根据流数据与推流操作关联的服务节点的对应关系,从至少一个候选节点中确定与目标数据流的推流操作关联的服务节点作为第二服务节点。
在一些示例性的实施例中,根据流数据与推流操作关联的服务节点的对应关系,从至少一个候选节点中,确定与目标数据流的推流操作关联的服务节点作为第二服务节点的一种方式,包括:从请求中获取目标流数据的播放域名以及流名称;根据播放域名与推流域名的对应关系,确定目标流数据对应的目标推流域名;从至少一个候选节点中,确定对目标推流域名和流名称所标识的流数据的推流操作关联的服务节点,作为第二服务节点。
在一些示例性的实施例中,从至少一个候选节点中,确定存储有目标数据的服务节点,作为第二服务节点之前,还包括:响应针对流数据的推流操作,获取与流数据的推流操作关联的服务节点以及流数据的推流域名和流名称;对应记录流数据的推流域名和流名称以及与流数据的推流操作关联的服务节点,以生成流数据与推流操作关联的服务节点的对应关系。
本实施例中,中心节点接收到第一服务节点获取存储有目标数据的服务节点的请求时,将与第一服务节点同属于同一节点层级且存储有目标数据的第二服务节点的地址返回给第一服务节点。在这种实施方式中,第一服务节点可根据与中心节点的交互结果,直接从存储有目标数据的其他节点获取数据以实现回源操作,降低了对上一节点层级的的依赖,有利于优化链路质量,降低内容分发网络传输数据时产生的链路损耗。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤204的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例还提供一种数据处理装置,以下将结合附图进行说明。
图4为本申请一示例性实施例提供的数据处理装置的结构示意图,如图4所示,该装置包括:
查询模块401,用于响应针对目标数据的访问请求,查询本地是否存储所述目标数据;请求模块402,用于在所述查询模块的输出为否时,从中心节点获取存储有所述目标数据的第二服务节点的地址;所述第二服务节点为按照预设规则选择的;数据获取模块403,用于根据所述第二服务节点的地址访问所述第二服务节点,以获取所述目标数据。
进一步可选地,所述目标数据包括:目标流数据;查询模块401在响应针对目标数据的访问请求,查询本地是否存储所述目标数据时,具体用于:响应针对所述目标流数据的访问请求,获取所述目标流数据的播放域名以及流名称;在本地查询是否存在与所述目标流数据的播放域名以及流名称匹配的流数据。
进一步可选地,请求模块402在向中心节点请求获取存储有所述目标数据的第二服务节点的地址时,具体用于:将所述目标流数据的播放域名以及流名称发送至所述中心节点,以使所述中心节点根据所述目标流数据的播放域名以及流名称确定所述内容分发网络中与所述目标数据流的推流操作关联的服务节点作为所述第二服务节点。
本实施例中,第一服务节点接收到针对本地未存储的目标数据的访问请求时,向中心节点请求获取存储该目标数据的第二服务节点的地址,以从第二服务节点获取目标数据;其中,第二服务节点符合预设规则。在这种实施方式中,第一服务节点可根据与中心节点的交互结果,从存储有目标数据的其他节点获取数据以实现回源操作,有利于优化链路质量,降低内容分发网络传输数据时产生的链路损耗。
图5为本申请一示例性实施例提供的数据处理装置的结构示意图,如图5所示,该装置包括:
选择模块501,用于响应第一服务节点发送的获取存储有目标数据的服务节点的请求,按照预设规则选择所述内容分发网络中存储有所述目标数据的第二服务节点; 发送模块502,用于将所述第二服务节点的地址提供给所述第一服务节点,以使所述第一服务节点从所述第二服务节点中获取所述目标数据。
进一步可选地,选择模块501在按照预设规则选择所述内容分发网络中存储有所述目标数据的第二服务节点时,具体用于:确定所述内容分发网络中与所述第一服务节点所属地域分类适配的至少一个候选节点;从所述至少一个候选节点中,确定存储有所述目标数据的服务节点,作为所述第二服务节点。
进一步可选地,选择模块501在确定内容分发网络中与第一服务节点所属地域分类适配的至少一个候选节点时,具体用于:从内容分发网络中,获取与第一服务节点所属地域分类适配,且与第一服务节点位于同一节点层级的服务节点,作为至少一个候选节点。
进一步可选地,目标数据包括:目标流数据;选择模块501在从至少一个候选节点中,确定存储有目标数据的服务节点,作为第二服务节点时,具体用于:根据流数据与推流操作关联的服务节点的对应关系,从至少一个候选节点中确定与目标数据流的推流操作关联的服务节点作为第二服务节点。
进一步可选地,选择模块501在根据流数据与推流操作关联的服务节点的对应关系,从至少一个候选节点中,确定与目标数据流的推流操作关联的服务节点作为第二服务节点时,具体用于:从请求中获取目标流数据的播放域名以及流名称;根据播放域名与推流域名的对应关系,确定目标流数据对应的目标推流域名;从至少一个候选节点中,确定与目标推流域名和流名称所标识的流数据的推流操作关联的服务节点,作为第二服务节点。
进一步可选地,选择模块501在从至少一个候选节点中,确定存储有目标数据的服务节点,作为第二服务节点之前,还用于:响应针对流数据的推流操作,获取与流数据的推流操作关联的服务节点以及流数据的推流域名和流名称;对应记录流数据的推流域名和流名称以及与流数据的推流操作关联的服务节点,以生成流数据与推流操作关联的服务节点的对应关系。
本实施例中,中心节点接收到第一服务节点获取存储有目标数据的服务节点的请求时,将与第一服务节点同属于同一节点层级且存储有目标数据的第二服务节点的地址返回给第一服务节点。在这种实施方式中,第一服务节点可根据与中心节点的交互结果,直接从存储有目标数据的其他节点获取数据以实现回源操作,有利于优化链路质量,降低内容分发网络传输数据时产生的链路损耗。
图6是本申请一示例性实施例提供的第一服务节点的结构示意图,该第一服务节点适用于前述实施例提供的内容分发网络。如图6所示,该第一服务节点包括:存储器601、处理器602以及通信组件603。
存储器601,用于存储计算机程序,并可被配置为存储其它各种数据以支持在第一服务节点上的操作。这些数据的示例包括用于在第一服务节点上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
处理器602,与存储器601耦合,用于执行存储器601中的计算机程序,以用于:响应针对目标数据的访问请求,查询本地是否存储所述目标数据;若为否,则通过通信组件603从中心节点获取存储有所述目标数据的第二服务节点的地址;所述第二服务节点为按照预设规则选择的;根据所述第二服务节点的地址访问所述第二服务节点,以获取所述目标数据。
进一步可选地,目标数据包括:目标流数据;处理器602在响应针对目标数据的访问请求,查询本地是否存储目标数据时,具体用于:响应针对目标流数据的访问请求,获取目标流数据的播放域名以及流名称;在本地查询是否存在与目标流数据的播放域名以及流名称匹配的流数据。
进一步可选地,处理器602在向中心节点请求获取存储有目标数据的第二服务节点的地址时,具体用于:将目标流数据的播放域名以及流名称发送至中心节点,以使中心节点根据目标流数据的播放域名以及流名称确定内容分发网络中与目标数据流的推流操作关联的服务节点作为第二服务节点。
进一步,如图6所示,该第一服务节点还包括:电源组件604等其它组件。图6中仅示意性给出部分组件,并不意味着第一服务节点只包括图6所示组件。
本实施例中,第一服务节点接收到针对本地未存储的目标数据的访问请求时,向中心节点请求获取存储该目标数据的第二服务节点的地址,以从第二服务节点获取目标数据;其中,第二服务节点符合预设规则。在这种实施方式中,第一服务节点可根据与中心节点的交互结果,直接从存储有目标数据的其他节点获取数据以实现回源操作,有利于优化链路质量,降低内容分发网络传输数据时产生的链路损耗。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由第一服务节点执行的各步骤。
图7为本申请一示例性实施例提供的中心节点的结构示意图,该中心节点适用于前述实施例提供的内容分发网络。如图7所示,该第一服务节点中心节点包括:存储器701、处理器702以及通信组件703。
存储器701,用于存储计算机程序,并可被配置为存储其它各种数据以支持在中心节点上的操作。这些数据的示例包括用于在中心节点上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
处理器702,与存储器701耦合,用于执行存储器701中的计算机程序,以用于:响应第一服务节点发送的获取存储有目标数据的服务节点的请求,按照预设规则选择所述内容分发网络中存储有所述目标数据的第二服务节点;将所述第二服务节点的地址提供给所述第一服务节点,以使所述第一服务节点从所述第二服务节点中获取所述目标数据。
进一步可选地,处理器702在按照预设规则选择所述内容分发网络中存储有所述目标数据的第二服务节点时,具体用于:确定所述内容分发网络中与所述第一服务节点所属地域分类适配的至少一个候选节点;从所述至少一个候选节点中,确定存储有所述目标数据的服务节点,作为所述第二服务节点。
进一步可选地,处理器702在确定内容分发网络中与第一服务节点所属地域分类适配的至少一个候选节点时,具体用于:从内容分发网络中,获取与第一服务节点所属地域分类适配,且与第一服务节点位于同一节点层级的服务节点,作为至少一个候选节点。
进一步可选地,目标数据包括:目标流数据;处理器702在从至少一个候选节点中,确定存储有目标数据的服务节点,作为第二服务节点时,具体用于:根据流数据与推流操作关联的服务节点的对应关系,从至少一个候选节点中确定与目标数据流的推流操作关联的服务节点作为第二服务节点。
进一步可选地,处理器702在根据流数据与推流操作关联的服务节点的对应关系,从至少一个候选节点中,确定与目标数据流的推流操作关联的服务节点作为第二服务节点时,具体用于:从请求中获取目标流数据的播放域名以及流名称;根据播放域名与推流域名的对应关系,确定目标流数据对应的目标推流域名;从至少一个候选节点中,确定与目标推流域名和流名称所标识的流数据推流操作关联的服务节点,作为第二服务节点。
进一步可选地,处理器702在从至少一个候选节点中,确定存储有目标数据的服务节点,作为第二服务节点之前,还用于:响应针对流数据的推流操作,获取对流数据推流操作关联的服务节点以及流数据的推流域名和流名称;对应记录流数据的推流域名和流名称以及对流数据推流操作关联的服务节点,以生成流数据与推流操作关联的服务节点的对应关系。
进一步,如图7所示,该中心节点还包括:电源组件704等其它组件。图7中仅示意性给出部分组件,并不意味着中心节点只包括图7所示组件。
本实施例中,中心节点接收到第一服务节点获取存储有目标数据的服务节点的请求时,将与第一服务节点同属于同一节点层级且存储有目标数据的第二服务节点的地址返回给第一服务节点。在这种实施方式中,第一服务节点可根据与中心节点的交互结果,直接从存储有目标数据的其他节点获取数据以实现回源操作,降低了对上一节点层级的的依赖,有利于优化链路质量,降低内容分发网络传输数据时产生的链路损耗。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由中心节点执行的各步骤。
上述图6和图7中的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述图6和图7中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
上述图6和图7中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (15)

1.一种内容分发网络,其特征在于,包括:中心节点以及至少一服务节点;
其中,所述至少一服务节点中的第一服务节点,用于:在接收到针对本地未存储的目标数据的访问请求时,向所述中心节点请求获取存储有所述目标数据的服务节点的地址;
所述中心节点,具体用于:在所述第一服务节点请求获取存储有所述目标数据的服务节点的地址时,确定所述内容分发网络中符合预设规则且存储有所述目标数据的第二服务节点,并将所述第二服务节点的地址提供给所述第一服务节点,以使所述第一服务节点从所述第二服务节点获取所述目标数据;
其中,所述目标数据包括:直播产生的目标流数据;所述第二服务节点包括:从至少一个候选节点中选择出的与所述目标流数据的推流操作关联的服务节点;
所述至少一个候选节点与所述第一服务节点所属地域分类适配,且与所述第一服务节点位于同一节点层级。
2.一种数据处理方法,适用于内容分发网络中的第一服务节点,其特征在于,包括:
响应针对目标数据的访问请求,查询本地是否存储所述目标数据;
若为否,则从中心节点获取存储有所述目标数据的第二服务节点的地址;所述第二服务节点为按照预设规则选择的;
根据所述第二服务节点的地址访问所述第二服务节点,以获取所述目标数据;
其中,所述目标数据包括:直播产生的目标流数据;所述第二服务节点包括:从至少一个候选节点中选择出的与所述目标流数据的推流操作关联的服务节点;
所述至少一个候选节点与所述第一服务节点所属地域分类适配,且与所述第一服务节点位于同一节点层级。
3.根据权利要求2所述的方法,其特征在于,所述目标数据包括:目标流数据;
响应针对目标数据的访问请求,查询本地是否存储所述目标数据,包括:
响应针对所述目标流数据的访问请求,获取所述目标流数据的播放域名以及流名称;
在本地查询是否存在与所述目标流数据的播放域名以及流名称匹配的流数据。
4.根据权利要求3所述的方法,其特征在于,从中心节点获取存储有所述目标数据的第二服务节点的地址,包括:
将所述目标流数据的播放域名以及流名称发送至所述中心节点,以使所述中心节点根据所述目标流数据的播放域名以及流名称确定所述内容分发网络中与所述目标流数据的推流操作关联的服务节点作为所述第二服务节点。
5.一种数据处理方法,适用于内容分发网络中的中心节点,其特征在于,包括:
响应第一服务节点发送的获取存储有目标数据的服务节点的请求,按照预设规则选择所述内容分发网络中存储有所述目标数据的第二服务节点;
将所述第二服务节点的地址提供给所述第一服务节点,以使所述第一服务节点从所述第二服务节点中获取所述目标数据;
其中,所述目标数据包括:直播产生的目标流数据;所述第二服务节点包括:从至少一个候选节点中选择出的与所述目标流数据的推流操作关联的服务节点;
所述至少一个候选节点与所述第一服务节点所属地域分类适配,且与所述第一服务节点位于同一节点层级。
6.根据权利要求5所述的方法,其特征在于,按照预设规则选择所述内容分发网络中存储有所述目标数据的第二服务节点,包括:
确定所述内容分发网络中与所述第一服务节点所属地域分类适配的至少一个候选节点;
从所述至少一个候选节点中,确定存储有所述目标数据的服务节点,作为所述第二服务节点。
7.根据权利要求6所述的方法,其特征在于,确定所述内容分发网络中与所述第一服务节点所属地域分类适配的至少一个候选节点,包括:
从所述内容分发网络中,获取与所述第一服务节点所属地域分类适配,且与所述第一服务节点位于同一节点层级的服务节点,作为所述至少一个候选节点。
8.根据权利要求6所述的方法,其特征在于,所述目标数据包括:目标流数据;
从所述至少一个候选节点中,确定存储有所述目标数据的服务节点,作为第二服务节点,包括:
根据流数据与推流操作关联的服务节点的对应关系,从所述至少一个候选节点中确定与所述目标流数据的推流操作关联的服务节点作为所述第二服务节点。
9.根据权利要求8所述的方法,其特征在于,根据流数据与推流操作关联的服务节点的对应关系,从所述至少一个候选节点中,确定与所述目标流数据的推流操作关联的服务节点作为所述第二服务节点,包括:
从所述请求中获取所述目标流数据的播放域名以及流名称;
根据播放域名与推流域名的对应关系,确定所述目标流数据对应的目标推流域名;
从所述至少一个候选节点中,确定与所述目标推流域名和所述流名称所标识的流数据的推流操作关联的服务节点,作为所述第二服务节点。
10.根据权利要求8或9所述的方法,其特征在于,从所述至少一个候选节点中,确定存储有所述目标数据的服务节点,作为第二服务节点之前,还包括:
响应针对流数据的推流操作,获取与所述流数据的推流操作关联的服务节点以及所述流数据的推流域名和流名称;
对应记录所述流数据的推流域名和流名称以及与所述流数据的推流操作关联的服务节点,以生成所述流数据与推流操作关联的服务节点的对应关系。
11.一种内容分发网络,其特征在于,包括:直播中心以及至少一直播节点;
其中,所述至少一直播节点中的第一直播节点,用于:在接收到针对本地未存储的直播流数据的拉流请求时,向所述直播中心请求获取存储有所述直播流数据的服务节点的地址;
所述直播中心,具体用于:在所述第一直播节点请求获取存储有所述直播流数据的直播节点的地址时,确定所述内容分发网络中符合预设规则且存储有所述直播流数据的第二直播节点,并将所述第二直播节点的地址提供给所述第一直播节点,以使所述第一直播节点从所述第二直播节点获取所述直播流数据;
其中,所述第二直播节点包括:从至少一个候选节点中选择出的与所述直播流数据的推流操作关联的直播节点;
所述至少一个候选节点与所述第一直播节点所属地域分类适配,且与所述第一直播节点位于同一节点层级。
12.一种数据处理装置,其特征在于,包括:
查询模块,用于响应针对目标数据的访问请求,查询本地是否存储所述目标数据;
请求模块,用于在所述查询模块的输出为否时,从中心节点获取存储有所述目标数据的第二服务节点的地址;所述第二服务节点为按照预设规则选择的;
数据获取模块,用于根据所述第二服务节点的地址访问所述第二服务节点,以获取所述目标数据;
其中,所述目标数据包括:直播产生的目标流数据;所述第二服务节点包括:从至少一个候选节点中选择出的与所述目标流数据的推流操作关联的服务节点;
所述至少一个候选节点与第一服务节点所属地域分类适配,且与所述第一服务节点位于同一节点层级。
13.一种数据处理装置,其特征在于,包括:
选择模块,用于响应第一服务节点发送的获取存储有目标数据的服务节点的请求,按照预设规则选择内容分发网络中存储有所述目标数据的第二服务节点;
发送模块,用于将所述第二服务节点的地址提供给所述第一服务节点,以使所述第一服务节点从所述第二服务节点中获取所述目标数据;
其中,所述目标数据包括:直播产生的目标流数据;所述第二服务节点包括:从至少一个候选节点中选择出的与所述目标流数据的推流操作关联的服务节点;
所述至少一个候选节点与所述第一服务节点所属地域分类适配,且与所述第一服务节点位于同一节点层级。
14.一种电子设备,其特征在于,包括:存储器、处理器以及通信组件;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令以用于:执行权利要求2-10任一项所述的方法中的步骤。
15.一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被处理器执行时能够使得处理器实现权利要求2-10任一项所述的方法中的步骤。
CN201910614694.0A 2019-07-09 2019-07-09 内容分发网络、数据处理方法、装置、设备及存储介质 Active CN112218100B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910614694.0A CN112218100B (zh) 2019-07-09 2019-07-09 内容分发网络、数据处理方法、装置、设备及存储介质
PCT/CN2020/100052 WO2021004384A1 (zh) 2019-07-09 2020-07-03 内容分发网络、数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910614694.0A CN112218100B (zh) 2019-07-09 2019-07-09 内容分发网络、数据处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112218100A CN112218100A (zh) 2021-01-12
CN112218100B true CN112218100B (zh) 2023-05-26

Family

ID=74047361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910614694.0A Active CN112218100B (zh) 2019-07-09 2019-07-09 内容分发网络、数据处理方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN112218100B (zh)
WO (1) WO2021004384A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208955B (zh) * 2021-03-29 2024-04-19 贵州白山云科技股份有限公司 一种资源请求处理的方法、装置、计算机设备及介质
CN113194134B (zh) * 2021-04-27 2023-01-10 上海哔哩哔哩科技有限公司 节点确定方法及装置
CN113676511B (zh) * 2021-07-13 2024-03-12 阿里巴巴新加坡控股有限公司 一种云存储方法、系统、设备及存储介质
CN113761246A (zh) * 2021-09-06 2021-12-07 北京金山云网络技术有限公司 数据获取方法、装置、电子设备和存储介质
CN116033191A (zh) * 2021-10-25 2023-04-28 中兴通讯股份有限公司 直播方法、内容分发服务设备及存储介质
CN114125489B (zh) * 2021-12-10 2023-05-02 上海哔哩哔哩科技有限公司 数据流分发方法及系统
CN114245161B (zh) * 2021-12-13 2024-02-02 中国农业银行股份有限公司 一种直播推流方法、装置、存储介质及电子设备
CN114500722B (zh) * 2022-01-25 2023-10-17 北京百度网讯科技有限公司 一种分发应用程序镜像的方法、装置、电子设备及介质
CN114501053B (zh) * 2022-02-07 2023-10-20 上海哔哩哔哩科技有限公司 直播流获取方法及装置
CN114466018A (zh) * 2022-03-22 2022-05-10 北京有竹居网络技术有限公司 内容分发网络的调度方法、装置、存储介质及电子设备
CN114615237B (zh) * 2022-03-22 2024-03-29 阿里巴巴(中国)有限公司 流媒体通信方法、系统、设备及存储介质
CN114501056A (zh) * 2022-04-18 2022-05-13 深圳市华曦达科技股份有限公司 一种多源站频道自动回源的方法及装置
CN114979262B (zh) * 2022-04-25 2024-04-19 阿里云计算有限公司 访问方法以及系统
CN115002083B (zh) * 2022-05-23 2024-04-02 阿里巴巴(中国)有限公司 实时流媒体数据传输的方法、设备及存储介质
CN115002497B (zh) * 2022-05-27 2024-03-12 上海哔哩哔哩科技有限公司 直播回源的调度方法及系统、回源服务器
CN115022177B (zh) * 2022-06-08 2023-10-24 阿里巴巴(中国)有限公司 Cdn系统、回源方法、cdn节点及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015021591A1 (zh) * 2013-08-13 2015-02-19 华为技术有限公司 互联网内容存储方法和设备
US8819187B1 (en) * 2013-10-29 2014-08-26 Limelight Networks, Inc. End-to-end acceleration of dynamic content
CN103747273A (zh) * 2013-12-23 2014-04-23 乐视网信息技术(北京)股份有限公司 一种视频请求方法、设备及系统
CN103747112A (zh) * 2013-12-24 2014-04-23 乐视网信息技术(北京)股份有限公司 一种cdn回源的方法、第一服务器及系统
CN105897456A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 内容分发方法及系统
CN107645485B (zh) * 2016-07-22 2021-11-05 中兴通讯股份有限公司 一种网络直播的分发方法、系统和装置
CN106685762B (zh) * 2016-12-29 2020-02-18 北京爱奇艺科技有限公司 一种数据回源的调度方法、装置及cdn网络
CN109218363B (zh) * 2017-07-03 2021-06-08 中国移动通信有限公司研究院 内容分发方法、网络节点及存储介质
CN108712343A (zh) * 2018-05-14 2018-10-26 网宿科技股份有限公司 流媒体资源的分发方法、系统、边缘节点及中心调度系统

Also Published As

Publication number Publication date
WO2021004384A1 (zh) 2021-01-14
CN112218100A (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
CN112218100B (zh) 内容分发网络、数据处理方法、装置、设备及存储介质
CN108737405B (zh) 一种对直播视频流进行导流的方法、ccl服务器和系统
KR102305064B1 (ko) 비디오 라이브 방송 방법 및 장치
US9871881B2 (en) Content delivery network with deep caching infrastructure
US8291083B2 (en) Distributed landing pad and brick topology for content storage in content delivery networks
EP3595268A1 (en) Streaming media resource distribution method, system, edge node and central dispatching system
US8396970B2 (en) Content processing between locations workflow in content delivery networks
US8521813B2 (en) Content replication workflow in content delivery networks
US8478858B2 (en) Policy management for content storage in content delivery networks
US8615577B2 (en) Policy based processing of content objects in a content delivery network using mutators
US9706249B2 (en) Extended, home, and mobile content delivery networks
KR20150080278A (ko) 광고 컨텐츠 및 비디오 컨텐츠를 제공하는 장치 및 방법
CN113296924B (zh) 一种内容分发方法、设备、系统及存储介质
US9578356B1 (en) Live video matching method and system
CN114189885B (zh) 网元信息处理方法、设备及存储介质
AU2011203267B1 (en) Distributed landing pad and brick topology for content storage in content delivery networks
US9479804B2 (en) Digital video recorder program to mobile device
CN113301079B (zh) 一种数据的获取方法、系统、计算设备及存储介质
CN112532665A (zh) 一种服务器负载均衡的方法、装置及cdn节点
CN110958279A (zh) 一种数据处理方法及其装置
CN113301558A (zh) 一种消息传输方法、设备、系统及存储介质
US10298688B2 (en) Cloud storage managing system, cloud storage managing method, and apparatus for same
CN115002497A (zh) 直播回源的调度方法及系统、回源服务器
CN114866553A (zh) 一种数据分发方法、设备及存储介质
CN105100147A (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