分布式缓存内容的校验方法、系统和装置与流程

文档序号:11638350阅读:195来源:国知局
分布式缓存内容的校验方法、系统和装置与流程
本发明涉及缓存校验技术领域,特别涉及一种分布式缓存内容的校验方法、系统和装置。

背景技术:
目前,通常使用CDN(ContentDeliveryNetwork,内容分发网络)系统缓存较远处源站的内容,这种缓存存在的问题是,无法保证缓存内容与源站内容总是相同的。因此,需要提供一种机制以对比缓存内容和源站内容,确保缓存内容的正确性。但是,CDN系统中的缓存数据量巨大,对所有数据进行全部校验是不现实的。因此,需要考虑如何以最小的代价获取最好的校验效果。基于上述考虑,现有的一种校验方法是,抽取用户访问的部分URL,从CDN系统的各个节点上下载缓存内容,再从源站下载源站内容,比较缓存内容和源站内容是否相同。现有技术存在的缺点是,需要从CDN系统的各个节点和源站再下载一次内容,因此校验速度很慢,只能覆盖极少量访问频度高或比较重要的URL,校验效果差。

技术实现要素:
本发明的目的旨在至少解决上述技术缺陷之一。为此,本发明的一个目的在于提出一种校验速度快且校验效果好的分布式缓存内容的校验方法。本发明的另一个目的在于提出一种分布式缓存内容的校验系统。本发明的再一个目的在于提出一种缓存节点。本发明的又一个目的在于提出一种对比机。为达到上述目的,根据本发明第一方面的实施例公开了一种分布式缓存内容的校验方法,包括以下步骤:多个缓存节点接收用户请求并从源站获得相应的响应内容;所述多个缓存节点根据所述响应内容生成对应的响应校验值,并将所述用户请求及对应的响应校验值发送至对比机;所述对比机根据所述用户请求从所述源站获取对比内容,并根据所述对比内容生成相应的第一对比校验值;以及所述对比机根据所述多个缓存节点发送的响应校验值和生成的所述第一对比校验值进行校验。根据本发明实施例的分布式缓存内容的校验方法,通过增加分别与源站和多个缓存节点相连的对比机进行内容提取和校验,提高内容下载速度,从而提高校验速度,由此能够及时发现缓存内容与源站内容不同的情况,保证良好的用户体验。为达到上述目的,根据本发明第二方面的实施例公开了一种分布式缓存内容的校验系统,包括:源站,用于根据用户请求提供相应响应内容;多个缓存节点,所述多个缓存节点与所述源站相连,用于向所述源站发送用户请求,并从所述源站获得相应的响应内容,以及根据所述响应内容生成对应的响应校验值;以及对比机,所述对比机分别与所述源站和所述多个缓存节点相连,用于接收所述多个缓存节点反馈的响应校验值,并根据所述用户请求从所述源站获取对比内容,并根据所述对比内容生成相应的第一对比校验值,以及根据所述多个缓存节点发送的响应校验值和生成的所述第一对比校验值进行校验。根据本发明实施例的分布式缓存内容的校验系统,通过增加分别与源站和多个缓存节点相连的对比机进行内容提取和校验,提高内容下载速度,从而提高校验速度,由此能够及时发现缓存内容与源站内容不同的情况,保证良好的用户体验。为达到上述目的,根据本发明第三方面的实施例公开了一种缓存节点,包括:第一发送模块,用于向源站转发用户请求;第一接收模块,用于从所述源站接收与所述用户请求相应的响应内容;以及第一校验模块,用于根据所述响应内容生成对应的响应校验值,并将所述响应校验值发送至对比机。根据本发明实施例的缓存节点,分别与源站和对比机相连,通过将响应校验值发送至对比机,从而使得对比机可以根据响应校验值完成后续的校验工作,提高校验速度。为达到上述目的,根据本发明第四方面的实施例公开了一种对比机,包括:第二接收模块,用于从多个缓存节点接收用户请求和与所述用户请求对应的响应校验值,并根据所述用户请求从源站中获得相应的对比内容;第二发送模块,用于将所述用户请求发送至所述源站;以及第二校验模块,用于根据所述对比内容生成相应的第一对比校验值,并根据所述多个缓存节点发送的响应校验值和生成的所述第一对比校验值进行校验。根据本发明实施例的对比机,分别与源站和多个缓存节点相连以进行内容提取和校验,提高内容下载速度,从而提高校验速度,由此能够及时发现缓存内容与源站内容不同的情况,保证良好的用户体验。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明一个实施例的分布式缓存内容的校验方法的流程图;图2为根据本发明另一个实施例的分布式缓存内容的校验方法的流程图;图3为根据本发明一个实施例的分布式缓存内容的校验系统的结构示意图;图4为根据本发明一个实施例的缓存节点的结构示意图;图5为根据本发明一个实施例的对比机的结构示意图;图6为根据本发明另一个实施例的对比机的结构示意图;以及图7为根据本发明又一个实施例的对比机的结构示意图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。下面参考说明书附图描述根据本发明实施例的分布式缓存内容的校验方法。一种分布式缓存内容的校验方法,包括以下步骤:多个缓存节点接收用户请求并从源站获得相应的响应内容;多个缓存节点根据响应内容生成对应的响应校验值,并将用户请求及对应的响应校验值发送至对比机;对比机根据用户请求从源站获取对比内容,并根据对比内容生成相应的第一对比校验值;以及对比机根据多个缓存节点发送的响应校验值和生成的第一对比校验值进行校验。图1为本发明一个实施例的分布式缓存内容的校验方法的流程图。如图1所示,该校验方法包括下述步骤。步骤S101,多个缓存节点接收用户请求并从源站获得相应的响应内容。其中,多个缓存节点分布在全国各地,缓存源站的内容。步骤S102,多个缓存节点根据相应内容生成对应的响应校验值,并将上述用户请求及对应的响应校验值发送至对比机。在本发明的实施例中,在多个缓存节点响应用户请求的同时计算响应校验值,而不是校验时再从各个节点拉取一次内容,从而节省了大量访问。具体地,可在给用户发送数据的过程中,实时流式计算校验值,由此只占用极少的系统资源。由于多个缓存节点和对比机之间传输的文件较大,因此在本发明的一个实施例中,多个缓存节点与对比机之间通过FTP(FileTransferProtocol,文件传输协议)的方式进行通信。此外,在网络部署上,可以只部署一台对比机接收多个缓存节点上传的文件,如果速度不够,可以部署多台对比机接收上传的文件,多台对比机之间使用nfs同步数据。此外,多个缓存节点提取的响应内容包括URL、checksum等很多项,在实践过程中可根据实际需要提取用户关心的项,例如提取URL项。提取完成后,并不是所有的URL都需要校验,例如,前一天已经校验过的可以不进行校验等。因此,在本发明的一个实施例中,多个缓存节点中设置有校验策略,多个缓存节点按照校验策略有选择地对用户请求所请求的内容进行校验。步骤S103,对比机根据用户请求从源站获取对比内容,并根据对比内容生成相应的第一对比校验值。其中,对比机为距离源站较近的某台机器,例如对比机与源站位于同一个机房。由此,对比机可以以较高的速率从源站上拉取内容,并且拉取速率可配置,保证不超过源站的承载能力。此外,由于不同的缓存节点上传的用户请求有很大的重合度,因此,在本发明的一个实施例中,为了节省回源量,在用户请求及其校验值上传到对比机后,对比机对相同URL的用户请求进行合并。而且回源时,为了提高速率或者为了减少带宽费用,也应该考虑内网回源,当然如果环境不允许,也可以走外网回源。在本发明的另一个实施例中,在对比机接收到用户请求及其校验值后,首先按照用户请求的访问频次由高到低进行排序,然后再按照用户请求的排序结果从源站获取对比内容,计算第一对比校验值。由此,在请求量巨大而无法全部校验的情况下,仍然可以获得较好的实际校验效果。步骤S104,对比机根据多个缓存节点发送的响应校验值和生成的第一对比校验值进行校验。如果响应校验值和生成的第一对比校验值相同,则可确定缓存内容正确。如果响应校验值和生成的第一对比校验值不同,则仍须进行进一步的判断(参见下面实施例的描述)。根据本发明实施例的分布式缓存内容的校验方法,通过增加分别与源站和多个缓存节点相连的对比机进行内容提取和校验,提高内容下载速度,从而提高校验速度,由此能够及时发现缓存内容与源站内容不同的情况,保证良好的用户体验。图2是根据本发明另一个实施例的分布式缓存内容的校验方法的流程图。在本发明实施例中,具体描述了当校验值不同时的处理方式。如图2所示,该校验方法包括下述步骤。步骤S201,多个缓存节点接收用户请求并从源站获得相应的响应内容。步骤S202,多个缓存节点根据响应内容生成对应的响应校验值,并将用户请求及对应的响应校验值发送至对比机。步骤S203,对比机根据用户请求从源站获取对比内容,并根据对比内容生成相应的第一对比校验值。步骤S204,对比机根据多个缓存节点发送的响应校验值和生成的第一对比校验值进行校验。上述步骤S201至步骤S204的具体实现方法与上述步骤S101至步骤S104的实现方法相同,此处不再详细描述。步骤S205,当响应校验值和第一对比校验值不同时,对比机从多个缓存节点中获取与用户请求相应的对比内容。对于少量校验值不同的请求,有可能是由于从用户访问到对比机从源拉取这段时间内,源站改变了内容。对于这部分URL,需要再次与URL所在的节点进行比较,以验证缓存内容的正确性。此外,少数情况下,由于源站不按约定的缓存时间更新大量内容,导致校验大量失败。针对这种情况,在本发明的一个实施例中采取的策略是,只与节点比较固定条数的URL,然后发送邮件通告,由源站管理人员根据具体情况处理。这种做法是合理的,这是因为,首先,只有极少数情况下发生大量校验失败的情况;其次,大量校验失败最大的可能是源进行了操作,需要与源站管理人员确认原因,程序不必逐条URL对比;再者,如果真是网络错误导致缓存失败,从对比机到各个缓存节点的拉取速度太慢,应该到各个节点本身拉取内容进行对比。总之,出现大量校验失败的情况时,程序进行报警,具体的处理由人工进行。步骤S206,对比机根据获取的内容生成第二对比校验值。步骤S207,对比机根据响应校验值和第二对比校验值进行校验。步骤S208,当响应校验值和第二对比校验值仍不同,则确定缓存内容错误。当然,如果响应校验值和第二对比校验值相同,则可确定是由于从用户访问到对比机从源拉取这段时间内源站内容改变而导致的第一次校验失败,此时可确定缓存内容无误。根据本发明实施例的分布式缓存内容的校验方法,通过二次校验,避免由于从用户访问到对比机从源拉取这段时间内源站内容改变而导致的误判,提高校验准确性。下面参考说明书附图描述根据本发明实施例的分布式缓存内容的校验系统。一种分布式缓存内容的校验系统,包括:源站,用于根据用户请求提供相应响应内容;多个缓存节点,与源站相连,用于向源站发送用户请求,并从源站获得相应的响应内容,以及根据响应内容生成对应的响应校验值;以及对比机,分别与源站和多个缓存节点相连,用于接收多个缓存节点反馈的响应校验值,并根据用户请求从源站获取对比内容,并根据对比内容生成相应的第一对比校验值,以及根据多个缓存节点发送的响应校验值和生成的第一对比校验值进行校验。图3为根据本发明一个实施例的分布式缓存内容的校验系统的结构示意图。如图3所示,该校验系统包括:源站10、两个缓存节点20和对比机30。需要说明的是,图3仅为示意性的例子,并不用于限制本发明,缓存节点20的数目可以为任意多个,且可分布在全国各地。对比机30与源站10的距离较近,例如位于同一个机房,使用内网进行通信。源站10用于根据用户请求提供相应的响应内容。多个缓存节点20均与源站10相连,用于向源站10发送用户请求,并从源站10获得相应的响应内容,以及根据响应内容生成对应的响应校验值。对比机30分别与源站10和多个缓存节点20相连,用于接收多个缓存节点20反馈的响应校验值,并根据用户请求从源站10获取对比内容,并根据对比内容生成相应的第一对比校验值,以及根据多个缓存节点20发送的响应校验值和生成的第一对比校验值进行校验。具体地,对比机30在接收到多个缓存节点20发送的对比请求后,根据用户请求的内容的访问频次由高到低对用户请求进行排序,并按照用户请求的排序结果从源站获取对比内容。由此,在请求量巨大而无法全部校验的情况下,任然可以获得较好的实际校验效果。此外,对比机30在接收到多个缓存节点20发送的对比请求后,还可对具有相同URL的用户请求进行合并。由此,节省回源量,减少资源占用。此外,当响应校验值和第一对比校验值不同时,对比机30还用于从多个缓存节点20中获取与用户请求相应的对比内容,并根据获取的对比内容生成第二对比校验值,以及根据响应校验值和第二对比校验值进行校验。当第二对比校验值和响应校验值仍然不同时,确定缓存内容有误。由此,避免由于从用户访问到对比机从源拉取这段时间内源站内容改变而导致的误判。在本发明的一个实施例中,由于多个缓存节点20和对比机30之间传输的文件较大,因此多个缓存节点20和对比机30之间采用FTP的方式进行通信。此外,为了提高文件上传的速度,在本发明的另一个实施例中,可部署多个对比机30接收上传文件,多台对比机30之间使用nfs同步数据。在本发明的一个实施例中,多个缓存节点20中设置有校验策略,多个缓存节点20根据校验策略有选择地对用户请求所请求的响应内容进行校验。例如,前一天已经校验过的用户请求对应的响应内容可以不校验。根据本发明实施例的分布式缓存内容的校验系统,通过增加分别与源站和多个缓存节点相连的对比机进行内容提取和校验,提高内容下载速度,从而提高校验速度,由此能够及时发现缓存内容与源站内容不同的情况,保证良好的用户体验。下面参考说明书附图描述根据本发明实施例的缓存节点。图4为根据本发明一个实施例的缓存节点的结构示意图。如图4所示,该缓存节点包括第一发送模块210、第一接收模块220和第一校验模块230。第一发送模块210用于向源站10转发用户请求。第一接收模块用于从源站10接收与用户请求相应的响应内容。第一校验模块230用于根据响应内容生成对应的响应校验值,并将响应校验值发送至对比机。在本发明的一个实施例中,缓存节点中设置有校验策略,第一校验模块230根据校验策略有选择性地对用户请求所请求的响应内容进行校验。例如,前一天已经校验过的用户请求对应的响应内容可以不校验。应理解,校验策略可以设置在第一校验模块230中,或者存储在单独的存储单元中。根据本发明实施例的缓存节点,分别与源站和对比机相连,通过将响应校验值发送至对比机,从而使得对比机可以根据响应校验值完成后续的校验工作,提高校验速度。下面参考说明书附图描述根据本发明实施例的对比机。图5为根据本发明一个实施例的对比机的结构示意图。如图5所示,该对比机包括第二接收模块310、第二发送模块320和第二校验模块330。第二接收模块310用于多个缓存节点20接收用户请求和用户请求对应的响应校验值,并根据用户请求从源站10中获取相应的对比内容。第二发送模块320用于将用户请求发送至源站10。第二校验模块330用于根据对比内容生成第一对比校验值,并根据多个缓存节点20发送的响应校验值和生成的第一对比校验值进行校验。根据本发明实施例的对比机,分别与源站和多个缓存节点相连以进行内容提取和校验,提高内容下载速度,从而提高校验速度,由此能够及时发现缓存内容与源站内容不同的情况,保证良好的用户体验。在本发明的一个实施例中,当响应校验值和第一对比校验值不同时,第二校验模块还用于从多个缓存节点20中获取与用户请求相应的响应内容,并根据获取的响应内容生成第二对比校验值,以及根据响应校验值和第二对比校验值进行校验。由此,避免由于从用户访问到对比机从源拉取这段时间内源站内容改变而导致的误判,提高校验准确性。图6为根据本发明另一个实施例的对比机的结构示意图。如图6所示,在图5所示的实施例的基础上,该对比机还包括排序模块340。排序模块340用于根据用户请求的内容的访问频次对用户请求进行排序,例如由高到低,以便按照用户请求的排序结果从源站10获取对比内容。根据本发明实施例的对比机,通过按照用户请求的访问频次的排序结果从源站获取对比内容,保证在请求量巨大而无法全部校验的情况下,仍然可以获得较好的实际校验效果。图7为根据本发明又一个实施例的对比机的结构示意图。如图7所示,在图5所示的实施例的基础上,该对比机还包括合并模块350。合并模块350用于对相同URL的用户请求进行合并。根据本发明实施例的对比机,通过对相同URL的用户请求进行合并,节省了回源量,提高了速率,减少了资源占用。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1