CN119276432A - 内容分发网络的文件校验方法、装置、设备、介质及产品 - Google Patents
内容分发网络的文件校验方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN119276432A CN119276432A CN202411794080.2A CN202411794080A CN119276432A CN 119276432 A CN119276432 A CN 119276432A CN 202411794080 A CN202411794080 A CN 202411794080A CN 119276432 A CN119276432 A CN 119276432A
- Authority
- CN
- China
- Prior art keywords
- file
- abstract
- protection
- target
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本公开涉及计算机技术领域,公开了内容分发网络的文件校验方法、装置、设备、介质及产品,该方法包括:源站对目标文件进行摘要运算,得到第一摘要文件,并构建第一摘要文件的第一保护文件。其中,第一保护文件的文件名是基于目标文件对应的第一加密密钥对第一摘要文件的文件名进行加密处理得到的,第一保护文件用于校验第一摘要文件的准确性。源站响应于针对目标文件的访问请求,向内容分发网络发送目标文件、第一摘要文件以及第一保护文件。内容分发网络基于第一摘要文件以及第一保护文件对接收到的目标文件进行准确性校验。本公开能够解决内容分发网络传输的文件被篡改所引起的文件传输错误的问题。
Description
技术领域
本公开涉及计算机技术领域,具体涉及内容分发网络的文件校验方法、装置、设备、介质及产品。
背景技术
内容分发网络(Content Delivery Network,简称CDN)服务在加速内容分发的过程中,是将原始文件从存储原始文件的服务器(简称源站)下载到CDN的缓存节点,由客户端从距离较近的CDN缓存节点中下载原始文件的文件副本。其中,CDN厂商为了保证每一段网络上传输的数据不被劫持和篡改,通常会在每一段传输链路中强制启动超文本传输安全协议(Hypertext Transfer Protocol Secure,简称HTTPS)来使用传输层安全性协议(Transport Layer Security,简称TLS)对传输的文件副本进行加密。若源站的TLS证书泄漏,则可能导致CDN获取到的第一个文件副本被篡改,使得CDN文件传输错误。
发明内容
有鉴于此,本公开提供了一种内容分发网络的文件校验方法、装置、设备、介质及产品,以解决内容分发网络传输的文件被篡改所引起的文件传输错误的问题。
第一方面,本公开提供了一种内容分发网络的文件校验方法,应用于源站,所述方法包括:
获取目标文件;
对所述目标文件进行摘要运算,得到第一摘要文件,所述第一摘要文件用于校验所述目标文件的准确性;
构建所述第一摘要文件的第一保护文件,所述第一保护文件的文件名是基于所述目标文件对应的第一加密密钥对所述第一摘要文件的文件名进行加密处理得到的,所述第一保护文件用于校验所述第一摘要文件的准确性;
响应于针对所述目标文件的访问请求,向内容分发网络发送所述目标文件、所述第一摘要文件以及所述第一保护文件,所述内容分发网络用于基于所述第一摘要文件以及所述第一保护文件对接收到的所述目标文件进行准确性校验。
第二方面,本公开提供了一种内容分发网络的文件校验方法,应用于内容分发网络的网络节点,所述方法包括:
响应于针对目标文件的访问请求,获取所述目标文件、第一摘要文件以及第一保护文件,所述第一摘要文件是源站对所述目标文件进行摘要运算得到的,所述第一保护文件是所述源站基于所述第一摘要文件构建的,所述第一保护文件的文件名是所述源站基于所述目标文件对应的第一加密密钥对所述第一摘要文件的文件名进行加密处理得到的;
构建所述第一摘要文件的第二保护文件;
基于所述第一保护文件与所述第二保护文件的比对结果,得到所述第一摘要文件的校验结果;
若所述第一摘要文件校验成功,则对所述目标文件进行摘要运算,得到第二摘要文件;
基于所述第一摘要文件与所述第二摘要文件的比对结果,得到所述目标文件的校验结果。
第三方面,本公开提供了一种内容分发网络的文件校验装置,应用于源站,所述装置包括:
目标文件获取模块,用于获取目标文件;
摘要文件生成模块,用于对所述目标文件进行摘要运算,得到第一摘要文件,所述第一摘要文件用于校验所述目标文件的准确性;
保护文件生成模块,用于构建所述第一摘要文件的第一保护文件,所述第一保护文件的文件名是基于所述目标文件对应的第一加密密钥对所述第一摘要文件的文件名进行加密处理得到的,所述第一保护文件用于校验所述第一摘要文件的准确性;
分发数据发送模块,用于响应于针对所述目标文件的访问请求,向内容分发网络发送所述目标文件、所述第一摘要文件以及所述第一保护文件,所述内容分发网络用于基于所述第一摘要文件以及所述第一保护文件对接收到的所述目标文件进行准确性校验。
第四方面,本公开提供了一种内容分发网络的文件校验装置,应用于内容分发网络的网络节点,所述装置包括:
分发数据接收模块,用于响应于针对目标文件的访问请求,获取所述目标文件、第一摘要文件以及第一保护文件,所述第一摘要文件是源站对所述目标文件进行摘要运算得到的,所述第一保护文件是所述源站基于所述第一摘要文件构建的,所述第一保护文件的文件名是所述源站基于所述目标文件对应的第一加密密钥对所述第一摘要文件的文件名进行加密处理得到的;
保护文件构建模块,用于构建所述第一摘要文件的第二保护文件;
摘要文件校验模块,用于基于所述第一保护文件与所述第二保护文件的比对结果,得到所述第一摘要文件的校验结果;
摘要文件构建模块,用于若所述第一摘要文件校验成功,则对所述目标文件进行摘要运算,得到第二摘要文件;
目标文件校验模块,用于基于所述第一摘要文件与所述第二摘要文件的比对结果,得到所述目标文件的校验结果。
第五方面,本公开提供了一种电子设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或者第二方面的内容分发网络的文件校验方法。
第六方面,本公开提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或者第二方面的内容分发网络的文件校验方法。
第七方面,本公开提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或者第二方面的内容分发网络的文件校验方法。
本公开实施例提供的内容分发网络的文件校验方法,源站通过对目标文件进行摘要运算得到第一摘要文件,以使内容分发网络通过第一摘要文件来校验接收到的目标文件的准确性。同时,源站构建第一摘要文件的第一保护文件,以使内容分发网络通过获取第一保护文件来校验第一摘要文件的准确性,以避免内容分发网络因目标文件与第一摘要文件同时被篡改而误判定接收到的目标文件与源站的目标文件一致。而且,由于第一保护文件的文件名是基于第一加密密钥对第一摘要文件的文件名进行加密处理得到的,在第一保护文件的构建方式以及第一加密密钥未同时泄露的情况下,第三方无法猜测出第一保护文件的文件名,进而无法篡改第一保护文件的文件内容。因此,能够进一步保证第一摘要文件校验的准确性,以有效提高内容分发网络在文件传输过程中的准确性。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开实施例的第一种内容分发网络的文件校验方法的流程示意图;
图2是根据本公开实施例的一种内容分发网络的分发流程的示意图;
图3是根据本公开实施例的第二种内容分发网络的文件校验方法的流程示意图;
图4是根据本公开实施例的一种源站对于目标文件的处理流程的示意图;
图5是根据本公开实施例的第三种内容分发网络的文件校验方法的流程示意图;
图6是根据本公开实施例的一种网络节点对于目标文件进行校验的流程示意图;
图7是根据本公开实施例的第四种内容分发网络的文件校验方法的流程示意图;
图8是根据本公开实施例的一种错误处理流程的示意图;
图9是根据本公开实施例的一种内容分发网络的文件校验方法的整体处理流程的示意图;
图10是根据本公开实施例的一种内容分发网络的文件校验装置的结构框图;
图11是根据本公开实施例的另一种内容分发网络的文件校验装置的结构框图;
图12是根据本公开实施例的一种电子设备的结构框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
内容分发网络(Content Delivery Network,简称CDN)服务是一种通过在多个地理位置部署服务来加速内容分发和优化用户访问体验的网络服务。CDN服务在加速内容分发的过程中,是将原始文件从存储原始文件的服务器(以下简称源站)下载到CDN的缓存节点,由客户端从距离较近的CDN缓存节点中下载原始文件的文件副本。其中,由于CDN缓存节点的网络带宽更充足且距离用户更近,客户端从CDN缓存节点下载文件副本可以有更快的下载速度。在通过CDN传输原始文件的过程中会经过很多的网络和服务器,例如,源站经公共网络将文件传输到CDN回源节点,CDN回源节点经内部网络将文件传输到CDN边缘节点,CDN边缘节点再经公共网络将文件传输到客户端的电脑磁盘。而在每个节点中都会存储一份原始文件的文件副本。
在相关技术中,CDN厂商为了保证每一段网络上传输的数据不被劫持和篡改,通常会在每一段传输链路中强制启动超文本传输安全协议(Hypertext Transfer ProtocolSecure,简称HTTPS)来使用传输层安全性协议(Transport Layer Security,简称TLS)对传输的文件副本进行加密。若源站的TLS证书泄漏,则可能导致CDN获取到的第一个文件副本被篡改,从而无法保证CDN加速软件本身写磁盘的准确性,更无法保证客户端下载到的文件副本的准确性。
针对这一问题,在其他相关技术中提出在源站事先为原始文件计算摘要文件,客户端同时下载原始文件和对应的摘要文件。然后,计算下载到的原始文件的摘要文件,并将计算的摘要文件与下载的摘要文件进行对比,从而判断下载到的文件的准确性。但是,这种方案只能够让用户可以明确知道获取到的原始文件与摘要文件是否相符,若原始文件与摘要文件同时被篡改,则会导致客户端误判定接收到的原始文件正确。不仅如此,即使判断出原始文件错误,也无法判断CDN网络上哪些节点存储的文件副本是正确的,无法获知是由于传输链路中的哪个环节导致的原始文件下载错误,原始文件的分发服务无法被快速恢复。
有鉴于此,根据本公开实施例,提供了一种内容分发网络的文件校验方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了第一种内容分发网络的文件校验方法,可用于源站,图1是根据本公开实施例的第一种内容分发网络的文件校验方法的流程示意图,如图1所示,该流程包括如下步骤:
步骤S101,获取目标文件。
具体地,目标文件为源站中需要通过内容分发网络进行传输的文件。
步骤S102,对目标文件进行摘要运算,得到第一摘要文件,第一摘要文件用于校验目标文件的准确性。
具体地,可以通过安全散列算法(Secure Hash Algorithm,简称SHA)、消息摘要算法(Message Digest Algorithm MD5,简称MD5)等摘要算法对目标文件进行摘要运算,得到第一摘要文件。
可选地,通过安全散列算法对目标文件进行摘要运算,得到第一摘要文件。例如安全散列算法1(Secure Hash Algorithm 1,简称SHA-1)。
步骤S103,构建第一摘要文件的第一保护文件,第一保护文件的文件名是基于目标文件对应的第一加密密钥对第一摘要文件的文件名进行加密处理得到的,第一保护文件用于校验第一摘要文件的准确性。
具体地,可以采用安全散列算法、消息摘要算法、循环冗余校验算法等用于校验文件准确性的算法,对第一摘要文件进行处理,得到第一保护文件。
可以理解地,在生成第一摘要文件以后,进一步构建第一摘要文件的第一保护文件,能够便于内容分发网络通过第一保护文件来进一步校验第一摘要文件在传输过程中是否与目标文件一同被篡改。
步骤S104,响应于针对目标文件的访问请求,向内容分发网络发送目标文件、第一摘要文件以及第一保护文件,内容分发网络用于基于第一摘要文件以及第一保护文件对接收到的目标文件进行准确性校验。
具体地,如图2所示,客户端发出针对目标文件的访问请求,访问请求经公共网络传输至内容分发网络的边缘节点,边缘节点经将访问请求传输至内容分发网络的回源节点,回源节点经内部网络将访问请求传输至源站。源站响应于访问请求,将相关文件依次传输至回源节点、边缘节点和客户端。其中,内容分发网络的回源节点与边缘节点在向下一节点传输目标文件时,会请求目标文件的第一摘要文件与第一保护文件来对目标文件进行准确性校验,在校验成功的情况下,再将目标文件传输至下一节点。客户端在接收到目标文件与第一摘要文件以后,则对目标文件进行摘要运算,并将第一摘要文件的文件内容与摘要运算结果进行对比。若第一摘要文件的文件内容与该摘要运算结果一致,则表明接收到的目标文件正确。
本实施例提供的内容分发网络的文件校验方法,源站通过对目标文件进行摘要运算得到第一摘要文件,以使内容分发网络通过第一摘要文件来校验接收到的目标文件的准确性。同时,源站构建第一摘要文件的第一保护文件,以使内容分发网络通过获取第一保护文件来校验第一摘要文件的准确性,以避免内容分发网络因目标文件与第一摘要文件同时被篡改而误判定接收到的目标文件与源站的目标文件一致。而且,由于第一保护文件的文件名是基于第一加密密钥对第一摘要文件的文件名进行加密处理得到的,在第一保护文件的构建方式以及第一加密密钥未同时泄露的情况下,第三方无法猜测出第一保护文件的文件名,进而无法篡改第一保护文件的文件内容。因此,能够进一步保证第一摘要文件校验的准确性,以有效提高内容分发网络在文件传输过程中的准确性。
在本实施例中提供了第二种内容分发网络的文件校验方法,可用于源站,图3是根据本公开实施例的第二种内容分发网络的文件校验方法的流程示意图,如图3所示,该流程包括如下步骤:
步骤S301,获取目标文件。详见上述步骤S101,在此不再过多赘述。
步骤S302,对目标文件进行摘要运算,得到第一摘要文件,第一摘要文件用于校验目标文件的准确性。
具体地,上述步骤S302包括:
步骤S3021,对目标文件进行摘要运算,得到第一摘要文件的文件内容。
具体地,通过第一摘要算法对目标文件进行摘要运算,得到第一摘要文件的文件内容。
可选地,第一摘要算法为安全散列算法,例如安全散列算法1。此外,也可以根据实际需要对第一摘要算法进行调整,在此不做限定。
步骤S3022,在目标文件的文件名中添加预设摘要文件标识,生成第一摘要文件的文件名。
具体地,可以将预设摘要文件标识添加至目标文件的文件名中的第一预设位置,例如,将预设摘要文件标识作为后缀添加至目标文件的文件名的末尾。
进一步地,预设摘要文件标识与对目标文件进行摘要运算时采用的摘要算法(即上述第一摘要算法)相关。
例如,采用安全散列算法1作为第一摘要算法,预设摘要文件标识为“.sha1”。假设目标文件的文件名为“test.file”,则可以在“test.file”添加“.sha1”后缀,得到第一摘要文件的文件名为“test.file.sha1”。
步骤S303,构建第一摘要文件的第一保护文件,第一保护文件的文件名是基于目标文件对应的第一加密密钥对第一摘要文件的文件名进行加密处理得到的,第一保护文件用于校验第一摘要文件的准确性。
具体地,上述步骤S303包括:
步骤S3031,对第一摘要文件进行摘要运算,得到第一保护文件的文件内容。
具体地,通过第二摘要算法对第一摘要文件进行摘要运算,得到第一保护文件的文件内容。
可选地,第二摘要算法为安全散列算法,例如安全散列算法1。此外,也可以根据实际需要对第二摘要算法进行调整,在此不做限定。
步骤S3032,获取目标文件对应的第一加密密钥。
具体地,内容分发网络服务的用户可以通过内容分发网络的控制平台进行域名配置,在域名配置的过程中,可以配置针对各个域名的加密密钥。在针对目标文件的访问请求中会携带有目标文件对应的域名,可以通过查询这个域名对应的加密密钥,以得到第一加密密钥。
可选地,第一加密密钥为8位随机字符串密钥。需要说明,这仅是一种示例,在实际中可根据实际情况对第一加密密钥进行调整。
步骤S3033,基于第一加密密钥对第一摘要文件的文件名进行加密处理,生成第一保护文件的文件名。
具体地,对第一加密密钥与第一摘要文件的文件名进行拼接,对拼接结果进行摘要运算,得到第一保护文件的文件名。或者采用第一加密密钥以及其他用于校验文件准确性的算法对第一摘要文件的文件名进行处理,生成第一保护文件的文件名。
步骤S304,响应于针对目标文件的访问请求,向内容分发网络发送目标文件、第一摘要文件以及第一保护文件,内容分发网络用于基于第一摘要文件以及第一保护文件对接收到的目标文件进行准确性校验。
本实施例提供的内容分发网络的文件校验方法,一方面,通过在目标文件的文件名中添加预设摘要文件标识,以得到第一摘要文件的文件名。因此,能够将目标文件与第一摘要文件进行关联,以便于后续查找目标文件对应的第一摘要文件。另一方面,对第一摘要文件进行摘要运算,得到第一保护文件的文件内容。并基于目标文件对应的第一加密密钥与第一摘要文件的文件名,生成第一保护文件的文件名。因此,能够将第一保护文件与第一摘要文件进行关联,以便于后续查找第一摘要文件对应的保护文件。同时,保证所生成的第一保护文件能够用于校验第一摘要文件的准确性。
在一些可选的实施方式中,上述步骤S3033包括:
步骤a1,对第一加密密钥与第一摘要文件的文件名进行拼接,得到目标字符串。
具体地,可以将第一加密密钥拼接在第一摘要文件的文件名后面。或者,将第一加密密钥拼接在第一摘要文件的文件名前面。或者,根据预设拼接模板对第一加密密钥与第一摘要文件的文件名进行拼接,以得到目标字符串,在此不对第一加密密钥与第一摘要文件的文件名的拼接方式进行限定。
示例性地,以将第一加密密钥拼接在第一摘要文件的文件名后面为例,假设第一加密密钥为“9ddda6c”,第一摘要文件的文件名为“test.file.sha1”,则拼接得到的目标字符串为“test.file.sha19ddda6c”。
步骤a2,对目标字符串进行摘要运算,得到初始文件名。
具体地,通过第三摘要算法对目标字符串进行摘要运算,得到初始文件名。
可选地,第三摘要算法为消息摘要算法。此外,也可以根据实际需要对第三摘要算法进行调整,例如,安全散列算法等,在此不做限定。
步骤a3,在初始文件名中添加预设保护文件标识,得到第一保护文件的文件名。
具体地,可以将预设保护文件标识添加至初始文件名中的第二预设位置,例如,将预设保护文件标识作为后缀添加至初始文件名的末尾。
进一步地,预设保护文件标识与对目标字符串进行摘要运算时采用的摘要算法(即上述第三摘要算法)相关。
例如,采用消息摘要算法作为第三摘要算法,预设保护文件标识为“.md5”。假设初始文件名为“9b574b9”,则可以在“9b574b9”添加“.md5”后缀,得到第一保护文件的文件名为“9b574b9.md5”。
本实施例提供的内容分发网络的文件校验方法,先对第一加密密钥与第一摘要文件的文件名进行拼接,得到目标字符串。因此,能够将第一保护文件与第一摘要文件进行关联。再对目标字符串进行摘要运算,得到初始文件名。因此,能够避免第一保护文件的文件名泄露对应的第一摘要文件的信息,从而避免第一摘要文件的第一保护文件被篡改。然后,在初始文件名中添加预设保护文件标识,得到第一保护文件的文件名。因此,能够便于内容分发网络通过预设保护文件标识确定保护文件。
在一些可选的实施方式中,本公开的内容分发网络的文件校验方法还包括:响应于针对第一加密密钥的更新指令,确定第二加密密钥;基于第二加密密钥对第一保护文件的文件名进行更新,以得到第二保护文件。
具体地,用户在内容分发网络的控制平台更换目标文件对应的域名的加密密钥,则目标文件对应的第一加密密钥发生变更,生成针对第一加密密钥的更新指令,更新指令中包含第二加密密钥。源站基于第二加密密钥对第一加密密钥进行更新,并基于第二加密密钥对第一保护文件的文件名进行更新,以得到第二保护文件。
具体地,对第二加密密钥与第一摘要文件的文件名进行拼接,得到更新后的字符串。对更新后的字符串进行摘要运算,得到更新后的文件名。在更新后的文件名中添加预设保护文件标识,得到第二保护文件的文件名。其中,第二保护文件的文件内容与第一保护文件的文件内容一致。
本实施例提供的内容分发网络的文件校验方法,通过加密密钥的更新,能够降低加密密钥泄露的风险。并在第一加密密钥发生更新的情况下,基于更新后的第二加密密钥对第一保护文件的文件名进行更新,以得到第二保护文件。因此,在加密密钥变更时及时更新第一摘要文件的保护文件,避免由于加密密钥变更而引起第一摘要文件校验出错,进一步提高内容分发网络文件传输的准确性和安全性。
进一步地,本公开的内容分发网络的文件校验方法还包括:响应于第二保护文件,向内容分发网络发送密钥更新指令,密钥更新指令用于内容分发网络将本地存储的第一加密密钥更新为第二加密密钥;若内容分发网络的第一加密密钥更新完成,则删除第一保护文件。
具体地,可以根据内容分发网络中网络节点的加密密钥更新延迟,确定预设更新完成时长,在密钥更新指令的发出时间距离当前时间的时长达到预设更新完成时长的情况下,判定内容分发网络的第一加密密钥更新完成。此外,也可以由内容分发网络的各个网络节点在加密密钥更新完成时,向源站发出密钥更新完成信息,以通知源站该网络节点加密密钥更新完成,以使源站判断内容分发网络中网络节点的加密密钥的整体更新情况。
可以理解地,由于内容分发网络中存在多个网络节点,可能存在部分网络节点的更新速度较慢,例如,网络节点A的加密密钥更新完成,网络节点B的加密密钥未更新完成,则此时在内容分发网络中针对同一目标文件会存在两个加密密钥。若此时将第一保护文件删除,则网络节点B就无法通过本地存储的第一加密密钥获取到对应的保护文件,从而导致第一摘要文件校验错误。因此,在内容分发网络中存在网络节点的第一加密密钥未更新完成的情况下,需要保留第一保护文件,以便于网络节点可以通过第一保护文件或者第二保护文件,对本地的第一摘要文件进行准确性校验。等待内容分发网络中所有网络节点的第一加密密钥均更新完成,再删除第一保护文件。
本实施例提供的内容分发网络的文件校验方法,向内容分发网络发送密钥更新指令,因此,能够同步源站与内容分发网络的加密密钥,提高文件准确性校验的可靠性。并等待内容分发网络的加密密钥更新完成后,再删除第一保护文件。因此,能够避免部分网络节点加密密钥未更新完成而对第一摘要文件进行误判。
作为其中一个具体示例,如图4所示,在源站中采用本公开的内容分发网络的文件校验方法对目标文件的处理流程主要包括以下步骤:步骤S401,对目标文件进行摘要运算,得到第一摘要文件。步骤S402,对第一摘要文件的文件内容进行摘要运算,得到第一保护文件的文件内容。步骤S403,基于目标文件对应的第一加密密钥与第一摘要文件的文件名,生成第一保护文件的文件名,以便于内容分发网络根据第一摘要文件与第一保护文件对接收到的目标文件进行准确性校验。
在本实施例中提供了第三种内容分发网络的文件校验方法,可用于内容分发网络的网络节点,例如回源节点、边缘节点。图5是根据本公开实施例的第三种内容分发网络的文件校验方法的流程示意图,如图5所示,该流程包括如下步骤:
步骤S501,响应于针对目标文件的访问请求,获取目标文件、第一摘要文件以及第一保护文件,第一摘要文件是源站对目标文件进行摘要运算得到的,第一保护文件是源站基于第一摘要文件构建的,第一保护文件的文件名是源站基于目标文件对应的第一加密密钥对第一摘要文件的文件名进行加密处理得到的。
具体地,网络节点在第一次接收到正确的目标文件时,会将目标文件存储在本地。若网络节点接收到针对目标文件的访问请求,网络节点先在本地查找是否存储有目标文件。若未存储目标文件,则向上一节点请求目标文件,以此类推,直至请求到达源站。若目标文件被完整写入本地磁盘时,触发旁路检测逻辑,以检测目标文件的准确性。
具体地,上述步骤S501包括:响应于针对目标文件的访问请求,获取目标文件。根据目标文件的文件名与预设摘要文件标识确定第一摘要文件的文件名。然后根据第一摘要文件的文件名确定第一保护文件的文件名。根据第一保护文件的文件名请求第一保护文件。基于第一摘要文件的文件名向目标文件对应的域名请求第一摘要文件。
例如,目标文件的文件名为“test.file”,预设摘要文件标识为“.sha1”,则可以得到第一摘要文件的文件名为“test.file.sha1”。通过“test.file.sha1”确定第一保护文件的文件名,例如,“9b574b9.md5”,根据“9b574b9.md5”请求第一保护文件。以及,根据“test.file.sha1”请求得到第一摘要文件。
除此以外,也可以响应于针对目标文件的访问请求,获取目标文件以及对应的第一摘要文件。直接根据第一摘要文件的文件名确定第一保护文件的文件名,以请求第一保护文件。
需要说明的是,源站生成第一摘要文件与第一保护文件的方式,可参见上述实施例中的描述,在此不再过多赘述。
步骤S502,构建第一摘要文件的第二保护文件。
具体地,可以采用安全散列算法、消息摘要算法、循环冗余校验算法等用于校验文件准确性的算法,对第一摘要文件进行处理,得到第二保护文件。
步骤S503,基于第一保护文件与第二保护文件的比对结果,得到第一摘要文件的校验结果。
具体地,若第一保护文件的文件内容与第二保护文件的文件内容不一致,则表明第一摘要文件已被篡改,第一摘要文件的校验结果为第一摘要文件校验失败。若第一保护文件的文件内容与第二保护文件的文件内容一致,则表明第一摘要文件未被篡改,第一摘要文件的校验结果为第一摘要文件校验成功。
步骤S504,若第一摘要文件校验成功,则对目标文件进行摘要运算,得到第二摘要文件。
具体地,可以通过安全散列算法、消息摘要算法等摘要算法对目标文件进行摘要运算,得到第二摘要文件。
可选地,通过安全散列算法对目标文件进行摘要运算,得到第一摘要文件。例如安全散列算法1。
需要说明的是,在实际操作过程中,需要保证第一摘要文件与第二摘要文件所采用的摘要算法一致。第二摘要文件的生成方式可参考源站中第一摘要文件的生成方式,在此不再过多赘述。
步骤S505,基于第一摘要文件与第二摘要文件的比对结果,得到目标文件的校验结果。
具体地,若第一摘要文件的文件内容与第二摘要文件的文件内容不一致,则表明目标文件已被篡改,目标文件的校验结果为目标文件校验失败。若第一摘要文件的文件内容与第二摘要文件的文件内容一致,则表明目标文件未被篡改,目标文件的校验结果为目标文件校验成功。
需要说明的是,若内容分发网络中所有网络节点所存储的目标文件、第一摘要文件均校验成功,则表明内容分发网络上所有网络节点存储了正确的目标文件、第一摘要文件以及第一保护文件。
本实施例提供的内容分发网络的文件校验方法,内容分发网络先通过获取第一保护文件来校验第一摘要文件的准确性,因此,避免目标文件与第一摘要文件同时被篡改而误判定接收到的目标文件正确,以提高内容分发网络的文件校验的准确性,进而提高内容分发网络文件传输的准确性。然后,在第一摘要文件校验成功的情况下,再进一步通过源站生成的目标文件的第一摘要文件来校验目标文件的准确性。因此,能够进一步提高内容分发网络文件传输的准确性。
在一些可选的实施方式中,在上述步骤S501中,获取第一保护文件包括:
步骤b1,获取目标文件对应的第一加密密钥。
可选地,第一加密密钥为8位随机字符串密钥。需要说明,这仅是一种示例,在实际中可根据实际情况对第一加密密钥进行调整。
步骤b2,基于第一加密密钥对第一摘要文件的文件名进行加密处理,生成第一保护文件的文件名。
具体地,对第一加密密钥与第一摘要文件的文件名进行拼接,对拼接结果进行摘要运算,得到第一保护文件的文件名。或者采用第一加密密钥以及其他用于校验文件准确性的算法对第一摘要文件的文件名进行处理,生成第一保护文件的文件名。
步骤b3,基于第一保护文件的文件名下载第一保护文件。
具体地,基于第一保护文件的文件名向目标文件对应的域名请求第一保护文件。
本实施例提供的内容分发网络的文件校验方法,通过第一加密密钥与第一摘要文件的文件名生成第一保护文件的文件名,再通过第一保护文件的文件名下载第一保护文件。因此,一方面能够将第一保护文件与第一摘要文件进行关联,以便于后续查询第一摘要文件对应的保护文件。同时,能够防止第一摘要文件的第一保护文件被篡改。
在一些可选的实施方式中,上述步骤b2包括:
步骤b21,对第一加密密钥与第一摘要文件的文件名进行拼接,得到目标字符串。
具体地,可以将第一加密密钥拼接在第一摘要文件的文件名后面。或者,将第一加密密钥拼接在第一摘要文件的文件名前面。或者,根据预设拼接模板对第一加密密钥与第一摘要文件的文件名进行拼接,以得到目标字符串,在此不对第一加密密钥与第一摘要文件的文件名的拼接方式进行限定。
示例性地,以将第一加密密钥拼接在第一摘要文件的文件名后面为例,假设第一加密密钥为“9ddda6c”,第一摘要文件的文件名为“test.file.sha1”,则拼接得到的目标字符串为“test.file.sha19ddda6c”。
步骤b22,对目标字符串进行摘要运算,得到初始文件名。
具体地,通过第三摘要算法对目标字符串进行摘要运算,得到初始文件名。
可选地,第三摘要算法为消息摘要算法。此外,也可以根据实际需要对第三摘要算法进行调整,例如,安全散列算法等,在此不做限定。
可以理解地,源站与网络节点在对目标字符串进行摘要运算时所采用的摘要算法相同,因此,能够确保从第一摘要文件的文件名中正确解析出初始文件名。
步骤b23,在初始文件名中添加预设保护文件标识,得到第一保护文件的文件名。
具体地,可以将预设保护文件标识添加至初始文件名中的第二预设位置,例如,将预设保护文件标识作为后缀添加至初始文件名的末尾。
进一步地,预设保护文件标识与对目标字符串进行摘要运算时采用的摘要算法(即上述第三摘要算法)相关。
例如,采用消息摘要算法作为第三摘要算法,预设保护文件标识为“.md5”。假设初始文件名为“9b574b9”,则可以在“9b574b9”添加“.md5”后缀,得到第一保护文件的文件名为“9b574b9.md5”。
本实施例提供的内容分发网络的文件校验方法,在生成第一保护文件的文件名的过程中,对第一加密密钥与第一摘要文件的文件名进行拼接,对拼接结果进行摘要运算,得到初始文件名。因此,能够便于后续查找第一摘要文件对应的保护文件,同时避免第一摘要文件的保护文件被泄露。然后,在第一保护文件的文件名添加有预设保护文件标识。因此,能够便于内容分发网络通过预设保护文件标识快速定位第一保护文件,提高第一摘要文件的校验效率。
在一些可选的实施方式中,本公开的内容分发网络的文件校验方法还包括:响应于密钥更新指令,确定第二加密密钥;将第一加密密钥更新为第二加密密钥。
具体地,密钥更新指令是源站基于第二加密密钥对第一摘要文件的保护文件进行更新后发出的。
本实施例提供的内容分发网络的文件校验方法,响应于密钥更新指令对本地存储的第一加密密钥进行更新。因此,能够同步源站与内容分发网络的加密密钥,提高文件准确性校验的可靠性。
在一些可选的实施方式中,第一保护文件的文件内容是源站对第一摘要文件进行摘要运算得到的。上述步骤S502包括:对第一摘要文件进行摘要运算,得到第二保护文件的文件内容。
具体地,通过第二摘要算法对第一摘要文件进行摘要运算,得到第二保护文件的文件内容。
可选地,第二摘要算法为安全散列算法,例如安全散列算法1。此外,也可以根据实际需要对第二摘要算法进行调整,在此不做限定。
需要说明的是,生成第一保护文件以及第二保护文件的文件内容所采用的摘要算法一致。
本实施例提供的内容分发网络的文件校验方法,采用与第一保护文件的文件内容相同的方式计算得到第二保护文件的文件内容。因此,能够保证第一摘要文件的准确性校验的可靠性。
作为其中一个具体的示例,如图6所示,在网络节点中采用本公开的内容分发网络的文件校验方法对目标文件进行校验的处理流程主要包括以下步骤:步骤S601,基于第一摘要文件的文件名以及目标文件对应的第一加密密钥,生成第一保护文件的文件名。步骤S602,基于第一保护文件的文件名下载第一保护文件。步骤S603,基于第一摘要文件的文件名下载第一摘要文件。步骤S604,对第一摘要文件进行摘要运算,得到第二保护文件。步骤S605,基于第一保护文件与第二保护文件的比对结果,得到第一摘要文件的校验结果。步骤S606,若第一摘要文件校验成功,对目标文件进行摘要运算,得到第二摘要文件。步骤S607,基于第一摘要文件与第一摘要文件的比对结果,得到目标文件的校验结果。需要说明的是,第一摘要文件以及第一保护文件的下载顺序可以互换,在此不做限制。
在本实施例中提供了第四种内容分发网络的文件校验方法,可用于内容分发网络的网络节点,图7是根据本公开实施例的第四种内容分发网络的文件校验方法的流程示意图,如图7所示,该流程包括如下步骤:
步骤S701,响应于针对目标文件的访问请求,获取目标文件、第一摘要文件以及第一保护文件,第一摘要文件是源站对目标文件进行摘要运算得到的,第一保护文件是源站基于第一摘要文件构建的,第一保护文件的文件名是源站基于目标文件对应的第一加密密钥对第一摘要文件的文件名进行加密处理得到的。可参见上述步骤S501,在此不再过多赘述。
步骤S702,构建第一摘要文件的第二保护文件。可参见上述步骤S502,在此不再过多赘述。
步骤S703,基于第一保护文件与第二保护文件的比对结果,得到第一摘要文件的校验结果。可参见上述步骤S503,在此不再过多赘述。
步骤S704,若第一摘要文件校验成功,则对目标文件进行摘要运算,得到第二摘要文件。可参见上述步骤S504,在此不再过多赘述。
步骤S705,基于第一摘要文件与第二摘要文件的比对结果,得到目标文件的校验结果。可参见上述步骤S505,在此不再过多赘述。
步骤S706,若第一摘要文件或目标文件校验失败,则对目标文件、第一摘要文件、第一保护文件进行备份,得到备份文件。
具体地,若第一摘要文件或目标文件校验失败,则进入错误处理流程,对目标文件、第一摘要文件、第一保护文件进行复制,以备份得到备份文件。
步骤S707,在本地删除目标文件、第一摘要文件以及第一保护文件。
可以理解地,在本地删除目标文件、第一摘要文件以及第一保护文件。因此,能够防止错误文件被分发,等到新的访问请求到达时,再重新下载目标文件、第一摘要文件以及第一保护文件。
需要说明的是,本地即当前网络节点。
步骤S708,基于备份文件与网络节点的节点信息生成上报信息,上报信息用于定位第一摘要文件或目标文件校验失败的原因。
具体地,网络节点在生成上报信息以后,将上报信息上报至内容分发网络的错误处理中心。错误处理中心收到网络节点的上报信息以后,从上报信息中提取备份文件以及发生错误的网络节点的节点信息,并启动问题定位流程,由人工介入定位问题,直到问题被定位。
本实施例提供的内容分发网络的文件校验方法,若第一摘要文件或目标文件校验失败,对目标文件、第一摘要文件、第一保护文件进行备份,得到备份文件。并在本地删除目标文件、第一摘要文件以及第一保护文件。因此,能够防止错误文件被分发。以及,基于备份文件与网络节点的节点信息生成上报信息,以用于定位文件校验失败的原因,因此,能够便于快速定位发生错误的原因,以快速恢复目标文件的分发流程。
作为其中一个具体的示例,如图8所示,在网络节点中采用本公开的内容分发网络的文件校验方法的错误处理流程主要包括以下步骤:步骤S801,在文件校验失败的情况下,对目标文件、第一摘要文件、第一保护文件进行备份,得到备份文件。步骤S802,在本地删除目标文件、第一摘要文件、第一保护文件。步骤S803,向错误处理中心上报备份文件以及当前网络节点的节点信息,以启动问题定位流程,定位文件校验失败的原因。
需要说明的是,在整个文件校验过程中,客户端、源站以及内容分发网络各层级的网络节点之间,启用超文本传输安全协议,防止文件传输过程中被嗅探或者篡改。
作为其中一个具体的示例,如图9所示,本公开的内容分发网络的文件校验方法的整体处理流程主要包括以下步骤:步骤S901,启用超文本传输安全协议保护。步骤S902,源站生成目标文件的第一摘要文件以及第一保护文件。步骤S903,内容分发网络的网络节点基于第一摘要文件以及第一保护文件对接收到的目标文件进行准确性校验。步骤S904,若文件校验失败,则网络节点向错误处理中心上报目标文件、第一摘要文件、第一保护文件以及当前网络节点的节点信息,以定位文件校验失败的原因。步骤S905,客户端在接收到第一摘要文件以及目标文件以后,基于第一摘要文件对接收到的目标文件进行准确性校验,以确定目标文件的准确性。
作为一个具体应用示例,源站和内容分发网络的网络节点中安装有目标程序,该目标程序用于执行本公开的内容分发网络的文件校验方法。源站执行该目标程序生成目标文件的第一摘要文件以及第一保护文件。内容分发网络的网络节点执行该目标程序请求目标文件的第一摘要文件以及第一保护文件,来对本地的目标文件进行准确性校验。并在文件校验失败时,启动问题定位流程,定位校验失败的原因,以快速恢复目标文件的分发流程,直至将目标文件以及对应的第一摘要文件分发至客户端,由客户端基于第一摘要文件对接收到的目标文件的准确性进行校验。
值得说明的是,在本公开的内容分发网络的文件校验方法中,提出了一种对于原始文件的摘要文件的保护机制。在这个保护机制中,对于保护文件的算法以及加密密钥只有原始文件的分发者(源站)和内容分发网络持有,在算法以及加密密钥未同时泄露的情况下,第三方无法猜测出保护文件的文件名,进而无法篡改保护文件的文件内容。即使原始文件以及对应的摘要文件被同时修改,内容分发网络也能够凭借保护文件的检验途径检测出摘要文件被修改的事实。同时,本公开的文件检测方法还提出了一种旁路的全网络节点缓存文件的强一致性校验机制。内容分发网络的网络节点在文件写入磁盘后触发强一致性校验机制,缓存的文件在被篡改或者损坏时能够被感知,以及时发现分发的文件在哪个环节出现错误,并被后续处置机制从网络节点的缓存中清除,从而保证从源站到内容分发网络各个网络节点的所有缓存文件的一致性。
在本实施例中还提供了一种内容分发网络的文件校验装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种内容分发网络的文件校验装置,应用于源站,如图10所示,包括:
目标文件获取模块1001,用于获取目标文件;
摘要文件生成模块1002,用于对目标文件进行摘要运算,得到第一摘要文件,第一摘要文件用于校验目标文件的准确性;
保护文件生成模块1003,用于构建第一摘要文件的第一保护文件,第一保护文件的文件名是基于目标文件对应的第一加密密钥对第一摘要文件的文件名进行加密处理得到的,第一保护文件用于校验第一摘要文件的准确性;
分发数据发送模块1004,用于响应于针对目标文件的访问请求,向内容分发网络发送目标文件、第一摘要文件以及第一保护文件,内容分发网络用于基于第一摘要文件以及第一保护文件对接收到的目标文件进行准确性校验。
在一些可选的实施方式中,摘要文件生成模块1002包括:
摘要内容生成单元,用于对目标文件进行摘要运算,得到第一摘要文件的文件内容;
摘要文件名生成单元,用于在目标文件的文件名中添加预设摘要文件标识,生成第一摘要文件的文件名。
在一些可选的实施方式中,保护文件生成模块1003包括:
保护内容生成单元,用于对第一摘要文件进行摘要运算,得到第一保护文件的文件内容;
加密密钥获取单元,用于获取目标文件对应的第一加密密钥;
保护文件名生成单元,用于基于第一加密密钥对第一摘要文件的文件名进行加密处理,生成第一保护文件的文件名。
在一些可选的实施方式中,保护文件名生成单元包括:
数据拼接子单元,用于对第一加密密钥与第一摘要文件的文件名进行拼接,得到目标字符串;
摘要运算子单元,用于对目标字符串进行摘要运算,得到初始文件名;
标识添加子单元,用于在初始文件名中添加预设保护文件标识,得到第一保护文件的文件名。
在一些可选的实施方式中,本公开的内容分发网络的文件校验装置还包括:
第一密钥更新模块,用于响应于针对第一加密密钥的更新指令,确定第二加密密钥;
第二密钥更新模块,用于基于第二加密密钥对第一保护文件的文件名进行更新,以得到第二保护文件。
在一些可选的实施方式中,本公开的内容分发网络的文件校验装置还包括:
更新指令发送模块,用于响应于第二保护文件,向内容分发网络发送密钥更新指令,密钥更新指令用于内容分发网络将本地存储的第一加密密钥更新为第二加密密钥;
保护文件删除模块,用于若内容分发网络的第一加密密钥更新完成,则删除第一保护文件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的内容分发网络的文件校验装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
在本实施例中还提供了另一种内容分发网络的文件校验装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供另一种内容分发网络的文件校验装置,应用于内容分发网络的网络节点,如图11所示,包括:
分发数据接收模块1101,用于响应于针对目标文件的访问请求,获取目标文件、第一摘要文件以及第一保护文件,第一摘要文件是源站对目标文件进行摘要运算得到的,第一保护文件是源站基于第一摘要文件构建的,第一保护文件的文件名是源站基于目标文件对应的第一加密密钥对第一摘要文件的文件名进行加密处理得到的;
保护文件构建模块1102,用于构建第一摘要文件的第二保护文件;
摘要文件校验模块1103,用于基于第一保护文件与第二保护文件的比对结果,得到第一摘要文件的校验结果;
摘要文件构建模块1104,用于若第一摘要文件校验成功,则对目标文件进行摘要运算,得到第二摘要文件;
目标文件校验模块1105,用于基于第一摘要文件与第二摘要文件的比对结果,得到目标文件的校验结果。
在一些可选的实施方式中,分发数据接收模块1101包括:
文件密钥获取单元,用于获取目标文件对应的第一加密密钥;
文件名运算单元,用于基于第一加密密钥对第一摘要文件的文件名进行加密处理,生成第一保护文件的文件名;
保护文件下载单元,用于基于第一保护文件的文件名下载第一保护文件。
在一些可选的实施方式中,文件名运算单元包括:
第一运算子单元,用于对第一加密密钥与第一摘要文件的文件名进行拼接,得到目标字符串;
第二运算子单元,用于对目标字符串进行摘要运算,得到初始文件名;
第三运算子单元,用于在初始文件名中添加预设保护文件标识,得到第一保护文件的文件名。
在一些可选的实施方式中,本公开的内容分发网络的文件校验装置还包括:
更新指令响应模块,用于响应于密钥更新指令,确定第二加密密钥;
加密密钥更新模块,用于将第一加密密钥更新为第二加密密钥。
在一些可选的实施方式中,第一保护文件的文件内容是源站对第一摘要文件进行摘要运算得到的。保护文件构建模块1102包括:
保护文件构建单元,用于对第一摘要文件进行摘要运算,得到第二保护文件的文件内容。
在一些可选的实施方式中,本公开的内容分发网络的文件校验装置还包括:
文件备份模块,用于若第一摘要文件或目标文件校验失败,则对目标文件、第一摘要文件、第一保护文件进行备份,得到备份文件;
文件删除模块,用于在本地删除目标文件、第一摘要文件以及第一保护文件;
错误上报模块,用于基于备份文件与网络节点的节点信息生成上报信息,上报信息用于定位第一摘要文件或目标文件校验失败的原因。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的内容分发网络的文件校验装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本公开实施例还提供一种电子设备,具有上述图10或图11所示的内容分发网络的文件校验装置。
请参阅图12,图12是本公开可选实施例提供的一种电子设备的结构框图,如图12所示,该电子设备包括:一个或多个处理器1201、存储器1202,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图12中以一个处理器1201为例。
处理器1201可以是中央处理器,网络处理器或其组合。其中,处理器1201还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器1202存储有可由至少一个处理器1201执行的指令,以使至少一个处理器1201执行实现上述实施例示出的方法。
存储器1202可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器1202可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器1202可选包括相对于处理器1201远程设置的存储器,这些远程存储器可以通过网络连接至该电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器1202可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器1202还可以包括上述种类的存储器的组合。
该电子设备还包括通信接口1203,用于该电子设备与其他设备或通信网络通信。
本公开实施例还提供了一种计算机可读存储介质,上述根据本公开实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
本公开的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本公开的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (17)
1.一种内容分发网络的文件校验方法,其特征在于,应用于源站,所述方法包括:
获取目标文件;
对所述目标文件进行摘要运算,得到第一摘要文件,所述第一摘要文件用于校验所述目标文件的准确性;
构建所述第一摘要文件的第一保护文件,所述第一保护文件的文件名是基于所述目标文件对应的第一加密密钥对所述第一摘要文件的文件名进行加密处理得到的,所述第一保护文件用于校验所述第一摘要文件的准确性;
响应于针对所述目标文件的访问请求,向内容分发网络发送所述目标文件、所述第一摘要文件以及所述第一保护文件,所述内容分发网络用于基于所述第一摘要文件以及所述第一保护文件对接收到的所述目标文件进行准确性校验。
2.根据权利要求1所述的文件校验方法,其特征在于,所述构建所述第一摘要文件的第一保护文件,包括:
对所述第一摘要文件进行摘要运算,得到所述第一保护文件的文件内容;
获取所述目标文件对应的第一加密密钥;
基于所述第一加密密钥对所述第一摘要文件的文件名进行加密处理,生成所述第一保护文件的文件名。
3.根据权利要求2所述的文件校验方法,其特征在于,所述基于所述第一加密密钥对所述第一摘要文件的文件名进行加密处理,生成所述第一保护文件的文件名,包括:
对所述第一加密密钥与所述第一摘要文件的文件名进行拼接,得到目标字符串;
对所述目标字符串进行摘要运算,得到初始文件名;
在所述初始文件名中添加预设保护文件标识,得到所述第一保护文件的文件名。
4.根据权利要求2所述的文件校验方法,其特征在于,所述方法还包括:
响应于针对所述第一加密密钥的更新指令,确定第二加密密钥;
基于所述第二加密密钥对所述第一保护文件的文件名进行更新,以得到第二保护文件。
5.根据权利要求4所述的文件校验方法,其特征在于,所述方法还包括:
响应于所述第二保护文件,向所述内容分发网络发送密钥更新指令,所述密钥更新指令用于所述内容分发网络将本地存储的第一加密密钥更新为所述第二加密密钥;
若所述内容分发网络的第一加密密钥更新完成,则删除所述第一保护文件。
6.根据权利要求1所述的文件校验方法,其特征在于,所述对所述目标文件进行摘要运算,得到第一摘要文件,包括:
对所述目标文件进行摘要运算,得到所述第一摘要文件的文件内容;
在所述目标文件的文件名中添加预设摘要文件标识,生成所述第一摘要文件的文件名。
7.一种内容分发网络的文件校验方法,其特征在于,应用于内容分发网络的网络节点,所述方法包括:
响应于针对目标文件的访问请求,获取所述目标文件、第一摘要文件以及第一保护文件,所述第一摘要文件是源站对所述目标文件进行摘要运算得到的,所述第一保护文件是所述源站基于所述第一摘要文件构建的,所述第一保护文件的文件名是所述源站基于所述目标文件对应的第一加密密钥对所述第一摘要文件的文件名进行加密处理得到的;
构建所述第一摘要文件的第二保护文件;
基于所述第一保护文件与所述第二保护文件的比对结果,得到所述第一摘要文件的校验结果;
若所述第一摘要文件校验成功,则对所述目标文件进行摘要运算,得到第二摘要文件;
基于所述第一摘要文件与所述第二摘要文件的比对结果,得到所述目标文件的校验结果。
8.根据权利要求7所述的文件校验方法,其特征在于,获取所述第一保护文件包括:
获取所述目标文件对应的第一加密密钥;
基于所述第一加密密钥对所述第一摘要文件的文件名进行加密处理,生成所述第一保护文件的文件名;
基于所述第一保护文件的文件名下载所述第一保护文件。
9.根据权利要求8所述的文件校验方法,其特征在于,所述基于所述第一加密密钥对所述第一摘要文件的文件名进行加密处理,生成所述第一保护文件的文件名,包括:
对所述第一加密密钥与所述第一摘要文件的文件名进行拼接,得到目标字符串;
对所述目标字符串进行摘要运算,得到初始文件名;
在所述初始文件名中添加预设保护文件标识,得到所述第一保护文件的文件名。
10.根据权利要求8所述的文件校验方法,其特征在于,所述方法还包括:
响应于密钥更新指令,确定第二加密密钥;
将所述第一加密密钥更新为所述第二加密密钥。
11.根据权利要求7所述的文件校验方法,其特征在于,所述第一保护文件的文件内容是所述源站对所述第一摘要文件进行摘要运算得到的;所述构建所述第一摘要文件的第二保护文件,包括:
对所述第一摘要文件进行摘要运算,得到所述第二保护文件的文件内容。
12.根据权利要求7所述的文件校验方法,其特征在于,所述方法还包括:
若所述第一摘要文件或所述目标文件校验失败,则对所述目标文件、所述第一摘要文件、所述第一保护文件进行备份,得到备份文件;
在本地删除所述目标文件、所述第一摘要文件以及所述第一保护文件;
基于所述备份文件与所述网络节点的节点信息生成上报信息,所述上报信息用于定位所述第一摘要文件或所述目标文件校验失败的原因。
13.一种内容分发网络的文件校验装置,其特征在于,应用于源站,所述装置包括:
目标文件获取模块,用于获取目标文件;
摘要文件生成模块,用于对所述目标文件进行摘要运算,得到第一摘要文件,所述第一摘要文件用于校验所述目标文件的准确性;
保护文件生成模块,用于构建所述第一摘要文件的第一保护文件,所述第一保护文件的文件名是基于所述目标文件对应的第一加密密钥对所述第一摘要文件的文件名进行加密处理得到的,所述第一保护文件用于校验所述第一摘要文件的准确性;
分发数据发送模块,用于响应于针对所述目标文件的访问请求,向内容分发网络发送所述目标文件、所述第一摘要文件以及所述第一保护文件,所述内容分发网络用于基于所述第一摘要文件以及所述第一保护文件对接收到的所述目标文件进行准确性校验。
14.一种内容分发网络的文件校验装置,其特征在于,应用于内容分发网络的网络节点,所述装置包括:
分发数据接收模块,用于响应于针对目标文件的访问请求,获取所述目标文件、第一摘要文件以及第一保护文件,所述第一摘要文件是源站对所述目标文件进行摘要运算得到的,所述第一保护文件是所述源站基于所述第一摘要文件构建的,所述第一保护文件的文件名是所述源站基于所述目标文件对应的第一加密密钥对所述第一摘要文件的文件名进行加密处理得到的;
保护文件构建模块,用于构建所述第一摘要文件的第二保护文件;
摘要文件校验模块,用于基于所述第一保护文件与所述第二保护文件的比对结果,得到所述第一摘要文件的校验结果;
摘要文件构建模块,用于若所述第一摘要文件校验成功,则对所述目标文件进行摘要运算,得到第二摘要文件;
目标文件校验模块,用于基于所述第一摘要文件与所述第二摘要文件的比对结果,得到所述目标文件的校验结果。
15.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至6中任一项所述的内容分发网络的文件校验方法,或者执行权利要求7至12中任一项所述的内容分发网络的文件校验方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至6中任一项所述的内容分发网络的文件校验方法,或者执行权利要求7至12中任一项所述的内容分发网络的文件校验方法。
17.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行权利要求1至6中任一项所述的内容分发网络的文件校验方法,或者执行权利要求7至12中任一项所述的内容分发网络的文件校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411794080.2A CN119276432B (zh) | 2024-12-06 | 2024-12-06 | 内容分发网络的文件校验方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411794080.2A CN119276432B (zh) | 2024-12-06 | 2024-12-06 | 内容分发网络的文件校验方法、装置、设备、介质及产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN119276432A true CN119276432A (zh) | 2025-01-07 |
CN119276432B CN119276432B (zh) | 2025-03-11 |
Family
ID=94106103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411794080.2A Active CN119276432B (zh) | 2024-12-06 | 2024-12-06 | 内容分发网络的文件校验方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN119276432B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090316894A1 (en) * | 2007-07-17 | 2009-12-24 | Huawei Technologies Co., Ltd. | Method and apparatus for checking consistency between digital contents |
CN103036969A (zh) * | 2012-12-10 | 2013-04-10 | 北京奇虎科技有限公司 | 用于提供文件下载地址的管理设备及方法 |
CN103248695A (zh) * | 2013-05-07 | 2013-08-14 | 北京奇虎科技有限公司 | 文件下载方法、系统及cdn中的服务器节点 |
CN108512666A (zh) * | 2018-04-08 | 2018-09-07 | 苏州犀牛网络科技有限公司 | Api请求的加密方法、数据交互方法及系统 |
CN109101841A (zh) * | 2018-08-27 | 2018-12-28 | 深圳前海益链网络科技有限公司 | 一种数据处理方法、装置、系统、计算机设备和存储介质 |
-
2024
- 2024-12-06 CN CN202411794080.2A patent/CN119276432B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090316894A1 (en) * | 2007-07-17 | 2009-12-24 | Huawei Technologies Co., Ltd. | Method and apparatus for checking consistency between digital contents |
CN103036969A (zh) * | 2012-12-10 | 2013-04-10 | 北京奇虎科技有限公司 | 用于提供文件下载地址的管理设备及方法 |
CN103248695A (zh) * | 2013-05-07 | 2013-08-14 | 北京奇虎科技有限公司 | 文件下载方法、系统及cdn中的服务器节点 |
CN108512666A (zh) * | 2018-04-08 | 2018-09-07 | 苏州犀牛网络科技有限公司 | Api请求的加密方法、数据交互方法及系统 |
CN109101841A (zh) * | 2018-08-27 | 2018-12-28 | 深圳前海益链网络科技有限公司 | 一种数据处理方法、装置、系统、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN119276432B (zh) | 2025-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11296934B2 (en) | Device provisioning system | |
US20180020112A1 (en) | Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium | |
EP1533695A1 (en) | Updating data in a mobile terminal | |
CN110058867B (zh) | 应用程序镜像打包、安装方法及计算机装置、存储介质 | |
CN111045855A (zh) | 备份数据的方法、装置和计算机程序产品 | |
Mbakoyiannis et al. | Secure over-the-air firmware updating for automotive electronic control units | |
CN110557452A (zh) | 区块链的节点管理方法、装置、存储介质和计算机设备 | |
CN111966529A (zh) | 一种数据库文件实时增量同步备份的方法及系统 | |
CN113360914A (zh) | 一种bios更新的方法、系统、设备及介质 | |
CN116149706A (zh) | 一种车辆设备升级方法、装置、车辆和可读存储介质 | |
CN119276432B (zh) | 内容分发网络的文件校验方法、装置、设备、介质及产品 | |
CN115080088A (zh) | 基于ota技术的软件升级方法、系统及介质 | |
CN112131041A (zh) | 用于管理数据放置的方法、设备和计算机程序产品 | |
CN112637307B (zh) | 文件更新方法、系统、计算机设备及存储介质 | |
CN113495729A (zh) | 一种软件升级方法及装置 | |
CN117591195A (zh) | 目标应用的启动方法、装置和存储介质 | |
CN105391739A (zh) | 一种云灾备数据完整性校验方法 | |
CN110162488B (zh) | 缓存一致性校验方法、装置、服务器和存储介质 | |
CN114268624B (zh) | 版本文件传输方法、装置及服务器 | |
CN107179917A (zh) | 用于安装多个待测装置之作业系统的系统架构及部署方法 | |
CN110569088A (zh) | 客户端插件管理方法、装置、电子设备及存储介质 | |
CN114297679B (zh) | 一种镜像加密传输与升级的方法 | |
US12052133B2 (en) | Blockchain-based network device management methods and devices | |
CN110868397A (zh) | 一种企业异地多点数据交换方法及系统 | |
CN117972712B (zh) | 固件更新方法、装置、计算机设备和计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |