CN105634784A - 控制数据分发方法、装置及系统 - Google Patents
控制数据分发方法、装置及系统 Download PDFInfo
- Publication number
- CN105634784A CN105634784A CN201410643629.8A CN201410643629A CN105634784A CN 105634784 A CN105634784 A CN 105634784A CN 201410643629 A CN201410643629 A CN 201410643629A CN 105634784 A CN105634784 A CN 105634784A
- Authority
- CN
- China
- Prior art keywords
- node
- cdn node
- autonomous domain
- cdn
- main website
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种控制数据分发方法、装置及系统,用于内容分发网络CDN系统中,所述方法包括:CDN节点对网络中的其他CDN节点和所述主站进行探测,得到所述CDN节点的探测结果;根据所述探测结果,计算所述CDN节点与其他CDN节点之间的网络距离;根据所述网络距离进行自治域分组,形成第一自治域;从所述第一自治域中选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点;所述主节点将所述第一自治域的自治域信息汇报给所述主站;接收所述主站发送的控制数据,并将所述控制数据分发给所述第一自治域的从节点;所述从节点等待接收所述第一自治域的主节点发送的控制数据。
Description
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种控制数据分发方法、装置及系统。
背景技术
内容分发网络(ContentDeliveryNetwork,CDN)是在网络的各处放置节点服务器所构成的在现有互联网基础之上的智能虚拟网络。CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的节点上。
CDN系统由有很多服务器节点组成,服务器节点可分为源站(内容服务器)和CDN节点(内容缓存服务器,包括1级cache、2级cache等)。CDN系统除了正常服务的服务器节点之外,还包括主站(控制服务器)。CDN系统的主站可以提供cache软件的配置管理等功能,运维人员可以通过主站对CDN系统进行系统控制,比如解析、设备初始化管理、执行脚本等。
CDN系统的每一个CDN节点在物理上都是相互独立的,但是又有着很多关联。CDN系统的主站需要向CDN节点下发软件配置数据和各种消息等控制数据。目前市面大规模使用的CDN系统还没有在CDN节点之间以及主站和CDN节点之间进行网络优化,会有如下缺点:1)控制数据下发延时特别大,而且,由于网络不稳定等因素导致这些控制数据无法及时的下发下去,甚至无法成功下发;2)一些节点会因为网络无法连通的情况导致节点失控;3)一个机房的设备可能会因为路由器中的一个路由缺失致使无法连接,导致节点失控。
发明内容
本申请的目的是,提供一种控制数据分发方法、装置及系统,解决CDN系统的控制数据下发不够及时,甚至无法下发,可能导致节点失控的问题。
本申请提供了一种控制数据分发方法,用于内容分发网络CDN系统中,所述CDN系统包括主站和CDN节点,所述方法包括:
所述CDN节点对网络中的其他CDN节点和所述主站进行探测,得到所述CDN节点的探测结果,所述CDN节点的探测结果包括所述CDN节点与所述主站之间的链路信息以及所述CDN节点与其他CDN节点之间的链路信息;
根据所述CDN节点与其他CDN节点之间的链路信息,计算所述CDN节点与其他CDN节点之间的网络距离;
根据所述网络距离进行自治域分组,形成第一自治域;
根据所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点;
所述主节点将所述第一自治域的自治域信息汇报给所述主站;接收所述主站发送的控制数据,并将所述控制数据分发给所述第一自治域的从节点;
所述从节点等待接收所述第一自治域的主节点发送的控制数据。
又一方面,本申请还提供了一种控制数据分发装置,用于内容分发网络CDN系统的CDN节点中,其中,所述CDN系统还包括主站,所述装置包括:
探测单元,用于对网络中的其他CDN节点和所述主站进行探测,得到所述CDN节点的探测结果,所述CDN节点的探测结果包括所述CDN节点与所述主站之间的链路信息以及所述CDN节点与其他CDN节点之间的链路信息;
计算单元,用于根据所述探测单元得到的所述CDN节点与其他CDN节点之间的链路信息,计算所述CDN节点与其他CDN节点之间的网络距离;
分组单元,用于根据所述计算单元计算的所述网络距离进行自治域分组,形成第一自治域;
选举单元,用于根据所述探测单元得到的所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点;
第一处理单元,用于当所述CDN节点为所述主节点时,将所述第一自治域的自治域信息发送给所述主站;通过接收单元接收所述主站发送的控制数据,并通过发送单元将所述控制数据分发给所述第一自治域的从节点;
第二处理单元,用于当所述CDN节点为所述从节点时,等待通过所述接收单元接收所述第一自治域的主节点发送的控制数据。
又一方面,本申请还提供了一种CDN系统,所述系统包括:主站和多个CDN节点;
所述CDN节点对网络中的其他CDN节点和所述主站进行探测,得到所述CDN节点的探测结果,所述CDN节点的探测结果包括所述CDN节点与所述主站之间的链路信息以及所述CDN节点与其他CDN节点之间的链路信息;
所述CDN节点根据所述CDN节点与其他CDN节点之间的链路信息,计算所述CDN节点与其他CDN节点之间的网络距离;
所述CDN节点根据所述网络距离进行自治域分组,形成第一自治域;
所述CDN节点根据所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点;
所述主站接收所述第一自治域的主节点汇报的自治域信息;
所述主站发送控制数据给所述第一自治域的主节点;
所述主节点将所述控制数据分发给所述第一自治域的从节点。
本申请提供的控制数据分发方法、装置及系统,对CDN节点进行自治域的自动划分,选取自治域的主节点,并通过自治域的主节点将主站发送的控制数据分发给从节点,可以减少网络损耗,将控制数据有效及时地下发,避免由于网络无法连通到节点失控的情况。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种CDN系统的结构示意图;
图2为本申请实施例提供的一种控制数据分发方法流程图;
图3为本申请实施例提供的一种控制数据分发装置示意图;
图4为本申请实施例提供的一种CDN系统的结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的控制数据分发方法、装置及系统,适用于各种CDN系统的控制数据分发过程,尤其是在无法保证所有CDN节点与主站的链路均相通的CDN系统中,例如,远距离的CDN系统、链路质量不稳定的系统等。
图1是本申请实施例提供的一种CDN系统的结构示意图,如图1所示,所述CDN系统包括:主站1、CDN节点2及源站3。用户通过CDN节点2请求所需要的资源,CDN节点2在接收到用户的请求后,到对应的源站3去获取具体的内容返回给用户。主站1用于向CDN节点2下发软件配置数据和各种消息等控制数据,用以监控CDN系统的CDN节点2。例如,在源站3的图片要过期时,主站1可以向CDN节点2发送数据(图片)过期的指示消息,由于无论是图片还是其他类型的资源在CDN节点2中都是以一个具体的统一资源标识符(UniformResourceLocator,URL)的形式存储的,因而,该指示消息会在CDN节点2上把相应的URL标示成过期的状态,而后续当用户再次访问这个URL资源时,CDN节点2就会去源站3中重新获取资源,即对应的URL,并缓存新的资源,删除过期的数据,这样就避免获取到过期的图片。
图2是本实施例提供的控制数据分发方法流程图,如图2所示,本申请的控制数据分发方法包括:
S101、CDN节点对网络中的其他CDN节点和所述主站进行探测,得到所述CDN节点的探测结果。
所述CDN节点的探测结果包括所述CDN节点与所述主站之间的链路信息以及所述CDN节点与其他CDN节点之间的链路信息。
所述CDN节点与所述主站之间的链路信息可以包括但不限于以下所列中的一种或任意结合:所述CDN节点与所述主站之间的网络延时、所述CDN节点与所述主站之间网络传输的丢包率以及所述CDN节点与所述主站或其他CDN节点之间的网络速度。
所述CDN节点与其他CDN节点之间的链路信息包括以下所列中的一种或任意结合:所述CDN节点与其他CDN节点之间的网络响应延时、所述CDN节点与其他CDN节点之间网络传输的丢包率以及所述CDN节点与其他CDN节点之间的网络速度。
具体地,可以在CDN节点和主站上面都安装一个软件,当软件启动后,节点即会探测所有其他节点,得到对应的链路信息。
S102、根据所述CDN节点与其他CDN节点之间的链路信息,计算所述CDN节点与其他CDN节点之间的网络距离。
所述网络距离是根据探测结果中的网络延时、丢包率、网络速度等信息进行计算得到一个权值,用以表示两个节点之间的链路连接状况。网络距离越小,代表这两个节点之间的链路连接状况越好。如果两个节点之间的链路不通,则将这两个节点之间的网络距离设为最大值。
当然,在计算网络距离时,还可以结合其他信息,例如是否跨运营商等,进行权值的计算。
S103、根据所述网络距离进行自治域分组,形成第一自治域。
具体地,将与所述CDN节点的网络距离小于预设阈值的其他CDN节点确定为与所述CDN节点处于同一个自治域中,形成第一自治域。
预设阈值可以根据实际应用场景或以往经验进行设置。网络距离在预设阈值范围内的,可以认为这两个节点之间的链路状况良好,将这些节点组成一个自治域,在同一个自治域内,认为网络状况良好。
S104、根据所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点。如果所述CDN节点被选为所述主节点,则进入步骤S105,如果所述CDN节点为所述从节点,则进入步骤S106。
根据所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点,具体包括:根据所述CDN节点与其他CDN节点之间的链路信息以及所述CDN节点与所述主站之间的链路信息,从所述第一自治域中按照预定规则选取一个CDN节点作为主(master)节点,所述第一自治域中的其他节点为从(slave)节点。
所述预定规则是预先权衡各个考虑因素后设定的规则,可以包括各个考虑因素的优先顺序,或者是各个考虑因素的权重分配,具体可以根据实际使用场景的不同进行调整。例如,在某个场景中,考虑的因素可以包括:(1)在本自治域中和其他CDN节点的链路好,比如,该CDN节点与其他CDN节点的网络距离之和最小;(2)节点和主站的链路好,或者通过其他自治域跳转到主站的链路好,比如,该CDN节点与主站的网络距离最小;(3)节点的负载低,例如,负载不超过80%。那么,在这个场景中,就可以按照上述考虑因素来决定每个CDN节点的投票选取结果。
举个例子,一个自治域中有10个CDN节点,在选举的过程中,每个CDN节点在投票开始时,可能会先选取自己为主节点,然后向其他CDN节点广播预选取结果,在广播预选取结果的过程中向其他CDN节点发送的信息包括:(1)本节点与其他CDN节点的网络距离之和;(2)本节点与主站的网络距离;以及(3)本节点的负载信息。每个CDN节点在接收到其他CDN节点发送的信息后,调整自己的选取结果。例如,节点A接收到节点B的预选取结果后,可以获取到节点B与其他CDN节点的网络距离之和、节点B的负载信息等,如果节点B的网络距离之和小于节点A的,而且,节点B的负载不超过80%,那么节点A将选取节点B为主节点。同理,该自治域中的其他节点也会进行相应的调整,如果节点B的情况最好,那么,节点B得到的投票数最多的可能性越大,当选主节点的可能性也越大。最后,根据自治域中10个CDN节点的投票结果,确定主节点。
在每一个自治域中选举一个主节点,其他节点为从节点。每个自治域通过主节点与主站进行通信,自治域之间可以也通过主节点进行通信。
可选的,步骤S101得到的所述CDN节点的探测结果还包括其他CDN节点的负载信息。
在选取主节点时,也可以根据CDN节点的负载信息及其他CDN节点的负载信息进行选取,比如,可以将其他节点的负载与本节点的负载作对比,如果本节点的负载比较重,则不会选取本节点作为主节点。
即,所述根据所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点,具体包括:根据所述CDN节点与其他CDN节点之间的链路信息,所述CDN节点与所述主站之间的链路信息,所述CDN节点的负载信息,以及,所述其他CDN节点的负载信息,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点。
需要说明的是,如果当前CDN节点与所述主站之间的链路是相通的,那么在考虑其他CDN节点的负载信息可以只考虑本自治域中的其他CDN节点。如果本CDN节点与所述主站之间的链路不通,那么,在考虑所述其他CDN节点的负载信息时,需要考虑其他自治域的CDN节点,可以只考虑其他主节点的CDN节点。
这个主节点的选取过程可以由一个自治域中的每个节点投票选举产生。
S105、将所述第一自治域的自治域信息发送给所述主站,接收所述主站发送的控制数据,并将所述控制数据分发给所述第一自治域的从节点。
所述第一自治域的自治域信息包括:所述第一自治域的节点列表以及所述主节点的探测结果。主节点可以仅汇报自己的探测结果,而对于自治域内的从节点的探测结果,为了节省网络流量,可以不进行汇报。
S106、等待接收所述第一自治域的主节点发送的控制数据。
在实际的CDN系统业务运营期间,主站可能随时都需要向所有CDN节点同步配置。在形成自治域之后,主站仅需要把配置信息下发到每一个自治域的主节点,自治域中的从节点则去主节点取内容,这样可以减少网络损耗。所有的自治域的主节点汇总到一起,又组成了一个节点群。
虽然可以通过主节点向从节点转发控制数据的方式可以减少网络损失,但是也不能保证所有的主节点都能和主站是连通的。比如,美国的主节点可能就不能和杭州的主站正常通信。
因此,将所述第一自治域的自治域信息汇报给所述主站,可以包括:直接将所述第一自治域的自治域信息发送给所述主站;或者,将所述第一自治域的自治域信息发送给第二自治域的主节点,以经过所述第二自治域的主节点转发给所述主站。
这样,在一个自治域的主节点无法与主站直接相通时,该自治域的主节点也可以把其他自治域的主节点作为代理,通过其他自治域的主节点转发的方式与主站进行通信,接收主站的控制数据。比如,美国的主节点和杭州的主节点之间就可以选择通过其他的主节点作为代理后进行通信。
在形成包括主节点和从节点的自治域之后,主站与主节点或从节点之间的链路也即形成,可以进行双向通信。一方面,主站可以通过主节点向从节点下发控制数据。另一方面,从节点也可以通过主节点向主站汇报数据。
例如,自治域中的从节点接收到主站发送的控制数据后,根据该控制数据进行相应的操作,而后,还可以通过自治域中的主节点向主站汇报数据。比如,主站发送的控制数据是让CDN节点删除一个URL,在CDN节点完成删除操作之后,CDN节点还会通过主节点向主站汇报已经删除了对应的URL的消息。
可选的,本申请实施例提供的控制数据分发方法还包括:定期对所述网络中的所述主站和其他CDN节点进行重新探测,更新所述CDN节点的探测结果,更新所述网络距离,从而调整所述第一自治域。定期的间隔时间可以根据实际使用情况进行设定,例如,一天或一周等。
可选的,在S103形成第一自治域之后,在该第一自治域中还可能会有新增的CDN节点或者删除的CDN节点。
当接收到所述第一自治域中新增CDN节点的消息时,如果当前的CDN节点是主节点,更新所述第一自治域的节点列表。如果当前的CDN节点是从节点,可以不作处理,待到定期更新的时刻来临时,再对网络中的其他节点进行探测后重新分组。
当接收到所述第一自治域中删除CDN节点的消息时,如果当前的CDN节点是主节点,则,更新所述第一自治域的节点列表。如果当前的CDN节点是从节点,则,判断所述删除的节点是否为所述第一自治域的主节点,若是,则从所述第一自治域中重新选取一个CDN节点作为主节点,或者,对所述网络中的所述主站和其他CDN节点进行重新探测,更新所述CDN节点的探测结果,并重新计算所述网络距离,重新进行自治域分组。若所述删除的节点是从节点,则可以不作处理,可以待到定期更新的时刻来临时,再对网络中的其他节点进行探测后重新分组。
具体地,在将所述第一自治域的自治域信息汇报给所述主站(即当前CDN节点为主节点)之后,还包括:当接收到所述第一自治域中新增或删除CDN节点的消息时,更新所述第一自治域的节点列表。
或者,在所述等待接收所述第一自治域的主节点发送的控制数据(即当前CDN节点为从节点)之后,还包括:当接收到所述第一自治域中删除CDN节点的消息时,判断所述删除的节点是否为所述第一自治域的主节点,若是,则从所述第一自治域中重新选取一个CDN节点作为主节点,或者,对所述网络中的所述主站和其他CDN节点进行重新探测,更新所述CDN节点的探测结果,并重新计算所述网络距离,重新进行自治域分组。
这样,通过实时或定期地对自治域进行自动分组,通过自治域中的主节点向从节点分发主站的控制数据,可以有效地避免网络不稳定引起的网络无法连通而导致控制数据无法下发,甚至导致节点失控的问题。
本申请实施例提供的控制数据分发方法,通过自治域中的主节点向从节点分发控制数据,主站仅需要将控制数据发送给自治域中的主节点,可以减小主站的网络压力;而且,在同一个自治域中网络质量较好便于传输,可以减少网络消耗;另外,在CDN节点与主站的链路不通时,也可以从对应自治域中的主节点获取主站的控制数据,或者,自治域的主节点跟主站的链路不通时,也可以通过其他自治域的主节点转发来获取主站的控制数据,避免了无法下发的问题。
以上是对本申请实施例所提供的控制数据分发方法进行的详细描述,下面对本申请提供的控制数据分发装置及系统进行详细描述。
与图2对应地,图3是本申请实施例提供的一种控制数据分发装置示意图,该装置可用于CDN系统的CDN节点中,如图3所示,所述装置包括:探测单元301、计算单元302、分组单元303、选举单元304、第一处理单元305、第二处理单元306、接收单元307和发送单元308。
探测单元301用于对网络中的所述主站和其他CDN节点进行探测,得到所述CDN节点的探测结果。
所述CDN节点的探测结果包括所述CDN节点与所述主站之间的链路信息以及所述CDN节点与其他CDN节点之间的链路信息。
其中,所述CDN节点与所述主站之间的链路信息包括以下所列中的一种或任意结合:所述CDN节点与所述主站之间的网络响应延时、所述CDN节点与所述主站之间网络传输的丢包率以及所述CDN节点与所述主站之间的网络速度。
所述CDN节点与其他CDN节点之间的链路信息包括以下所列中的一种或任意结合:所述CDN节点与其他CDN节点之间的网络响应延时、所述CDN节点与其他CDN节点之间网络传输的丢包率以及所述CDN节点与其他CDN节点之间的网络速度。
计算单元302用于根据探测单元301得到的所述CDN节点与其他CDN节点之间的链路信息,计算所述CDN节点与其他CDN节点之间的网络距离。
分组单元303用于根据计算单元302计算的所述网络距离进行自治域分组,形成第一自治域。
具体地,分组单元303将与所述CDN节点的网络距离小于预设阈值的其他CDN节点确定为与所述CDN节点处于同一个自治域中,形成第一自治域。
选举单元304用于根据探测单元301得到的所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点。
第一处理单元305用于当所述CDN节点为所述主节点时,将所述第一自治域的自治域信息发送给所述主站;通过接收单元307接收所述主站发送的控制数据,并通过发送单元308将所述控制数据分发给所述第一自治域的从节点。
所述第一自治域的自治域信息包括:所述第一自治域的节点列表以及所述主节点的探测结果。
第二处理单元306用于当所述CDN节点为所述从节点时,等待通过接收单元307接收所述第一自治域的主节点发送的控制数据。
可选的,探测单元301得到的所述CDN节点的探测结果还包括所述其他CDN节点的负载信息。选举单元304具体用于根据所述CDN节点与其他CDN节点之间的链路信息,所述CDN节点与所述主站之间的链路信息,所述CDN节点的负载信息,以及,所述其他CDN节点的负载信息,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点。
可选的,第一处理单元305用于通过发送单元308将所述第一自治域的自治域信息汇报给所述主站,可以包括:
第一处理单元305直接通过发送单元308将所述第一自治域的自治域信息发送给所述主站;或者,第一处理单元305通过发送单元308将所述第一自治域的自治域信息发送给第二自治域的主节点,以经过所述第二自治域的主节点转发给所述主站。
可选的,本申请实施例提供的控制数据分发装置可以包括:
定期更新单元,用于定期启动探测单元301对所述网络中的所述主站和其他CDN节点进行重新探测,更新所述CDN节点的探测结果,通过计算单元302更新所述网络距离,从而利用分组单元303调整所述第一自治域。
可选的,第一处理单元305还用于当接收单元307接收到所述第一自治域中新增或删除CDN节点的消息时,更新所述第一自治域的节点列表。
可选的,第二处理单元306还用于当接收单元307接收到所述第一自治域中删除CDN节点的消息时,判断所述删除的节点是否为所述第一自治域的主节点,若是,则利用选举单元304从所述第一自治域中重新选取一个CDN节点作为主节点,或者,重新启动探测单元301对所述网络中的所述主站和其他CDN节点进行重新探测,更新所述CDN节点的探测结果,并利用计算单元302重新计算所述网络距离,以及利用分组单元303重新进行自治域分组。
上述各单元的功能可对应于图2详细描述的上述控制数据分发方法的处理步骤,于此不再赘述。
图4是本申请实施例提供的一种CDN系统,如图4所示,该系统包括:主站401和多个CDN节点(CDN节点402、CDN节点403等)。
具体地,可以包括以下处理过程:
CDN节点402对网络中的主站401和其他CDN节点403进行探测,得到CDN节点402的探测结果。CDN节点402的探测结果包括CDN节点402与主站401之间的链路信息以及CDN节点402与其他CDN节点403之间的链路信息。
CDN节点402根据所述CDN节点402与其他CDN节点403之间的链路信息,计算CDN节点402与其他CDN节点403之间的网络距离。
CDN节点402根据所述网络距离进行自治域分组,形成第一自治域。CDN节点402所在的第一自治域可能包括CDN节点403,也可能不包括。
CDN节点402根据所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点。
主站401接收第一自治域的主节点汇报的自治域信息。
主站发送控制数据给第一自治域的主节点。
第一自治域的主节点将所述控制数据分发给所述第一自治域的从节点。
上述CDN节点的具体功能可对应于图2中详细描述的上述控制数据分发方法的处理步骤或图3中描述的控制数据分发装置的功能,于此不再赘述。
本申请提供的控制数据分发方法、装置及系统,通过自治域中的主节点向从节点分发控制数据,主站仅需要将控制数据发送给自治域中的主节点,可以减小主站的网络压力;而且,在同一个自治域中网络质量较好便于传输,可以减少网络消耗;另外,在CDN节点与主站的链路不通时,也可以从对应自治域中的主节点获取主站的控制数据,或者,自治域的主节点跟主站的链路不通时,也可以通过其他自治域的主节点转发来获取主站的控制数据,避免了无法下发的问题。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种控制数据分发方法,其特征在于,用于内容分发网络CDN系统中,所述CDN系统包括主站和CDN节点,所述方法包括:
所述CDN节点对网络中的其他CDN节点和所述主站进行探测,得到所述CDN节点的探测结果,所述CDN节点的探测结果包括所述CDN节点与所述主站之间的链路信息以及所述CDN节点与其他CDN节点之间的链路信息;
根据所述CDN节点与其他CDN节点之间的链路信息,计算所述CDN节点与其他CDN节点之间的网络距离;
根据所述网络距离进行自治域分组,形成第一自治域;
根据所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点;
所述主节点将所述第一自治域的自治域信息汇报给所述主站;接收所述主站发送的控制数据,并将所述控制数据分发给所述第一自治域的从节点;
所述从节点等待接收所述第一自治域的主节点发送的控制数据。
2.根据权利要求1所述的方法,其特征在于,所述CDN节点与所述主站之间的链路信息包括以下所列中的一种或任意结合:所述CDN节点与所述主站之间的网络响应延时、所述CDN节点与所述主站之间网络传输的丢包率以及所述CDN节点与所述主站之间的网络速度;
所述CDN节点与其他CDN节点之间的链路信息包括以下所列中的一种或任意结合:所述CDN节点与其他CDN节点之间的网络响应延时、所述CDN节点与其他CDN节点之间网络传输的丢包率以及所述CDN节点与其他CDN节点之间的网络速度。
3.根据权利要求1所述的方法,其特征在于,所述根据所述网络距离进行自治域分组,具体包括:
将与所述CDN节点的网络距离小于预设阈值的其他CDN节点确定为与所述CDN节点处于同一个自治域中。
4.根据权利要求1所述的方法,其特征在于,所述CDN节点的探测结果还包括所述其他CDN节点的负载信息;
所述根据所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点,具体包括:
根据所述CDN节点与其他CDN节点之间的链路信息,所述CDN节点与所述主站之间的链路信息,所述CDN节点的负载信息,以及,所述其他CDN节点的负载信息,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点。
5.根据权利要求1所述的方法,其特征在于,所述将所述第一自治域的自治域信息汇报给所述主站,具体包括:
直接将所述第一自治域的自治域信息发送给所述主站;
或者,将所述第一自治域的自治域信息发送给第二自治域的主节点,以经过所述第二自治域的主节点转发给所述主站。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
定期对所述网络中的所述主站和其他CDN节点进行重新探测,更新所述CDN节点的探测结果,更新所述网络距离,从而调整所述第一自治域。
7.根据权利要求1所述的方法,其特征在于,所述第一自治域的自治域信息包括:所述第一自治域的节点列表以及所述主节点的探测结果。
8.根据权利要求7所述的方法,其特征在于,在将所述第一自治域的自治域信息汇报给所述主站之后,还包括:
当接收到所述第一自治域中新增或删除CDN节点的消息时,更新所述第一自治域的节点列表。
9.根据权利要求1所述的方法,其特征在于,在所述等待接收所述第一自治域的主节点发送的控制数据之后,还包括:
当接收到所述第一自治域中删除CDN节点的消息时,判断所述删除的节点是否为所述第一自治域的主节点,若是,则从所述第一自治域中重新选取一个CDN节点作为主节点,或者,对所述网络中的所述主站和其他CDN节点进行重新探测,更新所述CDN节点的探测结果,并重新计算所述网络距离,重新进行自治域分组。
10.一种控制数据分发装置,其特征在于,用于内容分发网络CDN系统的CDN节点中,其中,所述CDN系统还包括主站,所述装置包括:
探测单元,用于对网络中的其他CDN节点和所述主站进行探测,得到所述CDN节点的探测结果,所述CDN节点的探测结果包括所述CDN节点与所述主站之间的链路信息以及所述CDN节点与其他CDN节点之间的链路信息;
计算单元,用于根据所述探测单元得到的所述CDN节点与其他CDN节点之间的链路信息,计算所述CDN节点与其他CDN节点之间的网络距离;
分组单元,用于根据所述计算单元计算的所述网络距离进行自治域分组,形成第一自治域;
选举单元,用于根据所述探测单元得到的所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点;
第一处理单元,用于当所述CDN节点为所述主节点时,将所述第一自治域的自治域信息发送给所述主站;通过接收单元接收所述主站发送的控制数据,并通过发送单元将所述控制数据分发给所述第一自治域的从节点;
第二处理单元,用于当所述CDN节点为所述从节点时,等待通过所述接收单元接收所述第一自治域的主节点发送的控制数据。
11.根据权利要求10所述的装置,其特征在于,所述CDN节点与所述主站之间的链路信息包括以下所列中的一种或任意结合:所述CDN节点与所述主站之间的网络响应延时、所述CDN节点与所述主站之间网络传输的丢包率以及所述CDN节点与所述主站之间的网络速度;
所述CDN节点与其他CDN节点之间的链路信息包括以下所列中的一种或任意结合:所述CDN节点与其他CDN节点之间的网络响应延时、所述CDN节点与其他CDN节点之间网络传输的丢包率以及所述CDN节点与其他CDN节点之间的网络速度。
12.根据权利要求10所述的装置,其特征在于,所述分组单元用于将与所述CDN节点的网络距离小于预设阈值的其他CDN节点确定为与所述CDN节点处于同一个自治域中。
13.根据权利要求10所述的装置,其特征在于,所述探测单元得到的所述CDN节点的探测结果还包括所述其他CDN节点的负载信息;
所述选举单元具体用于根据所述CDN节点与其他CDN节点之间的链路信息,所述CDN节点与所述主站之间的链路信息,所述CDN节点的负载信息,以及,所述其他CDN节点的负载信息,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点。
14.根据权利要求10所述的装置,其特征在于,所述第一处理单元用于通过所述发送单元将所述第一自治域的自治域信息汇报给所述主站,包括:
所述第一处理单元直接通过所述发送单元将所述第一自治域的自治域信息发送给所述主站;
或者,所述第一处理单元通过所述发送单元将所述第一自治域的自治域信息发送给第二自治域的主节点,以经过所述第二自治域的主节点转发给所述主站。
15.根据权利要求10所述的装置,其特征在于,所述装置还包括:
定期更新单元,用于定期启动所述探测单元对所述网络中的所述主站和其他CDN节点进行重新探测,更新所述CDN节点的探测结果,通过所述计算单元更新所述网络距离,从而利用所述分组单元调整所述第一自治域。
16.根据权利要求10所述的装置,其特征在于,所述第一自治域的自治域信息包括:所述第一自治域的节点列表以及所述主节点的探测结果。
17.根据权利要求16所述的装置,其特征在于,所述第一处理单元还用于当所述接收单元接收到所述第一自治域中新增或删除CDN节点的消息时,更新所述第一自治域的节点列表。
18.根据权利要求10所述的装置,其特征在于,所述第二处理单元还用于当所述接收单元接收到所述第一自治域中删除CDN节点的消息时,判断所述删除的节点是否为所述第一自治域的主节点,若是,则利用所述选举单元从所述第一自治域中重新选取一个CDN节点作为主节点,或者,重新启动所述探测单元对所述网络中的所述主站和其他CDN节点进行重新探测,更新所述CDN节点的探测结果,并利用所述计算单元重新计算所述网络距离,以及利用所述分组单元重新进行自治域分组。
19.一种内容分发网络CDN系统,其特征在于,包括主站和多个CDN节点;
所述CDN节点对网络中的其他CDN节点和所述主站进行探测,得到所述CDN节点的探测结果,所述CDN节点的探测结果包括所述CDN节点与所述主站之间的链路信息以及所述CDN节点与其他CDN节点之间的链路信息;
所述CDN节点根据所述CDN节点与其他CDN节点之间的链路信息,计算所述CDN节点与其他CDN节点之间的网络距离;
所述CDN节点根据所述网络距离进行自治域分组,形成第一自治域;
所述CDN节点根据所述CDN节点的探测结果,从所述第一自治域中按照预定规则选取一个CDN节点作为主节点,所述第一自治域中的其他节点为从节点;
所述主站接收所述第一自治域的主节点汇报的自治域信息;
所述主站发送控制数据给所述第一自治域的主节点;
所述主节点将所述控制数据分发给所述第一自治域的从节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410643629.8A CN105634784B (zh) | 2014-11-06 | 2014-11-06 | 控制数据分发方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410643629.8A CN105634784B (zh) | 2014-11-06 | 2014-11-06 | 控制数据分发方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105634784A true CN105634784A (zh) | 2016-06-01 |
CN105634784B CN105634784B (zh) | 2019-02-05 |
Family
ID=56049323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410643629.8A Active CN105634784B (zh) | 2014-11-06 | 2014-11-06 | 控制数据分发方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105634784B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107517162A (zh) * | 2016-06-17 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种cdn缓存服务器的确定方法及装置 |
CN107579860A (zh) * | 2017-09-29 | 2018-01-12 | 新华三技术有限公司 | 节点选举方法及装置 |
CN107707378A (zh) * | 2017-06-29 | 2018-02-16 | 贵州白山云科技有限公司 | 一种cdn覆盖方案生成方法和装置 |
CN107707379A (zh) * | 2017-06-29 | 2018-02-16 | 贵州白山云科技有限公司 | 一种cdn覆盖方案生成方法和装置 |
CN108123987A (zh) * | 2016-11-30 | 2018-06-05 | 华为技术有限公司 | 从云计算系统中确定主调度器的方法及装置 |
CN108494820A (zh) * | 2018-02-12 | 2018-09-04 | 厦门白山耘科技有限公司 | 一种数据处理方法及系统 |
CN109660624A (zh) * | 2018-12-26 | 2019-04-19 | 网宿科技股份有限公司 | 内容分发网络资源的规划方法、服务器及存储介质 |
CN109688031A (zh) * | 2019-03-04 | 2019-04-26 | 腾讯科技(深圳)有限公司 | 一种网络监控方法及相关设备 |
WO2019144560A1 (zh) * | 2018-01-25 | 2019-08-01 | 网宿科技股份有限公司 | 一种检测网络质量的方法和系统 |
CN110191007A (zh) * | 2019-06-27 | 2019-08-30 | 广州虎牙科技有限公司 | 节点管理方法、系统及计算机可读存储介质 |
CN110932920A (zh) * | 2020-01-23 | 2020-03-27 | 飞诺门阵(北京)科技有限公司 | 一种网络拓扑结构 |
CN111541796A (zh) * | 2016-09-20 | 2020-08-14 | 贵州白山云科技股份有限公司 | Cdn访问流量调度方法、设备、通信系统及存储介质 |
WO2021148015A1 (zh) * | 2020-01-23 | 2021-07-29 | 飞诺门阵(北京)科技有限公司 | 一种计算机系统 |
CN113542135A (zh) * | 2021-08-04 | 2021-10-22 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种cdn通信方法、系统、客户端和服务器 |
CN114520784A (zh) * | 2021-12-24 | 2022-05-20 | 天翼云科技有限公司 | 一种动态内容加速访问方法及装置 |
CN114630402A (zh) * | 2021-11-23 | 2022-06-14 | 杭州安脉盛智能技术有限公司 | 一种无线传感器数据同步采集系统及方法 |
WO2023236792A1 (zh) * | 2022-06-10 | 2023-12-14 | 华为技术有限公司 | 通信方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741731A (zh) * | 2009-12-03 | 2010-06-16 | 中兴通讯股份有限公司 | 内容分发网络中内容元数据的存储、查询方法及管理系统 |
CN102055808A (zh) * | 2011-01-10 | 2011-05-11 | 复旦大学 | 一种降低p2p直播系统中播放延迟的方法与系统 |
CN102546775A (zh) * | 2011-12-27 | 2012-07-04 | 中兴通讯股份有限公司 | 一种cdn中的节点及其自组网方法 |
US20120278379A1 (en) * | 2009-11-13 | 2012-11-01 | Zte Corporation | Relay Node, Distributed Network of Relay Node and Networking Method Thereof |
CN103051709A (zh) * | 2012-12-20 | 2013-04-17 | 新浪网技术(中国)有限公司 | 数据传输路径确定方法、网络节点及内容分发网络系统 |
CN103780475A (zh) * | 2014-02-24 | 2014-05-07 | 中国人民解放军理工大学 | 基于分层自治域的空间信息网络异构动态组网方法 |
-
2014
- 2014-11-06 CN CN201410643629.8A patent/CN105634784B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120278379A1 (en) * | 2009-11-13 | 2012-11-01 | Zte Corporation | Relay Node, Distributed Network of Relay Node and Networking Method Thereof |
CN101741731A (zh) * | 2009-12-03 | 2010-06-16 | 中兴通讯股份有限公司 | 内容分发网络中内容元数据的存储、查询方法及管理系统 |
CN102055808A (zh) * | 2011-01-10 | 2011-05-11 | 复旦大学 | 一种降低p2p直播系统中播放延迟的方法与系统 |
CN102546775A (zh) * | 2011-12-27 | 2012-07-04 | 中兴通讯股份有限公司 | 一种cdn中的节点及其自组网方法 |
CN103051709A (zh) * | 2012-12-20 | 2013-04-17 | 新浪网技术(中国)有限公司 | 数据传输路径确定方法、网络节点及内容分发网络系统 |
CN103780475A (zh) * | 2014-02-24 | 2014-05-07 | 中国人民解放军理工大学 | 基于分层自治域的空间信息网络异构动态组网方法 |
Non-Patent Citations (2)
Title |
---|
于波: ""基于IMS重叠网络的多路径传输关键技术研究"", 《中国博士学位论文全文数据库信息科技辑》 * |
惠雯,尹浩,林闯,杨扬: ""内容分发网络请求路由研究"", 《计算机科学》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107517162B (zh) * | 2016-06-17 | 2020-09-04 | 阿里巴巴集团控股有限公司 | 一种cdn缓存服务器的确定方法及装置 |
CN107517162A (zh) * | 2016-06-17 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种cdn缓存服务器的确定方法及装置 |
CN111541796A (zh) * | 2016-09-20 | 2020-08-14 | 贵州白山云科技股份有限公司 | Cdn访问流量调度方法、设备、通信系统及存储介质 |
CN108123987A (zh) * | 2016-11-30 | 2018-06-05 | 华为技术有限公司 | 从云计算系统中确定主调度器的方法及装置 |
WO2019001514A1 (zh) * | 2017-06-29 | 2019-01-03 | 贵州白山云科技股份有限公司 | 一种cdn覆盖方案生成方法和装置及其计算机可读存储介质和计算机设备 |
WO2019001520A1 (zh) * | 2017-06-29 | 2019-01-03 | 贵州白山云科技股份有限公司 | 一种cdn覆盖方案生成方法和装置及其计算机可读存储介质和计算机设备 |
CN107707379A (zh) * | 2017-06-29 | 2018-02-16 | 贵州白山云科技有限公司 | 一种cdn覆盖方案生成方法和装置 |
CN107707379B (zh) * | 2017-06-29 | 2019-04-02 | 贵州白山云科技股份有限公司 | 一种cdn覆盖方案生成方法和装置 |
US11121939B2 (en) | 2017-06-29 | 2021-09-14 | Guizhou Baishancloud Technology Co., Ltd. | Method and device for generating CDN coverage scheme, and computer-readable storage medium and computer device thereof |
CN107707378A (zh) * | 2017-06-29 | 2018-02-16 | 贵州白山云科技有限公司 | 一种cdn覆盖方案生成方法和装置 |
CN107579860A (zh) * | 2017-09-29 | 2018-01-12 | 新华三技术有限公司 | 节点选举方法及装置 |
US11108676B2 (en) | 2018-01-25 | 2021-08-31 | Wangsu Science & Technology Co., Ltd. | Method and system for detecting network quality based on a network fluctuation model |
WO2019144560A1 (zh) * | 2018-01-25 | 2019-08-01 | 网宿科技股份有限公司 | 一种检测网络质量的方法和系统 |
CN108494820A (zh) * | 2018-02-12 | 2018-09-04 | 厦门白山耘科技有限公司 | 一种数据处理方法及系统 |
CN109660624A (zh) * | 2018-12-26 | 2019-04-19 | 网宿科技股份有限公司 | 内容分发网络资源的规划方法、服务器及存储介质 |
CN109660624B (zh) * | 2018-12-26 | 2022-05-17 | 网宿科技股份有限公司 | 内容分发网络资源的规划方法、服务器及存储介质 |
CN109688031A (zh) * | 2019-03-04 | 2019-04-26 | 腾讯科技(深圳)有限公司 | 一种网络监控方法及相关设备 |
CN110191007B (zh) * | 2019-06-27 | 2022-05-03 | 广州虎牙科技有限公司 | 节点管理方法、系统及计算机可读存储介质 |
CN110191007A (zh) * | 2019-06-27 | 2019-08-30 | 广州虎牙科技有限公司 | 节点管理方法、系统及计算机可读存储介质 |
WO2021148015A1 (zh) * | 2020-01-23 | 2021-07-29 | 飞诺门阵(北京)科技有限公司 | 一种计算机系统 |
CN110932920B (zh) * | 2020-01-23 | 2021-02-02 | 飞诺门阵(北京)科技有限公司 | 一种网络拓扑结构 |
CN110932920A (zh) * | 2020-01-23 | 2020-03-27 | 飞诺门阵(北京)科技有限公司 | 一种网络拓扑结构 |
US11706076B2 (en) | 2020-01-23 | 2023-07-18 | Novnet Computing System Tech Co., Ltd. | Computer system with computing devices, communication device, task processing device |
CN113542135A (zh) * | 2021-08-04 | 2021-10-22 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种cdn通信方法、系统、客户端和服务器 |
CN114630402A (zh) * | 2021-11-23 | 2022-06-14 | 杭州安脉盛智能技术有限公司 | 一种无线传感器数据同步采集系统及方法 |
CN114520784A (zh) * | 2021-12-24 | 2022-05-20 | 天翼云科技有限公司 | 一种动态内容加速访问方法及装置 |
CN114520784B (zh) * | 2021-12-24 | 2023-10-10 | 天翼云科技有限公司 | 一种动态内容加速访问方法及装置 |
WO2023236792A1 (zh) * | 2022-06-10 | 2023-12-14 | 华为技术有限公司 | 通信方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105634784B (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105634784A (zh) | 控制数据分发方法、装置及系统 | |
CN108199897B (zh) | 一种支持缓存管理的opc ua多服务器聚合方法 | |
EP3629521B1 (en) | Rating method for service node, domain name system (dns) scheduling method and server | |
US8719427B2 (en) | Efficiency for network group communication | |
US20150215400A1 (en) | File Upload Method And System | |
CN112565415B (zh) | 一种基于云边协同的跨地域资源纳管系统和纳管方法 | |
CN105357246B (zh) | 基于信息中心网络的缓存方法和系统 | |
CN101009628A (zh) | 一种交换网络拓扑变化时组播表项更新的方法及装置 | |
CN108540367B (zh) | 一种消息处理方法及系统 | |
US11019171B2 (en) | Cache data control method and device | |
CN104506462A (zh) | 一种分布式交换机中mac地址管理方法及设备 | |
CN103763206A (zh) | 一种网络调度方法及网关 | |
CN110768708A (zh) | 一种基于通信卫星的组播方法、服务器和终端 | |
RU2586598C2 (ru) | Тиражирование данных | |
CN104811505A (zh) | 基于云计算环境的客户端网络控制的方法及系统 | |
US9767023B2 (en) | Method of controlling data writing to persistent storage device | |
CN102820989B (zh) | 网络设备及其资产管理方法 | |
EP3435615B1 (en) | Network service implementation method, service controller, and communication system | |
CN109788075B (zh) | 专网网络系统、数据的获取方法及边缘服务器 | |
CN104468674B (zh) | 数据迁移方法及装置 | |
CN106209641A (zh) | 一种报文处理的方法、系统及装置 | |
CN105429823A (zh) | 分布式通信设备中组播流量检测方法及装置 | |
CN103188323B (zh) | 基于用户主机缓存设备提供Web服务的系统和方法 | |
CN116233126A (zh) | 云端远程设备接入系统 | |
CN110971669B (zh) | 消息通知方法、装置、服务器、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1225528 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |