海量文件防盗链和装置的制作方法

文档序号:14073266阅读:242来源:国知局

本发明涉及数据通信中cdn(contentdeliverynetwork,内容分发网络)防盗链领域,特别涉及一种海量文件防盗链和装置。



背景技术:

防盗链是cdn网络中一种保护分发内容安全的技术,具有防止非授权用户盗取url(uniformresourcelocator,统一资源定位符)使用。随着互联网快速发展,防盗链安全性和响应性能越来越重要,已在cdn网络安全运用中占有主导地位。

防盗链安全性是分发内容最基础保证。防盗链请求响应速度快慢,会直接影响用户体验。通常防盗链请求响应时间在5s以下,可获良好用户体验,而“tokenauthentication”(令牌认证)是cdn领域一种较为安全和性能良好的防盗链实现方式。

tokenauthentication是目前防盗链主要方案,但其实现方式存在一定的局限:每个请求的防盗链携带token值只供本url使用,当客户需要生成一个token值服务批量url验证需求时(例如:生产一个token值提供给多个不同url使用),目前还没有这种认证方法。所以当遇到批量防盗url生成和验证时,服务器会产生极大性能开销,从而导致验证非常缓慢,最终影响用户体验。



技术实现要素:

鉴于以上技术问题,本发明提供了一种海量文件防盗链和装置,支持海量文件防盗链快速生成,从而提高了效率。

根据本发明的一个方面,提供一种海量文件防盗链方法,包括:

获取海量目标文件的统一资源定位符url;

根据海量目标文件的url生成特征向量值;

根据所述特征向量值生成令牌token值,以便海量文件url使用token值进行生成和验证。

在本发明的一个实施例中,所述根据海量目标文件的url生成特征向量值包括:

对海量目标文件的url按照空间向量赋值进行赋值得到目标向量;

按照预定投影规则将目标向量的投影重合部分作为特征向量值。

在本发明的一个实施例中,所述按照预定投影规则将目标向量的投影重合的部分作为特征向量值包括:

获取目标向量的父层目录;

获取目标向量的路径前缀长度;

根据目标向量的父层目录和路径前缀长度确定特征向量值。

在本发明的一个实施例中,所述根据所述特征向量值生成token值包括:

根据所述特征向量值和共享密钥生成token值,其中所述共享密钥为与客户协商后生成的共享密钥。

在本发明的一个实施例中,所述根据所述特征向量值和共享密钥生成token值包括:

根据所述特征向量值和共享密钥,按照预定算法封装生成token值。

根据本发明的另一方面,提供一种海量文件防盗链装置,包括url获取模块、特征向量确定模块和令牌值生成模块,其中:

url获取模块,用于获取海量目标文件的统一资源定位符url;

特征向量确定模块,用于根据海量目标文件的url生成特征向量值;

令牌值生成模块,根据所述特征向量值生成令牌token值,以便海量文件url使用token值进行生成和验证。

在本发明的一个实施例中,特征向量确定模块包括目标向量获取单元和特征向量获取单元,其中:

目标向量获取单元,用于对海量目标文件的url按照空间向量赋值进行赋值得到目标向量;

特征向量获取单元,用于按照预定投影规则将目标向量的投影重合部分作为特征向量值。

在本发明的一个实施例中,特征向量获取单元包括父层目录获取子模块、前缀长度获取子模块和特征向量获取子模块,其中:

父层目录获取子模块,用于获取目标向量的父层目录;

前缀长度获取子模块,用于获取目标向量的路径前缀长度;

特征向量获取子模块,用于根据目标向量的父层目录和路径前缀长度确定特征向量值。

在本发明的一个实施例中,令牌值生成模块用于根据所述特征向量值和共享密钥生成token值,其中所述共享密钥为与客户协商后生成的共享密钥。

在本发明的一个实施例中,令牌值生成模块用于根据所述特征向量值和共享密钥,按照预定算法封装生成token值。

本发明通过将海量文件url路径按照一定规则进行“投影”,将海量的文件路径投影到特定向量值上,从而有效解决了生成一个token值服务海量文件验证下载的技术问题,提高了token认证效率。

附图说明

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

图1为本发明海量文件防盗链方法一个实施例的示意图。

图2为本发明一个实施例中根据海量目标文件的url生成特征向量值的示意图。

图3为本发明一个具体实施例中基于投影规则进行特征向量提取的示意图。

图4为本发明一个实施例中按照预定投影规则将目标向量进行投影并将投影重合部分作为特征向量值的示意图。

图5为本发明海量文件防盗链装置一个实施例的示意图。

图6为本发明一个实施例中特征向量确定模块的示意图。

图7为本发明一个实施例中特征向量获取单元的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1为本发明海量文件防盗链方法一个实施例的示意图。如图1所示,优选的,本实施例可由本发明海量文件防盗链装置执行。该方法包括以下步骤:

步骤1,获取海量目标文件的统一资源定位符url路径。

步骤2,根据海量目标文件的url路径生成特征向量值。

在本发明的一个实施例中,如图2所示,所述步骤2可以包括:

步骤21,对海量目标文件的url路径按照空间向量赋值进行赋值得到目标向量a={a1,a2,a3,…,an}。

步骤22,按照预定投影规则将目标向量进行投影,并将投影重合部分作为特征向量值b。

图3为本发明一个具体实施例中基于投影规则进行特征向量提取的示意图。在图3所示实施例中,a1=/abc/efg/123.jpg,a2=/abc/rfg/467.jpg,则可以将目标向量a1和a2的投影重合部分作为特征向量值b={/abc,prefix=4}。

在本发明的一个实施例中,如图4所示,所述步骤22,即预定投影规则可以包括:

步骤221,获取目标向量的父层目录。

例如:对于a1=/abc/efg/123.jpg,a2=/abc/rfg/467.jpg等类似url路径,确定其目标向量的父层目录为/abc,即确定这些文件父层目录都在/abc。

步骤222,获取目标向量的路径前缀长度。

例如:对于a1=/abc/efg/123.jpg,a2=/abc/rfg/467.jpg等类似url路径,确定其path前缀长度(prefix)为4。

步骤223,根据目标向量的父层目录和路径前缀长度确定特征向量值b。

例如:对于a1=/abc/efg/123.jpg,a2=/abc/rfg/467.jpg等类似url路径,可以确定特征向量值b={/abc,prefix=4}。

步骤3,根据所述特征向量值生成token值,以便海量文件url使用token值进行生成和验证。

在本发明的一个实施例中,步骤3可以包括:根据所述特征向量值和共享密钥生成token值,其中所述共享密钥为与客户协商后生成的加密规则信息。

在本发明的一个实施例中,所述根据所述特征向量值和共享密钥生成token值包括:根据公式所述特征向量值和共享密钥,按照预定算法封装生成token值。

在本发明的一个实施例中,所述预定算法额可以为hmac-sha1算法。

在本发明的一个实施例中,步骤3可以包括:根据公式(1)确定token值。

token=hmac{sha1(b,pre-share-key)}(1)

其中pre-share-key是双方协商后的共享密钥。

对于图3所示的具体实施例而言,步骤3可以包括:根据公式(2)确定token值。

token=hmac{sha1(/abc,prefix=4,,pre-share-key)}(2)

其中pre-share-key是双方协商后的共享密钥。

针对现有技术存在的如下技术问题:不支持批量文件token防盗链;遇到批量防盗token验证时,会加大生成token时间和服务器内存开销;不具备解决海量文件token高效生成及验证的技术问题。

本发明上述实施例提供的海量文件防盗链方法,是一种基于仿射投影算法的、基于向量特征的token生产算法,所谓仿射投影算法,是将空间内多个的点投影到一个平面的几何原理。在本发明上述实施例中,将海量文件url路径按照一定规则进行“投影”,将海量的文件路径投影到特定向量值上,从而实现一个特征向量可以面向海量文件生成token。

