CN111414392A - 高速缓存异步刷新方法、***及计算机可读存储介质 - Google Patents

高速缓存异步刷新方法、***及计算机可读存储介质 Download PDF

Info

Publication number
CN111414392A
CN111414392A CN202010219946.2A CN202010219946A CN111414392A CN 111414392 A CN111414392 A CN 111414392A CN 202010219946 A CN202010219946 A CN 202010219946A CN 111414392 A CN111414392 A CN 111414392A
Authority
CN
China
Prior art keywords
cache
database
data
record
refresh
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
Application number
CN202010219946.2A
Other languages
English (en)
Other versions
CN111414392B (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.)
Whale Cloud Technology Co Ltd
Original Assignee
Whale Cloud Technology 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 Whale Cloud Technology Co Ltd filed Critical Whale Cloud Technology Co Ltd
Priority to CN202010219946.2A priority Critical patent/CN111414392B/zh
Publication of CN111414392A publication Critical patent/CN111414392A/zh
Application granted granted Critical
Publication of CN111414392B publication Critical patent/CN111414392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

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

Abstract

一种高速缓存异步刷新方法,包括:检测数据库高速缓存之刷新日志表;当数据库数据发生变更时,根据所述表名和索引信息,将待处理的记录与数据库高速缓存之SQL特征表进行匹配,其中所述SQL特征表至少包括用于维护业务应用使用的SQL特征信息;当所述记录匹配到SQL特征,设置所述记录对应的SQL特征状态为刷新中;根据刷新日志表中表名和主键信息从数据库获取对应的数据,并将所述数据刷入数据库高速缓存中;当数据刷新结束后,设置所述记录对应的SQL特征状态为生效,然后删除刷新日志表中对应的记录;当所述记录未匹配到SQL特征,删除刷新日志表中对应的记录。该方法具有高可用性、高性能以及避免了高速缓存中存在大量应用不访问的冗余数据。

Description

