CN112866310B - Cdn回源的校验方法和校验服务器、cdn集群 - Google Patents

Cdn回源的校验方法和校验服务器、cdn集群 Download PDF

Info

Publication number
CN112866310B
CN112866310B CN201911102928.XA CN201911102928A CN112866310B CN 112866310 B CN112866310 B CN 112866310B CN 201911102928 A CN201911102928 A CN 201911102928A CN 112866310 B CN112866310 B CN 112866310B
Authority
CN
China
Prior art keywords
source
url
cache server
cdn
server
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.)
Active
Application number
CN201911102928.XA
Other languages
English (en)
Other versions
CN112866310A (zh
Inventor
王永强
年彦东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201911102928.XA priority Critical patent/CN112866310B/zh
Priority to PCT/CN2020/126881 priority patent/WO2021093675A1/zh
Publication of CN112866310A publication Critical patent/CN112866310A/zh
Application granted granted Critical
Publication of CN112866310B publication Critical patent/CN112866310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书实施例公开了CDN回源的校验方法和校验服务器、计算机可读存储介质和CDN集群。本说明书的一个实施例提供的校验方法,由CDN集群内的校验服务器实施,包括步骤:获取CDN集群内的缓存服务器的回源URL;根据所述回源URL,从CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源;按照第一算法基于获取到的完整资源计算第一校验值;获取源站按照第一算法基于所述源站存储的与所述回源URL对应的完整资源生成的第二校验值;在回源URL对应的第一校验值和第二校验值相同的情况下,确定校验成功。

Description

CDN回源的校验方法和校验服务器、CDN集群
技术领域
本说明书涉及计算机技术领域,更具体地,涉及CDN回源的校验方法、CDN回源的校验服务器、计算机可读存储介质、以及CDN集群。
背景技术
CDN(ContentDeliveryNetwork,内容分发网络)是一种通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的智能虚拟网络。CDN能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求导向离用户最近的服务节点上,其目的是能够选择离用户相对较近的节点向用户发送用户所需的内容,缓解网络拥挤的状况,提高网站的响应速度。
当用户想要访问某个资源时,如果被指向的缓存服务器没有缓存该资源或者缓存的该资源已经过期,该缓存服务器就会去相应的源站获取资源,然后提供给用户。缓存服务器根据用户终端的请求向相应源站获取资源的过程称之为CDN回源。
缓存服务器回源获取到资源后,需要校验获取到的资源和源站上的资源是否一致,这会给缓存服务器带来很大的负担。因此,有必要提供一种新的CDN回源的校验方案。
发明内容
本说明书公开的实施例提供关于CDN回源校验的新方案。
根据本说明书公开的第一方面,提供了CDN回源的校验方法,由CDN集群内的校验服务器实施,包括以下步骤:
获取内容分发网络CDN集群内的缓存服务器的回源URL;
根据所述回源URL,从所述CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源;
按照第一算法基于获取到的所述完整资源计算得到第一校验值;
获取源站按照所述第一算法基于所述源站存储的与所述回源URL对应的完整资源生成的第二校验值;
在所述回源URL对应的第一校验值和第二校验值相同的情况下,确定与所述回源URL对应的资源校验成功。
可选地或者优选地,在所述回源URL对应的第一校验值和第二校验值不同的情况下,向所述CDN集群的缓存服务器发出删除与所述回源URL对应的资源的通知。
可选地或者优选地,在从所述CDN集群的缓存服务器处接收到删除已成功的消息后,根据所述回源URL,从所述CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源。
可选地或者优选地,在发出所述通知经过预设时间后,根据所述回源URL,从所述CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源。
可选地或者优选地,所述获取CDN集群内的缓存服务器的回源URL,包括:定期获取CDN集群内的缓存服务器的回源日志,所述回源日志中含有所述回源URL。
可选地或者优选地,所述根据所述回源URL,从所述CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源,包括:
执行所述回源URL,向所述CDN集群内的缓存服务器发送第一请求,其中,所述第一请求用于请求与所述回源URL相匹配的资源;
获取所述CDN集群内的缓存服务器响应所述第一请求发送的资源。
可选地或者优选地,在执行所述回源URL之前,还包括:对获取的所述回源URL进行去重处理。
可选地或者优选地,在所述CDN集群的闲时时段执行所述回源URL。
可选地或者优选地,所述获取源站按照第一算法基于所述源站存储的与所述回源URL对应的完整资源生成的第二校验值,包括:
根据所述回源URL向所述源站的目标查询接口查询获得所述第二校验值,其中,所述目标查询接口与所述回源URL相匹配;或者,
获取所述源站发送给缓存服务器的URL响应头信息,从所述URL响应头信息中获取所述第二校验值。
根据本说明书公开的第二方面,提供了CDN回源的校验服务器,包括以下模块:
第一获取模块,用于获取内容分发网络CDN集群内的缓存服务器的回源URL;
第二获取模块,用于根据所述回源URL,从所述CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源;
计算模块,用于按照第一算法基于获取到的所述完整资源计算得到第一校验值;
第三获取模块,用于获取源站按照所述第一算法基于所述源站存储的与所述回源URL对应的完整资源生成的第二校验值;
校验模块,用于在所述回源URL对应的第一校验值和第二校验值相同的情况下,确定与所述回源URL对应的资源校验成功。
根据本说明书公开的第三方面,提供了CDN回源的校验服务器,包括存储器和处理器;所述存储器上存储有计算机指令,所述计算机指令被所述处理器执行时实现前述任一项所述的校验方法。
根据本说明书公开的第四方面,提供了计算机可读存储介质,其上存储有计算机指令,所述计算机指令被执行时实现前述任一项所述的校验方法。
根据本说明书公开的第五方面,提供了CDN集群,包括至少一台前述任一项所述的校验服务器和多台缓存服务器。
可选地或者优选地,所述校验服务器用于执行回源校验;所述缓存服务器不执行所述回源校验,或者,所述缓存服务器不具有回源校验功能。
本说明书公开的实施例提供的CDN回源校验方案,利用校验服务器对回源获得的资源的一致性进行校验,将校验资源一致性的工作从缓存服务器中剥离,不会对缓存服务器造成很大压力。
通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的实施例的特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书实施例的原理。
图1是本说明书一个实施例提供的CDN集群的示意图;
图2是图1的CDN集群中的服务器的硬件配置示意图;
图3是本说明书一个实施例提供的CDN回源的校验方法的流程图;
图4是本说明书一个实施例提供的校验服务器的框图;
图5是本说明书一个实施例提供的校验服务器的框图。
具体实施方式
现在将参照附图来详细描述本说明书的各种示例性实施例。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本说明书实施例及其应用或使用的任何限制。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<CDN集群>
参考图1和图2所示,说明本说明书实施例提供的CDN集群。
如图1所示,CDN集群包括多台缓存服务器。缓存服务器是CDN中最基本的内容服务单元,用于响应用户的访问请求把缓存在本地的内容快速的提供给用户,同时缓存服务器还需要与源站进行内容同步。在本说明书中的这一实施例中,CDN集群中还包括至少一台校验服务器,由校验服务器对缓存服务器的回源进行验证。
源站是提供资源的原始站点,其使用CDN提供的内容分发服务。当用户通过终端请求源站的资源时,如果被指向的缓存服务器缓存有该资源,由被指向的缓存服务器向用户的终端返回该资源;如果被指向的缓存服务器没有缓存该资源或者缓存的该资源已经过期,该缓存服务器就会去相应的源站获取资源,也就是进行回源,该缓存服务器从源站获取到资源后进行缓存并返回给用户的终端。
图1中示意性的示出了两个源站和两个终端,在实际应用中,一个CDN集群可以为一个或者多个源站提供内容分发服务,接收并且响应大量终端的访问。
缓存服务器在回源的时候,可以采取分片式回源,即将一个大的资源文件分成若干个小文件进行多次回源。此外,用户可能请求的不是完整资源,而仅仅是完整资源的一部分,在这种情况下,缓存服务器只对这部分资源进行回源。例如,假设一个文件的大小为1GB,用户只想请求其中的一部分(例如只想请求该文件中1MB的内容),此时如果CDN没有缓存该文件,需要向源站拉取内容。如果不采取分片回源,CDN需要将1G大小的文件全部缓存到本地,然后才能响应给用户需要的部分,造成延时时间过长,用户体验太差。如果采用分片式回源,CDN只需要从源站请求相应的部分,将这部分缓存下来后响应给用户,延时时间大大降低。
缓存服务器和校验服务器的硬件配置可以分别参见图2所示。图2示出了一种服务器的硬件配置。该服务器的配置可以包括但不限于处理器1110、存储器1120、接口装置1130、通信装置1140、输入装置1150、输出装置1160。处理器1110可以包括但不限于中央处理器CPU、微处理器MCU等。存储器1120可以包括但不限于ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130可以包括但不限于USB接口、串行接口、并行接口等。通信装置1140例如能够进行有线通信或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。输入装置1150包括但不限于键盘、鼠标、触摸屏、麦克风等。输出装置1160包括但不限于显示屏、扬声器等。缓存服务器和校验服务器的硬件配置也可以仅包括上述装置中的部分装置。
CDN集群还可以包括负载均衡服务器和运营管理服务器(图1中没有示出),这里不做过多说明。
图2所示的服务器的配置仅仅是说明性的并且绝不意味着对本说明书实施例、其应用或使用的任何限制。本领域技术人员应当理解,尽管前面描述了缓存服务器和校验服务器的多个装置,但是,本说明书实施例可以仅涉及其中的部分装置。例如,缓存服务器和校验服务器可以只涉及处理器、存储器以及通信装置。本领域技术人员可以根据本说明书所公开的方案设计指令。指令如何控制处理器进行操作,是本领域公知技术,故在此不再详细描述。
<校验方法>
参见图3所示,提供了一种CDN回源的校验方法,由CDN集群内的校验服务器实施,包括以下步骤:
步骤202、获取内容分发网络CDN集群内的缓存服务器的回源URL。
缓存服务器进行回源请求时,是根据终端想要获取的资源的URL(UniformResource Locator,统一资源定位符)从源站请求资源,将回源请求要获取的资源的URL称之为回源URL。
缓存服务器进行回源操作时会生成回源日志,回源URL会记录在回源日志中。因此,校验服务器可以定期获取CDN集群内的缓存服务器的回源日志,从回源日志中提取出回源URL。在一个具体的例子中,CDN集群内的每一台缓存服务器都会定期切割本服务器的回源日志(例如每十分钟切割一次),然后上报给校验服务器。
缓存服务器可能会对资源文件采取分片式地多次回源,相应地会产生多条回源日志,这些回源日志中的回源URL是重复的。校验服务器获取到CDN集群内的缓存服务器的回源URL后,可以对获取的回源URL进行去重处理,以避免后续做重复操作。
步骤204、根据获取的回源URL,从CDN集群内的缓存服务器处获取与回源URL对应的完整资源。
校验服务器根据回源URL,从CDN集群内的缓存服务器处获取与回源URL对应的完整资源,包括:
校验服务器执行该回源URL,向CDN集群内的缓存服务器发送第一请求,其中,第一请求用于请求与该回源URL相匹配的资源。
CDN集群内的缓存服务器在接收到第一请求后,向校验服务器发送与该回源URL相匹配的资源。
校验服务器获取CDN集群内的缓存服务器响应于第一请求而发送的资源,也就是与该回源URL相匹配的资源。
检验服务器执行回源URL,即向缓存服务器请求回源URL所对应的完整资源。也就是说,检验服务器模拟了终端向缓存服务器请求完整资源的过程。
步骤202获得的回源URL可能是大量的,可以建立回源URL链表,校验服务器自动识别回源URL链表,分别执行回源URL链表中的每条回源URL。
步骤204可以挑选CDN集群的闲时时段执行,例如,在每天的凌晨2点执行回源URL,以避免在忙时时段增大缓服务器的压力。步骤204也可以按照缓存服务器上报回源日志的周期进行,即在每个回源日志上报周期后,执行步骤204。
步骤206、按照第一算法基于获取到的完整资源计算得到第一校验值。
在一个具体的例子中,第一算法为MD5算法(Message-Digest Algorithm,信息-摘要算法),第一校验值为MD5值。MD5算法为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。只有两份数据一模一样的情况下,利用两份数据分别生成的MD5值才会是一致的,后续可以利用MD5算法校验数据的一致性。
步骤210、比较同一个回源URL对应的第一校验值和第二校验值是否相同。
第二校验值,是源站按照第一算法基于源站存储的与回源URL对应的完整资源生成。
在步骤210比较第一校验值和第二校验值是否相同之前,需要先获取到第二校验值。本说明书实施例中提供两种方式获取第二校验值。
第一种方式,源站为每条URL提供对应的查询接口。校验服务器根据回源URL向源站的目标查询接口查询获得该回源URL的第二校验值,其中,目标查询接口与回源URL相匹配。
第二种方式,缓存服务器每次进行回源请求时,源站发送对回源请求的响应给缓存服务器,源站可以将第二校验值附加在响应头中,将附加有第二校验值的响应头称之为URL响应头信息。缓存服务器定期将URL响应头信息上报至校验服务器。校验服务器获取到URL响应头信息后,从URL响应头信息中获取所述第二校验值。
对同一回源URL对应的第一校验值和第二校验值进行比较。如果两者一致,说明缓存服务器中存储的该回源URL的资源文件和源站存储的该回源URL的资源文件是一模一样的,跳转到步骤340,确定本条回源URL校验通过。如果两者不一致,说明缓存服务器中存储的该回源URL的资源文件存在问题,跳转到步骤320,需要刷新回源URL。
关于步骤320,校验服务器向CDN集群的缓存服务器发出删除与该回源URL对应的资源的通知,缓存服务器接收到通知后,删除与该回源URL对应的资源,即实现了刷新。
在一个具体的例子中,在步骤320之后,缓存服务器删除与该回源URL对应的资源后,向校验服务器发送删除已成功的消息。校验服务器从CDN集群的缓存服务器处接收到删除已成功的消息后,根据所述回源URL从CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源。在另一个具体的例子中,校验服务器在发出所述通知后,经过预设时间,根据所述回源URL从CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源。也就是说,如果本条回源URL的校验没有通过,缓存服务器需要删除与本条回源URL对应的资源,并且在删除后要进行再次回源重新获取与本条回源URL对应的完整资源,由此进一步确保文件的一致性,使得CDN缓存的数据更加准确。
本说明书公开的一个实施例提供的CDN回源的校验方法,利用校验服务器对回源获得的资源文件的一致性进行校验,将校验资源文件一致性的工作从缓存服务器中剥离,不会对缓存服务器造成很大压力。
本说明书公开的一个实施例提供的CDN回源的校验方法,由于校验服务器和缓存服务器在同一个CDN集群中,两者之间的交互走的是内网,没有增加CDN和源站的额外带宽等费用支出,还可以离线操作,不受线上影响。因此,不影响CDN集群的既有逻辑,和其他的设备、组件无耦合。
本说明书公开的一个实施例提供的CDN回源的校验方法,将校验资源一致性的工作从缓存服务器中剥离,不影响缓存服务器的分片回源逻辑。不管缓存服务器在之前回源时请求的是完整资源文件还是部分文件,校验服务器在执行回源URL的时候,都会向缓存服务器请求完整资源文件。如果检验服务器请求完整资源文件时,缓存服务器中只有部分文件,缓存服务器会向源站请求完整资源文件,也就是进行再一次的回源。通过这一方式,确保所有需要回源的URL的完整资源文件都下沉到CDN集群中,以后的真实服务无需再次回源站拉取内容,提高CDN的缓存命中率,缩短CDN的响应时间。
本说明书公开的一个实施例提供的CDN回源的校验方法,可以按照预设的周期自动进行回源校验,确保文件一致性,使得CDN缓存的数据更加准确。
<校验服务器>
参见图4所示,介绍本发明实施例的校验服务器。该校验服务器700包括以下模块:
第一获取模块710,用于获取内容分发网络CDN集群内的缓存服务器的回源URL。
第二获取模块720,用于根据所述回源URL,从CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源。
计算模块730,用于根据所述回源URL,从CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源。
第三获取模块740,用于获取源站按照第一算法基于所述源站存储的与所述回源URL对应的完整资源生成的第二校验值。
校验模块750,用于在所述回源URL对应的第一校验值和第二校验值相同的情况下,确定与所述回源URL对应的资源校验成功。
在一个具体的例子中,校验模块750,还用于在所述回源URL对应的第一校验值和第二校验值不同的情况下,向CDN集群的缓存服务器发出删除与所述回源URL对应的资源的通知。
在一个具体的例子中,校验模块750,还用于在从CDN集群的缓存服务器处接收到删除已成功的消息后,根据所述回源URL,从CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源;
在一个具体的例子中,校验模块750,还用于在发出所述通知经过预设时间后,根据所述回源URL,从CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源。
在一个具体的例子中,所述获取CDN集群内的缓存服务器的回源URL,包括:定期获取CDN集群内的缓存服务器的回源日志,所述回源日志中含有所述回源URL。
在一个具体的例子中,所述根据所述回源URL,从CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源,包括:执行所述回源URL,向CDN集群内的缓存服务器发送第一请求,其中,所述第一请求用于请求与所述回源URL相匹配的资源;获取CDN集群内的缓存服务器响应所述第一请求发送的资源。
在一个具体的例子中,第一获取模块710包括去重单元。所述去重单元,用于对获取的所述回源URL进行去重处理。
在一个具体的例子中,第二获取模块720用于在CDN集群的闲时时段执行所述回源URL。
在一个具体的例子中,第一算法为MD5算法。
在一个具体的例子中,源站每条URL提供对应的查询接口。第三获取模块740还包括查询单元。
所述查询单元,用于根据所述回源URL向所述源站的目标查询接口查询获得第二校验值,其中,所述目标查询接口与所述回源URL相匹配。
在一个具体的例子中,第三获取模块740包括响应头获取单元。
所述响应头获取单元,用于获取所述源站发送给缓存服务器的URL响应头信息,从所述URL响应头信息中获取第二校验值。
图5是本说明书的一个实施例提供的校验服务器800的示意图,该校验服务器800包括存储器802和处理器801。
存储器802中存储有计算机程序,所述计算机程序被处理器801执行时实现前述任一实施例公开的CDN回源的校验方法。
本说明书公开的一个实施例提供的校验服务器,可以对回源获得的资源文件的一致性进行校验,将校验资源文件一致性的工作从缓存服务器中剥离,不会对缓存服务器造成很大压力。
本说明书公开的一个实施例提供的校验服务器,由于校验服务器和缓存服务器在同一个CDN集群中,两者之间的交互走的是内网,没有增加CDN和源站的额外带宽等费用支出,还可以离线操作,不受线上影响。因此,不影响CDN集群的既有逻辑,和其他的设备、组件无耦合。
本说明书公开的一个实施例提供的校验服务器,将校验资源一致性的工作从缓存服务器中剥离,不影响缓存服务器的分片回源逻辑。不管缓存服务器在之前回源时请求的是完整资源文件还是部分文件,校验服务器在执行回源URL的时候,都会向缓存服务器请求完整资源文件。如果检验服务器请求完整资源文件时,缓存服务器中只有部分文件,缓存服务器会向源站请求完整资源文件,也就是进行再一次的回源。通过这一方式,确保所有需要回源的URL的完整资源文件都下沉到CDN集群中,以后的真实服务无需再次回源站拉取内容,提高CDN的缓存命中率,缩短CDN的响应时间。
本说明书公开的一个实施例提供的校验服务器,可以按照预设的周期自动进行回源校验,确保文件一致性,使得CDN缓存的数据更加准确。
<计算机可读介质>
本说明书的一个实施例还提供了一种计算机可读介质,其上存储有计算机程序,当计算机程序被处理器执行时实现前述任一实施例公开的CDN回源的校验方法。
<CDN集群>
本说明书的一个实施例还提供了一种CDN集群,包括至少一台校验服务器和多台缓存服务器。
其中,所述校验服务器用于执行回源校验;所述缓存服务器不执行回源校验,或者,所述缓存服务器不具有回源校验功能。
由校验服务器按照前述任一实施例公开的CDN回源的校验方法,对缓存服务器的CDN回源进行校验。
在一个具体的例子中,CDN集群内包含两台校验服务器,两台校验服务器互为备份,以提升系统的可靠性。
本说明书公开的一个实施例提供的CDN集群,可以对回源获得的资源文件的一致性进行校验,将校验资源文件一致性的工作从缓存服务器中剥离,不会对缓存服务器造成很大压力。
本说明书公开的一个实施例提供的CDN集群,由于校验服务器和缓存服务器在同一个CDN集群中,两者之间的交互走的是内网,没有增加CDN和源站的额外带宽等费用支出,还可以离线操作,不受线上影响。因此,不影响CDN集群的既有逻辑,和其他的设备、组件无耦合。
本说明书公开的一个实施例提供的CDN集群,将校验资源一致性的工作从缓存服务器中剥离,不影响缓存服务器的分片回源逻辑。不管缓存服务器在之前回源时请求的是完整资源文件还是部分文件,校验服务器在执行回源URL的时候,都会向缓存服务器请求完整资源文件。如果检验服务器请求完整资源文件时,缓存服务器中只有部分文件,缓存服务器会向源站请求完整资源文件,也就是进行再一次的回源。通过这一方式,确保所有需要回源的URL的完整资源文件都下沉到CDN集群中,以后的真实服务无需再次回源站拉取内容,提高CDN的缓存命中率,缩短CDN的响应时间。
本说明书公开的一个实施例提供的CDN集群,可以按照预设的周期自动进行回源校验,确保文件一致性,使得CDN缓存的数据更加准确。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书的实施例可以是系统、方法、和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本说明书实施例的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本说明书的实施例操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本说明书实施例的各个方面。
这里参照根据本说明书实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本说明书实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本说明书的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本说明书的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种CDN回源的校验方法,其特征在于,由CDN集群内的校验服务器实施,包括以下步骤:
获取内容分发网络CDN集群内的缓存服务器的回源URL;
根据所述回源URL,从所述CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源;
按照第一算法基于获取到的所述完整资源计算得到第一校验值;
获取源站按照所述第一算法基于所述源站存储的与所述回源URL对应的完整资源生成的第二校验值;
在所述回源URL对应的第一校验值和所述第二校验值相同的情况下,确定与所述回源URL对应的资源校验成功;
在所述回源URL对应的第一校验值和第二校验值不同的情况下,向所述CDN集群的缓存服务器发出删除与所述回源URL对应的资源的通知。
2.根据权利要求1所述的方法,其特征在于,在从所述CDN集群的缓存服务器处接收到删除已成功的消息后,根据所述回源URL,从所述CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源;或者,
在发出所述通知经过预设时间后,根据所述回源URL,从所述CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源。
3.根据权利要求1所述的方法,其特征在于,所述获取CDN集群内的缓存服务器的回源URL,包括:
定期获取CDN集群内的缓存服务器的回源日志,所述回源日志中含有所述回源URL。
4.根据权利要求1所述的方法,其特征在于,所述根据所述回源URL,从所述CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源,包括:
执行所述回源URL,向所述CDN集群内的缓存服务器发送第一请求,其中,所述第一请求用于请求与所述回源URL相匹配的资源;
获取所述CDN集群内的缓存服务器响应所述第一请求发送的资源。
5.根据权利要求1所述的方法,其特征在于,在执行所述回源URL之前,还包括:
对获取的所述回源URL进行去重处理。
6.根据权利要求1所述的方法,其特征在于,所述获取源站按照第一算法基于所述源站存储的与所述回源URL对应的完整资源生成的第二校验值,包括:
根据所述回源URL向所述源站的目标查询接口查询获得所述第二校验值,其中,所述目标查询接口与所述回源URL相匹配;或者,
获取所述源站发送给缓存服务器的URL响应头信息,从所述URL响应头信息中获取所述第二校验值。
7.一种CDN回源的校验服务器,其特征在于,包括以下模块:
第一获取模块,用于获取内容分发网络CDN集群内的缓存服务器的回源URL;
第二获取模块,用于根据所述回源URL,从所述CDN集群内的缓存服务器处获取与所述回源URL对应的完整资源;
计算模块,用于按照第一算法基于获取到的所述完整资源计算得到第一校验值;
第三获取模块,用于获取源站按照所述第一算法基于所述源站存储的与所述回源URL对应的完整资源生成的第二校验值;
校验模块,用于在所述回源URL对应的第一校验值和所述第二校验值相同的情况下,确定与所述回源URL对应的资源校验成功;在所述回源URL对应的第一校验值和第二校验值不同的情况下,向所述CDN集群的缓存服务器发出删除与所述回源URL对应的资源的通知。
8.一种CDN回源的校验服务器,其特征在于,包括存储器和处理器;所述存储器上存储有计算机指令,所述计算机指令被所述处理器执行时实现权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述计算机指令被执行时实现权利要求1-6任一项所述的方法。
10.一种CDN集群,其特征在于,包括至少一台根据权利要求7或8所述的校验服务器和多台缓存服务器。
11.根据权利要求10所述的CDN集群,其特征在于,所述校验服务器用于执行回源校验;所述缓存服务器不执行回源校验,或者,所述缓存服务器不具有回源校验功能。
CN201911102928.XA 2019-11-12 2019-11-12 Cdn回源的校验方法和校验服务器、cdn集群 Active CN112866310B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911102928.XA CN112866310B (zh) 2019-11-12 2019-11-12 Cdn回源的校验方法和校验服务器、cdn集群
PCT/CN2020/126881 WO2021093675A1 (zh) 2019-11-12 2020-11-06 Cdn回源的校验方法和校验服务器、cdn集群

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911102928.XA CN112866310B (zh) 2019-11-12 2019-11-12 Cdn回源的校验方法和校验服务器、cdn集群

Publications (2)

Publication Number Publication Date
CN112866310A CN112866310A (zh) 2021-05-28
CN112866310B true CN112866310B (zh) 2022-03-04

Family

ID=75912940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911102928.XA Active CN112866310B (zh) 2019-11-12 2019-11-12 Cdn回源的校验方法和校验服务器、cdn集群

Country Status (2)

Country Link
CN (1) CN112866310B (zh)
WO (1) WO2021093675A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113596079B (zh) * 2021-06-17 2024-01-05 阿里巴巴新加坡控股有限公司 网络系统、回源容灾方法及设备
CN113535462A (zh) * 2021-07-14 2021-10-22 湖南快乐阳光互动娱乐传媒有限公司 一种内容分发网络的资源校验方法及装置
CN113590994B (zh) * 2021-08-02 2024-07-19 北京金山云网络技术有限公司 数据处理方法、装置、计算机设备和存储介质
CN114398659A (zh) * 2021-10-28 2022-04-26 上海哔哩哔哩科技有限公司 一种资源校验方法、装置、设备及存储介质
CN114466000B (zh) * 2021-12-22 2023-10-10 天翼云科技有限公司 一种cdn网关回源方法及装置
CN114449044B (zh) * 2021-12-27 2023-10-10 天翼云科技有限公司 一种cdn缓存验证方法、装置及电子设备
CN114629795B (zh) * 2022-01-30 2024-01-02 阿里巴巴(中国)有限公司 带宽使用方法和内容分发网络
CN114629919A (zh) * 2022-03-31 2022-06-14 北京百度网讯科技有限公司 资源获取方法、装置、设备和存储介质
CN114793234B (zh) * 2022-03-31 2023-04-25 北京百度网讯科技有限公司 消息处理方法、装置、设备和存储介质
CN114900562B (zh) * 2022-05-09 2023-07-21 北京百度网讯科技有限公司 一种资源获取方法、装置、电子设备和存储介质
CN115001765B (zh) * 2022-05-24 2024-08-06 北京得间科技有限公司 页面资源的加载、验证方法及计算设备
CN115118504B (zh) * 2022-06-28 2023-11-14 北京天融信网络安全技术有限公司 知识库更新方法、装置、电子设备及存储介质
CN116996578B (zh) * 2023-09-27 2024-02-06 联通在线信息科技有限公司 基于内容分发网络的资源处理方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379139A (zh) * 2012-04-17 2013-10-30 百度在线网络技术(北京)有限公司 分布式缓存内容的校验方法、系统和装置
CN105162878A (zh) * 2015-09-24 2015-12-16 网宿科技股份有限公司 基于分布式存储的文件分发系统及方法
CN105959362A (zh) * 2016-04-25 2016-09-21 乐视控股(北京)有限公司 Cdn服务器及其缓存数据的方法
CN107277561A (zh) * 2016-04-08 2017-10-20 北京优朋普乐科技有限公司 内容分发网络
CN107580021A (zh) * 2017-08-01 2018-01-12 北京奇艺世纪科技有限公司 一种文件传输的方法和装置
CN108737475A (zh) * 2017-04-21 2018-11-02 贵州白山云科技有限公司 一种云分发网络中文件传输的容错方法、装置和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104935648B (zh) * 2015-06-03 2018-07-17 北京快网科技有限公司 一种高性价比的cdn系统及文件预推、分片缓存的方法
WO2017007705A1 (en) * 2015-07-06 2017-01-12 Shape Security, Inc. Asymmetrical challenges for web security
EP3332517B1 (en) * 2015-08-05 2024-05-15 Qualcomm Incorporated Deep packet inspection indication for a mobile cdn
CN107241451B (zh) * 2017-08-04 2019-07-16 网宿科技股份有限公司 基于内容分发网络的篡改干预方法、装置及系统
CN109067898A (zh) * 2018-08-24 2018-12-21 山东浪潮商用系统有限公司 一种通过文件散列分布降低内容分发网络边缘节点回源率的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379139A (zh) * 2012-04-17 2013-10-30 百度在线网络技术(北京)有限公司 分布式缓存内容的校验方法、系统和装置
CN105162878A (zh) * 2015-09-24 2015-12-16 网宿科技股份有限公司 基于分布式存储的文件分发系统及方法
CN107277561A (zh) * 2016-04-08 2017-10-20 北京优朋普乐科技有限公司 内容分发网络
CN105959362A (zh) * 2016-04-25 2016-09-21 乐视控股(北京)有限公司 Cdn服务器及其缓存数据的方法
CN108737475A (zh) * 2017-04-21 2018-11-02 贵州白山云科技有限公司 一种云分发网络中文件传输的容错方法、装置和系统
CN107580021A (zh) * 2017-08-01 2018-01-12 北京奇艺世纪科技有限公司 一种文件传输的方法和装置

Also Published As

Publication number Publication date
WO2021093675A1 (zh) 2021-05-20
CN112866310A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
CN112866310B (zh) Cdn回源的校验方法和校验服务器、cdn集群
CN111414334B (zh) 基于云技术的文件分片上传方法、装置、设备及存储介质
US10482067B2 (en) Synchronization of shared folders and files
CN110262807B (zh) 集群创建进度日志采集系统、方法和装置
WO2017215646A1 (zh) 数据传输方法和装置
CN110572422B (zh) 数据下载方法、装置、设备和介质
CN103347092A (zh) 一种识别缓存文件的方法及装置
WO2019051628A1 (zh) 一种文件分发、下载方法、分发服务器、客户端及系统
CN110019158A (zh) 一种监控数据质量的方法和装置
CN110737655B (zh) 用于上报数据的方法和装置
CN110324384B (zh) 数据推送的方法和装置
EP3349416A1 (en) Relationship chain processing method and system, and storage medium
CN109087097B (zh) 一种更新链码同一标识的方法和装置
CN105610596B (zh) 一种资源目录管理方法和网络终端
CN116069725A (zh) 文件迁移方法、装置、设备、介质和程序产品
CN113411364B (zh) 资源获取方法、装置及服务器
US20200133792A1 (en) Method, apparatus, and computer program product for managing virtual machine
CN113132447A (zh) 反向代理的方法和系统
CN112688905A (zh) 数据传输方法、装置、客户端、服务器及存储介质
CN110750410B (zh) 一种监听数据库日志的方法和装置
CN116319837B (zh) 一种支持多协议的文件同步方法、装置、设备及存储介质
US11842077B2 (en) Method, device, and computer program product for transmitting data for object storage
CN112861030B (zh) Cdn的刷新方法和装置、缓存服务器以及存储介质
CN113704080B (zh) 一种自动化测试方法和装置
CN112448931B (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