CN114138833A - 用于关系型数据库与缓存数据库数据同步的方法及*** - Google Patents
用于关系型数据库与缓存数据库数据同步的方法及*** Download PDFInfo
- Publication number
- CN114138833A CN114138833A CN202111450013.5A CN202111450013A CN114138833A CN 114138833 A CN114138833 A CN 114138833A CN 202111450013 A CN202111450013 A CN 202111450013A CN 114138833 A CN114138833 A CN 114138833A
- Authority
- CN
- China
- Prior art keywords
- data storage
- database
- storage information
- cache
- data
- 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
Links
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
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)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于关系型数据库与缓存数据库数据同步的方法,接收客户端发出的事务启动指令,对事务启动指令包含的存储事务进行解析生成数据存储信息;对数据存储信息进行分离生成第一数据存储信息和第二数据存储信息;将第一数据存储信息发送至关系型数据库暂存,将第二数据存储信息发送至预置的缓存容器中;检测是否接收到客户端发出的数据存储事务提交指令,若检测到数据存储事务提交指令,则将所述缓存容器的全部第二数据存储信息发送至缓存数据库,以实现关系型数据库和缓存数据库的同步写入。由此,能够实现关系数据库和缓存数据库实时同步机制,进而提升企业在面对高并发场景下的开发、运维效率。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种用于关系型数据库与缓存数据库数据同步的方法及***。
背景技术
缓存属于计算机内存的一种机制,是计算机中效率最快的访问单元,可以提供比磁盘快几百上千倍的速度,因此缓存也逐步成为缓解数据库压力的核心数据能力。在计算的软件开发中,为了应对高并发场景的需求,通常是利用代码将数据写到缓存之后,再写到关系型数据库中,如果关系型数据库写入失败,再清理缓存,这就相当于同时操作两个数据库。为了保证两者的同步和一致,使用各类复杂的处理机制,但还需要维护两个数据库的数据一致性工作,由此会导致运维管理复杂,而且数据的一致性管理易受开发代码质量的影响。
当前主要通过用户端负责保存到缓存,在更新缓存时,先更新关系数据库,再将缓存设置过期时间。这种方法虽然可以实时生效,但仍然无法解决事务一致性问题,而且存在数据库和用户端操作的延时问题,并且无法解决大数据量同步缓存的能力。此外,还有通过外挂服务抓取数据库的变化数据写到缓存来实现数据的一致性管理。但是,这种方法属于异步复制,实时性无法保障。
发明内容
本发明所要解决的技术问题在于,提供一种用于关系型数据库与缓存数据库数据同步的方法及***,能够实现关系数据库和缓存数据库实时同步机制,进而提升企业在面对高并发场景下的开发、运维效率。
为了解决上述技术问题,本发明第一方面公开了一种用于关系型数据库与缓存数据库数据同步的方法,所述方法包括:接收客户端发出的事务启动指令,对所述事务启动指令包含的存储事务进行解析生成数据存储信息;对所述数据存储信息进行分离生成第一数据存储信息和第二数据存储信息;将所述第一数据存储信息发送至关系型数据库暂存,将所述第二数据存储信息发送至预置的缓存容器中;检测是否接收到客户端发出的数据存储事务提交指令,若检测到所述数据存储事务提交指令,则将所述缓存容器的全部第二数据存储信息发送至缓存数据库,以实现所述关系型数据库和所述缓存数据库的同步写入。
在一些实施方式中,所述接收客户端发出的事务启动指令,包括:配置与客户端连接的虚拟数据库;通过所述虚拟数据库接收客户端发出的事务启动指令。
在一些实施方式中,对所述数据存储信息进行分离生成第一数据存储信息和第二数据存储信息,包括:将所述数据存储信息复制生成两个第一数据存储信息;将其中一个第一数据存储信息进行解析生成多个第二数据存储信息;其中,每个第二数据存储信息具有适配的缓存容器。
在一些实施方式中,将所述缓存容器的全部第二数据存储信息发送至缓存数据库,以实现所述关系型数据库和所述缓存数据库的同步写入,包括:在将所述缓存容器的全部第二数据存储信息发送至缓存数据库后,向所述关系型数据库和所述缓存数据库发送数据提交指令;所述关系型数据库根据所述数据提交指令将暂存的全部第一数据存储信息写入;所述缓存数据库根据所述数据提交指令将全部第二数据存储信息写入。
本发明第二方面公开了一种用于关系型数据库与缓存数据库数据同步的***,所述***包括:解析模块,用于接收客户端发出的事务启动指令,对所述事务启动指令包含的存储事务进行解析生成数据存储信息;数据库操作分离装置,用于对所述数据存储信息进行分离生成第一数据存储信息和第二数据存储信息;关系型数据库,用于接收所述第一数据存储信息发送至关系型数据库暂存缓存容器,用于接收所述第二数据存储信息;同步模块,用于检测是否接收到客户端发出的数据存储事务提交指令,若检测到所述数据存储事务提交指令,则将所述缓存容器的全部第二数据存储信息发送至缓存数据库,以实现所述关系型数据库和所述缓存数据库的同步写入。
在一些实施方式中,所述***还包括:与客户端连接的虚拟数据库,所述虚拟数据库用于接收客户端发出的事务启动指令并传输至解析模块。
在一些实施方式中,所述数据库操作分离装置实现为:将所述数据存储信息复制生成两个第一数据存储信息;将其中一个第一数据存储信息进行解析生成多个第二数据存储信息;其中,每个第二数据存储信息具有适配的缓存容器。
在一些实施方式中,所述同步模块实现为:在将所述缓存容器的全部第二数据存储信息发送至缓存数据库后,向所述关系型数据库和所述缓存数据库发送数据提交指令;所述关系型数据库根据所述数据提交指令将暂存的全部第一数据存储信息写入;所述缓存数据库根据所述数据提交指令将全部第二数据存储信息写入。
本发明第三方面公开了用于关系型数据库与缓存数据库数据同步装置,所述装置包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,执行如上述的用于关系型数据库与缓存数据库数据同步的方法。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如上述的用于关系型数据库与缓存数据库数据同步的方法。
与现有技术相比,本发明的有益效果在于:
实施本发明能够将异构数据库的数据同步技术进行融合,屏蔽开发中执行判断两个数据库即关系型数据库和缓存数据的操作一致性的问题,在虚拟数据库中实现缓存数据库与实体的关系数据库的数据一致性,而且,由于虚拟数据库有事务一致性的保障机制,可以在保障两个数据库都执行成功的前提下提供客户端一致性的数据处理结果。而且,根据本发明的数据操作分离装置能够自动化的将数据存储信息分离,利用缓存容器实现操作的内存管理,由此,能够实现关系数据库和缓存数据库实时同步机制,进而提升企业在面对高并发场景下的开发、运维效率。
附图说明
图1为本发明实施例公开的一种用于关系型数据库与缓存数据库数据同步的方法流程示意图;
图2为本发明实施例公开的一种用于关系型数据库与缓存数据库数据同步***示意图;
图3为本发明实施例公开的又一种用于关系型数据库与缓存数据库数据同步的***示意图;
图4为本发明实施例公开的一种用于关系型数据库与缓存数据库数据同步装置结构示意图。
具体实施方式
为了更好地理解和实施,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
本发明实施例公开了一种用于关系型数据库与缓存数据库数据同步方法及***,能够将异构数据库的数据同步技术进行融合,屏蔽开发中执行判断两个数据库即关系型数据库和缓存数据的操作一致性的问题,在虚拟数据库中实现缓存数据库与实体的关系数据库的数据一致性,而且,由于虚拟数据库有事务一致性的保障机制,可以在保障两个数据库都执行成功的前提下提供客户端一致性的数据处理结果。而且,根据本发明的数据操作分离装置能够自动化的将数据存储信息分离,利用缓存容器实现操作的内存管理,由此,能够实现关系数据库和缓存数据库实时同步机制,进而提升企业在面对高并发场景下的开发、运维效率。
实施例一
请参阅图1,图1为本发明实施例公开的一种用于关系型数据库与缓存数据库数据同步的方法流程示意图。其中,该用于关系型数据库与缓存数据库数据同步的方法可以应用在关系型数据库与缓存数据库并存的数据存储***中,也可以包含其他类型的数据库的同步***中,对于该方法的应用本发明实施例不做限制。如图1所示,该用于关系型数据库与缓存数据库数据同步的方法可以包括以下操作:
101、接收客户端发出的事务启动指令,对事务启动指令包含的存储事务进行解析生成数据存储信息。
在数据库的交互中,国际SQL标准规定了客户端与数据库的交互主要分三大部分:启动事务、循环执行各类数据库操作(SQL形式)、提交/回滚事务并结束。在启动事务后,客户端可通过语法不断请求数据库操作,这些操作受事务一致性约束,即其他客户端无法知道数据操作的内容,比如此时写入的数据库操作实际上已经提交数据库存储,只是通过标签标记为未提交,在客户端发起事务提交后,一系列的数据库操作将被当做一个“原子”的方式提交数据库更改标签标记,若写入成功则标签标记显示全部写入成功,若写入失败不管是单个操作失败还是全部操作失败都统计为全部失败,此过程也被称为数据库事务的强一致性。
但是,发明人发现缓存数据库没有关系型数据库中的这种强一致性的事务模式,那么为了保障数据存储操作在关系型数据库和缓存数据库中的一致,就需要在事务提交前做一次性的缓存“原子”操作,相比数据库操作的耗时和故障率,数据库提交事务的异常概率是最低的,鉴于缓存的效率远高于数据库的效率,座椅将最高效率、最安全的操作放在最后是保障前后一致性最佳的流程,这也就发明人对本发明的主要技术构思的来源。
首先,接收客户端发出的事务启动指令,该事务启动指令包含有待写入的存储事务,再根据SQL解析规则解析出该存储事务的SQL语法,以便于后续的统一操作。
作为一种优选实施方式,还配置有客户端连接的虚拟数据库,通过该虚拟数据库接收客户端发出的事务启动指令,这样的好处在于,可以让客户端不直接接触关系型数据库和缓存数据库,让客户端开发免去了这两种数据库的来回切换和异常管理,仅通过访问该虚拟数据库,由此简化了开发和运维的复杂度。而且,虚拟数据库是有事务一致性保障机制的,可以在保障两个数据库都执行成功的前提下提供客户端一致性的数据处理结果。
102、对数据存储信息进行分离生成第一数据存储信息和第二数据存储信息。
为了使数据存储信息可以分别处理,所以在数据存储信息的处理阶段,进行了数据库和缓存的操作分离,具体实现为:首先将数据存储信息进行复制,生成两个一模一样的第一数据存储信息,第一数据存储信息指代的是数据存储信息本身,再将其中一个第一数据存储信息进行解析生成多个第二数据存储信息,解析的方式按照数据存储信息的类型进行划分,示例性地,某一数据存储信息的内容为“苹果”类别,那么在对该“苹果”进行解析时,就会生成“苹果核”、“苹果皮”、“苹果肉”等多份数据,那么其中的“苹果核”、“苹果皮”、“苹果肉”都可以作为一种第二数据存储信息,为每个第二数据存储信息配置适配的缓存容器,这样方便后续的统一数据管理,但是,在其他实施方式中,为了降低内部的缓存空间,也可以将全部第二数据存储信息存储到同一缓存容器中。通过这种数据分离的方式,能够保障缓存的操作与数据库的操作在同一个事务的周期内完成。
103、将第一数据存储信息发送至关系型数据库暂存,将第二数据存储信息发送至预置的缓存容器中。
之后,将第一数据存储信息发送至关系型数据库暂存没有实际提交以实现保存原始数据存储信息的目的,与此同时将第二数据存储信息发送至预置的缓存容器中,以应对客户端在这一事务处理周期内的更改操作。其中,对于缓存容器的实现方式,可采用生命周期方法init()和beforeDestory()方法进行定义,示例性地,在容器启动的最初,执行init()方法,在init()方法中,loadCacheFromDisk()将正常关机前保存的cache重新加载到内存当中。最后启动后台线程,后台线程主要的工作是定期清理过期的cache,以及找时间做数据的快照。
通过上述的分离操作并存储至缓存容器,可以使得数据在缓存和数据库之间同步的过程对于客户端无感知,数据一致性不会因为客户端自行切换导致不一致。
104、检测是否接收到客户端发出的数据存储事务提交指令,若检测到数据存储事务提交指令,则将缓存容器的全部第二数据存储信息发送至缓存数据库,以实现关系型数据库和缓存数据库的同步写入。
作为实现整个同步流程的最后环节,在一个事务周期内,可以对客户端发来的指令进行轮询,直至检测到客户端发出的数据存储事务提交指令后,表面该阶段的事务已经完全完成,不再涉及更改可以将数据事务提交后,才统一将缓存容器中的第二数据存储信息一次性写入缓存数据库中,并请求关系数据库进行事务提交。具体地,可以在缓存容器的全部第二数据存储信息发送至缓存数据库后,向关系型数据库和缓存数据库发送数据提交指令,关系型数据库根据数据提交指令将暂存的全部第一数据存储信息写入,所述缓存数据库根据所述数据提交指令将全部第二数据存储信息写入。
根据本实施例公开的方法能够将异构数据库的数据同步技术进行融合,屏蔽开发中执行判断两个数据库即关系型数据库和缓存数据的操作一致性的问题,在虚拟数据库中实现缓存数据库与实体的关系数据库的数据一致性,而且,由于虚拟数据库有事务一致性的保障机制,可以在保障两个数据库都执行成功的前提下提供客户端一致性的数据处理结果。而且,根据本发明的数据操作分离装置能够自动化的将数据存储信息分离,利用缓存容器实现操作的内存管理,由此,能够实现关系数据库和缓存数据库实时同步机制,进而提升企业在面对高并发场景下的开发、运维效率。
实施例二
请参阅图2,图2为本发明实施例公开的一种用于关系型数据库与缓存数据库数据同步***示意图。如图2所示,该用于关系型数据库与缓存数据库数据同步的***可以包括:
解析模块1,用于接收客户端发出的事务启动指令,对事务启动指令包含的存储事务进行解析生成数据存储信息。具体实现为:接收客户端发出的事务启动指令,该事务启动指令包含有待写入的存储事务,再根据SQL解析规则解析出该存储事务的SQL语法,以便于后续的统一操作。
数据库操作分离装置2,用于对数据存储信息进行分离生成第一数据存储信息和第二数据存储信息。具体实现为:首先将数据存储信息进行复制,生成两个一模一样的第一数据存储信息,第一数据存储信息指代的是数据存储信息本身,再将其中一个第一数据存储信息进行解析生成多个第二数据存储信息,解析的方式按照数据存储信息的类型进行划分,示例性地,某一数据存储信息的内容为“苹果”类别,那么在对该“苹果”进行解析时,就会生成“苹果核”、“苹果皮”、“苹果肉”等多份数据,那么其中的“苹果核”、“苹果皮”、“苹果肉”都可以作为一种第二数据存储信息,为每个第二数据存储信息配置适配的缓存容器,这样方便后续的统一数据管理,但是,在其他实施方式中,为了降低内部的缓存空间,也可以将全部第二数据存储信息存储到同一缓存容器中。通过这种数据分离的方式,能够保障缓存的操作与数据库的操作在同一个事务的周期内完成。
关系型数据库3,用于接收第一数据存储信息发送至关系型数据库暂存。缓存容器4,用于接收第二数据存储信息。将第一数据存储信息发送至关系型数据库3暂存没有实际提交以实现保存原始数据存储信息的目的,与此同时将第二数据存储信息发送至预置的缓存容器中,以应对客户端在这一事务处理周期内的更改操作。其中,对于缓存容器的实现方式,可采用生命周期方法init()和beforeDestory()方法进行定义,示例性地,在容器启动的最初,执行init()方法,在init()方法中,loadCacheFromDisk()将正常关机前保存的cache重新加载到内存当中。最后启动后台线程,后台线程主要的工作是定期清理过期的cache,以及找时间做数据的快照。通过上述的分离操作并存储至缓存容器,可以使得数据在缓存和数据库之间同步的过程对于客户端无感知,数据一致性不会因为客户端自行切换导致不一致。
同步模块5,用于检测是否接收到客户端发出的数据存储事务提交指令,若检测到数据存储事务提交指令,则将缓存容器的全部第二数据存储信息发送至缓存数据库6,以实现关系型数据库和所述缓存数据库的同步写入。在一个事务周期内,可以对客户端发来的指令进行轮询,直至检测到客户端发出的数据存储事务提交指令后,表面该阶段的事务已经完全完成,不再涉及更改可以将数据事务提交后,才统一将缓存容器中的第二数据存储信息一次性写入缓存数据库中,并请求关系数据库进行事务提交。具体地,可以在缓存容器的全部第二数据存储信息发送至缓存数据库后,向关系型数据库和缓存数据库发送数据提交指令,关系型数据库根据数据提交指令将暂存的全部第一数据存储信息写入,所述缓存数据库根据所述数据提交指令将全部第二数据存储信息写入。
在其他优选方式中,如图3所示,该***还包括与客户端连接的虚拟数据库6,虚拟数据库6用于接收客户端发出的事务启动指令并传输至解析模块。由此,可以让客户端不直接接触关系型数据库和缓存数据库,让客户端开发免去了这两种数据库的来回切换和异常管理,仅通过访问该虚拟数据库,由此简化了开发和运维的复杂度。而且,虚拟数据库是有事务一致性保障机制的,可以在保障两个数据库都执行成功的前提下提供客户端一致性的数据处理结果。
由此,根据本实施例公开的***能够将异构数据库的数据同步技术进行融合,屏蔽开发中执行判断两个数据库即关系型数据库和缓存数据的操作一致性的问题,在虚拟数据库中实现缓存数据库与实体的关系数据库的数据一致性,而且,由于虚拟数据库有事务一致性的保障机制,可以在保障两个数据库都执行成功的前提下提供客户端一致性的数据处理结果。而且,根据本发明的数据操作分离装置能够自动化的将数据存储信息分离,利用缓存容器实现操作的内存管理,由此,能够实现关系数据库和缓存数据库实时同步机制,进而提升企业在面对高并发场景下的开发、运维效率。
实施例三
请参阅图4,图4是本发明实施例公开的一种用于关系型数据库与缓存数据库数据同步装置的结构示意图。其中,图4所描述的用于关系型数据库与缓存数据库数据同步装置可以应用在存在两个或两个以上数据库的***,对于该用于关系型数据库与缓存数据库数据同步装置的应用***本发明实施例不做限制。如图4所示,该装置可以包括:
存储有可执行程序代码的存储器601;
与存储器601耦合的处理器602;
处理器602调用存储器601中存储的可执行程序代码,用于执行实施例一所描述的用于关系型数据库与缓存数据库数据同步的方法。
实施例四
本发明实施例公开了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一所描述的用于实现关系型数据库与缓存数据库数据实时同步。
实施例八
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一所描述的用于关系型数据库与缓存数据库数据同步方法。
以上所描述的实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种用于关系型数据库与缓存数据库数据同步方法及***所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (10)
1.一种用于关系型数据库与缓存数据库数据同步的方法,其特征在于,所述方法包括:
接收客户端发出的事务启动指令,对所述事务启动指令包含的存储事务进行解析生成数据存储信息;
对所述数据存储信息进行分离生成第一数据存储信息和第二数据存储信息;
将所述第一数据存储信息发送至关系型数据库暂存,将所述第二数据存储信息发送至预置的缓存容器中;
检测是否接收到客户端发出的数据存储事务提交指令,若检测到所述数据存储事务提交指令,则将所述缓存容器的全部第二数据存储信息发送至缓存数据库,以实现所述关系型数据库和所述缓存数据库的同步写入。
2.根据权利要求1所述的用于关系型数据库与缓存数据库数据同步的方法,其特征在于,所述接收客户端发出的事务启动指令,包括:
配置与客户端连接的虚拟数据库;
通过所述虚拟数据库接收客户端发出的事务启动指令。
3.根据权利要求2所述的用于关系型数据库与缓存数据库数据同步的方法,其特征在于,对所述数据存储信息进行分离生成第一数据存储信息和第二数据存储信息,包括:
将所述数据存储信息复制生成两个第一数据存储信息;
将其中一个第一数据存储信息进行解析生成多个第二数据存储信息;
其中,每个第二数据存储信息具有适配的缓存容器。
4.根据权利要求1所述的用于关系型数据库与缓存数据库数据同步的方法,其特征在于,将所述缓存容器的全部第二数据存储信息发送至缓存数据库,以实现所述关系型数据库和所述缓存数据库的同步写入,包括:
在将所述缓存容器的全部第二数据存储信息发送至缓存数据库后,向所述关系型数据库和所述缓存数据库发送数据提交指令;
所述关系型数据库根据所述数据提交指令将暂存的全部第一数据存储信息写入;
所述缓存数据库根据所述数据提交指令将全部第二数据存储信息写入。
5.一种用于关系型数据库与缓存数据库数据同步的***,其特征在于,所述***包括:
解析模块,用于接收客户端发出的事务启动指令,对所述事务启动指令包含的存储事务进行解析生成数据存储信息;
数据库操作分离装置,用于对所述数据存储信息进行分离生成第一数据存储信息和第二数据存储信息;
关系型数据库,用于接收所述第一数据存储信息发送至关系型数据库暂存;缓存容器,用于接收所述第二数据存储信息;
同步模块,用于检测是否接收到客户端发出的数据存储事务提交指令,若检测到所述数据存储事务提交指令,则将所述缓存容器的全部第二数据存储信息发送至缓存数据库,以实现所述关系型数据库和所述缓存数据库的同步写入。
6.根据权利要求5所述的用于关系型数据库与缓存数据库数据同步的***,其特征在于,所述***还包括:
与客户端连接的虚拟数据库,所述虚拟数据库用于接收客户端发出的事务启动指令并传输至解析模块。
7.根据权利要求5所述的用于关系型数据库与缓存数据库数据同步的***,其特征在于,所述数据库操作分离装置实现为:
将所述数据存储信息复制生成两个第一数据存储信息;
将其中一个第一数据存储信息进行解析生成多个第二数据存储信息;
其中,每个第二数据存储信息具有适配的缓存容器。
8.根据权利要求5所述的用于关系型数据库与缓存数据库数据同步的***,其特征在于,所述同步模块实现为:
在将所述缓存容器的全部第二数据存储信息发送至缓存数据库后,向所述关系型数据库和所述缓存数据库发送数据提交指令;
所述关系型数据库根据所述数据提交指令将暂存的全部第一数据存储信息写入;
所述缓存数据库根据所述数据提交指令将全部第二数据存储信息写入。
9.用于关系型数据库与缓存数据库数据同步装置,其特征在于,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-4任一项所述的用于关系型数据库与缓存数据库数据同步的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-4任一项所述的用于关系型数据库与缓存数据库数据同步的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111450013.5A CN114138833A (zh) | 2021-11-30 | 2021-11-30 | 用于关系型数据库与缓存数据库数据同步的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111450013.5A CN114138833A (zh) | 2021-11-30 | 2021-11-30 | 用于关系型数据库与缓存数据库数据同步的方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138833A true CN114138833A (zh) | 2022-03-04 |
Family
ID=80386304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111450013.5A Pending CN114138833A (zh) | 2021-11-30 | 2021-11-30 | 用于关系型数据库与缓存数据库数据同步的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138833A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116595014A (zh) * | 2023-07-18 | 2023-08-15 | 中孚信息股份有限公司 | 一种已读回执的存储***、方法、装置及可读存储介质 |
CN117331649A (zh) * | 2023-10-31 | 2024-01-02 | 慧之安信息技术股份有限公司 | 基于内部缓存的Docker容器数据库嵌入方法和*** |
-
2021
- 2021-11-30 CN CN202111450013.5A patent/CN114138833A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116595014A (zh) * | 2023-07-18 | 2023-08-15 | 中孚信息股份有限公司 | 一种已读回执的存储***、方法、装置及可读存储介质 |
CN116595014B (zh) * | 2023-07-18 | 2023-09-26 | 中孚信息股份有限公司 | 一种已读回执的存储***、方法、装置及可读存储介质 |
CN117331649A (zh) * | 2023-10-31 | 2024-01-02 | 慧之安信息技术股份有限公司 | 基于内部缓存的Docker容器数据库嵌入方法和*** |
CN117331649B (zh) * | 2023-10-31 | 2024-06-11 | 慧之安信息技术股份有限公司 | 基于内部缓存的Docker容器数据库嵌入方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3968175B1 (en) | Data replication method and apparatus, and computer device and storage medium | |
CN110209726B (zh) | 分布式数据库集群***、数据同步方法及存储介质 | |
CN109739935B (zh) | 数据读取方法、装置、电子设备以及存储介质 | |
EP2062139B1 (en) | Method for improving transfer of event logs for replication of executing programs | |
CN114138833A (zh) | 用于关系型数据库与缓存数据库数据同步的方法及*** | |
CN111177161B (zh) | 数据处理方法、装置、计算设备和存储介质 | |
US7330860B2 (en) | Fault tolerant mechanism to handle initial load of replicated object in live system | |
CN109710388A (zh) | 数据读取方法、装置、电子设备以及存储介质 | |
CN106445644A (zh) | 基于改进的一阶段提交的分布式事务的处理方法和装置 | |
CN110413687B (zh) | 基于节点互证校验的分布式事务故障处理方法及相关设备 | |
CN112559473B (zh) | 一种基于优先级的双路同步方法和同步*** | |
EP4170509A1 (en) | Method for playing back log on data node, data node, and system | |
US20180024896A1 (en) | Information processing system, information processing apparatus, and information processing method | |
CN111597079A (zh) | 针对MySQL Galera集群故障的检测和恢复方法及*** | |
CN113934745A (zh) | 数据同步处理方法、电子设备以及存储介质 | |
US10983709B2 (en) | Methods for improving journal performance in storage networks and devices thereof | |
CN115617908A (zh) | 一种MySQL数据同步方法、装置、数据库终端、介质及*** | |
CN117632991B (zh) | 一种数据库变更数据采集的方法及*** | |
CN112765126B (zh) | 数据库事务的管理方法、装置、计算机设备和存储介质 | |
CN111404737B (zh) | 一种容灾处理方法以及相关装置 | |
CN112116471A (zh) | 一种证券算法交易过程中的实时算法交易总线*** | |
CN114691781A (zh) | 一种数据同步方法、***、装置、设备及介质 | |
CN115934742A (zh) | 一种故障处理方法、装置、设备及存储介质 | |
CN115934417A (zh) | 一种数据备份方法、***和设备 | |
CN112527497B (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 |