由此本发明上述实施例可以支持海量文件防盗链快速生成,从而有效解决了生成一个token值服务海量文件验证下载的问题;提高了token认证效率;减少了生成和验证时服务器内存开销,降低了服务器性能负荷。

图5为本发明海量文件防盗链装置一个实施例的示意图。如图5所示,本发明海量文件防盗链装置可以包括url获取模块51、特征向量确定模块52和令牌值生成模块53,其中:

url获取模块51,用于获取海量目标文件的统一资源定位符url路径。

特征向量确定模块52,用于根据海量目标文件的url路径生成特征向量值b。

令牌值生成模块53,根据所述特征向量值b生成token值,以便海量文件url路径使用token值进行生成和验证。

在本发明的一个实施例中,令牌值生成模块53可以用于根据所述特征向量值和共享密钥生成token值,其中所述共享密钥为与客户协商后生成的共享密钥。

在本发明的一个实施例中,令牌值生成模块53可以用于根据所述特征向量值和共享密钥,按照预定算法封装生成token值。

在本发明的一个实施例中,所述预定算法额可以为hmac-sha1算法。

在本发明的一个实施例中,令牌值生成模块53可以用于根据公式(1)确定token值。

图6为本发明一个实施例中特征向量确定模块的示意图。如图6所示,图5实施例的特征向量确定模块52可以包括目标向量获取单元521和特征向量获取单元522,其中:

目标向量获取单元521,用于对海量目标文件的url按照空间向量赋值进行赋值得到目标向量a={a1,a2,a3,…,an}。

特征向量获取单元522,用于按照预定投影规则将目标向量的投影重合部分作为特征向量值b。

例如:在图3实施例中,a1=/abc/efg/123.jpg,a2=/abc/rfg/467.jpg,则将目标向量a1和a2的投影重合部分作为特征向量值b={/abc,prefix=4}。

图7为本发明一个实施例中特征向量获取单元的示意图。如图7所示,图6实施例的特征向量获取单元522可以包括父层目录获取子模块5221、前缀长度获取子模块5222和特征向量获取子模块5223,其中:

父层目录获取子模块5221,用于获取目标向量的父层目录。

例如:父层目录获取子模块5221可以用于针对a1=/abc/efg/123.jpg,a2=/abc/rfg/467.jpg等类似url,确定其目标向量的父层目录为/abc,即确定这些文件父层目录都在/abc。

前缀长度获取子模块5222,用于获取目标向量的路径前缀长度。

例如:前缀长度获取子模块5222可以用于针对a1=/abc/efg/123.jpg,a2=/abc/rfg/467.jpg等类似url,确定其path前缀长度(prefix)为4。

特征向量获取子模块5223,用于根据目标向量的父层目录和路径前缀长度确定特征向量值。

例如:特征向量获取子模块5223,用于针对a1=/abc/efg/123.jpg,a2=/abc/rfg/467.jpg等类似url,可以确定特征向量值b={/abc,prefix=4}。

基于本发明上述实施例提供的基于仿射投影向量特征提取的对于目标文件url按照空间向量赋值;根据投影规则,将路径中投影重合的部分作为优化后的目标向量值;融合hmac-sha1算法封装生成一个token值服务多个url。由此本发明上述实施例可以支持海量文件防盗链快速生成,从而有效解决了生成一个token值服务海量文件验证下载的问题;提高了token认证效率;减少了生成和验证时服务器内存开销,降低了服务器性能负荷。

本发明上述实施例对于用户请求/abc/efg/123.jpg,/abc/rfg/467.jpg等类似url,符合特征向量{/abc,prefix=4},即文件父层目录都在/abc,且path前缀长度为4的所有文件,都使用这一个token进行生成和验证。

在上面所描述的等功能单元可以实现为用于执行本申请所描述功能的通用处理器、可编程逻辑控制器(plc)、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。

至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

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