CN107846454A - 一种资源调度方法、装置和cdn系统 - Google Patents

一种资源调度方法、装置和cdn系统 Download PDF

Info

Publication number
CN107846454A
CN107846454A CN201711015874.4A CN201711015874A CN107846454A CN 107846454 A CN107846454 A CN 107846454A CN 201711015874 A CN201711015874 A CN 201711015874A CN 107846454 A CN107846454 A CN 107846454A
Authority
CN
China
Prior art keywords
resource
server
hot
server cluster
cluster
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.)
Pending
Application number
CN201711015874.4A
Other languages
English (en)
Inventor
石志杰
陈辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Storm Group Ltd By Share Ltd
Original Assignee
Storm Group Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Storm Group Ltd By Share Ltd filed Critical Storm Group Ltd By Share Ltd
Priority to CN201711015874.4A priority Critical patent/CN107846454A/zh
Publication of CN107846454A publication Critical patent/CN107846454A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种资源调度方法、装置和CDN系统。当用户请求资源时,首先从最底层热服务器集群查找,当未查找到该资源时,会到上一层热服务器集群查找,当从最顶层热服务器集群仍不能获取该资源时,才会到冷服务器集群进行查找,由于冷服务器集群存储了CDN系统所有资源,一般情况下都可从冷服务器集群查找到资源,无需到资源库服务器查询。在极少数情况下,如果从冷服务器集群也未查找到该资源,才会到资源库服务器查询。这样,绝大部分的资源请求在热服务器集群就可完成,极大地减低了资源库服务器被访问的次数,避免资源库服务器被频繁访问而出现故障。对于热服务器集群来说,由于其仅存储热度较高的资源,各个热服务器使用效率较高。

Description

一种资源调度方法、装置和CDN系统
技术领域
本发明涉及分布式存储内容分发网络技术领域,尤其是一种资源调度方法、装置和CDN系统。
背景技术
CDN(Content Delivery Network,内容分发网络)的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。使得用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
目前,用户下载资源时,直接到其所在地域运营商对应的服务器上下载资源,如果服务器上不存在该资源时,直接到资源提供商的资源库服务器请求资源。这样,资源库服务器所面临的下载压力会非常大,由于资源库服务器存储了该资源提供者的全部资源,一旦出现故障,将会影响所有使用该资源提供者的用户。
另外,对于用户所在地域运营商对应的服务器来说,其存储了大量资源,有些资源热度较高,即该资源的使用度较大,如点击率或访问量等,而有些资源热度较低,被点击或访问的次数较少,仍然占用了服务器大量的存储资源,降低了服务器的使用效率。
发明内容
本发明实施例所要解决的一个技术问题是:资源库服务器所面临的下载压力较大,用户所在地域运营商对应的服务器使用效率较低。
本发明实施例一种资源调度方法、装置和CDN系统。所述技术方案如下:
根据本发明实施例的第一方面,提供一种资源调度方法,包括:从客户端发送的资源请求中提取客户端标识及资源标识;根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器;当从至少两层热服务器集群都无法查找到所述资源时,根据所述资源标识从所述客户端标识对应的冷服务器集群查询存放所述资源的冷服务器;向与所述资源标识对应的冷服务器集群和热服务器集群发送资源传输指令,使得所述资源标识对应的冷服务器集群和热服务器集群根据所述资源传输指令将从所述资源,依次通过所述冷服务器集群和所述至少两层热服务器集群输出至所述客户端。
可选的,所述根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器,包括:确定所述客户端标识对应的最底层热服务器集群;根据所述资源标识从所述最底层热服务器集群中查找存放所述资源的热服务器;
当从所述最底层热服务器集群中的热服务器无法查找到所述资源时,依次向所述最底层热服务器集群的上一层热服务器集群查询存放所述资源的热服务器,直到最顶层热服务器集群。
可选的,所述根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器,或所述根据所述资源标识从所述客户端标识对应的冷服务器集群查询存放所述资源的冷服务器,包括:根据预设哈希算法对所述资源标识进行映射计算,得到资源映射值;在所述服务器集群对应的环形区域上查找到所述资源映射值后,按预设方向查询,得到第一个服务器映射值为第一服务器映射值,所述服务器集群为热服务器集群或冷服务器集群,所述环形区域包括根据所述预设哈希算法将存放在所述服务器集群上的资源的资源标识及所述服务器集群各个服务器的服务器标识进行映射的映射结果,所述预设方向为顺时针方向或逆时针方向;将所述资源请求发送到所述第一服务器映射值对应的第一服务器。
可选的,当所述第一服务器失效时,所述根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器,或所述根据所述资源标识从所述客户端标识对应的冷服务器集群查询存放所述资源的冷服务器,还包括:在所述环形区域上所述预设方向查询,得到第二个服务器映射值为第二服务器映射值;当确定所述第二服务器映射值对应的第二服务器有效时,将所述资源请求发送到所述第二服务器,当所述第二服务器为热服务器时,由所述第二热服务器向上一层热服务器集群获取所述资源请求对应的资源,当所述第二服务器为冷服务器时,由所述第二冷服务器向资源库服务器获取所述资源请求对应的资源。
可选的,所述方法还包括:监测所述热服务器集群中各个资源的热度;获取所述热服务器集群对应的热度阈值;当所述资源的热度小于所述热度阈值时,向所述热服务集群发送资源删除指令,使得所述热服务器集群根据所述资源删除指令将所述资源删除。
所述方法还包括:监测所述冷服务器集群中各个资源被各个热服务器集群使用的热度;获取所述热服务器集群对应的热度阈值;当所述资源的热度大于或等于所述热度阈值时,向所述冷服务器集群发送资源发送指令,使得所述冷服务器集群根据所述资源发送指令将所述资源发送到与所述热度对应的热服务器集群。
根据本发明实施例的第二方面,提供一种资源调度装置,包括:第一获取模块,用于从客户端发送的资源请求中提取客户端标识及资源标识;第一查询模块,用于根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器;第二查询模块,用于当从至少两层热服务器集群都无法查找到所述资源时,根据所述资源标识从所述客户端标识对应的冷服务器集群查询存放所述资源的冷服务器;指令发送模块,用于向与所述资源标识对应的冷服务器集群和热服务器集群发送资源传输指令,使得所述资源标识对应的冷服务器集群和热服务器集群根据所述资源和传输指令将从所述资源,依次通过所述冷服务器集群和所述至少两层热服务器集群输出至所述客户端。
可选的,所述第一查询模块包括:第一确定子模块,用于确定所述客户端标识对应的最底层热服务器集群;第一查询子模块,用于根据所述资源标识从所述最底层热服务器集群中查找存放所述资源的热服务器;第二查询子模块,用于当从所述最底层热服务器集群中的热服务器无法查找到所述资源时,依次向所述最底层热服务器集群的上一层热服务器集群查询存放所述资源的热服务器,直到最顶层热服务器集群。
可选的,所述第一查询模块或第二查询模块包括:第一映射计算子模块,用于根据预设哈希算法对所述资源标识进行映射计算,得到资源映射值;第三查询子模块,用于在所述服务器集群对应的环形区域上查找到所述资源映射值后,按预设方向查询,得到第一个服务器映射值为第一服务器映射值,所述服务器集群为热服务器集群或冷服务器集群,所述环形区域包括根据所述预设哈希算法将存放在所述服务器集群上的资源的资源标识及所述服务器集群各个服务器的服务器标识进行映射的映射结果,所述预设方向为顺时针方向或逆时针方向;发送子模块,用于将所述资源请求发送到所述第一服务器映射值对应的第一服务器。
可选的,所述第三查询子模块,用于在所述环形区域上所述预设方向查询,得到第二个服务器映射值为第二服务器映射值;所述发送子模块,用于当确定所述第二服务器映射值对应的第二服务器有效时,将所述资源请求发送到所述第二服务器,当所述第二服务器为热服务器时,由所述第二热服务器向上一层热服务器集群获取所述资源请求对应的资源,当所述第二服务器为冷服务器时,由所述第二冷服务器向资源库服务器获取所述资源请求对应的资源。
可选的,所述装置还包括:第一监测模块和第二获取模块,所述第一监测模块,用于监测所述热服务器集群中各个资源的热度;所述第二获取模块,用于获取所述热服务器集群对应的热度阈值;所述指令发送模块,用于当所述资源的热度小于所述热度阈值时,向所述热服务集群发送资源删除指令,使得所述热服务器集群根据所述资源删除指令将所述资源删除。
所述装置还包括:第二监测模块和第三获取模块,所述第二监测模块,用于监测所述冷服务器集群中各个资源被各个热服务器集群使用的热度;所述第三获取模块,用于获取所述热服务器集群对应的热度阈值;所述指令发送模块,用于当所述资源的热度大于或等于所述热度阈值时,向所述冷服务器集群发送资源发送指令,使得所述冷服务器集群根据所述资源发送指令将所述资源发送到与所述热度对应的热服务器集群。
根据本发明实施例的第三方面,提供一种CDN系统,包括:直接与资源库服务器连接的至少两个冷服务器集群,以及位于所述冷服务器集群下层的至少两层热服务器集群,每层热服务器集群包括至少两个热服务器集群;与热服务器集群和冷服务器集群连接的资源调度装置;每个冷服务器集群包括至少两台冷服务器,每个热服务器集群包括至少两台热服务器;所述冷服务器集群存储所述CDN系统的所有资源;所述热服务器集群存储预设热度的资源,所述热度用于表示资源的使用度;所述资源调度装置,从客户端发送的资源请求中提取客户端标识及资源标识;根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器;当从所述至少两层热服务器集群都无法查找到所述资源时,根据所述资源标识从所述客户端标识对应的冷服务器集群查询存放所述资源的冷服务器;向与所述资源标识对应的冷服务器集群和热服务器集群发送资源传输指令;所述冷服务器,将所述资源依次通过每层热服务器集群发送所述最底层热服务器集群;所述最底层热服务器集群,将所述资源输出至所述客户端。
可选的,所述资源调度装置,根据所述客户端标识确定输出所述资源的第一热服务器;当所述资源为视频时,获取所述视频的码率;根据所述码率确定所述第一热服务器的输出速率上限;所述第一热服务器,根据所述输出速率上限输出所述视频的视频数据。
可选的,所述资源调度装置,获取待分配资源的资源标识及服务器集群中每个服务器的服务器标识,所述服务器集群为热服务器集群或冷服务器集群;根据预设哈希算法将所述资源标识及所述服务器标识映射到环形区域上;根据所述资源标识在所述环形区域上按预设方向进行查询,确定查找到的第一个服务器标识对应的服务器用于存放所述资源标识对应的待分配资源,所述预设方向为顺时针方向或逆时针方向;将所述待分配资源分配到对应的所述服务器;所述热服务器集群中的热服务器或冷服务器集群中的冷服务器,根据所述资源调度装置的分配存放资源。
本发明实施例中,绝大部分的资源请求在热服务器集群就可完成,如在热服务器集群中查找不到资源,在冷服务器集群上也会查找到,极大地减低了资源库服务器被访问的次数,避免资源库服务器被频繁访问而出现故障。另外,对于热服务器集群来说,由于其仅存储热度较高的资源,各个热服务器使用效率较高。
另外,本发明的方法在具体实现时,由于服务器所能提供的总带宽流量是固定的,基于码率为每个视频请求分配服务器的输出速率上限,因而,实际上服务器所能同时处理的并发请求的数量也不是固定的,服务器同时处理的最大并发数是基于每个请求对应视频的码率而动态变化的,因此,使得对网络的利用率大大提高。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1是本发明实施例示出的CDN系统中服务器集群的架构图;
图2是本发明一实施例示出的资源调度方法的流程图;
图3是本发明另一实施例示出的资源调度方法的流程图;
图4是本发明另一实施例示出的资源调度方法的流程图;
图5是本发明另一实施例示出的资源调度方法的流程图;
图6是本发明另一实施例示出的资源调度方法的流程图;
图7是本发明另一实施例示出的资源调度方法的流程图;
图8是本发明另一实施例示出的资源调度方法的流程图;
图9为本发明实施例示出的环形区域示意图;
图10为本发明另一实施例示出的环形区域示意图;
图11为本发明另一实施例示出的环形区域示意图;
图12是本发明另一实施例示出的资源调度方法的流程图;
图13是本发明另一实施例示出的资源调度方法的流程图;
图14是本发明另一实施例示出的资源调度方法的流程图;
图15是本发明实施例示出的资源调度装置的框图;
图16是本发明实施例示出的第一查询模块152的框图;
图17是本发明另一实施例示出的第一查询模块152或第二查询模块152的框图;
图18是本发明另一实施例示出的资源调度装置的框图;
图19是本发明另一实施例示出的资源调度装置的框图;
图20是本发明另一实施例示出的资源调度装置的框图;
图21是本发明另一实施例示出的资源调度装置的框图;
图22是本发明实施例示出的映射模块212和第四查询模块213的框图;
图23是本发明实施例示出的CDN系统的框图;
图24是本发明另一实施例示出的资源调度方法的流程图;
图25是本发明另一实施例示出的资源调度方法的流程图;
图26是本发明另一实施例示出的资源调度方法的流程图;
图27是本发明另一实施例示出的资源调度方法的流程图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
本发明实施例的资源调度方法和装置,应用于CDN系统。图1是本发明实施例示出的CDN系统中服务器集群的架构图。如图1所示,CND系统包括直接与资源库服务器连接的至少两个冷服务器集群,位于所述冷服务器集群下层的至少两层热服务器集群,以及每层热服务器集群包括至少两个热服务器集群。
其中,每个冷服务器集群包括至少两台冷服务器,每个热服务器集群包括至少两台热服务器。冷服务器集群存储所述CDN系统的所有资源,所述热服务器集群存储预设热度的资源,所述热度用于表示资源的使用度。
本发明实施例中,热服务器集群用于存储热度较高的资源,即下载率、点击率较高或访问量较大的资源,并且,将热服务器集群分层,每层热服务器集群分别存储不同热度的资源;由冷服务器集群存储CDN系统所有的资源。
例如,根据资源的下载率、点击率较高及访问量等中至少一个参数,将资源热度映射为0~100之间的整数。热服务器集群分为2层,最底层热服务器集群存储热度在70以上的资源,上一层热服务器集群存储热度在50以上的资源。
图2是本发明实施例示出的资源调度方法的流程图。如图2所示,该资源调度方法包括以下步骤:
步骤S21,从客户端发送的资源请求中提取客户端标识及资源标识;
步骤S22,根据资源标识依次从客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放资源标识对应资源的热服务器;
步骤S23,当从至少两层热服务器集群都无法查找到资源时,根据资源标识从客户端标识对应的冷服务器集群查询存放资源的冷服务器;
步骤S24,向与资源标识对应的冷服务器集群和热服务器集群发送资源传输指令,使得资源标识对应的冷服务器集群和热服务器集群根据资源传输指令将从所资源,依次通过冷服务器集群和至少两层热服务器集群输出至客户端。
本实施例中,当用户请求资源时,首先从最底层热服务器集群查找,当未查找到该资源时,会向上一层热服务器集群查找,当从最顶层热服务器集群仍不能获取该资源时,才会到冷服务器集群进行查找,由于冷服务器集群存储了CDN系统所有的资源,一般情况下都可以从冷服务器集群查找到资源,无需到资源库服务器进行查询。在极少数情况下,如果从冷服务器集群也未查找到该资源,才会到资源库服务器查询,这样,绝大部分的资源请求在热服务器集群就可完成,如在热服务器集群中查找不到资源,在冷服务器集群上也会查找到,极大地减低了资源库服务器被访问的次数,避免资源库服务器被频繁访问而出现故障。另外,对于热服务器集群来说,由于其仅存储热度较高的资源,各个热服务器使用效率较高。
图3是本发明另一实施例示出的资源调度方法的流程图。如图3所示,上述步骤S22包括:
步骤S31,确定客户端标识对应的最底层热服务器集群。
由于最底层热服务器集群根据地域和运营商进行划分,因此,在接收到资源请求后,会根据其中的客户端标识为用户查找距离用户最近的,该用户所属运营商的热服务器集群为用户提供资源。
步骤S32,根据资源标识从最底层热服务器集群中查找存放资源的热服务器。
步骤S33,当从最底层热服务器集群中的热服务器无法查找到资源时,依次向最底层热服务器集群的上一层热服务器集群查询存放资源的热服务器,直到最顶层热服务器集群。
在另一实施例中,由于无论在冷服务器集群还是热服务器集群中,各个服务器资源分配的策略相同,因此,在冷服务器集群或热服务器集群中查找存放资源的服务器的方式也相同。
图4是本发明另一实施例示出的资源调度方法的流程图。如图4所示,上述步骤S22或S23包括:
步骤S41,根据预设哈希算法对资源标识进行映射计算,得到资源映射值;
步骤S42,在服务器集群对应的环形区域上查找到资源映射值后,按预设方向查询,得到第一个服务器映射值为第一服务器映射值,服务器集群为热服务器集群或冷服务器集群,环形区域包括根据预设哈希算法将存放在服务器集群上的资源的资源标识及服务器集群各个服务器的服务器标识进行映射的映射结果,预设方向为顺时针方向或逆时针方向;
步骤S43,将资源请求发送到第一服务器映射值对应的第一服务器。
其中,从环形区域上查找到资源映射值后,按预设方向查询,得到第一个服务器映射值为第一服务器映射值。具体实现方式如下:
预先存储有服务器映射值列表,服务器映射值被按预设顺序排序后,得到服务器映射值列表,该预设顺序为从小到大或从大到小的顺序。
根据资源映射值查询服务器映射值列表中第一个符合预设条件的第一服务器映射值,该预设条件为大于或小于第一资源映射值;确定该服务器映射值对应的服务器为存储资源的服务器。
本实施例中,当接收到资源请求时,根据其中的资源标识,进行哈希映射后查找与资源映射值对应的服务器映射值,从而确定存储该资源的服务器。这样,通过上述方法定位资源,可以更加快速准确地找到存储该资源的服务器,另外,当服务器集群中增加或减少服务器时,也能通过其他服务器获取到所要请求的资源,提高获取资源的成功率,用户体验较好。
在另一实施例中,当第一服务器失效时,上述步骤S22或S23还包括:
在环形区域上预设方向查询,得到第二个服务器映射值为第二服务器映射值;
当确定第二服务器映射值对应的第二服务器有效时,将资源请求发送到第二服务器,当第二服务器为热服务器时,由第二热服务器向上一层热服务器集群获取资源请求对应的资源,当第二服务器为冷服务器时,由第二冷服务器向资源库服务器获取资源请求对应的资源。
本实施例中,当服务器集群中扩容或缩容时,或服务器发生故障时,可能导致某一服务器失效,即原存放在该服务器上的资源位置放生变化,因此,需要通过其他服务器重新从上一级服务器获取该资源。这样,提高获取资源的成功率,用户体验较好。
在在线视频业务系统中,由于视频的流畅播放体验跟视频码率相关,而不与网络带宽流量成正比,不同码率的视频消耗的网络带宽是不一样的,而且只要网络带宽流量能满足视频播放的码率带宽,那么用户所需要的网络带宽流量就基本不会变化。因此,在另一实施例中,针对每个视频请求,都根据该视频的码率对服务器的输出流量进行限速。
图5是本发明另一实施例示出的资源调度方法的流程图。如图5所示,该方法还包括:
步骤S51,根据客户端标识确定输出资源的第一热服务器。
进一步确定距离用户最近的,该用户所属运营商的热服务器集群中为用户提供资源的热服务器。所述第一热服务器为于最底层热服务器集群。
步骤S52,当资源为视频时,获取视频的码率。
服务器针对接收到的每个视频请求,都会获取一次该视频请求对应视频的码率。
其中,视频请求中一般包含所要请求视频的视频标识,如视频名称、视频地址等等,根据视频标识,可以获取到该视频的相关信息,如码率、格式、大小等等。
步骤S53,根据码率确定第一热服务器的输出速率上限,使得第一热服务根据输出速率上限输出视频的视频数据。
可选的,可以设置输出速率上限为码率的N倍,其中,N大于等于1。
其中,N的大小可以根据服务器所能提供的总输出流量上限来设定。如果服务器的总输出流量上限不足,则可将N设为1;如果服务器的总输出流量上限较大,则N的值也可相应增大。
例如,服务器接收到的视频请求所要下载的视频的码率为3MB/S,则可设置对该视频下载的输出速率上限为3MB/S,如果服务器总输出流量上限较大,可设置输出速率上限为6MB/S。
本实施例中,针对每个视频请求,都根据该视频的码率对服务器的输出流量进行限速,这样就保证了不同视频在下载时,所能达到的最大下载速率不会超过根据码率设置的输出速率上限。这样,不仅保证请求视频的每个用户都获得流畅的视频播放体验,并且,对于码率较小的视频文件,不会分配的过高的带宽流量,大大节约了服务器的带宽流量,提高了网络的利用率。
另外,本发明的方法在具体实现时,由于服务器所能提供的总带宽流量是固定的,基于码率为每个视频请求分配服务器的输出速率上限,因而,实际上服务器所能同时处理的并发请求的数量也不是固定的,服务器同时处理的最大并发数是基于每个请求对应视频的码率而动态变化的,因此,使得对网络的利用率大大提高。
在另一实施例中,为了进一步提高资源的获取效率及服务器的使用效率,对于热度发生变化的资源进行调度。
图6是本发明另一实施例示出的资源调度方法的流程图。如图6所示,该方法还包括:
步骤S61,监测热服务器集群中各个资源的热度;
步骤S62,获取热服务器集群对应的热度阈值;
步骤S63,当资源的热度小于热度阈值时,向热服务集群发送资源删除指令,使得热服务器集群根据资源删除指令将资源删除。
本实施例中,对于热服务器集群上热度变小的资源,如对于最底层热服务器集群,存储热度在70~100之间的资源,如果某一资源的热度降到65,则在最底层热服务器集群上删除该资源。这样,不仅节约了热服务器的存储空间,也提高了热服务器的使用效率。
图7是本发明另一实施例示出的资源调度方法的流程图。如图7所示,该方法还包括:
步骤S71,监测冷服务器集群中各个资源被各个热服务器集群使用的热度;
步骤S72,获取热服务器集群对应的热度阈值;
步骤S73,当资源的热度大于或等于热度阈值时,向冷服务器集群发送资源发送指令,使得冷服务器集群根据资源发送指令将资源发送到与热度对应的热服务器集群。
本实施例中,对于冷服务器集群上的资源,如果某资源被下层的热服务器集群频繁获取,其热度增加到75,最底层热服务器集群的热度阈值为70,则将该资源调度到最底层热服务器集群,便于后续用户查找资源时能够更加快速地获取到该资源,提高资源的获取效率。
由于不同层的热服务器集群存储不同热度范围的资源,如果其中一层热服务器集群中某个资源的热度达到其下一层热服务集群的热度阈值,也可将该资源调度到该下一层热服务集群,以便用户能够更加快速地获取到该资源,提高资源的获取效率。
在另一实施例中,为了提高服务器集群中各个服务器的容错性和扩展性,避免系统中一旦有服务器变更,大量的资源会被重定位到不同的服务器从而造成大量的缓存不命中,采用以下方式对服务器集群中各个服务器分配资源。所谓容错性是指当系统中某一个或几个服务器变得不可用时,整个系统是否可以正确高效运行;而扩展性是指当加入新的服务器后,整个系统是否可以正确高效运行。
其中,热服务器集群和冷服务器集群都可采用以下方式为各个服务器分配资源。
图8是本发明另一实施例示出的资源调度方法的流程图。如图8所示,该方法还包括:
步骤S81,获取待分配资源的资源标识及服务器集群中每个服务器的服务器标识,服务器集群为热服务器集群或冷服务器集群。
步骤S82,根据预设哈希算法将资源标识及服务器标识映射到环形区域上。
该预设哈希算法可以包括MD5算法,将资源标识和虚拟服务器标识转化为16个字节的映射值,均匀分布在0~232-1范围内。并且,MD5算法分散性较好,输入变化一个字节时,输出变化很大,符合本发明实施例的使用需求。
步骤S83,根据资源标识在环形区域上按预设方向进行查询,确定查找到的第一个服务器标识对应的服务器用于存放资源标识对应的待分配资源,预设方向为顺时针方向或逆时针方向。
步骤S84,将待分配资源分配到对应的服务器。
例如,一服务器集群包括3台服务器,编号1、2和3;
有4个待分配资源:A、B、C、D。
图9为本发明实施例示出的环形区域示意图。如图9所示,如果设置将资源存放在按顺时针顺序遇到的第一个主机上。则资源A存放在服务器1上,资源D存放在服务器3上,资源B和C存放在服务器2上。
如果将服务器集群扩容至4台服务器,增加编号4的服务器。图10为本发明另一实施例示出的环形区域示意图。如图10所示,仍设置将资源存放在按顺时针顺序遇到的第一个主机上。则资源A、C、D的存放位置不变,只有资源B被存放到服务器4上。
如果将服务器集群缩容至2台服务器,减少编号3的服务器。图11为本发明另一实施例示出的环形区域示意图。如图11所示,仍设置将资源存放在按顺时针顺序遇到的第一个主机上。则资源A、B、C的存放位置不变,只有资源D被存放到服务器2上。
本实施例中,当资源个数为M,服务器台数为N,当扩容或缩容一台服务器时,理论上只会使M/N的原有资源访问失效,极大地降低了资源失效比例,解决了CDN扩容和缩容过程中原有CDN资源访问大量失效的问题。
在另一实施例中,为了提高服务器集群中各个服务器上资源分布的均匀性,引入了虚拟服务器。通过增加多个虚拟服务器映射到环形区域上,使得在环形区域上各个物理服务器被分配到资源的概率更加均衡。本实施例中,服务器包括物理服务器和虚拟服务器,服务器集群包括至少两台物理服务器,每个物理服务器对应预设个数的虚拟服务器,该方法还包括:当查找到的第一个服务器标识对应的虚拟服务器时,查询虚拟服务器对应的物理服务器,确定物理服务器用于存放资源标识对应的待分配资源。
图12是本发明另一实施例示出的资源调度方法的流程图。如图12所示,上述步骤S82包括:
步骤S121,根据预设哈希算法对资源标识及虚拟服务器标识进行映射计算,得到资源标识对应的资源映射值和虚拟服务器标识对应的虚拟服务器映射值。
为了使得资源的分布更加均匀,可设置每个物理服务器对应尽可能多的虚拟服务器,如对应1024、2048或4096个虚拟服务器。
一般来说,在实际CDN系统中,每个服务器集群中的物理服务器个数相对虚拟服务器个数非常少,一般为8、16、24等等。因此,在映射时,可以忽略掉物理服务器,仅获取虚拟服务器标识进行映射,不会影响到资源分配的均匀性。
步骤S122,将虚拟服务器映射值按照预设顺序进行排列,得到虚拟服务器映射值列表,预设顺序为从小到大或从大到小的顺序;
上述步骤S83包括:
步骤S123,根据第一资源映射值查询虚拟服务器映射值列表中第一个符合预设条件的第一虚拟服务器映射值,预设条件为大于或小于第一资源映射值;
步骤S124,确定第一虚拟服务器映射值对应的第一虚拟服务器,以及第一虚拟服务器对应的第一物理服务器,第一物理服务器用于存放资源标识对应的待分配资源。
例如,一服务器集群有8台物理服务器,每台物理服务器对应2048个虚拟服务器,经过预设哈希算法映射后,总共得到16384个虚拟服务器映射值。
如果是根据资源标识在环形区域上按照顺时针方向查询,则将这些虚拟服务器映射值按照从小到大的顺序排序后,得到虚拟服务器映射值列表。根据第一资源映射值在虚拟服务器映射值列表中查询,查找到第一个大于该第一资源映射值的虚拟服务器映射值为第一虚拟服务器映射值。
如果是根据资源标识在环形区域上按照逆时针方向查询,则将这些虚拟服务器映射值按照从大到小的顺序排序后,得到虚拟服务器映射值列表。根据第一资源映射值在虚拟服务器映射值列表中查询,查找到第一个小于该第一资源映射值的虚拟服务器映射值为第一虚拟服务器映射值。
确定该第一虚拟服务器映射值对应的第一虚拟服务器,进一步确定该第一虚拟服务器对应的第一物理服务器,就可将第一资源映射值对应的待分配资源分配至该物理服务器进行存放。
本实施例中,通过预设哈希算法进行计算后,所有的资源标识及虚拟服务器标识都被转换到0~232-1范围内的16个字节的映射值,且每个资源标识和虚拟服务器标识都对应唯一的映射值。因此,通过按照预设顺序对虚拟服务器映射值进行排序,根据资源映射值在排序后的列表中查找符合条件的虚拟服务器映射值,从而将资源分配到该虚拟服务器映射值对应的物理服务器,以提高服务器集群中的各个物理服务器上资源分配的均匀性,并且在CDN扩容和缩容过程中极大地降低了资源失效比例。
图13是本发明另一实施例示出的资源调度方法的流程图。如图13所示,当服务器集群中新增至少一台物理服务器时,该方法还包括:
步骤S131,获取新增的物理服务器对应的虚拟服务器的新增虚拟服务器标识;
上述步骤S82还包括:
步骤S132,根据预设哈希算法对新增虚拟服务器标识进行映射计算,得到新增虚拟服务器标识对应的新增虚拟服务器映射值;
步骤S133,将新增虚拟服务器映射值添加到服务器映射值列表中,并将服务器映射值列表中的所有服务器映射值按照预设顺序重新排列。
本实施例中,如果每台物理服务器对应2048个虚拟服务器,则服务器集群中新增一台物理服务器,相应要增加2048个虚拟服务器,通过映射后,这2048个虚拟服务器会被均匀分布在环形区域上,即虚拟服务器映射值列表中,这样,原先被分配到其他物理服务器的资源,也会均匀的再次被分配到新增的物理服务器上,仍然保证了服务器集群中各个服务器上资源分布的均匀性。并且,如果资源总数为7776930,新增了一台物理服务器后服务器集群中共8台服务器,则实际上只有7776930/8,约97116个左右的资源访问失效,在CDN扩容过程中极大地降低了资源失效比例。
图14是本发明另一实施例示出的资源调度方法的流程图。如图14所示,当服务器集群中至少一台物理服务器失效时,该方法还包括:
步骤S141,获取失效的物理服务器对应的虚拟服务器的失效虚拟服务器标识;
上述步骤S82还包括:
步骤S142,根据预设哈希算法对失效虚拟服务器标识进行映射计算,得到失效虚拟服务器标识对应的失效虚拟服务器映射值;
步骤S143,将失效虚拟服务器映射值从服务器映射值列表中删除,并将虚拟服务器映射值列表中的所有服务器映射值按照预设顺序重新排列。
本实施例中,如果每台物理服务器对应2048个虚拟服务器,则服务器集群中减少一台物理服务器,相应要减少2048个虚拟服务器,由于之前虚拟服务器是均匀分布到环形区域上的,即各个物理服务器对应的虚拟服务器映射值在虚拟服务器映射值列表中均匀分布,这样,原先被分配到该物理服务器的资源,也会均匀的再次被分配到剩余的物理服务器上,仍然保证了服务器集群中各个服务器的负载均衡及资源分布的均匀性。并且,如果资源总数为7776930,原先服务器集群中共8台服务器,减少了一台物理服务器后,则实际上只有7776930/8,约97116个左右的资源访问失效,在CDN缩容过程中极大地降低了资源失效比例。
在另一实施例中,如果服务器集群中各个物理服务器的磁盘容量不同,即存储能力不同,则该方法还包括:
获取每个物理服务器的磁盘容量;根据磁盘容量确定每个物理服务器对应的虚拟服务器的个数。
这样,物理服务器对应的虚拟服务器的个数越多,资源被分配到该物理服务器上的概率就越大,根据服务器的存储能力设置其对应虚拟服务器的个数,对资源进行合理分配,使得资源能够被有效存储。
在另一实施例中,该方法还包括:根据虚拟服务器的编号及虚拟服务器对应的物理服务器编号生成虚拟服务器标识。
在另一实施例中,虚拟服务器标识包括:第一预设字符串、将物理服务器编号对预设值进行取模运算后得到的余数值、第二预设字符串和虚拟服务器的编号。
例如,第一预设字符串为BFP2p2,第二预设字符串为bf!@#P2P#,物理服务器编号为200103,预设值为100,将物理服务器编号对预设值进行取模运算后得到的余数值为3,虚拟服务器编号为2000。则虚拟服务器标识可以为:BFP2p23bf!@#P2P#2000。其中,虚拟服务器标识的长度至少为20个字节。
本实施例中,为了避免哈希映射后的虚拟服务其映射值出现重复的情形,设置合适复杂程度的虚拟服务器标识,当预设值为100时,可使得物理服务器在100以内时,虚拟服务器映射值不会出现重复情形。另外,虚拟服务器标识采用长度较长,复杂度较高的命名方式,经过哈希映射后出现重复的概率也会较小。
其中,资源标识的长度至少为20个字节。由于全部资源数量较多,可能为百万或千万的数量,因此,资源标识的命名需要足够复杂,长度足够长,这样,其经过哈希映射后得到的资源映射值就能均匀地分布在0~232-1范围内。
下述为本发明装置实施例,可以用于执行本发明方法实施例。
图15是本发明实施例示出的资源调度装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图15所示,该资源调度装置应用于CDN系统,CND系统包括直接与资源库服务器连接的至少两个冷服务器集群,以及位于冷服务器集群下层的至少两层热服务器集群,每层热服务器集群包括至少两个热服务器集群;每个冷服务器集群包括至少两台冷服务器,每个热服务器集群包括至少两台热服务器;冷服务器集群存储CDN系统的所有资源,热服务器集群存储预设热度的资源,热度用于表示资源的使用度。该装置包括:
第一获取模块151,用于从客户端发送的资源请求中提取客户端标识及资源标识;
第一查询模块152,用于根据资源标识依次从客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放资源标识对应资源的热服务器;
第二查询模块153,用于当从至少两层热服务器集群都无法查找到资源时,根据资源标识从客户端标识对应的冷服务器集群查询存放资源的冷服务器;
指令发送模块154,用于向与资源标识对应的冷服务器集群和热服务器集群发送资源传输指令,使得资源标识对应的冷服务器集群和热服务器集群根据资源和传输指令将从所资源,依次通过冷服务器集群和至少两层热服务器集群输出至客户端。
图16是本发明实施例示出的第一查询模块152的框图,如图16所示,第一查询模块152包括:
第一确定子模块161,用于确定客户端标识对应的最底层热服务器集群;
第一查询子模块162,用于根据资源标识从最底层热服务器集群中查找存放资源的热服务器;
第二查询子模块163,用于当从最底层热服务器集群中的热服务器无法查找到资源时,依次向最底层热服务器集群的上一层热服务器集群查询存放资源的热服务器,直到最顶层热服务器集群。
图17是本发明另一实施例示出的第一查询模块152或第二查询模块152的框图,如图17所示,第一查询模块152或第二查询模块153包括:
第一映射计算子模块171,用于根据预设哈希算法对资源标识进行映射计算,得到资源映射值;
第三查询子模块172,用于在服务器集群对应的环形区域上查找到资源映射值后,按预设方向查询,得到第一个服务器映射值为第一服务器映射值,服务器集群为热服务器集群或冷服务器集群,环形区域包括根据预设哈希算法将存放在服务器集群上的资源的资源标识及服务器集群各个服务器的服务器标识进行映射的映射结果,预设方向为顺时针方向或逆时针方向;
发送子模块173,用于将资源请求发送到第一服务器映射值对应的第一服务器。
在另一实施例中,第三查询子模块172,用于在环形区域上预设方向查询,得到第二个服务器映射值为第二服务器映射值;
发送子模块173,用于当确定第二服务器映射值对应的第二服务器有效时,将资源请求发送到第二服务器,当第二服务器为热服务器时,由第二热服务器向上一层热服务器集群获取资源请求对应的资源,当第二服务器为冷服务器时,由第二冷服务器向资源库服务器获取资源请求对应的资源。
图18是本发明另一实施例示出的资源调度装置的框图,如图18所示,该资源调度装置还包括:
第一确定模块181,用于根据客户端标识确定输出资源的第一热服务器;
第三查询模块182,用于当资源为视频时,获取视频的码率;
第二确定模块183,用于根据码率确定第一热服务器的输出速率上限,使得第一热服务根据输出速率上限输出视频的视频数据。
图19是本发明另一实施例示出的资源调度装置的框图,如图19所示,该装置还包括:第一监测模块191和第二获取模块192,
第一监测模块192,用于监测热服务器集群中各个资源的热度;
第二获取模块192,用于获取热服务器集群对应的热度阈值;
指令发送模块154,用于当资源的热度小于热度阈值时,向热服务集群发送资源删除指令,使得热服务器集群根据资源删除指令将资源删除。
图20是本发明另一实施例示出的资源调度装置的框图,如图20所示,该装置还包括:第二监测模块201和第三获取模块202,
第二监测模块201,用于监测冷服务器集群中各个资源被各个热服务器集群使用的热度;
第三获取模块202,用于获取热服务器集群对应的热度阈值;
指令发送模块154,用于当资源的热度大于或等于热度阈值时,向冷服务器集群发送资源发送指令,使得冷服务器集群根据资源发送指令将资源发送到与热度对应的热服务器集群。
图21是本发明另一实施例示出的资源调度装置的框图,如图21所示,该装置还包括:
第四获取模块211,用于获取待分配资源的资源标识及服务器集群中每个服务器的服务器标识,服务器集群为热服务器集群或冷服务器集群;
映射模块212,用于根据预设哈希算法将资源标识及服务器标识映射到环形区域上;
第四查询模块213,用于根据资源标识在环形区域上按预设方向进行查询,确定查找到的第一个服务器标识对应的服务器用于存放资源标识对应的待分配资源,预设方向为顺时针方向或逆时针方向;
分配模块214,用于将待分配资源分配到对应的服务器。
在另一实施例中,服务器包括物理服务器和虚拟服务器,服务器集群包括至少两台物理服务器,每个物理服务器对应预设个数的虚拟服务器。第四查询模块213,还用于当查找到的第一个服务器标识对应的虚拟服务器时,查询虚拟服务器对应的物理服务器,确定物理服务器用于存放资源标识对应的待分配资源。
图22是本发明实施例示出的映射模块212和第四查询模块213的框图,如图22所示,映射模块212包括:
映射计算子模块221,用于根据预设哈希算法对资源标识及虚拟服务器标识进行映射计算,得到资源标识对应的资源映射值和虚拟服务器标识对应的虚拟服务器映射值;
排序子模块222,用于将虚拟服务器映射值按照预设顺序进行排列,得到虚拟服务器映射值列表,预设顺序为从小到大或从大到小的顺序;
第四查询模块213,包括:
查询子模块223,用于根据第一资源映射值查询虚拟服务器映射值列表中第一个符合预设条件的第一虚拟服务器映射值,预设条件为大于或小于第一资源映射值;
确定子模块224,用于确定第一虚拟服务器映射值对应的第一虚拟服务器,以及第一虚拟服务器对应的第一物理服务器,第一物理服务器用于存放资源标识对应的待分配资源。
在另一实施例中,第四获取模块211,用于当服务器集群中新增至少一台物理服务器时,获取新增的物理服务器对应的虚拟服务器的新增虚拟服务器标识;
映射模块212的映射计算子模块221,还用于根据预设哈希算法对新增虚拟服务器标识进行映射计算,得到新增虚拟服务器标识对应的新增虚拟服务器映射值;
映射模块212的排列子模块222,还用于将新增虚拟服务器映射值添加到服务器映射值列表中,并将服务器映射值列表中的所有服务器映射值按照预设顺序重新排列。
在另一实施例中,第四获取模块211,用于当服务器集群中至少一台物理服务器失效时,获取失效的物理服务器对应的虚拟服务器的失效虚拟服务器标识;
映射模块212的计算子模块221,还用于根据预设哈希算法对失效虚拟服务器标识进行映射计算,得到失效虚拟服务器标识对应的失效虚拟服务器映射值;
映射模块212的排列子模块222,还用于将失效虚拟服务器映射值从服务器映射值列表中删除,并将服务器映射值列表中的所有服务器映射值按照预设顺序重新排列。
图23是本发明实施例示出的CDN系统的框图。如图23所示,本发明实施例还提供一种CDN系统,包括:直接与资源库服务器231连接的至少两个冷服务器集群232a和232b,以及位于冷服务器集群下层的至少两层热服务器集群233和234。每层热服务器集群包括至少两个热服务器集群。
与热服务器集群和冷服务器集群连接的资源调度装置235;
每个冷服务器集群包括至少两台冷服务器,每个热服务器集群包括至少两台热服务器;冷服务器集群存储CDN系统的所有资源;热服务器集群存储预设热度的资源,热度用于表示资源的使用度;
资源调度装置235,从客户端236发送的资源请求中提取客户端标识及资源标识;根据资源标识依次从客户端标识对应的最底层热服务器集群234a到最顶层热服务器集群233a查找存放资源标识对应资源的热服务器;当从至少两层热服务器集群都无法查找到资源时,根据资源标识从客户端标识对应的冷服务器集群232a查询存放资源的冷服务器;向与资源标识对应的冷服务器集群232a和热服务器集群233a、234a发送资源传输指令;
冷服务器,将资源依次通过每层热服务器集群发送最底层热服务器集群;
最底层热服务器集群234a,将资源输出至客户端236。
在另一实施例中,资源调度装置235,根据客户端标识确定输出资源的第一热服务器;当资源为视频时,获取视频的码率;根据码率确定第一热服务器的输出速率上限。第一热服务,根据输出速率上限输出视频的视频数据。
在另一实施例中,资源调度装置235,获取待分配资源的资源标识及服务器集群中每个服务器的服务器标识,服务器集群为热服务器集群或冷服务器集群;根据预设哈希算法将资源标识及服务器标识映射到环形区域上;根据资源标识在环形区域上按预设方向进行查询,确定查找到的第一个服务器标识对应的服务器用于存放资源标识对应的待分配资源,预设方向为顺时针方向或逆时针方向;将待分配资源分配到对应的服务器。热服务器集群中的热服务器或冷服务器集群中的冷服务器,根据资源调度装置的分配存放资源。
在实际的DNS系统中,本发明实施例中的资源调度方法的步骤可分别由以下几个设备根本实施。
例如,全局调度服务器,可用来根据客户端的资源请求为客户端分配最近的最底层服务器集群中的服务器提供资源。
CDN节点组网关系管理器,用于获取各个服务器集群的层级关系,是冷服务器集群还是热服务器集群等服务器集群信息。
资源冷热统计器,用于统计整个CDN系统中资源的热度,当资源热度发生变化后,将变化后的资源热度信息发送全局资源管理器。
全局资源管理器,用于根据资源热度对资源进行重新分配部署。
CDN节点服务器,响应客户端的数据请求,从同组内的CDN点播节点服务器获取客户端点播的数据并返回给客户端。
CDN点播节点服务器,完成点播数据在CDN系统内部缓存,并对节点服务器提供数据查询功能,同时受控于全局调度服务器,实现资源的分步调度。另外,还要对节点服务器提供握手重定向的功能。
CDN集群配置管理中心服务器,用于确定各个资源的码率。
以下基于实际DNS系统对本发明资源调度方法进行详细说明。
图24是本发明另一实施例示出的资源调度方法的流程图,如图24所示,客户端向CDN系统获取资源的流程如下:
步骤S2401,全局调度服务器定时向CDN节点组网关系管理器请求服务器集群信息;
步骤S2402,CDN节点组网关系管理器返回服务器集群信息;
步骤S2403,全局调度服务器更新自身存储的服务器集群信息;
步骤S2404,全局调度服务器定时向资源冷热统计器请求资源热度信息;
步骤S2405,资源冷热统计器返回资源热度信息;
步骤S2406,全局调度服务器更新自身存储的资源热度信息;
步骤S2407,客户端向全局调度服务器发送资源请求,该资源请求不包含GCID(全文资源标识,为CDN系统中该资源的唯一标识);
步骤S2408,全局调度服务器返回存储请求的资源的至少一个冷服务器标识;
步骤S2409,客户端向全局调度服务器发送资源请求,该资源请求包含GCID;
步骤S2410,全局调度服务器查询存储请求的资源的最近热服务器标识;
步骤S2411,全局调度服务器将该热服务器标识返回客户端;
步骤S2412,客户端根据接收到的冷服务器标识或热服务器标识向相应的冷服务器或热服务器请求资源;
步骤S2413,冷服务器或热服务器返回资源数据。
图25是本发明另一实施例示出的资源调度方法的流程图,如图25所示,服务器集群扩容、切换流程如下:
步骤S251,维护人员将修改的服务器集群信息和/或组网信息发送到CDN节点组网关系管理器;
步骤S252,全局调度服务器定时向CDN节点组网关系管理器请求服务器集群信息;
步骤S253,CDN节点组网关系管理器返回服务器集群信息;
步骤S254,全局调度服务器更新自身存储的服务器集群信息;
步骤S255,热服务器定时向CDN节点组网关系管理器获取组网信息;
步骤S256,CDN节点组网关系管理器将组网信息返回热服务器;
步骤S257,服务器更新对应的上一级服务器信息;
步骤S258,服务器向上一级服务器发送同步资源请求;
步骤S259,上一级服务器返回所要同步的资源。
图26是本发明另一实施例示出的资源调度方法的流程图,如图26所示,资源删除及发布流程如下:
步骤S2601,资源库服务器发送资源删除操作到全局资源管理器;
步骤S2602,全局资源管理器将资源删除操作插入任务队列;
步骤S2603,全局资源管理器返回执行结果到资源库服务器;
步骤S2604,服务器定时向全局资源管理器获取任务;该服务器可以为热服务器,也可以为冷服务器;
步骤S2605,当获取到资源删除任务时,将对应的资源标识为可删除;
步骤S2606,资源库服务器发送资源发布操作到全局资源管理器;
步骤S2607,全局资源管理器将资源发布操作插入任务队列;
步骤S2608,全局资源管理器返回执行结果到资源库服务器;
步骤S2609,服务器定时向全局资源管理器获取任务;
步骤S2610,当获取到资源发布任务时,服务器向资源库服务器同步资源;
步骤S2611,资源库服务器返回资源到服务器;
步骤S2612,服务器选择一个可删除的资源进行覆盖,或选用最少访问资源覆盖。
图27是本发明另一实施例示出的资源调度方法的流程图,如图27所示,输出速率限制流程如下:
步骤S2701,CDN点播服务器向CDN节点组网关系管理器请求组网信息及服务器信息;步骤S2702,CDN节点组网关系管理器返回组网信息及服务器信息;
步骤S2703,CDN节点服务器向CDN节点组网关系管理器请求集群信息;
步骤S2704,CDN节点组网关系管理器返回集群信息;
步骤S2705,客户端发送握手请求到CDN节点服务器;
步骤S2706,CDN节点服务器向CDN点播服务器发送握手请求;
步骤S2707,CDN节点服务器向CDN点播服务器请求点播资源的码率;
步骤S2708,CDN点播服务器向CDN集群配置管理中心服务器请求点播资源的码率;
步骤S2709,CDN集群配置管理中心服务器返回点播资源的码率到CDN点播服务器;
步骤S2710,CDN点播服务器发送握手回包到CDN节点服务器;
步骤S2711,CDN节点服务器将握手回包返回客户端;
步骤S2712,CDN点播服务器发送资源码率到CDN节点服务器;
步骤S2713,CDN节点服务器根据资源模块更新输出速率上限;
步骤S2714,客户端向CDN节点服务器请求下载资源;
步骤S2715,CDN节点服务器根据输出速率上限返回资源数据到客户端。
CDN节点服务器在收到客户端的握手请求则会马上同时向CDN点播服务器发出握手和资源码率的请求,这两个请求的回包顺序是没有保证的,但是,只要在客户端请求数据之前拿到码率值,就可以根据该码率值进行动态限速。如果在客户端请求资源数据时CDN节点服务器没有拿到资源码率的回包,则在步骤S2715中可使用普通限速的输出速率。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (13)

1.一种资源调度方法,其特征在于,包括:
从客户端发送的资源请求中提取客户端标识及资源标识;
根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器;
当从至少两层热服务器集群都无法查找到所述资源时,根据所述资源标识从所述客户端标识对应的冷服务器集群查询存放所述资源的冷服务器;
向与所述资源标识对应的冷服务器集群和热服务器集群发送资源传输指令,使得所述资源标识对应的冷服务器集群和热服务器集群根据所述资源传输指令将从所述资源,依次通过所述冷服务器集群和所述至少两层热服务器集群输出至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器,包括:
确定所述客户端标识对应的最底层热服务器集群;
根据所述资源标识从所述最底层热服务器集群中查找存放所述资源的热服务器;
当从所述最底层热服务器集群中的热服务器无法查找到所述资源时,依次向所述最底层热服务器集群的上一层热服务器集群查询存放所述资源的热服务器,直到最顶层热服务器集群。
3.根据权利要求1所述的方法,其特征在于,所述根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器,或所述根据所述资源标识从所述客户端标识对应的冷服务器集群查询存放所述资源的冷服务器,包括:
根据预设哈希算法对所述资源标识进行映射计算,得到资源映射值;
在所述服务器集群对应的环形区域上查找到所述资源映射值后,按预设方向查询,得到第一个服务器映射值为第一服务器映射值,所述服务器集群为热服务器集群或冷服务器集群,所述环形区域包括根据所述预设哈希算法将存放在所述服务器集群上的资源的资源标识及所述服务器集群各个服务器的服务器标识进行映射的映射结果,所述预设方向为顺时针方向或逆时针方向;
将所述资源请求发送到所述第一服务器映射值对应的第一服务器。
4.根据权利要求3所述的方法,其特征在于,当所述第一服务器失效时,所述根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器,或所述根据所述资源标识从所述客户端标识对应的冷服务器集群查询存放所述资源的冷服务器,还包括:
在所述环形区域上所述预设方向查询,得到第二个服务器映射值为第二服务器映射值;
当确定所述第二服务器映射值对应的第二服务器有效时,将所述资源请求发送到所述第二服务器,当所述第二服务器为热服务器时,由所述第二热服务器向上一层热服务器集群获取所述资源请求对应的资源,当所述第二服务器为冷服务器时,由所述第二冷服务器向资源库服务器获取所述资源请求对应的资源。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监测所述热服务器集群中各个资源的热度;
获取所述热服务器集群对应的热度阈值;
当所述资源的热度小于所述热度阈值时,向所述热服务集群发送资源删除指令,使得所述热服务器集群根据所述资源删除指令将所述资源删除;
和/或,
所述方法还包括:
监测所述冷服务器集群中各个资源被各个热服务器集群使用的热度;
获取所述热服务器集群对应的热度阈值;
当所述资源的热度大于或等于所述热度阈值时,向所述冷服务器集群发送资源发送指令,使得所述冷服务器集群根据所述资源发送指令将所述资源发送到与所述热度对应的热服务器集群。
6.一种资源调度装置,其特征在于,包括:
第一获取模块,用于从客户端发送的资源请求中提取客户端标识及资源标识;
第一查询模块,用于根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器;
第二查询模块,用于当从至少两层热服务器集群都无法查找到所述资源时,根据所述资源标识从所述客户端标识对应的冷服务器集群查询存放所述资源的冷服务器;
指令发送模块,用于向与所述资源标识对应的冷服务器集群和热服务器集群发送资源传输指令,使得所述资源标识对应的冷服务器集群和热服务器集群根据所述资源和传输指令将从所述资源,依次通过所述冷服务器集群和所述至少两层热服务器集群输出至所述客户端。
7.根据权利要求6所述的装置,其特征在于,所述第一查询模块包括:
第一确定子模块,用于确定所述客户端标识对应的最底层热服务器集群;
第一查询子模块,用于根据所述资源标识从所述最底层热服务器集群中查找存放所述资源的热服务器;
第二查询子模块,用于当从所述最底层热服务器集群中的热服务器无法查找到所述资源时,依次向所述最底层热服务器集群的上一层热服务器集群查询存放所述资源的热服务器,直到最顶层热服务器集群。
8.根据权利要求6所述的装置,其特征在于,所述第一查询模块或第二查询模块包括:
第一映射计算子模块,用于根据预设哈希算法对所述资源标识进行映射计算,得到资源映射值;
第三查询子模块,用于在所述服务器集群对应的环形区域上查找到所述资源映射值后,按预设方向查询,得到第一个服务器映射值为第一服务器映射值,所述服务器集群为热服务器集群或冷服务器集群,所述环形区域包括根据所述预设哈希算法将存放在所述服务器集群上的资源的资源标识及所述服务器集群各个服务器的服务器标识进行映射的映射结果,所述预设方向为顺时针方向或逆时针方向;
发送子模块,用于将所述资源请求发送到所述第一服务器映射值对应的第一服务器。
9.根据权利要求8所述的装置,其特征在于,
所述第三查询子模块,用于当所述第一服务器失效时,在所述环形区域上所述预设方向查询,得到第二个服务器映射值为第二服务器映射值;
所述发送子模块,用于当确定所述第二服务器映射值对应的第二服务器有效时,将所述资源请求发送到所述第二服务器,当所述第二服务器为热服务器时,由所述第二热服务器向上一层热服务器集群获取所述资源请求对应的资源,当所述第二服务器为冷服务器时,由所述第二冷服务器向资源库服务器获取所述资源请求对应的资源。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:第一监测模块和第二获取模块,
所述第一监测模块,用于监测所述热服务器集群中各个资源的热度;
所述第二获取模块,用于获取所述热服务器集群对应的热度阈值;
所述指令发送模块,用于当所述资源的热度小于所述热度阈值时,向所述热服务集群发送资源删除指令,使得所述热服务器集群根据所述资源删除指令将所述资源删除;
和/或,
所述装置还包括:第二监测模块和第三获取模块,
所述第二监测模块,用于监测所述冷服务器集群中各个资源被各个热服务器集群使用的热度;
所述第三获取模块,用于获取所述热服务器集群对应的热度阈值;
所述指令发送模块,用于当所述资源的热度大于或等于所述热度阈值时,向所述冷服务器集群发送资源发送指令,使得所述冷服务器集群根据所述资源发送指令将所述资源发送到与所述热度对应的热服务器集群。
11.一种CDN系统,其特征在于,包括:直接与资源库服务器连接的至少两个冷服务器集群,以及位于所述冷服务器集群下层的至少两层热服务器集群,每层热服务器集群包括至少两个热服务器集群;与热服务器集群和冷服务器集群连接的资源调度装置;
每个冷服务器集群包括至少两台冷服务器,每个热服务器集群包括至少两台热服务器;
所述冷服务器集群存储所述CDN系统的所有资源;所述热服务器集群存储预设热度的资源,所述热度用于表示资源的使用度;
所述资源调度装置,从客户端发送的资源请求中提取客户端标识及资源标识;根据所述资源标识依次从所述客户端标识对应的最底层热服务器集群到最顶层热服务器集群查找存放所述资源标识对应资源的热服务器;当从所述至少两层热服务器集群都无法查找到所述资源时,根据所述资源标识从所述客户端标识对应的冷服务器集群查询存放所述资源的冷服务器;向与所述资源标识对应的冷服务器集群和热服务器集群发送资源传输指令;
所述冷服务器,将所述资源依次通过每层热服务器集群发送所述最底层热服务器集群;
所述最底层热服务器集群,将所述资源输出至所述客户端。
12.根据权利要求11所述的系统,其特征在于,
所述资源调度装置,根据所述客户端标识确定输出所述资源的第一热服务器;当所述资源为视频时,获取所述视频的码率;根据所述码率确定所述第一热服务器的输出速率上限;
所述第一热服务器,根据所述输出速率上限输出所述视频的视频数据。
13.根据权利要求12所述的系统,其特征在于,
所述资源调度装置,获取待分配资源的资源标识及服务器集群中每个服务器的服务器标识,所述服务器集群为热服务器集群或冷服务器集群;根据预设哈希算法将所述资源标识及所述服务器标识映射到环形区域上;根据所述资源标识在所述环形区域上按预设方向进行查询,确定查找到的第一个服务器标识对应的服务器用于存放所述资源标识对应的待分配资源,所述预设方向为顺时针方向或逆时针方向;将所述待分配资源分配到对应的所述服务器;
所述热服务器集群中的热服务器或冷服务器集群中的冷服务器,根据所述资源调度装置的分配存放资源。
CN201711015874.4A 2017-10-25 2017-10-25 一种资源调度方法、装置和cdn系统 Pending CN107846454A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711015874.4A CN107846454A (zh) 2017-10-25 2017-10-25 一种资源调度方法、装置和cdn系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711015874.4A CN107846454A (zh) 2017-10-25 2017-10-25 一种资源调度方法、装置和cdn系统

Publications (1)

Publication Number Publication Date
CN107846454A true CN107846454A (zh) 2018-03-27

Family

ID=61662833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711015874.4A Pending CN107846454A (zh) 2017-10-25 2017-10-25 一种资源调度方法、装置和cdn系统

Country Status (1)

Country Link
CN (1) CN107846454A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040787A (zh) * 2018-09-05 2018-12-18 湖南华诺科技有限公司 一种分布式自治机顶盒内容分发网络的方法
CN110049348A (zh) * 2019-04-03 2019-07-23 网宿科技股份有限公司 一种视频解析方法、系统及视频解析服务器
CN110363469A (zh) * 2019-06-18 2019-10-22 北京你财富计算机科技有限公司 一种分发平台中活动产品自动填充的方法、装置及电子设备
CN110493321A (zh) * 2019-07-24 2019-11-22 网宿科技股份有限公司 一种资源获取方法以及边缘调度系统、服务器
CN110971709A (zh) * 2019-12-20 2020-04-07 深圳市网心科技有限公司 数据处理方法、计算机设备及存储介质
CN111225004A (zh) * 2018-11-23 2020-06-02 中移(杭州)信息技术有限公司 一种服务器集群的扩容方法、装置和可读介质
CN112019451A (zh) * 2019-05-29 2020-12-01 中国移动通信集团安徽有限公司 带宽分配方法、调试网元、本地缓存服务器及计算设备
CN112995054A (zh) * 2021-03-03 2021-06-18 北京奇艺世纪科技有限公司 流量分配方法、装置、电子设备和计算机可读介质
CN114124797A (zh) * 2021-11-19 2022-03-01 中国电信集团系统集成有限责任公司 一种服务器路由方法、装置、电子设备及存储介质
CN114398569A (zh) * 2021-12-31 2022-04-26 互联网域名系统北京市工程研究中心有限公司 Dns并发递归数调度的控制方法
CN117785332A (zh) * 2024-02-28 2024-03-29 国维技术有限公司 一种虚拟三维空间动态资源加载释放方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040787A (zh) * 2018-09-05 2018-12-18 湖南华诺科技有限公司 一种分布式自治机顶盒内容分发网络的方法
CN111225004A (zh) * 2018-11-23 2020-06-02 中移(杭州)信息技术有限公司 一种服务器集群的扩容方法、装置和可读介质
CN110049348A (zh) * 2019-04-03 2019-07-23 网宿科技股份有限公司 一种视频解析方法、系统及视频解析服务器
CN112019451A (zh) * 2019-05-29 2020-12-01 中国移动通信集团安徽有限公司 带宽分配方法、调试网元、本地缓存服务器及计算设备
CN112019451B (zh) * 2019-05-29 2023-11-21 中国移动通信集团安徽有限公司 带宽分配方法、调试网元、本地缓存服务器及计算设备
CN110363469A (zh) * 2019-06-18 2019-10-22 北京你财富计算机科技有限公司 一种分发平台中活动产品自动填充的方法、装置及电子设备
CN110493321A (zh) * 2019-07-24 2019-11-22 网宿科技股份有限公司 一种资源获取方法以及边缘调度系统、服务器
CN110971709B (zh) * 2019-12-20 2022-08-16 深圳市网心科技有限公司 数据处理方法、计算机设备及存储介质
CN110971709A (zh) * 2019-12-20 2020-04-07 深圳市网心科技有限公司 数据处理方法、计算机设备及存储介质
CN112995054A (zh) * 2021-03-03 2021-06-18 北京奇艺世纪科技有限公司 流量分配方法、装置、电子设备和计算机可读介质
CN114124797A (zh) * 2021-11-19 2022-03-01 中国电信集团系统集成有限责任公司 一种服务器路由方法、装置、电子设备及存储介质
CN114124797B (zh) * 2021-11-19 2023-08-04 中电信数智科技有限公司 一种服务器路由方法、装置、电子设备及存储介质
CN114398569A (zh) * 2021-12-31 2022-04-26 互联网域名系统北京市工程研究中心有限公司 Dns并发递归数调度的控制方法
CN117785332A (zh) * 2024-02-28 2024-03-29 国维技术有限公司 一种虚拟三维空间动态资源加载释放方法
CN117785332B (zh) * 2024-02-28 2024-05-28 国维技术有限公司 一种虚拟三维空间动态资源加载释放方法

Similar Documents

Publication Publication Date Title
CN107846454A (zh) 一种资源调度方法、装置和cdn系统
US6324580B1 (en) Load balancing for replicated services
Cardellini et al. Request redirection algorithms for distributed web systems
EP2708013B1 (en) A method for DNS resolution of content requests in a CDN service
US9298732B2 (en) Searching cloud-based distributed storage resources using a set of expendable probes
US6742035B1 (en) Directory-based volume location service for a distributed file system
CN105959168B (zh) 网络复制的技术
JP5719323B2 (ja) 分散処理システム、ディスパッチャおよび分散処理管理装置
CN108900648A (zh) 一种控制多cname流量比例的方法和装置
US20060242318A1 (en) Method and apparatus for cascading media
CN107801086A (zh) 多缓存服务器的调度方法和系统
US8166203B1 (en) Server selection based upon time and query dependent hashing
CN105812488A (zh) 云计算分布式服务集群系统及其方法
CN106850710A (zh) 一种数据云存储系统、客户终端、存储服务器及应用方法
CN106453122B (zh) 一种流数据传输节点的选取方法和装置
CN107749887A (zh) 一种cdn资源分配、定位方法和装置及cdn系统
US20110010387A1 (en) Associated content system
CN104378452A (zh) 一种用于域名解析的方法、装置及系统
CA3123001A1 (en) Systems and methods for processing requests for content of a content distribution network
CN112231603A (zh) 一种文件下载方法、服务器、客户端和存储介质
CN110601994B (zh) 云环境下微服务链感知的负载均衡方法
CN108124020A (zh) 域名解析方法、系统及设备
CN109388351A (zh) 一种分布式数据存储的方法及相关装置
Gao et al. Design and evaluation of a distributed scalable content discovery system
Rawadi et al. Providing local cloud services to mobile devices with inter-cloudlet communication

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