CN108769743B - 一种视频播放控制方法、系统、节点和计算机存储介质 - Google Patents

一种视频播放控制方法、系统、节点和计算机存储介质 Download PDF

Info

Publication number
CN108769743B
CN108769743B CN201810449646.6A CN201810449646A CN108769743B CN 108769743 B CN108769743 B CN 108769743B CN 201810449646 A CN201810449646 A CN 201810449646A CN 108769743 B CN108769743 B CN 108769743B
Authority
CN
China
Prior art keywords
video
play
script
request
playing
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.)
Active
Application number
CN201810449646.6A
Other languages
English (en)
Other versions
CN108769743A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201810449646.6A priority Critical patent/CN108769743B/zh
Publication of CN108769743A publication Critical patent/CN108769743A/zh
Priority to PCT/CN2019/086422 priority patent/WO2019214714A1/zh
Application granted granted Critical
Publication of CN108769743B publication Critical patent/CN108769743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64753Control signals issued by the network directed to the server or the client directed to the client

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种视频播放控制方法、系统、节点和计算机存储介质。应用于内容分发网络(CDN)节点的方法包括:接收到来自终端的视频播放请求;获得与所述视频播放请求获得匹配的第一播放控制策略脚本;所述第一播放控制策略脚本由所述CDN节点预先获得;执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。

Description

一种视频播放控制方法、系统、节点和计算机存储介质
技术领域
本发明涉及内容分发网络(CDN,Content Delivery Network)领域,具体涉及一种视频播放控制方法、系统、节点和计算机存储介质。
背景技术
当前主流视频CDN出于防盗链、提升用户质量、降低带宽成本、按用户类型(例如免费用户、会员用户)提供不同质量服务的考虑,会在CDN节点进行策略控制,策略控制例如视频数据限速传输、降低视频播放码率、终止播放等等,当然不限于上述列举的策略控制方式。
为实现策略控制通常有两种方式:一种方式是终端发给CDN节点的统一资源定位符(URL,Uniform Resource Locator)中包含策略信息,在CDN节点上对URL进行解密并按照源站的播放控制策略要求执行相应的播放策略;另一种方式是终端发给CDN节点的URL中包含策略信息,CDN节点将用户请求转发给源站的策略网关,由策略网关动态返回策略结果,CDN节点根据策略结果执行相应的动作。
第一种方式的缺点在于:源站需要将控制策略的逻辑告知CDN节点,此时CDN节点能获取到敏感业务信息,例如用户ID、用户级别、是否会员、是否付费等敏感信息,这些信息对源站具有较高商业价值一般不愿外泄。第二种方式由于用户请求的转发、策略网关返回策略结果的交互过程会导致终端播放启动时间延长,用户体验受到影响。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种视频播放控制方法、系统、节点和计算机存储介质。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种视频播放控制方法,应用于CDN节点;其特征在于,所述方法包括:
接收到来自终端的视频播放请求;
获得与所述视频播放请求匹配的第一播放控制策略脚本;所述第一播放控制策略脚本由所述CDN节点预先获得;
执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。
上述方案中,所述方法还包括:获得多个播放控制策略脚本;所述多个播放控制策略脚本中的每个播放控制策略脚本由所述每个播放控制策略脚本对应的源站发出的、经CDN管理服务器转发而获得。
上述方案中,所述获得与所述视频播放请求匹配的第一播放控制策略脚本,包括:
解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的所述第一播放控制策略脚本。
上述方案中,所述执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据,包括:
执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得第一播放策略;
基于所述第一播放策略向所述终端输出视频数据。
上述方案中,所述执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分之后,所述方法还包括:解密所述关键部分获得视频内容的唯一标识,设置所述唯一标识为所述视频内容的缓存区域的缓存标识。
上述方案中,所述执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分之后,所述方法还包括:解密所述关键部分获得所述视频播放请求的IP地址,验证所述IP地址是否为合法IP地址;
当验证所述IP地址为非法IP地址时,不响应所述视频播放请求。
上述方案中,所述执行所述第一播放控制策略脚本,包括:解析所述视频播放请求,获得所述视频播放请求对应的视频内容信息;基于所述视频内容信息判断视频内容是否存在;
当所述视频内容不存在时,基于执行所述第一播放控制策略脚本生成回源地址,基于所述回源地址连接源站并获得视频内容。
本发明实施例还提供了一种CDN节点,所述CDN节点包括:接收单元、获取单元、执行单元和输出单元;其中,
所述接收单元,用于接收到来自终端的视频播放请求;
所述获取单元,用于获得与所述接收单元接收的所述视频播放请求匹配的第一播放控制策略脚本;所述第一播放控制策略脚本由所述CDN节点预先获得;
所述执行单元,用于执行所述获取单元获得的所述第一播放控制策略脚本获得第一播放策略;
所述输出单元,用于基于所述执行单元获得的所述第一播放策略向所述终端输出视频数据。
上述方案中,所述接收单元,还用于获得多个播放控制策略脚本;所述多个播放控制策略脚本中的每个播放控制策略脚本由所述每个播放控制策略脚本对应的源站发出的、经CDN管理服务器转发而获得。
上述方案中,所述获取单元,用于解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的所述第一播放控制策略脚本。
上述方案中,所述执行单元,用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得第一播放策略。
上述方案中,所述执行单元,还用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得视频内容的唯一标识,设置所述唯一标识为所述视频内容的缓存区域的缓存标识。
上述方案中,所述CDN节点还包括验证单元;
所述执行单元,还用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得所述视频播放请求的IP地址;
所述验证单元,用于验证所述IP地址是否为合法IP地址;
所述输出单元,还用于当所述验证单元验证所述IP地址为非法IP地址时,不响应所述视频播放请求。
上述方案中,所述CDN节点还包括判断单元;
所述执行单元,还用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求对应的视频内容信息;
所述判断单元,用于基于所述执行单元获得的所述视频内容信息判断视频内容是否存在;
所述执行单元,还用于当所述判断单元判定所述视频内容不存在时,基于执行所述第一播放控制策略脚本生成回源地址,基于所述回源地址连接源站并获得视频内容。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机指令,该指令被处理器执行时实现本发明实施例所述视频播放控制方法的步骤。
本发明实施例还提供了一种CDN节点,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本发明实施例所述视频播放控制方法的步骤。
本发明实施例还提供了一种视频播放控制方法,所述方法包括:
源站生成播放控制策略脚本,将所述播放控制策略脚本发送至CDN管理服务器;
所述CDN管理服务器将接收到的播放控制策略脚本发送至所有CDN节点;
所述CDN节点接收到来自终端的视频播放请求,获得与所述视频播放请求匹配的第一播放控制策略脚本,执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。
本发明实施例还提供了一种视频播放控制系统,其特征在于,所述系统包括:至少一个源站、CDN管理服务器和至少一个CDN节点;其中,
所述至少一个源站,用于生成播放控制策略脚本,将所述播放控制策略脚本发送至所述CDN管理服务器;
所述CDN管理服务器,用于将接收到的播放控制策略脚本发送至所有CDN节点;
所述CDN节点,用于接收到来自终端的视频播放请求,获得与所述视频播放请求匹配的第一播放控制策略脚本,执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。
本发明实施例提供的视频播放控制方法、系统、节点和计算机存储介质,所述方法包括:接收到来自终端的视频播放请求;基于所述视频播放请求获得匹配的第一播放控制策略脚本;所述第一播放控制策略脚本由所述CDN节点预先获得;执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。采用本发明实施例的技术方案,通过CDN节点预先获得播放控制策略脚本并执行与视频播放请求匹配的第一播放控制策略脚本,从而获得与终端的视频播放请求相匹配的播放控制策略,无需CDN节点获得敏感的信息也可实现源站所指定的播放控制策略;另一方面也无需CDN节点转发视频播放请求给源站,避免终端播放启动时间延长,大大提升了用户的体验。
附图说明
图1a和图1b分别为本发明实施例的视频播放控制方法的应用架构示意图;
图2为本发明实施例一的视频播放控制方法的一种流程示意图;
图3为本发明实施例一的视频播放控制方法的另一种流程示意图;
图4为本发明实施例的视频播放控制方法中CDN节点的软件结构示意图;
图5为本发明实施例二的视频播放控制方法的流程示意图;
图6为本发明实施例的CDN节点的一种组成结构示意图;
图7为本发明实施例的CDN节点的另一种组成结构示意图;
图8为本发明实施例的CDN节点的又一种组成结构示意图;
图9为本发明实施例的CDN节点的硬件组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细的说明。
图1a和图1b分别为本发明实施例的视频播放控制方法的应用架构示意图;如图1a所示,所述视频播放控制方法应用的架构包括:播放策略网关11、CDN管理服务器12、CDN节点13和终端14;其中,播放策略网关11与CDN管理服务器12之间、CDN管理服务器12与CDN节点13之间、CDN节点13和终端14之间可通过网络进行数据交互。
其中,终端14用于向CDN节点13请求视频内容。播放策略网关11用于编译播放控制策略脚本,向CDN管理服务器12下发编译过的播放控制策略脚本。播放策略网关11位于源站侧,源站为请求的视频内容所在服务器。例如,用户请求xx视频网站的一视频内容,则源站可以理解为xx视频网站所属服务器。其中,播放策略网关11可位于视频内容所在服务器内,也可独立于视频内容所在服务器、作为一个单独的网关设备存在。CDN管理服务器12可同时接收多个源站的播放策略网关11下发的播放控制策略脚本,并将播放控制策略脚本分发到每个CDN节点,如图1b所示,例如,CDN管理服务器12可分别接收到第一播放策略网关111(对应域名为1.cp.com的源站1)、第二播放策略网关112(对应域名为2.cp.com的源站2)和第三播放策略网关113(对应域名为3.cp.com的源站3)的播放控制策略脚本,将每个播放控制策略脚本分发到CDN节点1、CDN节点2和CDN节点3。
CDN管理服务器12用于与播放策略网关11进行数据交互,获得播放策略网关11下发的播放控制策略脚本,通过审查后将播放控制策略脚本发送给所有的CDN节点13。CDN节点13用于基于不同终端14的视频播放请求获得对应的播放控制策略脚本,基于该播放控制策略脚本的执行向终端14提供视频播放服务。
上述图1的例子只是实现本发明实施例的一个系统架构实例,本发明实施例并不限于上述图1所述的系统结构,基于该系统架构,提出本发明各个实施例。
实施例一
本发明实施例提供了一种视频播放控制方法,应用于CDN节点中。图2为本发明实施例一的视频播放控制方法的一种流程示意图;如图2所示,所述方法包括:
步骤101:接收到来自终端的视频播放请求。可选地,所述视频播放请求可通过URL表示。
步骤102:获得与所述视频播放请求匹配的第一播放控制策略脚本;所述第一播放控制策略脚本由所述CDN节点预先获得。
步骤103:执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。
作为一种实施方式,图3为本发明实施例一的视频播放控制方法的另一种流程示意图;如图3所示,所述方法还包括步骤100:获得多个播放控制策略脚本;所述多个播放控制策略脚本中的每个播放控制策略脚本由所述每个播放控制策略脚本对应的源站发出的、经CDN管理服务器转发而获得。
本发明实施例中,图4为本发明实施例的视频播放控制方法中CDN节点的软件结构示意图;如图4所示,在现有的CDN节点缓存服务进程中,增加脚本引擎服务,基于脚本引擎服务,播放控制策略能力开放模块执行脚本,具体执行脚本内置参数及函数的调用,从而实现视频播放策略的控制。其中,脚本引擎可采用例如JScript、LUA等开源脚本引擎,也可以自行开发脚本引擎,本实施例对脚本开发方式不进行限定。
本发明实施例中,执行脚本实现的功能包括以下至少之一:HTTP头信息获取、HTTP请求URL信息获取、HTTP回源URL设置、缓存策略设置、视频播放控制策略设置、异步消息通知函数库、基本加解密库、基本函数库等等。
其中,HTTP头信息获取可通过以下函数实现:
str=ngx.req.raw_header(no_request_line?);表示获取原始HTTP头完整字符串;例如:ngx.print(ngx.req.raw_header());
或者,HTTP头信息获取可通过以下函数实现:
headers=ngx.req.get_headers(max_headers?,raw?);表示以哈希表结构形式获取HTTP头信息;例如:
local h=ngx.req.get_headers()
for k,v in pairs(h)do
...
end
其中,HTTP请求URL信息获取可通过内置获取URL的变量,例如包括:获取URL的统一资源标识符(URI,Uniform Resource Identifier)部分:ngx.var.uri;获取URL的参数部分:ngx.var.args;获取访问IP:ngx.var.remote_addr。
其中,HTTP回源URL设置:ngx.set_source_url(source_url,timeout);其中,source_url表示回源地址;timeout表示回源超时,单位为秒。
其中,视频播放控制策略设置中包括的视频播放控制策略至少包括:终止播放:ok,err=ngx.eof()、播放时长(单位为秒,如果该参数为-1,可表示完整播放)控制:ngx.var.playtime、限速控制:ngx.var.limit_rate(表示最大带宽)。
其中,缓存策略设置,包括但不限于是否缓存、缓存KEY提取,分片缓存等。
其中,异步消息通知函数库,包括但不限于TCP、UDP、HTTP/HTTPS;例如,异步消息通知函数库包括的函数可包括以下至少之一:ngx.socket.udp;udpsock:setpeername;udpsock:send;udpsock:receive;udpsock:close;udpsock:settimeout;ngx.socket.stream;ngx.socket.tcp;tcpsock:connect;tcpsock:sslhandshake;tcpsock:send;tcpsock:receive;tcpsock:receiveuntil;tcpsock:close;tcpsock:settimeout;tcpsock:settimeouts;tcpsock:setoption;tcpsock:setkeepalive;tcpsock:getreusedtimes;ngx.socket.connect。
其中,基本加解密库包括的加解密算法包括不限于消息摘要算法第五版(MD5,Message-Digest Algorithm 5)、RSA加密算法、数据加密标准(DES,Data EncryptionStandard)。例如,基本加解密库包括的函数可包括以下至少之一:ngx.crc32_short;ngx.crc32_long;ngx.hmac_sha1;ngx.md5;ngx.md5_bin;ngx.sha1_bin。
其中,基本函数库包括但不限于不限于字符串处理、正则库解析、可扩展标记语言(XML,Extensible Markup Language)、JS对象标记(JSON,JavaScript Object Notation)解析、链表、队列等。例如,基本函数库包括的函数可包括以下至少之一:ngx.re.match;ngx.re.find;ngx.re.gmatch;ngx.re.sub;ngx.re.gsub。
本发明实施例中,CDN节点可基于来自播放策略网关(或源站)、经CDN管理服务器转发的配置信息对播放控制策略脚本进行更新或删除。
基于上述播放控制策略脚本的功能,本发明实施例中,在接收到终端的视频播放请求后,通过执行相应的播放控制策略脚本,以获得相应的播放控制策略,基于播放控制策略对终端提供视频服务。
作为一种实施方式,所述基于所述视频播放请求获得匹配的第一播放控制策略脚本,包括:解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的第一播放控制策略脚本。
具体的,视频播放请求可通过URL表示,则通过解析URL,获得源站信息,具体可获得源站的域名信息,基于所述域名信息查找存储的多个播放控制策略脚本,获得与所述域名信息对应的第一播放控制策略脚本。
作为一种实施方式,所述执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据,包括:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得第一播放策略;基于所述第一播放策略向所述终端输出视频数据。
具体的,CDN节点通过执行第一播放控制策略脚本,对表征视频播放请求的URL进行解析,获得视频播放请求携带的关键部分,所述关键部分表征对应终端的业务信息;实际应用中,终端将业务信息通过预设编码方式编码后形成URL中的所述关键部分。其中,所述业务信息可包括用户标识、用户级别、是否为会员用户、是否付费等敏感业务信息。则CDN节点可通过执行第一播放控制策略脚本获得所述关键部分,进而基于所述关键部分获得对应的第一播放策略;所述第一播放策略包括限速带宽等。则CDN节点可按照第一播放策略(如限速带宽)向终端输出视频数据。
作为一种实施方式,所述执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分之后,所述方法还包括:解密所述关键部分获得视频内容的唯一标识,设置所述唯一标识为所述视频内容的缓存区域的缓存标识。
具体的,CDN节点通过执行第一播放控制策略脚本,对表征视频播放请求的URL进行解析,获得视频播放请求携带的关键部分,所述关键部分包括请求视频内容;实际应用中,终端将业务信息通过预设编码方式编码后形成URL中的所述关键部分。则CDN节点通过执行第一播放控制策略脚本解析URL的关键部分,获得视频内容的唯一标识,设置所述唯一标识为所述视频内容的缓存区域的缓存标识。
作为一种实施方式,所述执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分之后,所述方法还包括:解密所述关键部分获得所述视频播放请求的IP地址,验证所述IP地址是否为合法IP地址;当验证所述IP地址为非法IP地址时,不响应所述视频播放请求。
具体的,CDN节点通过执行第一播放控制策略脚本,对表征视频播放请求的URL进行解析,获得视频播放请求携带的关键部分,所述关键部分包括终端的IP地址;基于执行所述第一播放控制策略脚本对所述IP地址的合法性进行校验;若判定所述IP地址属于非法IP地址,则不响应终端的视频播放请求。
作为一种实施方式,所述执行所述第一播放控制策略脚本,包括:解析所述视频播放请求,获得所述视频播放请求对应的视频内容信息;基于所述视频内容信息判断视频内容是否存在;当所述视频内容不存在时,基于执行所述第一播放控制策略脚本生成回源地址,基于所述回源地址连接源站并获得视频内容。
具体的,CDN节点通过执行第一播放控制策略脚本,对表征视频播放请求的URL进行解析,获得视频播放请求携带的关键部分,所述关键部分包括请求视频内容,也即获得视频内容信息;CDN节点基于视频内容信息判断自身是否存在该视频内容;若不存在,则需要构造回源URL,基于回源URL从源站获得视频内容。
作为一种实施方式,所述基于执行所述第一播放控制策略脚本生成回源地址,基于所述回源地址连接源站并获得视频内容,包括:基于执行所述第一播放控制策略脚本生成主回源地址和备用回源地址;基于所述主回源地址连接源站,判断是否获得视频内容;若基于所述主回源地址未获得视频内容(例如主回源地址连接超时),则基于备用回源地址连接源站获得视频内容。
采用本发明实施例的技术方案,通过CDN节点预先获得播放控制策略脚本并执行与视频播放请求匹配的第一播放控制策略脚本,从而获得与终端的视频播放请求相匹配的播放控制策略,无需CDN节点获得敏感的信息也可实现源站所指定的播放控制策略;另一方面也无需CDN节点转发视频播放请求给源站,避免终端播放启动时间延长,大大提升了用户的体验。另外,对于CDN系统通常会为众多的源站做缓存加速服务,一般从几百个到几万个不等。一般来说对于防盗链、播放控制策略、同一视频内容识别、是否缓存和缓存时长、回源地址设置及容灾方面都有个性化诉求,如果CDN系统对每个源站都按照其要求进行定制开发,势必会导致响应慢,工作量大,成本高,系统升级频繁。而本发明实施例通过播放控制策略脚本部署在CDN节点中,使CDN节点无需对每个源站做定制开发,仅需要源站进行简单的脚本开发便可实现对接。
实施例二
本发明实施例还提供了一种视频播放控制方法。图5为本发明实施例二的视频播放控制方法的流程示意图;如图5所示,所述方法包括:
步骤201:源站生成播放控制策略脚本。其中,源站可基于预设脚本生成规则生成播放控制策略脚本。
步骤202:源站将所述播放控制策略脚本发送至CDN管理服务器。
步骤203:CDN管理服务器对接收到的播放控制策略脚本进行审查。
步骤204:CDN管理服务器将审查通过后的播放控制策略脚本发送至所有CDN节点。
步骤205:CDN节点接收到来自终端的视频播放请求。
步骤206:CDN节点基于所述视频播放请求获得匹配的第一播放控制策略脚本,执行所述第一播放控制策略脚本获得第一播放策略。
步骤207:CDN节点基于所述第一播放策略向所述终端输出视频数据。
本发明实施例中,CDN节点的视频播放控制方法可参照前述实施例一中所述,本实施例中不再赘述。
本实施例中,CDN管理服务器接收到播放控制策略脚本后,对播放控制策略脚本进行审查;可选支持恶意脚本非常注入审核子系统(包括不限于字节码安全检测、沙箱模拟环境安全检测等手段),通过审查后将播放控制策略脚本分发给所有CDN节点。
以下以缓存服务器采用NGINX服务器、整合LUAJIT(LUAJIT为采用C语言编写的LUA代码的解释器)脚本引擎和NGINX的LUA插件NGINX_LUA_MODULE为例加以实现说明。
具体实施例一
通过部署LUA脚本到CDN节点上,实现防盗链及播放限速功能。
步骤1:video.qq.com域名的播放策略网关将编译后的播放控制策略脚本分发给CDN管理服务器。
步骤2:CDN管理服务器向与之连接的每个CDN节点分发video.qq.com域名和对应的播放控制策略脚本。
步骤3:终端向CDN节点发起视频播放请求,该视频播放请求可通过以下URL表示:http://202.102.11.12/video.qq.com/1.mp4?iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2Fy。
步骤4:CDN节点解析URL请求,发现请求的源站域名为video.qq.com,则执行video.qq.com源站下发的播放控制策略脚本,以下为伪代码逻辑部分:
ispaly,qq,vip,rate=parse_params(ngx.var.args[key])--parse_params由源站自己编写字符串解密函数;
--ispaly:是否播放,true为允许播放,false为终止播放;
--qq:用户QQ号码;
--vip:true为VIP用户,false为普通用户;
--rate:播放下载最大带宽,单位为兆;
if ispaly then--允许播放;
If vip==false then--普通用户;
ngx.var.limit_rate=rate--设置最大下载带宽;
end;
end;
http_post(cp_gateway_url,qq,vip,rate)--利用提供的TCP函数再封装HTTP的工具函数,实现http的异步post请求。
步骤5:CDN节点执行具体播放控制策略脚本。
具体的脚本执行过程可包括:
1)解析URL中的问号部分,即为关键(KEY)部分:iVBORw0KggoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2Fy。
2)根据解密算法解密获得QQ号、是否为免费用户。
3)进行视频播放,在确定为免费用户(即普通用户)后设置最大下载带宽,即控制限速播放。
4)向视频播放策略网关异步HTTP上报本次视频播放请求情况,包括URL、视频是否完整播放、限速带宽等参数。
具体实施例二
通过部署LUA脚本到CDN节点上,实现回源URL地址改写及源站多路容灾功能。
步骤1:video.qq.com域名的播放策略网关将编译后的播放控制策略脚本分发给CDN管理服务器。
步骤2:CDN管理服务器向与之连接的每个CDN节点分发video.qq.com域名和对应的播放控制策略脚本。
步骤3:终端向CDN节点发起视频播放请求,该视频播放请求可通过以下URL表示:http://202.102.11.12/video.qq.com/1.mp4?iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2Fy。
步骤4:CDN节点解析URL请求,发现请求的源站域名为video.qq.com,则执行video.qq.com源站下发的播放控制策略脚本,以下为伪代码逻辑部分:
ispaly,qq,vip,rate=parse_params(ngx.var.args[key])--parse_params由源站自己编写字符串解密函数;
--ispaly:是否播放,true为允许播放,false为终止播放;
--qq:用户QQ号码;
--vip:true为VIP用户,false为普通用户;
--rate:播放下载最大带宽,单位为兆;
if ispaly then--允许播放;
If vip==false then--普通用户;
ngx.var.limit_rate=rate--设置最大下载带宽;
end;
end;
http_post(cp_gateway_url,qq,vip,rate)--利用提供的TCP函数再封装HTTP的工具函数,实现http的异步post请求。
步骤5:CDN节点执行以下播放控制策略脚本:
Figure BDA0001658093760000151
具体的脚本执行过程可包括:
1)解析URL中的问号部分,即为关键(KEY)部分:iVBORw0KggoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2Fy。
2)根据解密算法解密获得QQ号、免费用户,在确定为免费用户(即普通用户)后设置最大下载带宽,即控制限速播放。
3)获得视频内容,当视频内容不存在时,根据执行的脚本构造回源主URL:http://source.video.qq.com/1.mp4?iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2Fy;
构造备用回源URL:http://sourcebackup.video.qq.com/1.mp4?iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2Fy。
基于URL连接源站,获得视频内容;若主URL连接超时3秒后,则采用备用回源URL连接源站,获得视频内容。
4)进行视频完整播放、设置最大下载带宽。
5)向视频播放策略网关异步HTTP上报本次视频播放请求情况,包括URL、视频完整播放、限速带宽等参数。
具体实施例三
通过部署LUA脚本到CDN节点上,对指定域名动态计算缓存KEY的规则。
步骤1:video.qq.com域名的播放策略网关将编译后的播放控制策略脚本分发给CDN管理服务器。
步骤2:CDN管理服务器向与之连接的每个CDN节点分发video.qq.com域名和对应的播放控制策略脚本。
步骤3:终端向CDN节点发起视频播放请求,该视频播放请求可通过以下URL表示:http://202.102.11.12/video.qq.com/1.mp4?iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2Fy。
步骤4:CDN节点解析URL请求,发现请求的源站域名为video.qq.com,则执行video.qq.com源站下发的播放控制策略脚本,以下为伪代码逻辑部分:
ispaly,qq,vip,rate=parse_params(ngx.var.args[key])--parse_params由源站自己编写字符串解密函数;
--ispaly:是否播放,true为允许播放,false为终止播放;
--qq:用户QQ号码;
--vip:true为VIP用户,false为普通用户;
--rate:播放下载最大带宽,单位为兆;
if ispaly then--允许播放;
If vip==false then--普通用户;
ngx.var.limit_rate=rate--设置最大下载带宽;
end;
end;
http_post(cp_gateway_url,qq,vip,rate)--利用提供的TCP函数再封装HTTP的工具函数,实现http的异步post请求。
步骤5:CDN节点执行以下播放控制策略脚本:
Figure BDA0001658093760000171
具体的脚本执行过程可包括:
1)解析URL中的问号部分,即为关键(KEY)部分:iVBORw0KggoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2Fy。
2)根据解密算法解密获得QQ号、免费用户,在确定为免费用户(即普通用户)后设置最大下载带宽,即控制限速播放。
3)根据解密算法解密获得视频内容的唯一ID,设置视频内容的唯一ID为缓存标识。
4)进行视频播放,在确定为免费用户(即普通用户)后设置最大下载带宽,即控制限速播放。
5)向视频播放策略网关异步HTTP上报本次视频播放请求情况,包括URL、视频完整播放、限速带宽等参数。
具体实施例四
通过部署LUA脚本到CDN节点上,对用户IP地址黑名单实现拒绝服务。
步骤1:video.qq.com域名的播放策略网关将编译后的播放控制策略脚本分发给CDN管理服务器。
步骤2:CDN管理服务器向与之连接的每个CDN节点分发video.qq.com域名和对应的播放控制策略脚本。
步骤3:终端向CDN节点发起视频播放请求,该视频播放请求可通过以下URL表示:http://202.102.11.12/video.qq.com/1.mp4?iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2Fy。
步骤4:CDN节点解析URL请求,发现请求的源站域名为video.qq.com,则执行video.qq.com源站下发的播放控制策略脚本,以下为伪代码逻辑部分:
ispaly,qq,vip,rate=parse_params(ngx.var.args[key])--parse_params由源站自己编写字符串解密函数;
--ispaly:是否播放,true为允许播放,false为终止播放;
--qq:用户QQ号码;
--vip:true为VIP用户,false为普通用户;
--rate:播放下载最大带宽,单位为兆;
if ispaly then--允许播放;
If vip==false then--普通用户;
ngx.var.limit_rate=rate--设置最大下载带宽;
end;
end;
http_post(cp_gateway_url,qq,vip,rate)--利用提供的TCP函数再封装HTTP的工具函数,实现http的异步post请求。
步骤5:CDN节点执行以下播放控制策略脚本:
if ngx.var.remote_addr=="10.2.20.110"then
ngx.eof()
end
具体的脚本执行过程可包括:
1)解析URL中的问号部分,即为关键(KEY)部分:iVBORw0KggoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2Fy。
2)获得终端请求的IP地址,根据执行脚本判断该IP地址是否属于非法IP,如果是非法IP则禁止终端访问,即不响应终端的视频播放请求。
3)拒绝终端访问。
实施例三
本发明实施例还提供了一种视频播放控制系统,所述视频播放控制系统的组成可参照图1a和图1b所示,所述系统包括:至少一个源站、CDN管理服务器12和至少一个CDN节点13;其中,
所述至少一个源站,用于生成播放控制策略脚本,将所述播放控制策略脚本发送至所述CDN管理服务器12;
所述CDN管理服务器12,用于将接收到的播放控制策略脚本发送至所有CDN节点13;
所述CDN节点13,用于接收到来自终端的视频播放请求,获得与所述视频播放请求匹配的第一播放控制策略脚本,执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。
其中,每个源站可部署播放策略网关11,通过播放策略网关11生成播放控制策略脚本,将所述播放控制策略脚本发送至所述CDN管理服务器12。
本发明实施例中,CDN管理服务器12接收到播放控制策略脚本后,对播放控制策略脚本进行审查;可选支持恶意脚本非常注入审核子系统(包括不限于字节码安全检测、沙箱模拟环境安全检测等手段),通过审查后将播放控制策略脚本分发给所有CDN节点。
本发明实施例中,终端14向所述CDN节点13发送视频播放请求;其中的用户域名解析,全局重定向直到请求引导到CDN节点的过程在本发明实施例中不再描述。
本发明实施例中,所述CDN节点13,用于解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的第一播放控制策略脚本。
作为一种实施方式,所述CDN节点13,用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得第一播放策略;基于所述第一播放策略向所述终端输出视频数据。
在一实施例中,所述CDN节点13,用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得视频内容的唯一标识,设置所述唯一标识为所述视频内容的缓存区域的缓存标识。
在一实施例中,所述CDN节点13,用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得所述视频播放请求的IP地址,验证所述IP地址是否为合法IP地址;当验证所述IP地址为非法IP地址时,不响应所述视频播放请求。
在一实施例中,所述CDN节点13,用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求对应的视频内容信息;基于所述视频内容信息判断视频内容是否存在;当所述视频内容不存在时,基于执行所述第一播放控制策略脚本生成回源地址,基于所述回源地址连接源站并获得视频内容。
实施例四
本发明实施例还提供了一种CDN节点。图6为本发明实施例的CDN节点的一种组成结构示意图;如图6所示,所述CDN节点包括:接收单元31、获取单元32、执行单元33和输出单元34;其中,
所述接收单元31,用于接收到来自终端的视频播放请求;
所述获取单元32,用于获得与所述接收单元31接收的所述视频播放请求匹配的第一播放控制策略脚本;所述第一播放控制策略脚本由所述CDN节点预先获得;
所述执行单元33,用于执行所述获取单元32获得的所述第一播放控制策略脚本获得第一播放策略;
所述输出单元34,用于基于所述执行单元33获得的所述第一播放策略向所述终端输出视频数据。
在一实施例中,所述接收单元31,还用于获得多个播放控制策略脚本;所述多个播放控制策略脚本中的每个播放控制策略脚本由所述每个播放控制策略脚本对应d源站发出的、经CDN管理服务器转发而获得。
在一实施例中,所述获取单元32,用于解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的所述第一播放控制策略脚本。
在一实施例中,所述执行单元33,用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得第一播放策略。
在一实施例中,所述执行单元33,还用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得视频内容的唯一标识,设置所述唯一标识为所述视频内容的缓存区域的缓存标识。
在一实施例中,图7为本发明实施例的CDN节点的另一种组成结构示意图;如图7所示,所述CDN节点还包括验证单元35;
所述执行单元33,还用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得所述视频播放请求的IP地址;
所述验证单元35,用于验证所述IP地址是否为合法IP地址;
所述输出单元34,还用于当所述验证单元35验证所述IP地址为非法IP地址时,不响应所述视频播放请求。
在一实施例中,图8为本发明实施例的CDN节点的又一种组成结构示意图;如图8所示,所述CDN节点还包括判断单元36;
所述执行单元33,还用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求对应的视频内容信息;
所述判断单元36,用于基于所述执行单元33获得的所述视频内容信息判断视频内容是否存在;
所述执行单元33,还用于当所述判断单元36判定所述视频内容不存在时,基于执行所述第一播放控制策略脚本生成回源地址,基于所述回源地址连接源站并获得视频内容。
本发明实施例中,所述CDN节点中的获取单元32、执行单元33、验证单元35和判断单元36,在实际应用中均可由所述终端中的中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,MicrocontrollerUnit)或可编程门阵列(FPGA,Field-Programmable Gate Array)实现;所述终端中的接收单元31和输出单元34,在实际应用中可通过通信模组(包含:基础通信套件、操作系统、通信模块、标准化接口和协议等)及收发天线实现。
需要说明的是:上述实施例提供的CDN节点在进行视频播放控制时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将CDN节点的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的CDN节点与视频播放控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
实施例五
本发明实施例还提供了一种CDN节点。图9为本发明实施例的CDN节点的硬件组成结构示意图;如图9所示,包括存储器42、处理器41及存储在存储器42上并可在处理器41上运行的计算机程序,所述处理器41执行所述程序时实现:接收到来自终端的视频播放请求;获得与所述视频播放请求匹配的第一播放控制策略脚本;所述第一播放控制策略脚本由所述CDN节点预先获得;执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。
在一实施例中,所述处理器41执行所述程序时实现:获得多个播放控制策略脚本;所述多个播放控制策略脚本中的每个播放控制策略脚本由所述每个播放控制策略脚本对应的源站发出的、经CDN管理服务器转发而获得。
在一实施例中,所述处理器41执行所述程序时实现:解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的第一播放控制策略脚本。
在一实施例中,所述处理器41执行所述程序时实现:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得第一播放策略;基于所述第一播放策略向所述终端输出视频数据。
在一实施例中,所述处理器41执行所述程序时实现:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得视频内容的唯一标识,设置所述唯一标识为所述视频内容的缓存区域的缓存标识。
在一实施例中,所述处理器41执行所述程序时实现:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得所述视频播放请求的IP地址,验证所述IP地址是否为合法IP地址;当验证所述IP地址为非法IP地址时,不响应所述视频播放请求。
在一实施例中,所述处理器41执行所述程序时实现:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求对应的视频内容信息;基于所述视频内容信息判断视频内容是否存在;当所述视频内容不存在时,基于执行所述第一播放控制策略脚本生成回源地址,基于所述回源地址连接源站并获得视频内容。
可以理解,CDN节点还包括通信接口43;CDN节点中的各个组件可通过总线系统44耦合在一起。可理解,总线系统44用于实现这些组件之间的连接通信。总线系统44除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统44。
可以理解,存储器42可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器42旨在包括但不限于这些和任意其它适合类型的存储器。
上述本发明实施例揭示的方法可以应用于处理器41中,或者由处理器41实现。处理器41可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器41中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器41可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器41可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器42,处理器41读取存储器42中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,CDN节点可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、MCU、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
实施例六
在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器42,上述计算机程序可由CDN节点的处理器41执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机指令,该指令被处理器执行时实现:接收到来自终端的视频播放请求;获得与所述视频播放请求匹配的第一播放控制策略脚本;所述第一播放控制策略脚本由所述CDN节点预先获得;执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。
在一实施例中,该指令被处理器执行时实现:获得多个播放控制策略脚本;所述多个播放控制策略脚本中的每个播放控制策略脚本由所述每个播放控制策略脚本对应的源站发出的、经CDN管理服务器转发而获得。
在一实施例中,该指令被处理器执行时实现:解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的第一播放控制策略脚本。
在一实施例中,该指令被处理器执行时实现:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得第一播放策略;基于所述第一播放策略向所述终端输出视频数据。
在一实施例中,该指令被处理器执行时实现:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得视频内容的唯一标识,设置所述唯一标识为所述视频内容的缓存区域的缓存标识。
在一实施例中,该指令被处理器执行时实现:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得所述视频播放请求的IP地址,验证所述IP地址是否为合法IP地址;当验证所述IP地址为非法IP地址时,不响应所述视频播放请求。
在一实施例中,该指令被处理器执行时实现:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求对应的视频内容信息;基于所述视频内容信息判断视频内容是否存在;当所述视频内容不存在时,基于执行所述第一播放控制策略脚本生成回源地址,基于所述回源地址连接源站并获得视频内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种视频播放控制方法,应用于内容分发网络CDN节点;其特征在于,所述方法包括:
接收到来自终端的视频播放请求;
解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的第一播放控制策略脚本,其中,所述多个播放控制策略脚本包括所述第一播放控制策略脚本;
执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。
2.根据权利要求1所述的方法,其特征在于,所述多个播放控制策略脚本由对应源站发出的、经CDN管理服务器转发而获得。
3.根据权利要求1所述的方法,其特征在于,所述执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据,包括:
执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得第一播放策略;
基于所述第一播放策略向所述终端输出视频数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得视频内容的唯一标识,设置所述唯一标识为所述视频内容的缓存区域的缓存标识。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得所述视频播放请求的IP地址,验证所述IP地址是否为合法IP地址;
当验证所述IP地址为非法IP地址时,不响应所述视频播放请求。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求对应的视频内容信息;基于所述视频内容信息判断视频内容是否存在;
当所述视频内容不存在时,基于执行所述第一播放控制策略脚本生成回源地址,基于所述回源地址连接源站并获得视频内容。
7.一种CDN节点,其特征在于,所述CDN节点包括:接收单元、获取单元、执行单元和输出单元;其中,
所述接收单元,用于接收到来自终端的视频播放请求;
所述获取单元,用于解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的第一播放控制策略脚本;其中,所述多个播放控制策略脚本包括所述第一播放控制策略脚本;所述执行单元,用于执行所述获取单元获得的所述第一播放控制策略脚本获得第一播放策略;
所述输出单元,用于基于所述执行单元获得的所述第一播放策略向所述终端输出视频数据。
8.根据权利要求7所述的CDN节点,其特征在于,所述多个播放控制策略脚本由对应源站发出的、经CDN管理服务器转发而获得。
9.根据权利要求7所述的CDN节点,其特征在于,所述执行单元,用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得第一播放策略。
10.根据权利要求9所述的CDN节点,其特征在于,所述执行单元,还用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得视频内容的唯一标识,设置所述唯一标识为所述视频内容的缓存区域的缓存标识。
11.根据权利要求9所述的CDN节点,其特征在于,所述CDN节点还包括验证单元;
所述执行单元,还用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求携带的关键部分,解密所述关键部分获得所述视频播放请求的IP地址;
所述验证单元,用于验证所述IP地址是否为合法IP地址;
所述输出单元,还用于当所述验证单元验证所述IP地址为非法IP地址时,不响应所述视频播放请求。
12.根据权利要求9所述的CDN节点,其特征在于,所述CDN节点还包括判断单元;
所述执行单元,还用于执行所述第一播放控制策略脚本,解析所述视频播放请求,获得所述视频播放请求对应的视频内容信息;
所述判断单元,用于基于所述执行单元获得的所述视频内容信息判断视频内容是否存在;
所述执行单元,还用于当所述判断单元判定所述视频内容不存在时,基于执行所述第一播放控制策略脚本生成回源地址,基于所述回源地址连接源站并获得视频内容。
13.一种计算机存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至6任一项所述方法的步骤。
14.一种CDN节点,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述方法的步骤。
15.一种视频播放控制方法,其特征在于,所述方法包括:
源站生成播放控制策略脚本,将所述播放控制策略脚本发送至CDN管理服务器;
所述CDN管理服务器对接收到的播放控制策略脚本进行审查,审查通过后发送至所有CDN节点;
所述CDN节点接收到来自终端的视频播放请求,解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的第一播放控制策略脚本,其中,所述多个播放控制策略脚本包括所述第一播放控制策略脚本,执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据。
16.一种视频播放控制系统,其特征在于,所述系统包括:至少一个源站、CDN管理服务器、至少一个CDN节点和终端;其中,
所述至少一个源站,用于生成播放控制策略脚本,将所述播放控制策略脚本发送至所述CDN管理服务器;
所述CDN管理服务器,用于对接收到的播放控制策略脚本进行审查,审查通过后发送至所有CDN节点;
所述CDN节点,用于接收到来自所述终端的视频播放请求,解析所述视频播放请求,获得所述视频播放请求中携带的源站信息,基于所述源站信息查询预先获得的多个播放控制策略脚本,获得与所述源站信息对应的第一播放控制策略脚本,其中,所述多个播放控制策略脚本包括所述第一播放控制策略脚本,执行所述第一播放控制策略脚本获得第一播放策略,基于所述第一播放策略向所述终端输出视频数据;
所述终端,用于向所述CDN节点发送视频播放请求;还用于获得所述CDN节点输出的视频数据。
CN201810449646.6A 2018-05-11 2018-05-11 一种视频播放控制方法、系统、节点和计算机存储介质 Active CN108769743B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810449646.6A CN108769743B (zh) 2018-05-11 2018-05-11 一种视频播放控制方法、系统、节点和计算机存储介质
PCT/CN2019/086422 WO2019214714A1 (zh) 2018-05-11 2019-05-10 一种视频播放控制方法、系统、节点和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810449646.6A CN108769743B (zh) 2018-05-11 2018-05-11 一种视频播放控制方法、系统、节点和计算机存储介质

Publications (2)

Publication Number Publication Date
CN108769743A CN108769743A (zh) 2018-11-06
CN108769743B true CN108769743B (zh) 2020-11-06

Family

ID=64010133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810449646.6A Active CN108769743B (zh) 2018-05-11 2018-05-11 一种视频播放控制方法、系统、节点和计算机存储介质

Country Status (2)

Country Link
CN (1) CN108769743B (zh)
WO (1) WO2019214714A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11831952B2 (en) 2008-09-10 2023-11-28 DISH Technologies L.L.C. Virtual set-top box

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769743B (zh) * 2018-05-11 2020-11-06 中兴通讯股份有限公司 一种视频播放控制方法、系统、节点和计算机存储介质
CN112153095A (zh) * 2019-06-28 2020-12-29 北京金山云网络技术有限公司 Cdn功能模块运行方法、运行装置、电子设备及存储介质
CN111770170B (zh) * 2020-06-29 2023-04-07 北京百度网讯科技有限公司 请求处理方法、装置、设备和计算机存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105915945A (zh) * 2015-12-08 2016-08-31 乐视云计算有限公司 用于cdn平台的内容分发方法及调度代理服务器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2463329B (en) * 2008-09-10 2013-02-20 Echostar Advanced Technologies L L C Set-top box emulation system
US20110078327A1 (en) * 2009-09-30 2011-03-31 Prime Networks (Hong Kong) Limited Content delivery utilizing multiple content delivery networks
US8825608B2 (en) * 2011-02-23 2014-09-02 Level 3 Communications, Llc Content delivery network analytics management via edge stage collectors
CN103179433B (zh) * 2011-12-26 2017-02-08 中国移动通信集团上海有限公司 一种视频内容提供系统、方法及服务节点
CN102695081A (zh) * 2012-06-13 2012-09-26 百视通网络电视技术发展有限责任公司 基于互联网电视的视频资源调度方法及电视终端
CN103533397B (zh) * 2013-09-29 2017-03-15 浙江省公众信息产业有限公司 节目内容分发方法和装置
CN104580274B (zh) * 2013-10-12 2018-06-19 中国电信股份有限公司 内容分发网络中的内容置换方法与系统、节点
CN103747286A (zh) * 2014-01-03 2014-04-23 上海聚力传媒技术有限公司 一种用于提供视频的方法和设备
CN105871800A (zh) * 2015-12-07 2016-08-17 乐视云计算有限公司 一种拉流控制的方法、装置及系统
CN107547909B (zh) * 2016-06-24 2020-05-29 腾讯科技(深圳)有限公司 媒体文件在线播放控制方法、装置和系统
CN106028064A (zh) * 2016-06-24 2016-10-12 武汉斗鱼网络科技有限公司 一种直播视频流播放地址权限校验方法及系统
CN106162209B (zh) * 2016-06-30 2019-10-18 中国科学院计算技术研究所 一种基于sdn技术的内容分发网络直播系统与方法
CN106162233B (zh) * 2016-07-08 2019-12-31 合一网络技术(北京)有限公司 码率推荐方法及装置
CN107948684A (zh) * 2017-11-20 2018-04-20 广州虎牙信息科技有限公司 直播间视频播放控制方法、装置及服务器
CN108769743B (zh) * 2018-05-11 2020-11-06 中兴通讯股份有限公司 一种视频播放控制方法、系统、节点和计算机存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105915945A (zh) * 2015-12-08 2016-08-31 乐视云计算有限公司 用于cdn平台的内容分发方法及调度代理服务器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11831952B2 (en) 2008-09-10 2023-11-28 DISH Technologies L.L.C. Virtual set-top box

Also Published As

Publication number Publication date
WO2019214714A1 (zh) 2019-11-14
CN108769743A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108769743B (zh) 一种视频播放控制方法、系统、节点和计算机存储介质
US9648027B2 (en) Segment authentication for dynamic adaptive streaming
EP3055805B1 (en) System and method for signaling and verifying url signatures for both url authentication and url-based content access authorization in adaptive streaming
WO2017129016A1 (zh) 一种资源访问方法、装置及系统
CN107528865B (zh) 文件的下载方法和系统
CN110933118A (zh) 边缘计算网关安全通信方法、系统、终端设备及服务器
CN108390881A (zh) 一种分布式高并发实时消息推送方法及系统
CN108664395A (zh) 应用程序测试方法、装置、设备及存储介质
CN109981680B (zh) 一种访问控制实现方法、装置、计算机设备及存储介质
CN113709530B (zh) 一种资源下载方法、系统、电子设备及存储介质
CN110913011B (zh) 会话保持方法、会话保持装置、可读存储介质及电子设备
CN110224824B (zh) 数字证书处理方法、装置、计算机设备和存储介质
CN116055767A (zh) 视频文件的处理方法、装置、设备及可读存储介质
US9405924B2 (en) Self-keyed protection of anticipatory content
CN113329242A (zh) 一种资源管理的方法和装置
CN107026828A (zh) 一种基于互联网缓存的防盗链方法及互联网缓存
CN105656995A (zh) 基于分布式处理的数据共享方法和系统
CN115334150B (zh) 一种数据转发的方法、装置、系统、电子设备及介质
CN110912941A (zh) 组播数据的传输处理方法及装置
US20210195418A1 (en) A technique for authenticating data transmitted over a cellular network
CN114338795B (zh) 一种区块链客户端的数据通信方法及装置
CN113285951A (zh) 请求转发方法、装置、设备及存储介质
CN112953969A (zh) 网络请求的响应方法、装置、计算机设备及存储介质
CN112511565B (zh) 请求响应方法、装置、计算机可读存储介质及电子设备
US20230224378A1 (en) Method for delegating the delivery of content items to a cache server

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