CN110889143A - 文件校验方法及装置 - Google Patents
文件校验方法及装置 Download PDFInfo
- Publication number
- CN110889143A CN110889143A CN201811045269.6A CN201811045269A CN110889143A CN 110889143 A CN110889143 A CN 110889143A CN 201811045269 A CN201811045269 A CN 201811045269A CN 110889143 A CN110889143 A CN 110889143A
- Authority
- CN
- China
- Prior art keywords
- file
- cdn
- source station
- verification
- check information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种文件校验方法及装置,其中,该方法包括:接收来自于源站的下载文件以及与下载文件关联的第一校验信息,内容分发网络服务器采用与该第一校验相同的校验方式对上述下载进行校验,得到第二校验信息,根据第一校验信息与第二校验信息的比较结果确定上述下载文件是否出现异常,采用上述技术方案,内容分发网络服务器及时对下载文件进行校验,得到的校验结果与源站下发的校验信息进行比较,确定下载文件是否完整,是否有删改,避免了内容分发网络器下载到错误的文件,进而解决了相关技术中CDN上文件错误导致用户下载无效的技术问题。
Description
技术领域
本申请涉及内容分发网络领域,具体而言,涉及一种文件校验方法及装置。
背景技术
相关技术中的内容分发网络(Content Delivery Network,简称为CDN)通过在网络各处放置节点服务器所构成的在互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决互联网络拥挤的状况,提高用户访问网站的响应速度。
文件通过CDN并分发给广大互联网终端用户,完成内容加速和投递.如果CDN上缓存的文件不完整或者内容错误,会导致大范围的用户下载到无效的文件,从而导致非常严重的业务问题。
针对相关技术中CDN上文件错误导致用户下载无效的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种文件校验方法及装置,以至少解决相关技术中CDN上文件错误导致用户下载无效的技术问题。
根据本申请实施例的一个方面,提供了一种文件校验方法,包括:内容分发网络CDN系统接收来自于源站的文件以及与所述文件关联的第一校验信息;所述CDN系统采用与获取所述第一校验信息相同的校验方式对所述文件进行校验,得到第二校验信息;所述CDN系统根据所述第一校验信息与所述第二校验信息的比较结果确定所述文件是否出现异常。
根据本申请实施例的另一个方面,提供了一种文件校验方法,包括:接收来自于内容分发网络服务器的下载请求,其中,所述下载请求用于从源站获取待下载文件;采用预设校验方式计算与所述待下载文件关联的校验信息;将所述待下载文件和所述校验信息下发至所述内容分发网络服务器。
根据本申请实施例的另一个方面,提供了一种文件校验装置,包括处理器和非暂态存储介质,所述非暂态存储介质存储指令集,所述指令集被处理器执行时可实现上述实施例任意一项所述的方法。
根据本申请文件的另一个方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述实施例中任意一项所述的文件校验方法。
根据本申请实施例的另一个方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例中任意一项所述的文件校验方法。
根据本申请文件的另一个实施例,还提供了一种内容分发网络服务器,包括:第一处理器;以及第一存储器,与所述第一处理器连接,用于为所述第一处理器提供处理以下处理步骤的指令:步骤1,接收来自于源站的文件以及与所述文件关联的第一校验信息;步骤2,采用与获取所述第一校验信息相同的校验方式对所述文件进行校验,得到第二校验信息;步骤3,根据所述第一校验信息与所述第二校验信息的比较结果确定所述文件是否出现异常。
根据本申请文件的另一个实施例,还提供了一种源站,包括:第二处理器;以及第二存储器,与所述第二处理器连接,用于为所述第二处理器提供处理以下处理步骤的指令:步骤1,接收来自于内容分发网络服务器的下载请求,其中,所述下载请求用于从源站获取文件;步骤2,采用预设校验方式计算与所述文件关联的校验信息;步骤3,将所述文件和所述校验信息下发至所述内容分发网络服务器。
在本申请实施例中,接收来自于源站的下载文件以及与下载文件关联的第一校验信息,内容分发网络服务器采用与该第一校验相同的校验方式对上述下载进行校验,得到第二校验信息,根据第一校验信息与第二校验信息的比较结果确定上述下载文件是否出现异常,采用上述技术方案,内容分发网络服务器及时对下载文件进行校验,得到的校验结果与源站下发的校验信息进行比较,确定下载文件是否完整,是否有删改,避免了内容分发网络器下载到错误的文件,进而解决了相关技术中CDN上文件错误导致用户下载无效的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例一的应用本申请文件中内容分发网络服务器的场景示意图;
图2是根据本申请实施例一的用于实现文件校验方法的内容分发网络服务器的硬件结构框图;
图3是根据本申请实施例一的源站的结构示意图;
图4是根据本申请实施例一的文件校验方法流程图一;
图5是根据本申请实施例一的文件校验方法流程图二;
图6是根据本申请实施例一的用户源站和CDN系统信息交互示意图;
图7是根据本申请实施例一的CDN系统针对回源文件MD5校验机制的流程图;
图8是根据本申请实施例二的文件校验装置的结构图一;
图9是根据本申请实施例二的文件校验装置的结构图二;
图10是根据本申请实施例三的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
CDN网络,即内容分发网络,其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使传输内容更快,更稳定。
内容分发网络服务器,用于为多个用户提供待下载文件。
源站,是为上述内容分发网络服务器提供文件的源节点,或者称为内容提供商。
实施例1
根据本申请实施例,还提供了一种文件校验方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例一的应用本申请文件中内容分发网络服务器的场景示意图,如图1所示,可以在内容分发网络服务器101中执行本申请的文件校验方法,通过网络连接至源站102,由源站102为内容分发网络服务器101提供下载文件。二者的连接方式可以有线连接,或者是无线连接,本申请文件中不对上述应用场景做限定。
在本申请文件中,可以包括内容分发网络服务器和源站,该内容分发网络服务器可以在计算机终端或者移动终端中运行,源站也可以在计算机终端中运行。图2是根据本申请实施例一的用于实现文件校验方法的内容分发网络服务器的硬件结构框图,如图2所示,内容分发网络服务器20可以包括一个或多个(图中采用202a、202b,……,202n来示出)处理器202(处理器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器204、以及用于通信功能的传输模块206。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线 (USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/ 或相机。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,内容分发网络服务器20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
应当注意到的是上述一个或多个处理器202和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到内容分发网络服务器20中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器204可用于存储应用软件的软件程序以及模块,如本申请实施例中的文件校验方法对应的程序指令/数据存储装置,处理器202通过运行存储在存储器204内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的文件校验方法。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至内容分发网络服务器20。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
该内容分发网络服务器20还可以包括传输装置,传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括内容分发网络服务器20的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与内容分发网络服务器20(或移动设备)的用户界面进行交互。
图3是根据本申请实施例一的源站的结构示意图,如图3所示,源站中存储有内容,用于向内容分发网络服务器进行分发,该源站还包括判定支持系统,用于通过机器学习逻辑和判定逻辑进行日常处理。
在上述运行环境下,本申请提供了如图4所示的文件校验方法。图4是根据本申请实施例一的文件校验方法流程图一,如图4所示,包括以下步骤:
步骤S402,内容分发网络CDN系统接收来自于源站的文件以及与所述文件关联的第一校验信息;
该下载文件可以与第一校验信息在同一信息中下发,也可以不在同一信息中下发,或者在不同时下发,本实施例中不做限定。该第一校验信息可以携带于Http头,或者在下载文件中增加字段。
步骤S404,所述CDN系统采用与获取所述第一校验信息相同的校验方式对所述文件进行校验,得到第二校验信息;
源站在下发第一校验信息时,可以将第一校验信息采用的校验方式通知内容分发网络服务器,或者内容分发网络服务器自己确定第一校验信息采用的校验方式。上述校验方式可以是相关技术中的奇偶校验,循环冗余码校验CRC校验,格列码校验等方式。在后续实施例中以消息摘要算法第五版(Message Digest Algor ithm,简称为MD5) 校验方式为例。
步骤S406,所述CDN系统根据所述第一校验信息与所述第二校验信息的比较结果确定所述文件是否出现异常。
上述步骤可以在内容分发网络服务器中运行。
通过上述步骤,接收来自于源站的下载文件以及与下载文件关联的第一校验信息,内容分发网络服务器采用与该第一校验相同的校验方式对上述下载进行校验,得到第二校验信息,根据第一校验信息与第二校验信息的比较结果确定上述下载文件是否出现异常,采用上述技术方案,内容分发网络服务器及时对下载文件进行校验,得到的校验结果与源站下发的校验信息进行比较,确定下载文件是否完整,是否有删改,避免了内容分发网络器下载到错误的文件,浪费用户大量,进而解决了相关技术中CDN 上文件错误导致用户下载无效的技术问题。
可选地,,所述CDN系统根据所述第一校验信息与所述第二校验信息的比较结果确定所述文件是否出现异常包括:如果所述第一校验信息与所述第二校验信息的比较结果一致,则所述CDN系统确定所述文件下载成功;如果所述第一校验信息与所述第二校验信息的比较结果不一致,则所述CDN系统确定所述文件出现异常。采用上述方案,在比较结果一致时,可以确定此刻在CDN系统中存储的文件与源站中文件相同,文件是完整的,可以提供给用户进行下载。而如果确定出比较结果不一致时,则说明CDN 接收到的文件发生了错误,后续可以重新向源站请求下载。
可选地,在所述CDN系统确定所述文件出现异常之后,所述CDN系统触发对所述文件的刷新操作,将下载未成功的文件废止并从所述源站重新下载所述文件。刷新操作可以理解为在CDN本地进行刷新,即试图在CDN本地恢复上述文件为完整状态,也可可以是从源站侧再次获取上述文件,执行刷新操作后可以废弃或者删除之前下载的文件。
可选地,在所述CDN系统确定所述文件出现异常之后,如果通过执行多次刷新操作仍然无法恢复所述文件,则所述CDN系统屏蔽向所述源站获取所述文件的请求。采用该方案,在多次刷新无法恢复完整的下载文件时,及时从源站进行请求,尽快地获取到完整的文件,节省用户的时间。而及时地屏蔽向源站获取下载文件的请求可以减轻CDN服务器的压力,同时也可以屏蔽其他用户设备向CDN发送的下载请求,双向减轻CDN服务器压力。
可选地,在所述CDN系统确定所述文件出现异常之后,所述CDN系统在本地以及与所述CDN系统关联的CDN用户发出告警消息,其中,所述告警消息用于提示所述文件出现异常。采用该方案,及时发出告警消息,生成告警日志,便于工作人员及时排查线路,进行人工检查,有必要地话,及时屏蔽该文件的下载界面,避免出现大范围的无效下载。
图5是根据本申请实施例一的文件校验方法流程图二,如图5所示,根据本申请文件的另一个实施例,还提供了一种文件校验方法,该方法可以在源站中运行,该方法包括以下步骤:
步骤S502,接收来自于内容分发网络服务器的下载请求,其中,所述下载请求用于从源站获取待下载文件;
上述方案可以应用于源站设备中。
步骤S504,采用预设校验方式计算与所述待下载文件关联的校验信息;
此处的预设校验方式可以是MD5校验方式。
步骤S506,将所述待下载文件和所述校验信息下发至所述内容分发网络服务器。
上述步骤中待下载文件和校验信息可以是同时下发的,也可以不同时下发,可以是携带于同一个信息中,也可以携带于不同信息中。
通过上述步骤,接收到内容分发网络发送的下载请求后,采用预设校验方式计算出下载文件关系的校验信息,后续将该待下载文件和校验信息下发给内容分发服务器,便于内容分发网络服务器确定待下载文件是否完整,是否与当初从源站获取的文件发生了变化。采用上述技术方案,避免了内容分发网络器下载到错误的文件,进而解决了相关技术中CDN上文件错误导致用户下载无效的技术问题。
针对相关技术中的CDN上存储的文件可能错误导致用户下载无效的问题,错误可以是文件缓存无效,文件不完整等,本实施例提出的机制,用于发现这类缓存无效文件的问题,并在尽可能短的时间内降低错误带来的影响。通常CDN上拿到无效或不完整文件的情况,多数为网络原因所致,在数据传输的过程中丢包等。文件越大,出现错误的几率越大。例如视频点播,大文件下载均为大文件分发场景,如果出现某个文件在CDN 上缓存不完整或内容无效,则会造成视频无法正常播放,APP无法正常安装等大范围的业务问题,另外人工处理会有操作失误的风险,导致其他文件受到影响,造成严重后果。
一旦出现这种问题,这时候部分用户会上报服务提供商(也是CDN服务的购买者),服务提供商排查问题,确认为CDN上缓存的文件无效后,会通知CDN服务提供商,或者自行进行处理.一般的处理方式为刷新有问题的文件,并重新预热,然后再观察问题是否恢复,如果不行重复上述步骤,这种处理方式,从用户发现问题并上报问题,到服务提供商进行处理,通常需要花费数十分钟到几个小时的时间.在这期间所有访问该无效文件的用户都会遇到相同的问题,从而导致长时间大范围的问题,需要花费很长时间来进行恢复工作,效率低且影响很大.因此本申请文件中的机制和装置在这两个场景下会发挥更大的作用,可以降低问题出现的几率,并且提升处理效率,减少问题发生时造成的影响。
本实施例中提出一种应用于源站和CDN针对同一文件的双向校验机制和方式,通过一致性校验,检测CDN缓存文件的有效性.同时发明一种装置,可以对CDN缓存的无效文件进行处理,防止错误文件被大面积分发,并降低特定场景下对CDN和源站造成的压力。
图6是根据本申请实施例一的用户源站和CDN系统信息交互示意图,如图6所示,相关技术方案在CDN到用户源站之间,存在简单的回源关系。CDN从源站下载文件,缓存再分发到边缘节点,提供给互联网用户。如果CDN从源站下载下来文件,在传输过程中或存储过程中出现问题,导致缓存了无效或不完整的文件,便会导致错误的文件被大面积分发。在本实施例中源站在提供下载文件的同时,提供该文件的MD5信息,用于双向校验。MD5信息的提供方式有很多种,在此不会一一列出。例如可以通过在应答时带上特定的http头,或者在文件名称中增加特定内容,或者在请求CDN时带上特定参数的方式,将该文件在源站中计算的MD5值提供给CDN系统。CDN系统根据约定拿到源站计算好的文件MD5后,会默认该文件需要进行双向校验,从而在从源站下载完文件之后,再计算一次下载到CDN上的MD5值,并与源站计算的值进行比对。如果两个值一致,说明CDN上拿到的内容与源站一致。如果两个值不一致,说明CDN拿到的内容有误, 需要进行处理。如果CDN未检测到源站提供的MD5值,则默认该文件无需进行双向校验, 可以直接提供给边缘节点进行分发,以此兼容相关技术中的模式。
当然,在后续使用该下载文件的过程中,例如CDN系统存储了一段时间后,可以定期触发上述验证方式或者人工触发上述验证方式,以检测下载文件是否在此期间被更改,以保证该下载文件的完整性,在确定发生错误时及时告警,或者主动向源站请求再次下载上述文件。
图7是根据本申请实施例一的CDN系统针对回源文件MD5校验机制的流程图,如图7所示,通常情况下,当文件第一次在CDN被请求或者主动发起预热操作时,会产生 CDN到源站进行文件下载的操作,这里称之为回源操作。图7的主要流程如下:
步骤1,CDN尝试回源。
步骤2,当回源完成后,CDN系统会对从源站下载来的文件进行检查,尝试获取源站带来的MD5信息。
步骤3,如果无法获取到源站计算的MD5信息,则放弃文件检测,完成回源操作。
步骤4,如果拿到了有效的源站计算的MD5值,则CDN系统会根据本次回源得到的文件,再计算一次MD5值。
步骤5,使用CDN系统计算的MD5值与源站MD5值进行比对。
步骤6,如果一致即比对成功说明回源成功。
步骤7,如果比对失败,则需要立即触发一次刷新操作。触发刷新操作之后,本次回源得到的文件将被废弃,从而防止错误的文件被分发。
步骤8,由于存在源站MD5计算错误或者CDN到源站网络质量非常差导致回源频繁失败等等无法自动恢复的错误情况,因此在该机制中增加了文件屏蔽机制。当某种情况被触发时,CDN系统会自动屏蔽所有对该文件的请求,防止CDN频繁的进行刷新和回源的操作,对CDN和用户源站造成额外压力。
步骤9,所有异常情况的发现,都会在处理完成后进行报警通知,方便CDN系统和CDN用户第一时间掌握CDN和源站的情况,早于互联网用户发现问题。
本申请文件中与相关技术中相比,在于增加了一种双向校验机制,并基于双向校验的结果,自动化了后续处理流程,以达到校验及处理的标准化和自动化,解决了此类问题处理的效率和准确性。
相关技术中从问题发现到定位,通常需要花费很长时间,并会造成错误文件被大面积分发。采用本申请的机制,可以在回源完成后立刻确定CDN拉取的文件是否有效, 并进行处理,避免错误文件被大面积分发。相关技术中处理依赖人工介入,采用本申请的装置,除了特定情况,如源站MD5计算错误或CDN到源站网络可用性极低的情况下, 无需人工介入均可及时报警并自动恢复。上述特定情况已经超出了CDN或者源站系统的能力范围,均需人工介入,因此不影响本申请的有效性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述文件校验装置,该文件校验装置包括处理器和非暂太存储介质,所述非暂态存储介质存储指令集,所述指令集被处理器执行时可以实现之前的实施例中所述的方法。
该文件校验装置还可以应用于内容分发网络服务器80,图8是根据本申请实施例二的文件校验装置的结构图一,如图8所示,该装置包括:
第一接收模块802,用于接收来自于源站的下载文件以及与所述下载文件关联的第一校验信息;
校验模块804,用于采用与所述第一校验信息相同的校验方式对所述下载文件进行校验,得到第二校验信息;
确定模块806,用于根据所述第一校验信息与所述第二校验信息的比较结果确定所述下载文件是否出现异常。
在上述方案中,接收来自于源站的下载文件以及与下载文件关联的第一校验信息,内容分发网络服务器采用与该第一校验相同的校验方式对上述下载进行校验,得到第二校验信息,根据第一校验信息与第二校验信息的比较结果确定上述下载文件是否出现异常,采用上述技术方案,内容分发网络服务器及时对下载文件进行校验,得到的校验结果与源站下发的校验信息进行比较,确定下载文件是否完整,是否有删改,避免了内容分发网络器下载到错误的文件,浪费用户大量,进而解决了相关技术中CDN 上文件错误导致用户下载无效的技术问题。
可选地,所述确定模块806还用于如果所述第一校验信息与所述第二校验信息的比较结果一致,则确定所述下载文件下载成功;如果所述第一校验信息与所述第二校验信息的比较结果不一致,则确定所述下载文件出现异常。采用上述方案,在比较结果一致时,可以确定此刻在CDN系统中存储的文件与源站中文件相同,文件是完整的,可以提供给用户进行下载。而如果确定出比较结果不一致时,则说明CDN接收到的文件发生了错误,后续可以重新向源站请求下载。
可选地,所述确定模块806在确定所述下载文件出现异常之后,还用于触发对所述下载文件的刷新操作,恢复所述下载文件。刷新操作可以理解为在CDN本地进行刷新,即试图在CDN本地恢复上述文件为完整状态,也可可以是从源站侧再次获取上述文件,执行刷新操作后可以废弃或者删除之前下载的文件。
可选地,所述确定模块806在确定所述下载文件出现异常之后,还用于如果通过执行多次刷新操作仍然无法恢复所述下载文件,则重新向所述源站获取所述下载文件或者屏蔽向所述源站获取所述下载文件的请求。采用该方案,在多次刷新无法恢复完整的下载文件时,及时从源站进行请求,尽快地获取到完整的文件,节省用户的时间。而及时地屏蔽向源站获取下载文件的请求可以减轻CDN服务器的压力,同时也可以屏蔽其他用户设备向CDN发送的下载请求,双向减轻CDN服务器压力。
可选地,所述确定模块806在确定所述下载文件出现异常之后,还用于发出告警消息,其中,所述告警消息用于提示所述下载文件出现异常。采用该方案,及时发出告警消息,生成告警日志,便于工作人员及时排查线路,进行人工检查,有必要地话,及时屏蔽该文件的下载界面,避免出现大范围的无效下载。
图9是根据本申请实施例二的文件校验装置的结构图二,该装置可以用于源站90,如图9所示,该装置包括:
第二接收模块902,用于接收来自于内容分发网络服务器的下载请求,其中,所述下载请求用于从源站获取待下载文件;
计算模块904,用于采用预设校验方式计算与所述待下载文件关联的校验信息;
发送模块906,用于将所述待下载文件和所述校验信息下发至所述内容分发网络服务器。
在上述方案中,接收到内容分发网络发送的下载请求后,采用预设校验方式计算出下载文件关系的校验信息,后续将该待下载文件和校验信息下发给内容分发服务器,便于内容分发网络服务器确定待下载文件是否完整,是否与当初从源站获取的文件发生了变化。采用上述技术方案,避免了内容分发网络器下载到错误的文件,进而解决了相关技术中CDN上文件错误导致用户下载无效的技术问题。
此处需要说明的是,上述第一接收模块802、校验模块804、确定模块806对应于实施例1中的步骤S402至步骤S406,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的内容分发网络服务器20中。上述第二接收模块902、计算模块904、发送模块906对应于实施例1中的步骤S502至步骤S506,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的源站中。
实施例3
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行文件校验方法中以下步骤的程序代码:内容分发网络CDN系统接收来自于源站的文件以及与所述文件关联的第一校验信息;所述CDN系统采用与获取所述第一校验信息相同的校验方式对所述文件进行校验,得到第二校验信息;所述CDN系统根据所述第一校验信息与所述第二校验信息的比较结果确定所述文件是否出现异常。
或者用于执行以下步骤中的程序代码:接收来自于内容分发网络服务器的下载请求,其中,所述下载请求用于从源站获取待下载文件;采用预设校验方式计算与所述待下载文件关联的校验信息;将所述待下载文件和所述校验信息下发至所述内容分发网络服务器。
可选地,图10是根据本申请实施例三的一种计算机终端的结构框图,如图10所示,该计算机终端100可以包括:一个或多个(图中仅示出一个)处理器1002、存储器1004。
其中,存储器1004可用于存储软件程序以及模块,如本申请实施例中的文件校验方法和装置对应的程序指令/模块,处理器1002通过运行存储在存储器1004内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的文件校验方法。存储器1004可包括高速随机存储器1004,还可以包括非易失性存储器1004,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器1004。在一些实例中,存储器1004可进一步包括相对于处理器1002远程设置的存储器1004,这些远程存储器1004可以通过网络连接至终端100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器1002可以通过传输装置调用存储器1004存储的信息及应用程序,以执行下述步骤:
内容分发网络CDN系统接收来自于源站的文件以及与所述文件关联的第一校验信息;
所述CDN系统采用与获取所述第一校验信息相同的校验方式对所述文件进行校验,得到第二校验信息;
所述CDN系统根据所述第一校验信息与所述第二校验信息的比较结果确定所述文件是否出现异常。
可选的,上述处理器1002还可以执行如下步骤的程序代码:
如果所述第一校验信息与所述第二校验信息的比较结果一致,则确定所述下载文件下载成功;
如果所述第一校验信息与所述第二校验信息的比较结果不一致,则确定所述下载文件出现异常。
可选的,上述处理器1002还可以执行如下步骤的程序代码:在确定所述下载文件出现异常之后,触发对所述下载文件的刷新操作,恢复所述下载文件。
可选的,上述处理器1002还可以执行如下步骤的程序代码:在确定所述下载文件出现异常之后,如果通过执行多次刷新操作仍然无法恢复所述下载文件,则重新向所述源站获取所述下载文件或者屏蔽向所述源站获取所述下载文件的请求。
可选的,上述处理器1002还可以执行如下步骤的程序代码:在确定所述下载文件出现异常之后,发出告警消息,其中,所述告警消息用于提示所述下载文件出现异常。
采用本申请实施例,接收来自于源站的下载文件以及与下载文件关联的第一校验信息,内容分发网络服务器采用与该第一校验相同的校验方式对上述下载进行校验,得到第二校验信息,根据第一校验信息与第二校验信息的比较结果确定上述下载文件是否出现异常,采用上述技术方案,内容分发网络服务器及时对下载文件进行校验,得到的校验结果与源站下发的校验信息进行比较,确定下载文件是否完整,是否有删改,避免了内容分发网络器下载到错误的文件,进而解决了相关技术中CDN上文件错误导致用户下载无效。
上述处理器1002可以通过传输装置调用存储器1004存储的信息及应用程序,以执行下述步骤:
接收来自于内容分发网络服务器的下载请求,其中,所述下载请求用于从源站获取待下载文件;
采用预设校验方式计算与所述待下载文件关联的校验信息;
将所述待下载文件和所述校验信息下发至所述内容分发网络服务器。
通过上述步骤,接收到内容分发网络发送的下载请求后,采用预设校验方式计算出下载文件关系的校验信息,后续将该待下载文件和校验信息下发给内容分发服务器,便于内容分发网络服务器确定待下载文件是否完整,是否与当初从源站获取的文件发生了变化。采用上述技术方案,避免了内容分发网络器下载到错误的文件,进而解决了相关技术中CDN上文件错误导致用户下载无效的技术问题。
本领域普通技术人员可以理解,图10所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备 (MobileInternet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,计算机终端100还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器1004(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的文件校验方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
内容分发网络CDN系统接收来自于源站的文件以及与所述文件关联的第一校验信息;
所述CDN系统采用与获取所述第一校验信息相同的校验方式对所述文件进行校验,得到第二校验信息;
所述CDN系统根据所述第一校验信息与所述第二校验信息的比较结果确定所述文件是否出现异常。
可选的,上述存储介质被设置为存储用于执行如下步骤的程序代码:
如果所述第一校验信息与所述第二校验信息的比较结果一致,则确定所述下载文件下载成功;
如果所述第一校验信息与所述第二校验信息的比较结果不一致,则确定所述下载文件出现异常。
可选的,上述存储介质被设置为存储用于执行如下步骤的程序代码:在确定所述下载文件出现异常之后,触发对所述下载文件的刷新操作,恢复所述下载文件。
可选的,上述存储介质被设置为存储用于执行如下步骤的程序代码:在确定所述下载文件出现异常之后,如果通过执行多次刷新操作仍然无法恢复所述下载文件,则重新向所述源站获取所述下载文件或者屏蔽向所述源站获取所述下载文件的请求。
可选的,上述存储介质被设置为存储用于执行如下步骤的程序代码:在确定所述下载文件出现异常之后,发出告警消息,其中,所述告警消息用于提示所述下载文件出现异常。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
接收来自于内容分发网络服务器的下载请求,其中,所述下载请求用于从源站获取待下载文件;
采用预设校验方式计算与所述待下载文件关联的校验信息;
将所述待下载文件和所述校验信息下发至所述内容分发网络服务器。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器1004(ROM, Read-Only Memory)、随机存取存储器1004(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种文件校验方法,其特征在于,包括:
内容分发网络CDN系统接收来自于源站的文件以及与所述文件关联的第一校验信息;
所述CDN系统采用与获取所述第一校验信息相同的校验方式对所述文件进行校验,得到第二校验信息;
所述CDN系统根据所述第一校验信息与所述第二校验信息的比较结果确定所述文件是否出现异常。
2.根据权利要求1所述的方法,其特征在于,所述CDN系统根据所述第一校验信息与所述第二校验信息的比较结果确定所述文件是否出现异常包括:
如果所述第一校验信息与所述第二校验信息的比较结果一致,则所述CDN系统确定所述文件下载成功;
如果所述第一校验信息与所述第二校验信息的比较结果不一致,则所述CDN系统确定所述文件出现异常。
3.根据权利要求2所述的方法,其特征在于,在所述CDN系统确定所述文件出现异常之后,还包括:
所述CDN系统触发对所述文件的刷新操作,将下载未成功的文件废止并从所述源站重新下载所述文件。
4.根据权利要求3所述的方法,其特征在于,在所述CDN系统确定所述文件出现异常之后,还包括:
如果通过执行多次刷新操作仍然无法恢复所述文件,则所述CDN系统屏蔽向所述源站获取所述文件的请求。
5.根据权利要求2至4中任一项所述的方法,其特征在于,在所述CDN系统确定所述文件出现异常之后,还包括:
所述CDN系统在本地以及与所述CDN系统关联的CDN用户发出告警消息,其中,所述告警消息用于提示所述文件出现异常。
6.一种文件校验装置,包括处理器和非暂态存储介质,所述非暂态存储介质存储指令集,所述指令集被处理器执行时可实现权利要求1至5中任意一项所述的方法。
7.一种内容分发网络CDN系统,其特征在于,包括:
第一处理器;以及
第一存储器,与所述第一处理器连接,用于为所述第一处理器提供处理以下处理步骤的指令:
步骤1,接收来自于源站的文件以及与所述文件关联的第一校验信息;
步骤2,采用与获取所述第一校验信息相同的校验方式对所述文件进行校验,得到第二校验信息;
步骤3,根据所述第一校验信息与所述第二校验信息的比较结果确定所述文件是否出现异常。
8.一种源站,其特征在于,包括:
第二处理器;以及
第二存储器,与所述第二处理器连接,用于为所述第二处理器提供处理以下处理步骤的指令:
步骤1,接收来自于内容分发网络服务器的下载请求,其中,所述下载请求用于从源站获取文件;
步骤2,采用预设校验方式计算与所述文件关联的校验信息;
步骤3,将所述文件和所述校验信息下发至所述内容分发网络服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811045269.6A CN110889143B (zh) | 2018-09-07 | 2018-09-07 | 文件校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811045269.6A CN110889143B (zh) | 2018-09-07 | 2018-09-07 | 文件校验方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110889143A true CN110889143A (zh) | 2020-03-17 |
CN110889143B CN110889143B (zh) | 2023-05-30 |
Family
ID=69744709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811045269.6A Active CN110889143B (zh) | 2018-09-07 | 2018-09-07 | 文件校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110889143B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113300875A (zh) * | 2021-02-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 回源数据校验方法、服务器、系统及存储介质 |
CN113535462A (zh) * | 2021-07-14 | 2021-10-22 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种内容分发网络的资源校验方法及装置 |
CN113590994A (zh) * | 2021-08-02 | 2021-11-02 | 北京金山云网络技术有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN114944990A (zh) * | 2021-02-07 | 2022-08-26 | 中移(苏州)软件技术有限公司 | 一种虚拟化网络功能模块包的校验及异常处理方法、装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103269351A (zh) * | 2012-12-07 | 2013-08-28 | 北京奇虎科技有限公司 | 一种文件下载方法和装置 |
US20140068005A1 (en) * | 2012-08-31 | 2014-03-06 | Microsoft Corporation | Identification, caching, and distribution of revised files in a content delivery network |
CN104283933A (zh) * | 2013-07-12 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 下载数据的方法、客户端及系统 |
CN104735086A (zh) * | 2015-04-14 | 2015-06-24 | 广东欧珀移动通信有限公司 | 一种文件的安全下载方法和装置 |
CN107517194A (zh) * | 2016-06-17 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种内容分发网络的回源认证方法和装置 |
CN107770213A (zh) * | 2016-08-18 | 2018-03-06 | 中兴通讯股份有限公司 | 数据处理方法、装置、服务器及终端 |
CN108282543A (zh) * | 2018-03-05 | 2018-07-13 | 北京云端智度科技有限公司 | 一种cdn节点内容校验方法和系统 |
-
2018
- 2018-09-07 CN CN201811045269.6A patent/CN110889143B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140068005A1 (en) * | 2012-08-31 | 2014-03-06 | Microsoft Corporation | Identification, caching, and distribution of revised files in a content delivery network |
CN103269351A (zh) * | 2012-12-07 | 2013-08-28 | 北京奇虎科技有限公司 | 一种文件下载方法和装置 |
CN104283933A (zh) * | 2013-07-12 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 下载数据的方法、客户端及系统 |
CN104735086A (zh) * | 2015-04-14 | 2015-06-24 | 广东欧珀移动通信有限公司 | 一种文件的安全下载方法和装置 |
CN107517194A (zh) * | 2016-06-17 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种内容分发网络的回源认证方法和装置 |
CN107770213A (zh) * | 2016-08-18 | 2018-03-06 | 中兴通讯股份有限公司 | 数据处理方法、装置、服务器及终端 |
CN108282543A (zh) * | 2018-03-05 | 2018-07-13 | 北京云端智度科技有限公司 | 一种cdn节点内容校验方法和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114944990A (zh) * | 2021-02-07 | 2022-08-26 | 中移(苏州)软件技术有限公司 | 一种虚拟化网络功能模块包的校验及异常处理方法、装置 |
CN114944990B (zh) * | 2021-02-07 | 2023-11-03 | 中移(苏州)软件技术有限公司 | 一种虚拟化网络功能模块包的校验及异常处理方法、装置 |
CN113300875A (zh) * | 2021-02-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 回源数据校验方法、服务器、系统及存储介质 |
CN113535462A (zh) * | 2021-07-14 | 2021-10-22 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种内容分发网络的资源校验方法及装置 |
CN113590994A (zh) * | 2021-08-02 | 2021-11-02 | 北京金山云网络技术有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110889143B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110889143A (zh) | 文件校验方法及装置 | |
CN106997314B (zh) | 用于分布式系统的异常处理方法、装置及系统 | |
CN110209405B (zh) | 分布式系统的自动化升级方法及装置 | |
CN109391673B (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN106843957A (zh) | 系统固件升级方法及装置 | |
CN109491698A (zh) | 基于热补丁的系统更新方法及装置 | |
CN110650164B (zh) | 文件的上传方法、装置、终端以及计算机存储介质 | |
CN110633092A (zh) | 用于ota升级的服务端及嵌入式设备升级方法及装置 | |
CN108509322B (zh) | 避免过度回访的方法、电子装置及计算机可读存储介质 | |
CN105303103A (zh) | 保护移动终端中的服务进程的方法和移动终端 | |
US11281446B2 (en) | Updating method, terminal and electronic device | |
CN113709247A (zh) | 资源获取方法、装置、系统、电子设备及存储介质 | |
CN110958287A (zh) | 操作对象数据同步方法、装置及系统 | |
CN103139820A (zh) | 一种链路检测方法及网元 | |
CN111158716B (zh) | 版本升级调用方法、装置、计算机系统及可读存储介质 | |
CN106528248B (zh) | 一种移动终端基于软件完整性的下载方法及系统 | |
CN115865895A (zh) | 一种文件上传方法、装置及存储介质 | |
US10979287B2 (en) | Method and apparatus for receiving a solution when configuration function verification fails in a terminal | |
CN112688905B (zh) | 数据传输方法、装置、客户端、服务器及存储介质 | |
EP2798783A1 (en) | Method for establishing secure card history and audit for property hand-over | |
CN112134951A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN115242615B (zh) | 服务器的运行管理方法、装置、电子设备及存储介质 | |
CN112436953B (zh) | 页面数据备份、容灾页面显示方法及装置 | |
CN110659174A (zh) | 监控告警方法、装置和系统 | |
CN114301969B (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 |