一种内容分发网络的资源校验方法及装置与流程

文档序号:27037928发布日期:2021-10-24 06:32阅读:322来源:国知局
一种内容分发网络的资源校验方法及装置与流程

1.本发明涉及内容分发网络领域,特别是涉及一种内容分发网络的资源校验方法及装置。


背景技术:

2.cdn(content delivery network,内容分发网络)是一种分布式缓存系统,其主要功能是将原始网站的内容缓存到用户地理位置更近的地点起到加速作用。cnd节点缓存的内容,是从源站获取的,因此cdn节点需要向源站发起请求并在获取到应答缓存内容后分发给对应的用户终端。
3.当资源信息通过cdn分发给用户终端时,如果cdn上缓存的文件不完整或者内容错误,会导致用户终端下载到无效的文件,在导致非常严重的业务问题的同时也会降低cdn资源的安全性。


技术实现要素:

4.针对于上述问题,本发明提供一种内容分发网络的资源校验方法及装置,提升了内容分发网络的资源的安全性。
5.为了实现上述目的,本发明提供了如下技术方案:
6.一种内容分发网络的资源校验方法,包括:
7.响应于接收到资源获取请求,获取所述资源的校验信息;
8.基于所述校验信息对所述资源进行校验,若校验通过,将所述资源分发至与所述资源获取请求对应的请求端;
9.若校验不通过,生成请求失败的反馈信息,并将所述反馈信息发送至所述请求端。
10.可选地,所述获取所述资源的校验信息,包括:
11.响应于将接收到的资源获取请求发送至目标节点,接收所述目标节点反馈的超文本传输协议信息;
12.对所述超文本传输协议信息进行解析,获得超文本传输协议信息头中的校验信息。
13.可选地,所述校验信息包括请求校验值、返回校验值和校验算法,其中,所述基于所述校验信息对所述资源进行校验,包括:
14.基于所述校验算法,对所述请求校验值和所述返回校验值进行校验。
15.可选地,所述获取所述资源的校验信息,包括:
16.响应于将接收到的资源获取请求发送至目标节点,接收所述目标节点返回的路径信息;
17.在所述路径信息中获取校验信息。
18.可选地,所述基于所述校验信息对所述资源进行校验,包括:
19.基于所述校验信息,检测所述路径信息是否对应唯一资源;
20.如果是,校验通过。
21.可选地,所述方法还包括:
22.基于所述校验信息对所述资源的状态进行分析,若所述资源为过期状态,在所述超文本传输协议信息头中添加文件有效期信息。
23.一种内容分发网络的资源校验装置,包括:
24.获取单元,用于响应于接收到资源获取请求,获取所述资源的校验信息;
25.校验单元,用于基于所述校验信息对所述资源进行校验,若校验通过,将所述资源分发至与所述资源获取请求对应的请求端;
26.生成单元,用于若校验不通过,生成请求失败的反馈信息,并将所述反馈信息发送至所述请求端。
27.可选地,所述获取单元包括:
28.第一接收子单元,用于响应于将接收到的资源获取请求发送至目标节点,接收所述目标节点反馈的超文本传输协议信息;
29.解析子单元,用于对所述超文本传输协议信息进行解析,获得超文本传输协议信息头中的校验信息。
30.可选地,所述校验信息包括请求校验值、返回校验值和校验算法,其中,所述校验单元具体用于:
31.基于所述校验算法,对所述请求校验值和所述返回校验值进行校验。
32.可选地,所述获取单元还包括:
33.第二接收子单元,用于响应于将接收到的资源获取请求发送至目标节点,接收所述目标节点返回的路径信息;
34.获取子单元,用于在所述路径信息中获取校验信息。
35.可选地,所述校验单元具体用于:
36.基于所述校验信息,检测所述路径信息是否对应唯一资源;
37.如果是,校验通过。
38.可选地,所述装置还包括:
39.状态分析单元,用于基于所述校验信息对所述资源的状态进行分析,若所述资源为过期状态,在所述超文本传输协议信息头中添加文件有效期信息。
40.相较于现有技术,本发明提供了一种内容分发网络的资源校验方法及装置,该方法包括:响应于接收到资源获取请求,获取所述资源的校验信息;基于所述校验信息对所述资源进行校验,若校验通过,将所述资源分发至与所述资源获取请求对应的请求端;若校验不通过,生成请求失败的反馈信息,并将所述反馈信息发送至所述请求端。本发明在获取资源请求后,能够对资源进行校验,使得校验通过的资源进行分发,保证了资源的安全性,进而保证了业务的正常进行。
附图说明
41.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图获得其他的附图。
42.图1为本发明实施例提供的一种内容分发网络的资源校验方法的流程示意图;
43.图2为本发明实施例提供的一种视频资源请求的示意图;
44.图3为本发明实施例提供的一种内容分发网络的资源校验装置的结构示意图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
47.在本发明实施例中提供了一种内容分发网络(cdn)的资源校验方法,其中,资源可以是指需要分发的信息、文件等,如视频资源等。cdn即内容分发网络,其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使传输内容更快、更稳定。本发明实施例的内容分发网络的资源校验方法应用于内容分发网络服务器,其用于为多个用户终端提供待下载的资源。而获取待下载的资源的服务器为源站,源站是为上述内容分发服务器提供资源的源节点。
48.参见图1,其示出了本发明实施例提供的一种内容分发网络的资源校验发方法的流程示意图,该方法可以包括:
49.s101、响应于接收到资源获取请求,获取所述资源的校验信息。
50.当内容分发网络服务器接收到用户通过请求端发出的资源获取请求后,可以从源站获取到待分发的资源,并且在获取到待分发的资源时,也获取其对于应的资源校验信息,该资源校验信息可以携带在http头中,也可以是通过路径信息获取。
51.s102、基于所述校验信息对所述资源进行校验,若校验通过,将所述资源分发至与所述资源获取请求对应的请求端。
52.s103、若校验不通过,生成请求失败的反馈信息,并将所述反馈信息发送至所述请求端。
53.然后,对校验信息进行校验,即通过该校验信息可以获得待分发的资源是否完整,是否过期,避免了内容分发网络服务器下载到失效、错误的资源,浪费用户流量,解决了资源错误导致用户下载无效的技术问题。
54.在本发明实施例中获取资源的校验信息的一种实施方式包括:
55.响应于将接收到的资源获取请求发送至目标节点,接收所述目标节点反馈的超文本传输协议信息;
56.对所述超文本传输协议信息进行解析,获得超文本传输协议信息头中的校验信息。
57.在该实施方式中通过http头获取校验信息,例如,http头部新增ck

digest、if

match

ck、ck

digest

method三个附加信息。对应的,ck

digest,代表返回头中包括文件的校验值;ck

digest

method,表示返回头中包括的文件的校验算法,(md5、sha1、sha256或其他双方约定的其他校验的算法);if

match

ck代表请求头中包括文件的校验值。
58.即所述校验信息包括请求校验值、返回校验值和校验算法,其中,所述基于所述校验信息对所述资源进行校验,包括:基于所述校验算法,对所述请求校验值和所述返回校验值进行校验。
59.该实施方式可以保证文件的一致性,其实现原理是回源上层节点在返回文件时,添加返回头ck

digest、ck

digest

method告诉下层节点请求文件的校验算法和校验结果。回源下层节点在文件过期后,回源请求头添加if

match

ck刷新本地文件的有效期。
60.需要说明的是,还可以基于校验信息对资源的状态进行分析,若所述资源为过期状态,在所述超文本传输协议中添加文件有效期信息。例如,回源下层节点在文件过期后,回源请求头添加if

match

ck刷新本地文件的有效期。
61.参见图2,其示出了本发明实施例提供的一种视频资源请求的示意图。
62.例如,用户首次请求资源a.m3u8,发起请求http://l3/20090101/a/a.m3u8到边缘节点(node1);边缘节点(node1)本地没有找到a.m3u8,向上发起回源请求http://node2/20090101/a/a.m3u8&src=node1;源站(node2)存在a.m3u8,返回内容,同时计算1.m3u8内容的md5,在返回头中加上头信息;
63.ck

digest:d41d8cd98f00b204e9800998ecf8427e;
64.ck

digest

method:md5。
65.node1下载获得a.m3u8,同时识别ck

digest

method校验算法,校验a.m3u8内容,如能匹配返回头中的值,则缓存本地;当边缘node1中的a.m3u8文件过期,如有用户访问,则计算a.m3u8文件md5值,添加头信息
66.if

match