高速缓存异步刷新方法、***及计算机可读存储介质
技术领域
本发明属于数据库高速缓存的技术领域,具体涉及一种高速缓存异步刷新方法、装置、电子设备及计算机可读存储介质。
背景技术
步入大数据时代,随着用户数据量指数级增多,业务应用的规模也随之增大,传统的高性能单主机***逐渐演进为分布式***。随着业务应用部署架构的变更,应用依赖的数据库资源也必须采用与应用主机分离部署的方式。当大量应用远程频繁访问数据库时,在应用侧的角度来看,远程访问占用的高网络时延,会严重降低***处理效率;在数据库的角度来看,随着应用的高并发操作,会大量消耗数据库所在主机***资源、硬件资源、网络资源,进一步削弱整体***的稳定性和性能,影响用户体验。为了提升应用的***效率,通常会在应用主机上部署高速缓存***,将热点数据存放在本地内存中,在避免远程访问数据库高时延的同时,有效得释放了远程数据库主机的访问压力,从而达到提升***整体性能和稳定性的目的。
应用在使用高速缓存时,对高速缓存数据的有效性要求越来越高,即缓存数据应保证和数据库数据一致。为了保证高速缓存数据有效性,一般会使用同步或异步刷新的方式来保持高速缓存数据与目标数据库数据一致。
对于同步的方式刷新数据,在实际生产中的解决方案通常为周期性的锁定高速缓存,轮询对高速缓存中所有数据进行检查,将差异数据从数据库刷新至高速缓存中。该方案周期性的阻塞应用对高速缓存数据的访问,将严重影响应用性能。
对于异步的方式刷新数据,在实际生产中的解决方案通常为构造一个数据变更日志表,通过记录数据库操作的事务日志,针对性的对高速缓存中的数据进行刷新。该方案一方面,无法保证被刷新的数据为高速缓存中已存在的数据,即数据刷新存在大量无效操作;另一方面,应用也无法快速检查使用的缓存数据是否正在被刷新,即应用访问缓存的有效性无法得到保障。
现有技术中高速缓存数据变更刷新方法通常是以表的维度进行数据刷新,但是一旦某表中部分数据频繁变更(其余数据保持不变),该表实际就无法使用高速缓存,严重降低了高速缓存的可用性;另外,该方法以高速缓存启动时加载全量表数据的方式,避免了数据刷新存在大量无效操作,但也引入了大量冗余数据,这些冗余数据应用并没有访问或永远都不会访问,实际上浪费了大量主机内存。
发明内容
针对于上述现有技术的不足,本发明的目的之一是提供一种缓存***高可用、数据低冗余的改进数据库高速缓存异步刷新的方法。
本发明实施例公开了一种高速缓存异步刷新方法,包括:检测数据库高速缓存之刷新日志表,其中刷新日志表至少包括表名、主键信息、索引信息;当数据库数据发生变更时,根据所述表名和索引信息,将待处理的记录与数据库高速缓存之SQL特征表进行匹配,其中所述SQL特征表至少包括用于维护业务应用使用的SQL特征信息;当所述记录匹配到SQL特征,设置所述记录对应的SQL特征状态为刷新中;根据刷新日志表中表名和主键信息从数据库获取对应的数据,并将所述数据刷入数据库高速缓存中;当数据刷新结束后,设置所述记录对应的SQL特征状态为生效,然后删除刷新日志表中对应的记录;当所述记录未匹配到SQL特征,删除刷新日志表中对应的记录。
在一个可能的实施例中,所述实时检测数据库高速缓存之刷新日志表包括:判断数据库高速缓存之刷新日志表中有无待处理的记录;如有待处理的记录,从刷新日志表中获取表名和索引字段。
在一个可能的实施例中,所述方法之前还包括,对所述数据库高速缓存进行初始化,即根据数据库的表结构创建高速缓存表;当高速缓存表都创建成功后,创建SQL特征表和缓存刷新日志表。
在一个可能的实施例中,所述高速缓存表的结构与所述数据库表的结构相同。
在一个可能的实施例中,当业务应用访问数据时,接收业务应用的SQL查询请求;对所述请求进行特征解析并获得至少一个SQL特征;将所述SQL特征和SQL特征表进行匹配;当特征匹配成功且状态为生效时,访问数据库高速缓存进行数据查询;当特征未匹配成功时,访问数据库进行数据查询,并将所述SQL特征记录在SQL特征表中。
一种高速缓存异步刷新***,包括高速缓存引擎、数据库以及数据库高速缓存;其中,数据库高速缓存包括刷新日志表、SQL特征表和高速缓存表;高速缓存引擎包括缓存刷新模块,其被配置为检测刷新日志表,其中刷新日志表至少包括表名、主键信息、索引信息;高速缓存引擎还被配置为,当数据库数据发生变更时,根据所述表名和索引信息,将待处理的记录与SQL特征表进行匹配,其中所述SQL特征表至少包括用于维护业务应用使用的SQL特征信息;数据库高速缓存被配置为,当所述记录匹配到SQL特征,设置所述记录对应的SQL特征状态为刷新中;以及,根据刷新日志表中表名和主键信息从数据库获取对应的数据,并将所述数据刷入数据库高速缓存;当数据刷新结束后,设置所述记录对应的SQL特征状态为生效,然后删除刷新日志表中对应的记录;数据库高速缓存还被配置为,当所述记录未匹配到SQL特征,删除刷新日志表中对应的记录。
在一个可能的实施例中,缓存刷新模块还被配置为,判断数据库高速缓存之刷新日志表中有无待处理的记录;如有待处理的记录,从刷新日志表中获取表名和索引字段。
在一个可能的实施例中,数据库高速缓存还被配置为,根据数据库的表结构创建高速缓存表;当高速缓存表都创建成功后,创建SQL特征表和缓存刷新日志表。
在一个可能的实施例中,当业务应用访问数据时,高速缓存引擎还被配置为,接收业务应用的SQL查询请求;对所述请求进行特征解析并获得至少一个SQL特征;将所述SQL特征和SQL特征表进行匹配;当特征匹配成功且状态为生效时,访问数据库高速缓存进行数据查询;当特征未匹配成功时,访问数据库进行数据查询,并将所述SQL特征记录在SQL特征表中。
一种计算机存储介质,其存储计算机程序,在所述计算机程序被执行时,实施根据前述所述的高速缓存异步刷新方法。
与现有技术相比,本发明具有以下有益效果:
本方法实现了高速缓存异步刷新的高可用性,缓存数据异步刷新流程的影响范围控制在记录级别,解决了表数据变更刷新时该表都无法在缓存中进行访问的问题,提升了数据库高速缓存***的可用性。同时缓存数据异步刷新流程只针对缓存中有效数据进行刷新变更操作,提升了缓存数据异步刷新的性能。
此外,在进行数据库数据到缓存数据的异步刷新时,一方面能够将所变更的数据与SQL特征表中的SQL特征进行匹配,确定所变更的数据是否在高速缓存中,控制刷新缓存中有效的数据,避免为高速缓存加载全量的数据进行刷新,提升数据变更刷新的性能,降低了缓存数据的冗余度。
附图说明
图1为本发明实施例的高速缓存异步刷新***示意图;
图2为本发明实施例的一种方法流程图;
图3为本发明实施例的数据库高速缓存数据异步刷新的流程图;
图4为本发明实施例的数据库高速缓存数据访问的流程图;
图5为本发明实施例的数据库高速缓存***初始化的流程图。
具体实施方式
为了便于本领域技术人员的理解,下面结合实施例与附图对本发明作进一步的说明,实施方式提及的内容并非对本发明的限定。
现有的高速缓存异步刷新的方法通常是以表的维度实现应用对高速缓存数据的访问。这个方案降低了高速缓存***的可用性,同时也造成数据冗余和内存浪费。
基于上述发现的问题,本发明实施例中公开了一种基于SQL特征的高速缓存异步刷新***和方法,如图1,所述***包括:高速缓存引擎20、数据库高速缓存30以及数据库40。
其中,高速缓存引擎20可以包括SQL特征解析模块、特征匹配模块以及缓存刷新模块。高速缓存引擎可以接收来自业务主机/计算设备的应用10的SQL查询请求。
SQL特征解析模块可以从数据库高速缓存中的SQL特征表中读取信息。
高速缓存引擎20接收该请求并通过SQL特征解析模块进行SQL解析,得到一个或多个基本查询SQL。每个基本查询SQL都有对应的表名、索引字段、索引字段值,从而构成一个或多个SQL特征。应用需要访问的数据实际为每个SQL特征对应的数据的全集。
SQL特征解析模块主要是针对复杂SQL拆分成带索引的一般查询SQL,例如将带有或(or)条件下的SQL动态拆分成多个SQL进行存储;将子查询拆分成成多个基础查询。
特征匹配模块可以用于向数据库高速缓存中的SQL特征表检查对应SQL特征是否可以访问高速缓存。当不允许访问高速缓存时,自动切换访问数据库取出数据,并将该SQL特征记录在SQL特征表中;当允许访问高速缓存时,自动切换访问高速缓存表取出数据。当具有多个SQL特征时,根据上述条件分别到数据库或高速缓存中取出数据,并进行结果集合并。
缓存刷新模块可以用于检测数据库高速缓存中的刷新日志表,并根据检测情况控制特征状态,变更缓存数据。
数据库高速缓存30可以包括SQL特征表、刷新日志表以及高速缓存表。其中SQL特征表可以包括表名、索引信息、访问时间以及状态字段,用于检查、记录应用所使用的SQL。SQL特征表存储在内存数据库中。SQL特征表的规模以索引个数为维度,当且仅当各索引字段数据完全不重复时,该表规模达到最大。
刷新日志表可以包括表名、主键信息、索引信息以及操作类型,用于记录数据库变更事务日志。其中表名和索引信息为SQL特征表的主键
高速缓存表结构与数据库表结构一致,是通过缓存服务启动后,根据缓存配置将缓存表的表结构从数据库中读出,并在缓存中创建与数据库一一对应的表。
数据库40包括表,且用于当数据库数据变更时,按记录维度向刷新记录表写入记录变更。
如图2,可应用于上述***,本发明实施例还公开了一种基于SQL特征的高速缓存异步刷新方法包括如下步骤:
S10,检测数据库高速缓存之刷新日志表,其中刷新日志表包括表名、主键信息、索引信息,还可以包括操作类型字段。
通过缓存刷新模块实时检测刷新日志表,判断数据库是否有数据发生变更。当数据库发生数据库事务时,会向数据库高速缓存中写入对应的事务日志。具体地,可以通过判断刷新日志表中有无待处理的记录;如有待处理的记录,从刷新日志表中获取表名和索引字段。
S20,当数据库数据发生变更时,根据所述表名和索引信息,将待处理的记录与数据库高速缓存之SQL特征表进行匹配,其中所述SQL特征表可以包括用于维护应用使用的SQL特征、状态、访问时间及索引信息等。
当数据库数据发生变更时,会将该数据库事务写入刷新日志表。具体地,如图3,对于某次数据库数据变更操作集,所操作的事务日志按记录维度写入缓存刷新日志表中,共生成i条记录。此时,缓存刷新服务检查到刷新日志表中存在记录需要处理,轮询访问这i条记录,每次轮询操作算是一个刷新批次。
参照图3中步骤101、102为在刷新日志表中获取外键(表名、索引信息字段),并在SQL特征表中进行匹配的流程。由于该外键为SQL特征表的主键,所以匹配关系唯一,并且匹配性能高。
S30,当所述记录匹配到SQL特征,设置所述记录对应的SQL特征状态为刷新中;根据刷新日志表中表名和主键信息从数据库获取对应的数据,并按照刷新日志表中的操作类型将所述数据刷入数据库高速缓存中;当数据刷新结束后,设置所述记录对应的SQL特征状态为生效。
具体的,参照图3,匹配完成后,发现刷新日志表中有j条记录匹配到SQL特征,将所匹配的SQL特征记录对应的状态置为[刷新中],此时这些数据不允许应用从高速缓存访问。步骤103为根据刷新日志表中的主键(表名、主键信息),从数据库中获取唯一数据,以刷新日志表中的操作类型,将数据刷入高速缓存中。
其中,对于***、更新的操作类型以合并的方式刷新进数据库高速缓存;对于删除的操作类型以删除的方式刷新进数据库高速缓存。
每次有数据被刷新进高速缓存时,需要检查对应SQL特征下是否还存在数据未被刷新。在一个刷新批次内,当且仅当对应SQL特征状态为[刷新中]的SQL特征不存在任意数据未被刷新时,该SQL特征状态被重新置为[生效]。
当对应的刷新操作已经完成时,删除刷新日志表中对应的记录。此时不删除刷新日志表中的记录会导致重复刷新,影响性能。
S40,当所述记录未匹配到SQL特征,删除刷新日志表中对应的记录。
具体的,参照图3步骤104为对刷新日志表中i-j条记录无法匹配到SQL特征的流程处理,这些数据应用之前未做过访问。为了降低数据库高速缓存数据冗余度,这些数据被直接从刷新日志表中删除,不会异步刷新到高速缓存。
该方法能够以记录维度控制异步刷新的影响范围,当某条数据正在从物理库刷新至缓存时,该缓存中其余数据的正常访问不受影响,大大提升了缓存***的高可用。
该异步刷新方法还包括,在进行缓存数据访问和缓存数据刷新之前对所述高速缓存***进行初始化。对所述数据库高速缓存进行初始化,即根据数据库的表结构创建高速缓存表;当高速缓存表都创建成功后,创建SQL特征表和缓存刷新日志表。
具体的,图4为本发明实施例中基于SQL特征的数据库高速缓存***初始化的流程图。缓存服务启动后,根据缓存配置从远程数据库中读取出对应的表结构,并建立在本地高速缓存中。当且仅当所有配置高速缓存表都建立成功后,才建立SQL特征表和缓存刷新日志表。SQL特征表和缓存刷新日志表为***表,不需要从远程数据库中读取表结构。步骤201描述缓存***正常运行的准备工作已经申请完毕,修改标记缓存状态,在启动缓存刷新模块后,***初始化完成。
根据缓存配置将缓存表的表结构从数据库中读出,并在数据库高速缓存中创建与数据库一一对应的表。需要注意的是,所建立的表结构包含应用所需要访问的字段、主键及索引,并且不需要加载数据库表中的全量数据。同时,将SQL特征表建立在数据库高速缓存中,用于检查、记录应用所用SQL。
该方法还包括应用访问数据时具体步骤。应用在进行数据访问时,通过高速缓存引擎访问高速缓存。高速缓存引擎对应用SQL请求进行解析,得到一个或多个SQL特征,并在SQL特征表中进行匹配。当某个SQL特征与SQL特征表中的记录完全匹配,且状态为[生效]时,才能访问高速缓存,并将符合条件的数据返回给应用;反之,将该SQL特征记录到SQL特征表中,记录状态为[待生效],并通过缓存驱动切换数据库访问数据。应当理解,高速缓存引擎实现了数据库与高速缓存透明切换,多SQL特征查询数据集合并的功能。
具体的,图5为本发明中基于SQL特征的数据库高速缓存数据访问的流程图。应用使用一个复杂的多特征SQL进行数据访问,该SQL传递给高速缓存引擎中进行SQL解析,得到了N个SQL特征。不同的SQL特征体现在所使用的索引字段、索引值存在差异,访问的是相同表。
步骤301为对这N个SQL特征,在SQL特征表中进行匹配,得到N1个在SQL特征表中匹配且状态为[生效]的特征,N2个在SQL特征表中匹配且状态为[刷新中]的特征,N3个在SQL特征表中匹配且状态为[待生效]的特征,N4个在SQL特征表中没匹配到的特征。
本实施例中一条SQL涉及多SQL特征,只要有部分特征使用本地缓存访问,对***的性能也有提升效果。N1、N2、N3、N4不代表最后实际访问的数据个数,在本实施例中表示不同的SQL特征实现了***对记录维度的控制,即[生效]状态的SQL特征对应的高速缓存数据,不受非[生效]状态的SQL特征影响,从而实现***高可用。N1、N2、N3、N4分别对应步骤302、步骤303、步骤304、步骤305。
步骤302为匹配的SQL特征状态为[生效]的场景,此时数据访问可以从数据库高速缓存中直接读出。
步骤303、304为匹配的SQL特征状态不为[生效]的场景,此时该SQL特征对应数据正在进行数据变更异步刷新或首次刷新。从图3可知,数据刷新流程均使用主键定位唯一记录,因此状态会在短暂时间内发生变更。当在短暂时间内状态变更为[生效]时,此时数据访问可以从数据库高速缓存中直接读出;当在短暂时间内状态未变更为[生效]时,此时数据访问只能从远程数据库中读出。
步骤305为未匹配到SQL特征的场景,此时需要判断对应的SQL特征是否有使用索引。当对应的SQL特征使用索引时,将对应SQL特征***SQL特征表中,SQL特征状态置为[待生效]。之后,切换到远程数据库上访问数据,并将返回的数据集合入高速缓存中。当且仅当本次查询的所有数据都合入高速缓存中后,将该使用索引的SQL特征状态置为[生效]。当对应的SQL特征未使用索引时,直接切换到远程数据库上访问数据,并且不缓存远程数据库返回的结果集。
步骤306为合并多特征SQL查询结果集的场景,当应用访问SQL为单个特征时,不需要进行结果集合并。
以上发明实施例基于SQL特征,通过构建SQL特征表,可以精确匹配应用访问的数据,实现行级的数据控制,将应用的访问操作从表维度细化到记录维度。在进行数据库高速缓存数据异步刷新时,一方面实现了未参与刷新的缓存数据仍然可以被应用正常访问,既保证了数据的有效性,又提升了缓存***的可用性;另一方面实现了只对应用有访问的数据进行异步刷新,避免高速缓存中存在大量应用不访问的冗余数据。
应当理解,上述方法均由计算机程序实现,能够运行在LINUX、AIX、HP及WINDOWS操作***上,且不依赖操作***自带的软件。
在本申请所提供的几个实施例中,应该理解到,所揭露的***和方法,可以通过其它的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。

Claims (10)

1.一种高速缓存异步刷新方法,其特征在于,
检测数据库高速缓存之刷新日志表,其中刷新日志表至少包括表名、主键信息、索引信息;
当数据库数据发生变更时,根据所述表名和索引信息,将待处理的记录与数据库高速缓存之SQL特征表进行匹配,其中所述SQL特征表至少包括用于维护业务应用使用的SQL特征信息;
当所述记录匹配到SQL特征,设置所述记录对应的SQL特征状态为刷新中;根据刷新日志表中表名和主键信息从数据库获取对应的数据,并将所述数据刷入数据库高速缓存中;当数据刷新结束后,设置所述记录对应的SQL特征状态为生效,然后删除刷新日志表中对应的记录;
当所述记录未匹配到SQL特征,删除刷新日志表中对应的记录。
2.如权利要求1所述的方法,其特征在于,所述实时检测数据库高速缓存之刷新日志表包括:判断数据库高速缓存之刷新日志表中有无待处理的记录;如有待处理的记录,从刷新日志表中获取表名和索引字段。
3.如权利要求1所述的方法,其特征在于,所述方法之前还包括,对所述数据库高速缓存进行初始化,即根据数据库的表结构创建高速缓存表;当高速缓存表都创建成功后,创建SQL特征表和缓存刷新日志表。
4.如权利要求3所述的方法,其特征在于,所述高速缓存表的结构与所述数据库表的结构相同。
5.如权利要求1所述的方法,其特征在于,当业务应用访问数据时,接收业务应用的SQL查询请求;对所述请求进行特征解析并获得至少一个SQL特征;将所述SQL特征和SQL特征表进行匹配;当特征匹配成功且状态为生效时,访问数据库高速缓存进行数据查询;当特征未匹配成功时,访问数据库进行数据查询,并将所述SQL特征记录在SQL特征表中。
6.一种高速缓存异步刷新***,其特征在于,包括高速缓存引擎、数据库以及数据库高速缓存;其中,数据库高速缓存包括刷新日志表、SQL特征表和高速缓存表;
高速缓存引擎包括缓存刷新模块,其被配置为检测刷新日志表,其中刷新日志表至少包括表名、主键信息、索引信息;
高速缓存引擎还被配置为,当数据库数据发生变更时,根据所述表名和索引信息,将待处理的记录与SQL特征表进行匹配,其中所述SQL特征表至少包括用于维护业务应用使用的SQL特征信息;
数据库高速缓存被配置为,当所述记录匹配到SQL特征,设置所述记录对应的SQL特征状态为刷新中;以及,根据刷新日志表中表名和主键信息从数据库获取对应的数据,并将所述数据刷入数据库高速缓存;当数据刷新结束后,设置所述记录对应的SQL特征状态为生效,然后删除刷新日志表中对应的记录;
数据库高速缓存还被配置为,当所述记录未匹配到SQL特征,删除刷新日志表中对应的记录。
7.如权利要求6所述的***,其特征在于,缓存刷新模块还被配置为,判断数据库高速缓存之刷新日志表中有无待处理的记录;如有待处理的记录,从刷新日志表中获取表名和索引字段。
8.如权利要求6所述的***,数据库高速缓存还被配置为,根据数据库的表结构创建高速缓存表;当高速缓存表都创建成功后,创建SQL特征表和缓存刷新日志表。
9.如权利要求6所述的***,当业务应用访问数据时,高速缓存引擎还被配置为,接收业务应用的SQL查询请求;对所述请求进行特征解析并获得至少一个SQL特征;将所述SQL特征和SQL特征表进行匹配;当特征匹配成功且状态为生效时,访问数据库高速缓存进行数据查询;当特征未匹配成功时,访问数据库进行数据查询,并将所述SQL特征记录在SQL特征表中。
10.一种计算机存储介质,其存储计算机程序,其特征在于,在所述计算机程序被执行时,实施根据权利要求1-5中任一项所述的高速缓存异步刷新方法。
CN202010219946.2A 2020-03-25 2020-03-25 高速缓存异步刷新方法、***及计算机可读存储介质 Active CN111414392B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010219946.2A CN111414392B (zh) 2020-03-25 2020-03-25 高速缓存异步刷新方法、***及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010219946.2A CN111414392B (zh) 2020-03-25 2020-03-25 高速缓存异步刷新方法、***及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111414392A true CN111414392A (zh) 2020-07-14
CN111414392B CN111414392B (zh) 2022-08-05

Family

ID=71491485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010219946.2A Active CN111414392B (zh) 2020-03-25 2020-03-25 高速缓存异步刷新方法、***及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111414392B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931094A (zh) * 2020-07-16 2020-11-13 北京首汽智行科技有限公司 一种缓存数据动态同步方法
CN112749197A (zh) * 2021-01-12 2021-05-04 中国平安财产保险股份有限公司 数据分片刷新方法、装置、设备及存储介质
CN113032344A (zh) * 2020-08-25 2021-06-25 广州锦行网络科技有限公司 一种远程登录日志记录的清理方法
CN113742381A (zh) * 2021-08-30 2021-12-03 欧电云信息科技(江苏)有限公司 缓存获取方法、设备和计算机可读介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020123978A1 (en) * 1999-09-22 2002-09-05 Paul Miller Bird Method and apparatus for cross-node sharing of cached dynamic sql in a multiple relational database management system environment
US20040010499A1 (en) * 2002-07-02 2004-01-15 Sybase, Inc. Database system with improved methods for asynchronous logging of transactions
CN102508854A (zh) * 2011-09-29 2012-06-20 畅捷通信息技术股份有限公司 数据访问装置和方法
CN103827865A (zh) * 2011-09-23 2014-05-28 国际商业机器公司 利用异步的基于日志的复制来改进数据库高速缓存
US20140317047A1 (en) * 2013-04-22 2014-10-23 Sap Ag Enhanced transactional cache with bulk operation
CN104572689A (zh) * 2013-10-17 2015-04-29 腾讯科技(深圳)有限公司 数据同步方法、装置及***
CN105324770A (zh) * 2013-04-30 2016-02-10 亚马逊科技公司 有效读出副本
CN108334505A (zh) * 2017-01-19 2018-07-27 阿里巴巴集团控股有限公司 一种数据处理方法、装置、服务器及库存***
CN108811271A (zh) * 2018-04-28 2018-11-13 上海与德科技有限公司 一种灯光调节方法、装置、智能台灯和存储介质
CN110597909A (zh) * 2019-09-12 2019-12-20 广州南翼信息科技有限公司 一种保持客户端和多终端设备状态一致的方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020123978A1 (en) * 1999-09-22 2002-09-05 Paul Miller Bird Method and apparatus for cross-node sharing of cached dynamic sql in a multiple relational database management system environment
US20040010499A1 (en) * 2002-07-02 2004-01-15 Sybase, Inc. Database system with improved methods for asynchronous logging of transactions
CN103827865A (zh) * 2011-09-23 2014-05-28 国际商业机器公司 利用异步的基于日志的复制来改进数据库高速缓存
CN102508854A (zh) * 2011-09-29 2012-06-20 畅捷通信息技术股份有限公司 数据访问装置和方法
US20140317047A1 (en) * 2013-04-22 2014-10-23 Sap Ag Enhanced transactional cache with bulk operation
CN105324770A (zh) * 2013-04-30 2016-02-10 亚马逊科技公司 有效读出副本
CN104572689A (zh) * 2013-10-17 2015-04-29 腾讯科技(深圳)有限公司 数据同步方法、装置及***
CN108334505A (zh) * 2017-01-19 2018-07-27 阿里巴巴集团控股有限公司 一种数据处理方法、装置、服务器及库存***
CN108811271A (zh) * 2018-04-28 2018-11-13 上海与德科技有限公司 一种灯光调节方法、装置、智能台灯和存储介质
CN110597909A (zh) * 2019-09-12 2019-12-20 广州南翼信息科技有限公司 一种保持客户端和多终端设备状态一致的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931094A (zh) * 2020-07-16 2020-11-13 北京首汽智行科技有限公司 一种缓存数据动态同步方法
CN113032344A (zh) * 2020-08-25 2021-06-25 广州锦行网络科技有限公司 一种远程登录日志记录的清理方法
CN112749197A (zh) * 2021-01-12 2021-05-04 中国平安财产保险股份有限公司 数据分片刷新方法、装置、设备及存储介质
CN112749197B (zh) * 2021-01-12 2024-04-05 中国平安财产保险股份有限公司 数据分片刷新方法、装置、设备及存储介质
CN113742381A (zh) * 2021-08-30 2021-12-03 欧电云信息科技(江苏)有限公司 缓存获取方法、设备和计算机可读介质
CN113742381B (zh) * 2021-08-30 2023-07-25 欧电云信息科技(江苏)有限公司 缓存获取方法、设备和计算机可读介质

Also Published As

Publication number Publication date
CN111414392B (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN111414392B (zh) 高速缓存异步刷新方法、***及计算机可读存储介质
US8429134B2 (en) Distributed database recovery
US8645319B2 (en) Information processing system, data update method and data update program
US20200133800A1 (en) Key-value store on persistent memory
CN101567805B (zh) 并行文件***发生故障后的恢复方法
US9053153B2 (en) Inter-query parallelization of constraint checking
US20060074847A1 (en) Method and system for data processing with data replication for the same
US8793441B2 (en) System, method and computer program product for managing data using a write-back cache unit
CN105556520A (zh) 在存储器中镜像盘中的数据以提高查询性能
US9922086B1 (en) Consistent query of local indexes
JP7101566B2 (ja) 不揮発性メモリにおけるマルチバージョン同時実行制御(mvcc)
US8793288B2 (en) Online access to database snapshots
CN112084161B (zh) 基于数据库的数据处理方法、装置以及可读存储介质
WO2007063945A1 (ja) データベースに対するアクセスを効率化するシステム、および、その方法
CN111538463A (zh) 一种实现内存数据库持久化的方法
CN107888687B (zh) 一种基于分布式存储***的代理客户端存储加速方法及***
CN111475519B (zh) 数据缓存方法及装置
CN105354046B (zh) 基于共享磁盘的数据库更新处理方法及***
CN106354732B (zh) 一种支持并发协同的离线数据版本冲突解决方法
KR101806394B1 (ko) 모바일 dbms환경에서 트랜잭션에 특화된 색인 캐시의 구조를 갖는 데이터 처리 방법
US20210089401A1 (en) Method, Server, and Computer Readable Medium for Index Recovery Using Index Redo Log
US7801866B1 (en) Systems and methods for reading only durably committed data in a system that otherwise permits lazy commit of transactions
CN114329155A (zh) 一种包含时序数据库的多模态存储缓存***及查询方法
US7240065B2 (en) Providing mappings between logical time values and real time values
EP2064633B1 (en) System, method and computer program product for managing data

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