基于调度系统的异步防盗链方法与系统的制作方法_2

文档序号:8490004阅读:来源:国知局
间是透明的,实现合法访问的用户零感知,既兼顾厂商的利益,又兼顾用户体验。
[0048]本发明的基于调度系统的单点访问异步防盗链系统能有效解决以下的技术问题:
[0049](I)使用本发明的系统传输的是无需加密的文件,就能做到有效的版权保护。
[0050](2)链接不易被模仿,并且具有一定的时间戳,一条链接的生存时间一般比较短。对于一条具有唯一标识的链接,如果已经被注册为在线,其他相同的链接都会被拒绝。过了生成时间也会被拒绝。
[0051](3)可以做到先返回给用户一小部分媒体资源,再判断请求是否可行,兼顾用户体验和厂商利益。
[0052](4)在调度系统的基础上建立唯一标示符产生、注册、鉴权机制,这样使系统形成一个闭环,抬高了防盗链的难度等级,唯一标识符在鉴权系统中是一把钥匙,只有得到它才能获得持续访问的权利。
[0053]下面配合附图进行详细说明。
[0054]图1示出现有技术中的回源鉴权系统结构。该系统构架由客户端101、调度系统102、鉴权服务器103XDN节点104组成。客户端101向调度系统102发送了获取调度信息和唯一标识符的请求并获得响应之后,向⑶N节点104发送内容请求,⑶N节点104并不马上提供资源给客户端,而是在响应内容之前,先向鉴权服务器103发起鉴权请求,根据鉴权服务器103的鉴权结果,CDN节点104做出提供服务或者不提供服务的响应。
[0055]图2示出根据本发明的基于调度系统的单点访问异步防盗链系统框图。在一个实施例中,该系统包括客户端201、调度鉴权服务器202和内容分发网络(⑶N)节点204。
[0056]该调度鉴权服务器202设置于调度系统内。该调度鉴权服务器202既能执行调度工作又能进行鉴权。
[0057]客户端201在向⑶N节点204发起内容请求之前,先往该调度鉴权服务器202询问(即发送获取调度信息和鉴权信息的请求),并获取响应,其中该响应包括鉴权信息和调度信息。在一个实施例中,该鉴权信息可包括唯一 ID。该调度信息可包括用户所要访问的⑶N节点的域名。调度鉴权服务器202发出上述响应的同时,会把该唯一 ID注册成“存在”状态。需要指出的是,由于非法用户无法向调度系统发送请求,因此只有合法的客户端才能向调度鉴权服务器202发送请求。
[0058]客户端在获取鉴权信息和调度信息后,向⑶N节点204 (例如,边缘服务器)发起内容请求。在一个实施例中,该内容请求可以是流媒体请求。该内容请求包括鉴权信息。CDN节点204 (例如,边缘服务器)在接收到该内容请求后,先响应给客户端一定的资源,然后向该调度鉴权服务器202发起鉴权请求,其中,该鉴权请求包含有上述鉴权信息。该调度鉴权服务器202对该鉴权请求进行鉴权,例如,判断该唯一 ID是否已存在和/或登记在线,并返回鉴权结果。CDN节点204根据该调度鉴权服务器202的鉴权结果,做出继续提供服务或者中断流的响应。
[0059]图3示出根据本发明的一实施例的防盗链系统的具体工作流示意图。
[0060]本发明的防盗链系统的CDN节点可以根据域名进行配置,配置的粒度可以小到按文件名,或者某一类具有相同的规则的文件名。例如:对一个同一个域名下所有.exe、.m3u8进行防盗链判断。
[0061]本发明的防盗链系统流程如下。
[0062]步骤301:客户端向调度鉴权服务器发送第一请求。该第一请求为获取调度信息和鉴权?目息的请求。
[0063]步骤302:调度鉴权服务器根据客户端IP对客户端进行调度并产生唯一标识符(ID)。
[0064]步骤303:调度鉴权服务器响应客户端。该响应包括调度信息和鉴权信息。在一个实施例中,该调度信息包括用户所要访问的CDN节点的域名。该鉴权信息包括该唯一标识符(ID)。
[0065]步骤304:调度鉴权服务器在响应客户端的同时,把该唯一标识符注册成“存在”,注册成“存在”的目的在于,在之后的鉴权过程中,调度鉴权服务器可用于判断该ID是否存在于调度鉴权服务器自己提供的ID列表中,即可用于判断客户端所发送的内容请求中所包含的ID是否是调度鉴权服务器自己产生的。
[0066]步骤305:客户端在获得了包含唯一标识符的鉴权信息后,向⑶N节点发送内容请求(又称第二请求)。在一个实施例中,该第二请求可以是流媒体请求。客户端发起的第二请求中可包括鉴权信息。该鉴权信息包括唯一标识符、时间戳、客户端IP、跳转页信息等。该时间戳为URL生命周期的终止时间,或者为该唯一标识符的有效时间。在一个实施例中,鉴权信息的具体信息可以由客户端与CDN节点约定。例如,鉴权信息可以包括含有加密的时间戳和唯一标识符组成的加密串、未加密时间戳、客户端IP、诸如reference等跳转页信息、等等。鉴权信息可以采用加密的方式,也可以不加密。鉴权信息的内容可以作为http请求头的项进行请求,也可以以参数的形式携带在URL中,或者可以在URI中插入鉴权信息。
[0067]步骤306:在接收到第二请求后,CDN节点进行本地防盗链判断。具体而言,如果该CDN节点所对应的域名有防盗链的配置,则进入本地简单防盗链处理机制。例如:判断请求的URL是否是允许访问的IP ;判断reference是否正确。本地简单防盗链可以拦截一些简单的盗链行为,从而过滤一些非法请求,减少发往调度鉴权服务器的请求数,以缓解调度鉴权服务器的压力,提高响应速度。这个功能可以打开,也可以选择关闭。
[0068]步骤307:如果第二请求通过了⑶N节点的本地防盗链,则⑶N节点立即响应第二请求,即产生首次响应流318,并向调度鉴权服务器发送鉴权请求,其中,该鉴权请求包含有上述鉴权信息。在一个实施例中,CDN节点可以把时间戳和唯一标识符(加密或者不加密)等鉴权信息使用POST的请求方式发往调度鉴权服务器。此时需要保持长连接。这里使用的鉴权信息可以是约定的任何信息,CDN边缘节点需要提供相应的可配置的接口 ;P0ST请求需要保持长连接是因为要确保鉴权服务器的鉴权结果能找到需要被鉴权的那路流,这里也可以使用其他识别方法使得判断鉴权服务器的鉴权下发的判断结果能够针对到对应的 URLo
[0069]调度鉴权服务器对CDN节点发上来的鉴权请求进行鉴权信息获取,并进入鉴权流程。该鉴权流程可包括以下步骤。
[0070]步骤308:调度鉴权服务器解密加密串。如果鉴权信息中包含了加密串和未加密的时间戳,则调度鉴权服务器可采用鉴权信息中的未加密的时间戳对加密串里的时间戳进行校验,如果校验发现两者不一样,则下发⑶N节点,令其终止服务320。否则进入步骤309。若鉴权信息未加密,则步骤308可以省略。
[0071]采用此种校验方式的原因是由于盗链者复制到的请求中所含的加密串中的时间戳与盗链者自己提供的未加密的时间戳(该加密时间戳是当前的)通常是不一致的,因此,可以采用此种方法进行校验。
[0072]步骤309:调度鉴权服务器判断时间戳是否超过生存时间,如果超过,则下发⑶N节点终止服务320。否则进入步骤310。
[0073]步骤310:调度鉴权服务器判断唯一标识符是否存在于该调度鉴权服务器的ID列表中,如果不存在,说明该用户提供的唯一标识符并不是调度鉴权服务器提供的,该用户为非法用户,调度鉴权服务器下发⑶N节点终止服务320。否则,进入步骤311。
[0074]步骤311:调度鉴权服务器判断唯一标识符是否已经登记为在线,如果该唯一标识符已经登记在线,则说明该唯一标识符已经有合法用户进行了登记,当前用户为非法用户,因此,调度鉴权服务器下发⑶N节点终止服务320。否则,进入步骤312。从步骤311中可以看出,本发明是一个“单点访问”的防盗链系统,即同一时间,只能有一个合法用户访问资源,当这个合法用户登记为“在线”状态后,任何盗链者都无法再访问该资源。
[0075]步骤312:调度鉴权服务器将该唯一标识符(ID)为登记为“在线”状态。
[0076]步骤313:调度鉴权服务器将鉴权结果下发到⑶N节点,如果鉴权通过,则⑶N节点继续提供内容响应给客户端321。
[0077]需要注意的是,调度鉴权服务器的校验过程可以根据和CDN节点约定的规则进行。接收的鉴权信息不同,对应的鉴权方法也有所不同。
[0078]CDN节点接收调度鉴权服务器的响应之后,获取鉴权结果信息,并按照鉴权结果执行是否继续服务
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1