CN106993054B - 文件分发方法、节点及系统 - Google Patents

文件分发方法、节点及系统 Download PDF

Info

Publication number
CN106993054B
CN106993054B CN201710317447.5A CN201710317447A CN106993054B CN 106993054 B CN106993054 B CN 106993054B CN 201710317447 A CN201710317447 A CN 201710317447A CN 106993054 B CN106993054 B CN 106993054B
Authority
CN
China
Prior art keywords
node
file
fragment data
source
file fragment
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
CN201710317447.5A
Other languages
English (en)
Other versions
CN106993054A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710317447.5A priority Critical patent/CN106993054B/zh
Publication of CN106993054A publication Critical patent/CN106993054A/zh
Application granted granted Critical
Publication of CN106993054B publication Critical patent/CN106993054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提出一种文件分发方法、节点及系统,其中,方法用于在CND中分发文件,包括:节点同时与多个源节点连接,节点并发地向多个源节点发送用于下载文件分片数据的下载请求;其中,针对不同的源节点所请求的文件分片数据不同,节点接收各源节点根据下载请求返回的文件分片数据,不同的源节点反馈的文件分片数据不同。本发明中,通过节点与源节点之间进行分片流式传输的方式,因此,从上一级源节点到下一级节点的传输延时只为传输一个文件分片数据的时长,而且节点可以并发地从源节点下载文件分片数据,并且向每个源节点下载的文件分片数据不同,由于能够从多个源节点并发下载文件分片数据,提升了文件分发和下载的速度。

Description

文件分发方法、节点及系统
技术领域
本发明涉及信息处理技术领域,尤其涉及一种文件分发方法、节点及系统。
背景技术
内容分发网络(Content Delivery Network,简称CDN)是一种新型网络内容服务体系,其基于网络之间互连的协议(Internet Protocol,简称IP)构建而成的,基于内容访问与应用的效率要求、质量要求和内容秩序而提供内容的分发和服务。而从广义的角度,CDN代表了一种基于网络而构建的高质量、高效率、具有鲜明网络秩序的网络应用服务模式。
CDN的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,由该节点的缓存服务器直接吐出数据。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
内容分发技术是构建CDN的一个关键技术,是指将用户访问的文件或者内容在用户访问之前提前发送到CDN节点的缓存服务器中。通过提前把文件或者内容进行分发,在用户向CDN节点发送第一次请求时,就可以直接由缓存服务器向用户吐出数据,避免用户再回源拉取文件或者内容,对于降低回源带宽提高用户访问体验具有很大的作用。
现有的内容分发技术采用了预先分发方式可以解决高峰期大量的访问导致的大量回源的问题,采用先分发中心节点再分发边缘节点的方式,可以做到节省源站带宽,降低了分发成本。
随着互联网高速发展,流媒体行业的竞争也越来越激烈,为了获得更多的用户访问,提高流媒体内容的发布速度是关键因素之一。一般而言,流媒体服务的提供商需要先把热点文件分发到CDN节点后才会在网站发布内容,因此CDN分发的分发速度影响着内容的发布速度。
现有的CND需要先把文件从源点分发到的中心节点,等待所有中心节点都接收到完整的文件后再把文件分发到边缘节点上,对于具有大文件特征的流媒体文件而言,下载完整的文件用时较长,因此边缘节点需要等待很长的时间才能从中心节点中下载文件数据。而且现有的CDN中的下一级节点只能从一个上一级节点下载文件,即中心节点从一个源站下载文件,而边缘节点从一个中心节点下载文件,因此,中心节点出现文件下载异常时需要重新下载该文件,相应地处于中心节点下一级的边缘节点则需要等待中心节点重新下载,因此,一个文件发布到CDN节点的时间往往比较长。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种文件分发方法,用于实现对文件的快速分发,以解决现有的CDN由于下一级节点只能从一个上一级节点下载文件,当中心节点出现文件下载异常时需要重新下载该文件,相应地边缘节点则需要等待较长的时间。
本发明的第二个目的在于提出文件分发方法。
本发明的第三个目的在于提出文件分发节点。
本发明的第四个目的在于提出文件分发系统。
本发明的第五个目的在于提出另一种文件分发节点。
本发明的第六个目的在于提出另一种文件分发系统。
本发明的第七个目的在于提出一种非临时性计算机可读存储介质。
本发明的第八个目的在于提出一种非临时性计算机可读存储介质。
本发明的第九个目的在于提出一种计算机程序产品。
本发明的第十个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种文件分发方法,用于在CDN中分发文件,所述方法包括:
节点与多个源节点同时建立连接;其中,每个源节点上存储有待分发文件;所述待分发文件包括多个文件分片数据;
所述节点并发地向多个源节点发送下载请求;其中,所述下载请求用于下载待分发文件所包含的文件分片数据;其中,所述节点针对不同的源节点所请求的文件分片数据不同;
所述节点接收各源节点根据所述下载请求返回的所述文件分片数据;其中,不同的源节点反馈的文件分片数据不同。
本发明实施例的文件分发方法,通过节点与源节点之间进行分片流式传输的方式,因此,从上一级源节点到下一级节点的传输延时只为传输一个文件分片数据的时长,而且节点可以并发地从源节点下载文件分片数据,并且向每个源节点下载的文件分片数据不同,由于能够从多个源节点并发下载文件分片数据,提升了文件分发和下载的速度。
为达上述目的,本发明第二方面实施例提出了一种文件分发方法,用于CDN中,所述CDN中包括中心节点和边缘节点,所述包括:
所述中心节点并发地从多个源站中下载文件分片数据;其中,所述中心节点针对不同的源站所请求的文件分片数据不同;
所述边缘节点并发地从多个所述中心节点中下载所述文件分片数据;其中,所述边缘节点针对不同的中心节点所请求的文件分片数据不同。
本发明实施例的文件分发方法,通过基于分片流式传输在中心节点与源站之间以及中心节点与边缘节点之间分发文件,中心节点到源站只需要下载完一个文件分片后,边缘节点即可马上从中心节点中下载到该文件分片数据,边缘节点和中心节点的下载进度只相差一个文件分片数据的传输时间,极大地缩短了文件分发到CDN各节点的传输时间。进一步地,中心节点和边缘节点采用并发下载机制,并且向从不用的源下载不同的文件分片数据,由于能够并发下载文件分片数据,提升了文件分发和下载的速度
为达上述目的,本发明第三方面实施例提出了一种文件分发节点,设置在CDN中用于在所述CDN中分发文件,所述文件分发节点包括:
连接模块,用于与多个源节点同时建立连接;其中,每个源节点上存储有待分发文件;所述待分发文件包括多个文件分片数据;
发送模块,用于并发地向多个源节点发送下载请求;其中,所述下载请求针对不同的源节点所请求的文件分片数据不同;
接收模块,用于接收各源节点根据所述下载请求返回的所述文件分片数据;其中,不同的源节点反馈的文件分片数据不同。
本发明实施例的文件分发节点,通过节点与源节点之间进行分片流式传输的方式,因此,从上一级源节点到下一级节点的传输延时只为传输一个文件分片数据的时长,而且节点可以并发地从源节点下载文件分片数据,并且向每个源节点下载的文件分片数据不同,由于能够从多个源节点并发下载文件分片数据,提升了文件分发和下载的速度。
为达上述目的,本发明第四方面实施例提出了一种文件分发系统,包括:
中心节点,用于并发地从多个源站中下载文件分片数据;其中,所述中心节点针对不同的源站所请求的文件分片数据不同;
边缘节点,用于并发地从多个所述中心节点中下载所述文件分片数据;其中,所述边缘节点针对不同的中心节点所请求的文件分片数据不同。
本发明实施例的文件分发系统,通过基于分片流式传输在中心节点与源站之间以及中心节点与边缘节点之间分发文件,中心节点到源站只需要下载完一个文件分片后,边缘节点即可马上从中心节点中下载到该文件分片数据,边缘节点和中心节点的下载进度只相差一个文件分片数据的传输时间,极大地缩短了文件分发到CDN各节点的传输时间。进一步地,中心节点和边缘节点采用并发下载机制,并且向从不用的源下载不同的文件分片数据,由于能够并发下载文件分片数据,提升了文件分发和下载的速度
为达上述目的,本发明第五方面实施例提出了另一种文件分发节点,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:
节点与多个源节点同时建立连接;其中,每个源节点上存储有待分发文件;所述待分发文件包括多个文件分片数据;
所述节点并发地向多个源节点发送下载请求;其中,所述下载请求用于下载待分发文件所包含的文件分片数据;其中,所述节点针对不同的源节点所请求的文件分片数据不同;
所述节点接收各源节点根据所述下载请求返回的所述文件分片数据;其中,不同的源节点反馈的文件分片数据不同。
为达上述目的,本发明第六方面实施例提出了另一种文件分发系统,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:
中心节点并发地从多个源站中下载文件分片数据;其中,所述中心节点针对不同的源站所请求的文件分片数据不同;
边缘节点并发地从多个所述中心节点中下载所述文件分片数据;其中,所述边缘节点针对不同的中心节点所请求的文件分片数据不同。
为了实现上述目的,本发明第七方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器端的处理器被执行时,使得服务器端能够执行一种文件分发方法,在CDN中分发文件,所述方法包括:
节点与多个源节点同时建立连接;其中,每个源节点上存储有待分发文件;所述待分发文件包括多个文件分片数据;
所述节点并发地向多个源节点发送下载请求;其中,所述下载请求用于下载待分发文件所包含的文件分片数据;其中,所述节点针对不同的源节点所请求的文件分片数据不同;
所述节点接收各源节点根据所述下载请求返回的所述文件分片数据;其中,不同的源节点反馈的文件分片数据不同。
为了实现上述目的,本发明第八方面实施例提出了另一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器端的处理器被执行时,使得服务器端能够执行一种文件分发方法,用于CND中,所述CDN中包括中心节点和边缘节点,所述方法包括:
中心节点并发地从多个源站中下载文件分片数据;其中,所述中心节点针对不同的源站所请求的文件分片数据不同;
边缘节点并发地从多个所述中心节点中下载所述文件分片数据;其中,所述边缘节点针对不同的中心节点所请求的文件分片数据不同。
为了实现上述目的,本发明第九方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种文件分发方法,所述方法用于CDN中,所述方法包括:
节点与多个源节点同时建立连接;其中,每个源节点上存储有待分发文件;所述待分发文件包括多个文件分片数据;
所述节点并发地向多个源节点发送下载请求;其中,所述下载请求用于下载待分发文件所包含的文件分片数据;其中,所述节点针对不同的源节点所请求的文件分片数据不同;
所述节点接收各源节点根据所述下载请求返回的所述文件分片数据;其中,不同的源节点反馈的文件分片数据不同。
为了实现上述目的,本发明第十方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种文件分发方法,用于CND中,所述CDN中包括中心节点和边缘节点,所述方法包括:
中心节点并发地从多个源站中下载文件分片数据;其中,所述中心节点针对不同的源站所请求的文件分片数据不同;
边缘节点并发地从多个所述中心节点中下载所述文件分片数据;其中,所述边缘节点针对不同的中心节点所请求的文件分片数据不同。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种文件分发方法的流程示意图;
图2为本发明实施例提供的一种文件分片数据的下载示意图;
图3为本发明实施例提供的另一种文件分发方法的流程示意图;
图4为本发明实施例提供的另一种文件分发方法的流程示意图;
图5为本发明实施例提供的一种CDN的结构示意图;
图6为本发明实施例提供的另一种文件分发方法的流程示意图;
图7为本发明实施例提供的另一种文件分发方法的流程示意图;
图8为本发明实施例提供的另一种文件分发方法的流程示意图;
图9为本发明实施例提供的另一种文件分发方法的流程示意图;
图10为本发明实施例提供的另一种文件分发方法的流程示意图;
图11为本发明实施例提供的一种边缘节点、中心节点以及源站之间文件分片数据的传输示意图;
图12为本发明实施例提供的另一种文件分发方法的流程示意图;
图13为一个具体的应用场景的示意图;
图14为本发明实施例提供的另一种文件分发方法的流程示意图;
图15为本发明实施例提供一种文件分发系统的结构示意图;
图16为文件分发系统的文件分片数据的下载示意图;
图17为本发明实施例提供一种文件分发系统的实体结构图;
图18为本发明实施例提供的一种文件分发节点的结构示意图;
图19为本发明实施例提供的一种文件分发系统的结构示意图;
图20为本发明实施例提供的一种文件分发节点的应用示意图;
图21为本发明实施例提供的一种文件分发系统的应用示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的文件分发方法、节点及系统。
具体地,图1为本发明实施例提供的一种文件分发方法的流程示意图。如图1所示,该文件分发方法包括以下步骤:
S101、节点与多个源节点同时建立连接;其中,每个源节点上存储有待分发文件;所述待分发文件包括多个文件分片数据。
本实施例提供的文件分发方法,可以应用在CDN中,其中,CDN中设置有多个节点。为了提高文件分发的效率,节点可以与多个源节点同时建立连接,在建立连接后可以基于HTTP进行数据传输。
本实施例中,每个源节点上存储有待分发文件的
S102,节点并发地向多个源节点发送下载请求;其中,下载请求用于下载待分发文件所包含的文件分片数据;所述节点针对不同的源节点所请求的文件分片数据不同。
每个节点可以并发地向多个源节点发送下载请求,该下载请求用于节点从源节点下载待分发文件所包含的文件分片数据。本实施例中,节点向不同的源节点发送的下载请求不同,下载请求针对不同的源节点所请求的文件分片不同。具体地,节点可以与每个源节点建立连接,节点通过与源节点之间的连接,向源节点发送下载请求。
图2为本发明实施例提供的一种文件分片的下载示意图。如图2所示,CDN中包括五个节点,分别标记为节点1~节点5。CDN中还包括3个源节点,分别标记为源节点A~C。一般情况下,可以从CDN众多的节点中选择性能较好的、存储容量较大的部分节点作为中心节点,中心节点连接流媒体的前端处理模块、源站以及各边缘节点,负责文件的存储、管理以及向全网分发文件。CDN中的其他节点可以作为边缘节点,边缘节点可以按区域靠近用户部署,可以缓存从中心节点分发下来的内容或者自己主动从中心节点下拉的内容,直接向用户提供服务。本实施例中,节点可以为CND中的中心节点,也可以为CND中的边缘节点。当节点为中心节点时,则源节点为源站,当节点为边缘节点时,则源节点为中心节点。每个节点均可以向源节点并发地发送下载请求,以节点2为例对下载请求进行解释说明。节点2可以并发地向源节点A~C分别发送下载请求,其中,向源节点A发送的下载请求用于请求文件分片数据1,向源节点B发送的下载请求用于请求文件分片数据2,向源节点C发送的下载请求用于请求文件分片数据3。当文件分片数据的数量超过源节点的数量时,可以循环从多个源节点中下载文件分片数据。例如,当文件分片数据的数量为5时,则可以节点2可以继续从源节点A中继续下载文件分片数据4,从源节点B中继续下载文件分片数据5。
需要说明的是,上述示例仅以CDN中设置有两层缓存架构来说明。对于多层缓存架构,可依次将待分发文件分发至多级的节点上。
文件提供商对待分发文件进行编辑,在编辑完成后可以将待分发文件完成后上传到CND的源站,待分发文件可以为一个视频文件。为了使用户能够快速观看到该视频内容,在视频内容发布之前,需要把视频文件分发到CDN的节点中。本实施例中,为了实现对文件的分片式传输,需要在S101之前,对待分发文件进行分片处理,得到待分发文件的文件分片数据。
作为一种可选地的实现方式,CDN中的第一级源节点即CDN中的源站将文件提供商传输过来的待分发文件进行编解码处理后,可以将待分发文件编辑成统一基于HTTP传输的文件。进一步地,调用源站中的切片单元对待分发文件进行切片,并生成待分发文件的多个文件分片数据。
作为一种可选地的实现方式,文件提供商对待分发文件进行编辑后,可以由对应的服务器按照预设的分片策略,将编辑完的待分发文件分片成多个文件分片数据。然后由服务器将文件分片数据按照分片传输给源站。例如,可以获取待分发文件的大小,根据该大小平均分片成多个文件分片数据,再例如,当待分发文件为视频文件时,可以根据视频文件的总时间长度,可以按照时间长度将待分发文件分片成时间长度一致的文件分片数据。
在得到待分发文件的文件分片数据后,节点与源节点之间可以传输待分发文件的文件分片数据,本实施例中,节点与源节点之间可以采用HTTP进行数据传输,并且分片式并发传输机制,从而可以提高分发速度。
S103、节点接收各源节点根据下载请求返回的文件分片数据;其中,不同的源节点反馈的文件分片数据不同。
在向多个源节点发送下载请求后,各源节点可以根据接收到的下载请求,获取相应的文件分片数据,并反馈给节点。节点可以从各源节点中接收到返回的文件分片数据。本实施例中,不同的源节点向节点反馈的文件分片数据不同,在拉取到所有的文件分片数据后,利用拉取的文件分片数据重新组合成待分发文件。由于节点并发地从多个源节点拉取到不同的文件分片数据,即在同一时刻可以获取到待分发文件的多个不同的文件分片数据,提高了文件的分发效率。
以图2为例,节点2可以从源节点1中接收到文件分片数据1、从源节点2中接收到文件分片数据2、从源节点3中接收文件分片数据3,进一步地,节点2还可以继续从源节点1中接收到文件分片数据4,以及从源节点2中接收到文件分片数据5。
需要说明的是,CDN中的中心节点与边缘节点采用相同的文件传输机制。
本实施例中,通过节点与源节点之间进行分片流式传输的方式,因此,从上一级源节点到下一级节点的传输延时只为传输一个文件分片数据的时长,而且节点可以并发地从源节点下载文件分片数据,并且向每个源节点下载的文件分片数据不同,由于能够从多个源节点并发下载文件分片数据,提升了文件分发和下载的速度。
图3为本发明实施例提供的另一种文件分发方法的流程示意图。在上述实施例的基础之上,文件分发方法还包括以下步骤:
S201、节点接收下一级节点发送的文件分片数据的下载请求。
本实施例中,节点也可以作为源节点,当节点作为源节点的场景下,节点可以接收下一级节点发送的文件分片数据的下载请求。例如,当节点为中心节点时,中心节点的下一级节点为边缘节点,则中心节点可以接收边缘节点发送的下载请求。
S202、节点将文件分片数据反馈给下一级节点。
在接收到下载请求后,节点可以将与该下载请求对应的文件分片数据反馈给下一级节点。例如,中心节点可以根据边缘节点发送的下载请求,获取到对应的文件分片数据,然后将该文件分片数据发送的边缘节点。
S203、节点将缓存的文件分片数据进行删除。
进一步地,节点从源节点接收到文件分片数据后,可以在本地内存中缓存该文件分片数据,在将文件分片数据反馈给下一级节点后,就可以从本地内存缓存中将该文件分片数据删除,以节省节点本地的存储空间。本实施例中,每个节点在将缓存的文件分片数据传输到下一级节点后,就可以清理缓存的文件分片数据,从而可以有效提高内存缓冲区的利用率,便于后续的文件的存储和访问,通过这种方式可以减少每个文件对内存缓冲区的占用,提高分发任务的并发执行能力。从而进一步提高分发速度。
图4为本发明实施例提供的另一种文件分发方法的流程示意图。在上述实施例的基础之上,如图4所示,所述内容分发网络节点并发地向多个源节点发送用于下载文件分片数据的下载请求具体包括以下步骤:
S301、节点接收分发子任务,其中所述分发子任务包括所述文件分片数据的所在源节点的标识。
具体地,当用户即文件提供商试图分发一个文件时,可以向CDN发送一个文件分发请求,当接收到该文件分发请求后,就可以获取该文件的描述信息,其中,描述信息中可以包括文件的名称、大小、来源以及其他的信息,例如文件为视频文件时,可以包括视频文件的时长等信息。在获取到文件的描述信息后,就可以根据该文件的描述信息生成一个分发任务,通过该分发任务描述出待分发的文件,具体地分发任务中可以包括该待分发文件的标识等信息。
进一步地,在生成了分发任务后,可以根据CDN的设置获取到CDN中所包括的节点的个数,为了能够将待分发文件分发到每个节点上,需要为每个节点生成一个分发子任务。其中,该节点包括CDN的中心节点和边缘节点。具体地,当CDN中节点的个数为N时,则生成N个分发子任务。其中,一个节点对应一个分发子任务。分发子任务主要用于描述节点从哪儿下载待分发文件的文件分片数据,具体地,该分发子任务中包括文件分片数据所在源节点的标识,例如可以为源节点的域名。
进一步地,为了能够将待分发文件分发到每个节点,在生成了N个分发子任务后,需要将分发子任务分发到对应地的节点上,以便于节点在接收到分发子任务后,可以根据该分发子任务从对应的源节点处下载文件分片数据。
S302、节点从分发子任务解析出各源节点的IP地址。
本实施例中,源节点为节点的上一届节点。在如图所示的CDN中,当节点为中心节点时,中心节点的源节点为源站,而节点为边缘节点时,边缘节点的源节点为中心节点。具体地,节点可以分发子任务中提取出文件分片数据所在源节点的标识,如源节点的域名,然后对域名进行解析,从而可以获取各源节点的IP地址。
S303、节点根据各源节点的IP地址并发地向各源节点发送下载请求。
从分发子任务中获取到源节点的IP地址后,节点就可以根据各源节点的IP地址,并发地向各源节点发送下载请求。节点可以根据每个源节点的IP地址与该源节点之间建立连接,在连接建立完成后,节点就可以通过该连接向源节点发送下载请求。节点与各源节点之间连接关系,可参见上述实施例中图2。其中,下载请求用于向源节点请求下载文件分片数据。本实施例中,节点向不同的源节点发送的下载请求不同,下载请求针对不同的源节点所请求的文件分片数据不同。
本实施例中,通过节点与源节点之间进行分片流式传输的方式,因此,从上一级源节点到下一级节点的传输延时只为传输一个文件分片数据的时长,而且节点可以并发地从源节点下载文件分片数据,并且向每个源节点下载的文件分片数据不同,由于能够从多个源节点并发下载文件分片数据,提升了文件分发和下载的速度。
图5为本发明实施例提供的一种CDN的结构示意图。CDN中包括源站,用于接收待分发文件,图5中,源站1和源站2分别用于接收待分发文件,可以将待分发文件切分,得到多个文件分片数据。进一步地CDN中还包括中心节点和边缘节点。通常,为了节省源站的分发带宽,可以获取每个节点的存储容量以及性能配置的信息,根据存储容量和性能配置信息,可以从CDN的众多节点中选取性能较好的、存储容量较大的节点作为中心节点。图5中,中心节点1~中心节点3均可以并发地从源站1和源站2下载文件分片数据。例如,中心节点1从源站1和源站2同时请求下载文件分片数据,从源站1和源站2下载的文件分片数据不同。
在确定了CDN的中心节点后,将其他节点作为边缘节点。边缘节点一般情况下可以按区域靠近用户部署,边缘节点可以直接向用户提供服务。图5中,边缘节点1~边缘节点6均可以并发地从中心节点1~3处下载不同的文件分片数据。例如,边缘节点1可以从中心节点1、中心节点2以及中心节点3同时请求下载文件分片数据,从中心节点1、中心节点2以及中心节点3下载的文件分片数据是不同。
本实施例中,当边缘节点获取到文件分片数据后,用户可以通过终端从边缘节点上请求文件分片数据,以便于将文件分片数据缓存或者下载到终端上,用户可以通过终端查看文件分片数据所携带的具体内容。终端可以为笔记本、平板电脑、移动终端、电脑等。
本实施例中,CDN中的下一级节点可以并发地从多个上一级节点中请求文件分片数据,也就是说,中心节点可以并发地从多个源站中拉取文件分片数据,边缘节点可以并发地从多个中心节点拉取文件分片数据。
图6为本发明实施例提供的另一种文件分发方法的流程示意图。在上述实施例的基础之上,以CDN中的中心节点为例对本实施例提供的文件分发方法进行解释说明。
如图6所示,该文件分发的方法包括以下步骤:
S401、中心节点接收分发子任务,其中分发子任务包括文件分片数据所在源站的标识。
本实施例中,中心节点作为上述实施例中的节点,源节点为源站。当用户试图分发一个文件,可以向源站发送一个文件分发请求,根据该文件分发请求生成一个分发任务,进一步地,根据CDN中节点的数量生成分发子任务,每个节点对应一个分发子任务。中心节点可以接收分发子任务。该分发子任务中包括文件分片数据所在源站节点的标识,即所在源站的标识,可以为源站的域名。
S402、中心节点从分发子任务中解析出各源站的IP地址。
具体地,中心节点可以分发子任务中提取出文件分片数据所在源站的标识,即源站的域名,然后解析该分发子任务中配置的源站的域名,从而可以获取各源站的IP地址。
S403、中心节点根据各源站的IP地址并发地向各源节点发送第一下载请求。
其中,第一下载请求针对不同的源站所请求的文件分片数据不同。该第一下载请求为中心节点从源站请求文件分片数据时发送的下载请求。
从分发子任务中获取到源站的IP地址后,中心节点可以根据每个源站的IP地址与该源站之间建立连接,在连接建立完成后,中心节点就可以通过该连接向源站发送第一下载请求。如图5所示,每个中心节点分别与两个源站建立连接,以从两个源站拉取文件分片数据。本实施例中,中心节点向不同的源站发送的第一下载请求不同,第一下载请求针对不同的源站所请求的文件分片不同。例如,中心节点1向源站1发送请求文件分片数据1的第一下载请求,向源站2发送请求文件分片数据2的第一下载请求。
S404、中心节点接收每个源站根据第一下载请求返回的文件分片数据。
中心节点向每个源站发送了第一下载请求后,源站可以根据该第一下载请求获取与其请求对应的文件分片数据,然后将该文件分片数据返回给中心节点,中心节点可以从每个源站接收到不同的文件分片数据。例如,中心节点1可以从源站1处接收到文件分片数据1,从源站2处接收到文件分片数据2。一般情况下,CDN中包括大量的源站,源站的数量不会低于待分发文件包括的文件分片数据的数量。而当源站的数据量低于文件分片数据的数量时,可以从源站中循环拉取文件分片数据。以图5所示的CDN为例,文件分片数据为5,而源站的数量为2,则可以循环从源站拉取文件分片数据。当中心节点从源站1中拉取到文件分片数据1后,则可以继续向源站1发送一个拉取文件分片数据3的第一下载请求,在文件分片数据3拉取到中心节点后,中心节点可以继续向源站1拉取文件分片数据5。相应地,中心节点从源站2拉取文件分片数据2以及文件分片数据4。
S405、中心节点将文件分片数据缓存在本地内存中。
在从源站拉取到文件分片数据后,中心节点可以将文件分片数据缓存到本地内存中,以便于中心节点的下一级节点即边缘节点从中心节点上拉取到文件分片数据。本实施例中,中心节点在拉取到文件分片数据后,不仅需要在本地内存中进行缓存,以向边缘节点进行下发,进一步地,中心节点还需要在中心节点上的存储设备中,以实现对待分发文件的落地存储。其中,存储设备可以为中心节点上的硬盘等。
本实施例中,中心节点与源站之间进行分片流式传输的方式,而且中心节点可以并发地从源站下载文件分片数据,并且向每个源站下载的文件分片数据不同,由于能够从多个源站并发下载文件分片数据,提升了文件分发和下载的速度。
图7为本发明实施例提供的另一种文件分发方法的流程示意图。在上述实施例的基础之上,以CDN中的边缘节点为例对本实施例提供的文件分发方法进行解释说明。
如图7所示,该文件分发的方法包括以下步骤:
S501、边缘节点接收分发子任务,其中分发子任务包括文件分片数据所在中心节点的标识。
本实施例中,边缘节点作为上述实施例中的节点,源节点为中心节点。边缘节点可以接收分发子任务,该分发子任务中包括文件分片数据所在源站节点的标识,即所在中心节点的标识,可以为中心节点的域名。
S502、边缘节点从分发子任务中解析出各中心节点的IP地址。
具体地,边缘节点可以分发子任务中提取出文件分片数据所在中心节点的标识,即中心节点的域名,然后解析该分发子任务中配置的中心节点的域名,从而可以获取各中心节点的IP地址。
S503、边缘节点根据各中心节点的IP地址并发地向各中心节点发送第二下载请求。
其中,第二下载请求针对不同的中心节点所请求的文件分片数据不同。该第二下载请求为边缘节点用于从中心节点请求文件分片数据时发送的下载请求。
从分发子任务中获取到中心节点的IP地址后,边缘节点可以根据每个中心节点的IP地址与该中心节点之间建立连接,在连接建立完成后,边缘节点就可以通过该连接向中心节点发送第二下载请求。如图5所示,每个边缘节点均可以与三个中心节点建立连接,以从三个中心节点拉取文件分片数据。本实施例中,边缘节点向不同的中心节点发送的第二下载请求不同,第二下载请求针对不同的中心节点所请求的文件分片不同。例如,边缘节点1向中心节点1发送请求文件分片数据1的第二下载请求,向中心节点2发送请求文件分片数据2的第二下载请求,向中心节点3发送请求文件分片数据3的第二下载请求。
S504、边缘节点接收每个中心节点根据第二下载请求返回的文件分片数据。
边缘节点向每个中心节点发送了第二下载请求后,中心节点可以根据该第二下载请求获取与其请求对应的文件分片数据,然后将该文件分片数据返回给边缘节点,边缘节点可以从每个中心节点接收到不同的文件分片数据。例如,边缘节点1可以从中心节点1处接收到文件分片数据1,从中心节点2处接收到文件分片数据2。一般情况下,CDN中包括大量的中心节点,中心节点的数量不会低于待分发文件包括的文件分片数据的数量。而当中心节点的数据量低于文件分片数据的数量时,可以从中心节点中循环拉取文件分片数据。以图5所示的CDN为例,文件分片数据为5,而中心节点的数量为3,则边缘节点可以循环从中心节点上拉取文件分片数据。当边缘节点1从中心节点1中拉取到文件分片数据1后,则可以继续向中心节点1发送一个拉取文件分片数据4的第二下载请求。当边缘节点1从中心节点2中拉取到文件分片数据2后,边缘节点1可以继续向中心节点2拉取文件分片数据5。相应地,边缘节点1从中心节点3中拉取文件分片数据3。
S505、边缘节点将文件分片数据存储到本地的存储设备中。
在从中心节点拉取到文件分片数据后,边缘节点可以将文件分片数据存储到本地的硬盘中进行落地,以便于隶属于该边缘节点的用户从边缘节点上拉取该文件分片数据。
本实施例中,边缘节点与中心节点之间进行分片流式传输的方式,可以缩短等待时间,而且边缘节点可以并发地从中心节点下载文件分片数据,并且从每个中心节点下载的文件分片数据不同,由于能够从多个中心节点并发下载文件分片数据,提升了文件分发和下载的速度。
图8为本发明实施例提供的另一种文件分发方法的流程示意图。在上述实施例的基础之上,所述文件分发方法包括以下步骤:
S601、当节点从一个源节点下载文件分片数据出现异常时,节点从其他的源节点中选择一个作为备份源节点。
实际应用中,节点从源节点下载文件分片数据时,可能由于网络问题出现数据传输失败等异常,当需要下载的文件分片数据出现异常后,节点就可以其他的源节点中选一个源节点作为备份源节点。
S602、节点从备份源节点重新下载出现异常的文件分片数据。
在选取了一个备份源节点后,就可以在该备份源节点出重新下载该出现异常的文件分片数据。例如,当节点从源节点3上下载文件分片数据3时,文件分片数据3在下载过程中出现异常,则可以从剩余的其他源节点从选取任意一个源节点,从选择的该源节点上重新下载该文件分片数据3。
需要说明的是,CDN中的中心节点与边缘节点采用相同的文件传输机制,当中心节点或者边缘节点下载的文件分片数据出现异常时,均可以从其他源节点处重新下载该文件分片数据。
本实施例中,采用多源节点并发下载机制,在文件分片数据传输过程中配置多个下载点,容忍单条传输链路异常,并且在单独传输链路出现异常时,还继续从剩余的一个源节点上重新下载异常的文件分片数据,提高文件分片数据传输的可用性。
图9为本发明实施例提供的另一种文件分发方法的流程示意图。在上述实施例的基础之上,节点接收到文件分片数据后,还可以对接收到的文件分片数据进行完整性验证,具体包括以下步骤:
S701、节点对文件分片数据进行MD5计算或者哈希计算,得到文件分片数据的第一签名信息。
只有完整的文件分片数据才能够被正常使用,在节点接收到文件分片数据后,需要对文件分片数据的完整性进行校验。具体地,节点可以采用第五版消息摘要算法(Message Digest Algorithm 5,简称MD5)对文件分片数据进行计算,得到该文件分片数据的MD5值,或者采用哈希算法对文件分片数据进行计算,得到文件分片的哈希值。将MD5值或者哈希值作为文件分片数据的第一签名信息。
S702、节点将第一签名信息与从源节点接收到的文件分片数据的第二签名信息进行比较。
本实施例中,节点可以从源节点接收到文件分片数据的第二签名信息,并且将该第二签名信息缓存在节点上。当接收到文件分片数据后,节点可以将计算出的第一签名信息与缓存在本地内存中的第二签名信息进行比较。
需要说明书的是,第一签名信息和第二签名信息采用相同的算法计算得到的。
S703、如果第一签名信息和第二签名信息一致,节点确定文件分片数据完整。
需要说明的是,CDN中的中心节点与边缘节点采用相同的文件传输机制,中心节点和边缘节点在接收到文件分片数据后,可以对文件分片数据的完整性进行验证。
图10为本发明实施例提供的另一种文件分发方法的流程示意图。图10所示,该文件分发方法包括以下步骤:
S801、中心节点并发地从多个源站中下载文件分片数据。
其中,中心节点针对不同的源站所请求的文件分片数据不同。
本实施例用于CDN中,CDN中包括中心节点和边缘节点。具体地,中心节点可以启动多个连接与源站进行文件分片数据的传输。中心节点向不同的源站发送用于请求文件分片数据的第一下载请求。其中,第一下载请求针对不同的源站所请求的文件分片数据不同。以上述实施例中图5为例,中心节点1向源站1发送请求文件分片数据1的第一下载请求,向源站2发送请求文件分片数据2的第一下载请求。
中心节点向每个源站发送了第一下载请求后,源站可以根据该第一下载请求获取与其请求对应的文件分片数据,然后将该文件分片数据返回给中心节点,中心节点可以从每个源站接收到不同的文件分片数据。
在从源站拉取到文件分片数据后,中心节点可以将文件分片数据缓存到本地内存中,以便于中心节点的下一级节点即边缘节点从中心节点上拉取到文件分片数据。
进一步地,中心节点可以作为源节点,接收边缘节点发送的用于请求文件分片数据的第三下载请求,中心节点根据该第三下载请求获取到对应的文件分片数据并反馈给边缘节点。在中心节点将文件分片数据反馈给边缘节点之后,中心节点将缓存的文件分片数据进行删除。本实施例中,预先为中心节点设置内存缓存区,在该内存缓存区内缓存下载到文件分片数据。在中心节点将文件分片数据分发到边缘节点后,可以将内存缓存区中缓存的文件分片数据删除,以释放内存缓存区的空间。
进一步地,中心节点不仅可以将下载的文件分片数据缓存到内容缓存区内,为了实现对待分发文件的落地存储,可以将待分发文件的文件分片数据存储到中心节点的硬盘等存储单元中。
本实施例中,当下一级节点从上一级节点接收到文件分片数据后,同样地将文件分片数据进行缓存或者落地存储,由于下一级节点对下载的文件分片数据进行了存储,即使在下一级节点往下传输出现失败,仍然可以从缓存或者落地存储的存储单元中获取到传输失败的该文件分片数据,重新分发其下一级节点。
本实施例中,每个中心节点在将缓存的文件分片数据传输到下一级节点即边缘节点后,就可以清理缓存的文件分片数据,从而可以有效提高内存缓冲区的利用率,便于后续的文件的存储和访问,通过这种方式可以减少每个文件对内存缓冲区的占用,提高分发任务的并发执行能力。从而进一步提高分发速度。
S802、边缘节点并发地从多个中心节点中下载文件分片数据。
其中,边缘节点针对不同的中心节点所请求的文件分片数据不同。
具体地,边缘节点可以与多个中心节点之间连接建立,通过该连接向中心节点发送用于请求文件分片数据的第二下载请求。本实施例中,边缘节点向不同的中心节点发送的第二下载请求不同,第二下载请求针对不同的中心节点所请求的文件分片不同。
边缘节点向每个中心节点发送了第二下载请求后,中心节点可以根据该第二下载请求获取与其请求对应的文件分片数据,然后将该文件分片数据返回给边缘节点,边缘节点可以从每个中心节点接收到不同的文件分片数据。
在从中心节点拉取到文件分片数据后,边缘节点可以将文件分片数据缓存到本地的存储设备中,以便于隶属于该边缘节点的用户从边缘节点上拉取该文件分片数据。其中存储设备可以为边缘节点的硬盘等。具体地,边缘节点可以作为源节点,接收隶属该边缘节点的终端发送用于请求文件分片数据的第四下载请求,边缘节点根据第四下载请求从硬盘中获取对应的文件分片数据发送给终端。
边缘节点、中心节点以及源站之间文件分片数据的传输过程,如图11所示。边缘节点向中心节点请求文件分片数据,同时中心节点也向源站请求该文件分片数据,当中心节点从源站获取到文件分片数据时,也相应将文件分片数据返回请求该分片数据的边缘节点。如11所示,边缘节点可以按照文件分片数据的编号从中心节点中请求对应的文件分片数据,相应地,中心节点按照文件分片数据从源站中请求对应的文件分片数据。
进一步地,边缘节点和中心节点收到顺序的文件分片数据后直接将文件分片数据进行缓存,等待所有的文件分片数据均获取成功后,该完成对该节点分发文件的过程。
本实施例中,基于分片流式传输在中心节点与源站之间以及中心节点与边缘节点之间分发文件,中心节点到源站只需要下载完一个文件分片后,边缘节点即可马上从中心节点中下载到该文件分片数据,边缘节点和中心节点的下载进度只相差一个文件分片数据的传输时间,极大地缩短了文件分发到CDN各节点的传输时间。进一步地,中心节点和边缘节点采用并发下载机制,并且向从不用的源下载不同的文件分片数据,由于能够并发下载文件分片数据,提升了文件分发和下载的速度。
图12为本发明实施例提供的另一种文件分发方法的流程示意图。在上述实施例的基础之上,所述中心节点并发地从多个源站中下载文件分片数据之前,还包括以下步骤:
S901、源站接收用户发送的文件分发请求。
当用户如流媒体服务提供商试图分发一个文件时,可以向CDN发送一个文件分发请求。
S902、源站根据所述文件分发请求和所述内容分发网络中节点的个数生成N个分发子任务;其中,分发子任务包括文件分片数据的下载地址。
当接收到该文件分发请求后,就可以生成一个分发任务,通过该分发任务描述出待分发的文件,分发任务中可以包括该待分发文件的标识,例如名称。进一步地,在生成了分发任务后,就可以根据该CDN中节点的个数生成一个分发子任务,例如,当CDN中节点的个数为N时,则生成N个分发子任务。其中,一个节点对应一个分发子任务。分发子任务主要用于描述节点从哪儿下载文件分片数据,具体地,该分发子任务中包括文件分片数据所在节点的标识,通过该标识可以解析出所在节点的IP地址,该标识可以为所在节点的域名。
S903、源站将N个分发子任务分别发送到对应的节点上,以使节点执行分发子任务。
在生成了N个分发子任务后,源站就可以将N个分发子任务分别发送到对应的节点上,其中,节点包括中心节点和边缘节点。节点在接收到分发子任务后,就可以执行该分发子任务,即根据分发子任务中的下载地址下载文件分片数据。
本实施了中,中心节点接收到分发子任务后,可以从分发子任务中解析获取各源站的IP地址,然后根据各源站的IP地址并发地向各源站发送第一下载请求。
进一步地,边缘节点接收到分发子任务后,可以从分发子任务中获取到各中心节点的IP地址,然后根据各中心节点的IP地址并发地向各中心节点发送第二下载请求。
本实施例中,为了实现对文件的分片式传输,需要向中心节点传输文件分片数据之前,还需要对待分发文件进行分片处理,得到该文件的文件分片数据,然后在节点与源节点之间传输该文件的文件分片数据。
进一步地,当中心节点在其中一个源站下载述文件分片数据出现异常时,中心节点从其他的源站中选择一个源站作为备份源站,然后中心节点从备份源站重新下载出现异常的文件分片数据。
进一步地,当边缘节点在其中一个中心节点下载文件分片数据出现异常时,边缘节点从其他的中心节点中选择一个中心节点作为备份中心节点,然后边缘节点从该备份中心节点重新下载出现异常的文件分片数据。
本实施例中,采用多源节点并发下载机制,在文件分片数据传输过程中配置多个下载点,容忍单条传输链路异常,并且在单独传输链路出现异常时,还继续从剩余的一个源节点上重新下载异常的文件分片数据,提高文件分片数据传输的可用性。
进一步地,在中心节点或者边缘节点在接收到文件分片数据后,中心节点或者边缘节点对文件分片数据的完整性进行验证。关于文件分片数的完整性验证可参见上述实施例中相关内容的记载,此处不再赘述。
进一步地,边缘节点可以接收隶属该边缘节点的终端发送的观看请求,用于观看文件分片数据中的内容。边缘节点可以根据该观看请求将下载的文件分片数据发送给终端。
如图13所示,为一个具体的应用场景的示意图。流媒体服务提供商编辑视频文件完成后上传到源站,源站可以以分片流式将视频文件分发到CDN的各个节点上。流媒体服务提供商可以将视频文件的上传到所有的源站上。源站可以将文件分片数据传输到中心节点,每当一个文件分片数据传输到中心节点后,就可以从各个中心节点传输到各个边缘节点,最后返回分发成功消息到流媒体服务提供商。该视频文件即可正式上线,全国各地的用户均可通过终端连接其所在地区的边缘节点观看视频内容。
如图13所示,4个中心节点分别与2个源站连接,从2个源站上请求文件分片数据。进一步地,CDN中的每个边缘节点可以与4个中心节点连接,图13中仅以一个黑框白字表示的边缘节点为例进行了解释说明,图中其他的边缘节点只有一个中心节点连接,省略与其他中心节点之间的连接。需要说明的是,此处的CDN结构仅为示例,不能作为限制本发明的条件。
图14为本发明实施例提供的另一种文件分发方法的流程示意图。如图14所示,该文件分发方法包括以下步骤:
S1001、接收用户发送的文件分发请求;其中,所述文件分发请求中包括待分发文件的标识。
本实施例提供的文件分发方法,用于在CDN中分发文件,执行主体可以为一个文件分发系统。具体地,用户如流媒体服务提供商可以通过终端向文件分发系统发送一个文件分发请求,在该文件分发请求中携带待分发文件的标识,可以为文件的名称。
S1002、根据文件分发请求为内容分发网络中各节点生成对应的分发子任务;所述分发子任务包括所述文件分片数据所在节点的标识。
具体地,文件分发系统可以根据接收到的文件分发请求生成一个分发任务;其中,分发任务中包括待分发文件的标识。进一步地,文件分发系统获取CDN中节点的数量,然后生成与该数量一致的分发子任务,即为每个节点生成一个对应的分发子任务。其中,分发子任务中包括文件分片数据所在节点的标识,节点可以根据该标识识别出文件分片数据所在节点即源节点的IP地址,从而根据该IP地址从源节点下载该文件分片数据。
进一步地,在获取内容分发网络中节点的数量之前,还包括:
文件分发系统将生成的分发任务存进任务队列并将该分发任务设置成等待状态,该处于等待状态的分发任务等待调度。进一步地,文件分发系统可以定时从任务队列中提取分发任务进行执行。
S1003、向各节点发送分发子任务,以使节点根据分发子任务并发地向多个源节点发送用于下载文件分片数据的下载请求。
本实施例中,在为每个节点生成了分发子任务后,文件分发系统可以将分发子任务对应的发送给各节点,节点在接收到分发子任务后,可以从分发子任务中解析出文件分片数据所在节点即源节点的IP地址,然后根据各源节点的IP地址向各源节点发送用于下载文件分片数据的下载请求。关于节点根据分发子任务并发地向多个源节点发送下载请求,从各源节点下载文件分片数据的具体过程可参见上述实施例中相关内容的记载,此处不再赘述。
进一步地,在完成自身的分发子任务后,节点就可以返回一个子任务完成指示,文件分发系统可以根据该分发子任务对该节点的缓存索引表进行更新,根据该更新的缓存索引表就可以得知该节点内缓存的具体内容。
进一步地,文件分发系统可以CDN中所有节点的分发子任务的完成进度进行监控,以了解文件在CDN中的分发进度。当监控到所有节点的分发子任务完成后,文件分发系统生成用于分发任务完成指示,并且向用户返回分发任务完成指示,以通知用户已经在CDN中完成文件的分发。
为了更好地说明本发明实施例提供文件分发方法,图15给出了一种文件分发系统。如图15所示,文件分发系统包括:接口模块11、任务管理模块12、子任务管理模块13、子任务转发模块14和代理下载模块15。
以流媒体文件作为待分发文件,接口模块11用于负责接收用户即流媒体服务提供商编辑后的流媒体文件的文件分发请求,对请求进行合法性校验后生成分发任务,并将该分发任务发送到主任务管理模块12。
主任务管理模块12用于对接收来自接口模块11发送的分发任务,负责分发任务的管理和调度,可以对分发任务的进度进行监控,等待分发任务完成后,把分发结果回报给用户。任务管理模块12还可以在接收到分发任务后,将该分发任务存进任务队列中,记录分发任务为等待状态。
进一步地,任务管理模块12定时地从任务队列按序提取分发任务发送到子任务管理模块13中。子任务管理模块13在接收到分发任务后,根据CDN节点的数量生成对应数量的分发子任务,比如CDN节点数量为N,则生成N个分发子任务,每个节点对应一个分发子任务。子任务管理模块13根据分发子任务对应的节点所从属的子任务转模块14,并把该分发子任务推送到子任务转发模块14中。
需要说明的是,可以多个节点对应一个子任务转发模块14,该子任务转发模块14相应地可以接收到子任务管理模块13同时发送过来的多个分发子任务。
进一步地,子任务转发模块14可以在接收到分发子任务后,将分发子任务分别对推送到相应节点的代理下载模块15中。代理下载模块15在接收到分发子任务后,就开始根据分发子任务下载文件分片数据。
对于中心节点,如图16所示,代理下载模块15接收到任务后,通过多次解析配置的源站的域名,获取多个源站的IP地址,同时启动多个连接并发向源站发起文件分片数据的第一下载请求,各第一下载请求所请求的文件分片数据互不相同。代理下载模块15接收到源站返回文件分片数据后,将下载到的文件分片数据保存在中心节点的高速缓存中。
对于边缘节点,如图16所示,选择所有中心节点作为下载源,并建立多个连接向所有中心节点发起文件分片数据的第二下载请求,各第二下载请求所请求的文件分片数据互不相同。中心节点接收到第二下载请求会从高速缓存中读取相应的文件分片数据返回给边缘节点,若该文件分片数据尚未下载完成则挂起这一请求,当文件分片数据下载完成时立刻返回文件分片数据,代理下载模块15接收到中心节点返回文件分片数据后,将下载到的文件分片数据保存在边缘节点的高速缓存中。
代理下载模块15具体下载文件分片数据的过程可参见上述实施例中相关内容的记载,此处不再赘述。
图17为上述文件分发系统的实体结构图。该文件分发系统包括:接口服务器21、任务管理服务器22、子任务管理服务器23、子任务转发服务器24和代理下载服务器25。
其中,接口服务器21用于实现上述接口模块11的功能,任务管理服务器22用于实现上述任务管理模块12的功能,子任务管理服务器23用于实现上述子任务管理模块13的功能,子任务转发服务器24用于实现上述任务转发模块14的功能,代理下载服务器25用于实现上述代理下载模块15的功能。
图18为本发明实施例提供的一种文件分发节点的结构示意图。如图18所示,该文件分发节点包括:发送模块31和接收模块32。
其中,发送模块31,用于并发地向多个源节点发送用于下载文件分片数据的下载请求;其中,所述下载请求针对不同的源节点所请求的文件分片数据不同。
接收模块32,用于接收各源节点根据所述下载请求返回的所述文件分片数据。
其中,发送模块31,包括:接收单元311、解析单元312和发送单元313。
接收单元311,用于接收分发子任务,其中所述分发子任务包括所述文件分片数据的所在的源节点的标识。
解析单元312,用于从所述分发子任务中解析出各源节点的IP地址。
发送单元313,用于根据各源节点的IP地址并发地向各源节点发送所述下载请求。
进一步地,接收模块31,还用于接收下一级节点发送的所述文件分片数据的所述下载请求。
进一步地,所述文件分发节点还包括:删除模块33。
发送模块31,还用于将所述文件分片数据反馈给所述下一级节点。
删除模块33,用于在将所述文件分片数据反馈给所述下一级节点之后,将缓存的所述文件分片数据进行删除。
进一步地,当所述文件分发节点为CND中的中心节点时,发送单元313,具体用于根据各源节点的IP地址并发地向各源站发送所述文件分片数据的第一下载请求;其中,所述第一下载请求针对不同的源站所请求的文件分片数据不同;所述源站为所述中心节点的源节点。
接收模块32,具体用于接收每个源站根据所述第一下载请求返回的所述文件分片数据,以及将所述文件分片数据缓存在本地内存中。
进一步地,当所述文件分发节点为所述CND中的边缘节点时,则发送单元313,具体用于根据各中心节点的IP地址并发地向各中心节点发送所述文件分片数据的第二下载请求,其中,所述第二下载请求针对不同的中心节点所请求的文件分片数据不同;所述中心节点为所述边缘节点对应的所述源节点;
接收模块32,具体用于接收每个中心节点根据所述第二下载请求返回的所述文件分片数据,将所述文件分片数据存储到本地的存储设备中。
所述文件分发节点,还包括:选择模块34。
当从一个源节点下载所述文件分片数据出现异常时,选择模块34从其他的源节点中选择一个作为备份源节点,并且从所述备份源节点重新下载出现异常的所述文件分片数据。
本实施例中,通过节点与源节点之间进行分片流式传输的方式,因此,从上一级源节点到下一级节点的传输延时只为传输一个文件分片数据的时长,而且节点可以并发地从源节点下载文件分片数据,并且向每个源节点下载的文件分片数据不同,由于能够从多个源节点并发下载文件分片数据,提升了文件分发和下载的速度。
图19为本发明实施例提供的一种文件分发系统的结构示意图。如图19所示,该文件分发系统包括:中心节点41和边缘节点42。
中心节点41,用于并发地从多个源站中下载文件分片数据;
边缘节点42,用于并发地从多个所述中心节点中下载所述文件分片数据。
进一步地,中心节点41,具体用于并发地向多个源站发送用于请求下载所述文件分片数据的第一下载请求,以及接收每个源站根据所述下载请求返回的所述文件分片数据并缓存所述文件分片数据。
其中,所述第一下载请求针对不同的源站所请求的文件分片数据不同。
进一步地,边缘节点42,具体用于并发地向所有的中心节点发送用于请求下载所述文件分片数据的第二下载请求,以及接收每个中心节点根据所述第二下载请求返回的所述文件分片数据,以及将所述文件分片数据存储到本地的存储设备中。
其中,所述第二下载请求针对不同的中心节点所请求的文件分片数据不同。
进一步地,所述文件分发系统还包括:
源站43,用于接收用户发送的文件分发请求,根据所述文件分发请求和所述内容分发网络中节点的个数生成N个分发子任务,以及将所述N个分发子任务分别发送到对应的节点上,以使所述节点执行所述分发子任务,其中所述节点包括所述中心节点和所述边缘节点,其中,所述分发子任务包括所述文件分片数据所在节点的标识。
进一步地,中心节点41,具体用于从所述分发子任务中解析获取各源站的IP地址,根据各源站的IP地址并发地向各源站发送所述第一下载请求。
进一步地,边缘节点42,具体用于从所述分发子任务中获取各中心节点的IP地址,根据所述中心节点的IP地址并发地向各中心节点发送所述第二下载请求。
进一步地,中心节点41,还用于在其中一个源站43下载所述文件分片数据出现异常时,从其他的源站43中选择一个源站作为备份源站,从备份源站重新下载出现异常的所述文件分片数据。
进一步地,边缘节点42,还用于在其中一个中心节点41下载所述文件分片数据出现异常时,从其他的中心节点41中选择一个中心节点作为备份中心节点,从所述备份中心节点重新下载出现异常的所述文件分片数据。
进一步地,中心节点41,还用于接收所述边缘节点发送的用于请求所述文件分片数据的第三下载请求,根据所述第三下载请求获取所述文件分片数据并反馈给所述边缘节点,据所述第三下载请求获取所述文件分片数据并反馈给所述边缘节点,将缓存在本地内存中的所述文件分片数据进行删除。
进一步地,边缘节点42,还用于接收隶属所述边缘节点的终端发送用于请求所述文件分片数据的第四下载请求,根据所述第四下载请求获取所述文件分片数据发送给所述终端。
本实施例中,通过节点与源节点之间进行分片流式传输的方式,因此,从上一级源节点到下一级节点的传输延时只为传输一个文件分片数据的时长,而且节点可以并发地从源节点下载文件分片数据,并且向每个源节点下载的文件分片数据不同,由于能够从多个源节点并发下载文件分片数据,提升了文件分发和下载的速度。
图20为本发明实施例提供的一种文件分发节点的应用示意图。如图20所示,包括多个文件分发节点10和源节点20。每个文件分发节点10设置有服务器101和存储器102。源节点20中设置有服务器201和存储器202。文件分发节点10可以作为下一级文件分发节点的源节点。源节点20可以从网络侧服务器获取到下发的待分发文件。每个文件分发节点10可以并发地向多个源节点20下发下载文件分片数据的下载请求,并且可以接收到源节点20返回的文件分片数据。
存储器102用于存储可执行程序代码;处理器101通过读取存储器102中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例所述的文件分发方法。
图21为本发明实施例提供的一种文件分发系统的应用示意图。如图21所示,源站30、中心节点40和边缘节点50。
源站30设置有服务器301和存储器302。中心节点40中设置有服务器401和存储器402,边缘节点50中设置有服务器501和存储器502。
源站30可以从网络服务器获取到下发的待分发文件,然后中心节点50可以并发地从多个源站30中下载文件分片数据;边缘节点50并发地从多个所述中心节点40中下载所述文件分片数据。进一步地,用户可以通过用户设备向隶属的边缘节点请求该待分发文件。当用户访问已经加入CDN服务的网站时,首先通过域名系统(Domain Name System,简称DNS)重定向技术确定最接近用户的边缘节点,同时将用户的请求指向该边缘节点。当用户的请求到达指定的边缘节点时,该边缘节点负责将用户请求的内容提供给用户。
存储器302用于存储可执行程序代码;处理器301通过读取存储器302中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例所述的文件分发方法。
存储器402用于存储可执行程序代码;处理器401通过读取存储器402中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例所述的文件分发方法。
存储器502用于存储可执行程序代码;处理器501通过读取存储器502中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例所述的文件分发方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (14)

