控制资源访问的方法和系统与流程

文档序号:13908692阅读:216来源:国知局
控制资源访问的方法和系统与流程

本发明涉及通信领域,并且更具体地,涉及一种控制资源访问的方法和系统。



背景技术:

内容分发网络(contentdeliverynetwork,cdn)是解决运营商互联互通的瓶颈、骨干网拥塞的技术。使用cdn网络会极大简化网站系统维护工作量。网站维护人员只需要将网站内容注入cdn系统,通过cdn部署在各个物理位置的服务器进行全网分发,就可以实现跨运营商、跨地域的用户覆盖。cdn对于用户是透明无感知的。

但是,如果一个内容提供商(contentprovider,cp)或服务提供商(serviceprovider,sp)将拥有版权许可的内容文件存放到cdn系统中后,无论来自各个运营商、那个地区的终端用户进行内容访问就不再需要经过cp或sp,而直接由cdn系统为其提供服务。这样就带来一个问题,如果放任务管理的终端用户访问网站资源,一方面,这种行为本身就构成了侵权。另一方面,也损害了cp或sp的商业利益。因此,如何能够对终端用户的访问进行控制,使得在不影响cp或sp的商业利益的同时,为终端用户提供流畅的服务、减轻骨干网的负载,成为一个亟需解决的问题。

为此,现有技术提出了cdn防盗链校验技术。cdn供应商与多家cp或sp、运营商协商讨论,并依据cp或sp的防盗链校验逻辑,开发出符合各cp或sp要求的防盗链校验商用软件。在终端用户访问网站资源时,cdn系统根据用户的访问请求,在软件内部匹配到对应的防盗链逻辑进行判断。在防盗链校验通过时,cdn向终端用户提供所需资源。否则,拒绝用户的访问请求。

但是,当前cdn系统的防盗链校验软件普遍采用硬编码。在cp/sp数量增多、cp/sp租户不稳定和软件升级的很多情况下,灵活性不足。



技术实现要素:

本申请提供一种控制资源访问的方法,能够提高防盗链校验的灵活性。

第一方面,本申请提供了一种控制资源访问的方法,该方法包括:获取映射关系信息,该映射关系信息用于记录多个域名与多个防盗链规则之间的映射关系;接收用户的第一访问请求,该第一访问请求中携带第一统一资源定位符url,该第一url中包括第一域名的指示信息;根据该第一域名和该映射关系信息,确定该第一域名对应的第一防盗链规则;根据该第一防盗链规则对该第一访问请求进行校验处理,确定访问策略。

在一种可能的实现方式中,该获取映射关系信息,包括:呈现第一配置界面,该第一配置界面包括输入区域;获取用户在该输入区域输入的配置信息;根据该配置信息,生成该映射关系信息。

应理解,这里的配置信息是指用户输入的用于指定多个域名与多个防盗链规则的映射关系的信息。本发明实施例对于配置信息的具体形式,不作特别限定。

在一种可能的实现方式中,该输入区域包括第一区域和第二区域,该第一区域用于输入域名标识,该第二区域用于输入防盗链规则标识,以及,获取用户在该输入区域输入的配置信息,包括:获取用户在该第一区域输入的域名标识、在第二区域输入的防盗链规则标识;以及,根据该配置信息,生成该映射关系信息,包括:根据该域名标识和该防盗链规则标识,生成该映射关系信息。

在一种可能的实现方式中,该方法还包括:提供原子集合,该原子集合中的每个原子能够实现一个指定功能;基于第一用户操作,从该原子集合中选择多个原子,并确定该多个原子之间的连接关系;根据该多个原子之间的连接关系,生成该多个防盗链规则。

在一种可能的实现方式中,该方法还包括:呈现第二配置界面,第二配置界面显示有该映射关系信息;基于第二用户操作,删除该映射关系信息中记录的第一域名与第一防盗链规则的映射关系,并卸载第一防盗链规则。

在一种可能的实现方式中,该方法还包括:判断该映射关系信息中记录的多个防盗链规则是否有更新;当确定该多个防盗链规则中的第二防盗链规则发生更新时,加载更新后的第二防盗链规则,其中,该第二防盗链规则与第二域名对应;在接收到携带有第二域名的指示信息的第二访问请求时,根据更新后的第二防盗链规则对该第二访问请求进行校验处理。

在一种可能的实现方式中,该第一url用于指示用户需要访问的第一资源,以及,根据第一防盗链规则对第一访问请求进行校验处理,确定访问策略,包括:从该第一url中获取待校验信息;执行该第一防盗链规则,以对待校验信息进行校验处理;当待校验信息符合该第一防盗链规则时,允许该用户访问该第一资源;当待校验信息不符合该第一防盗链规则时,禁止该用户访问该第一资源。

在一种可能的实现方式中,该多个防盗链规则以脚本形式存储。

第二方面,本申请提供一种控制资源访问的装置,该装置包括:处理单元,用于获取映射关系信息,该映射关系信息用于记录多个域名与多个防盗链规则之间的映射关系;接收单元,用于接收用户的第一访问请求,该第一访问请求中携带第一统一资源定位符url,该第一url中包括第一域名的指示信息;处理单元还用于根据该第一域名和该映射关系信息,确定该第一域名对应的第一防盗链规则;处理单元还用于根据该第一防盗链规则对该第一访问请求进行校验处理,确定访问策略。

在一种可能的实现方式中,在一种可能的实现方式中,该装置还包括:显示单元,用于呈现第一配置界面,该第一配置界面包括输入区域;以及,处理单元具体用于获取用户在该输入区域输入的配置信息;处理单元根据该配置信息,生成该映射关系信息。

在一种可能的实现方式中,该输入区域包括第一区域和第二区域,该第一区域用于输入域名标识,该第二区域用于输入防盗链规则标识,以及,该处理单元具体用于:获取用户在该第一区域输入的域名标识、在第二区域输入的防盗链规则标识;根据该域名标识和该防盗链规则标识,生成该映射关系信息。

在一种可能的实现方式中,该处理单元单元还用于提供原子集合,该原子集合中的每个原子能够实现一个指定功能;基于第一用户操作,从该原子集合中选择多个原子,并确定该多个原子之间的连接关系;根据该多个原子之间的连接关系,生成该多个防盗链规则。

在一种可能的实现方式中,显示单元还用于呈现第二配置界面,该第二配置界面显示有该映射关系信息;处理单元具体用于基于第二用户操作,删除该映射关系信息中记录的该第一域名与第一防盗链规则的映射关系,并卸载该第一防盗链规则。

在一种可能的实现方式中,处理单元具体还用于:判断该映射关系信息中记录的多个防盗链规则是否有更新;当确定该多个防盗链规则中的第二防盗链规则发生更新时,加载更新后的第二防盗链规则,其中,该第二防盗链规则与第二域名对应;在接收单元接收到携带有第二域名的指示信息的第二访问请求时,根据更新后的第二防盗链规则对该第二访问请求进行校验处理。

在一种可能的实现方式中,该第一url用于指示用户需要访问的第一资源,以及,处理单元具体用于:从该url中获取待校验信息;执行该第一防盗链规则,以对该待校验信息进行校验;确定该待校验信息符合该第一防盗链规则时,允许该用户访问该第一资源;确定该待校验信息不符合该第一防盗链规则时,禁止该用户访问该第一资源。

在一种可能的实现方式中,该多个防盗链规则以脚本形式存储。

第三方面,本申请提供一种控制资源的系统,该系统包括:脚本服务器,用于获取映射关系信息,该映射关系信息用于记录多个域名与多个防盗链规则之间的映射关系;边缘缓存服务器,用于接收用户的第一访问请求,该第一访问请求中携带第一统一资源定位符url,该第一url中包括第一域名的指示信息;该边缘缓存服务器还用于向该脚本服务器发送第一校验请求,该第一校验请求中携带该第一域名的指示信息;该脚本服务器根据该第一域名和该映射关系信息,确定该第一域名对应的第一防盗链规则;该脚本服务器还用于根据该第一防盗链规则对该第一访问请求进行校验处理,确定访问策略。

在一种可能的实现方式中,该系统还包括:配置服服务器,用于呈现第一配置界面,该第一配置界面包括输入区域;该配置服务器还用于:获取用户在该输入区域输入的配置信息;根据该配置信息,生成该映射关系信息;向该脚本服务器发送第一配置通知,该第一配置通知中携带该映射关系信息。

在一种可能的实现方式中,该输入区域包括第一区域和第二区域,该第一区域用于输入域名标识,该第二区域用于输入防盗链规则标识,以及,该配置服务器具体用于:获取用户在该第一区域输入的域名标识、在第二区域输入的防盗链规则标识;根据该域名标识和该防盗链规则标识,生成该映射关系信息。

在一种可能的实现方式中,该配置服务器还用于:提供原子集合,该原子集合中的每个原子能够实现一个指定功能;基于第一用户操作,从该原子集合中选择多个原子,并确定该多个原子之间的连接关系;根据该多个原子之间的连接关系,生成该多个防盗链规则。

在一种可能的实现方式中,该配置服务器还用于:呈现第二配置界面,该第二配置界面显示有该映射关系信息;基于第二用户操作,删除该映射关系信息中记录的该第一域名与第一防盗链规则的映射关系;向该脚本服务器发送第二配置通知;以及,该脚本服务器还用于根据该第二配置通知,卸载该第一防盗链规则。

在一种可能的实现方式中,该脚本服务器还用于:判断该映射关系信息中记录的多个防盗链规则是否有更新;当确定该多个防盗链规则中的第二防盗链规则发生更新时,加载更新后的第二防盗链规则,其中,该第二防盗链规则与第二域名对应;在接收到该边缘缓存器发送的携带第二域名的指示信息的第二校验请求时,根据更新后的第二防盗链规则对第二访问请求进行校验处理,其中,该第二校验请求是该边缘缓存服务器接收到用户的第二访问请求时发送给该脚本服务器的,该第二访问请求携带第二url,该第二url中包括该第二域名的指示信息。

在一种可能的实现方式中,该第一url用于指示用户需要访问的第一资源,以及,该脚本服务器还用于:从该第一url中获取待校验信息;执行该第一防盗链规则,以对待校验信息进行校验;当待校验信息符合该第一防盗链规则时,允许该用户访问该第一资源;当待校验信息不符合该第一防盗链规则时,禁止该用户访问该第一资源。

在一种可能的实现方式中,所述多个防盗链规则以脚本形式存储。

第四方面,本申请提供了一种控制资源访问的设备,该设备包括收发器、处理器、存储器。可选地,收发器、处理器、和存储器通过总线系统相互连接。其中,存储器用于存储指令,处理器用于执行存储器存储的指令,当指令被执行时,处理器用于执行第一方面或第一方面的任意可能的实现方式中的方法。

第五方面,本申请提供一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。

本发明实施例的控制资源访问的方法,通过建立域名与防盗链规则的映射关系,从而能够在接收到携带域名的用户的访问请求时,使用与域名对应的防盗链规则对访问请求进行校验,以确定访问策略。从而能够提高防盗链校验的灵活性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是适用于本发明实施例的控制资源访问的方法和装置的计算机系统的示意图。

图2是根据本发明实施例的控制资源访问的方法的示意性流程图。

图3示出了根据本发明一实施例的配置界面的示意图。

图4示出了本发明实施例的防盗链规则的图形化开发环境的示意图。

图5是使用本发明实施例的图形化开发环境编辑防盗链规则的示意图。

图6是根据本发明一实施例的控制资源访问的方法的示意性交互图。

图7是使用本发明实施例的图形化开发环境更新防盗链规则的示意图。

图8是根据本发明另一实施例的配置界面的示意图。

图9是根据本发明再一实施例的配置界面的示意图。

图10是根据本发明实施例的控制资源访问的装置的示意图。

图11是根据本发明实施例的控制资源访问的设备的示意图。

图12是根据本发明实施例的控制资源访问的系统的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应理解,在本发明实施例中,编号“第一”、“第二”仅仅为了区分不同的对象,例如为了区分不用的域名、用户操作等。不应对本发明实施例的保护范围构成任何限定。

本发明实施例提供的控制资源访问的方法、装置和设备,可以应用于计算机上。该计算机包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。

该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,linux操作系统、unix操作系统、android操作系统、ios操作系统或windows操作系统等。

该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。

并且,在本发明实施例中,该计算机可以是智能手机等手持设备,也可以是个人计算机等终端设备,本发明并未特别限定,只要能够通过运行记录有本发明实施例的压缩数据的方法的代码的程序,以根据本发明实施例的压缩数据的方法对数据进行处理即可。本发明实施例的管理数据的方法的执行主体可以是计算机设备,或者,是计算机设备中能够调用程序并执行程序的功能模块。

此外,本发明的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,cd(compactdisc,压缩盘)、dvd(digitalversatiledisc,数字通用盘)等),智能卡和闪存器件(例如,eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。

下面,结合图1对本发明实施例的计算机系统(具体地说,是计算机系统的硬件层)的结构进行实例性说明。

图1是适用本发明实施例的控制资源访问的方法和装置的计算机系统100的示意图。如图1所示,该系统100包括:

至少一个处理器110;

至少一个存储器120;

至少一个显示器130;

其中,处理器110、存储器120和显示器130通信连接。

在本发明实施例中,处理器110中设置有通信接口,存储器120中设置通信接口,显示器130中设置有通信接口,从而,处理器110、存储器120和显示器130可以通过该通信接口进行通信。

在本发明实施例中,处理器110与存储器120和显示器130可以配置在同一设备中,此情况下,作为示例而非限定,该计算机系统100还可以包括总线140,该处理器110可以经由通信接口与该总线140连接,该存储器120可以经由通信接口与该总线140连接,显示器130可以经由通信接口与该总线140连接。从而,处理器110、存储器120和显示器130可以通过该总线140实现通信连接。该总线140除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。此情况下,处理器110的通信接口可以为计算机设备内部器件之间的通信接口,类似地,存储器120和显示器130的通信接口可以为计算机设备内部器件之间的通信接口。

在本发明实施例中,处理器110、存储器120和显示器130可以配置在不同设备中,此情况下,处理器110、存储器120和显示器130可以通过有线方式或无线方式通信连接。例如,在处理器110与存储器120之间(具体地说,是处理器110的通信接口与存储器120的通信接口之间)可以设置通信线缆(例如,光纤或铜线等),以实现处理器110与存储器120之间的有线方式的通信连接。此情况下,处理器110的通信接口可以为计算机设备的用于与外部设备通信的通信接口,类似地,存储器120的通信接口可以为计算机设备的用于与外部设备通信的通信接口。

在本发明实施例中,处理器110可以是一个也可以是多个,并且,多个处理器110可以配置在同一设备(例如,服务器)中,或者,多个处理器110也可以独立配置,本发明并未特别限定。

需要说明的是,在本发明实施例中,当处理器110为多个,且配置在同一设备中时,各处理器110可以通过总线140(例如,pcie总线)连接,即,可以通过总线140实现各处理器110之间的信令或数据传输。另外,当各处理器110配置在不同设备中时,可以在各设备中配置与处理110连接的信息或信号收发器,并通过传输线缆连接各设备中的收发器,以实现各处理器110之间的信令或数据传输。

在本发明实施例中,存储器120包括至少一个控制器和至少一个存储介质。

存储介质,也可以称为存储空间,是用于存储某种不连续物理量的媒体。作为示例而非限定,该存储介质可以为存储芯片,并且,该存储介质的材料可以是半导体、磁芯、磁鼓、磁带、激光盘本领域成熟的材料等。该存储介质的类型可以是随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质类型。

在本发明实施例中,存储介质可以是一个也可以是多个,并且,多个存储介质可以配置在同一设备(例如,服务器)中,或者,多个存储介质可以独立配置,本发明并未特别限定。

控制器,也可以称为存储控制器(memorycontroller),用于为存储介质分配物理地址,并根据物理地址访问存储介质,并在存储介质进行数据存储操作。

控制器与上述处理器110通信连接,例如,控制器可以与总线140连接,从而,控制器可以经由总线140与处理器110通信。

作为示例而非限定,控制器可以是中央处理单元或其他通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

在本发明实施例中,控制器可以是一个也可以是多个,并且,多个控制器可以配置在同一设备中,或者,多个控制器可以独立配置,本发明并未特别限定。

在本发明实施例中,存储器120可以为一个也可以为多个,本发明并未特别限定,并且,当存储器120为多个时,各存储器120可以联合配置,即,多个存储器120可以共用一个或多个控制器或存储介质。

为了便于理解,首先对现有技术中采用硬编码方式编辑防盗链校验逻辑的过程进行说明。

当前最为广泛的cdn防盗链校验,主要包括如下工作。

1、协商:cdn供应商与多家cp/sp、运营商协商讨论,对防盗链校验逻辑形成结论。结论将作为后续研发的重要开发输入。

2、结论:cdn供应商研发依据cp/sp的防盗链校验逻辑,开发符合cp/sp要求的防盗链校验商用软件。

下面以两个cp/sp(为了便于区分,以下分别记作cp/sp-1和cp/sp-2)作为示例,对防盗链校验逻辑的开发过程进行说明。

假设cp/sp-1提供给cdn供应商的防盗链校验逻辑如下:

1、加密过程。

(1)用户原始请求url=http://www.cdntest2.com/filepath1/index.m3u8?p1=1&p2=50000

(2)如果url里参数p1的值为1,需要将“filepath1/index.m3u8?&p1=1&p2=50000”+“p2值”(不含“+”号)进行字符串拼接。如果p1的值不为1,需要将“用户url”进行字符串拼接。

(3)采用消息摘要算法5(messagedigestalgorithm5,md5)对待加密字符串、密钥进行加密,加密字串再使用base64算法进行编码,生成最后的机密信息。

(4)将机密信息追加到用户url的最后,发送给cdn的最终用户请求。

url=http://cdntest1.com/filepath1/index.m3u8?&p1=1&p2=50000&authinfo=%2b9brgtsqomwrcmvhjwqqtkatlhimkh5fcz0oepd4cl50hafeknkq83ebhsaurb8x

2、校验过程

(1)cdn需要按照加密过程在本地生成localauthinfo。

(2)比较localauthinfo与authinfo是否一致,如果一致,则防盗链校验通过。

假设cp/sp-2提供给cdn供应商的防盗链校验逻辑如下:

1、加密过程

(1)用户原始请求url=http://cdntest2.com/filepath2/index.m3u8?&p1=1&p2=50000

(2)从用户url里提取参数p1、p2,产生待加密字串“p1值”“+”“p2值”(包含“+”号)

(3)采用高级加密标准(advancedencryptionstandard,aes)算法对待加密字符串、密钥进行加密。加密字串再使用base64算法进行编码,生成最后的机密信息。

(4)将机密信息追加到用户url的最后,发送给cdn的最终用户请求。

url=http://cdntest2.com/filepath2/index.m3u8?&p1=1&p2=50000&encryptinfo=sowfxsglymg662opzqnjdie%2fa8z2ud8qjj1lmkaezczbc%2fiudn%2bbra9efyk0hti2

2、校验过程

(1)cdn使用密钥对encryptinfo进行解密,得到localp1,localp2。

(2)判断localp1是否等于p1,localp2是否等于p2。如果全部一致,则防盗链校验通过。

根据上述cp/sp-1和cp/sp-2各自提供的防盗链校验逻辑,业务研发人员开发的cdn防盗链校验逻辑的伪代码可以如下所示:

由此可见,当前cdn系统在cp/sp数量不大,租用cp/sp的商家稳定的情况下,采用硬编码方式基本可行。但是,如果cp/sp租户数量增加,或者cp/sp租户也不稳定时,硬编码的防盗链校验方式的不足,就会显得非常突出。

1、灵活性不足。如果有新的cp/sp需要租用cdn网络,新租户需要与cdn设备供应商进行防盗链校验逻辑(或者,也称校验算法)讨论。cdn设备供应商按照新租户的要求修改服务器代码,以提供相应的校验功能。

2、交付周期长:cdn设备供应商按照cp/sp的校验要求,经过一定的研发周期开发出具备相应功能的软件。服务人员向运营商申请现网设备软件升级时间窗口,再按计划对现网服务器进行软件更新。从一个新的防盗链校验产生到应用,e2e的交付周期较长。

3、软件升级风险:运维人员在进行设备软件升级过程中,可能会短时影响到用户的服务质量。如遇个别cp算法无效问题,硬编码的方式不能只卸载掉有问题的cp/sp的校验算法而保留没有问题的cp/sp的校验算法。只能将全部cdn设备的软件版本都倒回升级前的老版本。

为了便于理解和说明,对本发明实施例的控制资源访问的方法应用于cdn网络中进行防盗链校验时的过程,进行说明。

不失一般性地,以处理器作为本发明实施例的控制资源访问的方法的执行主体作为示例,进行说明。

图2示出了本发明实施例的控制资源访问的方法200的示意性流程图。如图2所示,该方法主要包括步骤210至步骤240。

210、适用于方法200的计算机系统(例如,计算机系统中的处理器)获取映射关系信息,映射关系信息用于记录多个域名与多个防盗链规则之间的映射关系。

可选地,作为一个实施例,获取映射关系信息,包括:

呈现第一配置界面,第一配置界面包括输入区域;

获取用户在输入区域输入的配置信息,其中,该配置信息用于指定该多个域名与该多个防盗链规则之间的映射关系;

根据配置信息,生成该映射关系信息。

具体地,在本发明实施例中,可以向用户呈现一个配置界面,配置界面中包括一个输入区域。处理器通过获取用户在配置界面上的输入区域输入的配置信息,获取用户指定的域名与防盗链脚本之间的映射关系。其中,配置信息的具体形式不作任何限定。例如,用户可以输入“www.cdntest1.commatchsp1runscript”(即,配置信息的一例),从而指定域名“www.cdntest1.com”与防盗链规则“sp1runscript”之间的映射关系。

应理解,映射关系信息可以是通过获取用户在配置界面中的多次输入而生成,或者,也可以是一次输入而生成。本发明实施例对此不作任何限定。

可选地,该输入区域包括第一区域和第二区域,第一区域用于输入域名标识,第二区域用于输入防盗链脚本标识,

以及,获取用户在输入区域输入的配置信息,包括:

获取用户在第一区域输入的域名标识、在第二区域输入的防盗链规则标识;

以及,根据配置信息,生成映射关系信息,包括:

根据该域名标识和该防盗链规则标识,生成该映射关系信息。

图3示出了本发明一实施例的配置界面的示意图。如图3所示,通过向用户呈现配置界面,用户在第一区域和第二区域分别输入需要建立对应关系(即,映射关系)的域名标识和防盗链规则标识。例如,输入的域名标识为“www.cdntest1.com”,输入的防盗链规则标识为“sp1runscript”。通过检测用户操作,可以获取到用户指定的域名与防盗链规则,从而处理器生成用户指定的域名“www.cdntest1.com”与指定的防盗链规则“sp1runscript”的映射关系。依次方法,可以建立多个域名与多个防盗链规则的映射关系,从而生成映射关系信息。

可选地,该方法还包括:

提供原子集合,该原子集合中的每个原子用于实现一个指定功能;

基于第一用户操作,从原子集合中选择多个原子,并确定该多个原子之间的连接关系;

根据该多个原子之间的连接关系,生成该多个防盗链规则。

在本发明实施例中,防盗链规则可以通过图形化的集成开发环境(integrateddevelopmentenvironment,ide)进行编辑生成。

下面,对本发明实施例中的防盗链规则的生成过程进行详细说明。

1、防盗链规则开发环境基本介绍。

图4示出了本发明实施的防盗链规则的图形化开发环境的示意图。如图4所示,在本发明实施例中,ide开发环境提供原子(cell)集合。每个cell可以独立完成某个指定功能。例如,获取url参数cell,可以按照域名(domain)、文件路径(filepath)、参数值(paramvalue[])维度返回对应值。又例如,字符串运算cell,可以提供字符串的截取、加法等运算功能。每个cell根据各自的功能,有输入参数。可选地,还可以有输出参数。每个cell有成功、失败出口。cell与cell之间通过连线连接。

应理解,图4中所示的cell#1和cell#2表示能够完成不同功能的两个cell。并且,图4中所示仅作为示例。

还应理解,在本发明实施例中,cell集合中的cell根据防盗链规则的开发需要,可以进行新增、删除和编辑等操作。换句话说,cell集合是可以根据开发需求不断进行更新的。

需要说明的是,在本发明实施例中,防盗链规则也可以称为防盗链校验逻辑或防盗链流程。

2、防盗链规则的开发。

ide开发环境提供图形化的编辑环境,进行防盗链规则的编辑(或者说,编排)。

可选地,在本发明实施例中,防盗链规则以脚本形式存储。

具体地,编辑完成的防盗链规则(或者称为防盗链流程)可以通过ide开发环境编译为二进制脚本。

以前文所述的cp/sp-1的校验逻辑为例,结合图5说明本发明实施例的防盗链规则的编辑过程。

图5是使用本发明实施例的图形化开发环境编辑防盗链规则的示意图。下面对图5中所示的cell的功能进行说明。

(1)获取url参数

输入:用户url=http://www.cdntest2.com/filepath1/index.m3u8?p1=1&p2=50000&encrytinfo=%2b333444555

输出:

paramvalue[0]=1

paramvalue[1]=50000

paramvalue[2]=%2b333444555

返回:成功

(2)decodeaes128

输入:paramvalue[2]=%2b333444555

输出:strdecodedurl=“1+50000”

返回:成功

(3)字符串运算

运算:字符串截取

输入:strdecodedurl

关键字:+,关键字位置:所有输出:

strtmpsplit[0]=1

strtmpsplit[1]=50000

返回:成功

(4)条件比较

输入:paramvalue[0]=1,strtmpsplit[0]

条件:等于

返回:成功

(5)条件比较

输入:paramvalue[1],strtmpsplit[1]

条件:等于

返回:成功

从图5可以看出,与现有的硬编码方式相比,在图形化的编辑环境下,研发人员的开发难度降低。

3、域名与防盗链规则的映射关系的配置。

计算机系统(例如,处理器)提供一个配置界面,供用户(例如,研发人员)通过管理系统客户端进行域名与防盗链规则的映射关系的配置。

220、接收用户的第一访问请求。

具体地,访问请求中携带第一统一资源定位符(uniformresourcelocator,url),第一url中包括第一域名的指示信息。

230、根据第一域名和映射关系信息,确定第一域名对应的第一防盗链规则。

根据前文步骤210所述,计算机系统(例如,处理器)获取到多个域名与多个防盗链规则之间的映射关系。因此,在步骤230中,可以根据映射关系信息,确定与第一域名对应的第一防盗链规则。

240、根据第一防盗链规则对访问请求进行校验处理,确定访问策略。

可选地,作为一个实施例,第一url用于指示用户需要访问的第一资源,以及,根据第一防盗链规则对访问请求进行校验处理,确定访问策略,包括:

从url中获取待校验信息;

执行第一防盗链规则,对待校验信息进行校验;

当待校验信息符合第一防盗链规则时,允许该用户访问该第一资源;

当待校验信息不符合第一防盗链规则时,禁止该用户访问该第一资源。

具体地,计算机系统(例如,处理器)从用户的访问请求中获取url,并从url中提取待校验信息。通过执行第一防盗链规则,对待校验信息进行校验。如果待校验信息符合第一防盗链规则,允许用户访问该第一资源。如果待校验信息不符合第一防盗链规则,禁止用户访问该第一资源。

可选地,作为一个实施例,该方法还包括:

呈现第二配置界面,第二配置界面显示有映射关系信息;

基于第二用户操作,删除该映射关系信息中记录的第一域名与第一防盗链规则的映射关系,并卸载该第一防盗链规则。

在本发明实施例中,在先配置的域名与防盗链规则的映射关系,可以通过配置界面进行编辑或删除。并且,处理器在检测到用户的删除操作后,会卸载相应的防盗链规则。

可选地,作为一个实施例,该方法还包括:

判断所述映射关系信息中记录的多个防盗链规则是否有更新;

当确定该多个防盗链规则中的第二防盗链规则发生更新时,加载更新后的第二防盗链规则,其中,该第二防盗链规则与第二域名对应;

在接收到携带有第二域名的指示信息的第二访问请求时,根据更新后的第二防盗链规则对该第二访问请求进行校验处理。

具体地,在本发明实施例中,在先配置的防盗链规则还可以进行更新。并且,在接收到用户的访问请求时,应根据更新后的防盗链规则对访问请求进行校验。在判断防盗链规则是否有更新时,可以根据存储防盗链规则的文件的大小、文件的修改时间等进行判断。

在本发明实施例中,通过建立域名与防盗链脚本的映射关系,提高了防盗链校验的灵活性。

应理解,实现上述各个步骤的处理器的功能可以集成配置,或者也可以独立配置。以下,以处理器的功能配置在多个设备上作为示例,对本发明实施例的控制资源访问的方法在cdn网络中进行防盗链校验的过程进行详细说明。

在本发明实施例中,对于防盗链规则的存储形式不作任何限定。例如,防盗链规则以二进制脚本形式存储。以下,为了简洁,以防盗链规则存储为脚本形式为例进行说明。并且,以下将以脚本形式存储的防盗链规则称为防盗链脚本。

图6示出了根据本发明实施例的控制资源访问的方法的示意性交互图。应理解,图6所示的步骤或操作仅作为示例,本发明实施例还可以执行其他操作或者图6中各种操作的变形。并且,图6中的各个步骤可以按照与图6呈现的不同的顺序来执行,并且有可能并非执行图6中所示的全部操作或步骤。

首先,对图6中示出的多个通信设备进行简单介绍。

cdn配置服务器,提供配置界面,供研发人员配置域名与防盗链脚本之间的映射关系。并且,提供防盗链脚本的修改、重新编辑和编译的功能。

脚本服务器,能够根据域名匹配对应的防盗链脚本、执行防盗链脚本。

边缘缓存服务器,接收用户的访问请求。可以参考现有技术中cdn网络中的边缘缓存服务器的各种功能。这里不作详述。

301、编辑防盗链规则。

cdn配置服务器提供ide开发环境,供用户(例如,防盗链脚本开发人员)进行防盗链规则的编辑。

应理解,ide开发环境提供图形化的编辑环境。相对于硬件码,降低了开发人员的开发难度,进而可以缩短开发周期。

302、编译防盗链规则。

进一步地,cdn配置服务器提供防盗链规则的编译功能。研发人员编辑完成的防盗链规则在ide开发环境下编译成为二进制脚本,即生成防盗链脚本。

可选地,在本发明实施例中,还可以包括文件服务器。其中,文件服务器用于存储上述步骤301和步骤302中编辑生成的防盗链规则的文件。并与cdn配置服务器和脚本服务器共享这些文件。

303、运维人员在cdn配置服务器上配置域名与防盗链脚本之间的映射关系。

具体地,cdn服务器提供配置界面(即,第一配置界面),以供运维人员通过管理系统客户端进行域名与防盗链脚本的映射关系的配置,并根据运维人员的配置,生成映射关系信息。

304、cdn配置服务器向脚本服务器发送配置通知。

cdn配置服务器生成映射关系信息后,向服务器脚本发送配置通知(为了区分,以下记作配置通知#1),配置通知#1中携带映射关系信息。脚本服务器接收到cdn服务器发送的配置通知#1后,获知域名与防盗链脚本之间的映射关系。

305、运维人员将防盗链脚本注入cdn服务器。

具体地,在本发明实施例中,cdn配置服务器提供脚本注入的功能,以使用户通过管理系统客户端向中心管理节点注入防盗链脚本。

这里,中心管理节点是指cdn网络中的中心管理节点。

306、防盗链脚本发布。

中心管理节点向全网脚本服务器通知,以便于脚本服务器加载防盗链脚本。

307、脚本服务器加载防盗链脚本。

可选地,脚本服务器可以根据配置情况选择性地加载全部或部分防盗链脚本。

308、终端发起访问请求。

具体地,cp/sp向终端提供访问入口(例如,网站、app等),以接收用户(通过终端设备)发送的访问请求。访问请求中携带url,其中url中携带域名(为了便于描述,假设url中的域名为域名#a)的指示信息。cdn系统通过dns服务调度、cdn全局负载均衡(globalserverloadbalance,gslb)等调度后,用户的访问请求分配给边缘缓存服务器。

309、边缘缓存服务器向脚本服务器发送校验请求。

具体地,脚本服务器向边缘缓存服务器开放网络接口。边缘缓存服务器在接收到终端设备发送的访问请求后,通过网络接口向脚本服务器发送校验请求。

310、防盗链脚本匹配、执行。

步骤310中,防盗链脚本匹配是指脚本服务器根据映射关系信息,确定访问请求中的域名(即,域名#a)对应的防盗链脚本。

具体地,脚本服务器从访问请求中的url中获取到终端的域名#a。结合映射关系信息,确定与域名#a对应的防盗链脚本(为了便于描述,以下记作防盗链脚本#b)。脚本服务器执行防盗链脚本#b,对url中的待校验信息进行校验处理,得到校验结果。其中,校验结果包括待校验信息符合防盗链脚本#b的校验逻辑或不符合防盗链脚本#b的校验逻辑。

需要说明的是,如前文所述,若本发明实施例的系统中存在文件服务器,并存储防盗链脚本。那么在步骤310中,脚本服务器在执行防盗链脚本时,从文件服务器读取与域名#a对应的防盗链脚本。换句话说,文件服务器向脚本服务器提供防盗链脚本。

311、脚本服务器向边缘缓存服务器返回校验结果。

如果待校验信息符合防盗链规则(或者说,防盗链脚本的校验逻辑),边缘缓存服务器继续为用户提供服务,即,允许用户对访问请求中url指示的网络资源进行访问。如果待校验信息不符合防盗链规则,边缘缓存服务器拒绝用户访问url指示的网络资源。

可选地,在本发明实施例中,防盗链脚本可以进行更新。

312、防盗链脚本重编辑、重编译。

具体地,ide开发环境提供防盗链规则的重编辑功能,供研发人员修改cp/sp的防盗链规则、重新编译防盗链脚本。

图7是使用本发明实施例的图形化开发环境更新防盗链规则的示意图。以前文所述的cp/sp-1的校验逻辑修改为cp/sp-2的校验逻辑为例为例,对更新防盗链脚本的过程进行说明。

(1)获取url参数。

输入:用户

url=http://www.cdntest2.com/filepath1/index.m3u8?p1&p2=5000&p3=6000encryptinfo=%2b666777888

输出:

paramvalue[0]=1

paramvalue[1]=50000

paramvalue[2]=60000

paramvalue[3]=%2b666777888

返回:成功

(2)decodeaes128

输入:paramvalue[3]=%2b666777888

输出:strdecodedurl=“1~50000~6000”

返回:成功

(3)字符串运算

运算:字符串截取

输入:strdecodedurl

关键字:~,关键字位置:所有输出:

strtmpsplit[0]=1

strtmpsplit[1]=50000

strtmpsplit[2]=60000

返回:成功

(4)条件比较

输入:paramvalue[0]=1,strtmpsplit[0]

条件:等于

返回:成功

(5)条件比较

输入:paramvalue[1],strtmpsplit[1]

条件:等于

返回:成功

(6)条件比较

输入:paramvalue[2],strtmpsplit[2]

条件:等于

返回:成功

可见,在本发明实施例中,如果需要对防盗链脚本进行更新,研发人员仅需要在ide开发环境下对需要更新的防盗链脚本进行重编辑即可。例如,与cp/sp-1相比,cp/sp-2的url里新增参数p3,p3值需要参与加密。同时p1值、p2值和p3值原来使用“+”号分隔,现在需要修改为使用“~”号分隔。

313、cdn配置服务器重新注入防盗链规则。

在ide开发环境中完成防盗链规则的重新编辑后,cdn服务器提供配置界面,供运维人员通过管理系统客户端重新注入更新后的防盗链脚本。

314、防盗链脚本重新发布。

可参考前述步骤306,此处不作赘述。

315、脚本服务器更新防盗链脚本。

图8示出了本发明另一实施例的配置界面的示意图。如图8所示,具体地,脚本服务器判断防盗链脚本是否发生变化(例如,根据文件修改时间、文件大小等判断)。脚本服务器如果确定防盗链脚本发生改变,进行防盗链脚本的重载。后续,脚本服务器按照更新后的防盗链脚本进行校验。

316、cdn配置服务器提供配置界面,供运维人员通过管理系统客户端删除需要卸载的防盗链脚本。

图9示出了本发明再一实施例的配置界面的示意图。如图9所示,在本发明实施例中,cdn配置服务器呈现的配置界面(即,第二配置界面),提供对域名标识、防盗链脚本标识的编辑功能。同时,还可以提供将在先编辑的防盗链脚本删除的功能。

例如,用户需要对有误的内容进行修改时(例如,在先的错误输入等),可以选择“编辑”功能,以对有误的内容进行重新编辑。又例如,cp/sp租用结束后,cdn系统对cp/sp已占用的资源回收。同时,对防盗链脚本也进行回收。以图9中所示为例,用户可以通过配置界面,删除在先配置的域名“www.cdntest1.com”与防盗链脚本“sp1runscript”的映射关系。

317、cdn配置服务器向脚本服务器发送配置通知。

这里的配置通知,为了便于区分,记作配置通知#2。

318、脚本服务器卸载防盗链脚本。

具体地,在本发明实施例中,脚本服务器提供防盗链脚本卸载功能。在接收到cdn配置服务器发送的配置通知#2后,脚本服务器卸载对应的防盗链脚本。继续以图9为例,脚本服务器会卸载防盗链脚本“sp1runscript”。

应理解,上述图6中所示的研发人员与运维人员仅是以实际操作过程中工作的分工不同而加以区分,这里仅作为一种作为示例。显然,在本发明实施例中,研发人员与运维人员可以为同一用户。

本发明实施例的控制资源的方法,通过建立域名与防盗链规则的映射关系,从而能够在接收到携带域名的访问请求时,使用与访问请求中的域名对应的防盗链规则对访问请求进行校验,确定访问策略。提高了防盗链校验的灵活性。

另外,在本发明实施例中,防盗链规则的开发环境图形化,降低了研发人员的开发难度,缩短了研发周期。

再一方面,本发明实施例提供的配置界面,简化了cp/sp对防盗链规则的更新、增加和卸载等操作。无需服务器更新升级,只需要重加载或卸载对应的防盗链规则即可。即使个别的防盗链脚本出现故障,只需卸载出现故障的脚本,其它的防盗链脚本可正常运行,提高了防盗链校验的可靠性。

以上结合图1至图9,说明了根据本发明实施例的控制资源访问的方法。下面结合图10至图12对本发明实施例的控制资源的装置、设备和系统进行说明。

图10示出了根据本发明实施例的控制资源访问的装置500的示意性框图。如图10所示,该装置包括:

处理单元510,用于获取映射关系信息,所述映射关系信息用于记录多个域名与多个防盗链规则之间的映射关系;

接收单元520,用于接收用户的第一访问请求,所述第一访问请求中携带第一统一资源定位符url,所述第一url中包括第一域名的指示信息;

处理单元510还用于,根据所述第一域名和所述映射关系信息,确定所述第一域名对应的第一防盗链规则;

处理单元510还用于,根据所述第一防盗链规则对所述第一访问请求进行校验处理,确定访问策略。

本发明实施例的装置500中的各单元和上述操作或功能分别为了实现方法200中的相应流程,为了简洁,此处不再赘述。

本发明实施例的控制资源的装置,通过建立域名与防盗链规则的映射关系,从而能够在接收到携带域名的访问请求时,使用与访问请求中的域名对应的防盗链规则对访问请求进行校验,确定访问策略。提高了防盗链校验的灵活性。

图11示出了根据本发明实施例的控制资源访问的设备600的示意性结构图。如图11所示,设备600包括收发器610、存储器620和处理器630。可选地,收发器610、存储器620和处理器630通过总线系统640相连接。其中,收发器610用于通过接收或发送数据(或信号)与其他设备进行通信。存储器620,用于存储计算机指令(或者说,程序)。处理器630用于执行存储器620中存储的指令。当指令被执行时,执行如下步骤:

处理器630用于获取映射关系信息,该映射关系信息用于记录多个域名与多个防盗链规则之间的映射关系;

收发器610用于接收用户的第一访问请求,所述第一访问请求中携带第一统一资源定位符url,所述第一url中包括第一域名的指示信息;

处理器630还用于根据所述第一域名和所述映射关系信息,确定所述第一域名对应的第一防盗链规则;

处理器630还用于根据所述第一防盗链规则对所述第一访问请求进行校验处理,确定访问策略。

应理解,在本发明实施例中,处理器630可以是中央处理单元(centralprocessingunit,简称为“cpu”),处理器630还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器620可以包括只读存储器和随机存取存储器,并向处理器630提供指令和数据。存储器620的一部分还可以包括非易失性随机存取存储器。例如,存储器620还可以存储设备类型的信息。

在实现过程中,上述方法的各步骤可以通过处理器630中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的小区间切换的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器620,处理器630读取存储器620中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

根据本发明实施例的控制资源访问的设备600的功能或上述操作分别为了实现方法200中的相应流程。为了简洁,此处不再赘述。

可选地,收发器610、存储器620和处理器630可以通过总线系统640连接,或直接连接。

本发明实施例的控制资源的设备,通过建立域名与防盗链规则的映射关系,从而能够在接收到携带域名的访问请求时,使用与该访问请求中的域名对应的防盗链规则对访问请求进行校验,以确定访问策略。提高了防盗链校验的灵活性。

图12示出了根据本发明实施例的控制资源访问的系统700的示意图。如图12所示,系统700包括脚本服务器701和边缘缓存服务器702。

脚本服务器701用于获取映射关系信息,该映射关系信息用于记录多个域名与多个防盗链规则之间的映射关系;

边缘缓存服务器702用于接收用户的第一访问请求,该第一访问请求中携带第一统一资源定位符url,该第一url中包括第一域名的指示信息;

边缘缓存服务器702还用于向脚本服务器701发送第一校验请求,该第一校验请求中携带该第一域名的指示信息;

脚本服务器701还用于:

根据该第一域名和该映射关系信息,确定该第一域名对应的第一防盗链规则;

根据该第一防盗链规则对该第一访问请求进行校验处理,确定访问策略。

可选地,系统700中还可以包括cdn配置服务器703。cdn配置服务器703用于提供配置界面,并基于用户操作生成映射关系信息。从而将生成的映射关系信息发送给脚本服务器701。

可选地,系统700中还可以包括文件服务器704。文件服务器704用于存储防盗链规则的文件,并与脚本服务器和cdn配置服务器共享。脚本服务器校验用户的访问请求时,可以从文件服务器读取与访问请求中的域名对应的防盗链规则,并执行。

需要说明的是,上述系统700中的脚本服务器701、边缘缓存服务器702、cdn配置服务器703和文件服务器704可以通过网络接口连接。其中,网络接口可以是有线接口,例如,光纤分布式数据接口(fiberdistributeddatainterface,fddi)、千兆以太网(gigabitethernet,ge)接口。或者,网络接口也可以是无线接口。本发明实施例对此不作限定。

本发明实施例的控制资源访问的系统,脚本服务器通过获取域名与防盗链规则的映射关系,从而能够在接收到边缘缓存服务器发送的携带域名的访问请求时,使用与该访问请求中的域名对应的防盗链规则对该访问请求进行校验,以确定访问策略。提高了防盗链校验的灵活性。

应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1