ck:d41d8cd98f00b204e9800998ecf8427e。
67.请求源站(node2),源站比对本地校验结果,如一致近返回http头,不返回内容,否则重复步骤“源站(node2)存在a.m3u8,返回内容,同时计算1.m3u8内容的md5,在返回头中加上头信息”这一过程,更新内容。
68.在本发明实施例中还可以通过路径信息获取校验信息,即响应于将接收到的资源获取请求发送至目标节点,接收所述目标节点返回的路径信息;在所述路径信息中获取校验信息。
69.本发明实施例可以用相对路径存储文件,用重定向到处理文件访问。然后基于校验信息,检测所述路径信息是否对应唯一资源,如果是,校验通过。即当cdn节点接收到相应请求时,判断相对路径中是否存在唯一文件,如果有则将该文件进行分发至对应的请求端,即相关的用户。否则,向上回源,回源下载的文件按md5命名,存放到相对路径中。
70.举例说明:
71.步骤1、用户首次请求资源a.m3u8,发起请求http://l3/20090101/a/a.m3u8到边缘节点(node1)
72.步骤2、边缘节点(node1)本地没有找到a.m3u8,向上发起回源请求http://node2/20090101/a/a.m3u8&src=node1
73.步骤3、源站(node2)存在a.m3u8,存放规则如下20090101/a/a_m3u8/d41d8cd98f
00b204e9800998ecf8427e.m3u8,其中d41d8cd98f00b204e9800998ecf8427e.m3u8为a.m3u8时文件md5值,源站(node2)返回302http://node2/20090101/a/a_m3u8/d41d8cd98f00b204e9800998ecf8427e.m3u8
74.步骤4、边缘节点(node1)缓存/20090101/a/a_m3u8/d41d8cd98f00b204e9800998ecf8427e.m3u8文件
75.步骤5、当用户再请求资源a.m3u8,发起请求http://l3/20090101/a/a.m3u8到边缘节点(node1),边缘节点(node1)在相对路径/20090101/a/a_m3u8/查找,发现唯一文件d41d8cd98f00b204e9800998ecf8427e.m3u8,返回302http://node1/20090101/a/a_m3u8/d41d8cd98f00b204e9800998ecf8427e.m3u8
76.步骤6、cdn节点需定期校验/a/20090101/a/a_m3u8/d41d8cd98f00b204e9800998ecf8427e.m3u8 md5是否和文件名中是否匹配。
77.在该实施方式中,提出的通用cdn资源一致性校验的方法,有效的提高了cdn文件安全性,不依赖文件名等外部信息。
78.参见图3,在本发明实施例中还提供了一种内容分发网络的资源校验装置,该装置包括:
79.获取单元10,用于响应于接收到资源获取请求,获取所述资源的校验信息;
80.校验单元20,用于基于所述校验信息对所述资源进行校验,若校验通过,将所述资源分发至与所述资源获取请求对应的请求端;
81.生成单元30,用于若校验不通过,生成请求失败的反馈信息,并将所述反馈信息发送至所述请求端。
82.可选地,所述获取单元包括:
83.第一接收子单元,用于响应于将接收到的资源获取请求发送至目标节点,接收所述目标节点反馈的超文本传输协议信息;
84.解析子单元,用于对所述超文本传输协议信息进行解析,获得超文本传输协议信息头中的校验信息。
85.可选地,所述校验信息包括请求校验值、返回校验值和校验算法,其中,所述校验单元具体用于:
86.基于所述校验算法,对所述请求校验值和所述返回校验值进行校验。
87.可选地,所述获取单元还包括:
88.第二接收子单元,用于响应于将接收到的资源获取请求发送至目标节点,接收所述目标节点返回的路径信息;
89.获取子单元,用于在所述路径信息中获取校验信息。
90.可选地,所述校验单元具体用于:
91.基于所述校验信息,检测所述路径信息是否对应唯一资源;
92.如果是,校验通过。
93.可选地,所述装置还包括:
94.状态分析单元,用于基于所述校验信息对所述资源的状态进行分析,若所述资源为过期状态,在所述超文本传输协议信息头中添加文件有效期信息。
95.本发明提供了一种内容分发网络的资源校验方法及装置,响应于接收到资源获取
请求,获取所述资源的校验信息;基于所述校验信息对所述资源进行校验,若校验通过,将所述资源分发至与所述资源获取请求对应的请求端;若校验不通过,生成请求失败的反馈信息,并将所述反馈信息发送至所述请求端。本发明在获取资源请求后,能够对资源进行校验,使得校验通过的资源进行分发,保证了资源的安全性,进而保证了业务的正常进行。
96.基于前述实施例,本技术的实施例提供一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如上任一项的内容分发网络的资源校验方法的步骤。
97.本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现的内容分发网络的资源校验方法的步骤。
98.需要说明的是,上述处理器或cpu可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。
99.需要说明的是,上述计算机存储介质/存储器可以是只读存储器(read only memory,rom)、可编程只读存储器(programmable read

only memory,prom)、可擦除可编程只读存储器(erasable programmable read

only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read

only memory,eeprom)、磁性随机存取存储器(ferromagnetic random access memory,fram)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(compact disc read

only memory,cd

rom)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
100.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
101.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
102.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执
行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
103.本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
104.本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
105.本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
106.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
107.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
108.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1