CN112685431B - 异步缓存方法、装置、系统、电子设备和存储介质 - Google Patents
异步缓存方法、装置、系统、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112685431B CN112685431B CN202011590310.5A CN202011590310A CN112685431B CN 112685431 B CN112685431 B CN 112685431B CN 202011590310 A CN202011590310 A CN 202011590310A CN 112685431 B CN112685431 B CN 112685431B
- Authority
- CN
- China
- Prior art keywords
- data
- information
- cache
- synchronized
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000001360 synchronised effect Effects 0.000 claims abstract description 87
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 19
- 238000007726 management method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种异步缓存方法、装置、系统、电子设备和存储介质。其中,该方法包括:获取数据库产生的数据更新日志;根据预先存储的记录读取信息提取所述数据更新日志中的待同步数据;控制远程缓存集群根据预先存储的写位置信息缓存所述待同步数据。本发明实施例通过记录读取信息和写位置信息对数据的异步缓存进行精细化管理,增强数据同步过程的鲁棒性,降低数据损坏机率,可增强数据完整性。
Description
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种异步缓存方法、装置、系统、电子设备和存储介质。
背景技术
随着互联网的发展,大数据平台逐渐成为支持企业业务运转的重要平台,大数据平台中数据处理和存储成为影响企业发展的重要制约因素,现有大数据平台中常采用数据库和与远程字典服务(Remote Dictionary Server,Redis)组合的方式实现数据的存储。目前为了保障大数据平台中数据的一致性,常采用以下几种方法:方案一:数据库更新时Redis不更新,设置Key的过期时间,等Key过期后将数据库中的更新数据写入Redis缓存;方案二:数据库更新的同时更新Redis缓存;方案三:数据库更新的同时,将数据消息发送到卡夫卡流处理队列,由消息队列保证可靠性,再搭建消费服务来异步维护Redis缓存。
在实现本发明的过程中,发现现有技术中存在以下技术问题:
现有技术Key的过期过程中数据库与远程字典中数据不一致,导致脏数据出现;数据库和Redis无法实现数据完全同步更新,导致缓存雪崩、缓存穿透等问题;由于卡夫卡流处理队列中消息的达到顺序与实际时序不一致,导致消费顺序错误,Redis缓存数据更新存在错误。现在亟需一种异步缓存方法,以提高数据更新过程的中数据的完整性和一致性。
发明内容
本发明提供一种异步缓存方法、装置、系统、电子设备和存储介质,以实现数据更新的异步缓存,提高数据更新过程中数据的一致性和完整性。
第一方面,本发明实施例提供了一种异步缓存方法,该方法包括:
获取数据库产生的数据更新日志;
根据预先存储的记录读取信息提取所述数据更新日志中的待同步数据;
控制远程缓存集群根据预先存储的写位置信息缓存所述待同步数据。
进一步的,获取数据库产生的数据更新日志可以包括:
订阅数据库的binlog日志消息,将采集数据库生成的binlog日志消息作为数据更新日志,其中,binlog日志消息为二进制日志文件,记录MySQL数据库的数据更新信息或者潜在数据更新信息。
进一步的,根据预先存储的记录读取信息提取所述数据更新日志中的待同步数据可以包括:
使用Spring表达式语言(spel)提取记录读取信息中的数据库名、数据表名等信息作为目标关键字,可以使用正则匹配的方式在数据更新日志中匹配与目标关键字关联存储的数据作为待同步数据。
进一步的,控制远程缓存集群根据预先存储的写位置信息缓存所述待同步数据可以包括:
使用Spring表达式语言提取写位置信息中的redis集群、key和转换关系,其中,转换关系包括源字段和目标字段;可以将待同步数据中转换关系的源字段存储到redis集群中key对应的目标字段。
进一步的,预先存储的记录读取信息和写位置信息可以配置文件的形式存在,并可以使用DUCC内存配置管理系统管理该配置文件;DUCC内存配置管理系统中的配置文件可以按照缓存维度配置,每个缓存体存在各自对应的配置文件,配置文件中指明源信息和目标信息,源信息可以包括数据库中的源数据库、源数据表,目标信息可以包括目标redis集群、目标key和转换关系等。DUCC内存配置管理系统可以对配置文件进行增删改查处理。
第二方面,本发明实施例还提供了一种异步缓存装置,该装置包括:
数据接入层,用于获取数据库产生的数据更新日志;
执行引擎层,用于根据所述数据库的存储配置信息提取所述数据更新日志中的待同步数据;
存储层,用于根据预先存储的缓存配置信息控制远程字典服务缓存所述待同步数据。
第三方面,本发明实施例还提供了一种异步缓存系统,该系统包括:
至少一个数据库,用于存储数据和生成数据更新日志;
至少一个远程缓存集群,用于缓存数据;
至少一个缓存管理设备,所述缓存管理设备用于实现如本发明实施例中任一所述的异步缓存方法。
第四方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的异步缓存方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明实施例中任一所述的异步缓存方法。
本发明实施例,通过收集数据库产生的数据更新日志,使用预先存储的记录读取信息获取数据更新日志中的待同步数据,并根据写位置信息将待同步数据缓存到远程缓存集群的对应位置,实现了数据的异步缓存,提高数据库和缓存中数据的一致性,使用读取信息和写位置信息对数据缓存过程进行精细化控制,防止数据在缓存过程中出现损坏,可增强数据的完整性。进一步的,通过监听binlog日志消息作为数据更新日志,可以保障待同步数据获取的时序性,可增强数据缓存过程中数据的完整性;使用spel语言提取读取记录信息和写位置信息,通过不同维度对数据缓存过程进行精细化控制,进一步降低异步缓存过程中数据损坏概率;基于DUCC内存配置管理系统对包含读取记录信息和写位置信息的配置文件进行管理,可减少业务系统的耦合程度,降低业务系统逻辑复杂度,可以降低业务系统运维的难度。
附图说明
图1是本发明实施例一提供的一种异步缓存方法的流程图;
图2是本发明实施例二提供的另一种异步缓存方法的流程图;
图3是本发明实施例三提供的一种异步缓存装置的结构示意图;
图4是本发明实施例三提供的一种异步缓存装置的示例图;
图5是本发明实施例三提供的一种异步缓存装置的整体逻辑结构图;
图6是本发明实施例四提供的一种异步缓存系统的结构示意图;
图7是本发明实施例五提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构,此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
图1是本发明实施例一提供的一种异步缓存方法的流程图,本实施例可适用于将数据库中存储数据以异步的方式缓存到缓存集群的情况,该方法可以由异步缓存装置来执行,该装置可以采用硬件和/或软件的方式来实现,参见图1,本发明实施例提供的方法具体包括如下步骤:
步骤110、获取数据库产生的数据更新日志。
其中,数据库可以是按照数据结构存储和管理数据的计算机系统,数据更新日志可以是记录数据库操作的记录集合,可以包括数据更新操作以及数据更新操作使用的数据等。
在本发明实施例中,可以数据库进行监听,当数据库生成数据更新日志时,可以采集到该数据更新日志,数据更新日志中可以包括一条或者多条数据记录,数据更新日志中数据记录可以按照时间顺序依次排列,每条数据记录中可以包括更新操作和更新数据等内容。示例性的,可以单独启动一个应用对MySQL数据库的binlog消息进行监听,将binlog消息作为MySQL数据库的数据更新日志。
步骤120、根据预先存储的记录读取信息提取数据更新日志中的待同步数据。
其中,记录读取信息可以用于读取数据更新日志的配置参数,记录读取信息可以需要提取的数据库名和数据表明,记录读取信息可以由管理员预先存储到系统本地,管理员可以根据异步缓存数据的属性预先配置记录读取信息,该记录读取信息可以包括数据库种类、数据库名和数据表名等信息。待同步数据可以需要从数据库缓存到缓存集群中的数据,可以是数据库中经过更新操作生成的数据。
具体的,可以读取预先存储的记录读取信息,可以在数据更新日志中查找到与该记录读取信息匹配的日志记录,可以将该日志记录中的内容数据作为待同步数据,其中,日志记录中内容数据可以是经过更新操作后生成的数据,可以仅包括数据本身,而不包括字段名和数据库名等属性信息。
步骤130、控制远程缓存集群根据预先存储的写位置信息缓存待同步数据。
其中,远程缓存集群可以是支持数据进行高性能查询,且具有高并发特点的分布式数据库集群,远程缓存集群具体可以包括远程字典服务(Remote Dictionary Server,Redis)系统和Memcached高速缓存系统等。写位置信息可以是待同步数据在远程缓存集群中存储位置的信息,可以包括集群信息、主键信息等。
在本发明实施例中,写位置信息可以预先存储,若将待同步数据缓存到远程缓存集群时,可以读取到写位置信息。可以将待同步信息发送到远程缓存集群中集群信息对应的设备,控制设备选择主键信息对应的缓存位置存储该待同步信息。
本发明实施例中,通过收集数据库产生的数据更新日志,使用预先存储的记录读取信息获取数据更新日志中的待同步数据,并根据写位置信息将待同步数据缓存到远程缓存集群的对应位置,实现了数据的异步缓存,提高数据库和缓存中数据的一致性,使用读取信息和写位置信息对数据缓存过程进行精细化控制,防止数据在缓存过程中出现损坏,可增强数据的完整性。
实施例二
图2是本发明实施例二提供的另一种异步缓存方法的流程图,本实施例是在上述发明实施例基础上的具体化,通过预先设置配置文件存储记录读取信息和写位置信息,进一步具体化提取待同步数据和缓存待同步数据的过程,参见图2,本发明实施例提供的异步缓存方法具体包括如下步骤:
步骤210、根据数据库的存储结构信息生成记录读取信息。
其中,存储结构信息可以是数据库中存储数据的架构信息,可以包括数据库的数量以及每个数据库包括数据表的数量等。
具体的,可以通过人工或者自动化的方式采集各数据库的存储结构信息,各数据库的种类可以相同也可以不同,例如,若管理员管理的数据库包括MySQL数据库和Oracle数据库,可以分别获取到MySQL数据库的存储结构信息以及Oracle数据库的存储结构信息。在获取到各数据库的存储结构信息后,可以分别记录存储结构信息中的数据库名和数据表名作为记录读取信息。
步骤220、根据写入配置模板生成对应缓存备份数量的写位置信息。
其中,写入配置模板可以是生成写位置信息的模板,写配置模板中可以包括远程缓存集群不同设备的设备信息以及主键信息。缓存备份数量可以是数据库中数据在远程缓存集群中的缓存数量,例如,若要在远程缓存集群中为数据库的数据设置5份缓存数据,则缓存数量为5。
在本发明实施例中,可以获取管理员输入的缓存备份数量,可以写入配置模板在进行可视化展示,采集写入配置模板中填充的集群位置和主键等信息,可以将采集到信息存储为写位置信息,可以理解的是,写位置信息的数量可以与缓存备份数量相同,使得每个缓存备份可以存在各自对应的写位置信息。
步骤230、将记录读取信息和写位置信息存储为配置文件。
具体的,可以将获取到的记录读取信息和写位置信息存储为持久化文件,可以将该持久化文件作为配置文件,配置文件中记录读取信息和写位置信息可以分别单独存储,也可以关联存储。
步骤240、获取数据库产生的数据更新日志。
步骤250、加载配置文件到内存,并提取配置文件中的记录读取信息,其中,记录读取信息包括数据库标识和数据表标识。
其中,数据库标识可以是表示数据库的信息,可以包括数据库编号或者数据库名称,不同的数据库具有的数据库标识可以不同。相应的,数据表标识可以是代表数据表的信息,可以包括数据表编号或者数据表名称,不同的数据表具有的数据表标识可以不同。
具体的,可以读取存储的配置文件,将配置文件中的数据加载到内存中,可以在内存中提取配置文件中数据库标识和数据表标识作为记录读取信息。
步骤260、在数据更新日志中获取与数据库标识和数据表标识匹配的数据记录,提取数据记录中的更新后数据字段对应的数据作为待同步数据。
其中,数据记录可以是数据更新日志中的记录信息,数据更新日志可以由一条或者多条数据记录组成,数据记录中可以包括数据库名、数据表名、更新操作、更新前数据和更新后数据等。
在本发明实施例中,可以在数据更新日志中查找与记录提取信息中数据库标识和数据表标识匹配的数据记录,数据记录中数据库名和数据表名可以与记录提取信息中的数据库标识和数据表标识相同。在查找到数据记录后,可以提取更新后数据字段中的数据作为待同步数据。
步骤270、加载配置文件到内存,并提取配置文件中的写位置信息,其中,缓存配置信息至少包括缓存集群位置信息和数据转换信息。
其中,缓存集群位置信息可以是待同步数据的目标缓存位置的信息,可以包括集群标识信息和主键信息等,数据转换信息可以是数据库中存储字段和远程缓存集群中存储字段的转换关系,例如,待同步数据在数据库中的存储字段为abc字段,而在远程缓存集群中的存储字段为bcd字段,则待同步数据的数据转换信息可以为abc字段转换为bcd字段。
具体的,可以将配置文件读取到内存中,可以在配置文件中读取控制远程缓存集群的写位置信息,读取到的写位置信息的数量可以与待同步数据的缓存备份数量相同,每份写位置信息中可以包括一份待同步数据的缓存集群位置信息和数据转换信息。
步骤280、在数据转换信息中查找待同步数据的源字段对应的目标字段。
其中,源字段可以是待同步数据在数据库中的存储字段,源字段可以是在数据更新日志中与待同步数据关联存储的主键,目标字段可以是待同步数据在远程缓存集群中的存储字段。
具体的,可以查找到待同步数据的源字段,示例性的,在数据更新日志中待同步数据与源字段可以Key:Value的形式存在,可以在数据更新日志中获取Value为b的数据记录,且该数据记录中Key=A,则待同步数据的源记录为A。在获取到源字段后可以在数据转换信息中查找与源字段关联存储的信息,可以将该信息作为目标字段。
步骤290、将待同步数据中的数据信息缓存到远程缓存集群中缓存集群位置信息对应的目标字段。
其中,缓存集群位置信息可以是标识服务器的信息,可以包括网络协议地址或者物理地址等。
在本发明实施例中,可以按照网络协议地址或者物理地址等缓存集群位置信息发送待同步数据到远程缓存集群,可以由远程缓存集群中的设备接收,该设备接收到远程缓存集群后可以将该待同步数据存储到目标字段对应的缓存区域,完成待同步数据的存储。
本发明实施例,通过按照数据库的存储结构信息生成记录读取信息,使用写配置模板生成对应缓存备份数量的写位置信息,并将记录读取信息和写位置信息存储为配置文件,采集数据库的数据更新日志,加载配置文件到内存以提取包括数据库标识和数据表标识的记录读取信息,在数据更新日志中查找与数据库标识和数据表标识匹配的数据记录,获取到该数据记录中更新后数据字段内的数据作为待同步数据,记载配置文件到内存以获取包括缓存集群位置信息和数据转换信息的写位置信息,在数据转换信息中查找待同步数据的源字段对应的目标字段,按照缓存集群位置信息将待同步数据发送到远程缓存集群作为目标字段存储,实现了待同步数据的异步缓存,使用配置文件对异步缓存过程进行精确控制,降低数据同步过程在的错误机率,可增强数据的完整性。
进一步的,在上述发明实施例的基础上,所述写位置信息还包括时序控制字段,控制远程缓存集群根据预先存储的写位置信息缓存所述待同步数据,还包括:若所述待同步数据的生成时间小于所述时序控制字段,则将所述待同步数据丢弃。
其中,时序控制字段可以是对待同步数据进行时序验证的字段,时序控制字段中的内容可以是待同步数据的时间信息或者版本信息等,时序控制字段的信息可以标识当前远程缓存集群中数据的时序信息。
具体的,在获取到待同步数据时,可以在数据更新日志中获取到待同步数据的生成时间,可以使用生成时间与写位置信息中的时序控制字段的数据进行比较,若该生成时间小于时序控制字段中的生成时间,则确定该条待同步数据已经被处理,无需在远程缓存集群同步该数据,可以将该待同步数据丢弃不做处理。可以理解的是,写位置信息中的时序控制字段可以随着待同步数据的缓存进行更新,例如,每当一个待同步数据存储到远程缓存集群时,可以使用该待同步数据的生成时间更新时序控制字段中的数据。
进一步的,在上述发明实施例的基础上,还包括:根据输入的缓存管理信息对所述远程缓存集群执行缓存管理操作,其中,所述缓存管理操作包括缓存创建、缓存修改和缓存删除中的至少一种。
其中,缓存管理信息可以是管理员对远程缓存集群进行管理的信息,可以包括缓存创建指令、缓存修改指令和缓存删除指令等。
在本发明实施例中,当获取到管理员输入的缓存管理信息时,可以根据该信息对远程缓存集群进行控制,可以创建缓存、修改缓存和删除缓存等,实现缓存的全生命周期管理,
实施例三
图3是本发明实施例三提供的一种异步缓存装置的结构示意图,本实施例可适用于数据库和远程缓存集群进行异步缓存的精细化控制的情况,该装置可以集成在终端设备中,该终端设备可以是服务器、电脑或者移动终端,本实施例提供的装置可执行本发明任意实施例提供的方法,具备执行方法相应的功能模块和有益效果。该装置可以由软件和/或硬件实现,具体包括:数据接入层301、执行引擎层302和存储层303。
数据接入层301,用于获取数据库产生的数据更新日志。
执行引擎层302,用于根据所述数据库的存储配置信息提取所述数据更新日志中的待同步数据。
存储层303,用于根据预先存储的缓存配置信息控制远程字典服务缓存所述待同步数据。
本发明实施例,通过数据接入层收集数据库产生的数据更新日志,执行引擎层使用预先存储的记录读取信息获取数据更新日志中的待同步数据,存储层根据写位置信息将待同步数据缓存到远程缓存集群的对应位置,实现了数据的异步缓存,提高数据库和缓存中数据的一致性,使用读取信息和写位置信息对数据缓存过程进行精细化控制,防止数据在缓存过程中出现损坏,可增强数据的完整性。
进一步的,在上述发明实施例的基础上,所述执行引擎层302包括:
读取配置单元,用于加载配置文件到内存,并提取所述配置文件中的记录读取信息,其中,所述记录读取信息包括数据库标识和数据表标识。
数据提取单元,用于在所述数据更新日志中获取与所述数据库标识和所述数据表标识匹配的数据记录,提取所述数据记录中的更新后数据字段对应的数据作为待同步数据。
进一步的,在上述发明实施例的基础上,所述执行引擎层302还包括:
写配置单元,用于加载配置文件到内存,并提取所述配置文件中的写位置信息,其中,所述缓存配置信息至少包括缓存集群位置信息和数据转换信息。
存储控制单元,用于在数据转换信息中查找所述待同步数据的源字段对应的目标字段;将所述待同步数据中的数据信息缓存到所述远程缓存集群中所述缓存集群位置信息对应的目标字段。
进一步的,在上述发明实施例的基础上,所述写配置单元中的写位置信息还包括时序控制字段,相应的,写配置单元还用于:若所述待同步数据的生成时间小于所述时序控制字段,则将所述待同步数据丢弃。
进一步的,在上述发明实施例的基础上,还包括:配置管理层,用于:根据数据库的存储结构信息生成记录读取信息;根据写入配置模板生成对应缓存备份数量的写位置信息;将所述记录读取信息和所述写位置信息存储为配置文件。
进一步的,在上述发明实施例的基础上,所述装置还包括:缓存管理层,用于根据输入的缓存管理信息对所述远程缓存集群执行缓存管理操作,其中,所述缓存管理操作包括缓存创建、缓存修改和缓存删除中的至少一种。
图4是本发明实施例三提供的一种异步缓存装置的示例图,参见图4,在一个示例性的实施方式中,异步缓存装置可以包括四大块,分别为数据接入层、配置管理层、执行引擎层和存储层,其中,1)数据接入层:通过订阅MySQL数据库的Binlog消息接入MySQL数据变更,Binlog可以保证消息的时序性,并实现与业务系统的解耦。2)配置管理层:通过内存配置系统对需要缓存的MySQL数据库源的配置文件进行管理,配置文件按照缓存维度进行配置,例如,若要管理5个缓存体则生成5份配置信息。配置文件中可以包括源信息,如某某库、某某表,配置文件还包括指明数据转换信息,如将abc字段映射到bcd字段,配置文件还需要配置目标信息,如存储到Redis中哪个Redis集群以及哪个主键Key中。3)执行引擎层:通过加载配置文件中的配置信息到内存中,然后使用spel脚本基于配置信息对MySQL数据变更进行解析,获取到最终要存储的数据。4)存储层:在本发明实施例中将上述步骤中得到的数据以一定规则持久化到Redis中。图6是本发明实施例四提供的一种异步缓存系统的结构示意图,参见图6,本发明实施例通过Binlog获取需要的业务信息并保证同一消息在异步缓存过程中的时序性,通过配置文件在实现现有状态逻辑处理的基础上,实现了对后续状态逻辑的兼容,可实现异步缓存过程中处理规则的可拓展化。还可以通过实现配置文件的状态机对Redis缓存进行增删改等操作,实现缓存的全生命周期管理。
实施例四
图6是本发明实施例四提供的一种异步缓存系统的结构示意图,本实施例可适用于将数据库中存储数据以异步的方式缓存到缓存集群的情况,参见图6,本发明实施例提供的系统包括:至少一个数据库401,用于存储数据和生成数据更新日志;至少一个远程缓存集群403,用于缓存数据;至少一个缓存管理设备402,所述缓存管理设备402用于实现一种的异步缓存方法,该方法包括:获取数据库产生的数据更新日志;根据预先存储的记录读取信息提取所述数据更新日志中的待同步数据;控制远程缓存集群根据预先存储的写位置信息缓存所述待同步数据。
实施例五
图7是本发明实施例五提供的一种电子设备的结构示意图,如图7所示,该电子设备包括处理器70、存储器71、输入装置72和输出装置73;电子设备中处理器70的数量可以是一个或多个,图7中以一个处理器70为例;电子设备中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图C中以通过总线连接为例。
存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的异步缓存方法对应的程序指令/模块(例如,异步缓存装置中的数据接入层301、执行引擎层302和存储层303)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的异步缓存方法。
存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置72可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种异步缓存方法,该方法包括:
获取数据库产生的数据更新日志;
根据预先存储的记录读取信息提取所述数据更新日志中的待同步数据;
控制远程缓存集群根据预先存储的写位置信息缓存所述待同步数据。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的异步缓存方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述异步缓存装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种异步缓存方法,其特征在于,所述方法包括:
获取数据库产生的数据更新日志;
根据预先存储的记录读取信息提取所述数据更新日志中的待同步数据,其中,所述数据更新日志是记录数据库操作的记录集合,包括数据更新操作以及数据更新操作使用的数据;
控制远程缓存集群根据预先存储的写位置信息缓存所述待同步数据;
所述控制远程缓存集群根据预先存储的写位置信息缓存所述待同步数据,包括:
加载配置文件到内存,并提取所述配置文件中的写位置信息,其中,所述写位置信息至少包括缓存集群位置信息和数据转换信息,所述数据转换信息包括数据库中存储字段和远程缓存集群中存储字段的转换关系;
在数据转换信息中查找所述待同步数据的源字段对应的目标字段;
将所述待同步数据中的数据信息缓存到所述远程缓存集群中所述缓存集群位置信息对应的目标字段。
2.根据权利要求1所述的方法,其特征在于,所述根据预先存储的记录读取信息提取所述数据更新日志中的待同步数据,包括:
加载配置文件到内存,并提取所述配置文件中的记录读取信息,其中,所述记录读取信息包括数据库标识和数据表标识;
在所述数据更新日志中获取与所述数据库标识和所述数据表标识匹配的数据记录,提取所述数据记录中的更新后数据字段对应的数据作为待同步数据。
3.根据权利要求1所述的方法,其特征在于,所述写位置信息还包括时序控制字段,所述控制远程缓存集群根据预先存储的写位置信息缓存所述待同步数据,还包括:
若所述待同步数据的生成时间小于所述时序控制字段,则将所述待同步数据丢弃。
4.根据权利要求1所述的方法,其特征在于,还包括:
根据数据库的存储结构信息生成记录读取信息;
根据写入配置模板生成对应缓存备份数量的写位置信息;
将所述记录读取信息和所述写位置信息存储为配置文件。
5.根据权利要求1所述的方法,其特征在于,还包括:
根据输入的缓存管理信息对所述远程缓存集群执行缓存管理操作,其中,所述缓存管理操作包括缓存创建、缓存修改和缓存删除中的至少一种。
6.一种异步缓存装置,其特征在于,所述装置包括:
数据接入层,用于获取数据库产生的数据更新日志;
执行引擎层,用于根据所述数据库的存储配置信息提取所述数据更新日志中的待同步数据,其中,所述数据更新日志是记录数据库操作的记录集合,包括数据更新操作以及数据更新操作使用的数据;
存储层,用于根据预先存储的写位置信息控制远程字典服务缓存所述待同步数据;
所述执行引擎层还包括:
写配置单元,用于加载配置文件到内存,并提取所述配置文件中的写位置信息,其中,所述写位置信息至少包括缓存集群位置信息和数据转换信息,所述数据转换信息包括数据库中存储字段和远程缓存集群中存储字段的转换关系;
存储控制单元,用于在数据转换信息中查找所述待同步数据的源字段对应的目标字段;
将所述待同步数据中的数据信息缓存到所述远程缓存集群中所述缓存集群位置信息对应的目标字段。
7.一种异步缓存系统,其特征在于,所述系统包括:
至少一个数据库,用于存储数据和生成数据更新日志;
至少一个远程缓存集群,用于缓存数据;
至少一个缓存管理设备,所述缓存管理设备用于实现如权利要求1-5中任一所述的异步缓存方法。
8.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的异步缓存方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的异步缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011590310.5A CN112685431B (zh) | 2020-12-29 | 2020-12-29 | 异步缓存方法、装置、系统、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011590310.5A CN112685431B (zh) | 2020-12-29 | 2020-12-29 | 异步缓存方法、装置、系统、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685431A CN112685431A (zh) | 2021-04-20 |
CN112685431B true CN112685431B (zh) | 2024-05-17 |
Family
ID=75454900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011590310.5A Active CN112685431B (zh) | 2020-12-29 | 2020-12-29 | 异步缓存方法、装置、系统、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685431B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328447A (zh) * | 2021-11-30 | 2022-04-12 | 深圳栅格信息技术有限公司 | 一种数据迁移方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219327A (zh) * | 2014-09-27 | 2014-12-17 | 上海瀚之友信息技术服务有限公司 | 一种分布式缓存系统 |
WO2018077292A1 (zh) * | 2016-10-28 | 2018-05-03 | 北京市商汤科技开发有限公司 | 数据处理方法和系统、电子设备 |
CN109800272A (zh) * | 2019-02-25 | 2019-05-24 | 广州虎牙信息科技有限公司 | 缓存数据同步方法、服务器、应用系统及存储装置 |
CN109871388A (zh) * | 2019-02-19 | 2019-06-11 | 北京字节跳动网络技术有限公司 | 数据缓存方法、装置、终电子设备及存储介质 |
CN110569269A (zh) * | 2019-11-06 | 2019-12-13 | 成都四方伟业软件股份有限公司 | 一种数据同步方法及系统 |
CN111026771A (zh) * | 2019-11-19 | 2020-04-17 | 拉货宝网络科技有限责任公司 | 一种保证缓存与数据库数据一致的方法 |
CN112000737A (zh) * | 2020-08-14 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 基于多云管理的数据同步方法、系统、终端及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9501418B2 (en) * | 2014-06-26 | 2016-11-22 | HGST Netherlands B.V. | Invalidation data area for cache |
US10956335B2 (en) * | 2017-09-29 | 2021-03-23 | Oracle International Corporation | Non-volatile cache access using RDMA |
-
2020
- 2020-12-29 CN CN202011590310.5A patent/CN112685431B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219327A (zh) * | 2014-09-27 | 2014-12-17 | 上海瀚之友信息技术服务有限公司 | 一种分布式缓存系统 |
WO2018077292A1 (zh) * | 2016-10-28 | 2018-05-03 | 北京市商汤科技开发有限公司 | 数据处理方法和系统、电子设备 |
CN109871388A (zh) * | 2019-02-19 | 2019-06-11 | 北京字节跳动网络技术有限公司 | 数据缓存方法、装置、终电子设备及存储介质 |
CN109800272A (zh) * | 2019-02-25 | 2019-05-24 | 广州虎牙信息科技有限公司 | 缓存数据同步方法、服务器、应用系统及存储装置 |
CN110569269A (zh) * | 2019-11-06 | 2019-12-13 | 成都四方伟业软件股份有限公司 | 一种数据同步方法及系统 |
CN111026771A (zh) * | 2019-11-19 | 2020-04-17 | 拉货宝网络科技有限责任公司 | 一种保证缓存与数据库数据一致的方法 |
CN112000737A (zh) * | 2020-08-14 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 基于多云管理的数据同步方法、系统、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112685431A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429641B2 (en) | Copying data changes to a target database | |
CN109241175B (zh) | 数据同步方法、装置、存储介质及电子设备 | |
CA2982958C (en) | Backup and restore in a distributed database utilizing consistent database snapshots | |
US8868512B2 (en) | Logging scheme for column-oriented in-memory databases | |
CN106933703B (zh) | 一种数据库数据备份的方法、装置及电子设备 | |
US9020916B2 (en) | Database server apparatus, method for updating database, and recording medium for database update program | |
CN109471851B (zh) | 数据处理方法、装置、服务器和存储介质 | |
CN112286941B (zh) | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 | |
CN111259004B (zh) | 一种存储引擎中数据索引的方法以及相关装置 | |
US11347711B2 (en) | Sparse infrastructure for tracking ad-hoc operation timestamps | |
US6725242B2 (en) | Multiple-computer data processing system and method with time-versioned data storage | |
WO2020192663A1 (zh) | 一种数据管理方法及相关设备 | |
CN113094442A (zh) | 全量数据同步方法、装置、设备和介质 | |
CN112685431B (zh) | 异步缓存方法、装置、系统、电子设备和存储介质 | |
CN114741453A (zh) | 数据同步的方法、系统及计算机可读存储介质 | |
US11093348B2 (en) | Method, device and computer program product for recovering metadata | |
CN116049306A (zh) | 数据同步方法、装置、电子设备以及可读存储介质 | |
CN114356945A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114372052A (zh) | 数据变更记录的存储方法和装置、计算机设备、存储介质 | |
CN112631741A (zh) | 事务处理方法、设备及存储介质 | |
CN112527911B (zh) | 一种数据存储方法、装置、设备及介质 | |
CN117609209B (zh) | 数据回收方法、数据还原方法、装置、设备及存储介质 | |
CN115878563B (zh) | 一种分布式文件系统目录级快照的实现方法及电子设备 | |
WO2024082693A1 (zh) | 数据处理方法及装置 | |
CN114579604B (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 | ||
CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant before: Jingdong Digital Technology Holding Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |