一种基于CDN的访问控制方法及相关设备与流程

文档序号:11138553
一种基于CDN的访问控制方法及相关设备与制造工艺

本发明涉及网络技术领域,尤其涉及一种基于CDN的访问控制方法及相关设备。



背景技术:

内容分发网络(CDN,Content Delivery Network)是一种在现有互联网基础之上通过在网络各处放置的节点服务器所构成的一层智能虚拟网络。CDN能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是能够选择离用户相对较近的节点向用户发送用户所需的内容,缓解网络拥挤的状况,提高网站的响应速度。

现有技术中提供一种基于CDN的访问控制方法大致如下所示:

当用户通过用户代理(例如,浏览器、下载工具或流媒体播放器)访问业务服务器的内容资源时,业务服务器根据CDN服务器提供的算法及密钥生成统一资源定位器(URL,Uniform Resource Locator),该URL指向CDN服务器中的内容资源,用户通过该URL访问CDN服务器中的内容资源,CDN服务器将用户请求的内容资源发送给用户。

但是,如果入侵者对通过用户代理获取的URL进行破解,就可以获取内容资源的实际地址,入侵者可能绕过业务服务器,通过该实际地址获取内容资源,因此CDN服务器存储的内容资源存在一定风险。



技术实现要素:

本发明实施例提供了一种基于CDN的访问控制方法以及CDN服务器、业务服务器,能够提高存储于CDN服务器的内容资源的安全性。

本发明实施例第一方面提供了一种基于CDN的访问控制方法,包括:

CDN服务器接收用户终端发送的HTTP请求及用户终端的标识信息,上述HTTP请求包含访问票据,上述访问票据用于标识用户访问权限;

上述CDN服务器将上述用户终端的标识信息及上述HTTP请求发送给业 务服务器,以使得上述业务服务器利用上述用户终端的标识信息对上述访问票据进行认证;

若认证结果为上述访问票据合法,上述CDN服务器接收上述业务服务器返回的包含内容指纹的HTTP响应,上述内容指纹用于标识内容资源;

上述CDN服务器根据上述内容指纹获取内容资源后发送给上述用户终端。

结合本发明实施例第一方面,本发明实施例第一方面的第一种实现方式中,所述CDN服务器接收用户终端发送的HTTP请求及用户终端的标识信息之前包括:

上述CDN服务器接收上述业务服务器发送的内容指纹及内容资源;

上述CDN服务器检查其自身是否已存储上述内容指纹或内容资源,若否,则保存上述内容指纹及内容资源,若是,丢弃上述内容指纹及上述内容资源。

结合本发明第一方面,本发明第一方面的第二种实现方式中,上述CDN服务器将上述内容资源发送给上述用户终端之后包括:

若在预设时段内上述内容资源被访问的次数不大于预设阈值,上述CDN服务器从上述业务服务器获取更新的内容资源以及内容指纹。

本发明实施例第二方面提供了一种基于CDN的访问控制方法,包括:

业务服务器接收CDN服务器发送的HTTP请求及用户终端的标识信息,上述HTTP请求包含有访问票据,上述访问票据用于标识用户访问权限;

上述业务服务器利用上述用户终端的标识信息对上述访问票据进行认证;

若认证结果为上述访问票据合法,上述业务服务器将包含内容指纹的HTTP响应返回给上述CDN服务器,以使得上述CDN服务器根据上述内容指纹获取内容资源。

结合本发明实施例第二方面,本发明实施例第二方面的第一种实现方式中,上述业务服务器将包含内容指纹的HTTP响应返回给上述CDN服务器之前包括:

上述业务服务器对内容资源进行哈希运算得到内容指纹;

上述业务服务器将内容资源及内容指纹发送给上述CDN服务器。

结合本发明实施例第二方面,本发明实施例第二方面的第二种实现方式中,上述业务服务器将包含上述内容指纹的HTTP响应返回给上述CDN服务器之后包括:

上述业务服务器接收上述CDN服务器发送的包含URL的内容更新请求;

上述业务服务器根据上述URL查找内容资源及内容指纹;

上述业务服务器将上述URL对应的内容资源及上述内容指纹返回给上述CDN服务器。

本发明实施例第三方面提供了一种基于CDN的访问控制方法,包括:

业务服务器接收用户终端发送的HTTP请求,所述HTTP请求用于获取内容资源;

上述业务服务器根据上述HTTP请求生成URL,上述URL包含上述内容资源对应的内容指纹;

上述业务服务器将上述URL返回给用户终端,以使得上述用户终端向CDN服务器发送包含上述URL的HTTP请求。

本发明实施例第四方面提供了一种基于CDN的访问控制方法,包括:

CDN服务器接收用户终端发送的HTTP请求,上述HTTP请求包含内容指纹;

上述CDN服务器根据上述内容指纹获取对应的内容资源;

上述CDN服务器将上述内容资源发送给上述用户终端。

本发明实施例第五方面提供了一种基于CDN的访问控制方法,包括:

用户终端向业务服务器发送HTTP请求,HTTP请求用于获取内容资源;

上述用户终端接收业务服务器返回的URL,上述URL包含上述内容资源对应的内容指纹;

上述用户终端向CDN服务器发送HTTP请求,上述HTTP请求包含上述内容指纹,以使得上述CDN服务器根据上述内容指纹获取对应的内容资源;

上述用户终端接收上述CDN服务器返回的上述内容资源。

本发明实施例第六方面提供了一种CDN服务器,包括:

接收模块,用于接收用户终端发送的HTTP请求及用户终端的标识信息,上述HTTP请求包含访问票据,上述访问票据用于标识用户访问权限;

发送模块,用于将上述用户终端的标识信息及上述HTTP请求发送给业务服务器,以使得上述业务服务器利用上述用户终端的标识信息对上述访问票据进行认证;

上述接收模块,还用于若认证结果为上述访问票据合法,接收上述业务服务器返回的包含内容指纹的HTTP响应,上述内容指纹用于标识内容资源;

获取模块,用于根据上述内容指纹获取内容资源后发送给上述用户终端。

结合本发明实施例第六方面,本发明实施例第六方面的第一种实现方式中,上述接收模块,还用于接收上述业务服务器发送的内容指纹及内容资源;

上述CDN服务器还包括:

检查模块,用于检查其自身是否已存储上述内容指纹,若否,则触发保存模块保存上述内容指纹及上述内容资源的步骤,若是,则触发执行模块丢弃上述内容指纹及上述内容资源;

保存模块,用于保存上述内容指纹及上述内容资源;

执行模块,用于丢弃上述内容指纹及上述内容资源。

结合本发明实施例第六方面,本发明实施例第六方面的第二种实现方式中,

上述获取模块,还用于若在预设时段内所述内容资源被访问的次数不大于预设阈值,从所述业务服务器获取更新的内容资源以及内容指纹。

本发明实施例第七方面提供了一种业务服务器,包括:

接收模块,用于接收CDN服务器发送的HTTP请求及用户终端的标识信息,上述HTTP请求包含有上述访问票据;

认证模块,用于利用上述用户终端的标识信息对上述访问票据进行认证;

发送模块,用于若认证结果为所述访问票据合法,将包含内容指纹的HTTP响应返回给上述CDN服务器,以使得上述CDN服务器根据上述内容指纹获取内容资源。

结合本发明实施例第七方面,本发明实施例第七方面的第一种实现方式中,上述业务服务器还包括:

运算模块,用于对内容资源进行哈希运算得到内容指纹,上述内容指纹用于标识内容资源;

上述发送模块,还用于将上述内容资源及内容指纹发送给上述CDN服务器。

结合本发明实施例第七方面,本发明实施例第七方面的第二种实现方式中,

上述接收模块,还用于接收上述CDN服务器发送的包含URL的内容更新请求;

所述业务服务器还包括:查找模块,用于根据上述URL查找内容资源及内容指纹;

上述发送模块,还用于将上述URL对应的内容资源及上述内容指纹返回给上述CDN服务器。

本发明实施例第八方面提供了一种业务服务器,包括:

接收模块,用于接收用户终端发送的HTTP请求,所述HTTP请求用于获取内容资源;

生成模块,用于根据上述HTTP请求生成URL,上述URL包含上述内容资源对应的内容指纹;

发送模块,用于将上述URL返回给用户终端,以使得上述用户终端向CDN服务器发送包含上述URL的HTTP请求。

本发明实施例第九方面提供了一种CDN服务器,包括:

接收模块,用于接收用户终端发送的HTTP请求,上述HTTP请求包含内容指纹;

获取模块,用于根据上述内容指纹获取对应的内容资源;

发送模块,用于将上述内容资源发送给上述用户终端。

本发明实施例第十方面提供了一种用户终端,包括:

发送模块,用于向业务服务器发送HTTP请求,上述HTTP请求用于获取内容资源;

接收模块,用于接收业务服务器返回的URL,上述URL包含上述内容资源对应的内容指纹;

上述发送模块,还用于向CDN服务器发送HTTP请求,上述HTTP请求包含上述内容指纹;

上述接收模块,接收上述CDN服务器返回的内容资源。

本发明实施例第十一方面提供了一种CDN服务器,包括:

接收装置,用于接收用户终端发送的HTTP请求及用户终端的标识信息,上述HTTP请求包含访问票据,上述访问票据用于标识用户访问权限;

发送装置,用于将上述用户终端的标识信息及上述HTTP请求发送给业务服务器,以使得上述业务服务器利用上述用户终端的标识信息对上述访问票据进行认证;

上述接收装置,用于若认证结果为上述访问票据合法,接收上述业务服务器返回的包含内容指纹的HTTP响应,上述内容指纹用于标识内容资源;

处理器,用于根据上述内容指纹获取内容资源后发送给所述用户终端。

结合本发明实施例第十一方面,本发明实施例第十一方面的第一种实现方式中,

上述接收装置,还用于接收上述业务服务器发送的内容指纹及内容资源;

上述处理器,还用于检查其自身是否已存储上述内容指纹,若否,则保存上述内容指纹及上述内容资源,若是,则丢弃上述内容指纹及上述内容资源。

结合本发明实施例第十一方面,本发明实施例第十一方面的第二种实现方式中,所述处理器,还用于若在预设时段内所述内容资源被访问的次数不大于预设阈值,从所述业务服务器获取更新的内容资源以及内容指纹。

本发明实施例第十二方面提供了一种业务服务器,包括:

接收装置,用于接收CDN服务器发送的HTTP请求及用户终端的标识信息,上述HTTP请求包含有访问票据;

处理器,用于利用上述用户终端的标识信息对上述访问票据进行认证;

发送装置,用于若认证结果为所述访问票据合法,将包含上述内容指纹的HTTP响应返回给上述CDN服务器,以使得上述CDN服务器根据上述内容指纹获取内容资源。

结合本发明实施例第十二方面,本发明实施例第十二方面的第一种实现方式中,上述处理器,还用于对内容资源进行哈希运算得到内容指纹,上述内容指纹用于标识内容资源;

上述发送装置,用于将上述内容资源及内容指纹发送给上述CDN服务器。

