CN110019537A - 本地缓存刷新方法、装置、计算机设备及存储介质 - Google Patents

本地缓存刷新方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110019537A
CN110019537A CN201811481812.7A CN201811481812A CN110019537A CN 110019537 A CN110019537 A CN 110019537A CN 201811481812 A CN201811481812 A CN 201811481812A CN 110019537 A CN110019537 A CN 110019537A
Authority
CN
China
Prior art keywords
local cache
refresh
server
refreshing
time
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
CN201811481812.7A
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co 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 CN201811481812.7A priority Critical patent/CN110019537A/zh
Publication of CN110019537A publication Critical patent/CN110019537A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例公开了本地缓存刷新方法、装置、设备及存储介质。其方法包括:获取刷新时间指示信息,刷新时间指示信息用于指示服务器对应的本地缓存刷新时段;在每个刷新周期内,当有本服务器的新配置信息,且本刷新周期在本服务器对应的本地缓存刷新时段内,利用新配置信息刷新本地缓存。

Description

本地缓存刷新方法、装置、计算机设备及存储介质
技术领域
本说明书实施例涉及数据处理技术领域,特别是涉及本地缓存刷新方法、装置、计算机设备及存储介质。
背景技术
在分布式系统中,如果配置数据的数据量不大,且访问时效和访问稳定性要求高,往往不会采用分布式缓存,而采用本地缓存。采用本地缓存可减少系统依赖,提升系统稳定性,同时减少RPC(Remote Procedure Call,远程过程调用),提高系统处理时效。
采用本地缓存,在分布式系统的数据库中会记录一个缓存刷新状态表,该缓存刷新状态表中的每一条缓存刷新记录对应一台服务器,用来记录这台服务器的配置信息的刷新状态。当数据库中有配置信息变更,会更新对应的缓存刷新记录到“待刷新”状态,服务器周期性读取缓存刷新状态表,读取到“待刷新”的状态后,从服务器读取最新的配置信息,替换本地缓存中的配置信息,然后更新刷新状态到“刷新完成”,从而完成本地缓存的刷新。因为保存配置信息的数据库(即配置库)是单库共享的,当服务器数量非常多的时候,大量服务器本地缓存刷新时并发访问数据库,造成数据库负载提高,严重的会导致数据库宕机,影响应用的可用性。
发明内容
本说明书实施例提供了一种本地缓存刷新方法、装置、计算机设备及存储介质,能够错峰刷新本地缓存,将数据库的负载压力进行分散。
本说明书实施例提供了如下方案:
第一方面,本说明书实施例提供一种本地缓存刷新方法,该方法包括:
获取刷新时间指示信息,该刷新时间指示信息用于指示服务器对应的本地缓存刷新时段,至少部分服务器对应的本地缓存刷新时段不同;
在每个刷新周期,在确定有本服务器的新配置信息,且本刷新周期在本服务器对应的本地缓存刷新时段内后,利用上述新配置信息刷新本地缓存。
第二方面,本说明书实施例提供一种本地缓存刷新装置,该装置包括:
信息获取模块,用于获取刷新时间指示信息,该刷新时间指示信息用于指示服务器对应的本地缓存刷新时段,至少部分服务器对应的本地缓存刷新时段不同;
缓存刷新模块,用于在每个刷新周期,在确定有本服务器的新配置信息,且本刷新周期在本服务器对应的本地缓存刷新时段内后,利用上述新配置信息刷新本地缓存。
第三方面,本说明书实施例提供一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行上述计算机程序时实现上述方法实施例中描述的方法的步骤。
第四方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中描述的方法的步骤。
根据本说明书提供的具体实施例,本说明书实施例具有以下技术效果:
本说明书实施例中,服务器对应有本地缓存刷新时段,并且至少部分服务器对应的本地缓存刷新时段不同,服务器在每个刷新周期,在既有新配置信息且本刷新周期在本服务器对应的本地缓存刷新时段的情况下,才刷新本地缓存。也就是说,通过配置至少部分服务器对应的本地缓存刷新时段不同,控制服务器在不同的时段错峰读取服务器中的新配置信息进行本地缓存刷新,从而分散服务器的负载压力。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是应用本说明书实施例提供的方法的计算机系统示意图;
图2是本说明书一个实施例提供的方法流程图;
图3是本说明书一个实施例提供的服务器分组及本地缓存时段划分示意图;
图4是本说明书另一个实施例提供的方法流程图;
图5是本说明书实施例提供的装置的示意图;
图6是本说明书实施例提供的计算机设备的示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本说明书实施例保护的范围。
本发明实施例提供的方法应用于图1所示的计算机系统中,在该系统中,多台服务器101共享一个数据库102,客户端103通过网络链路访问服务器101。
其中,数据库102中记录一个缓存刷新状态表,该表中的每一条缓存刷新记录对应一台服务器,作为举例而非限定,一条缓存刷新记录包括服务器的IP地址、域名、缓存名称、刷新状态等字段。本发明实施例中,数据库102中还配置服务器的本地缓存刷新时段,具体可以单独维护一张本地缓存刷新时段的表格,该表格中保存有刷新时间指示信息没用来指示服务器对应的本地缓存刷新时段,也可以在已有的表格(例如缓存刷新状态表)中增加字段用于保存刷新时间指示信息。
各个服务器分别获取刷新时间指示信息,并根据该指示信息实现错峰刷新本地缓存。
本发明实施例提供的方法既可以应用中分布式计算机系统中的服务器上,也可以应用在其他共享数据库的服务器上。
本说明书实施例提供的本地缓存刷新方法如图2所示,该方法包括如下步骤:
步骤201、获取刷新时间指示信息,该刷新时间指示信息用于指示服务器对应的本地缓存刷新时段,至少部分服务器对应的本地缓存刷新时段不同。
其中,可以但不仅限于从数据库中读取刷新时间指示信息。
步骤202、在每个刷新周期,在确定有本服务器的新配置信息,且本刷新周期在本服务器对应的本地缓存刷新时段内后,利用上述新配置信息刷新本地缓存。
本说明书实施例中,本服务器的配置信息(包括本服务器的新配置信息)是指需要保存到本服务器的本地缓存中的配置信息。
其中,服务器可以通过设置定时器来确定每个刷新周期的到来。
其中,服务器具体是从数据库中读取上述新配置信息来刷新本地缓存。
本说明书实施例提供的方法中,服务器对应有本地缓存刷新时段,并且至少部分服务器对应的本地缓存刷新时段不同,服务器在每个刷新周期,在既有新配置信息且本刷新周期在本服务器对应的本地缓存刷新时段的情况下,才刷新本地缓存。也就是说,通过配置至少部分服务器对应的本地缓存刷新时段不同,控制服务器在不同的时段错峰读取服务器中的新配置信息进行本地缓存刷新,从而分散服务器的负载压力,以期数据库的负载在一个安全范围内,保证应用系统的稳定性和可用性。
在本发明实施例提供的方法中,每个刷新周期,判断数据库中是否有本服务器的新配置信息,和/或根据上述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内。具体地,可以在每个刷新周期,均进行这两个判断,也可以先判断数据库中是否有本服务器的新配置信息,在确定有上述新配置信息后,再根据上述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内;还可以先根据上述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,在确定本刷新周期在本服务器对应的本地缓存刷新时段内后,判断数据库中是否有本服务器的新配置信息。
若并行进行上述两个判断,则可以节省判断时间,进而提高本地缓存刷新的速度。若先进行其中一个判断,在满足判断条件时再进行另一个判断,若不满足判断条件则停止在本刷新周期内刷新本地缓存的尝试,不再进行另一个判断,可以节省运算资源,避免对运算资源的过度占用。
本发明实施例中,判断数据库中是否有本服务器的新配置信息的实现方式有多种,常见的实现方式是查找上述缓存刷新状态表,通过查找其中本服务器对应的缓存刷新记录的刷新状态来判断是否有本服务器的新配置信息。具体的,若缓存刷新记录的刷新状态为待刷新的状态,则表示有本服务器的新配置信息,若缓存刷新记录的刷新状态为刷新完成的状态,则表示没有本服务器的新配置信息。
在实际应用中,不限用来表示刷新状态的具体数据表达方式,例如可以通过数值来表示刷新状态,0表示待刷新的状态,1表示刷新完成的状态。
本发明实施例中,刷新时间指示信息的具体内容可以有多种,只要可以用来指示本地缓存刷新时段即可。
在一种实现方式中,刷新时间指示信息包括:本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息,各个本地缓存刷新时段按固定顺序重复排列。
其中,本地缓存刷新时段的时间长度信息可以是单个本地缓存刷新时段的时间长度信息,也可以是时段数量信息指示数量的本地缓存刷新时段的时间长度信息。本发明实施例不对本地缓存刷新时段的时间长度的计量单位进行限定,例如,可以以分钟计,也可以以秒计,还可以以小时计等等,在实际应用中根据需要和适用场景灵活配置。假设以分钟计,刷新时间指示信息包括:N分钟,M个,N为不小于1的整数,M为大于1的整数,其中,N分钟为单个本地缓存刷新时段的时间长度信息,M个为本地缓存刷新时段的时段数量信息,这M个本地缓存刷新时段按照固定顺序重复排列,若为每个本地缓存刷新时段赋以序号0,1……M,则这M个本地缓存刷新时段按0,1,……M,1,1……M……的顺序重复排列。
为了实现错峰刷新本地缓存,需要将多个服务器分散到各个本地缓存刷新时段中,即对多个缓存服务器进行分组。分组的方式有多种,例如,可以直接为服务器指定分组号,又或者,通过计算哈希值的方式实现分组。
若通过计算哈希值的方式实现分组,相应的,上述根据刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内的一种实现方式可以是:根据本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息确定当前本地缓存刷新时段的序号;根据本服务器的信息计算哈希值,并判断该哈希值与上述序号是否匹配,哈希值与序号匹配表示本刷新周期在本服务器对应的本地缓存刷新时段内。
由于本地缓存刷新时段是按照固定顺序重复排列的,因此在获知了本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息后,既可以确定当前本地缓存刷新时段是固定顺序中的第几个,即确定其序号。作为举例而非限定,假设单个本地缓存刷新时段的时间长度是5分钟,共有3个本地缓存刷新时段,并约定整点时刻为排序的起始时刻,那么,假设当前时间为17点18分19秒,在第一个本地缓存刷新时段内。假设排序的序号为0、1、2,哈希值的计算结果也是0、1、2其中一个。那么,哈希值与序号匹配是指二者相同。当然也可能存在哈希值与序号不相同的情况,那么可以预先确定哈希值与序号的匹配关系,通过查找该匹配关系来判断二者是否匹配。
其中,用来计算哈希值的服务器的信息可以有多种,例如,可以是服务器的域名,也可以是服务器的IP地址,还可以是服务器的域名和IP地址等等。
若通过哈希值实现分组,不需要耗费数据库资源,尤其是在服务器有增减的情况下,也无需耗费额外的数据库资源,通过计算哈希值即可实现自动分组。
若直接为服务器指定分组号,相应的,预先将多个服务器分组,并分配分组号,上述刷新时间指示信息还包括本服务器的分组号,上述根据刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内的另一种实现方式可以是:根据本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息确定当前本地缓存刷新时段的序号;判断本服务器的分组号与上述序号是否匹配,本服务器的分组号与上述序号匹配表示本刷新周期在本服务器对应的本地缓存刷新时段内。
若通过直接指定分组的方式,可以节省服务器的计算资源和计算时间。
本发明实施例中,本地缓存刷新时段重复排序的起始时刻可以是默认的,也可以是指定的,例如在上述刷新时间指示信息中指定。根据起始时刻即可确定各个本地缓存刷新时段的序号。
在另一种实现方式中,上述刷新时间指示信息包括本服务器对应的本地缓存刷新时段的起止时间信息。相应的,上述根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,其实现方式可以是:根据本服务器对应的本地缓存刷新时段的起止时间信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内。
若直接指定了本服务器对应的本地缓存刷新时段的起止时间,则简化了服务器判断,降低了其实现难度和复杂度。
下面结合具体应用场景对本说明书实施例提供的本地缓存刷新方法进行详细说明。
在图1所示的计算机系统,特别是分布式系统的环境下,同一个应用(APP)会部署在多台服务器上,连接到同一个数据库。每台服务器上运行的APP实例内部有一个本地缓存,用于在本地缓存配置数据。在数据库中有一张缓存刷新状态表,每一台服务器的本地缓存在缓存刷新记录表都有一条记录,记录的信息包括服务器的IP地址、服务器域名、缓存名称、刷新状态、创建时间、更新时间。
如图3所示,将分布式系统中的服务器分成了三组,分组的方式是通过计算服务器域名的哈希(hash)值实现的,hash值有0、1、2三种取值。每一组服务器被分配5分钟的时段(即本地缓存刷新时段)来刷新本地缓存。按照这个分组逻辑,当要刷新本地缓存时,0-5分钟刷新第0组,5-10分钟刷新第1组,10到15分钟刷新第2组,本地缓存刷新时段左闭右开,在15分钟内完成三组服务器的本地缓存刷新。如果当前时间处在15-30分钟这个区间内,则15-20分钟刷新第0组,20-25分钟刷新第1组,25-30分钟刷新第2组,依次类推。
每个服务器的APP内部有一个定时器,依次设定定时刷新频率(即确定刷新周期),如1分钟一次,每分钟的0秒触发。如图4所示:
服务器从数据库的配置表获取本地缓存刷新时段的时间长度信息(interval)和时段数量信息(count),interval是指一组服务器刷新需要的时间,在图3中,interval等于5分钟,count是分组数,也表示本地缓存刷新时段的数量,在图3中count等于3。
在计时器的每个计时周期:
服务器在数据库的缓存刷新状态表中查询本服务器对应的缓存状态记录并判断是否需要刷新本地缓存(即判断是否有新配置信息)。具体的,从缓存状态记录中读取刷新状态,如果不是“待刷新”状态则直接终止刷新流程。
获取当前时间的分钟数(minute)。具体的,获取当前时间,并取分钟部分的数值,如当前时间为17:18:19,则minute=18。
计算服务器的hash值。根据服务器的域名(host_name)计算一个hash值,作为举例而非限定,计算公式为hashcode=abs(hash(host_name)%count)。abs函数的作用是取绝对值,防止出现负值。
判断哈希值(hashcode)是否等于当前本地缓存刷新时段的序号,并决定是否刷新本地缓存。当前本地缓存刷新时段的序号的计算方法可以但不仅限为(minute%(interval*count))/interval。
如果hashcode等于当前本地缓存刷新时段的序号,则刷新本地缓存。如果hashcode不等于当前本地缓存刷新时段的序号,说明暂时还不能刷新,直接终止刷新流程。
通过对服务器进行分组,每组分组对应到一个时间区间,在时间区间范围内才允许刷新,否则不允许刷新,从而达到了错峰刷新的效果。
本说明书实施例自动实现对服务器进行分组和错峰刷新,不需要人工干预。同时将判断缓存是否要刷新的逻辑结合到刷新流程中,不需要新增任何守护进程,没有额外耗费服务器资源,实现成本低。此外,本说明书实施例提供的方法具备通用性,在所有应用本地缓存的地方都可以使用本方法来达到错峰刷新本地缓存的效果。
本说明书实施例采用对服务器域名计算hash值的方式,对服务器进行均匀分组,且当服务器数量有新增或者减少时,算法和参数不需要做任何调整,完成自适应。将服务器分组与时段的序号对应,控制只能在对应时段内才能刷新,达到分组错峰刷新的效果。时段间隔和时段数可配置化,可根据实际情况进行动态调整,保证数据库的负载在安全范围内,保证系统稳定运行。
与上述方法实施例相对应,本说明书实施例还提供一种本地缓存刷新装置,如图5所示,该装置包括:
信息获取模块501,用于获取刷新时间指示信息,该刷新时间指示信息用于指示服务器对应的本地缓存刷新时段,至少部分服务器对应的本地缓存刷新时段不同;
其中,可以但不仅限于从数据库中读取刷新时间指示信息。
缓存刷新模块502,用于在每个刷新周期,在确定有本服务器的新配置信息,且本刷新周期在本服务器对应的本地缓存刷新时段内后,利用上述新配置信息刷新本地缓存。
本说明书实施例中,本服务器的配置信息(包括本服务器的新配置信息)是指需要保存到本服务器的本地缓存中的配置信息。
其中,缓存刷新模块502可以通过设置定时器来确定每个刷新周期的到来。
其中,缓存刷新模块502具体是从数据库中读取上述新配置信息来刷新本地缓存。
本说明书实施例提供的装置中,服务器对应有本地缓存刷新时段,并且至少部分服务器对应的本地缓存刷新时段不同,服务器在每个刷新周期,在既有新配置信息且本刷新周期在本服务器对应的本地缓存刷新时段的情况下,才刷新本地缓存。也就是说,通过配置至少部分服务器对应的本地缓存刷新时段不同,控制服务器在不同的时段错峰读取服务器中的新配置信息进行本地缓存刷新,从而分散服务器的负载压力,以期数据库的负载在一个安全范围内,保证应用系统的稳定性和可用性。
在本发明实施例提供的装置中,每个刷新周期,判断数据库中是否有本服务器的新配置信息,和/或根据上述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内。具体地,上述缓存刷新模块还用于,在每个刷新周期:
判断数据库中是否有本服务器的新配置信息,并根据上述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内;或者,
判断数据库中是否有本服务器的新配置信息,在确定有上述新配置信息后,根据上述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内;或者,
根据上述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,在确定本刷新周期在本服务器对应的本地缓存刷新时段内后,判断数据库中是否有本服务器的新配置信息。
若并行进行上述两个判断,则可以节省判断时间,进而提高本地缓存刷新的速度。若先进行其中一个判断,在满足判断条件时再进行另一个判断,若不满足判断条件则停止在本刷新周期内刷新本地缓存的尝试,不再进行另一个判断,可以节省运算资源,避免对运算资源的过度占用。
本发明实施例中,判断数据库中是否有本服务器的新配置信息的实现方式有多种,常见的实现方式是查找上述缓存刷新状态表,通过查找其中本服务器对应的缓存刷新记录的刷新状态来判断是否有本服务器的新配置信息。具体的,若缓存刷新记录的刷新状态为待刷新的状态,则表示有本服务器的新配置信息,若缓存刷新记录的刷新状态为刷新完成的状态,则表示没有本服务器的新配置信息。
在实际应用中,不限用来表示刷新状态的具体数据表达方式,例如可以通过数值来表示刷新状态,0表示待刷新的状态,1表示刷新完成的状态。
本发明实施例中,刷新时间指示信息的具体内容可以有多种,只要可以用来指示本地缓存刷新时段即可。
在一种实现方式中,刷新时间指示信息包括:本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息,各个本地缓存刷新时段按固定顺序重复排列。
为了实现错峰刷新本地缓存,需要将多个服务器分散到各个本地缓存刷新时段中,即对多个缓存服务器进行分组。分组的方式有多种,例如,可以直接为服务器指定分组号,又或者,通过计算哈希值的方式实现分组。
若通过计算哈希值的方式实现分组,相应的,为了根据上述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,缓存刷新模块用于:
根据本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息确定当前本地缓存刷新时段的序号;
根据本服务器的信息计算哈希值,并判断所述哈希值与所述序号是否匹配,所述哈希值与所述序号匹配表示本刷新周期在本服务器对应的本地缓存刷新时段内。
若通过哈希值实现分组,不需要耗费数据库资源,尤其是在服务器有增减的情况下,也无需耗费额外的数据库资源,通过计算哈希值即可实现自动分组。
其中,本服务器的信息可以包括本服务器的域名。
若直接为服务器指定分组号,相应的,预先将多个服务器分组,并分配分组号,上述刷新时间指示信息还包括本服务器的分组号,为了根据上述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,缓存刷新模块用于:
根据本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息确定当前本地缓存刷新时段的序号;
判断本服务器的分组号与上述序号是否匹配,本服务器的分组号与上述序号匹配表示本刷新周期在本服务器对应的本地缓存刷新时段内。
若通过直接指定分组的方式,可以节省服务器的计算资源和计算时间。
在另一种实现方式中,上述刷新时间指示信息包括本服务器对应的本地缓存刷新时段的起止时间信息。相应的,为了根据上述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,缓存刷新模块用于:根据本服务器对应的本地缓存刷新时段的起止时间信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内。
若直接指定了本服务器对应的本地缓存刷新时段的起止时间,则简化了服务器判断,降低了其实现难度和复杂度。
另外,本说明书实施例还提供了一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行上述计算机程序时实现上述任意方法实施例中所描述方法的步骤。
本说明书实施例提供的计算机设备可以但不仅限于包括服务器等。
其中,图6示例性的展示出了计算机设备的架构,具体可以包括处理器610,视频显示适配器611,磁盘驱动器612,输入/输出接口613,网络接口614,以及存储器620。上述处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,与存储器620之间可以通过通信总线630进行通信连接。
其中,处理器610可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器620可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器620可以存储用于控制计算机设备600运行的操作系统621,用于控制计算机系统600的低级别操作的基本输入输出系统(BIOS)。另外,还可以存储网页浏览器623,数据存储管理系统624,以及APP实例525等等。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器620中,并由处理器610来调用执行。
输入/输出接口613用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口614用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线630包括一通路,在设备的各个组件(例如处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,与存储器620)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,存储器620,总线630等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
另外,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意方法实施例所描述的方法的步骤。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或计算机设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及计算机设备实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本说明书实施例所提供的本地缓存刷新方法、装置、计算机设备及存储介质,进行了详细介绍,本文中应用了具体个例对本说明书实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本说明书实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本说明书实施例的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

Claims (16)

1.一种本地缓存刷新方法,其特征在于,所述方法包括:
获取刷新时间指示信息,所述刷新时间指示信息用于指示服务器对应的本地缓存刷新时段,至少部分服务器对应的本地缓存刷新时段不同;
在每个刷新周期,在确定有本服务器的新配置信息,且本刷新周期在本服务器对应的本地缓存刷新时段内后,利用所述新配置信息刷新本地缓存。
2.根据权利要求1所述的方法,其特征在于,在每个刷新周期,该方法还包括:
判断数据库中是否有本服务器的新配置信息,并根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内;或者,
判断数据库中是否有本服务器的新配置信息,在确定有所述新配置信息后,根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内;或者,
根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,在确定本刷新周期在本服务器对应的本地缓存刷新时段内后,判断数据库中是否有本服务器的新配置信息。
3.根据权利要求2所述的方法,其特征在于,所述刷新时间指示信息包括:本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息,各个本地缓存刷新时段按固定顺序重复排列;
所述根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,包括:
根据本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息确定当前本地缓存刷新时段的序号;
根据本服务器的信息计算哈希值,并判断所述哈希值与所述序号是否匹配,所述哈希值与所述序号匹配表示本刷新周期在本服务器对应的本地缓存刷新时段内。
4.根据权利要求3所述的方法,其特征在于,所述本服务器的信息包括本服务器的域名。
5.根据权利要求2所述的方法,其特征在于,所述刷新时间指示信息包括:本地缓存刷新时段的时间长度信息、本地缓存刷新时段的时段数量信息和本服务器的分组号;
所述根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,包括:
根据本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息确定当前本地缓存刷新时段的序号;
判断本服务器的分组号与所述序号是否匹配,本服务器的分组号与所述序号匹配表示本刷新周期在本服务器对应的本地缓存刷新时段内。
6.根据权利要求2所述的方法,其特征在于,所述刷新时间指示信息包括本服务器对应的本地缓存刷新时段的起止时间信息;
所述根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,包括:根据所述本服务器对应的本地缓存刷新时段的起止时间信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内。
7.根据权利要求2~6任一项所述的方法,其特征在于,所述判断数据库中是否有本服务器的新配置信息,包括:
判断缓存刷新状态表中本服务器对应的缓存刷新记录的刷新状态是否为待刷新的状态。
8.根据权利要求2~6任一项所述的方法,其特征在于,所述获取刷新时间指示信息,包括:
从所述数据库中读取刷新时间指示信息。
9.一种本地缓存刷新装置,其特征在于,所述装置包括:
信息获取模块,用于获取刷新时间指示信息,所述刷新时间指示信息用于指示服务器对应的本地缓存刷新时段,至少部分服务器对应的本地缓存刷新时段不同;
缓存刷新模块,用于在每个刷新周期,在确定有本服务器的新配置信息,且本刷新周期在本服务器对应的本地缓存刷新时段内后,利用所述新配置信息刷新本地缓存。
10.根据权利要求9所述的装置,其特征在于,所述缓存刷新模块还用于,在每个刷新周期:
判断数据库中是否有本服务器的新配置信息,并根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内;或者,
判断数据库中是否有本服务器的新配置信息,在确定有所述新配置信息后,根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内;或者,
根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,在确定本刷新周期在本服务器对应的本地缓存刷新时段内后,判断数据库中是否有本服务器的新配置信息。
11.根据权利要求10所述的装置,其特征在于,所述刷新时间指示信息包括:本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息,各个本地缓存刷新时段按固定顺序重复排列;
为了根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,所述缓存刷新模块用于:
根据本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息确定当前本地缓存刷新时段的序号;
根据本服务器的信息计算哈希值,并判断所述哈希值与所述序号是否匹配,所述哈希值与所述序号匹配表示本刷新周期在本服务器对应的本地缓存刷新时段内。
12.根据权利要求11所述的装置,其特征在于,所述本服务器的信息包括本服务器的域名。
13.根据权利要求10所述的装置,其特征在于,所述刷新时间指示信息包括:本地缓存刷新时段的时间长度信息、本地缓存刷新时段的时段数量信息和本服务器的分组号;
为了根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,所述缓存刷新模块用于:
根据本地缓存刷新时段的时间长度信息和本地缓存刷新时段的时段数量信息确定当前本地缓存刷新时段的序号;
判断本服务器的分组号与所述序号是否匹配,本服务器的分组号与所述序号匹配表示本刷新周期在本服务器对应的本地缓存刷新时段内。
14.根据权利要求10所述的装置,其特征在于,所述刷新时间指示信息包括本服务器对应的本地缓存刷新时段的起止时间信息;
为了根据所述刷新时间指示信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内,所述缓存刷新模块用于:根据所述本服务器对应的本地缓存刷新时段的起止时间信息判断本刷新周期是否在本服务器对应的本地缓存刷新时段内。
15.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现权利要求1~8中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~8中任一项所述的方法的步骤。
CN201811481812.7A 2018-12-05 2018-12-05 本地缓存刷新方法、装置、计算机设备及存储介质 Pending CN110019537A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811481812.7A CN110019537A (zh) 2018-12-05 2018-12-05 本地缓存刷新方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811481812.7A CN110019537A (zh) 2018-12-05 2018-12-05 本地缓存刷新方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN110019537A true CN110019537A (zh) 2019-07-16

Family

ID=67188580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811481812.7A Pending CN110019537A (zh) 2018-12-05 2018-12-05 本地缓存刷新方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110019537A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457366A (zh) * 2019-07-22 2019-11-15 阿里巴巴集团控股有限公司 一种数据查询方法、装置及电子设备
CN110955612A (zh) * 2019-11-07 2020-04-03 浪潮电子信息产业股份有限公司 一种数据缓存方法及相关装置
CN113032395A (zh) * 2021-03-15 2021-06-25 中国工商银行股份有限公司 一种应用服务器的缓存刷新方法及装置
CN114168494A (zh) * 2021-11-29 2022-03-11 北京达佳互联信息技术有限公司 一种缓存处理方法、装置、电子设备及存储介质
CN115346291A (zh) * 2022-08-16 2022-11-15 深圳市元征软件开发有限公司 车辆数据流的获取方法以及相关设备
CN116389398A (zh) * 2023-05-30 2023-07-04 阿里巴巴(中国)有限公司 数据访问控制方法、车辆控制方法及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572860A (zh) * 2014-12-17 2015-04-29 北京皮尔布莱尼软件有限公司 一种数据处理方法和系统
US20150149531A1 (en) * 2013-11-27 2015-05-28 At&T Intellectual Property I, L.P. Dynamically Selected Message Refresh Interval
CN105630812A (zh) * 2014-10-30 2016-06-01 阿里巴巴集团控股有限公司 集群应用缓存刷新方法及装置
CN106155920A (zh) * 2015-03-30 2016-11-23 阿里巴巴集团控股有限公司 数据管理方法和装置
CN107357857A (zh) * 2017-06-29 2017-11-17 深圳市金立通信设备有限公司 一种更新缓存信息的方法及服务节点设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150149531A1 (en) * 2013-11-27 2015-05-28 At&T Intellectual Property I, L.P. Dynamically Selected Message Refresh Interval
CN105630812A (zh) * 2014-10-30 2016-06-01 阿里巴巴集团控股有限公司 集群应用缓存刷新方法及装置
CN104572860A (zh) * 2014-12-17 2015-04-29 北京皮尔布莱尼软件有限公司 一种数据处理方法和系统
CN106155920A (zh) * 2015-03-30 2016-11-23 阿里巴巴集团控股有限公司 数据管理方法和装置
CN107357857A (zh) * 2017-06-29 2017-11-17 深圳市金立通信设备有限公司 一种更新缓存信息的方法及服务节点设备

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457366A (zh) * 2019-07-22 2019-11-15 阿里巴巴集团控股有限公司 一种数据查询方法、装置及电子设备
CN110955612A (zh) * 2019-11-07 2020-04-03 浪潮电子信息产业股份有限公司 一种数据缓存方法及相关装置
CN110955612B (zh) * 2019-11-07 2022-03-08 浪潮电子信息产业股份有限公司 一种数据缓存方法及相关装置
CN113032395A (zh) * 2021-03-15 2021-06-25 中国工商银行股份有限公司 一种应用服务器的缓存刷新方法及装置
CN114168494A (zh) * 2021-11-29 2022-03-11 北京达佳互联信息技术有限公司 一种缓存处理方法、装置、电子设备及存储介质
CN115346291A (zh) * 2022-08-16 2022-11-15 深圳市元征软件开发有限公司 车辆数据流的获取方法以及相关设备
CN115346291B (zh) * 2022-08-16 2024-04-26 深圳市元征软件开发有限公司 车辆数据流的获取方法以及相关设备
CN116389398A (zh) * 2023-05-30 2023-07-04 阿里巴巴(中国)有限公司 数据访问控制方法、车辆控制方法及设备
CN116389398B (zh) * 2023-05-30 2023-10-20 阿里巴巴(中国)有限公司 数据访问控制方法、车辆控制方法及设备

Similar Documents

Publication Publication Date Title
CN110019537A (zh) 本地缓存刷新方法、装置、计算机设备及存储介质
CN107798108B (zh) 一种异步任务查询方法及设备
CN106547578B (zh) 终端应用app的加载方法及装置
CN109144619B (zh) 图标字体信息处理方法、装置及系统
CN113364882B (zh) 物联网终端及其数据传输方法、相关设备
CN111274512A (zh) 一种页面加载方法、装置及介质
CN114095567B (zh) 数据访问请求的处理方法、装置、计算机设备及介质
CN109032881A (zh) 一种日志级别动态调整方法及装置
CN113204425B (zh) 供进程管理内部线程的方法、装置、电子设备及存储介质
CN104268229A (zh) 一种基于多进程浏览器的资源获得方法及装置
CN111724133A (zh) 一种创建项目的方法及装置
CN110286954B (zh) 一种应用程序的启动方法、装置及存储介质
CN109165712A (zh) 分布式分期号的生成方法、装置和计算机存储介质
US20140215035A1 (en) Distribution of application components among devices
CN116028108B (zh) 一种依赖包安装用时分析方法、装置、设备及存储介质
CN112860506A (zh) 监控数据的处理方法、装置、系统和存储介质
CN116756016A (zh) 多浏览器测试方法、装置、设备、介质及程序产品
CN116156266A (zh) 多路视频数据存储方法、系统、电子设备及存储介质
CN106453656B (zh) 一种集群主机选取方法及装置
US9514241B1 (en) Consistently delivering a web page having source code with a dynamic instruction
US20130054580A1 (en) Data Point Dictionary
CN113191136A (zh) 数据处理方法及装置
CN110928860A (zh) 数据迁移方法和装置
CN111163138B (zh) 一种降低游戏期间网络负载的方法、装置和服务器
US8819274B2 (en) Selecting a network connection for data communications with a networked device

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: 40011330

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201013

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201013

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190716