CDN网络系统及其网络回源方法
技术领域
本发明涉及计算机技术领域,具体涉及一种CDN网络系统及其网络回源方法。
背景技术
目前的CDN(Content Delivery Network,内容分发网络)网络回源需要依托预先配置的回源链路或结点,尤其在网络链路质量下降时,回源链路无法动态实时调整,一段时间内网络回源过程受阻,需要人工重新配置回源链路,造成网络用户的网络体验差和网络运维成本高。
发明内容
本发明的目的在于提供一种CDN网络系统及其网络回源方法,能够动态的为CDN服务器分配回源链路,并能够针对链路质量对回源路径进行动态调整,避免造成回源链路受阻或故障。
为实现上述目的,本发明的技术方案提供了一种CDN网络系统,包括SD-CDN调度服务器、源站、DNS服务器、若干个CDN服务器以及由多个网络转发设备构成的网络转发系统,所述SD-CDN调度服务器、所述源站、所述DNS服务器、所述若干个CDN服务器分别连接至所述网络转发系统,其中,所述SD-CDN调度服务器包括:
路径计算模块,用于采集所述CDN网络系统的网络信息,以及在接收到任一CDN服务器发送的网络回源请求后通过所述DNS服务器获取所述源站的IP地址,并根据所述CDN网络系统的网络信息计算所述任一CDN服务器到所述源站的最优路径;
流表生成模块,用于若所述最优路径中存在除所述任一CDN服务器以外的其他CDN服务器,则分段生成流表信息,包括所述任一CDN服务器到所述其他CDN服务器的第一段流表以及所述其他CDN服务器到所述源站的第二段流表;
第一调度模块,用于将所述第一段流表下发至所述网络转发系统的网络转发设备,然后向所述任一CDN服务器发送包含所述其他CDN服务器的信息的网络回源请求响应信息,以使所述任一CDN服务器在接收到所述网络回源请求响应信息后将用户的网络访问请求转发至所述其他CDN服务器;
第二调度模块,用于当接收到所述其他CDN服务器发送的网络回源路径请求后将所述第二段流表下发至所述网络转发系统的网络转发设备,然后向所述其他CDN服务器发送网络回源路径响应信息,以使所述其他CDN服务器在接收到所述网络回源路径响应信息后将用户的网络访问请求转发至所述源站,进而使所述源站在接收到用户的网络访问请求后将用户请求的资源信息发送至所述其他CDN服务器,再通过所述任一CDN服务器将所述资源信息发送至用户。
进一步地,所述SD-CDN调度服务器还包括:
第一删除控制模块,用于在接收到所述其他CDN服务器发送的第一网络回源成功信息后向所述网络转发系统发送第一删除指令,以控制所述网络转发系统中的网络转发设备删除所述第二段流表。
进一步地,所述SD-CDN调度服务器还包括:
第二删除控制模块,用于在接收到所述任一CDN服务器发送的第二网络回源成功信息后向所述网络转发系统发送第二删除指令,以控制所述网络转发系统中的网络转发设备删除所述第一段流表。
进一步地,所述网络信息至少包括CDN结点信息、网络转发设备信息、网络拓扑信息、链路带宽信息。
为实现上述目的,本发明的技术方案还提供了一种CDN网络系统的网络回源方法,所述CDN网络系统包括SD-CDN调度服务器、源站、DNS服务器、若干个CDN服务器以及由多个网络转发设备构成的网络转发系统,所述SD-CDN调度服务器、所述源站、所述DNS服务器、所述若干个CDN服务器分别连接至所述网络转发系统,所述网络回源方法包括:
步骤S1:所述SD-CDN调度服务器采集所述CDN网络系统的网络信息;
步骤S2:当任一CDN服务器接收到用户的网络访问请求时,若所述任一CDN服务器未缓存有用户请求的资源信息,则向所述SD-CDN调度服务器发送网络回源请求;
步骤S3:所述SD-CDN调度服务器在接收到所述任一CDN服务器发送的网络回源请求后通过所述DNS服务器获取所述源站的IP地址;
步骤S4:所述SD-CDN调度服务器根据所述CDN网络系统的网络信息计算所述任一CDN服务器到所述源站的最优路径;
步骤S5:若所述最优路径中存在除所述任一CDN服务器以外的其他CDN服务器,则所述SD-CDN调度服务器分段生成流表信息,包括所述任一CDN服务器到所述其他CDN服务器的第一段流表以及所述其他CDN服务器到所述源站的第二段流表,所述SD-CDN调度服务器先将所述第一段流表下发至所述网络转发系统的网络转发设备,然后向所述任一CDN服务器发送包含所述其他CDN服务器的信息的网络回源请求响应信息;
步骤S6:所述任一CDN服务器在接收到所述网络回源请求响应信息后将用户的网络访问请求按照所述第一段流表转发至所述其他CDN服务器,若所述其他CDN服务器未缓存有用户请求的资源信息,则所述其他CDN服务器向所述SD-CDN调度服务器发送网络回源路径请求;
步骤S7:所述SD-CDN调度服务器接收到所述其他CDN服务器发送的网络回源路径请求后将所述第二段流表下发至所述网络转发系统的网络转发设备,然后向所述其他CDN服务器发送网络回源路径响应信息;
步骤S8:所述其他CDN服务器在接收到所述网络回源路径响应信息后将用户的网络访问请求按照所述第二段流表转发至所述源站;
步骤S9:所述源站在接收到用户的网络访问请求后将用户请求的资源信息发送至所述网络转发系统,所述网络转发系统中的网络转发设备按照所述第二段流表将用户请求的资源信息发送至所述其他CDN服务器进行缓存;
步骤S10:所述其他CDN服务器缓存用户请求的资源信息后将用户请求的资源信息发送至所述网络转发系统,所述网络转发系统中的网络转发设备按照所述第一段流表将用户请求的资源信息发送至所述任一CDN服务器进行缓存;
步骤S11:所述任一CDN服务器缓存用户请求的资源信息后将用户请求的资源信息发送至用户。
进一步地,在步骤S9之后还包括:
所述其他CDN服务器向所述SD-CDN调度服务器发送第一网络回源成功信息;
所述SD-CDN调度服务器在接收到所述其他CDN服务器发送的第一网络回源成功信息后向所述网络转发系统发送第一删除指令,以控制所述网络转发系统中的网络转发设备删除所述第二段流表。
进一步地,在步骤S10之后还包括:
所述任一CDN服务器向所述SD-CDN调度服务器发送第二网络回源成功信息;
所述SD-CDN调度服务器在接收到所述任一CDN服务器发送的第二网络回源成功信息后向所述网络转发系统发送第二删除指令,以控制所述网络转发系统中的网络转发设备删除所述第一段流表。
进一步地,所述网络信息至少包括CDN结点信息、网络转发设备信息、网络拓扑信息、链路带宽信息。
本发明提供的CDN网络系统,通过收集系统网络信息,对网络进行逻辑集中管控,能够动态的为CDN服务器分配回源链路,并能够针对链路质量对回源路径进行动态调整,避免造成回源链路受阻或故障。
附图说明
图1是本发明实施方式提供的一种CDN网络系统的示意图;
图2是本发明实施方式提供的另一种CDN网络系统的示意图;
图3是图2所示的CDN网络系统网络回源的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
参见图1,图1是本发明实施方式提供的一种CDN网络系统的示意图,该CDN网络系统包括SD-CDN调度服务器(软件定义的CDN调度服务器)100、源站200、DNS服务器300、若干个CDN服务器400以及由多个网络转发设备构成的网络转发系统500,所述SD-CDN调度服务器100、所述源站200、所述DNS服务器300、所述若干个CDN服务器400分别连接至所述网络转发系统500,其中,所述SD-CDN调度服务器100包括:
路径计算模块110,用于采集所述CDN网络系统的网络信息,以及在接收到任一CDN服务器发送的网络回源请求后通过所述DNS服务器获取所述源站的IP地址,并根据所述CDN网络系统的网络信息计算所述任一CDN服务器到所述源站的最优路径,例如,所述网络信息至少包括CDN结点信息、网络转发设备信息、网络拓扑信息、链路带宽信息;
流表生成模块120,用于若所述最优路径中存在除所述任一CDN服务器以外的其他CDN服务器,则分段生成流表信息,包括所述任一CDN服务器到所述其他CDN服务器的第一段流表以及所述其他CDN服务器到所述源站的第二段流表;
第一调度模块130,用于将所述第一段流表下发至所述网络转发系统的网络转发设备,然后向所述任一CDN服务器发送包含所述其他CDN服务器的信息的网络回源请求响应信息,以使所述任一CDN服务器在接收到所述网络回源请求响应信息后将用户的网络访问请求转发至所述其他CDN服务器;
第二调度模块140,用于当接收到所述其他CDN服务器发送的网络回源路径请求后将所述第二段流表下发至所述网络转发系统的网络转发设备,然后向所述其他CDN服务器发送网络回源路径响应信息,以使所述其他CDN服务器在接收到所述网络回源路径响应信息后将用户的网络访问请求转发至所述源站,进而使所述源站在接收到用户的网络访问请求后将用户请求的资源信息发送至所述其他CDN服务器,再通过所述任一CDN服务器将所述资源信息发送至用户。
本发明实施方式提供的CDN网络系统,通过收集系统网络信息,对网络进行逻辑集中管控,能够动态的为CDN服务器分配回源链路,并能够针对链路质量对回源路径进行动态调整,避免造成回源链路受阻或故障。
其中,在本发明实施方式中,所述SD-CDN调度服务器还包括:
第一删除控制模块,用于在接收到所述其他CDN服务器发送的第一网络回源成功信息后向所述网络转发系统发送第一删除指令,以控制所述网络转发系统中的网络转发设备删除所述第二段流表。
其中,在发明实施方式中,所述SD-CDN调度服务器还包括:
第二删除控制模块,用于在接收到所述任一CDN服务器发送的第二网络回源成功信息后向所述网络转发系统发送第二删除指令,以控制所述网络转发系统中的网络转发设备删除所述第一段流表。
本发明实施方式提供的CDN网络系统,可以实现网络拓扑变化、网络拥塞时发生的回源故障的及时发现和自恢复,例如,当发生网络链路故障时,影响到当前已有的回源链路最优路径,通过路径计算模块可以重新计算最优路径及相应的流表,并通过第一、第二调度模块下发新的流表,在网络链路或设备故障的情况下,能够实现故障回源路径动态调整,最终达到回源故障及时发现和自恢复的目的。
此外,本发明实施方式还提供了一种CDN网络系统的网络回源方法,所述CDN网络系统包括SD-CDN调度服务器、源站、DNS服务器、若干个CDN服务器以及由多个网络转发设备构成的网络转发系统,所述SD-CDN调度服务器、所述源站、所述DNS服务器、所述若干个CDN服务器分别连接至所述网络转发系统,所述网络回源方法包括:
步骤S1:所述SD-CDN调度服务器采集所述CDN网络系统的网络信息,例如,所述网络信息至少包括CDN结点信息、网络转发设备信息、网络拓扑信息、链路带宽信息;
步骤S2:当任一CDN服务器接收到用户的网络访问请求时,若所述任一CDN服务器未缓存有用户请求的资源信息,则向所述SD-CDN调度服务器发送网络回源请求;
步骤S3:所述SD-CDN调度服务器在接收到所述任一CDN服务器发送的网络回源请求后通过所述DNS服务器获取所述源站的IP地址;
步骤S4:所述SD-CDN调度服务器根据所述CDN网络系统的网络信息计算所述任一CDN服务器到所述源站的最优路径;
步骤S5:若所述最优路径中存在除所述任一CDN服务器以外的其他CDN服务器,则所述SD-CDN调度服务器分段生成流表信息,包括所述任一CDN服务器到所述其他CDN服务器的第一段流表以及所述其他CDN服务器到所述源站的第二段流表,所述SD-CDN调度服务器先将所述第一段流表下发至所述网络转发系统的网络转发设备,然后向所述任一CDN服务器发送包含所述其他CDN服务器的信息的网络回源请求响应信息;
步骤S6:所述任一CDN服务器在接收到所述网络回源请求响应信息后将用户的网络访问请求按照所述第一段流表转发至所述其他CDN服务器,若所述其他CDN服务器未缓存有用户请求的资源信息,则所述其他CDN服务器向所述SD-CDN调度服务器发送网络回源路径请求;
步骤S7:所述SD-CDN调度服务器接收到所述其他CDN服务器发送的网络回源路径请求后将所述第二段流表下发至所述网络转发系统的网络转发设备,然后向所述其他CDN服务器发送网络回源路径响应信息;
步骤S8:所述其他CDN服务器在接收到所述网络回源路径响应信息后将用户的网络访问请求按照所述第二段流表转发至所述源站;
步骤S9:所述源站在接收到用户的网络访问请求后将用户请求的资源信息发送至所述网络转发系统,所述网络转发系统中的网络转发设备按照所述第二段流表将用户请求的资源信息发送至所述其他CDN服务器进行缓存;
步骤S10:所述其他CDN服务器缓存用户请求的资源信息后将用户请求的资源信息发送至所述网络转发系统,所述网络转发系统中的网络转发设备按照所述第一段流表将用户请求的资源信息发送至所述任一CDN服务器进行缓存;
步骤S11:所述任一CDN服务器缓存用户请求的资源信息后将用户请求的资源信息发送至用户。
其中,在本发明实施方式中,在步骤S9之后还包括:
所述其他CDN服务器向所述SD-CDN调度服务器发送第一网络回源成功信息;
所述SD-CDN调度服务器在接收到所述其他CDN服务器发送的第一网络回源成功信息后向所述网络转发系统发送第一删除指令,以控制所述网络转发系统中的网络转发设备删除所述第二段流表。
其中,在本发明实施方式中,在步骤S10之后还包括:
所述任一CDN服务器向所述SD-CDN调度服务器发送第二网络回源成功信息;
所述SD-CDN调度服务器在接收到所述任一CDN服务器发送的第二网络回源成功信息后向所述网络转发系统发送第二删除指令,以控制所述网络转发系统中的网络转发设备删除所述第一段流表。
本发明通过将对网络逻辑集中管控、控制与转发分离和网络可编程的特性与现有内容分发网络(CDN)相融合,针对现有CDN网络回源过程中存在的回源结点调整灵活性差、回源路径不可控、回源故障恢复慢等局限性,提出的软件定义的CDN网络回源方法,能够在对CDN结点、网络拓扑、链路带宽等信息逻辑集中管控的情况下,实现对网络回源过程的优化和动态管控,加速对网络请求的响应,提高了网络回源的故障自恢复能力,并在一定程度上降低网络运维的成本。
例如,参见图2,本发明中软件定义的CDN网络系统主要包括若干个CDN服务器(包括CDN服务器A、B、C)、支持软件定义的SD-CDN调度服务器、域名服务器(DNS服务器)、由多个网络转发设备(受SD-CDN调度服务器管控的路由器或交换机)构成的网络转发系统(包括网络转发设备A、B、C、D、E、F)、源站等网元构成;
其中,SD-CDN调度服务器在现有CDN调度服务器功能上增加网络拓扑、链路质量等信息收集、端到端最优路径计算、流表下发等功能;网络转发设备则在原有CDN网络路由器或交换机的基础上增加支持流表管控的功能。
参见图3,上述软件定义的CDN网络系统的网络回源方法包括:
步骤S101:网络信息采集;
SD-CDN调度服务器收集全网的CDN结点、网络转发设备、网络拓扑、链路带宽等网络信息,其中,具体信息上报方式可根据实际情况,采用周期性和事件触发性相结合的方式混合上报;
步骤S102:资源请求及回源发起;
CDN服务器A接收到用户的网络访问请求(网络资源请求URL),若CDN服务器A未缓存有用户请求的资源信息(无最新缓存资源),则向SD-CDN调度服务器发送网络回源请求,执行步骤S103;
其中,若CDN服务器A缓存有用户请求的资源信息,则将该资源信息发送用户。
步骤S103:源站域名解析;
SD-CDN调度服务器在接收到网络回源请求后,与DNS服务器交互域名解析过程,获取源站的IP地址;
步骤S104:最佳回源路径计算;
SD-CDN调度服务器根据采集的网络信息的当前状态,计算多约束条件下的CDN服务器A到源站的最优路径,并识别该路径中经过的其它CDN服务器,若所述最优路径中存在除CDN服务器A以外的其他CDN服务器,如该其他CDN服务器为CDN服务器B,执行步骤105;
若该最优路径中不存在其它CDN服务器,则相当于直接回源;
步骤S105:流表分段生成及下发;
SD-CDN调度服务器分段生成流表信息,生成两段流表,即CDN服务器A到CDN服务器B的AB段流表和CDN服务器B到源站段的流表,然后先向网络转发设备下发AB段流表,然后向CDN服务器A发送包含CDN服务器B的信息的网络回源请求响应信息,响应带上级CDN服务器信息的回源请求,执行步骤106。
步骤S106:回源转发及流表下发;
CDN服务器A接收到SD-CDN调度服务器的响应,解析出上级的CDN服务器B的信息,向其转发用户的网络访问请求;
CDN服务器B在接收到用户的网络访问请求后,若CDN服务器B未缓存有用户请求的资源信息(无最新缓存资源),则CDN服务器B向SD-CDN调度服务器发送网络回源路径请求,SD-CDN调度服务器接收到该网络回源路径请求后下发CDN服务器B到源站段的流表信息,并向CDN服务器B发送网络回源路径响应信息,CDN服务器B接收到该网络回源路径响应信息后向源站转发用户的网络访问请求,以拉取最新资源,执行步骤S107;
若CDN服务器B缓存有用户请求的资源信息,则先将该资源信息发送至CDN服务器A,再由CDN服务器A发送给用户;
步骤S107:最新资源缓存及流表删除;
源站在接收到用户的网络访问请求后将用户请求的资源信息发送至网络转发系统,网络转发系统中的网络转发设备将源站响应的最新资源的数据包(即用户请求的资源信息)按照CDN服务器B到源站段的流表转发,在CDN服务器B缓存,CDN服务器B缓存该资源信息成功后与SD-CDN调度服务器交互,向SD-CDN调度服务器发送第一网络回源成功信息,SD-CDN调度服务器在接收到CDN服务器B发送的第一网络回源成功信息后向网络转发系统发送第一删除指令,以控制网络转发系统中的网络转发设备删除CDN服务器B到源站段的流表信息;
之后CDN服务器B后将该资源信息发送至网络转发系统,网络转发系统中的网络转发设备按照AB段流表转发该资源信息,在CDN服务器A缓存该资源信息,CDN服务器A缓存该资源信息成功后向SD-CDN调度服务器发送第二网络回源成功信息,SD-CDN调度服务器在接收到CDN服务器A发送的第二网络回源成功信息后向网络转发系统发送第二删除指令,以控制网络转发系统中的网络转发设备删除AB段流表;
步骤S108:资源请求响应;
CDN服务器A向用户成功响应网络资源请求,将用户请求的资源信息发送至用户。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。