结合本发明实施例第十二方面,本发明实施例第十二方面的第二种实现方式中,上述接收装置,还用于接收上述CDN服务器发送的包含URL的内容更新请求;

上述处理器,还用于根据上述URL查找内容资源及内容指纹;

上述发送装置,还用于将上述URL对应的内容资源及上述内容指纹返回给上述CDN服务器。

本发明实施例第十三方面提供了一种业务服务器,包括:

接收装置,用于接收用户终端发送的HTTP请求,所述HTTP请求用于获取内容资源;

处理器,用于根据上述HTTP请求生成URL,上述URL包含上述内容资源对应的内容指纹;

发送装置,用于将上述URL返回给用户终端,以使得上述用户终端向CDN服务器发送包含上述URL的HTTP请求。

本发明实施例第十四方面提供了一种CDN服务器,包括:

接收装置,用于接收用户终端发送的HTTP请求,上述HTTP请求包含内容指纹;

处理器,用于根据上述内容指纹获取对应的内容资源;

发送装置,用于将上述内容资源发送给上述用户终端。

本发明实施例第十五面提供了一种用户终端,包括:

发送装置,用于向业务服务器发送HTTP请求,HTTP请求用于获取内容资源;

接收装置,用于接收业务服务器返回的URL,上述URL包含上述内容资源对应的内容指纹;

上述发送装置,还用于向CDN服务器发送HTTP请求,上述HTTP请求包含上述内容指纹,以使得上述CDN服务器根据上述内容指纹获取对应的内容资源;

上述接收装置,还用于接收上述CDN服务器返回的内容资源。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,CDN服务器接收用户终端发送的HTTP请求以及用户终端的标识信息,HTTP请求包含访问票据,访问票据用于标识用户访问权限,将用户终端的标识信息及HTTP请求发送给业务服务器,以使得业务服务器利用用户终端的标识信息对访问票据进行认证,若认证结果为访问票据合法,接收业务服务器返回的包含内容指纹的HTTP响应,内容指纹用于标识内容资源,根据内容指纹获取内容资源后,将内容资源发送给用户终端,CDN服务器不会根据HTTP请求将内容资源直接返回给用户终端,而是接收业务服务器对HTTP请求认证成功的结果之后,根据内容指纹查找并返回内容资源,内容指纹由业务服务器与CDN服务器存储,不经过用户终端,入侵者无法通过用户终端获取内容指纹,而没有内容指纹无法获取内容资源,因此提高了内容资源的安全性。

附图说明

图1为现有技术中基于CDN的访问控制方法的一个信令流程示意图;

图2为本发明实施例中基于CDN的访问控制方法的一个信令流程示意图;

图3为本发明实施例中基于CDN的访问控制方法的一个流程示意图;

图4为本发明实施例中基于CDN的访问控制方法的另一个流程示意图;

图5为本发明实施例中基于CDN的访问控制方法的另一个信令流程示意图;

图6为本发明实施例中基于CDN的访问控制方法的另一个流程示意图;

图7为本发明实施例中基于CDN的访问控制方法的另一个流程示意图;

图8为本发明实施例中基于CDN的访问控制方法的另一个流程示意图;

图9为本发明实施例中CDN服务器的一个结构示意图;

图10为本发明实施例中CDN服务器的另一个结构示意图;

图11为本发明实施例中业务服务器的一个结构示意图;

图12为本发明实施例中业务服务器的另一个结构示意图;

图13为本发明实施例中业务服务器的另一个结构示意图;

图14为本发明实施例中CDN服务器的另一个结构示意图;

图15为本发明实施例中用户终端的一个结构示意图;

图16为本发明实施例中CDN服务器的另一个结构示意图;

图17为本发明实施例中业务服务器的另一个结构示意图;

图18为本发明实施例中用户终端的另一个结构示意图。

具体实施方式

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

本发明实施例中基于CDN的访问控制方法可以应用的网络架构包括:

业务服务器,用于对用户进行鉴权,认证,向CDN服务器提供内容资源,接收用户终端发送的内容请求之后,向用户提供CDN服务器中内容资源的地址;

CDN服务器,用于存储业务服务器提供的内容资源,接收用户终端发送的内容请求之后,将内容资源返回给用户终端。

用户终端,用于发起HTTP请求,获取内容资源。

请参阅图1,基于上述网络架构,现有技术中基于CDN的访问控制方法的一个实施例包括:

CDN服务器向业务服务器提供加解密算法以及密钥,业务服务器根据加解密算法及密钥对URL进行加密。

用户终端访问业务服务器中的内容资源时,业务服务器会生成内容资源对应的HTTP响应,其中,HTTP响应包括:用户终端的IP地址、发送内容请求的时间及URL,用户终端会向上述URL指定的CDN服务器发送内容请求报文,用户信息通过CDN服务器认证之后,CDN服务器根据上述URL获取内容资源,若CDN服务器中不存在内容资源,CDN服务器会将来自用户终端的内容请求报文发送给业务服务器,业务服务器根据内容请求报文查找到内容资源之后,将内容资源发送给CDN服务器,CDN服务器将内容资源返回给用户终端,并保存内容资源。可以理解的是,用户终端与服务器侧的 交互是通过用户代理(例如,浏览器、下载工具或流媒体播放器)来实现的,具体可参考现有技术,此处不再赘述。

现有技术中,业务服务器会将CDN服务器中内容资源的URL发送给用户,虽然此URL经过加密,但是入侵者可以获取此URL访问CDN服务器,CDN服务器却无法对用户鉴权,无疑存在风险。

同时,业务服务器为CDN服务器分配内容资源时,会给内容资源分配一个URL,CDN服务器通过URL来识别内容资源,由于不同用户存储的内容对应的URL不同,因此CDN服务器会存储很多内容相同的内容资源。

为了提高内容资源的安全性,本发明实施例提供了一种基于CDN的访问控制方法,可以实现通过内容指纹查找内容资源,由于内容指纹保存在CDN服务器与业务服务器中,因此可以避免攻击者通过用户终端直接获取URL,通过URL获取内容资源的可能,请参阅图2所示的信令流程图。

201、用户终端向业务服务器发送HTTP请求,该HTTP请求用于获取内容资源;

202、业务服务器根据上述HTTP请求生成URL,将该URL发送给用户终端,该URL携带有访问票据;

203、用户终端向CDN服务器发送HTTP请求以及用户终端的标识信息,该HTTP请求携带有访问票据;

204、CDN服务器将来自用户终端的HTTP请求以及用户终端的标识信息发送给业务服务器;

205、业务服务器根据用户终端的标识信息对访问票据进行认证;

206、若访问票据合法,业务服务器根据访问票据查找内容指纹,将内容指纹发送给CDN服务器;

207、CDN服务器根据内容指纹查找内容资源;

208、CDN服务器将内容资源发送给用户终端。

请参阅图3,本发明实施例中基于CDN的访问控制方法的一个实施例包括:

301、CDN服务器接收用户终端发送的HTTP请求及用户终端的标识信息,HTTP请求包含访问票据,访问票据用于标识用户访问权限;

本实施例中,当用户访问业务服务器中的内容资源时,业务服务器生成指向CDN服务器中内容资源的URL,并将该URL发送给用户终端,用户终端可以利用该URL生成HTTP请求,CDN服务器接收该请求。CDN服务器还可以接收用户终端发送的标识信息,用户终端的标识信息可以是用户终端的IP地址,携带在TCP/IP请求中。

该URL包含访问票据,访问票据用于标识用户可以访问的内容资源的权限,该URL还包含用户会话信息,用户会话信息用于维护用户终端与业务服务器之间的关联请求。

需要说明的是,本实施例中,CDN服务器不会根据来自用户终端的URL查找内容资源或内容指纹。

302、CDN服务器将用户终端的标识信息及HTTP请求发送给业务服务器,以使得业务服务器利用用户终端的标识信息对访问票据进行认证;

其中,CDN服务器将用户终端的标识信息及HTTP请求发送给业务服务器,业务服务器可以利用用户终端的标识信息对访问票据进行认证。如果访问票据通过认证,表明用户有权获取内容资源,否则表明用户无权获取内容资源。

303、若认证结果为访问票据合法,CDN服务器接收业务服务器返回的包含内容指纹的HTTP响应,内容指纹用于标识内容资源;

其中,内容指纹是对内容资源提取内容摘要,并对内容摘要进行哈希运算得到的字符串,即内容资源的数字指纹,能够唯一标识内容资源。相同的内容资源加密所得内容指纹相同,不同的内容资源加密所得内容指纹不同。需要说明的是,即使内容相同的内容资源的名称或存储位置不同,内容指纹仍然相同。

304、CDN服务器根据内容指纹获取内容资源;

其中,CDN服务器存储有内容指纹及内容资源,内容指纹与内容资源对应,CDN服务器获取内容指纹之后,可以根据内容指纹获取内容资源。

305、CDN服务器将内容资源发送给用户终端。

CDN服务器获取内容资源之后,将内容资源发送给用户终端。

本发明实施例中,CDN服务器接收用户终端发送的HTTP请求及用户终 端的标识信息,HTTP请求包含访问票据,访问票据用于标识用户访问权限,将用户终端的标识信息及HTTP请求发送给业务服务器,以使得业务服务器利用用户终端的标识信息对访问票据进行认证,若认证结果为访问票据合法,接收业务服务器返回的包含内容指纹的HTTP响应,内容指纹用于标识内容资源,根据内容指纹获取内容资源,将内容资源发送给用户终端,CDN服务器不会根据HTTP请求将内容资源直接返回给用户终端,而是接收业务服务器对HTTP请求认证成功的结果之后,根据内容指纹查找并返回内容资源,内容指纹由业务服务器与CDN服务器存储,不经过用户终端,入侵者无法通过用户终端获取内容指纹,而没有内容指纹无法获取内容资源,因此提高了内容资源的安全性。

可选的,在本发明的一些实施例中,CDN服务器根据内容指纹获取内容资源具体通过以下方式实现:若CDN服务器中未存储内容资源,则CDN服务器向业务服务器发送包含有内容指纹的内容请求,以使得业务服务器根据内容指纹查找内容资源,CDN服务器接收业务服务器返回的内容资源。

具体的,当CDN服务器中未存储内容资源时,CDN服务器可以根据内容指纹从业务服务器获取内容资源。

可选的,在本发明的另一些实施例中,CDN服务器接收用户终端发送的HTTP请求及用户终端的标识信息之前包括:CDN服务器接收业务服务器发送的内容资源及内容指纹;CDN服务器检查其自身是否已存储内容指纹或内容资源,若否,则保存内容资源及内容指纹,若是,则丢弃内容指纹及内容资源。

本实施例中,CDN服务器可以接收业务服务器发送的内容资源及内容指纹,检查其自身是否已存储内容指纹,若是,则表明CDN服务器已存储内容资源,仅保留一个内容资源即可,可以丢弃此内容资源,若否,则表明CDN服务器未存储此内容资源,需要存储此内容资源,用来向用户提供CDN加速服务。需要说明的是,当CDN服务器已存储内容资源时,CDN服务器也可以保留最后接收的内容资源,并丢弃已存储的内容资源,具体此处不作限定。

需要说明的是,以上CDN服务器保留一个内容资源为减少冗余的最佳方案,在实际应用中,CDN服务器可以保留预定数量的相同的内容资源,当相 同的内容资源的数量达到预定数量之后,CDN服务器再接收与上述内容相同的内容资源时,不再保存该内容资源,以减少冗余。

可选的,在本发明的另一些实施例中,若在预设时段内内容资源被访问的次数不大于预设阈值,CDN服务器从业务服务器获取更新的内容资源以及内容指纹。

具体的,预设阈值的大小可以根据经验或实际测试获取,此处不作限定。若在预设时段内内容资源被访问的次数小于或等于预设阈值,表明内容资源在此时段内不受关注,需要更换内容资源,CDN服务器可以向业务服务器发送内容更新请求,业务服务器将更新后的内容资源及内容指纹发送给CDN服务器,CDN服务器从而完成内容更新。

若在预设时段内内容资源被访问的次数大于预设阈值,表明内容资源受人欢迎,无需更换该内容资源。与现有技术中CDN服务器通过定期清理内容资源的方式更新内容资源相比,本发明可以立即更新被访问较少的内容资源,同时可以将受人欢迎的内容资源不更新,使得用户可以继续访问该内容资源,提高了用户体验。

需要说明的是,当CDN服务器将URL指定的原内容资源及原内容指纹,替换为更新后的内容资源及更新后的内容指纹之后,CDN服务器可以立即删除原内容资源,也可以不立即删除原内容资源,由于业务服务器将URL指向更新后的内容资源,原内容资源不会再被用户访问,CDN服务器可以通过定期删除访问次数过低的内容资源的方式,将原内容资源删除。

请参阅图4,本发明实施例中基于CDN的访问控制方法的另一实施例包括:

401、业务服务器接收CDN服务器发送的HTTP请求及用户终端的标识信息,HTTP请求包含有访问票据;

本实施例中,业务服务器可以接收CDN服务器发送的HTTP请求及用户终端的标识信息,HTTP请求包含有访问票据,所述访问票据用于标识用户访问权限。HTTP请求还包含有用户会话信息,用户会话信息用于维护用户终端与业务服务器之间的关联请求。

402、业务服务器利用用户终端的标识信息对访问票据进行认证;

其中,业务服务器可以检查访问票据是否与上述用户终端的标识信息对应,访问票据是否与用户会话对应,访问票据是否在有效期以内等。可以理解的是,在实际应用中,可以使用其中一种或多种认证方式对访问票据进行认证,此处不作限定。

业务服务器对访问票据进行认证的具体过程可参阅现有技术,此处不再赘述。

403、若认证结果为访问票据合法,业务服务器将包含内容指纹的HTTP响应返回给CDN服务器,以使得CDN服务器根据内容指纹获取内容资源。

可选的,本发明一些实施例中,上述方法还包括:业务服务器接收CDN服务器发送的包含内容指纹的内容请求;业务服务器根据内容指纹查找内容资源;业务服务器将内容资源发送给CDN服务器。

具体的,若CDN服务器中没有存储内容资源,CDN服务器可以向业务服务器发送包含内容指纹的内容请求,业务服务器可以根据内容指纹查找内容资源,并将内容资源返回给CDN服务器。

可选的,本发明一些实施例中,所述业务服务器将包含内容指纹的HTTP响应返回给所述CDN服务器之前包括:业务服务器对内容资源进行哈希运算得到内容指纹,内容指纹用于标识内容资源;业务服务器将内容资源及内容指纹发送给CDN服务器。

具体的,业务服务器对内容资源进行哈希运算所用算法可以为SHA512,SHA224,SHA256或SHA384,还可以为其他安全哈希算法,此处不作限定。可以理解的是,业务服务器可以将一部分或全部的内容资源及内容指纹发送给CDN服务器。

可选的,本发明一些实施例中,所述业务服务器将包含所述内容指纹的HTTP响应返回给所述CDN服务器之后包括:业务服务器接收CDN服务器发送的包含URL的内容更新请求;业务服务器根据URL查找内容资源及内容指纹;业务服务器将URL对应的内容资源及内容指纹返回给所述CDN服务器。

本实施例中,在实际应用中,由于业务服务器隔一段时间会更新内容资源,URL所对应的内容指纹和内容资源会发生变化,CDN服务器上的内容资 源也需要随之更新,CDN服务器可以向业务服务器发送URL,业务服务器可以根据URL查找到内容资源及内容指纹,将该内容资源及内容指纹返回给CDN服务器,CDN服务器将URL指定的原内容资源及原内容指纹替换为更新后的内容资源及更新后的内容指纹。

为便于理解,下面以一个具体应用场景对本发明中的基于CDN的访问控制方法进行详细描述:

当用户打开名为“http://media.orgin.com”的网站,点击观看该网站的付费内容“2.pdf”时,网站会跳转至付费页面,当用户付费之后,业务服务器生成一个URL,例如:http://media.orgin.com/2.pdf?ticket=1?session=2,将该URL返回给浏览器,浏览器通过该URL向CDN服务器发起访问“2.pdf”的请求,CDN服务器将该URL发送给业务服务器,业务服务器对ticket进行认证,若通过认证,则根据该URL查找内容指纹1,将内容指纹1返回给CDN服务器,CDN服务器根据内容指纹1查找“2.pdf”,将“2.pdf”返回给用户。

可选的,CDN服务器根据内容指纹1查找“2.pdf”之前,业务服务器可以对“2.pdf”进行哈希运算得到内容指纹1,将内容指纹1及“2.pdf”发送给CDN服务器。

在实际应用中,本发明实施例还提供一种快捷的访问内容资源的方法,可用于用户访问业务服务器中无需保护的内容资源,请参阅图5,图5为本发明实施例中基于CDN的访问控制方法的另一信令流程图。

501、用户终端向业务服务器发送HTTP请求,该HTTP请求用于获取内容资源;

502、业务服务器根据上述HTTP请求生成包含内容指纹的URL,发送给用户终端;

503、用户终端向CDN服务器发送HTTP请求,HTTP请求携带有内容指纹;

504、CDN服务器根据内容指纹查找内容资源;

505、CDN服务器将内容资源发送给用户终端。

请参阅图6,本发明实施中基于CDN的访问控制方法的另一个实施例包括:

601、业务服务器接收用户终端发送的HTTP请求;

本实施例中,当用户访问业务服务器中内容资源时,业务服务器接收用户终端发送的HTTP请求,HTTP请求用于获取内容资源。

602、业务服务器根据HTTP请求生成URL,URL包含内容资源对应的内容指纹;

其中,业务服务器检查上述HTTP请求访问的内容资源是否需要保护,若该内容资源为无需保护的内容类型,业务服务器可以生成包含内容指纹的URL,该内容指纹与无需保护的内容资源对应。

603、业务服务器将URL返回给用户终端,以使得用户终端向CDN服务器发送包含URL的HTTP请求。

业务服务器获取URL之后,将URL返回给用户终端,用户终端可以向CDN服务器发送包含URL的HTTP请求。

请参阅图7,本发明实施中基于CDN的访问控制方法的另一个实施例包括:

701、CDN服务器接收用户终端发送的HTTP请求,HTTP请求包含内容指纹;

本实施例中,CDN服务器可以接收用户终端发送的HTTP请求,HTTP请求包含内容指纹。

702、CDN服务器根据内容指纹获取对应的内容资源;

其中,CDN服务器存储有内容指纹及内容资源,内容指纹与内容资源对应,CDN服务器获取HTTP请求之后,由于HTTP请求携带有内容指纹,可以根据内容指纹获取内容资源。

703、CDN服务器将内容资源发送给用户终端。

CDN服务器获取内容资源之后,可以将内容资源发送给用户终端。

请参阅图8,本发明实施中基于CDN的访问控制方法的另一个实施例包括:

801、用户终端向业务服务器发送HTTP请求,HTTP请求用于获取内容资源;

本实施例中,用户终端可以向业务服务器发送HTTP请求,HTTP请求用 于获取内容资源。

802、用户终端接收业务服务器返回的URL,URL包含内容资源的内容指纹;

用户终端可以接收业务服务器返回的URL,URL包含内容资源的内容指纹。

803、用户终端向CDN服务器发送HTTP请求,HTTP请求包含内容指纹;

用户终端获取URL之后,向CDN服务器发送包含该URL的HTTP请求,以使得CDN服务器根据URL中的内容指纹获取对应的内容资源。

804、用户终端接收CDN服务器返回的内容资源。

为便于理解,下面以另一个具体应用场景对本发明实施例中的基于CDN的访问控制方法进行详细描述:

当用户打开“http://media.orgin.com”的网站,点击观看该网站的免费内容“1.gif”时,业务服务器生成一个URL,例如:http://media.orgin.com/1.gif?Fingerprint=3,将该URL返回给浏览器,浏览器通过该URL向CDN服务器发起访问“1.gif”的请求,CDN服务器检查该URL存在内容指纹3,CDN服务器根据内容指纹3查找“1.gif”,将“1.gif”返回给用户。

以上从方法角度对本发明实施例中的基于CDN的访问控制方法进行了说明,下面从装置角度对本发明实施例中CDN服务器进行详细描述,请参阅图9,本发明实施例中CDN服务器的一个实施例包括:

接收模块901,用于接收用户终端发送的HTTP请求及用户终端的标识信息,HTTP请求包含访问票据,访问票据用于标识用户访问权限;

发送模块902,用于将用户终端的标识信息及HTTP请求发送给业务服务器,以使得业务服务器利用用户终端的标识信息对访问票据进行认证;

接收模块901,还用于若认证结果为访问票据合法,CDN服务器接收业务服务器返回的包含内容指纹的HTTP响应,内容指纹用于标识内容资源;

获取模块903,用于根据内容指纹获取内容资源后发送给用户终端。

本发明实施例中,接收模块901接收用户终端发送的HTTP请求及用户终端的标识信息,HTTP请求包含访问票据,访问票据用于标识用户访问权限,发送模块902将用户终端的标识信息及HTTP请求发送给业务服务器,以使 得业务服务器利用用户终端的标识信息对访问票据进行认证,若认证结果为访问票据合法,接收模块901接收业务服务器返回的包含内容指纹的HTTP响应,内容指纹用于标识内容资源,获取模块903根据内容指纹获取内容资源后发送给用户终端,CDN服务器不会根据HTTP请求将内容资源直接返回给用户终端,而是接收业务服务器对HTTP请求认证成功的结果之后,根据内容指纹查找并返回内容资源,内容指纹由业务服务器与CDN服务器存储,不经过用户终端,入侵者无法通过用户终端获取内容指纹,而没有内容指纹无法获取内容资源,因此提高了内容资源的安全性。

可选的,在本发明的一些实施例中,

发送模块902,还用于若CDN服务器900中未存储内容资源,则向业务服务器发送包含有内容指纹的HTTP请求,以使得业务服务器根据内容指纹查找内容资源,

接收模块901,还用于接收业务服务器返回的内容资源。

可选的,请参阅图10,在本发明的一些实施例中,

接收模块901,还用于接收业务服务器发送的内容指纹及内容资源;

CDN服务器900还包括:

检查模块1001,用于检查其自身是否已存储内容指纹,若否,则触发保存模块1002保存内容资源及内容指纹的步骤,若是,则触发执行模块1003丢弃内容指纹及内容资源。

保存模块1002,用于保存内容指纹及内容资源;

执行模块1003,用于丢弃内容指纹及内容资源。

可选的,在本发明的一些实施例中,

获取模块903,还用于若在预设时段内所述内容资源被访问的次数不大于预设阈值,从所述业务服务器获取更新的内容资源以及内容指纹。

请参阅图11,本发明实施例中业务服务器的一个实施例包括:

接收模块1101,用于接收CDN服务器发送的HTTP请求及用户终端的标识信息,HTTP请求包含有访问票据;

认证模块1102,用于利用用户终端的标识信息对访问票据进行认证;

发送模块1103,用于若认证结果为访问票据合法,将包含内容指纹的 HTTP响应返回给CDN服务器,以使得CDN服务器根据内容指纹获取内容资源。

可选的,在本发明的一些实施例中,

接收模块1101,还用于接收CDN服务器发送的包含内容指纹的内容请求;

发送模块1103,还用于将内容指纹对应的内容资源发送给CDN服务器。

可选的,在本发明的另一些实施例中,业务服务器1100还包括:

运算模块1201,用于对内容资源进行哈希运算得到内容指纹,内容指纹用于标识内容资源;

发送模块1103,还用于将内容资源及内容指纹发送给CDN服务器。

可选的,在本发明的另一些实施例中,

接收模块1101,还用于接收CDN服务器发送的包含URL的内容更新请求;

业务服务器1100还包括:

查找模块1202,用于根据URL查找内容资源及内容指纹;

发送模块1103,还用于将所述URL对应的内容资源及内容指纹返回给所述CDN服务器。

为便于理解,下面以一个具体应用场景对本发明实施例中基于CDN的访问控制方法中的各网元或各网元中模块之间的交互进行详细描述:

在本发明实施例的具体应用场景中,用户终端的标识信息为用户IP地址,当用户打开名为“http://media.orgin.com”的网站,点击观看该网站的付费内容“2.pdf”时,网站会跳转至付费页面,当用户付费之后,业务服务器的接收模块1101接收用户终端发送的HTTP请求及用户终端的标识信息,生成一个URL,例如:http://media.orgin.com/2.pdf?ticket=1?session=2,将该URL返回给浏览器,浏览器通过该URL向CDN服务器发起访问“2.pdf”的请求,CDN服务器的接收模块901接收用户终端发送的HTTP请求及用户IP地址,CDN服务器的发送模块902将该URL及用户IP地址发送给业务服务器的接收模块1101,业务服务器的认证模块1102利用用户的IP地址对ticket进行认证,若ticket通过认证,则业务服务器的发送模块1103将该URL对应的内容 指纹1返回给CDN服务器的接收模块901,CDN服务器的获取模块903根据内容指纹1获取“2.pdf”,并将“2.pdf”返回给用户终端。

可选的,CDN服务器将“2.pdf”返回给用户终端之前,业务服务器的运算模块1201可以对“2.pdf”进行哈希运算得到内容指纹1,业务服务器的发送模块1103将内容指纹1及“2.pdf”发送给CDN服务器。

请参阅图13,本发明实施例中业务服务器的另一个实施例包括:

接收模块1301,用于接收用户终端发送的HTTP请求,HTTP请求用于获取内容资源;

生成模块1302,用于根据HTTP请求生成URL,URL包含内容资源对应的内容指纹;

发送模块1303,用于将URL返回给用户终端,以使得用户终端向CDN服务器发送包含URL的HTTP请求。

请参阅图14,本发明实施例中CDN服务器的另一个实施例包括:

接收模块1401,用于接收用户终端发送的HTTP请求,HTTP请求包含内容指纹;

获取模块1402,用于根据内容指纹获取对应的内容资源;

发送模块1403,用于将内容资源发送给用户终端。

请参阅图15,本发明实施例中用户终端的一个实施例包括:

发送模块1501,用于向业务服务器发送HTTP请求,HTTP请求用于获取内容资源;

接收模块1502,用于接收业务服务器返回的URL,URL包含内容资源对应的内容指纹;

发送模块1501,还用于向CDN服务器发送HTTP请求,HTTP请求包含内容指纹;

接收模块1502,还用于接收CDN服务器返回的内容资源。

为便于理解,下面以一个具体应用场景对本发明实施例中基于CDN的访问控制方法中的各网元或各网元中模块之间的交互进行详细描述:

内容资源以“1.gif”为例,当用户打开名为“http://media.orgin.com”的网站,点击观看该网站的免费内容“1.gif”时,用户终端的发送模块1501向业 务服务器发送HTTP请求,业务服务器的接收模块1301接收用户终端发送的HTTP请求,生成模块1302生成一个URL,例如:http://media.orgin.com/1.gif?Fingerprint=3,业务服务器的发送模块1303将该URL返回给用户终端的接收模块1502,用户终端的发送模块1501通过该URL向CDN服务器发起访问“1.gif”的HTTP请求,CDN服务器的接收模块1401接收HTTP请求,由于该URL包含内容指纹3,CDN服务器的获取模块1402根据内容指纹3获取“1.gif”,CDN服务器的发送模块1403将“1.gif”返回给用户终端,用户终端的接收模块1502接收“1.gif”。

上面从单元化功能实体的角度对本发明实施例中的CDN服务器进行了描述,下面从硬件处理的角度对本发明实施例中的CDN服务器进行描述,请参阅图16,本发明实施例中CDN服务器1600的另一个实施例包括:

接收装置1601、发送装置1602、处理器1603及存储器1604,其中CDN服务器1600中的处理器1603的数量可以一个或多个,图16中以一个处理器1603为例。处理器1603和存储器1604通过接收装置1601接收UE外部的信息,处理器1603和存储器1604通过发送装置1602将信息发射到UE外部。在本发明的一些实施例中,接收装置1601、发送装置1602、处理器1603和存储器1604可通过总线或其它方式连接,其中,图16中以通过总线连接为例。

接收装置1601,用于接收用户终端发送的HTTP请求及用户终端的标识信息,HTTP请求包含访问票据,访问票据用于标识用户访问权限;

发送装置1602,用于将用户终端的标识信息及HTTP请求发送给业务服务器,以使得业务服务器利用用户终端的标识信息对访问票据进行认证;

接收装置1601,用于若认证结果为访问票据合法,接收业务服务器返回的包含内容指纹的HTTP响应,内容指纹用于标识内容资源;

处理器1603,用于根据内容指纹获取内容资源后发送给用户终端。

存储器1604可以包括只读存储器和随机存取存储器,并向处理器1603提供指令和数据,存储器1604的一部分还可以包括可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(Non-Volatile Memory)。

存储器1604存储了如下的元素:可执行模块或者数据结构,或者它们的子集,或者它们的扩展集;操作指令包括各种操作指令,用于实现各种操作;操作系统包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。

其中,接收装置1601,还用于接收业务服务器发送的内容指纹及内容资源;

处理器1603,还用于检查其自身是否已存储内容指纹,若否,则保存内容指纹及内容资源,若是,则丢弃内容指纹及内容资源。

其中,处理器1603,还用于若在预设时段内内容资源被访问的次数不大于预设阈值,从业务服务器获取更新的内容资源以及内容指纹。

请参阅图17,本发明实施例中业务服务器的另一个实施例包括:

接收装置1701、发送装置1702、处理器1703及存储器1704,其中业务服务器1700中的处理器1703的数量可以一个或多个,图17中以一个处理器1703为例。处理器1703和存储器1704通过接收装置1701接收UE外部的信息,处理器1703和存储器1704通过发送装置1702将信息发射到UE外部。在本发明的一些实施例中,接收装置1701、发送装置1702、处理器1703和存储器1704可通过总线或其它方式连接,其中,图17中以通过总线连接为例。

接收装置1701,用于接收CDN服务器发送的HTTP请求及用户终端的标识信息,HTTP请求包含有访问票据;

处理器1703,用于利用用户终端的标识信息对访问票据进行认证;

发送装置1702,用于若认证结果为访问票据合法,将包含内容指纹的HTTP响应返回给CDN服务器,以使得CDN服务器根据内容指纹获取内容资源。

存储器1704可以包括只读存储器和随机存取存储器,并向处理器1703提供指令和数据,存储器1704的一部分还可以包括可能包含RAM,也可能还包括非不稳定的存储器。

存储器1704存储了如下的元素:可执行模块或者数据结构,或者它们的子集,或者它们的扩展集;操作指令包括各种操作指令,用于实现各种操作; 操作系统包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。

其中,处理器1703,还用于对内容资源进行哈希运算得到内容指纹,内容指纹用于标识内容资源;

发送装置1702,用于将内容资源及内容指纹发送给CDN服务器。

其中,接收装置1701,还用于接收CDN服务器发送的包含URL的内容更新请求;

处理器1703,还用于根据URL查找内容资源及内容指纹;

发送装置1702,还用于将URL对应的内容资源及内容指纹返回给CDN服务器。

请参阅图17,本发明实施例中业务服务器的另一个实施例包括:

接收装置1701,用于接收用户终端发送的HTTP请求,HTTP请求用于获取内容资源;

处理器1703,用于根据HTTP请求生成URL,URL包含内容资源对应的内容指纹;

发送装置1702,用于将URL返回给用户终端,以使得用户终端向CDN服务器发送包含URL的HTTP请求。

请参阅图16,本发明实施例中CDN服务器的另一个实施例包括:

接收装置1601,用于接收用户终端发送的HTTP请求,HTTP请求包含内容指纹;

处理器1603,用于根据内容指纹获取对应的内容资源;

发送装置1602,用于将内容资源发送给用户终端。

请参阅图18,本发明实施例中用户终端的另一个实施例包括:

接收装置1801、发送装置1802、处理器1803及存储器1804,其中业务服务器1800中的处理器1803的数量可以一个或多个,图18中以一个处理器1803为例。处理器1803和存储器1804通过接收装置1801接收UE外部的信息,处理器1803和存储器1804通过发送装置1802将信息发射到UE外部。在本发明的一些实施例中,接收装置1801、发送装置1802、处理器1803和存储器1804可通过总线或其它方式连接,其中,图18中以通过总线连接为 例。

发送装置1802,用于向业务服务器发送HTTP请求,HTTP请求用于获取内容资源;

接收装置1801,用于接收业务服务器返回的URL,URL包含内容资源对应的内容指纹;

发送装置1802,还用于向CDN服务器发送HTTP请求,HTTP请求包含内容指纹;

接收装置1801,还用于接收CDN服务器返回的内容资源。

存储器1804可以包括只读存储器和随机存取存储器,并向处理器1803提供指令和数据,存储器1804的一部分还可以包括可能包含RAM,也可能还包括非不稳定的存储器。

存储器1804存储了如下的元素:可执行模块或者数据结构,或者它们的子集,或者它们的扩展集;操作指令包括各种操作指令,用于实现各种操作;操作系统包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。

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

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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