CN106453667B - 更新缓存数据的方法及装置 - Google Patents

更新缓存数据的方法及装置 Download PDF

Info

Publication number
CN106453667B
CN106453667B CN201611185076.1A CN201611185076A CN106453667B CN 106453667 B CN106453667 B CN 106453667B CN 201611185076 A CN201611185076 A CN 201611185076A CN 106453667 B CN106453667 B CN 106453667B
Authority
CN
China
Prior art keywords
data
total data
deadline
update
time interval
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
CN201611185076.1A
Other languages
English (en)
Other versions
CN106453667A (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 Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201611185076.1A priority Critical patent/CN106453667B/zh
Publication of CN106453667A publication Critical patent/CN106453667A/zh
Application granted granted Critical
Publication of CN106453667B publication Critical patent/CN106453667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本公开是关于一种更新缓存数据的方法及装置,用以避免服务器过载,减少服务器响应时间。所述方法包括:确定当前缓存的全部数据各自对应的更新优先级;根据全部数据各自对应的更新优先级,确定全部数据各自对应的缓存期限;其中,全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔;根据全部数据各自对应的缓存期限,更新全部数据。本公开技术方案可以避免大量数据集中过期,进而可以避免服务器过载,减少服务器响应时间。

Description

更新缓存数据的方法及装置
技术领域
本公开涉及互联网技术领域,尤其涉及一种更新缓存数据的方法及装置。
背景技术
在微服务架构下客户端在调用服务端时,为了提高服务端的性能,往往会用到缓存服务,即将一些要对数据进行查询的请求在缓存服务中就进行命中并返回,但是,如果遇到缓存服务缓存的内容在短时间内大量到期被删除的情况,可能造成服务端过载,增加服务的响应时间。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种更新缓存数据的方法及装置,用以避免服务器过载,减少服务器响应时间。
根据本公开实施例的第一方面,提供一种更新缓存数据的方法,包括:
确定当前缓存的全部数据各自对应的更新优先级;
根据所述全部数据各自对应的更新优先级,确定所述全部数据各自对应的缓存期限;其中,所述全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔;
根据所述全部数据各自对应的缓存期限,更新所述全部数据。
在一实施例中,所述根据所述全部数据各自对应的缓存期限,更新所述全部数据,可包括:
通过预设的数据更新接口接收所述全部数据各自对应的更新数据;
根据所述全部数据各自对应的更新数据与所述全部数据各自对应的缓存期限,更新所述全部数据。
在一实施例中,所述根据所述全部数据各自对应的缓存期限,更新所述全部数据,可包括:
在所述截止时间,获取第一预设时间间隔内接收到的访问所述全部数据的第一请求次数;其中,所述第一预设时间间隔的终止时间为所述截止时间;
当所述第一请求次数大于第一预设请求次数阈值时,发送所述截止时间对应的缓存数据是否更新的询问请求;
接收基于所述询问请求的返回数据;
对比所述截止时间对应的缓存数据与所述返回数据,并根据对比结果确定是否更新所述截止时间对应的缓存数据;
当所述截止时间对应的缓存数据与所述返回数据一致时,拒绝更新所述截止时间对应的缓存数据。
在一实施例中,所述根据对比结果确定是否更新所述截止时间对应的缓存数据,可包括:
当所述截止时间对应的缓存数据与所述返回数据不一致时,根据所述返回数据更新所述截止时间对应的缓存数据。
在一实施例中,所述方法还可包括:获取第二预设时间间隔内接收到的相同请求的第二请求次数;其中,所述相同请求用于访问所述全部数据,所述第二预设时间间隔的终止时间为当前时间;
当获取的所述第二请求次数大于第二预设请求次数阈值时,通过启动内存,按照第一预设时长缓存所述全部数据。
在一实施例中,所述方法还可包括:
当响应所述相同请求的延迟时间达到预设延迟阈值时,获取第三预设时间间隔内接收到的所述第二请求次数;其中,所述第三预设时间间隔的终止时间为当前时间,且所述第三预设时间间隔小于所述第二预设时间间隔;
当所述第二请求次数大于第三预设请求次数阈值时,通过启动内存,按照第二预设时长缓存所述全部数据;所述第二预设时长大于所述第一预设时长。
在一实施例中,所述确定当前缓存的全部数据各自对应的更新优先级,可包括:
根据所述全部数据中各自携带的预设优先级权重,确定所述全部数据各自对应的更新优先级。
根据本公开实施例的第二方面,提供一种更新缓存数据的装置,包括:
第一确定模块,被配置为确定当前缓存的全部数据各自对应的更新优先级;
第二确定模块,被配置为根据所述全部数据各自对应的更新优先级,确定所述全部数据各自对应的缓存期限;其中,所述全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔;
更新模块,被配置为根据所述全部数据各自对应的缓存期限,更新所述全部数据。
在一实施例中,所述更新模块可包括:
第一接收子模块,被配置为通过预设的数据更新接口接收所述全部数据各自对应的更新数据;
第一更新子模块,被配置为根据所述全部数据各自对应的更新数据与所述全部数据各自对应的缓存期限,更新所述全部数据。
在一实施例中,所述更新模块可包括:
获取子模块,被配置为在所述截止时间,获取第一预设时间间隔内接收到的访问所述全部数据的第一请求次数;其中,所述第一预设时间间隔的终止时间为所述截止时间;
发送子模块,被配置为在所述第一请求次数大于第一预设请求次数阈值时,发送所述截止时间对应的缓存数据是否更新的询问请求;
第二接收子模块,被配置为接收基于所述询问请求的返回数据;
对比子模块,被配置为对比所述截止时间对应的缓存数据与所述返回数据;
第二更新子模块,被配置为根据所述对比子模块的对比结果确定是否更新所述截止时间对应的缓存数据,并在所述截止时间对应的缓存数据与所述返回数据一致时,拒绝更新所述截止时间对应的缓存数据。
在一实施例中,所述第二更新子模块,还可被配置为在所述截止时间对应的缓存数据与所述返回数据不一致时,根据所述返回数据更新所述截止时间对应的缓存数据。
在一实施例中,所述装置还可包括:
第一获取模块,被配置为获取第二预设时间间隔内接收到的相同请求的第二请求次数;其中,所述相同请求用于访问所述全部数据,所述第二预设时间间隔的终止时间为当前时间;
启动模块,被配置为在获取的所述第二请求次数大于第二预设请求次数阈值时,通过启动内存,按照第一预设时长缓存所述全部数据。
在一实施例中,所述内存缓存所述各项数据的时间可为第一预设时长。
在一实施例中,所述装置还包括:
第二获取模块,被配置为在响应所述相同请求的延迟时间达到预设延迟阈值时,获取第三预设时间间隔内接收到的所述第二请求次数;其中,所述第三预设时间间隔的终止时间为当前时间,且所述第三预设时间间隔小于所述第二预设时间间隔;
所述启动模块,还被配置为在所述第二请求次数大于第三预设请求次数阈值时,通过启动内存,按照第二预设时长缓存所述全部数据;所述第二预设时长大于所述第一预设时长。
在一实施例中,所述第一确定模块还可被配置为根据所述全部数据中各自携带的预设优先级权重,确定所述全部数据各自对应的更新优先级。
根据本公开实施例的第三方面,提供一种更新缓存数据的装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
确定当前缓存的全部数据各自对应的更新优先级;
根据所述全部数据各自对应的更新优先级,确定所述全部数据各自对应的缓存期限;其中,所述全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔;
根据所述全部数据各自对应的缓存期限,更新所述全部数据。
本公开的实施例提供的技术方案可以包括以下有益效果:由于给当前缓存的全部数据中不同优先级的数据分配了对应的缓存期限,而且全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔,这样,可以避免大量数据集中过期,进而可以避免服务器过载,减少服务器响应时间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的更新缓存数据的方法的流程图。
图2是根据一示例性实施例示出的微服务构架示意图。
图3是根据一示例性实施例示出的更新缓存数据的方法的应用场景示意图。
图4是根据又一示例性实施例示出的更新缓存数据的方法的应用场景示意图。
图5是根据一示例性实施例示出的更新缓存数据的方法的流程图。
图6是根据一示例性实施例示出的更新缓存数据的的流程图。
图7是根据一示例性实施例示出的更新缓存数据的的流程图。
图8是根据又一示例性实施例示出的更新缓存数据的的流程图。
图9是根据又一示例性实施例示出的更新缓存数据的的流程图。
图10是根据一示例性实施例示出的一种更新缓存数据的装置的框图。
图11是根据一示例性实施例示出的另一种更新缓存数据的装置的框图。
图12是根据一示例性实施例示出的另一种更新缓存数据的装置的框图。
图13是根据一示例性实施例示出的另一种更新缓存数据的装置的框图。
图14是根据一示例性实施例示出的另一种更新缓存数据的装置的框图。
图15是根据一示例性实施例示出的一种更新缓存数据的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的更新缓存数据的方法的流程图,图2是根据一示例性实施例示出的微服务构架示意图;图3是根据一示例性实施例示出的更新缓存数据的方法的应用场景示意图;图4是根据又一示例性实施例示出的更新缓存数据的方法的应用场景示意图;该更新缓存数据的方法可以应用在微服务构架下提供缓存服务的服务器上。如图1所示,该更新缓存数据的方法包括以下步骤S101-S103:
在步骤S101中,确定当前缓存的全部数据各自对应的更新优先级。
在步骤S102中,根据全部数据各自对应的更新优先级,确定全部数据各自对应的缓存期限。其中,全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔。
在步骤S103中,根据全部数据各自对应的缓存期限,更新全部数据。
在一个示例性实施例中,可以在微服务构架下,针对提供缓存服务的服务器,实施上述的更新缓存数据的方法。在一个示例性实施例中,如图2所示,微服务构架包括客户端201与服务端202,客户端201可以访问服务端202提供的服务,但是,服务端提供的服务包括若干个微服务,比如,可以包括微服务1、微服务2、微服务3,微服务1、微服务2、微服务3提供的服务内容组成客户端访问的内容。微服务1、微服务2、微服务3的内容分别来自对应的数据库1、数据库2、数据库3。为了提高服务端的性能,服务端还提供缓存服务,用于缓存数据库1、数据库2、数据库3中保存的微服务1、微服务2、微服务3提供的服务内容。
作为一个示例性场景,如图3所示,微服务1、微服务2、微服务3以及缓存服务可以由服务器302提供,用户可以利用移动终端301访问服务器301提供的微服务。作为另一个示例性场景,如图4所示,微服务1、微服务2、微服务3以及缓存服务可以分别由服务器401、服务器402、服务器403、服务器404提供,用户可以利用移动终端301访问服务器401~404提供的微服务。
在一个示例性实施例中,可以根据缓存的数据的重要性将当前缓存的全部数据分为重要数据与一般数据,重要数据的优先级为第一更新优先级,一般数据的优先级为第二更新优先级,第一更新优先级高于第二更新优先级。重要数据的缓存期限为第一缓存期限,一般数据的缓存期限为第二缓存期限。由于重要数据的缓存价值大于一般数据的缓存价值,第一缓存期限大于第二缓存期限。在一个示例性实施例中,第一缓存期限可为无穷大,第二缓存期限为预设缓存期限,这样,第一缓存期限的截止时间与第二缓存期限的截止时间之间的时间间隔为无穷大,可以避免重要数据与一般数据集中过期,进而可以避免服务器过载,减少服务器响应时间。
在本实施例中,由于给当前缓存的全部数据中不同优先级的数据分配了对应的缓存期限,而且全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔,这样,可以避免大量数据集中过期,进而可以避免服务器过载,减少服务器响应时间。
在一实施例中,根据全部数据各自对应的缓存期限,更新全部数据,可包括:
通过预设的数据更新接口接收全部数据各自对应的更新数据;根据全部数据各自对应的更新数据与全部数据各自对应的缓存期限,更新全部数据。
在一实施例中,根据全部数据各自对应的缓存期限,更新全部数据,可包括:
在截止时间,获取第一预设时间间隔内接收到的访问全部数据的第一请求次数;其中,第一预设时间间隔的终止时间为截止时间;
当第一请求次数大于第一预设请求次数阈值时,发送截止时间对应的缓存数据是否更新的询问请求;
接收基于询问请求的返回数据;
对比截止时间对应的缓存数据与返回数据,并根据对比结果确定是否更新截止时间对应的缓存数据;当截止时间对应的缓存数据与返回数据一致时,拒绝更新截止时间对应的缓存数据。
在一实施例中,根据对比结果确定是否更新截止时间对应的缓存数据,可包括:
当截止时间对应的缓存数据与返回数据不一致时,根据返回数据更新截止时间对应的缓存数据。
在一实施例中,更新缓存数据的方法进一步还可包括:
获取第二预设时间间隔内接收到的相同请求的第二请求次数;其中,相同请求用于访问全部数据,第二预设时间间隔的终止时间为当前时间;
当获取的第二请求次数大于第二预设请求次数阈值时,通过启动内存,按照第一预设时长缓存全部数据。
在一实施例中,更新缓存数据的方法进一步还可包括:
当响应相同请求的延迟时间达到预设延迟阈值时,获取第三预设时间间隔内接收到的第二请求次数;其中,第三预设时间间隔的终止时间为当前时间,且第三预设时间间隔小于第二预设时间间隔;
当第二请求次数大于第三预设请求次数阈值时,通过启动内存,按照第二预设时长缓存全部数据;第二预设时长大于第一预设时长。
在一实施例中,确定当前缓存的全部数据各自对应的更新优先级,可包括:
根据全部数据中各自携带的预设优先级权重,确定全部数据各自对应的更新优先级。
具体如何更新缓存数据的,请参考后续实施例。
至此,本公开实施例提供的上述方法,可以给当前缓存的全部数据中不同优先级的数据分配对应的缓存期限,而且全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔,这样,可以避免大量数据集中过期,进而可以避免服务器过载,减少服务器响应时间。
下面以具体实施例来说明本公开实施例提供的技术方案。
图5是根据一示例性实施例示出的更新缓存数据的方法的流程图;本实施例利用本公开实施例提供的上述方法,以通过预设的数据更新接口接收全部数据各自对应的更新数据为例进行示例性说明,如图5所示,更新缓存数据的方法包括如下步骤:
在步骤S501中,确定当前缓存的全部数据各自对应的更新优先级。
在步骤S502中,根述全部数据各自对应的更新优先级,确定全部数据各自对应的缓存期限;其中,全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔。
在步骤S503中,通过预设的数据更新接口接收全部数据各自对应的更新数据。
在步骤S504中,根据全部数据各自对应的更新数据与全部数据各自对应的缓存期限,更新全部数据。
本实施例在具有上述实施例有益技术效果的基础上,通过过预设的数据更新接口直接接收全部数据各自对应的更新数据,可以避免数据更新依赖服务构架,这样,缓存数据更新就可以同服务构架解耦。
图6是根据一示例性实施例示出的更新缓存数据的的流程图;本实施例利用本公开实施例提供的上述方法,以在缓存期限的截止时间根据调用方请求情况确定更新数据的策略为例进行示例性说明,如图6所示,更新缓存数据的包括如下步骤:
在步骤S601中,确定当前缓存的全部数据各自对应的更新优先级。
在步骤S602中,根据全部数据各自对应的更新优先级,确定全部数据各自对应的缓存期限;其中,全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔。
在步骤S603中,在截止时间,获取第一预设时间间隔内接收到的访问全部数据的第一请求次数。其中,第一预设时间间隔的终止时间为截止时间。
在步骤S604中,当第一请求次数大于第一预设请求次数阈值时,发送截止时间对应的缓存数据是否更新的询问请求。
在步骤S605中,接收基于询问请求的返回数据。
在步骤S606中,对比截止时间对应的缓存数据与返回数据,并根据对比结果确定是否更新截止时间对应的缓存数据。当截止时间对应的缓存数据与返回数据一致时,拒绝更新截止时间对应的缓存数据。当截止时间对应的缓存数据与返回数据不一致时,根据返回数据更新截止时间对应的缓存数据。
在一个示例性实施例中,根据缓存的数据的重要性将当前缓存的全部数据分为重要数据与一般数据,重要数据的优先级为第一更新优先级,一般数据的优先级为第二更新优先级。重要数据的缓存期限为第一缓存期限,一般数据的缓存期限为第二缓存期限。第一缓存期限的截止时间为第一截止时间,第二缓存期限的截止时间为第二截止时间。在第一截止时间,获取第一预设时间间隔内接收到的访问全部数据的第一请求次数。其中,第一预设时间间隔的终止时间为第一截止时间。当第一请求次数大于第一预设请求次数阈值时,发送第一截止时间对应的重要数据是否更新的询问请求。接着,接收基于询问请求的返回数据。最后,对比第一截止时间对应的重要数据与返回数据,并根据对比结果确定是否更新第一截止时间对应的重要数据。当第一截止时间对应的重要数据与返回数据一致时,拒绝更新第一截止时间对应的重要数据。当第一截止时间对应的重要数据与返回数据不一致时,根据返回数据更新第一截止时间对应的重要数据。类似地,在第二截止时间也可以执行上述方法,并根据对比结果确定是否更新第二截止时间对应的一般数据。
本实施例中,可以在缓存期限的截止时间根据调用方请求情况确定更新数据的策略,当调用方请求量较大时,即使在缓存期限的截止时间,也不主动删除缓存期限的截止时间对应的缓存数据,而是,另外异步发送一条询问请求,并根据询问请求的返回数据与截止时间对应的缓存数据的对比结果,确定是否更新缓存期限的截止时间对应的缓存数据,这样,有利于避免服务器过载,减少服务器响应时间,实用性强。
本实施例在具有上述实施例有益技术效果的基础上,可以在缓存期限的截止时间根据调用方请求情况确定更新数据的策略,实用性强。
图7是根据一示例性实施例示出的更新缓存数据的的流程图;本实施例利用本公开实施例提供的上述方法,以根据调用方请求情况确定缓存数据的策略为例进行示例性说明,如图7所示,更新缓存数据的包括如下步骤:
在步骤S701中,确定当前缓存的全部数据各自对应的更新优先级。
在步骤S702中,根据全部数据各自对应的更新优先级,确定全部数据各自对应的缓存期限;其中,全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔。
在步骤S703中,根据全部数据各自对应的缓存期限,更新全部数据。
在步骤S704中,获取第二预设时间间隔内接收到的相同请求的第二请求次数。其中,相同请求用于访问全部数据,第二预设时间间隔的终止时间为当前时间。
在步骤S705中,当获取的第二请求次数大于第二预设请求次数阈值时,通过启动内存,按照第一预设时长缓存全部数据。
在一个示例性实施例中,第二预设时间间隔为5分钟,第二预设请求次数阈值为1000次,第一预设时长为30秒。若提供缓存服务的服务器有几台重启,导致缓存丢失,或者提供缓存服务的服务器突然宕机,在5分钟的时间内接收到1500次上述相同请求时,则通过启动内存30秒缓存全部数据。当调用方请求访问数据的次数较大或者突增时,通过启动内存缓存数据,这样,可以避免缓存数据全部失效导致用户无法访问缓存数据的情况,有利于提高用户体验。
本实施例在具有上述实施例有益技术效果的基础上,可以根据调用方请求情况确定缓存数据的策略,可以提高服务稳定性,可用性高,实用性强。
图8是根据又一示例性实施例示出的更新缓存数据的的流程图;本实施例利用本公开实施例提供的上述方法,以根据调用方请求情况以及响应调用方请求的延迟时间的情况确定缓存数据的策略为例进行示例性说明,如图8所示,更新缓存数据的包括如下步骤:
在步骤S801中,确定当前缓存的全部数据各自对应的更新优先级。
在步骤S802中,根据全部数据各自对应的更新优先级,确定全部数据各自对应的缓存期限;其中,全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔。
在步骤S803中,根据全部数据各自对应的缓存期限,更新全部数据。
在步骤S804中,获取第二预设时间间隔内接收到的相同请求的第二请求次数。其中,相同请求用于访问全部数据,第二预设时间间隔的终止时间为当前时间。
在步骤S805中,当获取的第二请求次数大于第二预设请求次数阈值时,通过启动内存,按照第一预设时长缓存全部数据。
在步骤S806中,当响应相同请求的延迟时间达到预设延迟阈值时,获取第三预设时间间隔内接收到的第二请求次数。其中,第三预设时间间隔的终止时间为当前时间,且第三预设时间间隔小于第二预设时间间隔。
在步骤S807中,当第二请求次数大于第三预设请求次数阈值时,通过启动内存,按照第二预设时长缓存全部数据。第二预设时长大于第一预设时长。
在一个示例性实施例中,第二预设时间间隔为5分钟,第二预设请求次数阈值为1000次,第一预设时长为30秒;预设延迟阈值为服务正常时响应时间的1.5倍,第三预设时间间隔为3分钟,第三预设请求次数阈值为500。若提供缓存服务的服务器有几台重启,导致缓存丢失,或者提供缓存服务的服务器突然宕机,在5分钟的时间内接收到1500次上述相同请求时,则通过启动内存30秒缓存全部数据。但是,当响应相同请求的延迟时间为服务正常时响应时间的1.5倍或者1.5倍以上时,缩短获取第二请求次数的时间间隔,以3分钟为第三预设时间间隔,获取上述的第二请求次数,在第二请求次数大于500时,延长内存缓存数据的时间,通过启动内存1分钟缓存全部数据。当调用方请求访问数据的次数较大或者突增,且响应调用方请求的延迟时间较长时,通过缩短获取调用方请求次数的时间间隔,并延长启动内存缓存数据的时间,以消耗内存为代价,可以进一步避免缓存数据全部失效导致用户无法访问缓存数据的情况,有利于提高用户体验。
在本实施例中,本实施例在具有上述实施例有益技术效果的基础上,可以根据调用方请求情况以及响应调用方请求的延迟时间的情况确定缓存数据的策略,可以提高服务稳定性,可用性高,实用性强。
图9是根据又一示例性实施例示出的更新缓存数据的的流程图;本实施例利用本公开实施例提供的上述方法,以根据全部数据中各自携带的预设优先级权重确定全部数据各自对应的更新优先级为例进行示例性说明,如图9所示,更新缓存数据的包括如下步骤:
在步骤S901中,根据全部数据中各自携带的预设优先级权重,确定全部数据各自对应的更新优先级。
在步骤S902中,根据全部数据各自对应的更新优先级,确定全部数据各自对应的缓存期限。其中,全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔。
在步骤S903中,根据全部数据各自对应的缓存期限,更新全部数据。
在一个示例性实施例中,当前缓存的全部数据中各自携带一用于指示数据预设优先级权重的关键字,根据关键字的值可以获知数据的预设优先级权重。然后可以根据数据的预设优先级权重大小确定数据的更新优先级大小。在一个示例性实施例中,预设优先级权重越大,数据的更新优先级越大。
本实施例在具有上述实施例有益技术效果的基础上,可以根据全部数据中各自携带的预设优先级权重确定全部数据各自对应的更新优先级,实现简单。
图10是根据一示例性实施例示出的一种更新缓存数据的装置的框图,如图10所示,更新缓存数据的装置包括:
第一确定模块101,被配置为确定当前缓存的全部数据各自对应的更新优先级;
第二确定模块102,被配置为根据全部数据各自对应的更新优先级,确定全部数据各自对应的缓存期限;其中,全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔;
更新模块103,被配置为根据全部数据各自对应的缓存期限,更新全部数据。
图11是根据一示例性实施例示出的另一种更新缓存数据的装置的框图,如图11所示,在上述图10所示实施例的基础上,在一实施例中,更新模块103可包括:
第一接收子模块1031,被配置为通过预设的数据更新接口接收全部数据各自对应的更新数据;
第一更新子模块1032,被配置为根据全部数据各自对应的更新数据与全部数据各自对应的缓存期限,更新全部数据。
图12是根据一示例性实施例示出的另一种更新缓存数据的装置的框图,如图12所示,在上述图10所示实施例的基础上,在一实施例中,更新模块103可包括:
获取子模块1033,被配置为在截止时间,获取第一预设时间间隔内接收到的访问全部数据的第一请求次数;其中,第一预设时间间隔的终止时间为截止时间;
发送子模块1034,被配置为在第一请求次数大于第一预设请求次数阈值时,发送截止时间对应的缓存数据是否更新的询问请求;
第二接收子模块1035,被配置为接收基于询问请求的返回数据;
对比子模块1036,被配置为对比截止时间对应的缓存数据与返回数据;
第二更新子模块1037,被配置为根据对比子模块的对比结果确定是否更新截止时间对应的缓存数据,并在截止时间对应的缓存数据与返回数据一致时,拒绝更新截止时间对应的缓存数据。第二更新子模块1037,还被配置为在截止时间对应的缓存数据与返回数据不一致时,根据返回数据更新截止时间对应的缓存数据。
图13是根据一示例性实施例示出的另一种更新缓存数据的装置的框图,如图13所示,在上述图10所示实施例的基础上,在一实施例中,装置还可包括:
第一获取模块131,被配置为获取第二预设时间间隔内接收到的相同请求的第二请求次数;其中,相同请求用于访问所述全部数据,第二预设时间间隔的终止时间为当前时间;
启动模块132,被配置为在获取的第二请求次数大于第二预设请求次数阈值时,通过启动内存,按照第一预设时长缓存全部数据。
图14是根据一示例性实施例示出的另一种更新缓存数据的装置的框图,如图14所示,在上述图13所示实施例的基础上,在一实施例中,装置还可包括:
第二获取模块141,被配置为在响应相同请求的延迟时间达到预设延迟阈值时,获取第三预设时间间隔内接收到的第二请求次数;其中,第三预设时间间隔的终止时间为当前时间,且第三预设时间间隔小于第二预设时间间隔;
启动模块132,还被配置为在第二请求次数大于第三预设请求次数阈值时,通过启动内存,按照第二预设时长缓存全部数据;第二预设时长大于第一预设时长。
在一示例性实施例中,第一确定模块101还被配置为根据全部数据中各自携带的预设优先级权重,确定全部数据各自对应的更新优先级。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图15是根据一示例性实施例示出的一种更新缓存数据的装置的框图。例如,装置1500可以被提供为一服务器。参照图15,装置1500包括处理组件1522,其进一步包括一个或多个处理器,以及由存储器1532所代表的存储器资源,用于存储可由处理部件1522的执行的指令,例如应用程序。存储器1532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1522被配置为执行指令,以执行上述用于控制更新缓存数据的方法。
装置1500还可以包括一个电源组件1526被配置为执行装置1500的电源管理,一个有线或无线网络接口1550被配置为将装置600连接到网络,和一个输入输出(I/O)接口1558。装置1500可以操作基于存储在存储器1532的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1532,上述指令可由装置1500的处理组件1522执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (13)

1.一种更新缓存数据的方法,其特征在于,所述方法包括:
确定当前缓存的全部数据各自对应的更新优先级;
根据所述全部数据各自对应的更新优先级,确定所述全部数据各自对应的缓存期限;其中,所述全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔;
根据所述全部数据各自对应的缓存期限,更新所述全部数据;
所述根据所述全部数据各自对应的缓存期限,更新所述全部数据,包括:
在所述截止时间,获取第一预设时间间隔内接收到的访问所述全部数据的第一请求次数;其中,所述第一预设时间间隔的终止时间为所述截止时间;
当所述第一请求次数大于第一预设请求次数阈值时,发送所述截止时间对应的缓存数据是否更新的询问请求;
接收基于所述询问请求的返回数据;
对比所述截止时间对应的缓存数据与所述返回数据,并根据对比结果确定是否更新所述截止时间对应的缓存数据;
当所述截止时间对应的缓存数据与所述返回数据一致时,拒绝更新所述截止时间对应的缓存数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述全部数据各自对应的缓存期限,更新所述全部数据,包括:
通过预设的数据更新接口接收所述全部数据各自对应的更新数据;
根据所述全部数据各自对应的更新数据与所述全部数据各自对应的缓存期限,更新所述全部数据。
3.根据权利要求1所述的方法,其特征在于,所述根据对比结果确定是否更新所述截止时间对应的缓存数据,包括:
当所述截止时间对应的缓存数据与所述返回数据不一致时,根据所述返回数据更新所述截止时间对应的缓存数据。
4.根据权利要求1所述的方法,其特征在于,还包括:
获取第二预设时间间隔内接收到的相同请求的第二请求次数;其中,所述相同请求用于访问所述全部数据,所述第二预设时间间隔的终止时间为当前时间;
当获取的所述第二请求次数大于第二预设请求次数阈值时,通过启动内存,按照第一预设时长缓存所述全部数据。
5.根据权利要求4所述的方法,其特征在于,还包括:
当响应所述相同请求的延迟时间达到预设延迟阈值时,获取第三预设时间间隔内接收到的所述第二请求次数;其中,所述第三预设时间间隔的终止时间为当前时间,且所述第三预设时间间隔小于所述第二预设时间间隔;
当所述第二请求次数大于第三预设请求次数阈值时,通过启动内存,按照第二预设时长缓存所述全部数据;所述第二预设时长大于所述第一预设时长。
6.根据权利要求1所述的方法,其特征在于,所述确定当前缓存的全部数据各自对应的更新优先级,包括:
根据所述全部数据中各自携带的预设优先级权重,确定所述全部数据各自对应的更新优先级。
7.一种更新缓存数据的装置,其特征在于,所述装置包括:
第一确定模块,被配置为确定当前缓存的全部数据各自对应的更新优先级;
第二确定模块,被配置为根据所述全部数据各自对应的更新优先级,确定所述全部数据各自对应的缓存期限;其中,所述全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔;
更新模块,被配置为根据所述全部数据各自对应的缓存期限,更新所述全部数据;
所述更新模块包括:
获取子模块,被配置为在所述截止时间,获取第一预设时间间隔内接收到的访问所述全部数据的第一请求次数;其中,所述第一预设时间间隔的终止时间为所述截止时间;
发送子模块,被配置为在所述第一请求次数大于第一预设请求次数阈值时,发送所述截止时间对应的缓存数据是否更新的询问请求;
第二接收子模块,被配置为接收基于所述询问请求的返回数据;
对比子模块,被配置为对比所述截止时间对应的缓存数据与所述返回数据;
第二更新子模块,被配置为根据所述对比子模块的对比结果确定是否更新所述截止时间对应的缓存数据,并在所述截止时间对应的缓存数据与所述返回数据一致时,拒绝更新所述截止时间对应的缓存数据。
8.根据权利要求7所述的装置,其特征在于,所述更新模块包括:
第一接收子模块,被配置为通过预设的数据更新接口接收所述全部数据各自对应的更新数据;
第一更新子模块,被配置为根据所述全部数据各自对应的更新数据与所述全部数据各自对应的缓存期限,更新所述全部数据。
9.根据权利要求7所述的装置,其特征在于,所述第二更新子模块,还被配置为在所述截止时间对应的缓存数据与所述返回数据不一致时,根据所述返回数据更新所述截止时间对应的缓存数据。
10.根据权利要求7所述的装置,其特征在于,还包括:
第一获取模块,被配置为获取第二预设时间间隔内接收到的相同请求的第二请求次数;其中,所述相同请求用于访问所述全部数据,所述第二预设时间间隔的终止时间为当前时间;
启动模块,被配置为在获取的所述第二请求次数大于第二预设请求次数阈值时,通过启动内存,按照第一预设时长缓存所述全部数据。
11.根据权利要求10所述的装置,其特征在于,还包括:
第二获取模块,被配置为在响应所述相同请求的延迟时间达到预设延迟阈值时,获取第三预设时间间隔内接收到的所述第二请求次数;其中,所述第三预设时间间隔的终止时间为当前时间,且所述第三预设时间间隔小于所述第二预设时间间隔;
所述启动模块,还被配置为在所述第二请求次数大于第三预设请求次数阈值时,通过启动内存,按照第二预设时长缓存所述全部数据;所述第二预设时长大于所述第一预设时长。
12.根据权利要求7所述的装置,其特征在于,所述第一确定模块还被配置为根据所述全部数据中各自携带的预设优先级权重,确定所述全部数据各自对应的更新优先级。
13.一种更新缓存数据的装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
确定当前缓存的全部数据各自对应的更新优先级;
根据所述全部数据各自对应的更新优先级,确定所述全部数据各自对应的缓存期限;其中,所述全部数据各自对应的缓存期限的截止时间相互之间的时间间隔大于预设时间间隔;
根据所述全部数据各自对应的缓存期限,更新所述全部数据;
所述根据所述全部数据各自对应的缓存期限,更新所述全部数据,包括:
在所述截止时间,获取第一预设时间间隔内接收到的访问所述全部数据的第一请求次数;其中,所述第一预设时间间隔的终止时间为所述截止时间;
当所述第一请求次数大于第一预设请求次数阈值时,发送所述截止时间对应的缓存数据是否更新的询问请求;
接收基于所述询问请求的返回数据;
对比所述截止时间对应的缓存数据与所述返回数据,并根据对比结果确定是否更新所述截止时间对应的缓存数据;
当所述截止时间对应的缓存数据与所述返回数据一致时,拒绝更新所述截止时间对应的缓存数据。
CN201611185076.1A 2016-12-20 2016-12-20 更新缓存数据的方法及装置 Active CN106453667B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611185076.1A CN106453667B (zh) 2016-12-20 2016-12-20 更新缓存数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611185076.1A CN106453667B (zh) 2016-12-20 2016-12-20 更新缓存数据的方法及装置

Publications (2)

Publication Number Publication Date
CN106453667A CN106453667A (zh) 2017-02-22
CN106453667B true CN106453667B (zh) 2019-06-18

Family

ID=58215208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611185076.1A Active CN106453667B (zh) 2016-12-20 2016-12-20 更新缓存数据的方法及装置

Country Status (1)

Country Link
CN (1) CN106453667B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103652B (zh) * 2017-03-13 2020-06-16 珠海格力电器股份有限公司 数据的存储方法和装置
CN108536617B (zh) * 2018-03-30 2021-03-05 网易宝有限公司 缓存管理方法、介质、系统和电子设备
CN109284304A (zh) * 2018-08-13 2019-01-29 中国平安人寿保险股份有限公司 一种基于缓存技术的电子出单方法及终端设备
CN110069419A (zh) * 2018-09-04 2019-07-30 中国平安人寿保险股份有限公司 多级缓存系统及其访问控制方法、设备和存储介质
CN109271395A (zh) * 2018-09-11 2019-01-25 南京轨道交通系统工程有限公司 用于综合监控系统的大规模实时数据更新发布系统及方法
CN109672736B (zh) * 2018-12-24 2020-03-31 无锡华云数据技术服务有限公司 基于客户端请求的数据加载方法
CN110113385A (zh) * 2019-04-15 2019-08-09 中国平安人寿保险股份有限公司 缓存动态配置方法、装置、计算机设备及存储介质
CN110807040B (zh) * 2019-10-30 2023-03-24 北京达佳互联信息技术有限公司 管理数据的方法、装置、设备及存储介质
CN112839067B (zh) * 2019-11-22 2022-07-22 腾讯科技(深圳)有限公司 一种数据同步方法及装置
CN112540839B (zh) * 2020-12-22 2024-03-19 平安银行股份有限公司 信息变更方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852495A (zh) * 2005-10-27 2006-10-25 华为技术有限公司 一种上行接入方法及装置
CN102014052A (zh) * 2010-11-05 2011-04-13 中国科学院声学研究所 一种虚拟动态优先级分组调度方法
CN103019962A (zh) * 2012-12-21 2013-04-03 华为技术有限公司 数据缓存处理方法、装置以及系统
CN103107953A (zh) * 2013-03-11 2013-05-15 华为技术有限公司 M2m的通信方法、装置和系统
CN103974339A (zh) * 2013-01-28 2014-08-06 华为技术有限公司 一种数据缓存的方法和装置
CN104219272A (zh) * 2013-06-05 2014-12-17 腾讯科技(深圳)有限公司 缓存更新方法、终端和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665410B2 (en) * 2013-03-12 2017-05-30 Google Inc. Processing of application programming interface traffic

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852495A (zh) * 2005-10-27 2006-10-25 华为技术有限公司 一种上行接入方法及装置
CN102014052A (zh) * 2010-11-05 2011-04-13 中国科学院声学研究所 一种虚拟动态优先级分组调度方法
CN103019962A (zh) * 2012-12-21 2013-04-03 华为技术有限公司 数据缓存处理方法、装置以及系统
CN103974339A (zh) * 2013-01-28 2014-08-06 华为技术有限公司 一种数据缓存的方法和装置
CN103107953A (zh) * 2013-03-11 2013-05-15 华为技术有限公司 M2m的通信方法、装置和系统
CN104219272A (zh) * 2013-06-05 2014-12-17 腾讯科技(深圳)有限公司 缓存更新方法、终端和系统

Also Published As

Publication number Publication date
CN106453667A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN106453667B (zh) 更新缓存数据的方法及装置
CN108595207B (zh) 一种灰度发布方法、规则引擎、系统、终端和存储介质
US8966121B2 (en) Client-side management of domain name information
US8984058B2 (en) Pre-fetching remote resources
CN102984286B (zh) 一种dns服务器的缓存更新方法、装置及系统
US7698411B2 (en) Selectively delivering cached content or processed content to clients based upon a result completed percentage
CN104954468A (zh) 资源的分配方法及装置
US11146660B2 (en) Information packet download method for preventing high concurrency, electronic device and storage medium
JP2019521576A (ja) メッセージングシステムの持続性の維持
CN113452808B (zh) 域名解析方法、装置、设备及存储介质
CN104683457A (zh) 并发控制的方法及装置
WO2016141783A1 (zh) 访问控制、策略获取、属性获取方法及相关装置
CN109033302A (zh) 一种页面跳转方法、装置、终端及存储介质
WO2020232698A1 (en) Secure web application delivery platform
US20170155712A1 (en) Method and device for updating cache data
CN112751847A (zh) 接口调用请求的处理方法、装置、电子设备及存储介质
WO2016197727A1 (zh) 一种数据传输方法及装置
CN108965359B (zh) 通信方法、通信装置、可读介质和电子设备
CN107872538B (zh) 解耦tcp长连接的业务处理方法、反向代理和业务服务器
CN104994179B (zh) 一种数据处理方法及服务器
CN113079210A (zh) 一种跨区数据自动同步的配置方法、终端设备及存储介质
US20150100973A1 (en) Intelligent High-Volume Cloud Application Programming Interface Request Caching
CN108897875A (zh) 一种行情图更新方法、装置及设备
Bao et al. ACO-based solution for computation offloading in mobile cloud computing
CN110865845A (zh) 提高接口访问效率的方法、存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant