CN104320487B - 内容分发网络的http调度系统和方法 - Google Patents

内容分发网络的http调度系统和方法 Download PDF

Info

Publication number
CN104320487B
CN104320487B CN201410631207.9A CN201410631207A CN104320487B CN 104320487 B CN104320487 B CN 104320487B CN 201410631207 A CN201410631207 A CN 201410631207A CN 104320487 B CN104320487 B CN 104320487B
Authority
CN
China
Prior art keywords
cluster
server
edge
client
request
Prior art date
Application number
CN201410631207.9A
Other languages
English (en)
Other versions
CN104320487A (zh
Inventor
洪珂
莫小琪
阮兆银
Original Assignee
网宿科技股份有限公司
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 网宿科技股份有限公司 filed Critical 网宿科技股份有限公司
Priority to CN201410631207.9A priority Critical patent/CN104320487B/zh
Publication of CN104320487A publication Critical patent/CN104320487A/zh
Application granted granted Critical
Publication of CN104320487B publication Critical patent/CN104320487B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1004Server selection in load balancing
    • H04L67/1008Server selection in load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00
    • H04L29/02Communication control; Communication processing
    • H04L29/06Communication control; Communication processing characterised by a protocol
    • H04L29/08Transmission control procedure, e.g. data link level control procedure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/02Network-specific arrangements or communication protocols supporting networked applications involving the use of web-based technology, e.g. hyper text transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1004Server selection in load balancing
    • H04L67/1014Server selection in load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1004Server selection in load balancing
    • H04L67/1021Server selection in load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1004Server selection in load balancing
    • H04L67/1023Server selection in load balancing based on other criteria, e.g. hash applied to IP address, specific algorithms or cost
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1029Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2833Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for grouping or aggregating service requests, e.g. for unified processing of service requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2842Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for storing data temporarily at an intermediate stage, e.g. caching

Abstract

本发明涉及一种内容分发网络的HTTP调度系统,包括中心决策服务器、一个或多个中心调度服务器以及一个或多个边缘调度服务器。中心决策服务器配置为根据全局的服务器集群的带宽和负载信息,生成中心决策文件。中心调度服务器连接该中心决策服务器,中心调度服务器配置为执行该中心决策文件,在收到客户端内容请求时,根据客户端所在的地理位置及请求内容,选择一首选服务器集群和一备用服务器集群,并向该客户端返回一个带有该首选及该备用服务器集群的跳转地址。边缘调度服务器设置在对应的边缘服务器集群内,各边缘调度服务器配置为在收到客户端内容请求时,获取对应的边缘服务器集群的带宽和负载情况,据此判断请求是否应该引导到备用服务器集群。

Description

内容分发网络的HTTP调度系统和方法
技术领域
[0001] 本发明涉及内容分发网络,尤其是涉及内容分发网络的HTTP调度系统和方法。
背景技术
[0002] 随着互联网设备的迅猛发展,流量日益增长,CDN的规模愈加庞大,负载均衡成为 控制成本的重要手段。
[0003] CDN (Content Delivery Network),中文名称是内容分发网络。CDN的任务主要是 使内容从源站尽可能快地传递到用户端。CDN的基本思想就是尽可能避开互联网上有可能 影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更好。通过在网络各处放置 边缘节点服务器所构成的内容分发网络,能够实时根据网络流量和各边缘节点的负载情况 以及到用户的距离和响应时间等综合信息将用户的访问请求重定向至离用户最近且最好 的边缘节点上。该系统在现有网络架构上增加一个全局调度层,将源站内容分发到最接近 用户的网络边缘,使用户可以就近取得所需内容,解决Internet网络拥挤的状况,提高用户 访问网站的响应速度,解决因源站出口网络带宽小、用户访问量大、网点分布不均、复杂的 运营商网络、用户接入网络带宽小所造成的用户访问网站响应速度慢的问题。
[0004] 当前CDN的负载均衡技术主要分为DNS (Domain Name System,域名系统)调度和 HTTP (Hypertext transfer protocol,超文本传送协议)调度。DNS调度主要用于图片及动 态加速类型内容的负载均衡。HTTP调度基于http协议的30X响应码,主要用于流媒体应用。 考虑到流媒体业务占CDN业务的很大一部分,这部分成了 CDN业务控制服务器及机房负载均 衡的重要部分。
[0005] HTTP调度分为中心模式和边缘模式。中心模式是通过DNS将客户请求引导至若干 组调度机器上。这些调度机器并不提供内容,而是首先由决策机分析CDN所有机房和服务器 集群的带宽数据,并据此适时调配服务器集群的流量,由调度机执行调配,使集群达到负载 均衡。其次,调度机器会根据请求内容进行散列(Hash)计算,选择特定的服务器,以减少集 群间和集群内服务器之间的内容冗余。边缘模式是通过DNS将客户请求分配至边缘服务器 集群,由服务器集群中的调度机器对所在集群和机房的状态做出判断,选择由本地进行服 务,或将请求跳转至备份服务器集群,达到负载均衡的目的。
发明内容
[0006] 本发明所要解决的技术问题是提供一种新型的HTTP调度系统和方法。
[0007] 本发明为解决上述技术问题而采用的技术方案是提出一种内容分发网络的HTTP 调度系统,包括中心决策服务器、一个或多个中心调度服务器以及一个或多个边缘调度服 务器。中心决策服务器配置为根据全局的服务器集群的带宽和负载信息,生成中心决策文 件。中心调度服务器连接该中心决策服务器,该中心调度服务器配置为执行该中心决策文 件,在收到客户端内容请求时,根据客户端所在的地理位置及请求内容,选择一首选服务器 集群,并决定是否同时选择一个备用服务器集群,然后向该客户端返回一个带有该首选服 务器集群的跳转地址,以及当选择了备用服务器集群时,同时向该客户端返回一个带有该 备用服务器集群的跳转地址。边缘调度服务器设置在对应的边缘服务器集群内,各边缘调 度服务器配置为在收到客户端内容请求时,如果有备用服务器集群,则获取对应的边缘服 务器集群的带宽和负载情况,据此判断请求是否应该引导到备用服务器集群。
[0008] 在本发明的一实施例中,该中心决策服务器设定多个覆盖域中每一覆盖域内的多 个集群的权值以对各集群的流量进行控制,其中该多个覆盖域是根据客户端访问内容的站 点和物理地址所在地预先划分而成。
[0009] 在本发明的一实施例中,该中心调度服务器配置为根据客户端请求进行散列计算 和权值随机计算,在服务集群列表中选择一个首选服务器集群,且如果决定选择备选服务 器集群,进一步在服务器集群列表中选择有一定剩余服务能力的备选服务器集群。
[0010] 在本发明的一实施例中,该一个或多个边缘调度服务器配置为在收到客户端内容 请求时,判断对应的边缘服务器集群是否过载,如果是,则判断请求中是否带有备选服务器 集群的信息,如果带有备选服务器集群的信息,则返回跳转地址,将客户端跳转至备选服务 器集群,如果没有带备选服务器集群的信息,则以边缘调度服务器作为客户端与对应的边 缘服务器集群内的缓存服务器的代理,提供服务;如果对应的边缘服务器集群不是过载,则 以边缘调度服务器作为客户端与该缓存服务器的代理。
[0011] 在本发明的一实施例中,该一个或多个边缘调度服务器配置为每隔一定时间获取 一次节点的带宽数据,然后据此计算得到下一个时间段内,本地允许的连接数,且在下一个 时间内,由连接数决定的前几个请求由对应的边缘服务器集群服务,而之后的请求则再次 跳转到备选服务器集群。
[0012] 本发明还提出一种内容分发网络的HTTP调度方法,包括以下步骤:在中心决策服 务器为根据全局的服务器集群的带宽和负载信息,生成中心决策文件;在连接该中心决策 服务器的一个或多个中心调度服务器执行该中心决策文件,在收到客户端内容请求时,根 据客户端所在的地理位置及请求内容,选择一首选服务器集群,并决定是否同时选择一备 用服务器集群,并向该客户端返回一个带有该首选服务器集群的跳转地址,以及当选择了 备用服务器集群时,同时向该客户端返回一个带有该备用服务器集群的跳转地址;在设置 于对应的边缘服务器集群内且连接该一个或多个中心调度服务器的一个或多个边缘调度 服务器,在收到客户端内容请求时,如果有备用服务器集群,则获取对应的边缘服务器集群 的带宽和负载情况,判断请求是否应该引导到备用服务器集群。
[0013]在本发明的一实施例中,在该中心决策服务器生成决策文件的步骤包括:设定多 个覆盖域中每一覆盖域内的多个集群的权值以对各集群的流量进行控制,其中该多个覆盖 域是根据客户端访问内容的站点和地址所在地预先划分而成。
[0014]在本发明的一实施例中,在该中心调度服务器中执行以下步骤:根据判断客户所 属的服务群体,得到服务集群列表;根据客户端请求进行散列计算和权值随机计算,在服务 集群列表中选择一个首选服务器集群;如果决定选择备选服务器集群,进一步在服务器集 群列表中选择一个有一定剩余服务能力的备选服务器集群。
[0015]在本发明的一实施例中,该一个或多个边缘调度服务器在收到客户端内容请求时 执行以下步骤:判断对应的边缘服务器集群是否过载;如果边缘服务器集群是过载,则判断 请求中是否带有备选服务器集群的信息:如果带有备选服务器集群的信息,则返回跳转地 址,将客户端跳转至备选服务器集群;如果没有带备选服务器集群的信息,则以边缘调度服 务器作为客户端与对应的边缘服务器集群内的缓存服务器的代理,提供服务;如果边缘服 务器集群不是过载,则以边缘调度服务器作为客户端与该缓存服务器的代理。
[0016] 在本发明的一实施例中,在该一个或多个边缘调度服务器中每隔一定时间获取一 次节点的带宽数据,然后据此计算得到下一个时间段内,本地允许的连接数,且在下一个时 间内,由连接数决定的前几个请求由对应的边缘服务器集群服务,而之后的请求则再次跳 转到备选服务器集群。
[0017] 本发明由于采用以上技术方案,可以在中心调度服务器获取客户请求,并返回首 选服务器集群和备选服务器集群,且在边缘服务器集群根据本地服务器集群的带宽和负 载,对中心调度的分配进行校正。通过中心调度的宏观控制和边缘调度的调整,整个系统可 以达到成本/质量较优的同时,边缘集群不会超负荷。
附图说明
[0018] 为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具 体实施方式作详细说明,其中:
[0019] 图1示出根据本发明一实施例的网络实施环境。
[0020] 图2示出本发明一实施例的调度系统框图。
[0021] 图3示出本发明一实施例的中心调度模块工作流程。
[0022]图4示出本发明一实施例的边缘调度模块工作流程。
[0023]图5示出本发明一实施例的客户端模块工作流程。
具体实施方式
[0024] 已知HTTP调度分为中心模式和边缘模式。这两种模式有各自的特点,因而在实践 中都得到一定程度的应用。但是这两种模式也有各自的缺陷。中心模式的缺陷在于,该模式 在进行流量调度前需要收集一段时间的CDN平台数据,外加决策的时间,可能会有延迟,导 致误差。而且由于HTTP调度自身的局限,进行流量控制时,只能保证按比例分配请求,不能 保证流量的比例与请求是对等的。即该模式有误差的同时,也有调控不准确的问题。边缘模 式的缺陷在于,该模式集群间的调度通过DNS进行,无法在集群间进行内容控制,数据冗余 量大,浪费存储空间和带宽资源。且该模式的控制器部署在边缘集群中,在控制集群过载 时,不能保证将流量引导到最合适的集群中。
[0025] 本发明的实施例将描述一种新型的HTTP调度方法,其提供优于中心模式和边缘模 式的性能。
[0026] 图1示出根据本发明一实施例的网络实施环境。参考图1所示,一个内容分发网络 100通常包括一个中心决策服务器101,多个中心调度服务器1〇2,多个边缘服务器集群110, 这些装置通过互联网连接在一起。各边缘服务器集群11 〇中配置有边缘调度服务器111和缓 存服务器112。中心调度服务器1〇2可以直接与中心决策服务器1〇1相连,也可以通过额外的 网络103与中心决策服务器1〇1相连。
[0027] 许多客户端120可以连接到内容分发网络1〇〇,从而获得所请求的内容。
[0028] 中心决策服务器101配置为根据全局的服务器集群的带宽、负载信息、网络状况和 带宽成本信息,生成中心决策文件。
[0029] 各中心调度服务器102配置为执行该中心决策文件,在收到客户端内容请求时,根 据客户端所在的地理位置及请求内容,选择首选服务器集群,并向客户端返回一个带有首 选服务器集群及备用服务器集群的跳转URL (Uniform Resource Locator,统一资源定位 器)。如果需要各中心调度服务器102可以同时选择备用服务器集群,并向客户端返回一个 带有备用服务器集群的跳转URL WRL是互联网上标准资源的地址。首选服务器集群是优先 供客户端120请求内容的服务器集群。备用服务器集群是当首选服务器集群过载或其他无 法响应请求的情形时,供客户端120请求内容的服务器集群。
[0030] 边缘调度服务器111配置为在收到客户端内容请求时,获取本地服务器集群(即边 缘调度服务器111所在的服务器集群)的带宽和负载情况,据此判断请求是否应该引导到备 用服务器集群。缓存服务器112负责提供客户端120需要的内容。
[0031] 图2示出本发明一实施例的调度系统框图。参考图2所示,典型的调度系统包括中 心决策服务器101、中心调度服务器102以及边缘调度服务器111,为客户端120提供服务。客 户端120进行内容的请求和跟踪,并将文件保存,以及展示内容。中心决策服务器1〇1中可存 储并执行中心决策模块201。中心决策模块201执行时,将中心决策服务器1〇1配置为能够根 据全局的服务器集群的带宽和负载信息,生成中心决策文件,并传输给中心调度服务器 102。中心调度服务器102中可存储并执行中心调度模块202。中心调度模块202执行时,将中 心调度服务器102配置为执行该中心决策文件,在收到客户端内容请求时,根据客户端所在 的地理位置及请求内容,选择首选服务器集群和可选的备用服务器集群,并向客户端120返 回一个带有首选服务器集群及可选的备用服务器集群的跳转URL。边缘调度服务器111中可 存储并执行边缘调度模块203。边缘调度模块203执行时,将边缘调度服务器111配置为获取 本地服务器集群的带宽和负载情况,判断请求是否应该引导到备用服务器集群,如果这时 有备用服务器集群的话。
[0032]边缘调度服务器111中还可储存并执行本地负载均衡模块204。本地负载均衡模块 204执行时,将边缘调度服务器111配置为用作缓存服务器112的代理。
[0033] 各个服务器101、102、111可包括处理器、内存(1^111〇;^)和存储器(31虹&§6)。各个 模块,如中心决策模块201、中心调度模块202、边缘调度模块203和本地负载均衡模块204可 以以软件形式储存在存储器中,并可载入到内存中,由处理器执行。
[0034] 在本系统中,中心调度服务器获取客户请求后,返回了首选服务器集群和备选服 务器集群。在作为首选服务器集群的边缘服务器集群中,会根据本地服务器集群的带宽和 负载,对中心调度的分配进行校正,例如让客户请求跳转到备选服务器集群。因而本系统通 过中心调度的宏观控制和边缘调度的调整,整个系统可以达到成本/质量较优的同时,边缘 集群不会超负荷。
[0035]图3示出本发明一实施例的中心决策和调度服务器工作流程。参考图3所示,在步 骤301,中心决策服务器101负责收集平台所有边缘服务器集群的带宽和负载,周期性生成 包含覆盖域的权值等信息的中心决策文件。在步骤302,中心决策服务器101发送文件至所 有的中心调度服务器102。覆盖域是根据客户访问内容的站点和地址(如IP地址)所在地将 流量分割而成的地理区域和用户范围的组合。地理区域例如是覆盖一个省或者一个市。用 户范围例如是一个预定的用户群体。覆盖域中可包含多个边缘服务器集群,即多个组。通过 集群的权值对覆盖域的各集群的流量进行控制。
[0036]具体的流程包括:
[0037] 1)通过以下方法预测节点的带宽值:
[0038]获取节点最近时间点对应的带宽数据,将其中最大和最小的数据去除,然后使用 最小二乘法,对数据进行拟合以下公式:
[0039] bw = a*t+b
[0040]计算得到a和b,然后将一分钟后的时刻t ’代入,计算得到预测带宽值BW_pop。
[0041] 2)遍历所有的覆盖域使以下条件得到满足:
[0042] 定义:1、farm为一个边缘服务器集群,为中心决策服务器101权值调度的基本单 位;2、多个属于共同区域的farm组成一个pop,pop是与运营商协定的多个服务器集群集合 的网络接入点;
[0043]集群带宽的改变量:
[0044] A Bff_farm= A ff_farm*Bff_cover/ S ff_farm
[0045]网络接入点的带宽为属下的集群带宽之和:
[0046] Bff_pop = X Bff_f arm
[0047]集群新的带宽值应不大于集群的服务能力,控制集群流量在额定上限:
[0048] Capacity_farm> = Bff_farm+ A Bff_farm [0049]节点新的带宽值应不大于集群的带宽上限:
[0050] Capacity_pop> = Bff_pop+ 2 A Bff_farm
[0051]在以上的限制条件下,中心决策服务器尝试找到一个解,使2 | ABW_pop|最小,也 就是在覆盖域多个集群间流量变动最小。这样既保证了节点带宽的稳定,同时减少了因带 宽在节点间的迁移而导致的缓存服务器112命中率下降问题。 _
[0052] 说明:1、BW_farm表示farm带宽,BW_cover表不覆盖域带宽,W_farm表不farm权值, Capacity—farm表示farm额定可服务带宽,Capacity_pop表不P〇P额定可服务市宽,△表不 权值调控后的变化量;
[0053] 3)最后得到每个集群在每个覆盖域中的权值比例(即ff_farm)。
[0054] 在步骤303,客户端120会发送原始请求URL。
[0055] 在步骤304,中心调度服务器102会得到客户端的地址及请求内容。 、
[0056] 在步骤305,中心调度服务器102通过判断客户所属的服务群体,得到服务集群列 表。 、
[0057] 在步骤306,中心调度服务器102根据URL进行散列(HASH)计算和权值随机计算,在 服务集群列表中选择一个首选服务器集群。 > 、、
[0058] 在步骤307,备选服务集群选择判断,如需要选择备选服务集群,f在服务器集群 列表中选择一个备选服务器集群,并保证备选服务器集群有一定剩余服务能力。、
[0059] 在步骤308,中心调度服务器102根据原始请求URL、首选服务器集群和备选服务器 集群,生成新的跳转URL,并返回客户端120。 _
[0060]其中,首选服务器集群IP和备选服务器集群IP的确定方法示例如下:
[0061] 1)根据请求的IP和域名确定覆盖域;
[0062] 2)统计URL的访问情况,并确定该URL是否为热点URL
[0063] 3)如果URL为热点URL,则根据覆盖域内集群间的权值比例,随机得到首选IP;如果 URL为非热点URL,则根据URL进行散列计算,得到首选IP;
[0064] 4)如果URL为热点URL,将首选IP所在的集群去除后,根据权值比例,从可选的备选 服务器集群中重新随机选择得到一个IP;
[0065]如果URL为非热点URL,则不选择备选集群。
[0066]其中,考虑到热点URL被访问的次数相对较多,缓存服务器112缓存这些URL后一般 还会有多次的访问。所以可以通过调度热点URL来保证集群间的负载均衡。另外非热点URL 的访问次数较少,通过对URL进行散列可以保证分配的稳定性,减少缓存服务器112之间的 内容重复性。
[0067]图4示出本发明一实施例的边缘调度服务器工作流程。参考图4所示,在步骤401, 客户端120发送请求,该请求由中心调度服务器102跳转得到。在步骤402,边缘调度服务器 111得到请求。在步骤403,边缘调度服务器111判断本地服务器集群是否过载,如果是,在步 骤404边缘调度服务器111进一步判断请求中是否带有备选IP的信息;如果带有备选服务器 集群的信息,则在步骤405返回跳转URL,将客户端跳转至备选服务器集群;如果没有带备选 服务器集群的信息,则在步骤406边缘调度服务器111作为客户端120与本地的缓存服务器 112的代理,提供服务。如果本地服务器集群不是过载,则边缘调度服务器111作为客户端 120与本地的缓存服务器112的代理,提供服务。
[0068] 其中,边缘调度再次跳转判断方法如下:
[0069] 1)边缘调度服务器111每隔一定时间(设为interval,如10s),获取一次节点的带 宽数据BW,然后代入以下公式:
[0070] Request_Allow=max (0,Capacity-Bff) /Bff_Per_Request
[0071] (其中,Capacity是节点的带宽上限)
[0072] 得到下一个interval时间段内,本地允许的连接数Request_Allow。
[0073] 2)获取本地服务器集群的负载Load_current,和负载阈值Load_max。如果Load_ current〉= Load_max,则下一个interval内,所有请求都跳转到备选IP。
[0074] 3)在下一个interval内,前Request_Allow个请求由本地服务,而之后的请求则再 次跳转到备选IP。
[0075] 图5示出本发明一实施例的客户端工作流程。参考图5所示,在步骤501,客户端120 向中心调度服务器102发送请求。在步骤5〇2,客户端120获取中心调度服务器102返回的302 跳转响应。在步骤503,客户端12〇向边缘调度服务器111发送跳转后的请求。在步骤504,如 果得到的响应为302跳转,则在步骤505继续执行步骤。在步骤506,得到边缘调度服务器111 直接返回内容,保存至本地或显示在界面上。
[0076] 虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技 术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范 围当以权利要求书所界定的为准。

Claims (10)

1. 一种内容分发网络的HTTP调度系统,包括: 中心决策服务器,配置为根据全局的服务器集群的带宽和负载信息,生成中心决策文 件; 一个或多个中心调度服务器,连接该中心决策服务器,该中心调度服务器配置为执行 该中心决策文件,在收到客户端内容请求时,根据客户端所在的地理位置及请求内容,选择 一首选服务器集群,并决定是否同时选择一备用服务器集群,然后向该客户端返回一个带 有该首选服务器集群的跳转地址,以及当选择了备用服务器集群时,同时向该客户端返回 一个带有该备用服务器集群的跳转地址; 一个或多个边缘调度服务器,设置在对应的边缘服务器集群内,各边缘调度服务器配 置为在收到客户端内容请求时,如果有备用服务器集群,则获取对应的边缘服务器集群的 带宽和负载情况,据此判断请求是否应该引导到备用服务器集群。
2. 如权利要求1所述的内容分发网络的HTTP调度系统,其特征在于,该中心决策服务器 设定多个覆盖域中每一覆盖域内的多个集群的权值以对各集群的流量进行控制,其中该多 个覆盖域是根据客户端访问内容的站点和物理地址所在地预先划分而成。
3. 如权利要求1所述的内容分发网络的HTTP调度系统,其特征在于,该中心调度服务器 配置为根据客户端请求进行散列计算和权值随机计算,在服务集群列表中选择一首选服务 器集群,且如果决定选择备选服务器集群,进一步在服务器集群列表中选择有一定剩余服 务能力的备选服务器集群。
4. 如权利要求1所述的内容分发网络的HTTP调度系统,其特征在于,该一个或多个边缘 调度服务器配置为在收到客户端内容请求时,判断对应的边缘服务器集群是否过载,如果 是,则判断请求中是否带有备选服务器集群的信息,如果带有备选服务器集群的信息,则返 回跳转地址,将客户端跳转至备选服务器集群,如果没有带备选服务器集群的信息,则以边 缘调度服务器作为客户端与对应的边缘服务器集群内的缓存服务器的代理,提供服务;如 果对应的边缘服务器集群不是过载,则以边缘调度服务器作为客户端与该缓存服务器的代 理。
5. 如权利要求1所述的内容分发网络的HTTP调度系统,其特征在于,该一个或多个边缘 调度服务器配置为每隔一定时间获取一次节点的带宽数据,然后据此计算得到下一个时间 段内,本地允许的连接数,且在下一个时间内,由连接数决定的前几个请求由对应的边缘服 务器集群服务,而之后的请求则再次跳转到备选服务器集群。
6. —种内容分发网络的HTTP调度方法,包括以下步骤: 中心决策服务器根据全局的服务器集群的带宽、负载信息、网络状况和成本信息,生成 中心决策文件; 连接该中心决策服务器的一个或多个中心调度服务器执行该中心决策文件,在收到客 户端内容请求时,根据客户端所在的地理位置及请求内容,选择一首选服务器集群,并决定 是否同时选择一备用服务器集群,然后向该客户端返回一个带有该首选服务器集群的跳转 地址,以及当选择了备用服务器集群时,同时向该客户端返回一个带有该备用服务器集群 的跳转地址; 设置于对应的边缘服务器集群内且连接该一个或多个中心调度服务器的一个或多个 边缘调度服务器,在收到客户端内容请求时,如果有备用服务器集群,则获取对应的边缘服 务器集群的带宽和负载情况,判断请求是否应该引导到备用服务器集群。
7. 如权利要求6所述的内容分发网络的HTTP调度方法,其特征在于,在该中心决策服务 器生成决策文件的步骤包括:设定多个覆盖域中每一覆盖域内的多个集群的权值以对各集 群的流量进行控制,其中该多个覆盖域是根据客户端访问内容的站点和物理地址所在地预 先划分而成。
8. 如权利要求6所述的内容分发网络的HTTP调度方法,其特征在于,在该中心调度服务 器中执行以下步骤: 根据判断客户所属的服务群体,得到服务集群列表; 根据客户端请求进行散列计算和权值随机计算,在服务集群列表中选择一个首选服务 器集群. 如果决定选择备选服务器集群,进一步在服务器集群列表中选择一个有一定剩余服务 能力的备选服务器集群。
9. 如权利要求6所述的内容分发网络的HTTP调度方法,其特征在于,该一个或多个边缘 调度服务器在收到客户端内容请求时执行以下步骤: 判断对应的边缘服务器集群是否过载; 如果边缘服务器集群是过载,则判断请求中是否带有备选服务器集群的信息:如果带 有备选服务器集群的信息,则返回跳转地址,将客户端跳转至备选服务器集群;如果没有带 备选服务器集群的信息,则以边缘调度服务器作为客户端与对应的边缘服务器集群内的缓 存服务器的代理,提供服务; 如果边缘服务器集群不是过载,则以边缘调度服务器作为客户端与该缓存服务器的代 理。
10. 如权利要求6所述的内容分发网络的HTTP调度方法,其特征在于,在该一个或多个 边缘调度服务器中每隔一定时间获取一次节点的带宽数据,然后据此计算得到下一个时间 段内,本地允许的连接数,且在下一个时间内,由连接数决定的前几个请求由对应的边缘服 务器集群服务,而之后的请求则再次跳转到备选服务器集群。
CN201410631207.9A 2014-11-11 2014-11-11 内容分发网络的http调度系统和方法 CN104320487B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410631207.9A CN104320487B (zh) 2014-11-11 2014-11-11 内容分发网络的http调度系统和方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201410631207.9A CN104320487B (zh) 2014-11-11 2014-11-11 内容分发网络的http调度系统和方法
PCT/CN2014/095485 WO2016074323A1 (zh) 2014-11-11 2014-12-30 内容分发网络的http调度系统和方法
EP14905704.4A EP3211857B1 (en) 2014-11-11 2014-12-30 Http scheduling system and method of content delivery network
US15/525,042 US10404790B2 (en) 2014-11-11 2014-12-30 HTTP scheduling system and method of content delivery network

Publications (2)

Publication Number Publication Date
CN104320487A CN104320487A (zh) 2015-01-28
CN104320487B true CN104320487B (zh) 2018-03-20

Family

ID=52375655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410631207.9A CN104320487B (zh) 2014-11-11 2014-11-11 内容分发网络的http调度系统和方法

Country Status (4)

Country Link
US (1) US10404790B2 (zh)
EP (1) EP3211857B1 (zh)
CN (1) CN104320487B (zh)
WO (1) WO2016074323A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104270371A (zh) * 2014-10-13 2015-01-07 无锡云捷科技有限公司 一种基于模糊逻辑的cdn缓存服务器选择方法
CN104580520A (zh) * 2015-01-29 2015-04-29 广州华多网络科技有限公司 一种运行互动业务的方法及装置
CN104580526A (zh) * 2015-02-03 2015-04-29 浪潮电子信息产业股份有限公司 一种高性能Web服务网络中的就近访问负载均衡调度方法
CN106034083B (zh) * 2015-03-12 2019-10-08 阿里巴巴集团控股有限公司 Cdn网络系统及其限速控制方法、cdn节点和服务器
CN104735088B (zh) * 2015-04-16 2018-09-11 北京金山安全软件有限公司 一种cdn网络中服务器节点调整方法及装置
CN105323317B (zh) * 2015-10-28 2019-04-26 南京师范大学 基于解析器的ndn中支持有状态任播的方法和系统
CN105516343B (zh) * 2015-12-31 2018-07-17 中国电子科技集团公司第五十四研究所 一种网络动态自组织的文件共享实现方法
CN107277097A (zh) * 2016-04-08 2017-10-20 北京优朋普乐科技有限公司 内容分发网络及其负载预测均衡方法
CN106453675A (zh) * 2016-09-19 2017-02-22 网宿科技股份有限公司 302跳转方法、url生成方法及系统、域名解析方法及系统
CN106357792B (zh) * 2016-10-10 2019-09-06 网宿科技股份有限公司 节点选路方法及系统
CN106790482B (zh) * 2016-12-13 2020-05-22 网宿科技股份有限公司 资源调度方法及资源调度系统
CN107231436B (zh) * 2017-07-14 2021-02-02 网宿科技股份有限公司 一种进行业务调度的方法和装置
CN108353095A (zh) * 2017-09-30 2018-07-31 深圳前海达闼云端智能科技有限公司 域名解析方法、客户端、边缘节点及域名解析系统
CN107801086B (zh) * 2017-10-20 2019-01-04 广东省南方数字电视无线传播有限公司 多缓存服务器的调度方法和系统
CN107835437B (zh) * 2017-10-20 2018-10-09 广东省南方数字电视无线传播有限公司 基于多缓存服务器的调度方法和装置
CN107819754B (zh) * 2017-10-30 2020-01-14 网宿科技股份有限公司 一种防劫持方法、监控服务器、终端及系统
CN110401553A (zh) * 2018-04-25 2019-11-01 阿里巴巴集团控股有限公司 服务器配置的方法和装置
CN108337327A (zh) * 2018-04-26 2018-07-27 拉扎斯网络科技(上海)有限公司 一种资源获取方法和代理服务器
CN108650317B (zh) * 2018-05-10 2021-02-05 深圳市汇星数字技术有限公司 内容分发网络的负载调节方法、装置及设备
CN108737544A (zh) * 2018-05-22 2018-11-02 中国联合网络通信集团有限公司 Cdn节点调度方法和装置
CN108810145A (zh) * 2018-06-13 2018-11-13 郑州云海信息技术有限公司 一种基于p2p的多节点内容分发网络系统及方法
CN109889569A (zh) * 2019-01-03 2019-06-14 网宿科技股份有限公司 Cdn服务调度方法及系统
CN109618003A (zh) * 2019-01-14 2019-04-12 网宿科技股份有限公司 一种服务器规划方法、服务器及存储介质
CN109831511B (zh) * 2019-02-18 2020-10-23 华为技术有限公司 调度内容分发网络cdn边缘节点的方法及设备
CN110460652A (zh) * 2019-07-26 2019-11-15 网宿科技股份有限公司 一种资源获取方法及边缘计算调度服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253230B1 (en) * 1998-09-22 2001-06-26 International Business Machines Corporation Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server
CN102427412A (zh) * 2011-12-31 2012-04-25 网宿科技股份有限公司 基于内容分发网络的零延时主备源灾备切换方法和系统
CN103078880A (zh) * 2011-10-25 2013-05-01 中国移动通信集团公司 基于多个内容分发网络的内容信息处理方法、系统和设备
CN103095597A (zh) * 2011-10-28 2013-05-08 华为技术有限公司 一种用于负载均衡的方法和装置
CN103227839A (zh) * 2013-05-10 2013-07-31 网宿科技股份有限公司 内容分发网络服务器区域自治的管理系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US7340532B2 (en) * 2000-03-10 2008-03-04 Akamai Technologies, Inc. Load balancing array packet routing system
US20010051980A1 (en) * 2000-06-01 2001-12-13 Raciborski Nathan F. Preloading content objects on content exchanges
US7007089B2 (en) 2001-06-06 2006-02-28 Akarnai Technologies, Inc. Content delivery network map generation using passive measurement data
US9167036B2 (en) * 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US20030217147A1 (en) * 2002-05-14 2003-11-20 Maynard William P. Directing a client computer to a least network latency server site
US9762692B2 (en) * 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9203921B2 (en) 2008-08-26 2015-12-01 British Telecommunications Public Limited Company Operation of a content distribution network
US8073940B1 (en) * 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
CN102148752B (zh) 2010-12-22 2014-03-12 华为技术有限公司 基于内容分发网络的路由实现方法及相关设备、系统
US8984144B2 (en) * 2011-03-02 2015-03-17 Comcast Cable Communications, Llc Delivery of content
US8589996B2 (en) * 2011-03-16 2013-11-19 Azuki Systems, Inc. Method and system for federated over-the-top content delivery
CN102195788B (zh) 2011-05-25 2013-07-10 中国联合网络通信集团有限公司 应用层组播系统及流媒体数据处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253230B1 (en) * 1998-09-22 2001-06-26 International Business Machines Corporation Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server
CN103078880A (zh) * 2011-10-25 2013-05-01 中国移动通信集团公司 基于多个内容分发网络的内容信息处理方法、系统和设备
CN103095597A (zh) * 2011-10-28 2013-05-08 华为技术有限公司 一种用于负载均衡的方法和装置
CN102427412A (zh) * 2011-12-31 2012-04-25 网宿科技股份有限公司 基于内容分发网络的零延时主备源灾备切换方法和系统
CN103227839A (zh) * 2013-05-10 2013-07-31 网宿科技股份有限公司 内容分发网络服务器区域自治的管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大规模视频服务集群动态调度机制的研究;周光友;《中国优秀硕士学位论文全文数据库信息科技辑》;20090531(第5期);说明书第1-101页、图5-1 *

Also Published As

Publication number Publication date
US10404790B2 (en) 2019-09-03
EP3211857A4 (en) 2018-06-13
EP3211857B1 (en) 2019-05-22
EP3211857A1 (en) 2017-08-30
CN104320487A (zh) 2015-01-28
US20180288141A1 (en) 2018-10-04
WO2016074323A1 (zh) 2016-05-19

Similar Documents

Publication Publication Date Title
CN106899680B (zh) 多区块链的分片处理方法和装置
CN105245373B (zh) 一种容器云平台系统的搭建及运行方法
US10015243B2 (en) Optimized content distribution based on metrics derived from the end user
CN108028780B (zh) 用于数据分析管理的方法及设备
CN105099988B (zh) 用于支持灰度发布的方法、访问方法以及装置和系统
US9467506B2 (en) Anycast based, wide area distributed mapping and load balancing system
US10623481B2 (en) Balancing resources in distributed computing environments
US9172632B2 (en) Optimized content distribution based on metrics derived from the end user
Wendell et al. Donar: decentralized server selection for cloud services
CN103530189B (zh) 一种面向流式数据的自动伸缩及迁移的方法及装置
US7984147B2 (en) Apparatus and method for identifying a requested level of service for a transaction
Cardellini et al. Redirection algorithms for load sharing in distributed Web-server systems
Cardellini et al. Geographic load balancing for scalable distributed web systems
US8949410B2 (en) Server load balancer scaling for virtual servers
US8887166B2 (en) Resource allocation and modification using access patterns
CN104365067B (zh) 用于重组跨集群分发的分组的系统和方法
US9311020B2 (en) Method and apparatus for automated migration of data among storage centers
KR100754296B1 (ko) 웹 팜 트래픽 제어 방법 및 장치
CN105141617B (zh) 一种数据中心间服务功能体的部署调整方法及装置
EP2915283B1 (en) Cdn load balancing in the cloud
CN102047244B (zh) 在内容分发网络(cdn)中处理长尾内容
EP3131268B1 (en) Load balancing in a content delivery network
US20200358523A1 (en) Predictive connectivity service layers
EP2693704B1 (en) Method, regional management entity and system for virtual network migration
Rahman et al. Load balancer as a service in cloud computing

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
GR01 Patent grant