1.一种文件分发方法,其特征在于,用于在内容分发网络CDN中分发文件,所述方法包括:
节点与多个源节点同时建立连接;其中,每个所述源节点上存储有待分发文件;所述待分发文件包括多个文件分片数据;
所述节点接收分发子任务,并从所述分发子任务中解析出每个所述源节点的网际协议IP地址,其中,所述分发子任务包括所述文件分片数据所在的源节点的标识;
所述节点根据每个所述源节点的IP地址并发地向多个所述源节点发送下载请求;其中,所述下载请求用于下载所述待分发文件所包括的文件分片数据,所述节点针对不同的源节点所请求的文件分片数据不同;
所述节点接收各源节点根据所述下载请求返回的所述文件分片数据;其中,不同的所述源节点所返回的所述文件分片数据不同,一个所述源节点针对一次所述下载请求返回一个所述文件分片数据;
当所述待分发文件所包括的所述文件分片数据的数量超过所述源节点的数量时,所述节点继续并发地向所述多个源节点发送所述下载请求,并继续接收每个所述源节点根据所述下载请求返回的所述文件分片数据;
当所述节点从任意一个所述源节点接收所述文件分片数据出现异常时,所述节点从出现异常的所述源节点以外的源节点中确定一个备选源节点;所述节点向所述备选源节点发送所述下载请求,并接收所述备选源节点返回的出现异常的所述文件分片数据;
所述节点对所述文件分片数据进行哈希计算,得到所述文件分片数据的第一签名信息;
所述节点将所述第一签名信息与从所述源节点接收到的文件分片数据的第二签名信息进行比较;
若所述第一签名信息与所述第二签名信息相同,则所述节点确定所述文件分片数据完整;
将所述各源节点的完整文件分片数据进行组合,得到待分发文件。
2.根据权利要求1所述的文件分发方法,其特征在于,还包括:
所述节点接收下一级节点发送的所述文件分片数据的所述下载请求;
所述节点将所述文件分片数据反馈给所述下一级节点。
3.根据权利要求2所述的文件分发方法,其特征在于,所述节点将所述文件分片数据反馈给所述下一级节点之后,还包括:
所述节点将缓存的所述文件分片数据进行删除。
4.根据权利要求1所述的文件分发方法,其特征在于,当所述节点为所述CDN中的中心节点时,所述节点根据每个所述源节点的IP地址并发地向多个所述源节点发送下载请求,包括:
所述中心节点根据各源节点的IP地址并发地向各源站发送所述文件分片数据的第一下载请求;其中,所述第一下载请求针对不同的源站所请求的文件分片数据不同;所述源站为所述中心节点的源节点;
所述节点接收各源节点根据所述下载请求返回的所述文件分片数据,包括:
所述中心节点接收每个源站根据所述第一下载请求返回的所述文件分片数据;
所述中心节点缓存所述文件分片数据。
5.根据权利要求1所述的文件分发方法,其特征在于,当所述节点为所述CDN中的边缘节点时,所述节点根据每个所述源节点的IP地址并发地向多个所述源节点发送下载请求,包括:
所述边缘节点根据各中心节点的IP地址并发地向各中心节点发送所述文件分片数据的第二下载请求,其中,所述第二下载请求针对不同的中心节点所请求的文件分片数据不同;所述中心节点为所述边缘节点对应的所述源节点;
所述节点接收各源节点根据所述下载请求返回的所述文件分片数据,包括:
所述边缘节点接收每个中心节点根据所述第二下载请求返回的所述文件分片数据;
所述边缘节点将所述文件分片数据存储到本地的存储设备中。
6.一种文件分发节点,其特征在于,设置在CDN中用于在所述CDN中分发文件,所述文件分发节点包括:
连接模块,用于与多个源节点同时建立连接;其中,每个源节点上存储有待分发文件;所述待分发文件包括多个文件分片数据;
发送模块,用于根据每个所述源节点的网际协议IP地址并发地向多个所述源节点发送下载请求;其中,所述下载请求用于下载所述待分发文件所包括的文件分片数据,针对不同的源节点所请求的文件分片数据不同;
接收模块,用于接收分发子任务,并从所述分发子任务中解析出每个所述源节点的IP地址,其中,所述分发子任务包括所述文件分片数据所在的源节点的标识;接收各源节点根据所述下载请求返回的所述文件分片数据;其中,不同的所述源节点所返回的所述文件分片数据不同,一个所述源节点针对一次所述下载请求返回一个所述文件分片数据;当所述待分发文件所包括的所述文件分片数据的数量超过所述源节点的数量时,所述节点继续并发地向所述多个源节点发送所述下载请求,并继续接收每个所述源节点根据所述下载请求返回的所述文件分片数据;当所述节点从任意一个所述源节点接收所述文件分片数据出现异常时,所述节点从出现异常的所述源节点以外的源节点中确定一个备选源节点;所述节点向所述备选源节点发送所述下载请求,并接收所述备选源节点返回的出现异常的所述文件分片数据;
所述文件分发节点,还用于对所述文件分片数据进行哈希计算,得到所述文件分片数据的第一签名信息;将所述第一签名信息与从所述源节点接收到的文件分片数据的第二签名信息进行比较;若所述第一签名信息与所述第二签名信息相同,则所述节点确定所述文件分片数据完整;将所述各源节点的完整文件分片数据进行组合,得到待分发文件。
7.根据权利要求6所述的文件分发节点,其特征在于,所述接收模块,还用于接收下一级节点发送的所述文件分片数据的所述下载请求;
所述发送模块,还用于将所述文件分片数据反馈给所述下一级节点。
8.根据权利要求7所述的文件分发节点,其特征在于,还包括:
删除模块,用于在将所述文件分片数据反馈给所述下一级节点之后,将缓存在本地内存中的所述文件分片数据进行删除。
9.根据权利要求6所述的文件分发节点,其特征在于,当所述节点为所述CDN中的中心节点时,所述发送模块 ,具体用于根据各源节点的IP地址并发地向各源站发送所述文件分片数据的第一下载请求;其中,所述第一下载请求针对不同的源站所请求的文件分片数据不同;所述源站为所述中心节点的源节点;
所述接收模块,具体用于接收每个源站根据所述第一下载请求返回的所述文件分片数据,以及缓存所述文件分片数据。
10.根据权利要求6所述的文件分发节点,其特征在于,当所述节点为所述CDN中的边缘节点时,则所述发送模块 ,具体用于根据各中心节点的IP地址并发地向各中心节点发送所述文件分片数据的第二下载请求,其中,所述第二下载请求针对不同的中心节点所请求的文件分片数据不同;所述中心节点为所述边缘节点对应的所述源节点;
所述接收模块,具体用于接收每个中心节点根据所述第二下载请求返回的所述文件分片数据,以及将所述文件分片数据存储到本地的存储设备中。
11.一种文件分发系统,其特征在于,包括:如权利要求6-10任一项所述的文件分发节点。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可执行指令,其特征在于,所述处理器执行所述计算机可执行指令时实现权利要求1-5任一项所述的文件分发方法。
13.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,该计算机可执行指令被处理器执行时实现权利要求1-5任一项所述的文件分发方法。
14.一种计算机程序产品,包括计算机程序或指令,所述计算机程序产品存储于计算机可读存储介质上,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至5任一项所述的文件分发方法。
CN201710317447.5A 2017-05-05 2017-05-05 文件分发方法、节点及系统 Active CN106993054B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710317447.5A CN106993054B (zh) 2017-05-05 2017-05-05 文件分发方法、节点及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710317447.5A CN106993054B (zh) 2017-05-05 2017-05-05 文件分发方法、节点及系统

Publications (2)

Publication Number Publication Date
CN106993054A CN106993054A (zh) 2017-07-28
CN106993054B true CN106993054B (zh) 2022-06-03

Family

ID=59418612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710317447.5A Active CN106993054B (zh) 2017-05-05 2017-05-05 文件分发方法、节点及系统

Country Status (1)

Country Link
CN (1) CN106993054B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108173953A (zh) * 2017-12-29 2018-06-15 北京奇虎科技有限公司 一种基于内容分发网络cdn的文件分发方法和装置
CN108234638A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种基于内容分发网络cdn的数据处理方法和装置
CN108174235B (zh) * 2018-01-17 2022-05-17 北京奇艺世纪科技有限公司 一种视频上线方法和装置
CN108462755B (zh) * 2018-03-28 2020-06-05 网宿科技股份有限公司 一种下载数据资源的方法和系统
CN108600859B (zh) * 2018-03-30 2020-10-20 深圳市网心科技有限公司 一种数据切片方法及系统
CN110392074B (zh) * 2018-04-19 2022-05-17 贵州白山云科技股份有限公司 一种基于动态加速的调度方法及装置
CN110572422B (zh) * 2018-06-06 2024-07-19 北京京东尚科信息技术有限公司 数据下载方法、装置、设备和介质
CN108848530B (zh) 2018-07-10 2020-09-18 网宿科技股份有限公司 一种获取网络资源的方法、装置及调度服务器
CN109246185B (zh) * 2018-07-31 2021-03-12 Oppo广东移动通信有限公司 文件下载方法及相关产品
CN109600415B (zh) * 2018-10-23 2022-04-15 平安科技(深圳)有限公司 从多个源服务器获取目标数据的方法、装置和计算机设备
CN109688204B (zh) * 2018-12-05 2022-01-04 量子云未来(北京)信息科技有限公司 基于ndn网络的文件下载方法、节点、终端
CN109600373B (zh) * 2018-12-11 2021-08-06 深圳市网心科技有限公司 一种直播数据传输方法、装置、系统以及可读存储介质
CN109600453B (zh) * 2019-02-18 2021-10-08 广州卓远虚拟现实科技有限公司 一种分布式虚拟现实内容分发方法和系统
CN110601802B (zh) * 2019-08-16 2022-05-20 网宿科技股份有限公司 一种降低集群回父带宽的方法及装置
CN110784520A (zh) * 2019-09-30 2020-02-11 北京字节跳动网络技术有限公司 文件下载方法、装置及电子设备
CN110941845A (zh) * 2019-12-13 2020-03-31 北京锐安科技有限公司 一种文件获取方法、装置、计算机设备及存储介质
CN111565331B (zh) * 2020-04-10 2022-05-31 苏州鑫竹智能建筑科技有限公司 一种无线传输视频图像数据的优化方法
CN112653736B (zh) * 2020-12-10 2022-05-06 北京金山云网络技术有限公司 一种并行回源方法、装置及电子设备
CN114401260B (zh) * 2021-12-18 2024-05-28 杭州安恒信息技术股份有限公司 微服务集群文件分片上传方法、系统、设备和存储介质
CN115550246B (zh) * 2022-10-11 2024-09-03 派欧云计算(上海)有限公司 基于多路径的文件传输方法及装置
CN117240851B (zh) * 2023-11-14 2024-02-20 苏州元脑智能科技有限公司 一种数据分发方法、装置、设备以及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420603A (zh) * 2008-09-05 2009-04-29 中兴通讯股份有限公司 一种分片存储实现媒体分发、定位的方法及其流媒体系统
CN102170475A (zh) * 2011-04-22 2011-08-31 中兴通讯股份有限公司 一种基于p2p的文件分发系统及分片方法
CN102244644A (zh) * 2010-05-11 2011-11-16 华为技术有限公司 多媒体文件发布方法和装置
CN103188279A (zh) * 2011-12-27 2013-07-03 中国电信股份有限公司 通过对等网络从多个邻居节点下载文件的方法和装置
CN103248695A (zh) * 2013-05-07 2013-08-14 北京奇虎科技有限公司 文件下载方法、系统及cdn中的服务器节点
CN103297472A (zh) * 2012-03-01 2013-09-11 上海盛霄云计算技术有限公司 一种应用于内容分发网络的重定向方法及内容分发节点
CN103634361A (zh) * 2012-08-28 2014-03-12 腾讯科技(深圳)有限公司 下载文件的方法和装置
CN104702646A (zh) * 2013-12-09 2015-06-10 腾讯科技(深圳)有限公司 数据传输方法及相关装置和通信系统
CN104904183A (zh) * 2012-12-14 2015-09-09 微软技术许可有限责任公司 内容获取源选择和管理
CN104935648A (zh) * 2015-06-03 2015-09-23 北京快网科技有限公司 一种高性价比的cdn系统及文件预推、分片缓存的方法
CN105208059A (zh) * 2014-06-19 2015-12-30 腾讯科技(深圳)有限公司 一种内容分发方法、终端、服务器,及系统
CN105792021A (zh) * 2014-12-26 2016-07-20 乐视网信息技术(北京)股份有限公司 一种视频流的传输方法及装置
CN105847393A (zh) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 内容分发的方法、装置及系统
CN106330997A (zh) * 2015-06-19 2017-01-11 网宿科技股份有限公司 一种用于移动终端应用的内容分发的方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080189429A1 (en) * 2007-02-02 2008-08-07 Sony Corporation Apparatus and method for peer-to-peer streaming
CN103684809B (zh) * 2012-08-30 2018-02-27 腾讯科技(深圳)有限公司 一种网络资源管理方法、装置、客户端及系统

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420603A (zh) * 2008-09-05 2009-04-29 中兴通讯股份有限公司 一种分片存储实现媒体分发、定位的方法及其流媒体系统
CN102244644A (zh) * 2010-05-11 2011-11-16 华为技术有限公司 多媒体文件发布方法和装置
CN102170475A (zh) * 2011-04-22 2011-08-31 中兴通讯股份有限公司 一种基于p2p的文件分发系统及分片方法
CN103188279A (zh) * 2011-12-27 2013-07-03 中国电信股份有限公司 通过对等网络从多个邻居节点下载文件的方法和装置
CN103297472A (zh) * 2012-03-01 2013-09-11 上海盛霄云计算技术有限公司 一种应用于内容分发网络的重定向方法及内容分发节点
CN103634361A (zh) * 2012-08-28 2014-03-12 腾讯科技(深圳)有限公司 下载文件的方法和装置
CN104904183A (zh) * 2012-12-14 2015-09-09 微软技术许可有限责任公司 内容获取源选择和管理
CN103248695A (zh) * 2013-05-07 2013-08-14 北京奇虎科技有限公司 文件下载方法、系统及cdn中的服务器节点
CN104702646A (zh) * 2013-12-09 2015-06-10 腾讯科技(深圳)有限公司 数据传输方法及相关装置和通信系统
CN105208059A (zh) * 2014-06-19 2015-12-30 腾讯科技(深圳)有限公司 一种内容分发方法、终端、服务器,及系统
CN105792021A (zh) * 2014-12-26 2016-07-20 乐视网信息技术(北京)股份有限公司 一种视频流的传输方法及装置
CN104935648A (zh) * 2015-06-03 2015-09-23 北京快网科技有限公司 一种高性价比的cdn系统及文件预推、分片缓存的方法
CN106330997A (zh) * 2015-06-19 2017-01-11 网宿科技股份有限公司 一种用于移动终端应用的内容分发的方法和系统
CN105847393A (zh) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 内容分发的方法、装置及系统

Also Published As

Publication number Publication date
CN106993054A (zh) 2017-07-28

Similar Documents

Publication Publication Date Title
CN106993054B (zh) 文件分发方法、节点及系统
US11470148B2 (en) Content delivery network
US11297140B2 (en) Point of presence based data uploading
US9860335B2 (en) Method, device and system for delivering live content
JP6444398B2 (ja) セグメント化コンテンツのストリーミング
US20190044850A1 (en) Dynamically optimizing content delivery using manifest chunking
US8489760B2 (en) Media file storage format and adaptive delivery system
US9838724B2 (en) Media distribution network for live streaming
JP5068858B2 (ja) スーパーピアトゥピアネットワークのユーザによって発信されたコンテンツデータパッケージを配信する方法
US20170155695A1 (en) Method, device and system for uploading live video
US20140188801A1 (en) Method and system for intelligent load balancing
CN111464661B (zh) 负载均衡方法、装置、代理设备、缓存设备及服务节点
WO2008025297A1 (fr) Procédé de téléchargement de fichiers selon la technique p2p (pair à pair) et système de téléchargement p2p
US10129358B2 (en) Partitioned serialized caching and delivery of large files
US20130144994A1 (en) Content Delivery Network and Method for Content Delivery
WO2012075970A1 (zh) 一种获取媒体内容的方法、设备及系统
US20120030303A1 (en) Methods and arrangements for prioritization in a peer-to-peer network
US8775456B2 (en) System and method for scheduled and collaborative distribution of software and data to many thousands of clients over a network using dynamic virtual proxies
CN107645475B (zh) 异质网络中的文件资源分发系统与方法
WO2016180284A1 (zh) 服务节点分配方法、装置、cdn管理服务器及系统
CN110545453B (zh) 内容分发网络的内容发布方法、装置和系统
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
US9112934B2 (en) Apparatus and method for configuring on-demand content delivering overlay network
US20140149499A1 (en) Remote request fulfillment and delivery
KR20140144640A (ko) LTE RAN, eNB 및 통신 시스템에서의 콘텐츠 전달 방법

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