CN108023812B - 云计算系统的内容分发方法及装置、计算节点及系统 - Google Patents
云计算系统的内容分发方法及装置、计算节点及系统 Download PDFInfo
- Publication number
- CN108023812B CN108023812B CN201610931630.XA CN201610931630A CN108023812B CN 108023812 B CN108023812 B CN 108023812B CN 201610931630 A CN201610931630 A CN 201610931630A CN 108023812 B CN108023812 B CN 108023812B
- Authority
- CN
- China
- Prior art keywords
- content
- distribution
- node
- content distribution
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000006855 networking Effects 0.000 claims abstract description 67
- 238000012545 processing Methods 0.000 claims description 74
- 238000011084 recovery Methods 0.000 claims description 55
- 238000011144 upstream manufacturing Methods 0.000 claims description 43
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 45
- 238000013461 design Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 27
- 238000005516 engineering process Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Abstract
本发明提供一种云计算系统的内容分发方法及装置、计算节点及系统,该方法包括:接收内容分发指示,该内容分发指示中包括待分发内容的标识以及分发目标节点列表,该分发目标节点列表中包括至少一个分发目标节点的标识。根据物理组网拓扑、系统中各节点的状态流量以及分发目标节点列表,生成内容分发路径,该内容分发路径为由首节点和至少一个分发目标节点所构成的单向链式分发路径。向至少一个分发目标节点发送内容分发消息。该方法能够保证内容分发路径中每个节点连接的节点数量由分发控制器来控制,因此,能够实现各分发目标节点的出入带宽的平衡。并且能够保证每次进行内容分发时所生成的内容分发路径都是最优分发路径。
Description
技术领域
本发明涉及通信技术,尤其涉及一种云计算系统的内容分发方法及装置、计算节点及系统。
背景技术
云计算起源于大型互联网企业,是指IT基础设施的交付和使用模式,通过网络以按需、易扩展的方式获得所需的资源,例如硬件、平台、软件等。虚拟化技术是云计算领域的主要支撑技术,一个云计算中心中包括多个物理服务器,每个物理服务器可以被划分为多个虚拟机,每个虚拟机具有独立的计算和处理能力。在云计算系统中,可能存在将相同的内容分发给众多虚拟机的场景。例如,为众多的虚拟机分发同一个操作系统补丁。一般情况下,一个云计算系统中的物理服务器的数量都能够达到十万台,相应地,云计算系统中的虚拟机数量更加庞大,一般可以达到数十万或者数百万,在此情况下,如何使得数量庞大的虚拟机快速地下载到分发的内容,是云计算系统在内容分发时需要解决的重要问题。
现有技术中,采用点对点(Peer to Peer,简称P2P)技术来提高下载速度,P2P是一种没有集中控制的分布式系统,系统中的每个节点既是客户机也是服务器。比特(BitTorrent,简称BT)分发技术是典型的P2P分发技术,具体地,BT系统中包括一个中心索引服务器以及多个节点,中心索引服务器接收并统计所有下载者的IP地址和端口号等信息,并且向每个下载终端发送一份节点列表,下载终端可以与这个节点列表中的节点建立连接,并从建立连接的节点处下载数据。下载终端可以周期性地连接中心索引服务器,向中心索引服务器告知自己所下载的内容。即,在BT系统中,每个节点都可以与多个其他节点建立连接,并从所连接的其他节点处下载数据,并且,要求节点在下载数据时占用尽可能多的带宽,以提高下载的速度。
但是,现有技术存在系统流量不可预知的问题,因此,不能满足云计算系统对于系统流量控制的要求。
发明内容
本发明实施例提供一种云计算系统的内容分发方法及装置、计算节点及系统,用于解决现有技术中云计算系统的内容分发时所存在的系统流量不可预知的问题。
本发明实施例第一方面提供一种云计算系统的内容分发方法,该方法以分发控制器的角度进行描述,该方法包括:
首先,接收内容分发指示,该内容分发指示中包括待分发内容的标识以及分发目标节点列表,该分发目标节点列表中包括至少一个分发目标节点的标识。
其次,根据云计算系统的物理组网拓扑云计算系统中各节点的状态流量以及分发目标节点列表,生成内容分发路径,其中,该内容分发路径为由首节点和至少一个分发目标节点所构成的单向链式分发路径,该首节点为云计算系统中具有完整的待分发内容的节点。
进而,向上述至少一个分发目标节点发送内容分发消息,该内容分发消息中包括内容分发路径以及待分发内容的标识,以使至少一个分发目标节点根据内容分发路径以及待分发内容的标识获取并分发待分发内容。
使用该方法在进行内容分发时,根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及分发目标节点列表来生成内容分发路径,进而按照该内容分发路径来进行内容分发。首先,该内容分发路径根据云计算系统的物理组网拓扑信息以及云计算系统中各节点的状态流量来生成,因此能够保证该内容分发路径中的分发目标节点之间不存在无序交叉连接,以及保证该内容分发路径中的各分发目标节点的实际流量在可控范围内。其次,该内容分发路径为单向链式路径,即,该内容分发路径中每个节点连接的节点数量由分发控制器来控制,因此,能够实现各分发目标节点的出入带宽的平衡。因此,使用本方法能够保证所选的内容分发路径为最优内容分发路径。另外,该方法在每次接收到内容分发指示时,都可以根据云计算系统的物理组网拓扑信息以及云计算系统中各节点的状态流量来生成内容分发路径,因此,能够保证每次进行内容分发时所生成的内容分发路径都是最优分发路径。进而,基于上述最优的内容分发路径,就可以完全实现对于内容分发过程中的流量控制。
在一种可能的设计中,上述内容分发消息中还包括至少一个分发目标节点的指定分发速率,该指定分发速率是在生成内容分发路径时根据至少一个分发目标节点的状态流量确定的。
在一种可能的设计中,该方法还包括:
接收至少一个分发目标节点上报的准备就绪状态,并根据该准备就绪状态,向至少一个分发目标节点发送内容接收与转发指示。
在一种可能的设计中,在生成内容分发路径时,可以通过以下方式来生成:
根据物理组网拓扑以及分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为内容分发路径中的相邻节点;
确定云计算系统中具有完整的待分发内容的节点;
根据云计算系统中各节点的状态流量,将具有完整的待分发内容的节点中当前流量耗费最低的节点作为内容分发路径中的首节点。
在一种可能的设计中,当云计算系统中存在多个具有完整的待分发内容的节点时,可以通过以下方法来生成内容分发路径:
根据物理组网拓扑以及分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为内容分发路径中的相邻节点;
确定云计算系统中具有完整的待分发内容的多个节点;
生成多条内容分发路径,其中,所生成的内容分发路径的条数小于或等于所述具有完整的所述待分发内容的节点的个数,每条所述内容分发路径中的首节点为所述具有完整的所述待分发内容的节点中的其中一个节点。
在一种可能的设计中,还包括:
设置所述内容分发路径中的预设节点数量;
若所述内容分发路径中的节点数量大于所述预设节点数量,则从所述内容分发路径中选择分叉节点,并根据所述分叉节点将所述内容分发路径拆分为第一内容分发路径以及第二内容分发路径;
其中,所述第一内容分发路径和所述第二内容分发路径的首节点相同,所述第一内容分发路径和所述第二内容分发路径以所述分叉节点为分界,所述分叉节点为所述内容分发路径中当前流量耗费最低的节点。
在一种可能的设计中,还包括:
确定所述内容分发路径中的故障节点;
将所述故障节点从所述内容分发路径中删除,并将所述故障节点的下游节点作为所述故障节点上游节点的下游节点。
在一种可能的设计中,上述确定内容分发路径中的故障节点的第一种方式为:
若未接收到第一分发目标节点发送的对于所述内容分发消息的响应消息,则确定所述第一分发目标节点为所述内容分发路径中的一个故障节点,其中,所述第一分发目标节点为所述内容分发路径中的任意一个分发目标节点。
在一种可能的设计中,上述确定内容分发路径中的故障节点的第二种方式为:
根据所述至少一个分发目标节点所上报的状态流量以及分发日志,确定所述内容分发路径中的故障节点。
在一种可能的设计中,上述确定内容分发路径中的故障节点的第三种方式为:
若接收到第二分发目标节点发送的分发失败消息,则确定所述第二分发目标节点的下游节点为所述内容分发路径中的一个故障节点,其中,所述第二分发目标节点为所述内容分发路径中除最后一个分发目标节点之外的任意一个分发目标节点。
在一种可能的设计中,上述方法还包括:
获取所述内容分发路径中的恢复节点,所述恢复节点为由于故障从所述内容分发路径中删除的节点;
将所述恢复节点增加到所述内容分发路径中,以使所述恢复节点从所述恢复节点的上游节点获取分发内容,其中,所述恢复节点通过主动请求方式从所述恢复节点的上游节点获取分发内容。
在一种可能的设计中,上述方法还包括:
方法还包括:
接收所述至少一个分发目标节点周期性上报的分发进度、分发日志、分发结果以及状态流量;
向终端发送所述分发进度、所述分发日志、所述分发结果以及所述状态流量。
在一种可能的设计中,在接收所述分发目标节点周期性上报的分发进度、分发日志、分发结果以及状态流量时,使用HTTPS端口接收所述分发目标节点周期性上报的分发进度、分发日志、分发结果以及状态流量。
在一种可能的设计中,在向所述分发目标节点发送内容分发消息时,使用HTTPS端口向所述分发目标节点发送内容分发消息。
本发明实施例第二方面提供一种云计算系统的内容分发方法,该方法站在计算节点的角度进行描述,该方法包括:
首先,接收内容分发消息,该内容分发消息中包括内容分发路径以及待分发内容的标识,其中,内容分发路径由分发控制器根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及分发目标节点列表所生成,内容分发路径为由首节点和至少一个分发目标节点所构成的单向链式分发路径,首节点为云计算系统中具有完整的所述待分发内容的节点。
其次,根据待分发内容的标识,从首节点中获取待分发内容的元数据,待分发内容的元数据中包括待分发内容的数字签名、块索引以及块哈希值。
进而,根据内容分发路径以及待分发内容的元数据,进行内容分发处理。
在一种可能的设计中,上述内容分发消息中还包括分发目标节点的指定分发速率;相应地,在根据内容分发路径以及待分发内容的元数据,进行内容分发处理时,可以根据内容分发路径以及待分发内容的元数据,按照指定分发速率进行内容分发处理。
在一种可能的设计中,该方法还包括:
向分发控制器上报准备就绪状态;
接收分发控制器发送的内容接收与转发指示。
在一种可能的设计中,在根据所述待内容分发路径以及所述待分发内容的元数据,进行内容分发处理时,具体可以通过下述方法来进行:
接收上游节点发送的块;
根据所述待分发内容的元数据中的块索引以及块哈希值,对所述块进行哈希校验,获取校验结果;
若所述校验结果为校验成功,则保存所述块,并按照所述指定分发速率将所述块发送给所述内容分发路径中的下游节点。
在一种可能的设计中,在按照所述指定分发速率将所述块发送给所述内容分发路径中的下游节点时,具体可以为:
若发送失败,则进行重新发送;
若重新发送失败的次数达到预设次数,则向分发控制器发送分发失败消息,以使所述分发控制器根据所述下游节点的状态重新建立内容分发路径。
在一种可能的设计中,还包括:
若接收到所述待分发内容对应的所有块,则根据所述数字签名对所述待分发内容进行数字签名检查,并将数字签名检查的结果上报给分发控制器。
在一种可能的设计中,还包括:
获取分发进度、分发日志、分发结果以及状态流量;
向所述分发控制器上报所述分发进度、分发日志、分发结果以及状态流量。
在一种可能的设计中,在向所述分发控制器上报所述分发进度、分发日志、分发结果以及状态流量时,可以使用HTTPS协议向所述分发控制器上报所述分发进度、分发日志、分发结果以及状态流量。
本发明实施例第三方面提供一种内容分发方法,该方法站在内容仓库的家角度进行描述,该方法包括:
接收创建元数据指示,该创建元数据指示中包括待分发内容的标识;
根据待分发内容的标识,生成待分发内容的元数据。
在一种可能的设计中,在根据所述待分发内容的标识,生成所述待分发内容的元数据时,具体可以通过下述方法来执行:
根据所述待分发内容标识,判断所述待分发内容是否存在,若是,则:
对所述待分发内容进行部分划分以及块划分,获取部分数量、部分大小、块大小以及块索引;以及,
对所述待分发内容进行数字签名处理,获取数字签名;以及,
对划分的每个块进行哈希校验,获取每个块的块哈希值;
将所述部分数量、每部分大小、块大小、块索引、数字签名以及每个块的块哈希值写入所述待分发内容的元数据中。
本发明第四方面提供一种内容分发装置,包括:
接收模块,用于接收内容分发指示,所述内容分发指示中包括待分发内容的标识以及分发目标节点列表,所述分发目标节点列表中包括至少一个分发目标节点的标识;
处理模块,用于根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及所述分发目标节点列表,生成内容分发路径,其中,所述内容分发路径为由首节点和所述至少一个分发目标节点所构成的单向链式分发路径,所述首节点为云计算系统中具有完整的所述待分发内容的节点;
发送模块,用于向所述至少一个分发目标节点发送内容分发消息,所述内容分发消息中包括所述内容分发路径以及所述待分发内容的标识,以使所述至少一个分发目标节点根据所述内容分发路径以及所述待分发内容的标识获取并分发所述待分发内容。
在一种可能的设计中,所述内容分发消息中还包括所述至少一个分发目标节点的指定分发速率,所述指定分发速率是在生成所述内容分发路径时根据所述至少一个分发目标节点的状态流量确定的。
在一种可能的设计中,所述接收模块,还用于接收所述至少一个分发目标节点上报的准备就绪状态;
所述发送模块,还用于根据所述准备就绪状态,向所述至少一个分发目标节点发送内容接收与转发指示。
在一种可能的设计中,所述接收模块,还用于接收所述至少一个分发目标节点上报的准备就绪状态;
所述发送模块,还用于根据所述准备就绪状态,向所述至少一个分发目标节点发送内容接收与转发指示。
在一种可能的设计中,所述处理模块还用于:
根据物理组网拓扑以及所述分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为所述内容分发路径中的相邻节点;以及,
确定系统中具有完整的所述待分发内容的多个节点;以及,
生成多条内容分发路径,其中,所生成的内容分发路径的条数小于或等于所述具有完整的所述待分发内容的节点的个数,每条所述内容分发路径中的首节点为所述具有完整的所述待分发内容的节点中的其中一个节点。
在一种可能的设计中,所述处理模块还用于:
设置所述内容分发路径中的预设节点数量;以及,
若所述内容分发路径中的节点数量大于所述预设节点数量,则从所述内容分发路径中选择分叉节点,并根据所述分叉节点将所述内容分发路径拆分为第一内容分发路径以及第二内容分发路径;
其中,所述第一内容分发路径和所述第二内容分发路径的首节点相同,所述第一内容分发路径和所述第二内容分发路径以所述分叉节点为分界,所述分叉节点为所述内容分发路径中当前流量耗费最低的节点。
在一种可能的设计中,所述处理模块还用于:
确定所述内容分发路径中的故障节点;以及,
将所述故障节点从所述内容分发路径中删除,并将所述故障节点的下游节点作为所述故障节点上游节点的下游节点。
在一种可能的设计中,所述处理模块还包括:
第四确定单元,用于在未接收到第一分发目标节点发送的对于所述内容分发消息的响应消息时,确定所述第一分发目标节点为所述内容分发路径中的一个故障节点,其中,所述第一分发目标节点为所述内容分发路径中的任意一个分发目标节点。
在一种可能的设计中,所述处理模块还包括:
第五确定单元,用于根据所述至少一个分发目标节点所上报的状态流量以及分发日志,确定所述内容分发路径中的故障节点。
在一种可能的设计中,所述处理模块还包括:
第六确定单元,用于在接收到第二分发目标节点发送的分发失败消息时,确定所述第二分发目标节点的下游节点为所述内容分发路径中的一个故障节点,其中,所述第二分发目标节点为所述内容分发路径中除最后一个分发目标节点之外的任意一个分发目标节点。
在一种可能的设计中,所述处理模块还用于:
获取所述内容分发路径中的恢复节点,所述恢复节点为由于故障从所述内容分发路径中删除的节点;以及,
将所述恢复节点增加到所述内容分发路径中,以使所述恢复节点从所述恢复节点的上游节点获取分发内容,其中,所述恢复节点通过主动请求方式从所述恢复节点的上游节点获取分发内容。
在一种可能的设计中,所述接收模块,还用于接收所述至少一个分发目标节点周期性上报的分发进度、分发日志、分发结果以及状态流量;
所述发送模块,还用于向终端发送所述分发进度、所述分发日志、所述分发结果以及所述状态流量。
本发明实施例第五方面提供一种内容分发装置,包括:
接收模块,用于接收内容分发消息,所述内容分发消息中包括内容分发路径以及待分发内容的标识,其中,所述内容分发路径由分发控制器根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及分发目标节点列表所生成,所述内容分发路径为由首节点和所述至少一个分发目标节点所构成的单向链式分发路径,所述首节点为系统中具有完整的所述待分发内容的节点;
处理模块,用于根据所述待分发内容的标识,从首节点中获取所述待分发内容的元数据,所述待分发内容的元数据中包括所述待分发内容的数字签名、块索引以及块哈希值;
所述处理模块,还用于根据所述内容分发路径以及所述待分发内容的元数据,进行内容分发处理。
在一种可能的设计中,所述内容分发消息中还包括分发目标节点的指定分发速率;
所述处理模块,具体用于根据所述内容分发路径以及所述待分发内容的元数据,按照所述指定分发速率进行内容分发处理。
在一种可能的设计中,还包括:
发送模块,用于向分发控制器上报准备就绪状态;
所述接收模块,还用于接收所述分发控制器发送的内容接收与转发指示。
在一种可能的设计中,所述处理模块包括:
接收单元,用于接收上游节点发送的块;
校验单元,用于根据所述待分发内容的元数据中的块索引以及块哈希值,对所述块进行哈希校验,获取校验结果;
发送单元,用于在所述校验结果为校验成功时,保存所述块,并按照所述指定分发速率将所述块发送给所述内容分发路径中的下游节点。
在一种可能的设计中,所述发送单元具体用于:
若发送失败,则进行重新发送;以及,
若重新发送失败的次数达到预设次数,则向分发控制器发送分发失败消息,以使所述分发控制器根据所述下游节点的状态重新建立内容分发路径。
在一种可能的设计中,所述处理模块,还用于在接收到所述待分发内容对应的所有块时,根据所述数字签名对所述待分发内容进行数字签名检查,并将数字签名检查的结果上报给分发控制器。
在一种可能的设计中,所述处理模块,还用于获取分发进度、分发日志、分发结果以及状态流量;
所述发送模块,还用于向所述分发控制器上报所述分发进度、分发日志、分发结果以及状态流量。
本发明实施例第六方面提供一种内容分发装置,包括:
接收模块,用于接收创建元数据指示,所述创建元数据指示中包括待分发内容的标识;
处理模块,用于根据所述待分发内容的标识,生成所述待分发内容的元数据。
在一种可能的设计中,处理模块包括:
划分单元,用于在根据所述待分发内容标识,判断所述待分发内容存在之后,对所述待分发内容进行部分划分以及块划分,获取部分数量、部分大小、块大小以及块索引。
处理单元,用于对待分发内容进行数字签名处理,获取数字签名。
校验单元,用于对划分的每个块进行哈希校验,获取每个块的块哈希值。
写入单元,用于将部分数量、每部分大小、块大小、块索引、数字签名以及每个块的块哈希值写入待分发内容的元数据中。
本发明实施例第七方面提供一种分发控制器,包括:
存储器和处理器。
存储器用于存储程序指令,处理器用于调用存储器中的程序指令,执行下述方法:
接收内容分发指示,所述内容分发指示中包括待分发内容的标识以及分发目标节点列表,所述分发目标节点列表中包括至少一个分发目标节点的标识;
根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及所述分发目标节点列表,生成内容分发路径,其中,所述内容分发路径为由首节点和所述至少一个分发目标节点所构成的单向链式分发路径,所述首节点为云计算系统中具有完整的所述待分发内容的节点;
向所述至少一个分发目标节点发送内容分发消息,所述内容分发消息中包括所述内容分发路径以及所述待分发内容的标识,以使所述至少一个分发目标节点根据所述内容分发路径以及所述待分发内容的标识获取并分发所述待分发内容。
本发明实施例第八方面提供一种计算节点,包括:
存储器和处理器。
存储器用于存储程序指令,处理器用于调用存储器中的程序指令,执行下述方法:
接收内容分发消息,所述内容分发消息中包括内容分发路径以及待分发内容的标识,其中,所述内容分发路径由分发控制器根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及分发目标节点列表所生成,所述内容分发路径为由首节点和所述至少一个分发目标节点所构成的单向链式分发路径,所述首节点为云计算系统中具有完整的所述待分发内容的节点;
根据所述待分发内容的标识,从首节点中获取所述待分发内容的元数据,所述待分发内容的元数据中包括所述待分发内容的数字签名、块索引以及块哈希值;
根据所述内容分发路径以及待分发内容的元数据,进行内容分发处理。
本发明实施例第九方面提供一种内容仓库,包括:
存储器和处理器。
存储器用于存储程序指令,处理器用于调用存储器中的程序指令,执行下述方法:
接收创建元数据指示,所述创建元数据指示中包括待分发内容的标识;
根据所述待分发内容的标识,生成所述待分发内容的元数据。
本发明第十方面提供一种内容分发系统,包括前述的分发控制器、计算节点以及内容仓库。
背景技术中,对于一次内容分发,并不存在确定的分发路径,而是由分发目标节点在下载的过程中动态地与其他节点建立连接,为了更有效的交换内容,一个分发目标节点可能建立众多的连接,可能导致流量的突然迸发,因此,背景技术无法实现有效的流量控制。其次,下载文件块时不是按照顺序下载或上传,下载前首先在硬盘写入要下载文件容量相同的文件,然后通过填充的方法随机写入数据,每次下载需要对所有块进行校验计算,下载与上传过程中同时进行读和写操作,对硬盘资源占用高。因此,不能保证内容分发的高效性。另外背景技术中拓扑构建需要索引服务器的支持,节点加入系统的次序对形成拓扑有着极其重要的影响,当有当节点加入才能启动下载与上传,如果存在节点下载完成就退出时,就可能出现“种子”节点数为零,这会导致部分节点下载速度放慢,甚至无法完整下载所有文件块,因此,背景技术也无法保证分发内容的完整性。
本发明实施例所提供的方案,相比于现有技术,能够实现对于内容分发过程中的流量控制。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的内容分发方法的系统架构图;
图2为本发明实施例提供的内容分发方法实施例一的交互流程图;
图3为云计算系统的中心物理服务器的一个示例;
图4为云计算系统的中心物理服务器的内部连接示例;
图5为单一链式路径的示意图;
图6为多条内容分发路径并行分发的示意图;
图7为内容分发路径进行分叉的示意图;
图8为从内容分发路径中删除故障节点的示意图;
图9为将恢复节点重新加入内容分发路径的示意图;
图10为内容分发到多个子网的示意图;
图11为本发明提供实施例二的生成元数据流程示意图;
图12为待分发内容层次划分的示意图;
图13为待分发内容的元数据的示例图;
图14为本发明实施例提供的内容分发方法实施例三的内容接收与转发流程示意图;
图15为本发明实施例提供的内容分发装置实施例一的模块结构图;
图16为本发明实施例提供的内容分发装置实施例二的模块结构图;
图17为本发明实施例提供的内容分发装置实施例三的模块结构图;
图18为本发明实施例提供的内容分发装置实施例四的模块结构图;
图19为本发明实施例提供的内容分发装置实施例五的模块结构图;
图20为本发明实施例提供的内容分发装置实施例一的模块结构图;
图21为本发明实施例提供的内容分发装置实施例二的模块结构图;
图22为本发明实施例提供的内容分发装置实施例三的模块结构图;
图23为本发明实施例提供的内容分发装置实施例一的模块结构图;
图24为本发明实施例提供的内容分发装置实施例二的模块结构图;
图25为本发明实施例提供的分发控制器实施例一的实体框图;
图26为本发明实施例提供的计算节点实施例一的实体框图;
图27为本发明实施例提供的内容仓库实施例一的实体框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在具体描述本发明实施例之前,首先对本发明实施例所涉及到几个概念进行解释:
1、系统、节点、物理组网拓扑
本发明实施例所涉及的系统是由一群相互独立的,通过高速网络互联的计算节点所组成的系统,计算节点之间需要共享或分发相同的内容信息。系统在部署形态上可能是分布式部署与集中式部署。
举例来说,系统可以是云计算系统,云计算系统中的每个虚拟机可以看作是系统中的一个计算节点,虚拟机之间需要共享或者分发相同的内容信息。
需要说明的是,本发明实施例所涉及的系统并不限于某个特定的系统,只要是其内部的计算节点需要共享或分发相同的内容信息的系统,都可以使用本发明实施例所提供的方法。
为描述方便,本发明实施例中统一将“计算节点”称为“节点”。
对于每个系统来说都对应一个物理组网,系统的物理组网拓扑是指系统所对应的物理组网中各物理设备之间的位置以及连接关系等。
2、相邻节点、上游节点、下游节点
在本发明实施例中,相邻节点是指在内容分发路径中位置相邻的两个节点,以图1中的节点1、节点2和节点3为例,图1中的分发路径1中包括节点1、节点2和节点3,其中,节点2是从节点1中接收分发内容,即节点2和节点1在分发路径1中的位置相邻,因此,节点1和节点2就是相邻节点,同时,节点3和节点2也是相邻节点。
而对于特定的节点2,节点1是其上游节点,节点3是其下游节点,即,对于特定的节点2,其从上游节点上接收分发内容,并将分发内容发送给卸下游节点。
3、流量及带宽
流量是指节点上行(发送)或下行(接收)的分发数据量,即节点在一段时间内的发送或接收的数据量。当前流量低的节点是指当前统计时间段内的发送与接收的数据量少的节点。
带宽指节点在规定时间内最大数据允许的传输速度,流量控制是通过限制节点分发过程中所占用带宽,节点的上下行的连接数,以及进行有区分的转发与丢包控制等技术手段来实现的。
图1为本发明实施例提供的内容分发方法的系统架构图,如图1所示,系统中包括分发控制器、内容仓库(content warehouse)以及多个节点。
分发控制器根据多个节点的状态、流量、物理位置等信息创建内容分发路径,并对多个节点进行控制,本发明实施例中,分发控制器和内容分发装置可以是相同的。内容仓库用于存储待分发的内容,并将待分发的内容发送给分发路径中的首节点。每条内容分发路径都为单向链式分发路径,每条分发路径中的首节点为包括完整分发内容的节点,由首节点开始按照顺序向分发路径中的节点分发内容。本发明的实施例中当某个用户需要将内容分发到云计算系统中分发目标节点时,分发控制器接收到需要分发内容的终端发送的内容分发指示,该内容分发指示中包括待分发内容的标识以及分发目标节点列表,分发目标节点列表中包括至少一个分发目标节点的标识;此时分发控制器确定了该内容需要被分发到哪些节点。分发控制器根据云计算系统的物理组网拓扑、各节点的状态流量以及分发目标节点列表,生成内容分发路径;然后将包含内容分发路径和待分发内容的标识的内容分发消息发送给各个分发目标节点。各个节点接收到了该内容分发路径,根据该内容分发路径,建立与上下游节点的内容链接通道,并开始进行内容分发。本发明实施例的具体的内容分发过程如图2所示。
图2为本发明实施例提供的内容分发方法实施例一的交互流程图,该交互流程可以利用图1中系统架构和其中的网元,来实现云计算系统的内容分发的目的,如图2所示,该方法包括:
S201、用户通过终端向内容仓库发布内容。
具体地,当存在新的可以分发的内容时,例如新生成操作系统补丁后,就可以由用户通过终端将这些新的可以分发的内容发布到内容仓库中去。终端可以直接使用内容仓库所提供的应用程序接口(Application Programming Interface,简称API)将内容发布到内容仓库中。当完成内容发布之后,这些内容就被保存在内容仓库中。
内容仓库存储分发的内容,内容仓库可以为该内容生成内容标识,该内容标识唯一标识该内容,并将该内容标识返回给终端。后续当终端或分发控制器需要从内容仓库获取内容时,都需要通过该内容标识进行区分。
S202、用户通过终端向分发控制器发送内容分发指示。
其中,上述内容分发指示包括待分发内容的标识以及分发目标节点列表,该分发目标节点列表包括至少一个分发目标节点的标识。
具体地,当用户希望将已经发布到内容仓库上的某个特定内容分发到特定的目标节点时,通过终端向分发控制器发送内容分发指示,这个内容分发指示中指示待分发内容的标识以及分发目标节点列表。
其中,待分发内容的标识用来指示分发控制器具体分发内容仓库中的哪个内容,该待分发内容的标识即为步骤S201中内容仓库为该内容所分配的标识。
另外,分发目标节点列表中包括至少一个分发目标节点的标识,分发目标节点是指用户希望将内容分发到目的节点,对于不同的内容,其需要分发到的节点可能并不相同,因此,用户通过终端每次向分发控制器发送内容分发指示时,都需要指定这些内容具体要发送到的目标节点。其中,分发目标节点的数量可以是一个,也可以是多个,本发明对其数量不做限制。每个分发目标节点的标识可以通过节点的名称、编号或者IP地址等来表示。
需要说明的是,上述步骤S201和S202在时间上可以不连续,用户可以先将内容发布到内容仓库,再选择合适的时间向分发控制器发送内容分发指示。
可选地,终端在向分发控制器发送内容分发指示之前,可以首先根据待分发内容的标识向内容仓库发送查询申请,内容仓库在接收到查询申请之后可以判断该标识对应的内容是否存在,如果存在,则向终端返回查询成功消息,终端可以继续向分发控制器发送内容分发指示;如果不存在,则向终端返回失败消息,终端仅可以提示用户该标识对应的内容存在,提醒用户重新确认内容标识,而不继续向分发控制器发送内容分发指示。
S203、分发控制器根据内容分发指示生成内容分发路径。
当分发控制器接收到终端发送的内容分发指示后,根据物理组网拓扑、系统中各节点的状态流量以及内容分发指示中所携带的分发目标节点列表,生成内容分发路径。其中物理组网拓扑表示了系统节点之间中当前的组网连接关系,系统中各节点的状态流量表示了各个节点状态流量情况,比如:节点状态流量可以为具体当前的流量负荷情况,或者节点当前的流量是否超阈值的情况。分发控制器每次接收到内容分发指示后,都结合这两种实际情况来选择出一条最能节省分发时间和节省系统流量的内容分发路径,从而保证内容分发的高效以及实现流量控制。
内容分发路径是由首节点和上述至少一个分发目标节点所构成的单向链式分发路径,该内容分发路径中的第一个节点为首节点,系统中具有完整的待分发内容的节点可以作为首节点。
具体地,分发控制器所生成的内容分发路径中包括了首节点和至少一个分发目标节点,这些节点之间的连接关系是单向链式的,举例来说,对于内容分发路径中的一个节点A,其只能从一个节点B上接收数据,并只能将接收到的数据发送一个节点C,而不能再向节点B发送数据,也不能从节点C接收数据。
另外,为提升内容分发的效率,内容在分发过程中可以使用分块分发,即将一个完整的待分发内容划分为多块,多块逐个进行分发,最后再组合为一个完整的内容。在内容分发过程中,系统中的有些节点就可能拥有待分发内容对应的所有块,即完整的待分发内容,这些节点就可以作为内容分发路径中的首节点。而有些节点可能拥有一部分块,这些节点就不能作为内容分发路径中的首节点。
分发控制器根据物理组网拓扑、系统中各节点的状态流量所生成的内容分发路径为单向链式路径,即,该内容分发路径中每个节点所连接的节点数量可以由分发控制器来控制。具体地,可以是单一链式路径、多条并发链式路径等形式,在不同的场景下,可以使用不同形式的链式路径,将会在本发明实施例的后续进行详细说明。
S204、分发控制器向内容仓库发送创建元数据指示。其中,该创建元数据指示中包括待分发内容的标识。
具体地,在分发控制器生成内容分发路径之后,分发控制器可以向内容仓库发送创建元数据指示,这个创建元数据指示用于指示内容仓库建立待分发内容的元数据(metadata),待分发内容的元数据是对待分发内容进行分块以及进行安全校验之后所形成的元数据,在内容转发过程中都需要根据元数据进行安全以及将在后续对其进行详细描述。
由于首节点中具有完整的待分发内容,即首节点在进行内容转发过程中已经使用了元数据,因此,首节点中也需要具有待分发内容的元数据。
S205、内容仓库根据分发控制器所发送的创建元数据指示,生成待分发内容的元数据。
具体地,在内容仓库接收到内容分发指示后,根据其中所携带的待分发内容的标识来确定出内容仓库中所保存的待分发内容,并生成待分发内容的元数据。在生成待分发内容的元数据之前,内容仓库首先判断是否已经生成了待分发内容的元数据,如果已经生成,则不再执行生成操作,而是可以直接使用现有的元数据。
其中,待分发内容的元数据包括待分发内容的数字签名、块索引以及块哈希值等,具体生成待分发内容的元数据的方法将在下文图11的介绍中进行详细的解释说明。
S206、分发控制器向内容分发路径中的所有分发目标节点发送内容分发消息。
其中,图2仅示出了分发控制器向节点1和节点2这两个分发目标节点发送内容分发消息,但是在实际分发过程中,每条内容分发路径中可能包括多个分发目标节点,分发控制器可以向内容分发路径中的所有分发目标节点都发送内容分发消息。
具体地,分发控制器所发送的内容分发消息中包括了上述的内容分发路径以及上述待分发内容的标识,当分发控制器将内容分发路径分发到各分发目标节点后,分发目标节点就可以根据内容分发路径确定从哪个节点接收内容,以及向哪个节点发送内容。另外,各分发目标节点还能够接收到待分发内容的标识,分发目标节点根据标识可以确定具体应该接收或者发送哪些内容。
优选地,分发控制器可以预先开启其上的HTTPS端口,HTTPS端口用于指令的安全传输。分发控制器可以使用HTTPS端口向分发目标节点发送内容分发消息,以提升内容分发时的安全性。
S207、分发目标节点建立内容连接通道。
当各分发目标节点接收到分发控制器发送的内容分发路径之后,就可以根据内容分发路径与其他分发目标节点之间建立连接通道。具体地,分发目标节点根据内容分发路径就可以确定自己应该与哪些节点进行连接。举例来说,如果内容分发路径中存在节点A->节点B->节点C这样的链,则说明在分发控制器要求在内容分发时,内容从节点A转发到节点B,再由节点B转发到节点C,则对于节点B来说,就应该同节点A以及节点C建立连接通道。
各分发目标节点可以预先开启TCP端口,TCP端口可以用于待分发内容的安全传输。在具体建立连接通道时,各分发目标节点与其相邻节点可以通过TCP端口建立连接通道。
S208、分发目标节点向首节点发送获取待分发内容的元数据的请求消息。
在各分发目标节点之间的内容连接通道建立完成的基础上,各分发目标节点可以从内容分发路径中的首节点中获取待分发内容的元数据。如前所述,内容分发路径中的首节点是具有完整分发内容的节点,除此之外,首节点中还保存有待分发内容的元数据,该元数据在首节点获取到完整分发内容之前就保存到首节点中。由于内容仓库中保存了完整分发内容以及待分发内容的元数据,因此,内容仓库可以作为首节点,图1也是以内容仓库作为首节点为例进行说明。但是,需要说明的是,一条内容分发路径中的首节点并不限于内容仓库,也可以是其他拥有完整分发内容以及待分发内容的元数据的节点。
S209、首节点向各分发目标节点发送获取待分发内容的元数据的请求消息的响应消息,该响应消息中包括待分发内容的元数据。
S210、分发目标节点向分发控制器上报准备就绪状态。
当各分发目标节点之间建立好了连接通道,并且已经从首节点获取到了待分发内容的元数据之后,各分发目标节点可以向分发控制器上报一条准备就绪的状态消息,用来通知分发控制器已经准备就绪,可以开始进行内容分发。各分发目标节点可以通过不同的端口向分发控制器发送准备就绪状体,例如:HTTPS端口。
S211、分发控制器向各分发目标节点发送内容接收与转发指示。
具体地,当分发控制器接收到各分发目标节点的准备就绪的状态消息后,就可以向各分发目标节点发送内容接收与转发指示,各分发目标节点只有在接收到该指示之后才可以开始进行内容接收与转发。
需要说明的是,对于一条内容分发路径,分发控制器需要接收到其中每个分发目标节点的准备就绪的状态信息之后才能够向各分发目标节点发送内容接收与转发指示。
优选地,分发控制器通过HTTPS端口向分发目标节点发送内容接收与转发指示。
S212、各分发目标节点之间执行内容接收与转发。
具体地,各分发目标节点按照前述所建立起来的内容连接通道,从与接收通道接收待分发内容,并通过转发通道将待分发内容转发出去。
分发目标节点进行内容接收与转发的具体过程将在下文图14的介绍中进行详细的解释说明。
优选地,分发目标节点之间通过TCP端口进行内容接收与转发。
S213、各分发目标节点获取分发进度、分发日志、分发结果以及状态流量。
具体地,各分发目标节点在在进行内容接收与转发的过程中,可以实时监控当前的接收转发进度,还可以获取内容接收转发过程中所生成的日志信息,还可以在接收转发,即分发完成后获取分发结果,例如成功接收了哪些块、内容转发是否成功等,还可以实时监控该分发目标节点当前的状态流量,其中,状态流量可以表示该分发目标节点的当前状态以及当前的流量,例如,当前处于连接正常状态或故障状态,当前的接收转发流量的具体值等。
其中,上述接收转发进度可以指接收分发目标节点已经接收的内容块的数量,或者已经接收的内容块占需要接收的所有内容块的比例等。
S214、各分发目标节点将分发进度、分发日志、分发结果以及状态流量上报给分发控制器。
优选地,各分发目标节点可以周期性地上报分发进度、分发日志、分发结果以及状态流量,分发控制器可以保存这些信息,并且对这些信息进行分析,根据分析结果来执行对应的操作。例如,分发控制器对各节点的状态流量进行分析,如果某个节点的状态流量超出一定的阈值,则分发控制器可以进行对应的流量控制;又例如,分发控制器可以对分发结果进行分析,如果分发结果为失败,则需要采用对应的策略重新进行分发等。
除此之外,分发控制器还可以将上述分发进度、分发日志、分发结果以及状态流量发送给终端。具体地,终端可以通过分发控制器所提供的API来查询上述信息,以便及时了解内容分发的情况并将这些情况反馈给用户。
优选地,分发目标节点通过HTTPS端口向分发控制器上报进度、日志、分发结果和状态流量。
相应地,分发控制器也通过HTTPS端口接收分发上报的进度、日志、分发结果和状态流量。
优选地,在此之后,当内容完成之后,各分发目标节点之间可以断开TCP连接,分发目标节点使用HTTPS端口向分发控制器上报分发完成,分发控制器也通过HTTPS端口接收分发目标节点上报的分发完成信息。
表2为分发控制器、内容仓库以及分发目标节点中所开启的端口及其功能的介绍。
表2
使用https安全端口来进行指令传输以及分发内容传输,能够保证内容分发过程中的安全性。使用tcp端口可以更加快速地传输内容,确保内容传输的效率.
本实施例中,在进行内容分发时,分发控制器根据物理组网拓扑、系统中各节点的状态流量以及分发目标节点列表来生成内容分发路径,进而按照该内容分发路径来进行内容分发。首先,该内容分发路径根据物理组网拓扑信息以及系统中各节点的状态流量来生成,因此能够保证该内容分发路径中的分发目标节点之间不存在无序交叉连接,以及保证该内容分发路径中的各分发目标节点的实际流量在可控范围内。其次,该内容分发路径为单向链式路径,即,该内容分发路径中每个节点连接的节点数量由分发控制器来控制,因此,能够实现各分发目标节点的出入带宽的平衡。综上,能够保证所选的内容分发路径为最优内容分发路径。另外,本实施例中,分发控制器在每次接收到内容分发指示时,都可以根据物理组网拓扑信息以及系统中各节点的状态流量来生成内容分发路径,因此,能够保证每次进行内容分发时所生成的内容分发路径都是最优分发路径。进而,基于上述最优的内容分发路径,就可以完全实现对于内容分发过程中的流量控制。
进一步地,本实施例中,由分发控制器根据分发任务情况生成内容分发路径,内容接收节点无须动态加入,分发控制器的调度简单,内容接收节点无须在分发过程中不断地查询可用路径。因此,还能够保证内容分发的高效性。
进一步地,本实施例中,分发路径是结合实际物理拓扑组网结构的单向链式路径,节点之间完全对等,不需查询所需文件块信息,当前节点接收到分发内容后,能立即转发给下一个节点,并且存在固定的首节点,因此,还能够保证内容分发的完整性。
另一实施例中,上述步骤S203中分发控制器在生成内容分发路径时,还可以指定内容分发路径中每个节点的最大分发速率。
具体地,分发控制器根据内容分发路径中每个节点当前的状态流量来确定每个节点的最大分发速率,即每个节点接收数据的速率,如果某个节点的当前流量较低,则可以将该节点的最大分发速率设置的大一些,如果某个节点的当前流量已经达到一定阈值,则需要将该节点的最大分发速率设置的小一些。
进而,分发控制器可以将上述最大分发速率携带在内容分发消息中发送给各节点。节点在进行内容分发时,根据该最大分发速率来约束内容分发。
本实施例中,通过为内容分发路径中的每个节点设置最大分发速率,可以保证每个节点的分发流量都是可控的,从而进一步保证内容分发时的流量控制。
以下详细介绍分发控制器生成内容分发路径的几种具体实施方法。
第一种具体实施方法:
分发控制器根据物理组网拓扑以及分发目标节点列表,将在物理组网中位于同一物理主机上的两个分发目标节点作为内容分发路径中的相邻节点。
以云计算系统为例,图3为云计算系统的中心物理服务器的一个示例,图4为云计算系统的中心物理服务器的内部连接示例,如图3和图4所示,该中心物理服务器可以采用刀片服务器,该刀片服务器的各部件如表1所示:
表1
1 | 机箱 |
2 | 计算节点,即物理主机 |
3 | 风扇模块 |
4 | 直通模块/交换模块(交换机) |
5 | 管理模块 |
6 | 电源模块 |
结合图3、图4及表1,图3中的刀片服务器的机箱中有16个计算节点,即16个物理主机,每个物理主机的配置为64核CPU,256G内存,每个物理主机能够虚拟出16~32个虚拟机。物理主机的网卡带宽是确定的,例如为10Gbps,并且整个机箱中的交换模块的带宽也是确定的,例如10Gbps。当物理主机所对应的虚拟机个数较多时,能够平摊给每个虚拟机的出口带宽就非常有限。
而本实施例中,具体地,分发服务器在生成内容分发路径时,可以根据物理组网拓扑将在物理组网中位于同一物理主机上的两个分发目标节点作为内容分发路径中的相邻节点。举例来说,假设分发服务器所接收到的分发目标节点包括:节点A、节点B、节点C和节点D,其中,节点A和节点B在同一物理主机21内,节点C和节点D在同一物理主机22内,则分发控制器可以将节点B和节点A作为内容分发路径中的相邻节点,将节点D和节点C作为内容分发路径中的相邻节点。这样,节点A和节点B之间的内容接收和转发都在物理主机21内,不会占用物理主机21的网卡带宽,同样地,节点C和节点D之间的内容接收和转发都在物理主机22内,不会占用物理主机22的网卡带宽。通过这种方式,能够生成有序、没有交叉并且相邻节点都位于同一物理主机内的内容分发路径,从而实现了内容分发时的流量控制以及高效性。
第二种具体实施方法:
根据物理组网拓扑以及分发目标节点列表,将在物理组网中位于同一机箱内的两个分发目标节点作为内容分发路径中的相邻节点。
具体地,继续参照图3、图4及表1,当分发控制器所接收到的分发目标节点中不存在位于同一物理主机的节点时,即各分发目标节点都不满足位于同一物理主机的条件时,分发控制器就可以将位于同一机箱内的两个节点作为内容分发路径中的相邻节点。通过这种方式,能够将两个节点之间的数据交互尽量限制在同一个机箱内,即尽量不占用机箱的带宽,从而进一步保证内容分发时的流量控制以及高效性。
第三种具体实施方式:
确定系统中具有完整的待分发内容的节点;根据系统中各节点的状态流量,将上述具有完整的待分发内容的节点中当前流量耗费最低的节点作为内容分发路径中的首节点。
如前所述,首节点需要具有完整的分发内容和待分发内容的元数据。首节点可以通过如下方法获得上述完整的分发内容和待分发内容的元数据:
在初始状态下,系统中所有的节点上都不具有完整的分发内容和待分发内容的元数据,而只有内容仓库中保存了完整的分发内容,当用户发起内容分发指示后,内容仓库可以根据完整的分发内容生成待分发内容的元数据。在此情况下,分发控制器所生成的内容分发路径中的首节点即为内容仓库,当分发控制器将内容分发路径发送给各分发目标节点后,各分发目标节点就可以从内容仓库中获取待分发内容的元数据,并且根据内容分发路径建立与其他节点的连接,并向分发控制器发送准备就绪状态,分发控制器接收了准备就绪状态,并向首节点发送通知(首节点即为内容仓库),首节点接收了通知后,按照内容分发路径中的连接关系向其下游节点转发内容。当某个分发目标节点接收到了所有待分发内容后,该分发目标节点就具有了完整分发内容。同时,内容分发路径中的各分发目标节点在接收和转发内容的过程中可以将自己已经成功接收并且保存的内容信息上报给分发控制器,分发控制器根据这些信息就可以确定哪些节点已经拥有完整分发内容。具体地,分发目标节点可以按照一定的周期向分发控制器上报自己已经接收到的内容块数量、每个内容块的标识、接收成功标识等信息,分发控制器根据这些信息来确定分发目标节点是否已经拥有完整分发内容。
当系统中存在多个具有完整分发内容的节点时,分发控制器在生成针对该完整分发内容的内容分发路径时,可以从中选择当前流量耗费最低的节点作为本次内容分发过程中的内容分发路径的首节点。
本实施例中,通过选择当前流量耗费最低的节点作为首节点,可以保证待分发内容的分发速度,从而进一步提升内容分发的高效性。
第四种具体实施方式:
若存在多个具有完整的待分发内容的节点,则生成的内容分发路径为多条,其中,所生成的内容分发路径的条数小于或等于该具有完整的待分发内容的节点的个数,每条内容分发路径中的首节点为该具有完整的待分发内容的节点中的其中一个节点。
具体地,默认情况下,分发控制器所生成的内容分发路径为单一链式路径,图5为单一链式路径的示意图,如图5所示,单一链式路径中每个节点只具有一个上游节点与一个下游节点,即节点只能从上游节点接收数据,并且只能向下游节点发送数据,从而能够充分控制各个节点的出入带宽,避免单个节点的连接过多造成拥塞,或者CPU与内存的过分消耗,对节点上运行的应用产生影响。图5中的箭头表示数据流向。在分发目标节点的数量较少时,使用单一链式路径可以保证内容分发中的流量控制、高效性以及完整性。而如果分发目标节点的数量较多时,使用单一链式路径可能会由于链路过长而导致分发的速度较慢。
而本实施例中,当系统中存在多个具有完整的待分发内容的节点时,这些节点都满足作为首节点的条件,分发控制器就可以根据这些节点来生成多条内容分发路径,其中,每条内容分发路径中的首节点为这些具有完整的待分发内容的节点中的其中一个节点。分发控制器所生成的内容分发路径之间相互独立,因此可以做到内容分发路径之间的并行分发。
优选地,分发控制器可以将位于同一物理主机或同一机箱内的节点设置在同一条内容分发路径中,从而提升内容分发效率,节省流量耗费。
图6为多条内容分发路径并行分发的示意图,如图6所示,分发控制器通过上述方法将数量较多的分发目标节点设置在两条内容分发路径中,每条内容分发路径中的首节点由分发控制器根据各分发目标节点所上报的已经接收到的内容块数量、每个内容块的标识、接收成功标识等信息来确定。
本实施例所述的多条内容分发路径并行分发的方法,能够有效减少由于单一链路过长对链路上最后节点分发时延的影响,并且能够减少由于控制链式路径长度所导致的复杂度。
第五种具体实施方式:
设置内容分发路径中的预设节点个数;若内容分发路径中的节点数量大于预设节点数量,则从内容分发路径中选择当前流量耗费最低的分发目标节点作为分叉节点,并根据该分叉节点将内容分发路径拆分为第一内容分发路径以及第二内容分发路径。
其中,第一内容分发路径和第二内容分发路径的首节点相同,第一内容分发路径和第二内容分发路径以上述分叉节点为分界。
具体地,分发控制器根据节点所上报的状态流量来确定当前流量耗费最低的节点,并将当前流量耗费最低的分发目标节点作为分叉节点。
具体地,分发控制器预先根据系统的物理组网拓扑以及节点规模设置预设节点数量,例如设置节点数量为200个,当分发目标节点数量小于或等于该预设节点数量时,分发控制器可以生成一个单一链式分发路径,使用该单一链式分发路径进行内容分发能够保证内容分发的效率。而如果分发目标节点数量大于该预设节点数量时,如果再使用单一链式分发路径,就会使得路径中最后节点的时延过大,因此,本实施例中,可以首先按照前述的方法先建立一条单一链式分发路径,然后,从该单一链式分发路径中选择一个当前流量耗费最低的节点作为分叉节点,在分叉节点之后,产生两条分发路径,即,从分叉节点之后,将原本的一条分发路径变为两条路径,因此,降低了分发路径的长度,并且实现并行的内容分发。而由于分叉节点的链出节点数为两个,因此,所需要耗费的流量相对较多,因此,选择当前流量耗费最低的节点作为分叉节点,可以保证分叉节点具有足够的流量用于内容分发。
图7为内容分发路径进行分叉的示意图,如图7所示,将首节点之后的第一个节点作为分叉节点,从该节点之后就形成了两条并行的分发路径,从而降低了分发路径的长度,保证了内容分发的速度和效率。
需要说明的是,前述第四种具体实施方式中也可以首先判断分发目标节点是否大于预设节点数量,如果大于则执行上述第四种具体实施方式。
第六种具体实施方式:
该实施例涉及已有内容分发路径中存在故障节点的处理方法。
内容分发链路上的分发目标节点在进行内容分发时,可能由于某些原因无法正常接收或转发数据,在这种情况下,分发控制器首先确定内容分发路径中的故障节点。
其中,分发控制器确定内容分发路径中的故障节点的方法包括以下三种:
1、在分发控制器向第一分发目标节点发送内容分发消息之后,如果未接收到第一分发目标节点发送的对于内容分发消息的响应消息,则确定第一分发目标节点为内容分发路径中的一个故障节点,其中,该第一分发目标节点为内容分发路径中的任意一个分发目标节点。
分发控制器向第一分发目标节点发送内容分发消息的具体过程如前述步骤S206所述,如果分发目标节点运行正常,则在接收到分发控制器所发送的内容分发消息之后,分发目标节点向分发控制返回一个响应消息。如果分发控制器没有收到该响应消息,则分发控制器就可以确定分发目标节点故障。
2、根据至少一个分发目标节点所上报的状态流量以及分发日志,确定内容分发路径中的故障节点。
当分发目标节点开始进行内容分发之后,分发目标节点可以按照一定的周期向分发控制器上报其状态流量以及分发日志,分发控制器接收到状态流量以及分发日志后进行判断,如果分发目标节点的状态流量已经超过最大阈值,或者分发日志中存在分发异常的记录,则分发控制器就可以确定该分发目标节点故障。
3、如果分发控制器接收到第二分发目标节点发送的分发失败消息,则确定第二分发目标节点的下游节点为内容分发路径中的一个故障节点,其中,第二分发目标节点为内容分发路径中除最后一个分发目标节点之外的任意一个分发目标节点。
分发目标节点在进行内容分发的过程中,可以对其分发过的内容块进行记录,如果存在内容块分发失败的情况,则分发目标节点向分发控制器发送分发失败消息。分发控制器接收到该消息之后,就可以确定该分发目标节点的下游节点无法正常接收分发内容,将该分发目标节点的下游节点确定为故障节点。
当分发控制器确定出内容分发路径中的故障节点之后,分发控制器可以将该故障节点从原有的内容分发路径中删除,并将故障节点的下游节点作为故障节点上游节点的下游节点。优选地,分发控制器分别向故障节点的上游节点和下游节点发送路径更新指示,以指示故障节点的上游节点将其所保存的内容分发路径进行更新,即将其下游节点更新为故障节点的下游节点,指示故障节点的下游节点将其所保存的内容分发路径进行更新,即将其上游节点更新为故障节点的上游节点。需要说明的是,上述更新完成后,故障节点的上游节点和下游节点之间需要建立新的连接通道,以保证后续内容的正常分发。
图8为从内容分发路径中删除故障节点的示意图,如图8所示,内容分发路径中的第二个节点为故障节点,从该内容分发路径中删除该故障节点,将该故障节点之前以及之后的节点连接起来。
第七种具体实施方式:
该实施例涉及故障节点恢复之后的处理方法。
在故障节点被从内容分发路径中删除之后,故障节点还是可以继续周期性地向分发控制器上报其状态流量,当分发控制器获知故障节点的状态已经恢复到正常状态,则将其再加入内容分发路径中。
具体地,分发控制器通过获取状态流量来获取到内容分发路径中的恢复节点,恢复节点的数量可以是一个,也可以是多个,恢复节点为由于故障从内容分发路径中删除的节点。当分发控制器获取到恢复节点之后,分发控制器可以将恢复节点增加到内容分发路径中,以使恢复节点从恢复节点的上游节点获取分发内容,其中,恢复节点通过主动请求的方式从上游节点获取分发内容。具体地,图9为将恢复节点重新加入内容分发路径的示意图,图9中虚线表示节点A和节点B在正常状态时处于内容分发路径中,由于故障,节点A和节点B被从内容分发路径中删除,节点A的上游节点和下游节点连接,节点B的上游节点和下游节点连,当节点A和节点B的状态恢复到正常状态后,内容分发路径并不会恢复到原来的状态,而是仅允许节点A通过主动请求的方式从其上游节点获取分发内容,仅允许节点B通过主动请求的方式从其上游节点获取分发内容。需要说明的是,此时的上游节点并不一定是恢复节点在原有内容分发路径中的上游节点,而是在物理拓扑上与该恢复节点最近,并且处于当前内容分发路径中的节点。
第八种具体实施方式:
对于某些系统,例如云计算系统,可能存在将同一分发内容分发到多个子网的情况。图10为内容分发到多个子网的示意图,如图10所示,在内容分发到多个子网的情况下,分发控制器可以以首节点为中心,将内容分发路径划分为以子网为分割的多条子路径,多条子路径之间隔离没有交互。这样能有效控制各子网的带宽占用,避免跨子网之间的流量交互。
进一步地,如果一个子网内的子路径的长度过长,可以根据前述实施方式所述的方法对子路径进行拆分,以保证内容分发的速度和效率。
在上述实施例的基础上,本实施例涉及前述图2中步骤105的内容仓库生成待分发内容的元数据的具体方法。
如前述图2中步骤S205中所述,在内容仓库接收到创建元数据指示后,根据其中所携带的待分发内容的标识来确定出内容仓库中所保存的待分发内容,并生成待分发内容的元数据。在生成待分发内容的元数据之前,内容仓库首先判断是否已经生成了待分发内容的元数据,如果已经生成,则不再执行生成操作,而是可以直接使用现有的元数据。
同时,内容仓库也可以根据所接收到的创建元数据指示中的待分发内容的标识,判断待分发内容是否存在,如果不存在,则内容仓库可以向终端返回待分发内容不存在的提示,以使终端重新检查所发送的待分发内容的标识,或者重新向内容仓库发布待分发内容。
其中,上述待分发内容的标识由内容仓库分配,并且区别于整个系统中的其他待分发内容所对应的标识。
如果内容仓库确认待分发内容存在,并且待分发内容的元数据还不存在,则需要生成待分发内容的元数据。在后续内容分发过程中,如果内容分发路径中的节点中没有保存该元数据,就可以从内容仓库来获取待分发内容的元数据。
具体地,图11为本发明提供实施例二的生成元数据流程示意图,如图11所示,内容仓库生成待分发内容的元数据的方法为:
S1101、对待分发内容进行部分划分以及块划分,获取部分数量、部分大小、块大小以及块索引。
待分发内容的大小一般较大,例如,一般的需要分发的多媒体文件都能达到1G以上。如果在内容分发过程中直接将整个待分发内容一次性发送,一旦数据传输出现问题,就需要重新发送整个待分发文件,造成内容分发效率低下。因此,本实施例中,将待分发内容进行分层分块划分,在内容分发过程中,数据传输的最小单位是分块,即使传输出现问题,也只需要将对应的分块重新分发,因此可以极大地提高内容分发效率。
内容仓库可以将待分发内容分成两层,第一层将整个待分发文件划分为多个部分,第二层再将每个部分划分为多个块。图12为待分发内容层次划分的示意图,如图12所示,内容仓库可以将待分发内容划分为大小相等的多个部分,再将每个部分划分为大小相等的块,块为内容分发时的最小传输单位。
用户可以预先在内容仓库中配置部分的大小和块的大小,当内容仓库进行分层划分时,就按照预先配置的部分大小和块大小来进行部分划分和块划分。需要说明的是,根据需要,内容仓库还可以将待分发内容划分为更多层次,其中最下一层为数据传输的最小单位。
本步骤中,当内容仓库进行部分划分和块划分时,根据待分发内容的总的大小、部分大小以及块大小,来计算出部分数量和块数量,具体可以将待分发内容的总大小除以部分大小来得到部分数量,再将部分大小除以块大小来得到块数量。并且,内容仓库在划分出块之后,还可以为每个块分配一个唯一的索引,即块索引,以用于后续内容分发时识别每个块。经过上过过程,内容仓库就可以获取到部分数量、部分大小、块大小以及块索引。
在为块分配块索引时,优选地,可以根据块所对应的部分的编号以及块在部分中的顺序来确定索引值。举例来说,假设某个块M,该块M所对应的部分为待分发内容中的第一个部分,即对应的部分编号为1,该块为部分1中的第一个块,即块的编号为1,则该块的索引值可以设置为P1B1,其中“P”指部分,“B”指块。
由于部分大小和块大小都是固定的,因此,只要根据块索引就能立即索引到块对应的内容,因此,根据编号来分配块索引可以方便对分发内容按偏移量来读取与写入,可以提高分发的内容的读写效率。
S1102、对待分发内容进行数字签名处理,获取数字签名。
内容仓库可以使用特定的算法,例如(Pretty Good Privacy,简称PGP)对待分发内容进行数字签名处理,获取到数字签名,当分发目标节点获取到完整的待分发内容之后,也可以使用同样的算法对所接收到的内容进行签名检查,以确认待分发内容的安全。
S1103、对划分的每个块进行哈希校验,获取每个块的块哈希值。
除了对整个待分发内容进行数字签名处理,内容仓库还可以对所划分出的每个块进行哈希校验。由于块是数据传输的最小单位,因此,内容仓库事先对每个块进行哈希校验并将其写进待分发内容的元数据中,每当分发目标节点接收到一个内容块之后,就可以通过比较哈希校验结果来确定所接收到的块是否未被篡改,以保证每个块的安全。对块进行哈希校验时,可以使用安全哈希标准(Secure Hash Algorithm,简称SHA1)算法。
S1104、将部分数量、部分大小、块大小、块索引、数字签名以及每个块的块哈希值写入所述待分发内容的元数据中。
当经过前述步骤(S1101-1104)获取到部分数量、部分大小、块大小、块索引、数字签名以及每个块的块哈希值之后,内容仓库可以将其写入分发内容的元数据中。
图13为待分发内容的元数据的示例图,如图13所示,待分发内容的元数据中第一部分包括待分发内容的名称以及数字签名,第二部分包括部分数量(partcount)、部分大小(partsize)以及块大小(blocksize),第三部分包括每个块索引以及每个块的块哈希值(blockhash)。其中,在第三部分中,每个块的块哈希值都在每个块索引之后,这样,当分发目标节点读取到块索引之后,就可以直接读取到块对应的块哈希值,而不需要再次进行查询,从而提高元数据的读取效率。
在上述实施例的基础上,本实施例涉及前述图2中步骤S213分发目标节点进行内容分发的具体方法。
如前述实施例一中步骤S206-S213所述,当分发目标节点接收到内容分发消息后,执行建立连接、获取待分发内容的元数据、上报准备就绪状态的操作,之后根据元数据以及内容分发路径进行内容分发处理,即进行内容接收与转发。
图14为本发明实施例提供的内容分发方法实施例三的内容接收与转发流程示意图,如图14所示,分发目标节点进行内容分发的过程为:
S1401、接收上游节点发送的块。
S1402、根据待分发内容的元数据中的块索引以及块哈希值,对块进行哈希校验,获取校验结果。
S1403、若校验结果为校验成功,则保存块,并按照指定分发速率将块发送给内容分发路径中的下游节点。
分发速率指的是接收的速率,因为出入节点数是固定的,所以转发速率也得到控制。
具体地,分发目标节点对接收到的块进行哈希校验,得到一个校验值,再根据所接收到的块的块索引从元数据中读取到块哈希值,如果分发目标节点计算出的校验值和元数据中的块哈希值一致,则认为所接收的块为正确的块,可以将其转发到下一分发目标节点。
如前所述,待分发内容以块为最小传输单位,因此,每当分发目标节点接收到一个块,就执行上述步骤S1401-S1403。
本实施例中,当分发目标节点接收到一个块后,就可以使用哈希校验对块进行校验,只要校验成功才将其转发至下一分发目标节点,从而保证所转发的块的安全性。
需要说明的是,对于内容分发路径中的首节点,当接收到分发控制器发送的内容分发指示后,就可以直接将内容转发到下游节点,因此,不需要执行上述步骤S1401-S1403。
另一实施例中,上述步骤S1403中将块转发到下游节点时,分发目标节点可以判断发送是否成功,如果未发送成功,则进行重新发送,如果重新发送失败的次数达到预设次数,则向分发控制器发送分发失败消息,以使分发控制器根据下游节点的状态重新建立内容分发路径。
另一实施例中,在上述步骤S1403之后,分发目标节点还需要执行如下操作:
分发目标节点判断是否接收到待分发内容对应的所有块,若是,则分发目标节点根据待分发内容的元数据中的数字签名对待分发内容进行数字签名检查,并将数字签名检查的结果上报给分发控制器。
具体地,如前所述,数字签名检查用于对整个待分发内容进行检查,因此,当分发目标节点确认待分发内容的块已经全部接收到了之后,就可以使用对应的算法对接收到的整个内容进行数字签名检查,如果数字签名结果与待分发内容的元数据中的一致,则说明检查通过,否则说明检查不通过。分发目标节点将数字签名结果上报给分发控制器,分发控制器根据数字签名结果执行重新发送等操作。
其中,分发目标可以根据所保存的待分发内容的元数据来判断是否已经接收到了待分发内容的所有块。具体地,元数据中记录了待分发内容的每个块索引,分发控制判断所接收到的所有内容块的块索引是否与元数据中的块索引完全对应,若是,则确定已经接收到了待分发内容的所有块。
下述实施例涉及本发明是实施例应用于存在多个租户的云计算系统时的场景。
对于云计算系统,其中存在多个租户(multi tenants),云计算系统要求多个租户的资源相互隔离互不影响,因此,当将本发明实施例应用于云计算系统时,需要根据租户的特点进行内容分发。在多租户技术中,租户(tenant)是指使用系统或电脑运算资源的客户,但在多租户技术中,租户包含在系统中可识别为指定用户的一切数据,包括帐户与统计信息(accounting data),用户在系统中建置的各式数据,以及用户本身的客制化应用程序环境等,都属于租户的范围,而租户所使用的则是基于供应商所开发或建置的应用系统或运算资源等,供应商所设计的应用系统会容纳数个以上的用户在同一个环境下使用,为了要让多个用户的环境能力同一个应用程序与运算环境上使用,则应用程序与运算环境必须要特别设计,除了可以让系统平台可以允许同时让多份相同的应用程序运行外。
具体地,当用户或应用程序调用分发控制器所提供的API向分发控制器下发内容分发指示时,该内容分发指示中除了携带前述的待分发内容的标识以及分发目标节点外,还可以携带租户信息。当分发控制器接收到内容分发指示后,可以集成对接第三方的统一用户管理系统,对租户鉴权,并查询租户可访问的资源列表。进而,分发控制器在构建内容分发路径时,内容分发路径中的节点为租户可访问的分发目标节点,内容分发路径中的节点不能为租户不可访问的分发目标节点。不同的租户构建不同的内容分发路径,在分发过程中不同的内容分发路径之间不能互相访问,从而有效地实现了多租户的隔离。
图15为本发明实施例提供的内容分发装置实施例一的模块结构图,如图15所示,该装置包括:
接收模块1501,用于接收内容分发指示,该内容分发指示中包括待分发内容的标识以及分发目标节点列表,该分发目标节点列表中包括至少一个分发目标节点的标识。
处理模块1502,用于根据物理组网拓扑、系统中各节点的状态流量以及分发目标节点列表,生成内容分发路径,其中,该内容分发路径为由首节点和至少一个分发目标节点所构成的单向链式分发路径,首节点为系统中具有完整的待分发内容的节点。
发送模块1503,用于向至少一个分发目标节点发送内容分发消息,内容分发消息中包括内容分发路径以及待分发内容的标识,以使至少一个分发目标节点根据内容分发路径以及待分发内容的标识获取并分发待分发内容。
该装置用于实现前述方法实施例,其实现原理和技术效果类似,此处不再赘述。
另一实施例中,上述内容分发消息中还包括至少一个分发目标节点的指定分发速率,该指定分发速率是在生成内容分发路径时根据至少一个分发目标节点的状态流量确定的。
另一实施例中,接收模块1501,还用于接收所述一个分发目标节点上报的准备就绪状态。
发送模块1503,还用于根据准备就绪状态,向至少一个分发目标节点发送内容接收与转发指示。
图16为本发明实施例提供的内容分发装置实施例二的模块结构图,如图16所示,处理模块包括:
第一确定单元15021,用于根据物理组网拓扑以及分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为内容分发路径中的相邻节点。
第二确定单元15022,用于确定系统中具有完整的待分发内容的节点。
第三确定单元15023,用于根据系统中各节点的状态流量,将具有完整的待分发内容的节点中当前流量耗费最低的节点作为内容分发路径中的首节点。
另一实施例中,处理模块1502还用于:
根据物理组网拓扑以及分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为内容分发路径中的相邻节点;以及,
确定系统中具有完整的待分发内容的多个节点;以及,
生成多条内容分发路径,其中,所生成的内容分发路径的条数小于或等于具有完整的待分发内容的节点的个数,每条内容分发路径中的首节点为具有完整的待分发内容的节点中的其中一个节点。
另一实施例中,处理模块1502还用于:
设置内容分发路径中的预设节点数量;以及,
若内容分发路径中的节点数量大于预设节点数量,则从内容分发路径中选择分叉节点,并根据分叉节点将内容分发路径拆分为第一内容分发路径以及第二内容分发路径;
其中,第一内容分发路径和第二内容分发路径的首节点相同,第一内容分发路径和第二内容分发路径以分叉节点为分界,分叉节点为内容分发路径中当前流量耗费最低的节点。
另一实施例中,处理模块1502还用于:
确定内容分发路径中的故障节点;以及,
将故障节点从内容分发路径中删除,并将故障节点的下游节点作为故障节点上游节点的下游节点。
图17为本发明实施例提供的内容分发装置实施例三的模块结构图,如图17所示,处理模块1502还包括:
第四确定单元15024,用于在未接收到第一分发目标节点发送的对于内容分发消息的响应消息时,确定第一分发目标节点为内容分发路径中的一个故障节点,其中,第一分发目标节点为内容分发路径中的任意一个分发目标节点。
图18为本发明实施例提供的内容分发装置实施例四的模块结构图,如图18所示,处理模块1502还包括:
第五确定单元15025,用于根据至少一个分发目标节点所上报的状态流量以及分发日志,确定内容分发路径中的故障节点。
图19为本发明实施例提供的内容分发装置实施例五的模块结构图,如图19所示,处理模块1502还包括:
第六确定单元15026,用于在接收到第二分发目标节点发送的分发失败消息时,确定第二分发目标节点的下游节点为内容分发路径中的一个故障节点,其中,第二分发目标节点为内容分发路径中除最后一个分发目标节点之外的任意一个分发目标节点。
另一实施例中,处理模块1502还用于:
获取内容分发路径中的恢复节点,该恢复节点为由于故障从内容分发路径中删除的节点;以及,
将恢复节点增加到内容分发路径中,以使恢复节点从恢复节点的上游节点获取分发内容,其中,恢复节点通过主动请求方式从恢复节点的上游节点获取分发内容。
另一实施例中,接收模块1501,还用于接收至少一个分发目标节点周期性上报的分发进度、分发日志、分发结果以及状态流量。
发送模块1503,还用于向终端发送分发进度、分发日志、分发结果以及所述状态流量。
图20为本发明实施例提供的内容分发装置实施例一的模块结构图,如图20所示,该装置包括:
接收模块2001,用于接收内容分发消息,该内容分发消息中包括内容分发路径以及待分发内容的标识,其中,内容分发路径由分发控制器根据物理组网拓扑、系统中各节点的状态流量以及分发目标节点列表所生成,内容分发路径为由首节点和至少一个分发目标节点所构成的单向链式分发路径,首节点为系统中具有完整的待分发内容的节点。
处理模块2002,用于根据待分发内容的标识,从首节点中获取待分发内容的元数据,待分发内容的元数据中包括待分发内容的数字签名、块索引以及块哈希值。
处理模块2002,还用于根据内容分发路径以及待分发内容的元数据,进行内容分发处理。
另一实施例中,内容分发消息中还包括分发目标节点的指定分发速率。
处理模块2002,具体用于根据内容分发路径以及待分发内容的元数据,按照指定分发速率进行内容分发处理。
图21为本发明实施例提供的内容分发装置实施例二的模块结构图,如图21所示,该装置还包括:
发送模块2003,用于向分发控制器上报准备就绪状态。
接收模块2001,还用于接收分发控制器发送的内容接收与转发指示。
图22为本发明实施例提供的内容分发装置实施例三的模块结构图,如图22所示,处理模块2002包括:
接收单元20021,用于接收上游节点发送的块。
校验单元20022,用于根据待分发内容的元数据中的块索引以及块哈希值,对块进行哈希校验,获取校验结果。
发送单元20023,用于在校验结果为校验成功时,保存块,并按照指定分发速率将块发送给内容分发路径中的下游节点。
另一实施例中,发送单元20023具体用于:
若发送失败,则进行重新发送;以及,
若重新发送失败的次数达到预设次数,则向分发控制器发送分发失败消息,以使分发控制器根据下游节点的状态重新建立内容分发路径。
另一实施例中,处理模块2002,还用于在接收到待分发内容对应的所有块时,根据数字签名对待分发内容进行数字签名检查,并将数字签名检查的结果上报给分发控制器。
另一实施例中,处理模块2002,还用于获取分发进度、分发日志、分发结果以及状态流量。
发送模块2003,还用于向分发控制器上报分发进度、分发日志、分发结果以及状态流量。
图23为本发明实施例提供的内容分发装置实施例一的模块结构图,如图23所示,该装置包括:
接收模块2301,用于接收创建元数据指示,所述创建元数据指示中包括待分发内容的标识;
处理模块2302,用于根据所述待分发内容的标识,生成所述待分发内容的元数据。
图24为本发明实施例提供的内容分发装置实施例二的模块结构图,如图24所示,处理模块2302包括:
划分单元23021,用于在根据所述待分发内容标识,判断所述待分发内容存在之后,对所述待分发内容进行部分划分以及块划分,获取部分数量、部分大小、块大小以及块索引。
处理单元23022,用于对待分发内容进行数字签名处理,获取数字签名。
校验单元23023,用于对划分的每个块进行哈希校验,获取每个块的块哈希值。
写入单元23024,用于将部分数量、每部分大小、块大小、块索引、数字签名以及每个块的块哈希值写入待分发内容的元数据中。
图25为本发明实施例提供的分发控制器实施例一的实体框图,如图25所示,该分发控制器包括:
存储器2501和处理器2502。
存储器2501用于存储程序指令,处理器2502用于调用存储器2501中的程序指令,执行下述方法:
接收内容分发指示,所述内容分发指示中包括待分发内容的标识以及分发目标节点列表,所述分发目标节点列表中包括至少一个分发目标节点的标识;
根据物理组网拓扑、系统中各节点的状态流量以及所述分发目标节点列表,生成内容分发路径,其中,所述内容分发路径为由首节点和所述至少一个分发目标节点所构成的单向链式分发路径,所述首节点为系统中具有完整的所述待分发内容的节点;
向所述至少一个分发目标节点发送内容分发消息,所述内容分发消息中包括所述内容分发路径以及所述待分发内容的标识,以使所述至少一个分发目标节点根据所述内容分发路径以及所述待分发内容的标识获取并分发所述待分发内容。
进一步地,所述内容分发消息中还包括所述至少一个分发目标节点的指定分发速率,所述指定分发速率是在生成所述内容分发路径时根据所述至少一个分发目标节点的状态流量确定的。
进一步地,处理器2502还用于:
接收所述至少一个分发目标节点上报的准备就绪状态;
根据所述准备就绪状态,向所述至少一个分发目标节点发送内容接收与转发指示。
进一步地,处理器2502还用于:
根据物理组网拓扑以及所述分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为所述内容分发路径中的相邻节点;
确定系统中具有完整的所述待分发内容的节点;
根据系统中各节点的状态流量,将所述具有完整的所述待分发内容的节点中当前流量耗费最低的节点作为所述内容分发路径中的首节点。
进一步地,处理器2502还用于:
根据物理组网拓扑以及所述分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为所述内容分发路径中的相邻节点;
确定系统中具有完整的所述待分发内容的多个节点;
生成多条内容分发路径,其中,所生成的内容分发路径的条数小于或等于所述具有完整的所述待分发内容的节点的个数,每条所述内容分发路径中的首节点为所述具有完整的所述待分发内容的节点中的其中一个节点。
进一步地,处理器2502还用于:
设置所述内容分发路径中的预设节点数量;
若所述内容分发路径中的节点数量大于所述预设节点数量,则从所述内容分发路径中选择分叉节点,并根据所述分叉节点将所述内容分发路径拆分为第一内容分发路径以及第二内容分发路径;
其中,所述第一内容分发路径和所述第二内容分发路径的首节点相同,所述第一内容分发路径和所述第二内容分发路径以所述分叉节点为分界,所述分叉节点为所述内容分发路径中当前流量耗费最低的节点。
进一步地,处理器2502还用于:
确定所述内容分发路径中的故障节点;
将所述故障节点从所述内容分发路径中删除,并将所述故障节点的下游节点作为所述故障节点上游节点的下游节点。
进一步地,处理器2502还用于:
若未接收到第一分发目标节点发送的对于所述内容分发消息的响应消息,则确定所述第一分发目标节点为所述内容分发路径中的一个故障节点,其中,所述第一分发目标节点为所述内容分发路径中的任意一个分发目标节点。
进一步地,处理器2502还用于:
根据所述至少一个分发目标节点所上报的状态流量以及分发日志,确定所述内容分发路径中的故障节点。
进一步地,处理器2502还用于:
若接收到第二分发目标节点发送的分发失败消息,则确定所述第二分发目标节点的下游节点为所述内容分发路径中的一个故障节点,其中,所述第二分发目标节点为所述内容分发路径中除最后一个分发目标节点之外的任意一个分发目标节点。
进一步地,处理器2502还用于:
获取所述内容分发路径中的恢复节点,所述恢复节点为由于故障从所述内容分发路径中删除的节点;
将所述恢复节点增加到所述内容分发路径中,以使所述恢复节点从所述恢复节点的上游节点获取分发内容,其中,所述恢复节点通过主动请求方式从所述恢复节点的上游节点获取分发内容。
进一步地,处理器2502还用于:
接收所述至少一个分发目标节点周期性上报的分发进度、分发日志、分发结果以及状态流量;
向终端发送所述分发进度、所述分发日志、所述分发结果以及所述状态流量。
图26为本发明实施例提供的计算节点实施例一的实体框图,如图26所示,该计算节点包括:
存储器2601和处理器2602。
存储器2601用于存储程序指令,处理器2602用于调用存储器2601中的程序指令,执行下述方法:
接收内容分发消息,所述内容分发消息中包括内容分发路径以及待分发内容的标识,其中,所述内容分发路径由分发控制器根据物理组网拓扑、系统中各节点的状态流量以及分发目标节点列表所生成,所述内容分发路径为由首节点和所述至少一个分发目标节点所构成的单向链式分发路径,所述首节点为系统中具有完整的所述待分发内容的节点;
根据所述待分发内容的标识,从首节点中获取所述待分发内容的元数据,所述待分发内容的元数据中包括所述待分发内容的数字签名、块索引以及块哈希值;
根据所述内容分发路径以及所述待分发内容的元数据,进行内容分发处理。
进一步地,所述内容分发消息中还包括分发目标节点的指定分发速率;处理器2602还用于:
根据所述内容分发路径以及所述待分发内容的元数据,按照所述指定分发速率进行内容分发处理。
进一步地,处理器2602还用于:
向分发控制器上报准备就绪状态;
接收所述分发控制器发送的内容接收与转发指示。
进一步地,处理器2602还用于:
接收上游节点发送的块;
根据所述待分发内容的元数据中的块索引以及块哈希值,对所述块进行哈希校验,获取校验结果;
若所述校验结果为校验成功,则保存所述块,并按照所述指定分发速率将所述块发送给所述内容分发路径中的下游节点。
进一步地,处理器2602还用于:
若发送失败,则进行重新发送;
若重新发送失败的次数达到预设次数,则向分发控制器发送分发失败消息,以使所述分发控制器根据所述下游节点的状态重新建立内容分发路径。
进一步地,处理器2602还用于:
若接收到所述待分发内容对应的所有块,则根据所述数字签名对所述待分发内容进行数字签名检查,并将数字签名检查的结果上报给分发控制器。
进一步地,处理器2602还用于:
获取分发进度、分发日志、分发结果以及状态流量;
向所述分发控制器上报所述分发进度、分发日志、分发结果以及状态流量。
图27为本发明实施例提供的内容仓库实施例一的实体框图,如图27所示,该内容仓库包括:
存储器2701和处理器2702。
存储器2701用于存储程序指令,处理器2702用于调用存储器2701中的程序指令,执行下述方法:
接收创建元数据指示,所述创建元数据指示中包括待分发内容的标识;
根据所述待分发内容的标识,生成所述待分发内容的元数据。
进一步地,处理器2702还用于:
根据所述待分发内容标识,判断所述待分发内容是否存在,若是,则:
对所述待分发内容进行部分划分以及块划分,获取部分数量、部分大小、块大小以及块索引;以及,
对所述待分发内容进行数字签名处理,获取数字签名;以及,
对划分的每个块进行哈希校验,获取每个块的块哈希值;
将所述部分数量、每部分大小、块大小、块索引、数字签名以及每个块的块哈希值写入所述待分发内容的元数据中。
另外,本发明实施例还提供一种内容分发系统,其中包括上述分发控制器、上述计算节点以及上述内容仓库。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (29)
1.一种云计算系统的内容分发方法,其特征在于,包括:
接收内容分发指示,所述内容分发指示中包括待分发内容的标识以及分发目标节点列表,所述分发目标节点列表中包括至少一个分发目标节点的标识;
根据云计算系统的物理组网拓扑、各节点的状态流量以及所述分发目标节点列表,生成内容分发路径;
向所述至少一个分发目标节点发送内容分发消息,所述内容分发消息中包括所述内容分发路径和所述待分发内容的标识;
所述内容分发指示中还包括租户信息,所述租户信息用于为租户鉴权,不同的租户有不同的内容分发路径;
所述内容分发路径为由首节点和至少一个分发目标节点所构成的单向链式分发路径;
所述根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及所述分发目标节点列表,生成内容分发路径,包括:
根据云计算系统的物理组网拓扑以及所述分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为所述内容分发路径中的相邻节点;
确定云计算系统中具有完整的所述待分发内容的节点;
根据云计算系统中各节点的状态流量,将所述具有完整的所述待分发内容的节点中当前流量耗费最低的节点作为所述内容分发路径中的首节点。
2.根据权利要求1所述的方法,其特征在于,所述内容分发消息中还包括所述至少一个分发目标节点的指定分发速率。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收所述至少一个分发目标节点上报的准备就绪状态;
根据所述准备就绪状态,向所述至少一个分发目标节点发送内容接收与转发指示。
4.根据权利要求1所述的方法,其特征在于,还包括:
根据物理组网拓扑以及所述分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为所述内容分发路径中的相邻节点;
确定云计算系统中具有完整的所述待分发内容的多个节点;
生成多条内容分发路径,其中,所生成的内容分发路径的条数小于或等于所述具有完整的所述待分发内容的节点的个数。
5.根据权利要求1所述的方法,其特征在于,还包括:
设置所述内容分发路径中的预设节点数量;
若所述内容分发路径中的节点数量大于所述预设节点数量,则从所述内容分发路径中选择分叉节点,并根据所述分叉节点将所述内容分发路径拆分为第一内容分发路径以及第二内容分发路径;
其中,所述第一内容分发路径和所述第二内容分发路径的首节点相同,所述第一内容分发路径和所述第二内容分发路径以所述分叉节点为分界,所述分叉节点为所述内容分发路径中当前流量耗费最低的节点。
6.根据权利要求1所述的方法,其特征在于,还包括:
确定所述内容分发路径中的故障节点;
将所述故障节点从所述内容分发路径中删除,并将所述故障节点的下游节点作为所述故障节点上游节点的下游节点。
7.根据权利要求6所述的方法,其特征在于,所述确定所述内容分发路径中的故障节点,包括:
若未接收到第一分发目标节点发送的对于所述内容分发消息的响应消息,则确定所述第一分发目标节点为所述内容分发路径中的一个故障节点,其中,所述第一分发目标节点为所述内容分发路径中的任意一个分发目标节点;
根据所述至少一个分发目标节点所上报的状态流量以及分发日志,确定所述内容分发路径中的故障节点;或者
若接收到第二分发目标节点发送的分发失败消息,则确定所述第二分发目标节点的下游节点为所述内容分发路径中的一个故障节点,其中,所述第二分发目标节点为所述内容分发路径中除最后一个分发目标节点之外的任意一个分发目标节点。
8.根据权利要求6所述的方法,其特征在于,还包括:
获取所述内容分发路径中的恢复节点,所述恢复节点为由于故障从所述内容分发路径中删除的节点;
将所述恢复节点增加到所述内容分发路径中,以使所述恢复节点从所述恢复节点的上游节点获取分发内容,其中,所述恢复节点通过主动请求方式从所述恢复节点的上游节点获取分发内容。
9.一种云计算系统的内容分发方法,其特征在于,包括:
接收内容分发消息,所述内容分发消息中包括内容分发路径以及待分发内容的标识,其中,所述内容分发路径由分发控制器根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及分发目标节点列表所生成,所述内容分发路径为由首节点和所述至少一个分发目标节点所构成的单向链式分发路径,所述首节点为系统中具有完整的所述待分发内容的节点;
根据所述待分发内容的标识,从首节点中获取所述待分发内容的元数据,所述待分发内容的元数据中包括所述待分发内容的数字签名、块索引以及块哈希值;
根据所述内容分发路径以及所述待分发内容的元数据,进行内容分发处理;
所述内容分发路径由分发控制器根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及分发目标节点列表所生成,包括:
根据云计算系统的物理组网拓扑以及所述分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为所述内容分发路径中的相邻节点;
确定云计算系统中具有完整的所述待分发内容的节点;
根据云计算系统中各节点的状态流量,将所述具有完整的所述待分发内容的节点中当前流量耗费最低的节点作为所述内容分发路径中的首节点;
所述内容分发路径为由首节点和至少一个分发目标节点所构成的单向链式分发路径。
10.根据权利要求9所述的方法,其特征在于,所述内容分发消息中还包括分发目标节点的指定分发速率;
所述根据所述内容分发路径以及所述待分发内容的元数据,进行内容分发处理具体包括:
根据所述内容分发路径以及所述待分发内容的元数据,按照所述指定分发速率进行内容分发处理。
11.根据权利要求10所述的方法,其特征在于,还包括:
向分发控制器上报准备就绪状态;
接收所述分发控制器发送的内容接收与转发指示。
12.根据权利要求9所述的方法,其特征在于,所述根据所述内容分发路径以及所述待分发内容的元数据,进行内容分发处理,包括:
接收上游节点发送的块;
根据所述待分发内容的元数据中的块索引以及块哈希值,对所述块进行哈希校验,获取校验结果;
若所述校验结果为校验成功,则保存所述块,并按照指定分发速率将所述块发送给所述内容分发路径中的下游节点。
13.根据权利要求12所述的方法,其特征在于,所述按照所述指定分发速率将所述块发送给所述内容分发路径中的下游节点,包括:
若发送失败,则进行重新发送;
若重新发送失败的次数达到预设次数,则向分发控制器发送分发失败消息,以使所述分发控制器根据所述下游节点的状态重新建立内容分发路径。
14.根据权利要求12或13所述的方法,其特征在于,还包括:
若接收到所述待分发内容对应的所有块,则根据所述数字签名对所述待分发内容进行数字签名检查,并将数字签名检查的结果上报给分发控制器。
15.一种内容分发装置,其特征在于,包括:
接收模块,用于接收内容分发指示,所述内容分发指示中包括待分发内容的标识以及分发目标节点列表,所述分发目标节点列表中包括至少一个分发目标节点的标识,所述内容分发指示中还包括租户信息,所述租户信息用于为租户鉴权,不同的租户有不同的内容分发路径;
处理模块,用于根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及所述分发目标节点列表,生成内容分发路径;
发送模块,用于向所述至少一个分发目标节点发送内容分发消息,所述内容分发消息中包括所述内容分发路径以及所述待分发内容的标识;
所述处理模块包括:
第一确定单元,用于根据云计算系统的物理组网拓扑以及所述分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为所述内容分发路径中的相邻节点;
第二确定单元,用于确定云计算系统中具有完整的所述待分发内容的节点;
第三确定单元,用于根据云计算系统中各节点的状态流量,将所述具有完整的所述待分发内容的节点中当前流量耗费最低的节点作为所述内容分发路径中的首节点;
所述内容分发路径为由首节点和至少一个分发目标节点所构成的单向链式分发路径。
16.根据权利要求15所述的装置,其特征在于,所述内容分发消息中还包括所述至少一个分发目标节点的指定分发速率。
17.根据权利要求15所述的装置,其特征在于,
所述接收模块,还用于接收所述至少一个分发目标节点上报的准备就绪状态;
所述发送模块,还用于根据所述准备就绪状态,向所述至少一个分发目标节点发送内容接收与转发指示。
18.根据权利要求15所述的装置,其特征在于,所述处理模块还用于:
根据物理组网拓扑以及所述分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为所述内容分发路径中的相邻节点;以及,
确定系统中具有完整的所述待分发内容的多个节点;以及,
生成多条内容分发路径,其中,所生成的内容分发路径的条数小于或等于所述具有完整的所述待分发内容的节点的个数,每条所述内容分发路径中的首节点为所述具有完整的所述待分发内容的节点中的其中一个节点。
19.根据权利要求15所述的装置,其特征在于,所述处理模块还用于:
设置所述内容分发路径中的预设节点数量;以及,
若所述内容分发路径中的节点数量大于所述预设节点数量,则从所述内容分发路径中选择分叉节点,并根据所述分叉节点将所述内容分发路径拆分为第一内容分发路径以及第二内容分发路径;
其中,所述第一内容分发路径和所述第二内容分发路径的首节点相同,所述第一内容分发路径和所述第二内容分发路径以所述分叉节点为分界,所述分叉节点为所述内容分发路径中当前流量耗费最低的节点。
20.根据权利要求15所述的装置,其特征在于,所述处理模块还用于:
确定所述内容分发路径中的故障节点;以及,
将所述故障节点从所述内容分发路径中删除,并将所述故障节点的下游节点作为所述故障节点上游节点的下游节点。
21.根据权利要求20所述的装置,其特征在于,所述处理模块还包括:第四确定单元,用于在未接收到第一分发目标节点发送的对于所述内容分发消息的响应消息时,确定所述第一分发目标节点为所述内容分发路径中的一个故障节点,其中,所述第一分发目标节点为所述内容分发路径中的任意一个分发目标节点;
第五确定单元,用于根据所述至少一个分发目标节点所上报的状态流量以及分发日志,确定所述内容分发路径中的故障节点;和
第六确定单元,用于在接收到第二分发目标节点发送的分发失败消息时,确定所述第二分发目标节点的下游节点为所述内容分发路径中的一个故障节点,其中,所述第二分发目标节点为所述内容分发路径中除最后一个分发目标节点之外的任意一个分发目标节点。
22.根据权利要求20所述的装置,其特征在于,所述处理模块还用于:
获取所述内容分发路径中的恢复节点,所述恢复节点为由于故障从所述内容分发路径中删除的节点;以及,
将所述恢复节点增加到所述内容分发路径中,以使所述恢复节点从所述恢复节点的上游节点获取分发内容,其中,所述恢复节点通过主动请求方式从所述恢复节点的上游节点获取分发内容。
23.一种计算节点,其特征在于,包括:
接收模块,用于接收内容分发消息,所述内容分发消息中包括内容分发路径以及待分发内容的标识,其中,所述内容分发路径由分发控制器根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及分发目标节点列表所生成,所述内容分发路径为由首节点和至少一个所述分发目标节点所构成的单向链式分发路径,所述首节点为系统中具有完整的所述待分发内容的节点;
处理模块,用于根据所述待分发内容的标识,从首节点中获取所述待分发内容的元数据,所述待分发内容的元数据中包括所述待分发内容的数字签名、块索引以及块哈希值;
所述处理模块,还用于根据所述内容分发路径以及所述待分发内容的元数据,进行内容分发处理;
所述内容分发路径由分发控制器根据云计算系统的物理组网拓扑、云计算系统中各节点的状态流量以及分发目标节点列表所生成,包括:
根据云计算系统的物理组网拓扑以及所述分发目标节点列表,将在物理组网中位于同一物理主机或者同一机箱上的两个分发目标节点作为所述内容分发路径中的相邻节点;
确定云计算系统中具有完整的所述待分发内容的节点;
根据云计算系统中各节点的状态流量,将所述具有完整的所述待分发内容的节点中当前流量耗费最低的节点作为所述内容分发路径中的首节点;
所述内容分发路径为由首节点和至少一个分发目标节点所构成的单向链式分发路径。
24.根据权利要求23所述的计算节点,其特征在于,所述内容分发消息中还包括分发目标节点的指定分发速率;
所述处理模块,具体用于根据所述内容分发路径以及所述待分发内容的元数据,按照所述指定分发速率进行内容分发处理。
25.根据权利要求24所述的计算节点,其特征在于,还包括:
发送模块,用于向分发控制器上报准备就绪状态;
所述接收模块,还用于接收所述分发控制器发送的内容接收与转发指示。
26.根据权利要求23所述的计算节点,其特征在于,所述处理模块包括:
接收单元,用于接收上游节点发送的块;
校验单元,用于根据所述待分发内容的元数据中的块索引以及块哈希值,对所述块进行哈希校验,获取校验结果;
发送单元,用于在所述校验结果为校验成功时,保存所述块,并按照指定分发速率将所述块发送给所述内容分发路径中的下游节点。
27.根据权利要求26所述的计算节点,其特征在于,所述发送单元具体用于:
若发送失败,则进行重新发送;以及,
若重新发送失败的次数达到预设次数,则向分发控制器发送分发失败消息,以使所述分发控制器根据所述下游节点的状态重新建立内容分发路径。
28.根据权利要求26或27所述的计算节点,其特征在于,
所述处理模块,还用于在接收到所述待分发内容对应的所有块时,根据所述数字签名对所述待分发内容进行数字签名检查,并将数字签名检查的结果上报给分发控制器。
29.一种内容分发系统,其特征在于,所述系统包括权利要求15-22任一所述的内容分发装置以及权利要求23-28任一所述的计算节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610931630.XA CN108023812B (zh) | 2016-10-31 | 2016-10-31 | 云计算系统的内容分发方法及装置、计算节点及系统 |
PCT/CN2017/091276 WO2018076765A1 (zh) | 2016-10-31 | 2017-06-30 | 云计算系统的内容分发方法及装置、计算节点及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610931630.XA CN108023812B (zh) | 2016-10-31 | 2016-10-31 | 云计算系统的内容分发方法及装置、计算节点及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108023812A CN108023812A (zh) | 2018-05-11 |
CN108023812B true CN108023812B (zh) | 2021-06-08 |
Family
ID=62023016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610931630.XA Active CN108023812B (zh) | 2016-10-31 | 2016-10-31 | 云计算系统的内容分发方法及装置、计算节点及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108023812B (zh) |
WO (1) | WO2018076765A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109194542B (zh) * | 2018-08-22 | 2021-05-07 | 网宿科技股份有限公司 | Cdn系统中直播流内耗统计的方法和装置 |
CN109376134B (zh) * | 2018-09-29 | 2022-04-01 | 深圳市网心科技有限公司 | 一种文件分布式部署方法、装置、系统及存储介质 |
CN111200479B (zh) * | 2018-11-19 | 2022-04-12 | 福建天泉教育科技有限公司 | 传输数据的校验方法、存储介质 |
CN109800050B (zh) * | 2018-11-22 | 2021-11-23 | 海光信息技术股份有限公司 | 一种虚拟机的内存管理方法、装置、相关设备及系统 |
CN109995866B (zh) * | 2019-04-03 | 2022-04-29 | 深圳市网心科技有限公司 | 分布式文件校验方法、装置、计算机装置及存储介质 |
CN112688980B (zh) * | 2019-10-18 | 2022-10-25 | 上海哔哩哔哩科技有限公司 | 资源分发方法、装置、计算机设备 |
CN110831010B (zh) * | 2019-10-21 | 2024-04-16 | 上海鹄恩信息科技有限公司 | 一种多通道数据发送及接收方法及装置和数据传输系统 |
CN111277630B (zh) * | 2020-01-13 | 2022-09-09 | 腾讯科技(深圳)有限公司 | 一种路由控制方法、装置、电子设备和存储介质 |
CN113630446A (zh) * | 2021-07-20 | 2021-11-09 | 湖北美和易思教育科技有限公司 | 基于路径扩散的文件分发方法、系统及可读存储介质 |
CN113836186B (zh) * | 2021-09-28 | 2023-10-10 | 北京环境特性研究所 | 基于es搜索引擎的仿真数据查询方法及装置 |
CN114884951A (zh) * | 2022-05-23 | 2022-08-09 | 西安明赋云计算有限公司 | 一种基于云计算的内容分发方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373394B1 (en) * | 2003-06-30 | 2008-05-13 | Cisco Technology, Inc. | Method and apparatus for multicast cloud with integrated multicast and unicast channel routing in a content distribution network |
CN101997924A (zh) * | 2010-11-22 | 2011-03-30 | 杨文军 | 云存储文件传输协议(cftp) |
CN101997891A (zh) * | 2009-08-28 | 2011-03-30 | 华为技术有限公司 | 一种p2p媒体流分发的方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160204916A1 (en) * | 2015-01-08 | 2016-07-14 | Ngoc-Dung DAO | System and method for joint optimization of source selection and traffic engineering |
-
2016
- 2016-10-31 CN CN201610931630.XA patent/CN108023812B/zh active Active
-
2017
- 2017-06-30 WO PCT/CN2017/091276 patent/WO2018076765A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373394B1 (en) * | 2003-06-30 | 2008-05-13 | Cisco Technology, Inc. | Method and apparatus for multicast cloud with integrated multicast and unicast channel routing in a content distribution network |
CN101997891A (zh) * | 2009-08-28 | 2011-03-30 | 华为技术有限公司 | 一种p2p媒体流分发的方法、装置及系统 |
CN101997924A (zh) * | 2010-11-22 | 2011-03-30 | 杨文军 | 云存储文件传输协议(cftp) |
Also Published As
Publication number | Publication date |
---|---|
CN108023812A (zh) | 2018-05-11 |
WO2018076765A1 (zh) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108023812B (zh) | 云计算系统的内容分发方法及装置、计算节点及系统 | |
US9385875B2 (en) | Scalable transport with cluster-consensus rendezvous | |
EP3232607B1 (en) | Method and apparatus for establishing multicast group in fat-tree network | |
US20160352815A1 (en) | Data Distribution Based on Network Information | |
CN113472646B (zh) | 一种数据传输方法、节点、网络管理器及系统 | |
Cheng et al. | Application-aware SDN routing for big data networking | |
JP2015122680A (ja) | 論理ネットワークの構築方法、および、ネットワークシステム | |
WO2015010197A1 (en) | Method and apparatus for providing redundant data access | |
WO2017185992A1 (zh) | 一种请求消息传输方法及装置 | |
JP2016116184A (ja) | 網監視装置および仮想ネットワーク管理方法 | |
US10216593B2 (en) | Distributed processing system for use in application migration | |
CN116633934A (zh) | 负载均衡方法、装置、节点及存储介质 | |
CN114157605B (zh) | 一种通讯方法、系统、电子设备及计算机可读存储介质 | |
CN109639502B (zh) | 回源控制方法及内容分发网络 | |
US20190334968A1 (en) | Bit rate reduction processing method for data file, and server | |
CN112087382B (zh) | 一种服务路由方法及装置 | |
CN112217735A (zh) | 信息同步方法与负载均衡系统 | |
CN106209634B (zh) | 地址映射关系的学习方法及装置 | |
JP2015162029A (ja) | サーバ | |
KR101883671B1 (ko) | 노드 분산 방법 및 이를 수행하는 관리 서버 | |
CN106909322B (zh) | 一种虚拟化系统中支持存储灾备的路由方法及装置 | |
US20200341968A1 (en) | Differential Update of Local Cache from Central Database | |
JP2015041938A (ja) | ネットワーク制御方法 | |
You et al. | A coordinated algorithm with resource evaluation for service function chain allocation | |
CN108924066B (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 |