CN110555040A - 一种数据缓存方法、装置及服务器 - Google Patents

一种数据缓存方法、装置及服务器 Download PDF

Info

Publication number
CN110555040A
CN110555040A CN201810277589.8A CN201810277589A CN110555040A CN 110555040 A CN110555040 A CN 110555040A CN 201810277589 A CN201810277589 A CN 201810277589A CN 110555040 A CN110555040 A CN 110555040A
Authority
CN
China
Prior art keywords
data
expiration time
data item
time
cache database
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.)
Pending
Application number
CN201810277589.8A
Other languages
English (en)
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810277589.8A priority Critical patent/CN110555040A/zh
Publication of CN110555040A publication Critical patent/CN110555040A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据缓存方法、装置及服务器,该方法包括:建立缓存数据库,所述缓存数据库存储有第一数据项;所述第一数据项包括数据、第一过期时间和第二过期时间,所述第二过期时间大于第一过期时间;若根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期,则在所述缓存数据库中保留所述第一数据项。通过本申请的技术方案,可以避免客户端的业务中断,提高用户使用体验。

Description

一种数据缓存方法、装置及服务器
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据缓存方法、装置及服务器。
背景技术
CDN(Content Delivery Network,内容分发网络)的基本思路是:尽可能避开影响数据传输速度和稳定性的环节,使数据传输的更快、更稳定。如图1所示,为CDN的组网示意图,CDN服务器可以将数据分发给各CDN节点,而各CDN节点可以在本地存储该数据。CDN节点在接收到客户端发送的请求消息时,可以从本地查询出与该请求消息匹配的数据,并将查询到的数据发送给客户端。这样,客户端不需要将请求消息发送至CDN服务器,CDN服务器也不需要向客户端发送数据,从而可以节省网络带宽,并可以提高数据传输速度。
CDN服务器在将数据(以数据A为例)分发给CDN节点时,还可以为数据A设置一个过期时间,且CDN节点可以在本地存储数据A与该过期时间的对应关系。基于此,在根据所述过期时间确定出数据A已经过期时,则CDN节点可以删除数据A,并向CDN服务器重新请求数据A。若CDN服务器本地存储的数据A没有发生变化,则将数据A重新发送给CDN节点,若CDN服务器本地存储的数据A变化为数据B,则将变化后的数据B发送给CDN节点。
但是,假设CDN节点与CDN服务器之间的链路故障,则CDN节点在向CDN服务器重新请求数据A时,无法从CDN服务器下载到最新的数据。如果接收到客户端发送的针对数据A的请求消息,由于CDN节点已经删除数据A,因此无法向客户端返回数据,导致客户端的业务中断,并影响用户使用体验。
发明内容
本申请提供一种数据缓存方法,应用于节点服务器,所述方法包括:
建立缓存数据库,所述缓存数据库存储有第一数据项;所述第一数据项包括数据、第一过期时间和第二过期时间,所述第二过期时间大于第一过期时间;
若根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期,则在所述缓存数据库中保留所述第一数据项。
本申请提供一种数据缓存方法,应用于管理服务器,所述方法包括:
获取数据,并为所述数据配置第一过期时间和第二过期时间;
向节点服务器发送第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;以使所述节点服务器在缓存数据库中添加第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中;其中,所述第二过期时间大于所述第一过期时间。
本申请提供一种数据缓存装置,应用于节点服务器,所述装置包括:
建立模块,用于建立缓存数据库,所述缓存数据库存储有第一数据项;所述第一数据项包括数据、第一过期时间和第二过期时间,所述第二过期时间大于第一过期时间;
处理模块,用于在根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期时,则在所述缓存数据库中保留所述第一数据项。
本申请提供一种数据缓存装置,应用于管理服务器,所述装置包括:
获取模块,用于获取数据,为所述数据配置第一过期时间和第二过期时间;
发送模块,用于向节点服务器发送第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;以使所述节点服务器在缓存数据库中添加第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中;其中,所述第二过期时间大于所述第一过期时间。
本申请提供一种节点服务器,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器执行所述机器可执行指令时进行如下处理:
建立缓存数据库,所述缓存数据库存储有第一数据项;所述第一数据项包括数据、第一过期时间和第二过期时间,所述第二过期时间大于第一过期时间;
若根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期,则在所述缓存数据库中保留所述第一数据项。
本申请提供一种管理服务器,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器执行所述机器可执行指令时进行如下处理:
获取数据,并为所述数据配置第一过期时间和第二过期时间;
向节点服务器发送第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;以使所述节点服务器在缓存数据库中添加第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中;其中,所述第二过期时间大于所述第一过期时间。
基于上述技术方案,本申请实施例中,通过为数据(以数据A为例)设置第一过期时间和第二过期时间,当根据第一过期时间确定数据A已经过期,但根据第二过期时间确定数据A未过期时,则节点服务器并不删除数据A,而是继续保留数据A。这样,即使节点服务器无法下载到最新的数据,且接收到客户端发送的针对数据A的请求消息,由于节点服务器还未删除数据A,因此,可以向客户端返回数据A,避免客户端的业务中断,提高用户使用体验。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中所记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1是现有技术中的CDN的组网示意图;
图2是本申请一种实施方式中的应用场景示意图;
图3是本申请一种实施方式中的数据缓存方法的流程图;
图4是本申请另一种实施方式中的数据缓存方法的流程图;
图5是本申请另一种实施方式中的数据缓存方法的流程图;
图6是本申请一种实施方式中的数据缓存装置的结构图;
图7是本申请另一种实施方式中的数据缓存装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请实施例和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种数据缓存方法,该方法可以应用于包括节点服务器、管理服务器和客户端的***,如图2所示,为***结构示意图。其中,客户端可以是终端设备(如PC(Personal Computer,个人计算机)、笔记本电脑、移动终端等)上的APP,也可以是终端设备上的浏览器,对此客户端的类型不做限制,所有能够访问节点服务器和管理服务器的客户端,均在本申请范围之内。
在一个例子中,可以部署一个管理服务器,管理服务器用于存储所有数据,且管理服务器存储的数据不会由于过期而被删除,只是用户可以对管理服务器存储的数据进行修改。例如,管理服务器存储数据A,用户可以将数据A修改为数据B,或者用户可以删除数据A,但是,数据A不会由于过期而被删除。
为了避免管理服务器的访问量太大,导致管理服务器的性能下降,可以为管理服务器部署多个节点服务器,且客户端可以从节点服务器获取到数据,而不需要从管理服务器获取到数据。为了使节点服务器能够向客户端提供数据,则管理服务器可以将数据发送给节点服务器。而且,管理服务器在向节点服务器发送数据时,还可以为数据配置过期时间,并将数据与过期时间的对应关系发送给节点服务器,且节点服务器可以存储数据与过期时间的对应关系。
与管理服务器不同的是,节点服务器存储的数据会由于过期而被删除,但是用户不会对节点服务器存储的数据进行修改。例如,管理服务器将数据A和过期时间1的对应关系发送给各节点服务器,各节点服务器可以存储数据A和过期时间1的对应关系。若节点服务器根据过期时间1确定出数据A已经过期,则会删除数据A和过期时间1的对应关系,并向管理服务器重新请求数据A。
进一步的,若管理服务器本地存储的数据A没有发生变化,则管理服务器重新将数据A和过期时间1的对应关系发送给节点服务器,而节点服务器可以存储数据A和过期时间1的对应关系。此外,若管理服务器本地存储的数据A被用户修改为数据B,则管理服务器可以将数据B和过期时间1的对应关系发送给节点服务器,而节点服务器可以存储数据B和过期时间1的对应关系。
其中,管理服务器为数据A配置过期时间,并将数据A与过期时间的对应关系发送给节点服务器的原因是:若管理服务器不为数据A配置过期时间,则节点服务器在存储数据A后,会始终存储数据A,即使在管理服务器上,数据A被用户修改为数据B,节点服务器也无法感知到这一情况,始终将数据A提供给客户端,这样,提供给客户端的数据A是错误的,导致业务处理异常。
在传统方式中,管理服务器只会为数据A配置一个过期时间1,这样,若节点服务器根据过期时间1确定出数据A已经过期,则会删除数据A和过期时间1的对应关系,并向管理服务器重新请求数据A。假设节点服务器与管理服务器之间的链路故障,则节点服务器无法从管理服务器下载到最新的数据。这样,如果节点服务器接收到客户端发送的针对数据A的请求消息,则节点服务器无法向客户端返回数据,导致客户端的业务中断,并影响用户使用体验。
针对上述发现,本申请实施例中,管理服务器可以为数据A配置两个过期时间,分别为过期时间1和过期时间2,且过期时间2大于过期时间1。
基于此,若节点服务器根据过期时间1确定出数据A已经过期,并不会删除数据A、过期时间1和过期时间2的对应关系,而是向管理服务器重新请求数据A。假设节点服务器与管理服务器之间的链路故障,虽然节点服务器无法从管理服务器下载到最新的数据,但是,由于节点服务器仍然存储有数据A,因此,如果节点服务器接收到客户端发送的针对数据A的请求消息,则节点服务器可以将数据A发送给客户端,避免客户端的业务中断,提高用户使用体验。
节点服务器在无法从管理服务器下载到数据时,可以确定节点服务器与管理服务器之间的链路故障,并发出告警日志,维护人员在接收到这个告警日志后,就可以对节点服务器与管理服务器之间的链路进行修复。因此,在过期时间1与过期时间2之间的这段时间,若链路修复成功,则节点服务器可以从管理服务器下载到最新的数据,这样,在数据A被删除之前,就可以下载到最新的数据,节点服务器能够一直为客户端提供数据。在过期时间1与过期时间2之间的这段时间,若链路没有修复成功,则节点服务器在根据过期时间2确定出数据A已经过期,才会删除数据A、过期时间1和过期时间2的对应关系。
在不同的应用场景下,节点服务器、管理服务器的类型和功能均不相同,以下结合几个具体的应用场景,对节点服务器、管理服务器进行说明。
应用场景1:CDN场景。在CDN场景下,管理服务器可以是CDN服务器,节点服务器可以是CDN节点,上述数据可以包括但不限于网页数据、图片数据、视频数据、音频数据、文本数据等,对此数据类型不做限制。为了区分出不同的数据,则每个数据具有唯一的数据标识,且CDN场景下的数据标识可以是URL(Uniform Resource Locator,统一资源定位符),对此数据标识不做限制。
应用场景2:DNS(Domain Name System,域名***)场景。在DNS场景下,管理服务器可以是权威DNS服务器,节点服务器可以是Local(本地)DNS服务器,上述数据可以包括但不限于域名数据,该域名数据可以是域名与IP地址的对应关系。为了区分出不同的域名数据,则每个域名数据可以具有唯一的数据标识,且DNS场景下的数据标识可以是域名(如www.aaa.com等)。
应用场景3:电商场景。在电商场景下,管理服务器可以是数据库服务器,节点服务器可以是缓存服务器,上述数据可以包括但不限于电商数据,如商品信息(商品图片、商品名称、商品价格、商品描述信息、商品简介等等),对此数据类型不做限制。为了区分出不同的数据,则每个数据具有唯一的数据标识,且电商场景下的数据标识可以是商品标识,对此数据标识不做限制。
当然,上述过程只是给出几个示例,本申请实施例对此应用场景不做限制。
在上述应用场景下,参见图3所示,为本申请实施例提出的数据缓存方法的流程图,该方法可以应用于节点服务器,且该方法可以包括以下步骤:
步骤301,建立缓存数据库,该缓存数据库存储有第一数据项,该第一数据项包括数据、第一过期时间和第二过期时间,且第二过期时间大于第一过期时间。为了区分方便,可以将缓存数据库中的每个数据项称为第一数据项。
在一个例子中,节点服务器可以建立缓存数据库,参见表1所示,为该缓存数据库的示例,该缓存数据库中的每个表项可以称为第一数据项,且该第一数据项可以包括数据、第一过期时间和第二过期时间,且第二过期时间大于第一过期时间。在另一个例子中,参见表2所示,第一数据项还可以包括数据标识和数据写入时间,且数据写入时间是第一数据项被写入到缓存数据库的时间。
表1
数据 第一过期时间 第二过期时间
数据A1 5分钟 30分钟
数据A2 10分钟 30分钟
数据A3 1小时 2小时
表2
在一个例子中,为了使节点服务器建立表1或表2所示的缓存数据库,则管理服务器可以先获取本地存储的数据,并为该数据配置第一过期时间和第二过期时间。然后,管理服务器向节点服务器发送第一消息,该第一消息可以携带数据、第一过期时间和第二过期时间。节点服务器在接收到第一消息后,可以在缓存数据库中添加第一数据项,并将第一消息携带的数据、第一过期时间和第二过期时间记录到该第一数据项中,得到表1或表2所示的缓存数据库。
其中,针对管理服务器本地存储的每个数据,若没有向节点服务器发送过该数据,管理服务器会向节点服务器发送携带该数据的第一消息,若向节点服务器发送过该数据,管理服务器不再向节点服务器发送携带该数据的第一消息。
其中,在管理服务器向节点服务器发送携带该数据的第一消息之前,管理服务器还可以先为该数据配置第一过期时间和第二过期时间。其中,管理服务器可以根据实际需要配置第一过期时间和第二过期时间,对此配置方式不做限制,只要第二过期时间大于第一过期时间即可。其中,不同数据的第一过期时间可以相同,也可以不同,不同数据的第二过期时间可以相同,也可以不同。
例如,针对管理服务器本地存储的数据A1,管理服务器为数据A1配置第一过期时间5分钟,配置第二过期时间30分钟,并将携带数据A1、第一过期时间5分钟、第二过期时间30分钟的第一消息发送给节点服务器,节点服务器在接收到第一消息后,在缓存数据库中添加第一数据项,并将数据A1、第一过期时间5分钟、第二过期时间30分钟记录到该第一数据项中,如表1所示。
此外,上述第一消息还可以携带数据标识1,且节点服务器在接收到该第一消息后,确定当前时间为2017.6.2,12:05:00(即数据写入时间),并在缓存数据库中添加第一数据项,然后将数据标识1、数据A1、2017.6.2,12:05:00、第一过期时间5分钟、第二过期时间30分钟记录到该第一数据项中,如表2所示。
针对数据A2、数据A3的处理方式,与数据A1的处理方式相同,不再赘述。
步骤302,若根据第一过期时间确定出第一数据项已经过期,且根据第二过期时间确定出该第一数据项未过期,则在缓存数据库中保留该第一数据项。此外,若根据第一过期时间确定出该第一数据项未过期,则在缓存数据库中保留该第一数据项。若根据第二过期时间确定出该第一数据项已经过期,则从缓存数据库中删除该第一数据项。
其中,若当前时间与数据写入时间之间的时间差,小于等于第一过期时间,则根据该第一过期时间确定出该第一数据项未过期;或者,若当前时间与数据写入时间之间的时间差,大于第一过期时间,且小于等于第二过期时间,则根据该第一过期时间确定出该第一数据项已经过期,且根据该第二过期时间确定出该第一数据项未过期;或者,若当前时间与数据写入时间之间的时间差,大于第二过期时间,则根据第二过期时间确定出该第一数据项已经过期。
例如,针对表2的第一个第一数据项,若当前时间是2017.6.2,12:08:00,则当前时间与数据写入时间之间的时间差小于第一过期时间(5分钟),因此,根据第一过期时间确定出这个第一数据项未过期,数据A1的缓存有效。若当前时间是2017.6.2,12:15:00,则当前时间与数据写入时间之间的时间差大于第一过期时间(5分钟)、且小于第二过期时间(30分钟),因此,根据第一过期时间确定出这个第一数据项已经过期,但是根据第二过期时间确定出这个第一数据项未过期,数据A1的缓存暂时有效。若当前时间是2017.6.2,12:40:00,则当前时间与数据写入时间之间的时间差大于第二过期时间(30分钟),因此,根据第二过期时间确定出这个第一数据项已经过期,数据A1的缓存失效。
在一个例子中,若根据第一过期时间确定出第一数据项未过期,则不需要向管理服务器发送第二消息。若根据第一过期时间确定出第一数据项已经过期,且根据第二过期时间确定出该第一数据项未过期,则可以向管理服务器发送第二消息。其中,该第二消息是用于请求该第一数据项中的数据的第二消息。
其中,若根据第一过期时间确定出第一数据项已经过期,且根据第二过期时间确定出该第一数据项未过期,则周期性发送第二消息或者只发送一次。
其中,若根据第一过期时间确定出第一数据项已经过期,且根据第二过期时间确定出该第一数据项未过期,则节点服务器向管理服务器发送第二消息之后,若在预设时间内未接收到管理服务器发送的针对该第二消息的响应消息,则节点服务器在缓存数据库中继续保留该第一数据项,而不是删除该第一数据项。若在预设时间内接收到管理服务器发送的针对该第二消息的响应消息,则节点服务器可以从缓存数据库中删除该第一数据项,不再保留该第一数据项;然后,节点服务器还可以在缓存数据库中添加一个新数据项(为了区分方便,可以将这个添加的新数据项称为第二数据项),并将该响应消息携带的数据、第一过期时间和第二过期时间记录到第二数据项中。
例如,针对表2的第一个第一数据项,若当前时间是2017.6.2,12:15:00,则可以根据第一过期时间确定出这个第一数据项已经过期,但是根据第二过期时间确定出这个第一数据项未过期,因此,节点服务器可以向管理服务器发送第二消息,该第二消息可以携带数据标识1,其用于请求数据标识1对应的数据。
若节点服务器与管理服务器之间的链路未发生故障,则管理服务器可以接收到第二消息,并从本地查询出数据标识1对应的数据、第一过期时间和第二过期时间。若管理服务器本地存储的数据A1没有发生变化,则管理服务器将携带数据A1、第一过期时间5分钟、第二过期时间30分钟的响应消息发送给节点服务器。若管理服务器本地存储的数据A1被用户修改为数据B1(其数据标识仍然是数据标识1,可以索引到数据B1),则管理服务器将携带数据B1、第一过期时间5分钟、第二过期时间30分钟的响应消息发送给节点服务器。基于此,节点服务器可以在预设时间内接收到响应消息,从缓存数据库中删除第一个第一数据项,并在缓存数据库中添加第二数据项,并将响应消息携带的数据、第一过期时间和第二过期时间记录到该第二数据项(在将第二数据项添加到缓存数据库后,该第二数据项后续称为第一数据项)中,如表3或表4所示。
表3
表4
数据标识 数据 数据写入时间 第一过期时间 第二过期时间
数据标识2 数据A2 2017.6.2,15:15:00 10分钟 30分钟
数据标识3 数据A3 2017.6.2,17:10:00 1小时 2小时
数据标识1 数据B1 2017.6.2,12:16:00 5分钟 30分钟
若节点服务器与管理服务器之间的链路发生故障,则管理服务器无法接收到第二消息,也就不会向节点服务器发送响应消息,这样,节点服务器在预设时间内未接收到针对该第二消息的响应消息,但是,仍在缓存数据库中保留第一个第一数据项,如表2所示,直到根据第二过期时间确定出第一个第一数据项已经过期,节点服务器从缓存数据库中删除第一个第一数据项,如表5所示。
表5
数据标识 数据 数据写入时间 第一过期时间 第二过期时间
数据标识2 数据A2 2017.6.2,15:15:00 10分钟 30分钟
数据标识3 数据A3 2017.6.2,17:10:00 1小时 2小时
在一个例子中,节点服务器向管理服务器发送第二消息之后,若在预设时间内未接收到管理服务器发送的针对第二消息的响应消息,则节点服务器还可以确定节点服务器与管理服务器之间的链路发生故障,生成针对链路的告警日志,并发送告警日志,如短信、微信等发送方式。这样,维护人员在接收到这个告警日志后,就可以对节点服务器与管理服务器之间的链路进行修复。
在一个例子中,基于在缓存数据库中存储的各第一数据项,节点服务器在接收到客户端发送的请求消息时,还可以从缓存数据库中查询与该请求消息匹配的第一数据项,并将查询到的第一数据项中的数据发送给客户端。例如,节点服务器在接收到客户端发送的请求消息时,若该请求消息中携带数据标识1,则可以通过数据标识1查询表2所示的缓存数据库,以得到与数据标识1对应的第一数据项,并将该第一数据项中的数据A1发送给客户端。
基于上述技术方案,本申请实施例中,通过为数据设置第一过期时间和第二过期时间,当根据该第一过期时间确定该数据已经过期,但是根据该第二过期时间确定该数据未过期时,节点服务器并不删除该数据,而是继续保留该数据。这样,即使节点服务器无法下载到最新的数据,且接收到客户端发送的针对该数据的请求消息,由于节点服务器还未删除该数据,因此,节点服务器可以向客户端返回该数据,避免客户端的业务中断,并提高用户的使用体验。
基于与上述方法同样的申请构思,本申请实施例提出一种数据缓存方法,参见图4所示,为数据缓存方法的流程图,该方法可以应用于管理服务器。
步骤401,获取数据,并为该数据配置第一过期时间和第二过期时间。
步骤402,向节点服务器发送第一消息,该第一消息可以携带该数据、该第一过期时间和该第二过期时间;以使节点服务器在缓存数据库中添加第一数据项,并将该数据、该第一过期时间和该第二过期时间记录到该第一数据项中。
在一个例子中,该第二过期时间大于该第一过期时间。
以下结合具体应用场景,对上述技术方案进行进一步的说明。在本应用场景下,以针对数据A1的处理过程为例,对于其它数据的处理过程,与数据A1的处理过程类似,不再赘述。参见图5所示,为本应用场景的流程示意图。
步骤501,管理服务器从本地获取到数据A1,为数据A1配置第一过期时间和第二过期时间,例如,第一过期时间为5分钟,第二过期时间为30分钟。
步骤502,管理服务器向各节点服务器发送第一消息,该第一消息可以携带数据标识1、数据A1、第一过期时间5分钟、第二过期时间30分钟。
步骤503,节点服务器在接收到第一消息后,确定数据写入时间2017.6.2,12:05:00,在缓存数据库中添加数据项,然后将数据标识1、数据A1、2017.6.2,12:05:00、第一过期时间5分钟、第二过期时间30分钟记录到该数据项中。
步骤504,在经过一段时间后,若节点服务器根据第一过期时间确定出该数据项已经过期,但是根据第二过期时间确定出该数据项未过期,则节点服务器向管理服务器发送第二消息,且该第二消息用于请求数据A1。
步骤505,节点服务器判断在预设时间内是否接收到管理服务器发送的针对该第二消息的响应消息。如果否,则执行步骤506;如果是,则执行步骤507。
步骤506,节点服务器在缓存数据库继续保留该数据项,而不删除该数据项。
步骤507,节点服务器从缓存数据库中删除该数据项。
步骤508,节点服务器在缓存数据库中添加一个新数据项,并将响应消息携带的数据、第一过期时间和第二过期时间记录到新添加的数据项中。
在一个例子中,基于在缓存数据库中存储的各数据项,节点服务器在接收到客户端发送的请求消息时,可以从缓存数据库中查询与该请求消息匹配的数据项,并将查询到的数据项中的数据发送给客户端。例如,节点服务器在接收到客户端发送的请求消息时,若该请求消息中携带数据标识1,则可以通过数据标识1查询缓存数据库,以得到与数据标识1对应的数据项,并将该数据项中的数据A1发送给客户端,至此,节点服务器成功将数据A1发送给客户端。
基于与上述方法同样的申请构思,本申请实施例还提供一种数据缓存装置,可以应用于节点服务器。如图6所示,为该装置的结构图,该装置包括:
建立模块601,用于建立缓存数据库,所述缓存数据库存储有第一数据项;所述第一数据项包括数据、第一过期时间和第二过期时间,所述第二过期时间大于第一过期时间;处理模块602,用于在根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期时,则在所述缓存数据库中保留所述第一数据项。
在一个例子中,所述建立模块601,还用于接收管理服务器发送的第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;在缓存数据库中添加所述第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中。
所述处理模块602,在所述缓存数据库中保留所述第一数据项时具体用于:向管理服务器发送用于请求所述第一数据项中的数据的第二消息;若在预设时间内未接收到所述管理服务器发送的针对所述第二消息的响应消息,则在所述缓存数据库中保留所述第一数据项;
所述处理模块602,还用于在发送所述第二消息之后,若在预设时间内接收到所述管理服务器发送的针对所述第二消息的响应消息,则从缓存数据库中删除所述第一数据项;在缓存数据库中添加第二数据项,并将所述响应消息携带的数据、第一过期时间和第二过期时间记录到所述第二数据项中;
若在预设时间内未接收到所述管理服务器发送的针对所述第二消息的响应消息,则确定所述节点服务器与所述管理服务器之间的链路发生故障,并生成针对所述链路的告警日志,并发送所述告警日志。
所述处理模块602,还用于在根据所述第二过期时间确定出所述第一数据项已经过期时,则从所述缓存数据库中删除所述第一数据项;
其中,所述第一数据项还包括数据写入时间,所述数据写入时间是所述第一数据项被写入到所述缓存数据库的时间;
所述处理模块602,还用于在当前时间与所述数据写入时间之间的时间差,小于等于所述第一过期时间时,根据所述第一过期时间确定出所述第一数据项未过期;或者,在当前时间与所述数据写入时间之间的时间差,大于所述第一过期时间,且小于等于所述第二过期时间时,根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期;或者,在当前时间与所述数据写入时间之间的时间差,大于所述第二过期时间时,根据所述第二过期时间确定出所述第一数据项已经过期。
基于与上述方法同样的申请构思,本申请实施例还提供一种数据缓存装置,可以应用于管理服务器。如图7所示,为该装置的结构图,该装置包括:
获取模块701,用于获取数据,为所述数据配置第一过期时间和第二过期时间;发送模块702,用于向节点服务器发送第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;以使所述节点服务器在缓存数据库中添加第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中;其中,所述第二过期时间大于所述第一过期时间。
基于与上述方法同样的申请构思,本申请实施例中还提供一种节点服务器,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器执行所述机器可执行指令时进行如下处理:建立缓存数据库,所述缓存数据库存储有第一数据项;所述第一数据项包括数据、第一过期时间和第二过期时间,所述第二过期时间大于第一过期时间;若根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期,则在所述缓存数据库中保留所述第一数据项。
基于与上述方法同样的申请构思,本申请实施例中还提供一种管理服务器,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器执行所述机器可执行指令时进行如下处理:获取数据,并为所述数据配置第一过期时间和第二过期时间;向节点服务器发送第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;以使所述节点服务器在缓存数据库中添加第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中;其中,所述第二过期时间大于所述第一过期时间。
基于与上述方法同样的申请构思,本申请实施例中还提供一种机器可读存储介质,该机器可读存储介质可以应用于节点服务器,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:建立缓存数据库,所述缓存数据库存储有第一数据项;所述第一数据项包括数据、第一过期时间和第二过期时间,所述第二过期时间大于第一过期时间;若根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期,则在所述缓存数据库中保留所述第一数据项。
基于与上述方法同样的申请构思,本申请实施例中还提供一种机器可读存储介质,该机器可读存储介质可以应用于管理服务器,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
获取数据,并为所述数据配置第一过期时间和第二过期时间;
向节点服务器发送第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;以使所述节点服务器在缓存数据库中添加第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中;其中,所述第二过期时间大于所述第一过期时间。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (16)

1.一种数据缓存方法,其特征在于,应用于节点服务器,所述方法包括:
建立缓存数据库,所述缓存数据库存储有第一数据项;所述第一数据项包括数据、第一过期时间和第二过期时间,所述第二过期时间大于第一过期时间;
若根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期,则在所述缓存数据库中保留所述第一数据项。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收管理服务器发送的第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;在缓存数据库中添加所述第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中。
3.根据权利要求1所述的方法,其特征在于,
所述在所述缓存数据库中保留所述第一数据项的过程,具体包括:
向管理服务器发送用于请求所述第一数据项中的数据的第二消息;
若在预设时间内未接收到所述管理服务器发送的针对所述第二消息的响应消息,则在所述缓存数据库中保留所述第一数据项。
4.根据权利要求3所述的方法,其特征在于,所述向管理服务器发送用于请求所述第一数据项中的数据的第二消息之后,所述方法还包括:
若在预设时间内接收到所述管理服务器发送的针对所述第二消息的响应消息,则从缓存数据库中删除所述第一数据项;
在缓存数据库中添加第二数据项,并将所述响应消息携带的数据、第一过期时间和第二过期时间记录到所述第二数据项中。
5.根据权利要求3所述的方法,其特征在于,若在预设时间内未接收到所述管理服务器发送的针对所述第二消息的响应消息,所述方法还包括:
确定所述节点服务器与所述管理服务器之间的链路发生故障;
生成针对所述链路的告警日志,并发送所述告警日志。
6.根据权利要求1所述的方法,其特征在于,
所述在所述缓存数据库中保留所述第一数据项之后,所述方法还包括:
若接收到客户端发送的与所述第一数据项匹配的请求消息,则将所述第一数据项中的数据发送给所述客户端。
7.根据权利要求1所述的方法,其特征在于,
所述在所述缓存数据库中保留所述第一数据项之后,所述方法还包括:
若根据所述第二过期时间确定出所述第一数据项已经过期,则从所述缓存数据库中删除所述第一数据项。
8.根据权利要求1或7所述的方法,其特征在于,所述第一数据项还包括数据写入时间,所述数据写入时间是所述第一数据项被写入到所述缓存数据库的时间;若当前时间与所述数据写入时间之间的时间差,小于等于所述第一过期时间,则根据所述第一过期时间确定出所述第一数据项未过期;或者,
若当前时间与所述数据写入时间之间的时间差,大于所述第一过期时间,且小于等于所述第二过期时间,则根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期;或者,
若当前时间与所述数据写入时间之间的时间差,大于所述第二过期时间,则根据所述第二过期时间确定出所述第一数据项已经过期。
9.一种数据缓存方法,其特征在于,应用于管理服务器,所述方法包括:
获取数据,并为所述数据配置第一过期时间和第二过期时间;
向节点服务器发送第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;以使所述节点服务器在缓存数据库中添加第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中;其中,所述第二过期时间大于所述第一过期时间。
10.一种数据缓存装置,其特征在于,应用于节点服务器,所述装置包括:
建立模块,用于建立缓存数据库,所述缓存数据库存储有第一数据项;所述第一数据项包括数据、第一过期时间和第二过期时间,所述第二过期时间大于第一过期时间;
处理模块,用于在根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期时,则在所述缓存数据库中保留所述第一数据项。
11.根据权利要求10所述的装置,其特征在于,所述建立模块,还用于接收管理服务器发送的第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;在缓存数据库中添加所述第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中。
12.根据权利要求10所述的装置,其特征在于,所述处理模块在所述缓存数据库中保留所述第一数据项时具体用于:向管理服务器发送用于请求所述第一数据项中的数据的第二消息;若在预设时间内未接收到所述管理服务器发送的针对所述第二消息的响应消息,则在所述缓存数据库中保留所述第一数据项;
所述建立模块,还用于在发送所述第二消息之后,若在预设时间内接收到所述管理服务器发送的针对所述第二消息的响应消息,则从缓存数据库中删除所述第一数据项;在缓存数据库中添加第二数据项,并将所述响应消息携带的数据、第一过期时间和第二过期时间记录到所述第二数据项中;
若在预设时间内未接收到所述管理服务器发送的针对所述第二消息的响应消息,则确定所述节点服务器与所述管理服务器之间的链路发生故障,并生成针对所述链路的告警日志,并发送所述告警日志。
13.根据权利要求10所述的装置,其特征在于,
所述处理模块,还用于在根据所述第二过期时间确定出所述第一数据项已经过期时,则从所述缓存数据库中删除所述第一数据项;
其中,所述第一数据项还包括数据写入时间,所述数据写入时间是所述第一数据项被写入到所述缓存数据库的时间;
所述处理模块,还用于在当前时间与所述数据写入时间之间的时间差,小于等于所述第一过期时间时,根据所述第一过期时间确定出所述第一数据项未过期;或者,在当前时间与所述数据写入时间之间的时间差,大于所述第一过期时间,且小于等于所述第二过期时间时,根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期;或者,在当前时间与所述数据写入时间之间的时间差,大于所述第二过期时间时,根据所述第二过期时间确定出所述第一数据项已经过期。
14.一种数据缓存装置,其特征在于,应用于管理服务器,所述装置包括:
获取模块,用于获取数据,为所述数据配置第一过期时间和第二过期时间;
发送模块,用于向节点服务器发送第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;以使所述节点服务器在缓存数据库中添加第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中;其中,所述第二过期时间大于所述第一过期时间。
15.一种节点服务器,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器执行所述机器可执行指令时进行如下处理:
建立缓存数据库,所述缓存数据库存储有第一数据项;所述第一数据项包括数据、第一过期时间和第二过期时间,所述第二过期时间大于第一过期时间;
若根据所述第一过期时间确定出所述第一数据项已经过期,且根据所述第二过期时间确定出所述第一数据项未过期,则在所述缓存数据库中保留所述第一数据项。
16.一种管理服务器,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器执行所述机器可执行指令时进行如下处理:
获取数据,并为所述数据配置第一过期时间和第二过期时间;
向节点服务器发送第一消息,所述第一消息携带所述数据、所述第一过期时间和所述第二过期时间;以使所述节点服务器在缓存数据库中添加第一数据项,并将所述数据、所述第一过期时间和所述第二过期时间记录到所述第一数据项中;其中,所述第二过期时间大于所述第一过期时间。
CN201810277589.8A 2018-03-30 2018-03-30 一种数据缓存方法、装置及服务器 Pending CN110555040A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810277589.8A CN110555040A (zh) 2018-03-30 2018-03-30 一种数据缓存方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810277589.8A CN110555040A (zh) 2018-03-30 2018-03-30 一种数据缓存方法、装置及服务器

Publications (1)

Publication Number Publication Date
CN110555040A true CN110555040A (zh) 2019-12-10

Family

ID=68733764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810277589.8A Pending CN110555040A (zh) 2018-03-30 2018-03-30 一种数据缓存方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN110555040A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531489A (zh) * 2022-01-14 2022-05-24 北京字节跳动网络技术有限公司 一种请求响应方法及装置
CN114861097A (zh) * 2022-04-29 2022-08-05 阿波罗智联(北京)科技有限公司 一种浏览器缓存方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246656A (zh) * 2012-02-03 2013-08-14 宇龙计算机通信科技(深圳)有限公司 生成静态缓存页面的方法及服务器
US20140279854A1 (en) * 2013-03-15 2014-09-18 Mckesson Financial Holdings Method and apparatus for selectively deleting cached records
CN104917829A (zh) * 2015-05-27 2015-09-16 努比亚技术有限公司 一种后台数据的管理方法及装置
CN107026758A (zh) * 2017-04-14 2017-08-08 深信服科技股份有限公司 用于cdn业务更新的信息处理方法、信息处理***及服务器
US20170353577A1 (en) * 2016-06-01 2017-12-07 Home Box Office, Inc. Cached data expiration and refresh

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246656A (zh) * 2012-02-03 2013-08-14 宇龙计算机通信科技(深圳)有限公司 生成静态缓存页面的方法及服务器
US20140279854A1 (en) * 2013-03-15 2014-09-18 Mckesson Financial Holdings Method and apparatus for selectively deleting cached records
CN104917829A (zh) * 2015-05-27 2015-09-16 努比亚技术有限公司 一种后台数据的管理方法及装置
US20170353577A1 (en) * 2016-06-01 2017-12-07 Home Box Office, Inc. Cached data expiration and refresh
CN107026758A (zh) * 2017-04-14 2017-08-08 深信服科技股份有限公司 用于cdn业务更新的信息处理方法、信息处理***及服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531489A (zh) * 2022-01-14 2022-05-24 北京字节跳动网络技术有限公司 一种请求响应方法及装置
CN114861097A (zh) * 2022-04-29 2022-08-05 阿波罗智联(北京)科技有限公司 一种浏览器缓存方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN111970315A (zh) 推送消息的方法、装置及***
US8402137B2 (en) Content management
CN102333029B (zh) 一种服务器集群***中的路由方法
US9549040B2 (en) First cache purge optimization handling of unavailable nodes
CN104580226A (zh) 一种共享会话数据的***和方法
CN105653198A (zh) 数据处理方法及装置
CN105450682B (zh) 一种用于数据同步保存、向客户端同步数据的方法、装置和***
CN113886743B (zh) 缓存资源的刷新方法、装置及***
CN109525678B (zh) 区块链网络***以及相应的节点设备发现方法
CN109873855A (zh) 一种基于区块链网络的资源获取方法和***
CN103455439A (zh) 本地缓存装置以及用于提供内容缓存服务的***和方法
CN111092934B (zh) 更新客户端路由的方法、存储介质
US11042357B2 (en) Server and method for ranking data sources
CN110581784A (zh) 一种节点健康检查方法、装置及设备
CN110555040A (zh) 一种数据缓存方法、装置及服务器
CN110740155A (zh) 分布式***中的请求处理方法及装置
CN111131498B (zh) Url信息更新方法、缓存服务器、设备及存储介质
CN111586438B (zh) 一种业务数据的处理方法、装置及***
CN112861031B (zh) Cdn中url刷新方法、装置、设备以及cdn节点
CN110944037B (zh) 客户端缓存更改配置的方法、计算机设备和存储介质
CN111125580B (zh) 网络资源获取方法、装置、电子设备及存储介质
CN113238836A (zh) 一种分布式内容调度方法、调度***及中心服务器
CN114979025B (zh) 资源刷新方法、装置、设备及可读存储介质
CN111614750A (zh) 一种数据更新方法、***、设备及存储介质
WO2018223981A1 (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40017548

Country of ref document: HK

RJ01 Rejection of invention patent application after publication

Application publication date: 20191210

RJ01 Rejection of invention patent application after publication