CN110704463A - 常用数据的本地缓存方法、装置、计算机设备及存储介质 - Google Patents
常用数据的本地缓存方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110704463A CN110704463A CN201910841887.XA CN201910841887A CN110704463A CN 110704463 A CN110704463 A CN 110704463A CN 201910841887 A CN201910841887 A CN 201910841887A CN 110704463 A CN110704463 A CN 110704463A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- common data
- time
- remote 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 239000010453 quartz Substances 0.000 abstract description 7
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种常用数据的本地缓存方法、装置、计算机设备及存储介质,所述方法包括:响应于数据初始化缓存命令,在第一设定时刻触发常用数据获取任务,其中所述常用数据是存储在远程数据库的常用数据表中的所有数据;将从远程数据库获取到的所述常用数据存储到本地的缓存仓库中;响应于初始化完成信号,在第二设定时刻触发常用数据更新任务;从所述远程数据库中获取增量数据,并将所述增量数据同步到所述缓存仓库中。本发明利用quartz作业调度框架配合JVM虚拟内存,在内存中划分固定地址空间作为缓存仓库来存储远程数据库中访问频率较高的常用数据,可以达到缓存仓库中的常用数据与远程数据库中的常用数据保持高度一致的目的。
Description
技术领域
本发明涉及数据缓存技术领域,特别涉及一种常用数据的本地缓存方法、装置、计算机设备及存储介质。
背景技术
数据库中存储有海量数据,直接对远程数据库进行访问会占用较多的网络资源,并且随着数据库中数据量的日益增加,对远程数据库的访问时间也会越来越长。
相对于远程数据库,用户本地缓存中对数据进行读写操作的速度要快得多,因此现有技术中会采用将访问频率高的数据加载到本地缓存的方式来缓解数据库压力。然而,远程数据库中的数据可能会随时发生变化,如果本地缓存中加载的高频访问数据不能得到及时更新,则会出现访问数据出错的情况,严重影响到后续的数据处理结果。因此,如何提供一种能够与远程数据库中的数据时时保持同步的本地缓存方案,成为本领域技术人员亟待解决的技术问题。
发明内容
本发明的目的是提供一种常用数据的本地缓存方法、装置、计算机设备及存储介质,以解决现有技术中存在的上述问题。
为实现上述目的,本发明提供一种常用数据的本地缓存方法,包括以下步骤:
响应于数据初始化缓存命令,在第一设定时刻触发常用数据获取任务,其中所述常用数据是存储在远程数据库的常用数据表中的所有数据;
将从远程数据库获取到的所述常用数据存储到本地的缓存仓库中;
响应于初始化完成信号,在第二设定时刻触发常用数据更新任务;
从所述远程数据库中获取增量数据,并将所述增量数据同步到所述缓存仓库中。
根据本发明提出的本地缓存方法,所述第二设定时刻包括具有固定间隔的多个触发时刻。
根据本发明提出的本地缓存方法,所述从所述远程数据库中获取增量数据,并将所述增量数据同步到所述缓存仓库中的步骤包括:
从所述远程数据库中查找所述常用数据表的更新时刻;
获取目标时间段内的更新时刻对应的目标增量数据,所述目标时间段指的是当前触发时刻和第一设定时刻之间的时间段,或者是当前触发时刻和上一个触发时刻之间的时间段;
将所述目标增量数据同步到所述缓存仓库。
根据本发明提出的本地缓存方法,在响应于初始化完成信号,在第二设定时刻触发常用数据更新任务的步骤之前,还包括:
在第二设定时刻没有收到初始化完成信号的情况下,停止触发所述常用数据更新任务。
根据本发明提出的本地缓存方法,还包括以下步骤:
获取所述缓存仓库的剩余存储空间,当所述剩余存储空间小于第一空间阈值时,从所述缓存仓库中删除第一数据,所述第一数据指的是所述缓存仓库中使用频率小于第一频率阈值的数据。
为实现上述目的,本发明提供一种常用数据的本地缓存装置,包括:
常用数据获取模块,适用于响应数据初始化缓存命令,在第一设定时刻触发常用数据获取任务,其中所述常用数据是存储在远程数据库的常用数据表中的所有数据;
常用数据存储模块,适用于将从远程数据库获取到的所述常用数据存储到本地的缓存仓库中;
更新任务触发模块,适用于响应初始化完成信号,在第二设定时刻触发常用数据更新任务;所述第二设定时刻包括具有固定间隔的多个触发时刻;
增量数据同步模块,适用于从所述远程数据库中获取增量数据,并将所述增量数据同步到所述缓存仓库中。
根据本发明提出的本地缓存装置,所述增量数据同步模块包括:
更新时刻获取子模块,适用于从所述远程数据库中查找所述常用数据表的更新时刻;
目标增量数据获取模块,适用于获取目标时间段内的更新时刻对应的目标增量数据,所述目标时间段指的是当前触发时刻和第一设定时刻之间的时间段,或者是当前触发时刻和上一个触发时刻之间的时间段;
同步子模块,适用于将所述目标增量数据同步到所述缓存仓库。
根据本发明提出的本地缓存装置,还包括:
剩余空间模块,适用于获取所述缓存仓库的剩余存储空间,当所述剩余存储空间小于第一空间阈值时,从所述缓存仓库中删除第一数据,所述第一数据指的是所述缓存仓库中使用频率小于第一频率阈值的数据。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的常用数据的本地缓存方法、装置、计算机设备及计算机可读存储介质,为访问远程数据库提供了一种方便快速且能够时时保持数据同步的本地缓存方案。本发明利用quartz作业调度框架配合JVM虚拟内存,在内存中划分固定地址空间作为缓存仓库来存储远程数据库中访问频率较高的常用数据。为了保持缓存仓库中的常用数据与远程数据库中的常用数据能够同步更新,本发明利用quartz为缓存仓库建立一次初始化任务和多次更新任务。所述初始化任务指的是在预定时刻将远程数据库中的常用数据全量同步到缓存仓库,然后再按照固定间隔频率,实时监控远程数据库中针对所述常用数据的发生变化的增量部分,将这些增量部分同步到缓存仓库,从而达到缓存仓库中的常用数据与远程数据库中的常用数据保持高度一致的目的。
附图说明
图1为本发明的常用数据的本地缓存方法实施例一的流程图;
图2为本发明的常用数据的本地缓存装置实施例一的程序模块示意图;
图3为本发明的常用数据的本地缓存装置实施例一的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的常用数据的本地缓存方法、装置、计算机设备及计算机可读存储介质,为访问远程数据库提供了一种方便快速且能够时时保持数据同步的本地缓存方案。本发明利用quartz作业调度框架配合JVM虚拟内存,在内存中划分固定地址空间作为缓存仓库来存储远程数据库中访问频率较高的常用数据。为了保持缓存仓库中的常用数据与远程数据库中的常用数据能够同步更新,本发明利用quartz为缓存仓库建立一次初始化任务和多次更新任务。所述初始化任务指的是在预定时刻将远程数据库中的常用数据全量同步到缓存仓库,然后再按照固定间隔频率,实时监控远程数据库中针对所述常用数据的发生变化的增量部分,将这些增量部分同步到缓存仓库,从而达到缓存仓库中的常用数据与远程数据库中的常用数据保持高度一致的目的。
实施例一
请参阅图1,本实施例提出一种常用数据的本地缓存方法,具体包括以下步骤:
S1:响应于数据初始化缓存命令,在第一设定时刻触发常用数据获取任务,其中所述常用数据是存储在远程数据库的常用数据表中的所有数据。
本发明通过quartz设置两种定时任务,一种是初始化缓存任务,另一种是更新缓存任务,其中初始化缓存任务用于把远程数据库中的常用数据存储到缓存仓库,更新缓存任务用于把远程数据库中相对于常用数据发生变化的增量数据存储到缓存仓库。本发明利用quartz通过分别为初始化缓存任务和更新缓存任务设置相应的触发时刻来下发定时任务,其中初始化缓存任务可以只设置一个触发时刻,即本发明所称的第一设定时刻;更新缓存任务可以根据需要设施多个触发时刻。
本发明中的缓存仓库指的是从本地内存中划分出的固定存储区域,其中所述本地内存既可以是硬件内存也可以是虚拟内存。作为本地内存的一部分,本发明的缓存仓库具有数据读取速度快、易于操作的优点。在本实施例中,上述缓存仓库就是从JVM虚拟内存中划分出来的固定存储空间。
本发明中的常用数据指的是使用频率较高的数据,例如根据经验统计到一天之内使用频率超过第一频率阈值的数据,具体包括机构代码、车辆类型、号牌类型等信息,这些信息通常以数据表的形式保存在远程数据库中,比如机构代码表、车辆类型表、号牌类型表等,每各数据表中包含多条数据项。在具体实施例中,上述数据表中的每一条数据项通常是以键值对(key,value)的形式存储数据的,例如证件类型表中,key值为01,对应value值为身份证;key值为02,对应value值为港澳通行证,等等。
本发明中的初始化缓存命令是通过第一设置时刻触发的,所述第一触发时刻既可以是基于条件的时刻,例如一旦获取到远程数据库发送的数据录入完成指令后立即启动;也可以是具体的数值,例如2019年1月1日01:00:00。对于第二种具体的数值时刻,通过实时扫描当前时刻来判断是否启动执行。一旦当前时刻到达第一设置时刻,启动初始化缓存命令,将远程数据库中的常用数据下载存储到本地缓存仓库,具体的,例如把远程数据库中证件类型表中的全部证件类型数据下载存储到本地缓存仓库。
S2:将从远程数据库获取到的所述常用数据存储到本地的缓存仓库中。
本领域普通技术人员可以了解,当一台计算机从远程数据库中读取数据时,首先必然要做的是把远程数据库中的相应数据读取到内存中。本发明在此基础上增加了将内存中的数据重新存储的步骤,即将计算机内存中的数据存储至本地的缓存仓库中。与内存中的数据断电即消失的特性不同,本发明所述本地的缓存仓库能够长期保存数据而不受断电影响,从而可以实现随时从本地的缓存仓库中读取数据的功能。在本实施例中,本地的缓存仓库中存储的是远程数据库中的常用数据。
本发明的缓存仓库可以利用现有的任何一种数据库技术来存储数据,优选的通过concurrenthashmap存储常用数据。所述常用数据在缓存仓库中的存储形式可以和原来在远程数据库中的存储形式相同,例如仍沿用原有的key值和value值,也可以和原来在远程数据库中的存储形式不同,例如,重新定义新的key值和value值。
本实施例中,缓存仓库中的常用数据仍然以键值对(key,value)的形式进行存储,但不同的是,缓存仓库中的键值对是在远程数据库的键值对的外层又进行了一次封装。例如,缓存仓库中的每一个value值代表一个数据表,对应的key代表数据表类型,具体的,缓存仓库中key值为10,对应的value值为证件类型表;缓存仓库中key值为20,对应的value值为能源类型表。
本发明将缓存仓库重新封装的键值对称为外部键值对(key1,value1),将远程数据库中原来存储的键值对称为内部键值对(key2,value2),这样一来,缓存仓库中存储的常用数据可以通过两对键值对(key1,value1;key2,value2)来精确确定。
本发明通过对远程数据库中的键值对进行再次封装,生成缓存仓库中的外部键值对,有利于提高缓存仓库中的数据查询速度。缓存仓库中的一个外部键值对,相当于对应远程数据库中的一个数据表,其中每个数据表中又包含多条数据。本发明通过将每一种数据表类型作为一个外部键值对进行存储,当需要从缓存仓库中查询目标数据时,不必搜索缓存仓库中的全部数据,只需先通过外部键值对确定数据表类型,根据数据表类型搜索到目标数据表,然后再从目标数据表中根据内部键值对搜索目标数据,大大缩小了查询范围,从了提高数据查询速度。
S3:响应于初始化完成信号,在第二设定时刻触发常用数据更新任务。
当缓存仓库中完成对远程数据库中的常用数据的全部下载存储之后,会发出初始化完成信号,在收到该信号的基础上,可以准备进入后续的常用数据更新任务。
存储在远程数据库中的常用数据并不是固定不变的,随着时间转移会不断发生数据的增加、删除、修改等增量变化,本发明中的常用数据更新任务就是用于同步这些发生增量变化的常用数据。
进一步,本发明中的更新任务是通过第二设定时刻进行触发的,且第二设定时刻包含多个固定时间间隔的触发时刻。也就是说,自接收到初始化完成信号起,按照预设的固定时间间隔来触发常用数据更新任务。上述第二设定时刻可以包含具体的多个时刻,例如11:00,11:10,11:20…,也可以是包含起始条件和间隔时间,例如规定起始条件为接收到初始化完成信号,间隔时间规定为10分钟。那么本发明将会在接收到初始化完成信号之时起每隔10分钟触发一次常规数据更新任务。
考虑一种特殊情况,即第二设定时刻包含具体的多个触发时刻,这时有可能存在到达触发时刻时尚未执行完初始化缓存任务的情况,此时还需要等待初始化完成信号。如果没有收到初始化完成信号时已到达某个触发时刻,则自动跳过该触发时刻,不执行触发更新任务,直到接收到初始化完成信号之后的下一个触发时刻再启动触发更新任务。
S4:从所述远程数据库中获取增量数据,并将所述增量数据同步到所述缓存仓库中。
本步骤是根据缓存仓库执行数据初始化缓存命令的时刻和当前触发时刻之间的时间差来查询增量数据的。例如,开始执行初始化缓存命令的时刻是11:00,第一次更新任务的触发时间是11:30,则本步骤从远程数据库中查询11:00到11:30之间的上述常规数据的增量数据。这是因为,缓存仓库执行初始化缓存任务是基于11:00之前的数据进行统计的,对于11:00之后发生变化的数据没有包含在内。因此需要统计11:00到11:30之间产生的增量数据。
本发明统计增量数据是基于远程数据库中的数据更新时刻进行的。对于远程数据库中的数据表而言,每当发生一次数据的增加、删除或修改等动作,将会存储一个更新时刻,也就是说每一个更新时刻对应一个增量数据。因此本发明统计某个时间段内的增量数据,也就是需要获取该时间段内产生的更新时刻,该更新时刻对应的数据即为上述时间段内产生的增量数据。本发明通过查找远程数据库中自第一设定时刻和第二设定时刻之间产生的更新时刻,便能够获取到该时间段内的增量数据,通过把增量数据存储到缓存仓库中即可完成本次缓存更新任务。
本领域普通技术人员可以理解,本发明所称的增量数据包括数据的增加、变更和删除,本发明所获取的增量数据也包含增加的数据、变更的数据和删除的数据,本发明所称的将增量数据存储到缓存仓库中,包括在缓存仓库中添加新增的数据、修改变更的数据以及删除数据。
S5:获取所述缓存仓库的剩余存储空间,当所述剩余存储空间小于第一空间阈值时,从所述缓存仓库中删除第一数据,所述第一数据指的是所述缓存仓库中使用频率小于第一频率阈值的数据。
远程数据库中的数据必然随着时间不断增长,而缓存仓库的存储容量是有限的,一方面整个内存的存储容量有限,另一方面如果缓存仓库中存储的数据量太大也会影响读取速度,这样反而会违背本发明设置缓存仓库以存储常用数据的初衷。因此,本发明需要保证缓存仓库内的数据量限制在一定范围之内。
本步骤根据缓存数据中的使用频率,将使用频率过低的数据从缓存仓库中删除,例如可以通过缓存调度算法LRU来计算哪些数据应当删除,哪些数据应当保留。除此之外,还可以根据数据的重要程度、数据来源、数据量大小等内容进行适当调整,以保证缓存仓库中存储的数据处于最佳运行状态。
请继续参阅图2,示出了一种常用数据的本地缓存装置,在本实施例中,本地缓存装置10可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述本地缓存方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述本地缓存装置10在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
常用数据获取模块11,适用于响应数据初始化缓存命令,在第一设定时刻触发常用数据获取任务,其中所述常用数据是存储在远程数据库的常用数据表中的所有数据。
常用数据存储模块12,适用于将从远程数据库获取到的所述常用数据存储到本地的缓存仓库中。本发明将缓存仓库重新封装的键值对称为外部键值对(key1,value1),将远程数据库中原来存储的键值对称为内部键值对(key2,value2),这样一来,缓存仓库中存储的常用数据可以通过两对键值对(key1,value1;key2,value2)来精确确定。
更新任务触发模块13,适用于响应初始化完成信号,在第二设定时刻触发常用数据更新任务;所述第二设定时刻包括多个触发时刻。本发明所述的第二设定时刻可以包含具体的多个时刻,例如11:00,11:10,11:20…,也可以是包含起始条件和间隔时间,例如规定起始条件为接收到初始化完成信号,间隔时间规定为10分钟。
增量数据同步模块14,适用于从所述远程数据库中获取增量数据,并将所述增量数据同步到所述缓存仓库中。本发明通过查找远程数据库中自第一设定时刻和第二设定时刻之间产生的更新时刻,便能够获取到该时间段内的增量数据,通过把增量数据存储到缓存仓库中即可完成本次缓存更新任务。
根据本发明提出的本地缓存装置,所述增量数据同步模块14包括:
更新时刻获取子模块141,适用于从所述远程数据库中查找所述常用数据表的更新时刻;
目标增量数据获取模块142,适用于获取目标时间段内的更新时刻对应的目标增量数据,所述目标时间段指的是当前触发时刻和第一设定时刻之间的时间段,或者是当前触发时刻和上一个触发时刻之间的时间段;
同步子模块143,适用于将所述目标增量数据同步到所述缓存仓库。
根据本发明提出的本地缓存装置10,还包括:
剩余空间模块15,适用于获取所述缓存仓库的剩余存储空间,当所述剩余存储空间小于第一空间阈值时,从所述缓存仓库中删除第一数据,所述第一数据指的是所述缓存仓库中使用频率小于第一频率阈值的数据。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图3所示。需要指出的是,图3仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如实施例一的本地缓存装置10的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行本地缓存装置10,以实现实施例一的本地缓存方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储本地缓存装置10,被处理器执行时实现实施例一的本地缓存方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
流程图中或在此以其它方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解,实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种常用数据的本地缓存方法,其特征在于,包括以下步骤:
响应于数据初始化缓存命令,在第一设定时刻触发常用数据获取任务,其中所述常用数据是存储在远程数据库的常用数据表中的所有数据;
将从远程数据库获取到的所述常用数据存储到本地的缓存仓库中;
响应于初始化完成信号,在第二设定时刻触发常用数据更新任务;
从所述远程数据库中获取增量数据,并将所述增量数据同步到所述缓存仓库中。
2.根据权利要求1所述的本地缓存方法,其特征在于,所述第二设定时刻包括具有固定间隔的多个触发时刻。
3.根据权利要求2所述的本地缓存方法,其特征在于,所述从所述远程数据库中获取增量数据,并将所述增量数据同步到所述缓存仓库中的步骤包括:
从所述远程数据库中查找所述常用数据表的更新时刻;
获取目标时间段内的更新时刻对应的目标增量数据,所述目标时间段指的是当前触发时刻和第一设定时刻之间的时间段,或者是当前触发时刻和上一个触发时刻之间的时间段;
将所述目标增量数据同步到所述缓存仓库。
4.根据权利要求2所述的本地缓存方法,其特征在于,在响应于初始化完成信号,在第二设定时刻触发常用数据更新任务的步骤之前,还包括:
在第二设定时刻没有收到初始化完成信号的情况下,停止触发所述常用数据更新任务。
5.根据权利要求1所述的本地缓存方法,其特征在于,还包括:
获取所述缓存仓库的剩余存储空间,当所述剩余存储空间小于第一空间阈值时,从所述缓存仓库中删除第一数据,所述第一数据指的是所述缓存仓库中使用频率小于第一频率阈值的数据。
6.一种常用数据的本地缓存装置,其特征在于,包括:
常用数据获取模块,适用于响应数据初始化缓存命令,在第一设定时刻触发常用数据获取任务,其中所述常用数据是存储在远程数据库的常用数据表中的所有数据;
常用数据存储模块,适用于将从远程数据库获取到的所述常用数据存储到本地的缓存仓库中;
更新任务触发模块,适用于响应初始化完成信号,在第二设定时刻触发常用数据更新任务;所述第二设定时刻包括具有固定间隔的多个触发时刻;
增量数据同步模块,适用于从所述远程数据库中获取增量数据,并将所述增量数据同步到所述缓存仓库中。
7.根据权利要求6所述的本地缓存装置,其特征在于,所述增量数据同步模块包括:
更新时刻获取子模块,适用于从所述远程数据库中查找所述常用数据表的更新时刻;
目标增量数据获取模块,适用于获取目标时间段内的更新时刻对应的目标增量数据,所述目标时间段指的是当前触发时刻和第一设定时刻之间的时间段,或者是当前触发时刻和上一个触发时刻之间的时间段;
同步子模块,适用于将所述目标增量数据同步到所述缓存仓库。
8.根据权利要求6所述的本地缓存装置,其特征在于,还包括:
剩余空间模块,适用于获取所述缓存仓库的剩余存储空间,当所述剩余存储空间小于第一空间阈值时,从所述缓存仓库中删除第一数据,所述第一数据指的是所述缓存仓库中使用频率小于第一频率阈值的数据。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910841887.XA CN110704463B (zh) | 2019-09-06 | 2019-09-06 | 常用数据的本地缓存方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910841887.XA CN110704463B (zh) | 2019-09-06 | 2019-09-06 | 常用数据的本地缓存方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704463A true CN110704463A (zh) | 2020-01-17 |
CN110704463B CN110704463B (zh) | 2024-05-24 |
Family
ID=69194361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910841887.XA Active CN110704463B (zh) | 2019-09-06 | 2019-09-06 | 常用数据的本地缓存方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704463B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367996A (zh) * | 2020-02-25 | 2020-07-03 | 深圳联友科技有限公司 | 基于kv索引的热数据增量同步方法及装置 |
CN111367979A (zh) * | 2020-03-05 | 2020-07-03 | 广州快决测信息科技有限公司 | 一种数据收集方法和系统 |
CN111913988A (zh) * | 2020-08-17 | 2020-11-10 | 中消云(北京)物联网科技研究院有限公司 | 数据查询处理方法及装置 |
CN112199383A (zh) * | 2020-10-19 | 2021-01-08 | 珠海金山网络游戏科技有限公司 | 数据更新方法及装置 |
CN112651606A (zh) * | 2020-12-10 | 2021-04-13 | 国网浙江省电力有限公司金华供电公司 | 基于电力调度停电智能管控方法 |
CN115065642A (zh) * | 2022-08-18 | 2022-09-16 | 深圳华锐分布式技术股份有限公司 | 带宽限制下的代码表请求方法、装置、设备及介质 |
US11960497B2 (en) | 2020-03-05 | 2024-04-16 | Guangzhou Quick Decision Information Technology Co., Ltd. | Method and system for automatically generating data determining result |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055683A1 (en) * | 2009-09-02 | 2011-03-03 | Facebook Inc. | Page caching for rendering dynamic web pages |
CN103780636A (zh) * | 2012-10-17 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 一种缓存数据处理方法和系统 |
CN107133234A (zh) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 缓存数据更新的方法、装置及系统 |
US20190108229A1 (en) * | 2017-10-10 | 2019-04-11 | Paypal, Inc. | Configuration-aware micro-database caches |
CN109977129A (zh) * | 2019-03-28 | 2019-07-05 | 中国联合网络通信集团有限公司 | 多级数据缓存方法及设备 |
-
2019
- 2019-09-06 CN CN201910841887.XA patent/CN110704463B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055683A1 (en) * | 2009-09-02 | 2011-03-03 | Facebook Inc. | Page caching for rendering dynamic web pages |
CN103780636A (zh) * | 2012-10-17 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 一种缓存数据处理方法和系统 |
CN107133234A (zh) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 缓存数据更新的方法、装置及系统 |
US20190108229A1 (en) * | 2017-10-10 | 2019-04-11 | Paypal, Inc. | Configuration-aware micro-database caches |
CN109977129A (zh) * | 2019-03-28 | 2019-07-05 | 中国联合网络通信集团有限公司 | 多级数据缓存方法及设备 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367996A (zh) * | 2020-02-25 | 2020-07-03 | 深圳联友科技有限公司 | 基于kv索引的热数据增量同步方法及装置 |
CN111367996B (zh) * | 2020-02-25 | 2023-01-24 | 深圳联友科技有限公司 | 基于kv索引的热数据增量同步方法及装置 |
CN111367979A (zh) * | 2020-03-05 | 2020-07-03 | 广州快决测信息科技有限公司 | 一种数据收集方法和系统 |
CN111367979B (zh) * | 2020-03-05 | 2021-10-26 | 广州快决测信息科技有限公司 | 一种数据收集方法和系统 |
US11960497B2 (en) | 2020-03-05 | 2024-04-16 | Guangzhou Quick Decision Information Technology Co., Ltd. | Method and system for automatically generating data determining result |
CN111913988A (zh) * | 2020-08-17 | 2020-11-10 | 中消云(北京)物联网科技研究院有限公司 | 数据查询处理方法及装置 |
CN112199383A (zh) * | 2020-10-19 | 2021-01-08 | 珠海金山网络游戏科技有限公司 | 数据更新方法及装置 |
CN112651606A (zh) * | 2020-12-10 | 2021-04-13 | 国网浙江省电力有限公司金华供电公司 | 基于电力调度停电智能管控方法 |
CN115065642A (zh) * | 2022-08-18 | 2022-09-16 | 深圳华锐分布式技术股份有限公司 | 带宽限制下的代码表请求方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110704463B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704463B (zh) | 常用数据的本地缓存方法、装置、计算机设备及存储介质 | |
CN107133234B (zh) | 缓存数据更新的方法、装置及系统 | |
US9672274B1 (en) | Scalable message aggregation | |
US20120259863A1 (en) | Low Level Object Version Tracking Using Non-Volatile Memory Write Generations | |
US10678784B2 (en) | Dynamic column synopsis for analytical databases | |
CN102937980A (zh) | 一种集群数据库数据查询方法 | |
CN110109958B (zh) | 缓存处理方法、装置、设备及计算机可读存储介质 | |
US9235613B2 (en) | Flexible partitioning of data | |
CN110489138B (zh) | 一种应用更新方法、装置和存储介质 | |
CN111225064A (zh) | Ceph集群部署方法、系统、设备和计算机可读存储介质 | |
US20160085456A1 (en) | Data read apparatus, data read method, and storage medium storing data read program | |
WO2021040838A1 (en) | Point in time blob restore | |
CN116954680A (zh) | 存储系统的插件更新方法、装置、设备、介质及程序产品 | |
CN114528255A (zh) | 元数据管理方法、电子设备及计算机程序产品 | |
US11853284B2 (en) | In-place updates with concurrent reads in a decomposed state | |
US20220342888A1 (en) | Object tagging | |
US20170060937A1 (en) | Method and system for merging data | |
US11392546B1 (en) | Method to use previously-occupied inodes and associated data structures to improve file creation performance | |
CN111382179A (zh) | 数据处理方法、装置及电子设备 | |
CN104317820A (zh) | 报表的统计方法和装置 | |
US20130332698A1 (en) | Data preservation method | |
CN103279575A (zh) | 文件信息处理方法及装置 | |
CN108376104B (zh) | 节点调度方法及装置、计算机可读存储介质 | |
CN107622124B (zh) | 基于块数据的数据查询方法及系统 | |
US10514961B1 (en) | Enhanced cookie management for file workflows |
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 |