CN107801086B - 多缓存服务器的调度方法和系统 - Google Patents

多缓存服务器的调度方法和系统 Download PDF

Info

Publication number
CN107801086B
CN107801086B CN201710985324.9A CN201710985324A CN107801086B CN 107801086 B CN107801086 B CN 107801086B CN 201710985324 A CN201710985324 A CN 201710985324A CN 107801086 B CN107801086 B CN 107801086B
Authority
CN
China
Prior art keywords
edge
cryptographic hash
cluster
video
viewing terminal
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.)
Expired - Fee Related
Application number
CN201710985324.9A
Other languages
English (en)
Other versions
CN107801086A (zh
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.)
Guangdong Southern Digital Television Wireless Communication Co Ltd
Original Assignee
Guangdong Southern Digital Television Wireless Communication Co 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 Guangdong Southern Digital Television Wireless Communication Co Ltd filed Critical Guangdong Southern Digital Television Wireless Communication Co Ltd
Priority to CN201710985324.9A priority Critical patent/CN107801086B/zh
Publication of CN107801086A publication Critical patent/CN107801086A/zh
Application granted granted Critical
Publication of CN107801086B publication Critical patent/CN107801086B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Abstract

本发明涉及一种多缓存服务器的调度方法和系统,其中方法包括:接收观看终端发送的视频播放请求,并获取观看终端的IP和该请求视频的视频文件路径;查询IP数据库中所述观看终端的IP,确定所述观看终端归属的区域;加载所述观看终端归属区域的边缘集群列表;扫描所述边缘集群列表,以根据边缘集群列表中的各个边缘集群的资源状态及优先级顺序确定执行调度任务的边缘集群;拼接所述确定的执行调度任务的边缘集群在边缘调度中心的地址得到所述视频文件的重定向路径,以重定向观看终端的视频播放请求。本发明解决了地域就近访问和多个边缘集群调度的问题,不依赖DNS进行就近区域访问,提高了视频缓存调度效率。

Description

多缓存服务器的调度方法和系统
技术领域
本发明涉及流媒体直播点播技术领域,特别是涉及一种多缓存服务器的调度方法和系统。
背景技术
随着互联网多媒体技术的发展,在网络带宽不断增长的今天,网络视频以其便捷的访问体验、多样化的影片来源、实时的更新速度吸引了广大的用户,使得网络视频成为了用户网络生活不可或缺的重要组成部分。
目前,互联网各大视频网站主要采用切片式的传输协议,包括Apple公司的HLS(HTTP Live Streaming,的动态码率自适应技术),Adobe公司的HDS(Hitachi DataSystems),以及MPEG标准化组织的MPEG-DASH;这些切片式的传输协议都存在共通点:底层传输采用HTTP/HTTPS协议;将直播流或者点播视频文件数据,按固定的时间单位,通常3秒到10秒不等切分,形成一组切片文件;生成一个索引文件,记录视频的信息和切片文件的URL。
切片式的传输协议利用HTTP/HTTPS协议传输,可以采用Web缓存服务器和CDN(Content Delivery Network,内容分发网络)对视频内容进行缓存,Web缓存服务器通常没有调度系统,或者只考虑节点负载进行调度;大部分CDN调度时只考虑了节点就近原则和节点负载原则,依赖于DNS才能进行地域就近访问,影响了视频缓存调度效率。
发明内容
基于此,有必要针对影响视频缓存调度效率的问题,提供一种多缓存服务器的调度方法和系统。
一种多缓存服务器的调度方法,包括如下步骤:
接收观看终端发送的视频播放请求,并获取观看终端的IP和该请求视频的视频文件路径;
查询IP数据库中所述观看终端的IP,确定所述观看终端归属的区域;
加载所述观看终端归属区域的边缘集群列表;
扫描所述边缘集群列表,以根据边缘集群列表中的各个边缘集群的资源状态及优先级顺序确定执行调度任务的边缘集群;
拼接所述确定的执行调度任务的边缘集群在边缘调度中心的地址得到所述视频文件的重定向路径,以重定向观看终端的视频播放请求。
上述多缓存服务器的调度方法,通过观看终端发送的视频播放请求中的IP和文件路径,从IP数据库中查询观看终端的区域并相应的边缘集群列表;从边缘集群列表中扫描得到执行调度任务的边缘集群,并将观看终端重定向到该边缘集群。该方案解决了地域就近访问和多个边缘集群调度的问题,不依赖DNS进行就近区域访问,提高了视频缓存调度效率。
在一个实施例中,所述根据边缘集群列表中的各边缘集群的资源状态及优先级顺序确定执行调度任务的边缘集群的步骤可以包括:
按边缘集群的优先级扫描各边缘集群,检测每个边缘集群的资源剩余量;
若所述边缘集群的资源剩余量未超出预设阀值,则将该边缘集群设定为执行调度任务的边缘集群;
若边缘集群列表中的所有边缘集群的资源剩余量均超出所述预设阀值,则对边缘集群按资源剩余量进行排序,选取资源剩余量最大的边缘集群作为执行调度任务的边缘集群。
在一个实施例中,拼接所述确定的执行调度任务的边缘集群在边缘调度中心的地址得到所述请求视频的视频文件路径后,还包括由边缘调度中心执行以下步骤:
接收所述观看终端的视频播放请求,并从该视频播放请求中获取该请求视频的视频文件路径;
对所述视频文件路径执行哈希运算,得到第一哈希值;
基于所述第一哈希值在哈希环中作逆时针扫描,将哈希环中与所述第一哈希值距离最近的哈希值确定为第二哈希值,该第二哈希值关联的资源未过载边缘缓存节点作为用于执行所述视频文件缓存任务的主缓存节点,其中,所述哈希环由边缘集群中的各个边缘缓存节点的标识号对应的哈希值排序后首尾相连生成,且每个哈希值关联一个边缘缓存节点;
拼接所述主缓存节点的地址生成所述视频文件的重定向路径,以将观看终端重定向到所述主缓存节点。
在一个实施例中,在将观看终端重定向到所述主缓存节点后,进一步由主缓存节点执行以下步骤:
接收所述观看终端的视频播放请求,并从该视频播放请求中获取该请求视频的视频文件路径;
对所述视频文件路径执行哈希运算,得到第一哈希值;
基于所述第一哈希值在哈希环中作逆时针扫描,将哈希环中与所述第一哈希值距离最近的哈希值确定为第二哈希值,其中,该第二哈希值关联的边缘缓存节点的资源未过载,所述哈希环由边缘集群中的各个边缘缓存节点的标识号对应的哈希值排序后首尾相连生成,且每个哈希值关联一个边缘缓存节点;
初始化一个用于存放所述视频播放请求的上游地址的数组;
若所确定的第二哈希值对应的边缘缓存节点不是所述主缓存节点,则将该第二哈希值对应的边缘缓存节点的地址加入到所述数组中;
将所述请求视频的回源地址加入到所述数组中;
若边缘缓存节点的本地缓存中存在所述视频文件,则将该视频文件数据发送至观看终端;
若边缘缓存节点的本地缓存中不存在所述视频文件,则根据所述数组中地址的加入顺序对数组中的地址依次发出请求,以下载并缓存所述视频文件,并将获取的视频文件数据发送至观看终端。
在一个实施例中,所述哈希环的生成包括以下步骤:
对边缘集群中的各边缘缓存节点的标识号分别执行哈希运算得到各边缘缓存节点关联的哈希值;
将所述各个哈希值进行排序后首尾相连生成所述哈希环。
在一个实施例中,若所述哈希环上各哈希值所关联的边缘缓存节点均超出负载,则将为资源剩余量最大的边缘缓存节点所关联的哈希值作为所述第二哈希值。
在一个实施例中,所述的多缓存服务器的调度方法还可以包括:定期轮询各边缘集群的资源使用状态、存活节点数和剩余可用带宽数量。
在一个实施例中,所述的多缓存服务器的调度方法还可以包括:配置任一区域与一组有优先级区分的边缘集群的关联关系;其中,优先级高的边缘集群优先调度,优先级相同的边缘集群按其资源剩余量大小顺序进行调度。
在一个实施例中,所述的多缓存服务器的调度方法还可以包括:设定边缘集群与边缘集群之间的级联关系;其中,在设定了级联关系的边缘集群中,优先从上游边缘集群下载数据。
在一个实施例中,所述的多缓存服务器的调度方法还可以包括:建立与其他全局调度中心的通信,通过数据同步方式与其他全局调度中心共享调度数据。
一种多缓存服务器的调度系统,包括:
接收模块:用于接收观看终端发送的视频播放请求,并获取观看终端的IP和该请求视频的视频文件路径;
查询模块:用于查询IP数据库中所述观看终端的IP,确定所述观看终端归属的区域;
加载模块:用于加载所述观看终端归属区域的边缘集群列表;
扫描模块:用于扫描所述边缘集群列表,以根据边缘集群列表中的各个边缘集群的资源状态及优先级顺序确定执行调度任务的边缘集群;
拼接模块:用于拼接所述确定的执行调度任务的边缘集群在边缘调度中心的地址得到所述视频文件的重定向路径,以重定向观看终端的视频播放请求。
一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的多缓存服务器的调度方法。
一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的多缓存服务器的调度方法。
上述多缓存服务器的调度系统,通过观看终端发送的视频播放请求中的IP和文件路径,从IP数据库中查询观看终端的区域并相应的边缘集群列表;从边缘集群列表中扫描得到执行调度任务的边缘集群,并将观看终端重定向到该边缘集群。该方案解决了地域就近访问和多个边缘集群调度的问题,不依赖DNS进行就近区域访问,提高了视频缓存调度效率。
附图说明
图1是一实施例多缓存服务器的调度方法流程图;
图2(a)是边缘调度中心执行步骤的流程图;
图2(b)是主缓存节点执行步骤的流程图;
图3是一种调度系统结构框图;
图4为一实施例的全局调度示意图;
图5为一实施例的边缘集群内部调度示意图;
图6是一个实施例的多缓存服务器的调度系统结构示意图。
具体实施方式
下面结合附图阐述本发明的多缓存服务器的调度方法和系统的实施例。
需要说明的是,本发明实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本发明实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或(模块)单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明的多缓存服务器的调度方法,可以用于对全局调度中心的边缘集群进行调度,所述全局调度中心是一个服务器系统,所有受其管辖的边缘集群的ID和地址均注册在全局调度中心。
参考图1所示,图1是一实施例的多缓存服务器的调度方法流程图,包括如下步骤:
步骤S101,接收观看终端发送的视频播放请求,并获取观看终端的IP和该请求视频的视频文件路径;
此步骤中,全局调度中心可以接收观看终端发送的视频播放请求,并通过视频播放请求获取观看终端的IP,以及该视频播放请求中的请求视频的视频文件路径。
步骤S102,查询IP数据库中所述观看终端的IP,确定所述观看终端归属的区域;
该步骤中,可以查询内置的IP地址库,对一个确定的观看终端的IP划分到指定的区域,每个区域标识一个区域ID,通过查询观看终端的IP可以定位到观看终端所归属的区域。
步骤S103,加载所述观看终端归属区域的边缘集群列表;
在此,根据定位到的观看终端所归属的区域,加载该区域的边缘集群列表。
步骤S104,扫描所述边缘集群列表,以根据边缘集群列表中的各个边缘集群的资源状态及优先级顺序确定执行调度任务的边缘集群;
在上述步骤中,根据边缘集群的优先级顺序和资源状态来选择执行调度任务的边缘集群。
在一个实施例中,所述获取执行调度任务的边缘集群的方法,可以包括如下步骤:
按边缘集群的优先级扫描各边缘集群,检测每个边缘集群的资源剩余量;
若所述边缘集群的资源剩余量未超出预设阀值,则将该边缘集群设定为执行调度任务的边缘集群;
若边缘集群列表中的所有边缘集群的资源剩余量均超出所述预设阀值,则对边缘集群按资源剩余量进行排序,选取资源剩余量最大的边缘集群作为执行调度任务的边缘集群。
作为实施例,为了及时检测到边缘集群的资源剩余量,可以定期轮询所有边缘集群的资源使用状态,包括存活的节点数,剩余可用带宽数量等;通过定期轮询可以实时掌握边缘集群的资源使用状态。
进一步的,还可以配置任一区域与一组有优先级区分的边缘集群的关联关系;其中,优先级高的边缘集群优先调度,优先级相同的边缘集群按资源剩余量大小顺序进行调度。
另外,还可以设定边缘集群与边缘集群之间的级联关系;其中,在设定了级联关系的边缘集群中,优先从上游边缘集群下载数据。通过可配置的边缘集群级联,提高当缓存未命中时回源的可靠性。
步骤S105,拼接所述确定的执行调度任务的边缘集群在边缘调度中心的地址得到所述视频文件的重定向路径,以重定向观看终端的视频播放请求。
在此步骤中,边缘调度中心和一组受其管辖的边缘缓存节点统称边缘集群,通过边缘集群确定其边缘调度中心的地址,拼接文件路径后得到完整的重定向路径。
上述实施例的方案,通过观看终端发送的视频播放请求中的IP和文件路径,从IP数据库中查询观看终端的区域并相应的边缘集群列表;从边缘集群列表中扫描得到执行调度任务的边缘集群,并将观看终端重定向到该边缘集群。该方案解决了地域就近访问和多个边缘集群调度的问题,不依赖DNS进行就近区域访问,提高了视频缓存调度效率。
在一个实施例中,在全局调度中心中,还可以建立与其他全局调度中心的通信,通过数据同步方式与其他全局调度中心共享调度数据。通过多个全局调度中心共享调度数据,可以减轻全局调度中心的负荷。
本发明的多缓存服务器的调度方法,可以通过全局调度中心进行多个边缘集群之间的调度;所述全局调度中心是一个服务器系统,所有受其边缘集群ID和地址均注册在全局调度中心。
上述实施例的方案,可以在全局调度中心上实现,全局调度中心可以定期轮询受其管辖的所有边缘集群的资源使用状态、存活的节点数、剩余可用带宽数量等,通过内置IP地址库,可对一个确定的IP划分到指定的区域,每个区域标识一个区域ID。
参考图2所示,图2(a)是边缘调度中心执行步骤的流程图,在拼接所述确定的执行调度任务的边缘集群在边缘调度中心的地址得到所述请求视频的视频文件路径后,还包括由边缘调度中心执行的步骤:
步骤S106,接收所述观看终端的视频播放请求,并从该视频播放请求中获取该请求视频的视频文件路径。
此步骤中,可以通过边缘集群内部调度的边缘调度中心,接收观看终端重定向发送的视频播放请求,从该视频播放请求中可以得到视频文件的文件路径。
步骤S107,对所述视频文件路径执行哈希运算,得到第一哈希值。
上述步骤中,可以在边缘调度中心,将所述文件路径执行哈希算法处理,得到32位的无符号整数。
步骤S108,基于所述第一哈希值在哈希环中作逆时针扫描,将哈希环中与所述第一哈希值距离最近的哈希值确定为第二哈希值,该第二哈希值关联的资源未过载边缘缓存节点作为用于执行所述视频文件缓存任务的主缓存节点,其中,所述哈希环由边缘集群中的各个边缘缓存节点的标识号对应的哈希值排序后首尾相连生成,且每个哈希值关联一个边缘缓存节点。
在一个实施例中,所述哈希环可以是由边缘集群中的各个边缘缓存节点的哈希值首尾相连形成的环形空间。对于所述哈希环,可以通过如下方法获得,首先对边缘集群中的各个边缘缓存节点的ID每个执行哈希运算,得到每个边缘缓存节点的无符号哈希值;然后将所述无符号哈希值进行排序,并首尾相连形成一个无符号整数构成环形空间,得到所述哈希环。
上述步骤,每个哈希值关联一个边缘缓存节点,建立哈希环,并在哈希环中逆时针扫描用于承担文件缓存任务的边缘缓存节点对应的哈希值。
一般情况下,对于最靠近第一哈希值的哈希值所对应的边缘缓存节点,可以设为该文件路径对应的主缓存节点,只要该缓存节点未过载,可以由此缓存节点承担视频文件的缓存工作。
基于上述实施例,在获取第二哈希值时,可以通过如下方法:
计算第一哈希值在所述哈希环中的位置;以所述第一哈希值的位置为起点,在哈希环中逆时针扫描,获取最靠近所述第一哈希值且对应的边缘缓存节点资源使用量未超出负载的哈希值,得到第二哈希值。
作为另一种实施方式,对于所述第二哈希值,需要考虑到边缘缓存节点均超出负载的情况,因此,在此中情况中,若所述哈希环上所有哈希值所对应边缘缓存节点均超出负载,则所述第二哈希值为资源剩余量最大的边缘缓存节点所对应的哈希值。
步骤S109,拼接所述主缓存节点的地址生成所述视频文件的重定向路径,以将观看终端重定向到所述主缓存节点。
上述实施例,充分考虑内容与边缘缓存节点的亲和性以及边缘缓存节点的负载,通过计算出最合适的边缘缓存节点并将观看终端的播放请求重定向到该边缘缓存节点,提高了缓存命中率。
在一个实施例中,参考图2所示,图2(b)是主缓存节点执行步骤的流程图,在将观看终端重定向到所述主缓存节点后,进一步由主缓存节点执行以下步骤:
步骤S110,接收所述观看终端的视频播放请求,并从该视频播放请求中获取该请求视频的视频文件路径;
步骤S111,对所述视频文件路径执行哈希运算,得到第一哈希值;
步骤S112,基于所述第一哈希值在哈希环中作逆时针扫描,将哈希环中与所述第一哈希值距离最近的哈希值确定为第二哈希值,其中,该第二哈希值关联的边缘缓存节点的资源未过载,所述哈希环由边缘集群中的各个边缘缓存节点的标识号对应的哈希值排序后首尾相连生成,且每个哈希值关联一个边缘缓存节点;
步骤S113,初始化一个用于存放所述视频播放请求的上游地址的数组;
步骤S114,若所确定的第二哈希值对应的边缘缓存节点不是所述主缓存节点,则将该第二哈希值对应的边缘缓存节点的地址加入到所述数组中;
步骤S115,将所述请求视频的回源地址加入到所述数组中;
步骤S116,若边缘缓存节点的本地缓存中存在所述视频文件,则将该视频文件数据发送至观看终端;
步骤S117,若边缘缓存节点的本地缓存中不存在所述视频文件,则根据所述数组中地址的加入顺序对数组中的地址依次发出请求,以下载并缓存所述视频文件,并将获取的视频文件数据发送至观看终端。
本发明上述实施例的方案,边缘调度中心为一个服务器系统,可以将所有受其管辖的边缘缓存节点的ID和地址注册在边缘调度中心中;同时,在边缘调度中心配置一个ID,边缘集群ID即是边缘调度中心ID,便于全局调度;在边缘调度中心可以采用定期轮询方式,采集受其管辖的边缘缓存节点的资源使用状态,包括存亡状态、带宽使用率、CPU使用率、内存使用率、磁盘繁忙度等。
为了更加清晰本发明技术方案,下面结合应用示例进一步阐述若干实施例。
参考图3所示,图3是一种调度系统结构框图;下面应用示例将阐述在该结构的调度系统上实现本发明的多缓存服务器的调度方法。
本应用示例中,全局调度中心负责将观看终端的播放请求重定向到边缘集群的边缘调度中心;边缘调度中心负责将观看终端调度到边缘缓存节点;全局调度中心定期轮询采集边缘集群的状态负载信息并记录,用作全局调度的负载依据;边缘调度中心定期轮询采集各个边缘缓存节点的状态负载信息并记录,用作边缘集群内部调度的负载依据。
首先,在全局调度中心的调度方法,可以包括如下步骤:
s201:观看终端首先将播放请求发送到全局调度中心;
s202:全局调度中心获取观看终端的IP和所请求视频文件的文件路径“filepath”;
s203:全局调度中心从IP数据库中查询该观看终端的IP,得到所述观看终端所归属的区域;
s204:加载该区域的边缘集群列表;
s205:按优先级先后扫描边缘集群,对每个边缘集群检测其资源剩余量,如果资源剩余量未超出设定的阀值,则标记该边缘集群ID为C,停止扫描;
s206:如果所有边缘集群的资源剩余量均超出了阀值,则按资源剩余量排序,选取资源剩余量最大的边缘集群ID为C;
s207:全局调度中心将ID为C的所代表的边缘集群中的边缘调度中心的地址拼接文件路径“filepath”得到第二URL,将观看终端重定向到该第二URL。
基于上述应用示例,全局调度方法解决了地域就近访问和多个边缘集群调度的问题;边缘集群内部调度方法解决了边缘节点负载,缓存均匀分布,以及缓存命中率问题;同时可配置的边缘集群级联,提高当缓存未命中时回源的可靠性;
相对于传统技术,该方案具有明显技术效果:不依赖DNS解决就近访问问题;调度兼顾了节点负载以及内容和缓存节点的亲和性,极大低提高了缓存命中率;缓存文件自动均匀分布在各个缓存节点,降低了缓存节点的磁盘IO,提高磁盘空间利用率;当缓存节点失效或者新增缓存节点时,不会打乱所有缓存,仅相邻两个节点的部分缓存会失效。
其次,在边缘集群内部调度方法,可以包括如下步骤:
s301:观看终端根据重定向的第二URL,先将播放请求发送至边缘调度中心;
s302:边缘调度中心从播放请求的第二URL中得到视频文件的文件路径“filepath”;
s303:边缘调度中心将文件路径“filepath”执行哈希算法,得到32位的无符号整数R;
s304:边缘调用中心将其管辖的所有边缘缓存节点的ID每个执行哈希算法,得到每个边缘缓存节点的32位无符号哈希值,记为R1、R2、……、Rn,每个哈希值关联一个边缘缓存节点;
s305:将无符号哈希值R1、R2、……、Rn进行排序,首尾相连,形成一个32位无符号整数环形空间;
s306:将所述R在所述环形空间中定位,寻找最靠近R的R1…Rn中一个哈希值Rc;此哈希值Rc对应的边缘缓存节点为该文件路径“filepath”对应的主缓存节点,只要该边缘缓存节点未过载,理应由此边缘缓存节点承担视频文件的缓存工作;
s307:检测哈希值Rc所关联的边缘缓存节点资源使用状况,设定指定阀值,如果超出阀值则认定哈希值Rc对应的边缘缓存节点过载,将哈希值Rc加入到一个备选边缘缓存节点的数组“CANS”中,继续在所述环形空间逆时针寻找下一个哈希值作为哈希值Rc;
s308:如果步骤s307步骤中寻找到一个未过载的边缘缓存节点则将该边缘缓存节点的哈希值记录为哈希值Rr;
s309:如果s307步骤未能找到一个未过载的节点则从数组“CANS”中,按节点资源空闲量进行排序,选取资源空闲量最大的边缘缓存节点的哈希值作为哈希值Rr;
s310:将所述哈希值Rr所代表的边缘缓存节点的地址取出,拼接文件路径“filepath”,发出重定向响应,使观看终端重定向到哈希值Rr对应的边缘缓存节点;
s311:边缘缓存节点收到对文件路径“filepath”的播放请求后,按s103计算哈希值R,按s304~s306计算出哈希值Rc;
s312:边缘缓存节点初始化一个数组“UPSTREAM”存放上游地址;
s313:边缘缓存节点在步骤s311计算的哈希值Rc对应的边缘缓存节点是否是自身所在的边缘缓存节点,若不是,则将哈希值Rc对应的边缘缓存节点地址加入到数组“UPSTREAM”中;在此的目的是为优先从将所述文件的主边缘缓存节点加载所述文件降低回源的概率;
s314:如果全局调度中心设置了所述边缘缓存节点所在边缘集群的上游边缘集群,则对每个上游边缘集群按步骤s303~s306计算出上游边缘集群中的边缘缓存节点的地址加入到数组“UPSTREAM”中;
s315:将观看终端所请求视频文件的回源地址加入到数组“UPSTREAM”中;
s316:将数组“UPSTREAM”作为本次播放请求的上游地址列表;
s317:边缘缓存节点检测本地缓存,如果发现存在该文件的缓存则直接响应视频文件数据至观看终端;
s318:边缘缓存节点如果在本地缓存中未命中,则根据数组“UPSTREAM”中地址加入的顺序,对数组“UPSTREAM”中的地址发出请求(越先加入的优先级越高),下载并缓存和响应视频文件数据至观看终端;在此过程中,如果请求失败,则尝试数组“UPSTREAM”中的下一个地址。
下面结合附图对本发明的技术方案在应用示例的方案进行进一步详细描述。
如图4所示,图4为一实施例的全局调度示意图,包括如下步骤:
s401:观看终端通过IP或域名的视频文件URL访问全局调度中心;例如,通过DNS解析www.abc.com解析到全局调度中心,连接到全局调度中心并发送GET/live/CCTV1.M3U8;
s402:全局调度中心根据观看终端的播放请求得到URL得到观看终端发送的URL,如:http://www.abc.com/live/CCTV1.M3U8
s403:全局调度中心得到客户端IP,如172.217.5.206,匹配IP库,得到所在区域如California;
s404:根据所匹配的区域,调取预设的边缘集群列表,按优先级先后排序,扫描出一个资源使用量未过载的边缘集群;如果所述列表中所有边缘集群均过载,则挑选资源剩余量最大的边缘集群;
s405:得到所述边缘集群的边缘调度中心地址,如:http://172.216.3.177,拼接文件路径后形成完整的URL,http://172.216.3.177/live/CCTV1.M3U8;
s406:全局调度中心通过HTTP 302状态码将观看终端重定向到新的边缘集群的边缘调度中心,例如:http://172.216.3.177/live/CCTV1.M3U8
如图5所示,图5为一实施例的边缘集群内部调度示意图,包括如下步骤:
S501:观看终端重定向后连接到边缘调度中心,如:
http://172.216.3.177/live/CCTV1.M3U8
s502:边缘中心得到文件路径,如:/live/CCTV1.M3U8;
s503:计算文件路径的32位无符号哈希值R;
s504:计算哈希值R在边缘缓存节点哈希环中的位置,选取最靠近R的节点;在哈希环中逆时针扫描,检索一个资源使用量未超出负载的节点Rc;如果环上所有节点都超出负载,则选取资源剩余量最大的节点;
s505:将边缘缓存节点的地址拼接文件路径,如:
http://172.216.3.171/live/CCTV1.M3U8,将观看终端重定向到
http://172.216.3.171/live/CCTV1.M3U8
s506:观看终端连接到该边缘缓存节点的地址,下载数据开始播放。
下面结合附图阐述本发明的多缓存服务器的调度系统的实施例。
参考图6所示,图6是一个实施例的多缓存服务器的调度系统结构示意图,包括:
接收模块101,用于接收观看终端发送的视频播放请求,并获取观看终端的IP和该请求视频的视频文件路径;
查询模块102:用于查询IP数据库中所述观看终端的IP,确定所述观看终端归属的区域;
加载模块103:用于加载所述观看终端归属区域的边缘集群列表;
扫描模块104:用于扫描所述边缘集群列表,以根据边缘集群列表中的各个边缘集群的资源状态及优先级顺序确定执行调度任务的边缘集群;
拼接模块105:用于拼接所述确定的执行调度任务的边缘集群在边缘调度中心的地址得到所述视频文件的重定向路径,以重定向观看终端的视频播放请求。
本发明的多缓存服务器的调度系统与本发明的多缓存服务器的调度方法一一对应,在上述多缓存服务器的调度方法的实施例阐述的技术特征及其有益效果均适用于多缓存服务器的调度系统的实施例中,特此声明。
基于如上所述的示例,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种多缓存服务器的调度方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各多缓存服务器的调度方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
据此,在一个实施例中还提供一种存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一种多缓存服务器的调度方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种多缓存服务器的调度方法,其特征在于,包括如下步骤:
接收观看终端发送的视频播放请求,并获取观看终端的IP和该请求视频的视频文件路径;
查询IP数据库中所述观看终端的IP,确定所述观看终端归属的区域;
加载所述观看终端归属区域的边缘集群列表;
扫描所述边缘集群列表,以根据边缘集群列表中的各个边缘集群的资源状态及优先级顺序确定执行调度任务的边缘集群;
拼接所述确定的执行调度任务的边缘集群在边缘调度中心的地址得到所述视频文件的重定向路径,以重定向观看终端的视频播放请求;其中,在得到所述视频文件的重定向路径后,触发所述边缘调度中心执行以下步骤:
接收所述观看终端的视频播放请求,并从该视频播放请求中获取该请求视频的视频文件路径;
对所述视频文件路径执行哈希运算,得到第一哈希值;
基于所述第一哈希值在哈希环中作逆时针扫描,将哈希环中与所述第一哈希值距离最近的哈希值确定为第二哈希值,该第二哈希值关联的资源未过载边缘缓存节点作为用于执行所述视频文件缓存任务的主缓存节点,其中,所述哈希环由边缘集群中的各个边缘缓存节点的标识号对应的哈希值排序后首尾相连生成,且每个哈希值关联一个边缘缓存节点;
拼接所述主缓存节点的地址生成所述视频文件的重定向路径,以将观看终端重定向到所述主缓存节点。
2.根据权利要求1所述的多缓存服务器的调度方法,其特征在于,所述根据边缘集群列表中的各边缘集群的资源状态及优先级顺序确定执行调度任务的边缘集群的步骤包括:
按边缘集群的优先级扫描各边缘集群,检测每个边缘集群的资源剩余量;
若所述边缘集群的资源剩余量未超出预设阀值,则将该边缘集群设定为执行调度任务的边缘集群;
若边缘集群列表中的所有边缘集群的资源剩余量均超出所述预设阀值,则对边缘集群按资源剩余量进行排序,选取资源剩余量最大的边缘集群作为执行调度任务的边缘集群。
3.根据权利要求1所述的多缓存服务器的调度方法,其特征在于,在将观看终端重定向到所述主缓存节点后,进一步由主缓存节点执行以下步骤:
接收所述观看终端的视频播放请求,并从该视频播放请求中获取该请求视频的视频文件路径;
对所述视频文件路径执行哈希运算,得到第一哈希值;
基于所述第一哈希值在哈希环中作逆时针扫描,将哈希环中与所述第一哈希值距离最近的哈希值确定为第二哈希值,其中,该第二哈希值关联的边缘缓存节点的资源未过载,所述哈希环由边缘集群中的各个边缘缓存节点的标识号对应的哈希值排序后首尾相连生成,且每个哈希值关联一个边缘缓存节点;
初始化一个用于存放所述视频播放请求的上游地址的数组;
若所确定的第二哈希值对应的边缘缓存节点不是所述主缓存节点,则将该第二哈希值对应的边缘缓存节点的地址加入到所述数组中;
将所述请求视频的回源地址加入到所述数组中;
若边缘缓存节点的本地缓存中存在所述视频文件,则将该视频文件数据发送至观看终端;
若边缘缓存节点的本地缓存中不存在所述视频文件,则根据所述数组中地址的加入顺序对数组中的地址依次发出请求,以下载并缓存所述视频文件,并将获取的视频文件数据发送至观看终端。
4.根据权利要求1或3所述的多缓存服务器的调度方法,其特征在于,所述哈希环的生成包括以下步骤:
对边缘集群中的各边缘缓存节点的标识号分别执行哈希运算得到各边缘缓存节点关联的哈希值;
将所述各个哈希值进行排序后首尾相连生成所述哈希环。
5.根据权利要求1或3所述的多缓存服务器的调度方法,其特征在于,若所述哈希环上各哈希值所关联的边缘缓存节点均超出负载,则将为资源剩余量最大的边缘缓存节点所关联的哈希值作为所述第二哈希值。
6.根据权利要求1或2所述的多缓存服务器的调度方法,其特征在于,还包括:定期轮询各边缘集群的资源使用状态、存活节点数和剩余可用带宽数量。
7.根据权利要求1或2所述的多缓存服务器的调度方法,其特征在于,还包括:
配置任一区域与一组有优先级区分的边缘集群的关联关系;其中,优先级高的边缘集群优先调度,优先级相同的边缘集群按其资源剩余量大小顺序进行调度。
8.根据权利要求1或2所述的多缓存服务器的调度方法,其特征在于,还包括:
设定边缘集群与边缘集群之间的级联关系;其中,在设定了级联关系的边缘集群中,优先从上游边缘集群下载数据。
9.根据权利要求1或2所述的多缓存服务器的调度方法,其特征在于,还包括:
建立与其他全局调度中心的通信,通过数据同步方式与其他全局调度中心共享调度数据。
10.一种多缓存服务器的调度系统,其特征在于,包括:
接收模块:用于接收观看终端发送的视频播放请求,并获取观看终端的IP和该请求视频的视频文件路径;
查询模块:用于查询IP数据库中所述观看终端的IP,确定所述观看终端归属的区域;
加载模块:用于加载所述观看终端归属区域的边缘集群列表;
扫描模块:用于扫描所述边缘集群列表,以根据边缘集群列表中的各个边缘集群的资源状态及优先级顺序确定执行调度任务的边缘集群;
拼接模块:用于拼接所述确定的执行调度任务的边缘集群在边缘调度中心的地址得到所述视频文件的重定向路径,以重定向观看终端的视频播放请求;其中,在得到所述视频文件的重定向路径后,触发所述边缘调度中心执行以下步骤:
接收所述观看终端的视频播放请求,并从该视频播放请求中获取该请求视频的视频文件路径;
对所述视频文件路径执行哈希运算,得到第一哈希值;
基于所述第一哈希值在哈希环中作逆时针扫描,将哈希环中与所述第一哈希值距离最近的哈希值确定为第二哈希值,该第二哈希值关联的资源未过载边缘缓存节点作为用于执行所述视频文件缓存任务的主缓存节点,其中,所述哈希环由边缘集群中的各个边缘缓存节点的标识号对应的哈希值排序后首尾相连生成,且每个哈希值关联一个边缘缓存节点;
拼接所述主缓存节点的地址生成所述视频文件的重定向路径,以将观看终端重定向到所述主缓存节点。
11.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任意一项所述的多缓存服务器的调度方法。
12.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至9任意一项所述的多缓存服务器的调度方法。
CN201710985324.9A 2017-10-20 2017-10-20 多缓存服务器的调度方法和系统 Expired - Fee Related CN107801086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710985324.9A CN107801086B (zh) 2017-10-20 2017-10-20 多缓存服务器的调度方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710985324.9A CN107801086B (zh) 2017-10-20 2017-10-20 多缓存服务器的调度方法和系统

Publications (2)

Publication Number Publication Date
CN107801086A CN107801086A (zh) 2018-03-13
CN107801086B true CN107801086B (zh) 2019-01-04

Family

ID=61534158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710985324.9A Expired - Fee Related CN107801086B (zh) 2017-10-20 2017-10-20 多缓存服务器的调度方法和系统

Country Status (1)

Country Link
CN (1) CN107801086B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131402B (zh) * 2018-03-22 2022-06-03 贵州白山云科技股份有限公司 一种配置共享缓存服务器组的方法、装置、设备及介质
CN108519954A (zh) * 2018-03-23 2018-09-11 北京焦点新干线信息技术有限公司 一种集中管理缓存的方法及装置
CN109067898A (zh) * 2018-08-24 2018-12-21 山东浪潮商用系统有限公司 一种通过文件散列分布降低内容分发网络边缘节点回源率的方法
CN111711826B (zh) * 2019-03-18 2023-11-03 北京奇虎科技有限公司 视频直播服务系统及方法
CN111934897A (zh) * 2019-05-13 2020-11-13 深圳市茁壮网络股份有限公司 一种数据请求处理方法及系统
CN110221920B (zh) * 2019-06-04 2022-02-18 合肥讯飞数码科技有限公司 部署方法、装置、存储介质及系统
CN112087312B (zh) * 2019-06-15 2023-02-03 华为云计算技术有限公司 一种提供边缘服务的方法、装置和设备
CN112306651A (zh) * 2019-07-31 2021-02-02 华为技术有限公司 一种资源分配方法和资源借调方法
CN112749145A (zh) * 2019-10-29 2021-05-04 伊姆西Ip控股有限责任公司 存储和访问数据的方法、设备和计算机程序产品
CN111158909B (zh) * 2019-12-27 2023-07-25 中国联合网络通信集团有限公司 集群资源分配处理方法、装置、设备及存储介质
CN111897537A (zh) * 2020-06-29 2020-11-06 飞诺门阵(北京)科技有限公司 一种应用部署方法、装置、系统及电子设备
IT202000017023A1 (it) * 2020-07-14 2022-01-14 Mainstreaming S P A Metodo per distribuire file attraverso una content delivery network basato anche su algoritmi di intelligenza artificiale, sistema telematico e server che consentono di implementarlo
CN111935306B (zh) * 2020-09-11 2020-12-29 腾讯科技(深圳)有限公司 节点调度方法及装置
CN112948118B (zh) * 2021-03-12 2024-01-16 上海哔哩哔哩科技有限公司 边缘计算方法、平台、计算机设备和可读存储介质
CN113315825A (zh) * 2021-05-24 2021-08-27 康键信息技术(深圳)有限公司 分布式请求的处理方法、装置、设备及存储介质
CN113613038A (zh) * 2021-08-02 2021-11-05 成都航空职业技术学院 一种智能流媒体服务系统及其视频流调度方法
CN114500526B (zh) * 2021-12-27 2023-08-04 天翼云科技有限公司 一种路径计算系统及其控制方法
CN114501053B (zh) * 2022-02-07 2023-10-20 上海哔哩哔哩科技有限公司 直播流获取方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716251B (zh) * 2014-01-14 2017-06-27 三星电子(中国)研发中心 用于内容分发网络的负载均衡方法及设备
CN106030542A (zh) * 2014-02-19 2016-10-12 第三雷沃通讯有限责任公司 代理服务器故障转移和负载集群
CN104320487B (zh) * 2014-11-11 2018-03-20 网宿科技股份有限公司 内容分发网络的http调度系统和方法
CN105959405B (zh) * 2016-06-24 2019-04-05 北京兰云科技有限公司 Cdn视频调度系统、方法以及cdn调度服务器和客户端

Also Published As

Publication number Publication date
CN107801086A (zh) 2018-03-13

Similar Documents

Publication Publication Date Title
CN107801086B (zh) 多缓存服务器的调度方法和系统
CN107835437B (zh) 基于多缓存服务器的调度方法和装置
US10218806B2 (en) Handling long-tail content in a content delivery network (CDN)
US9456056B2 (en) Load balancing utilizing adaptive thresholding
US20200228620A1 (en) Accelerated Network Delivery of Channelized Content
CN106031130B (zh) 具有边缘代理的内容传送网络架构
Ramanathan et al. Finding good peers in peer-to-peer networks
US8516082B2 (en) Publishing-point management for content delivery network
CN107613030A (zh) 一种处理业务请求的方法和系统
CN103607424B (zh) 一种服务器连接方法及服务器系统
US20110099226A1 (en) Method of requesting for location information of resources on network, user node and server for the same
US8645534B2 (en) Localization of peer to peer traffic
CN107370809A (zh) 数据同步方法及数据搜索系统
CN103107944A (zh) 一种内容定位方法和路由设备
US20070136487A1 (en) Contents providing system and method for streaming service
CN110309229A (zh) 分布式系统的数据处理方法和分布式系统
CN115706741A (zh) 一种切片文件的回源方法以及装置
CN113676514A (zh) 一种文件回源方法及装置
US8041748B2 (en) Method and apparatus for managing a web cache system
EP1565839A2 (en) Index server support to file sharing applications
US10924573B2 (en) Handling long-tail content in a content delivery network (CDN)
KR101066328B1 (ko) 모바일 환경에서 부하 분산 처리 방법 및 이를 구현하는 모바일 디바이스
CN105897456A (zh) 内容分发方法及系统
CN113873302B (zh) 内容分发方法、装置、存储介质和电子设备
CN113873302A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190104

Termination date: 20201020

CF01 Termination of patent right due to non-payment of annual fee