CN111563102A - 缓存更新方法、服务器、***及存储介质 - Google Patents
缓存更新方法、服务器、***及存储介质 Download PDFInfo
- Publication number
- CN111563102A CN111563102A CN202010279793.0A CN202010279793A CN111563102A CN 111563102 A CN111563102 A CN 111563102A CN 202010279793 A CN202010279793 A CN 202010279793A CN 111563102 A CN111563102 A CN 111563102A
- Authority
- CN
- China
- Prior art keywords
- data
- modification information
- cache
- data modification
- message queue
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 230000004048 modification Effects 0.000 claims abstract description 99
- 238000012986 modification Methods 0.000 claims abstract description 99
- 238000012544 monitoring process Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000010276 construction 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
- 238000013501 data transformation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction 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/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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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
-
- 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/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的缓存更新方法、服务器、***及存储介质,通过当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列;根据所述添加到消息队列的数据修改信息,更新缓存数据库中的对应数据;即本发明示例通过监控源数据库的更新日志,使得只有当源数据库发生变更时,才更新缓存数据库中对应数据,实现了及时高效的更新缓存。
Description
技术领域
本发明涉及计算机技术,尤其涉及一种缓存更新方法、服务器、***及存储介质。
背景技术
缓存就是数据交换的缓冲区,当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。但当数据发生变化时,如何及时准确的更新缓存中的数据也成为设计重点。
现有技术中,通常采用定时任务将源数据库的数据同步到缓存数据库中,但是,如果定时任务频率过快,就会对数据库和服务器性能造成一定影响,如果定时任务频率过慢,则不能及时更新数据。
因此,亟需一种新的缓存更新方法,以实现及时高效的更新缓存数据库中的数据。
发明内容
针对上述问题,本发明提供了一种缓存更新方法、服务器、***及存储介质。
第一方面,本发明提供了一种缓存更新方法,包括:当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列;根据所述添加到消息队列的数据修改信息,更新缓存数据库中的对应数据。
在其他可选的实施方式中,所述根据所述添加到消息队列的数据修改信息,更新缓存数据库中的对应数据,包括:所述消息队列发送所述数据修改信息到与所述数据修改信息对应主题的应用服务器中;所述应用服务器接收所述数据修改信息,并根据所述数据修改信息更新缓存数据库中的对应数据。
在其他可选的实施方式中,根据所述数据修改信息更新缓存数据库中的对应数据,包括:所述应用服务器对所述数据修改信息进行异构处理,并根据异构处理后的数据修改信息更新缓存数据库中的对应数据。
在其他可选的实施方式中,所述当监测到源数据库对应的更新日志中的数据修改信息时之前,还包括:接收对源数据库中的数据修改指令,并根据所述数据修改指令生成更新日志。
在其他可选的实施方式中,所述当监测到源数据库对应的更新日志中的数据修改信息时之前,还包括:通过数据传输服务DTS监测所述更新日志。
在其他可选的实施方式中,还包括:接收数据查询指令,根据所述数据查询指令查询所述缓存数据库中所对应的数据。
第二方面,本发明提供一种缓存更新服务器,包括监测模块、消息队列模块,以及更新模块;其中,监测模块用于当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列模块;更新模块,用于根据所述添加到消息队列模块的数据修改信息,更新缓存数据库中的数据。
在其他可选的实施方式中,所述更新模块包括应用服务器,所述更新模块,具体用于:所述消息队列模块发送所述数据修改信息到与所述数据修改信息对应主题的应用服务器中;所述应用服务器接收所述数据修改信息,并根据所述数据修改信息更新缓存数据库中的数据。
第三面,本发明提供一种缓存更新***,包括:源数据库、缓存数据库以及缓存更新服务器;其中,所述缓存更新服务器用于执行如前任一项所述的方法。
第四方面,本发明提供一种可读存储介质,所述可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如前任一项所述的方法。
本发明提供的缓存更新方法、服务器、***及存储介质,通过当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列;根据所述添加到消息队列的数据修改信息,更新缓存数据库中的对应数据;即本发明示例通过监控源数据库的更新日志,使得只有当源数据库发生变更时,才更新缓存数据库中对应数据,实现了及时高效的更新缓存。
附图说明
图1为本发明所基于的一种缓存更新***的示意图;
图2为本发明提供的一种缓存更新方法的流程示意图;
图3为本发明提供的另一种缓存更新方法的流程示意图;
图4为本发明提供的一种Redis的数据存储格式;
图5为本发明提供的一种缓存更新服务器的结构示意图;
图6为本发明提供的一种缓存更新***的结构示意图;
图7为本发明提供的一种控制设备的硬件结构示意图。
具体实施方式
为使本发明示例的目的、技术方案和优点更加清楚,下面将结合本发明示例中的附图,对本发明示例中的技术方案进行清楚、完整地描述。
首先对本发明所涉及的名词进行解释:
数据传输服务:(Data Transformation Service,简称DTS)是一种支持关系型数据库、非关系型数据库(NoSQL)、大数据(OLAP)等数据源间的数据传输。它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务。
消息队列:(Message Queue,简称MQ)是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。
缓存就是数据交换的缓冲区,当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。一种常见的缓存数据库为远程字典服务器(Remote Dictionary Server,简称Redis),Redis是一个key-value存储***,支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,并且基于配合源数据库的使用,Redis缓存数据库可以存放用户频繁调用的数据,以此提高***的响应速度。
举例来说,在大数据时代中,淘宝、微信、以及微博等都广泛的使用了Redis缓存数据库,比如可以将一些固定不变的数据例如学校、区域等固定信息保存在关系型数据库中,而对于经常变化的数据,例如淘宝在每个节日都会将相关的热门搜索显示在搜索框,当节日过去关键字自动删除,为了便于管理,可以将这些数据同步保存到Redis缓存数据库一份,并设置过期时间,到达时间就自动删除。又例如在集客业务***的建设过程中,也采用了Redis缓存数据库来提高***的响应速度,比如通过将***的区域信息缓存到Redis缓存数据库中,来提高***页面打开的响应速度,再比如通过将***参数配置表信息也存到Redis缓存数据库中,极大的减少了组装报文的时间。但是将这些数据写入到Redis缓存数据库中时,还需要考虑到,当数据发生变化时,如何及时准确的更新Redis缓存数据库中相应的数据。
现有技术中,通常采用定时任务将源数据库的数据同步到缓存数据库中,即定时启动线程,通过查询源数据库参数表或者其他需要同步到缓存数据库Redis中数据表,将最新的数据信息写入到Redis缓存数据库中。但是,如果定时任务频率过快,那么会对服务器的性能跟数据库的性能造成一定影响;如果定时任务频率过慢,那么针对一些开关类配置参数则不够及时,例如关闭某个开关时并不能及时关闭,而需要等待下一次定时任务开始后关闭某个开关才可以生效。
针对上述方法,本发明的设计构思在于,通过实时监控源数据库的更新日志,只有当监测发现源数据库的更新日志后,才对缓存数据库中的数据进行更新。
图1为本发明所基于的一种缓存更新***的示意图,如图1所示,本发明基于的其中一种缓存更新***可包括源数据库1、缓存数据库2以及服务器3,其中服务器3可用于执行下述各实施方式中所述的更新方法,以实现在源数据库1中的数据修改后,同步对缓存数据库2中数据进行更新。
第一方面,本发明示例提供了一种缓存更新方法,图2为本发明提供的一种缓存更新方法的流程示意图。
如图2所示,该缓存更新方法包括:
步骤101、当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列。
可选的,在步骤101之前,还包括:接收对源数据库中的数据修改指令,并根据所述数据修改指令生成更新日志。
具体来说,源数据库一般为分布式关系型数据库服务(Distributed RelationalDatabase Service,简称DRDS)。当运维人员等相关人员需要对源数据库中的数据进行维护时,可以通过前端页面对源数据库中的参数表或者码表进行增、删、改等操作,并会生成对应的更新日志,例如二进制日志文件(binary log,简称binlog),也就是说,在更新日志中记录了源数据库中对数据的修改信息。服务器3会实时监控更新日志,并会将更新日志中的数据修改信息添加到消息队列中。
本步骤中,之所以将数据修改信息添加到消息队列中,是因为计算机等设备在执行操作过程中可能出现问题,若是将更新日志数据直接存储在缓存数据库中,缓存数据库中在容量低时会清除日志数据,可能会将数据修改信息清除,而消息队列可以在接收者不可用时保留消息,也就是说通过消息队列存储日志数据,减小了日志数据发生丢失的概率。并且消息队列为MQ,其功能强大、运行稳定、技术成熟、适用的操作***多。
可选的,在步骤101之前,还包括:通过数据传输服务DTS监测所述更新日志。
具体来说,DTS架构本身具有高性能、高可靠、高扩展特效,而且与DRDS能做到无缝衔接,在其异构性方面,支持将DRDS数据实时同步到搜索引擎(Elasticsearch)、MQ上,因此,本实施方式中,DTS作为同步更新数据软件的首选。
步骤102、根据所述添加到消息队列的数据修改信息,更新缓存数据库中的对应数据。
可选的,在步骤102之后,还包括:接收数据查询指令,根据所述数据查询指令查询所述缓存数据库中所对应的数据。
具体来说,首先根据消息队列中的数据修改信息更新缓存数据库中的数据,并在更新完成后,如果接受到用户的数据查询指令,则可以直接通过查询缓存数据库获取,提高了***响应速度。
本发明示例提供的缓存更新方法,通过当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列;根据所述添加到消息队列的数据修改信息,更新缓存数据库中的对应数据;即本发明示例通过监控源数据库的更新日志,使得只有当源数据库发生变更时,才更新缓存数据库中对应数据,实现了及时高效的更新缓存。另外,本发明相比于在页面增加缓存刷新按钮,需要人工干预进行刷新的手段来说,更加智能化,减少开发工作量,减少成本。
结合前述的各实现方式,图3为本发明提供的另一种缓存更新方法的流程示意图,如图3所示,该缓存更新方法包括:
步骤201、当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列。
步骤202、所述消息队列发送所述数据修改信息到与所述数据修改信息对应主题的应用服务器中。
步骤203、所述应用服务器接收所述数据修改信息,并根据所述数据修改信息更新缓存数据库中的对应数据。
本实施方式中的步骤201与前述实施方式中的步骤101的实现方式类似,在此不进行赘述。
与前述实施方式不同的是,本实施方式进一步限定了缓存更新的具体实现方式。在本实施方式中,所述消息队列发送所述数据修改信息到与所述数据修改信息对应主题的应用服务器中;所述应用服务器接收所述数据修改信息,并根据所述数据修改信息更新缓存数据库中的对应数据。
具体来说,应用服务器可以为一段应用程序。本示例中,消息生产端即DTS,将更新日志按规定格式发送到对应主题的消息队列中,消息消费端即应用服务器,也会对消息队列进行监控,随时获取对应主题的日志消息,随后***到缓存数据库中。而且采用消息队列的方式,消息生产端不需要关心是否被消费,在***繁忙时也不会导致***堵塞。通过RocketMQ实现的松耦合架构设计可以提高***可用性以及可扩展性,是适用于现代应用的最佳设计方案。
举例来说,当DTS通过binlog实时捕获数据修改信息,并将数据修改信息同步到MQ消息队列,应用订阅MQ对应的有序操作主题,接收包括数据修改信息的消息,并且将异构处理后的更新到Redis缓存数据库。
可选的,步骤203的一种实现方式为:所述应用服务器对所述数据修改信息进行异构处理,并根据异构处理后的数据修改信息更新缓存数据库中的对应数据。
通常来说,源数据库保存有库表,表1为本发明提供的一种源数据库表格式,如表1所示,库表中包括若干数据记录,数据记录包括主键,主键包括多个字段,而Redis是使用key=>value存储的格式,因此需要将库表进行异构处理变化为key=>value的存储格式,而异构处理就是将源数据库表中的主键作为key值,将库表中关联的数据抽出一个多层级的实体,当作value进行存储,如图4为本发明提供的一种Redis的数据存储格式。
表1
表名 | 主键 | 字段 | 字段 | 字段 | 字段 |
客户表 | 客户ID | 信息1 | 信息2 | … | |
CUST | C1 | ||||
订单表 | 订单ID | 客户ID | 订单信息1 | 订单信息2 | … |
ORDER | D1 | C1 | |||
其他信息 | 其他信息ID | 订单ID | 其他信息1 | 其他信息2 | … |
OTHER | Q1 | D1 |
本发明示例提供的缓存更新方法,通过当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列;所述消息队列发送所述数据修改信息到与所述数据修改信息对应主题的应用服务器中;所述应用服务器接收所述数据修改信息,并根据所述数据修改信息更新缓存数据库中的对应数据;即本发明示例通过监控源数据库的更新日志,使得只有当源数据库发生变更时,才更新缓存数据库中对应数据,实现了及时高效的更新缓存。
第二方面,本发明示例提供了一种缓存更新服务器,图5为本发明提供的一种缓存更新服务器的结构示意图,如图5所示,该缓存更新服务器包括监测模块10、消息队列模块20,以及更新模块30;其中,监测模块10用于当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列模块20;更新模块30,用于根据所述添加到消息队列模块20的数据修改信息,更新缓存数据库中的数据。
在其他可选的实施方式中,所述更新模块30包括应用服务器,所述更新模块30具体用于:所述消息队列模块20发送所述数据修改信息到与所述数据修改信息对应主题的应用服务器中;所述应用服务器接收所述数据修改信息,并根据所述数据修改信息更新缓存数据库中的对应数据。
在其他可选的实施方式中,所述更新模块30还具体用于:所述应用服务器对所述数据修改信息进行异构处理,并根据异构处理后的数据修改信息更新缓存数据库中的对应数据。
在其他可选的实施方式中,还包括生成模块40,所述生成模块40用于:接收对源数据库中的数据修改指令,并根据所述数据修改指令生成更新日志。
在其他可选的实施方式中,所述监测模块10,还用于:通过数据传输服务DTS监测所述更新日志。
在其他可选的实施方式中,还包括查询模块50,所述查询模块50用于:接收数据查询指令,根据所述数据查询指令查询所述缓存数据库中所对应的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的缓存更新服务器的具体工作过程以及相应的有益效果,可以参考前述方法示例中的对应过程,在此不再赘述。
本发明示例提供的缓存更新服务器,包括监测模块、消息队列模块,以及更新模块;其中,监测模块用于当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列模块;更新模块,用于根据所述添加到消息队列模块的数据修改信息,更新缓存数据库中的数据;即本发明示例通过监控源数据库的更新日志,使得只有当源数据库发生变更时,才更新缓存数据库中对应数据,实现了及时高效的更新缓存。
第三方面,本发明示例提供了一种缓存更新***。图6为本发明提供的一种缓存更新***的结构示意图,如图6所示,该缓存更新***包括源数据库100、缓存数据库200以及缓存更新服务器300;其中,所述缓存更新服务器300用于执行如前任一项所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的缓存更新***的具体工作过程以及相应的有益效果,可以参考前述方法示例中的对应过程,在此不再赘述。
本发明示例提供的缓存更新***,包括源数据库、缓存数据库以及缓存更新服务器,所述缓存更新服务器用于执行如前任一项所述的方法;即本发明示例通过监控源数据库的更新日志,使得只有当源数据库发生变更时,才更新缓存数据库中对应数据,实现了及时高效的更新缓存。
第四方面,本发明示例提供了一种控制设备,图7为本发明提供的一种控制设备的硬件结构示意图,如图7所示,包括:
至少一个处理器701和存储器702。
在具体实现过程中,至少一个处理器701执行所述存储器702存储的计算机执行指令,使得至少一个处理器701执行如上的缓存更新方法,其中,处理器701、存储器702通过总线703连接。
处理器701的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图7所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本发明还提供了一种可读存储介质,所述可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的缓存更新方法。
上述的可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种缓存更新方法,其特征在于,包括:
当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列;
根据所述添加到消息队列的数据修改信息,更新缓存数据库中的对应数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述添加到消息队列的数据修改信息,更新缓存数据库中的对应数据,包括:
所述消息队列发送所述数据修改信息到与所述数据修改信息对应主题的应用服务器中;
所述应用服务器接收所述数据修改信息,并根据所述数据修改信息更新缓存数据库中的对应数据。
3.根据权利要求2所述的方法,其特征在于,根据所述数据修改信息更新缓存数据库中的对应数据,包括:
所述应用服务器对所述数据修改信息进行异构处理,并根据异构处理后的数据修改信息更新缓存数据库中的对应数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述当监测到源数据库对应的更新日志中的数据修改信息时之前,还包括:
接收对源数据库的数据修改指令,并根据所述数据修改指令生成更新日志。
5.根据权利要求4所述的方法,其特征在于,所述当监测到源数据库对应的更新日志中的数据修改信息时之前,还包括:
通过数据传输服务DTS监测所述更新日志。
6.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
接收数据查询指令,根据所述数据查询指令查询所述缓存数据库中所对应的数据。
7.一种缓存更新服务器,其特征在于,包括监测模块、消息队列模块,以及更新模块;
其中,监测模块用于当监测到源数据库对应的更新日志中的数据修改信息时,将所述数据修改信息添加到消息队列模块;
更新模块,用于根据所述添加到消息队列模块的数据修改信息,更新缓存数据库中的数据。
8.根据权利要求7所述的服务器,其特征在于,所述更新模块包括应用服务器,所述更新模块,具体用于:
所述消息队列模块发送所述数据修改信息到与所述数据修改信息对应主题的应用服务器中;
所述应用服务器接收所述数据修改信息,并根据所述数据修改信息更新缓存数据库中的对应数据。
9.一种缓存更新***,其特征在于,包括:源数据库、缓存数据库以及缓存更新服务器;其中,所述缓存更新服务器用于执行如权利要求1至6任一项所述的方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010279793.0A CN111563102A (zh) | 2020-04-10 | 2020-04-10 | 缓存更新方法、服务器、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010279793.0A CN111563102A (zh) | 2020-04-10 | 2020-04-10 | 缓存更新方法、服务器、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111563102A true CN111563102A (zh) | 2020-08-21 |
Family
ID=72074228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010279793.0A Pending CN111563102A (zh) | 2020-04-10 | 2020-04-10 | 缓存更新方法、服务器、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111563102A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966719A (zh) * | 2020-10-21 | 2020-11-20 | 四川新网银行股份有限公司 | 一种分布式消费信贷***本地数据缓存实时刷新的方法 |
CN112052247A (zh) * | 2020-09-29 | 2020-12-08 | 微医云(杭州)控股有限公司 | 搜索引擎的索引更新***、方法、装置、电子设备、存储介质 |
CN112131237A (zh) * | 2020-09-28 | 2020-12-25 | 京东数字科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
CN112187896A (zh) * | 2020-09-18 | 2021-01-05 | 成都精灵云科技有限公司 | 支持改动实时通知和数据实时同步的缓存***及方法 |
CN112256715A (zh) * | 2020-11-12 | 2021-01-22 | 微医云(杭州)控股有限公司 | 索引的更新方法、装置、电子设备以及存储介质 |
CN112579585A (zh) * | 2020-12-22 | 2021-03-30 | 京东数字科技控股股份有限公司 | 一种数据处理***、方法及装置 |
CN112597151A (zh) * | 2020-12-03 | 2021-04-02 | 长沙市到家悠享家政服务有限公司 | 数据处理方法、装置、设备和存储介质 |
CN112615907A (zh) * | 2020-12-04 | 2021-04-06 | 北京齐尔布莱特科技有限公司 | 一种数据同步***及方法 |
CN112860720A (zh) * | 2021-03-09 | 2021-05-28 | 中国电子***技术有限公司 | 一种存储容量的更新方法以及装置 |
CN113254465A (zh) * | 2021-05-25 | 2021-08-13 | 四川虹魔方网络科技有限公司 | 缓存最终一致性更新方法 |
CN113377289A (zh) * | 2021-06-01 | 2021-09-10 | 北京齐尔布莱特科技有限公司 | 一种缓存管理方法、***、计算设备及可读存储介质 |
CN113535777A (zh) * | 2021-06-24 | 2021-10-22 | 上海浦东发展银行股份有限公司 | 数据库查询方法、装置和*** |
CN113742617A (zh) * | 2020-08-28 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种缓存更新的方法和装置 |
CN114722046A (zh) * | 2022-04-18 | 2022-07-08 | 聚好看科技股份有限公司 | 一种服务器及首页缓存数据分版本生成方法 |
CN115118590A (zh) * | 2022-06-22 | 2022-09-27 | 平安科技(深圳)有限公司 | 配置数据的管理方法、装置、***、设备和存储介质 |
CN116401317A (zh) * | 2023-04-19 | 2023-07-07 | 中国环球租赁有限公司 | 一种缓存数据同步方法、装置、电子设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023973A (zh) * | 2009-09-14 | 2011-04-20 | ***通信集团公司 | 一种应用缓存服务器与数据库同步的方法、装置和*** |
CN102741843A (zh) * | 2011-03-22 | 2012-10-17 | 青岛海信传媒网络技术有限公司 | 从数据库中读取数据的方法及装置 |
CN108491332A (zh) * | 2018-04-04 | 2018-09-04 | 浙江小泰科技有限公司 | 一种基于Redis的实时缓存更新方法和*** |
CN108989429A (zh) * | 2018-07-19 | 2018-12-11 | 平安科技(深圳)有限公司 | 实时更新页面数据的方法、装置、电子设备 |
CN109241072A (zh) * | 2018-08-31 | 2019-01-18 | 携程计算机技术(上海)有限公司 | 基于Canal的缓存更新方法及*** |
CN109857812A (zh) * | 2019-02-27 | 2019-06-07 | 珠海天燕科技有限公司 | 一种处理缓存中数据的方法和装置 |
US20190207880A1 (en) * | 2017-12-29 | 2019-07-04 | Facebook, Inc. | Techniques for data reads from secondary stores |
US20190294722A1 (en) * | 2018-03-20 | 2019-09-26 | Locus Robotics Corp. | Change management system for data synchronization within an enterprise portal application |
-
2020
- 2020-04-10 CN CN202010279793.0A patent/CN111563102A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023973A (zh) * | 2009-09-14 | 2011-04-20 | ***通信集团公司 | 一种应用缓存服务器与数据库同步的方法、装置和*** |
CN102741843A (zh) * | 2011-03-22 | 2012-10-17 | 青岛海信传媒网络技术有限公司 | 从数据库中读取数据的方法及装置 |
US20190207880A1 (en) * | 2017-12-29 | 2019-07-04 | Facebook, Inc. | Techniques for data reads from secondary stores |
US20190294722A1 (en) * | 2018-03-20 | 2019-09-26 | Locus Robotics Corp. | Change management system for data synchronization within an enterprise portal application |
CN108491332A (zh) * | 2018-04-04 | 2018-09-04 | 浙江小泰科技有限公司 | 一种基于Redis的实时缓存更新方法和*** |
CN108989429A (zh) * | 2018-07-19 | 2018-12-11 | 平安科技(深圳)有限公司 | 实时更新页面数据的方法、装置、电子设备 |
CN109241072A (zh) * | 2018-08-31 | 2019-01-18 | 携程计算机技术(上海)有限公司 | 基于Canal的缓存更新方法及*** |
CN109857812A (zh) * | 2019-02-27 | 2019-06-07 | 珠海天燕科技有限公司 | 一种处理缓存中数据的方法和装置 |
Non-Patent Citations (1)
Title |
---|
叶青: ""论缓存更新策略"", 《福建电脑》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742617A (zh) * | 2020-08-28 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种缓存更新的方法和装置 |
CN112187896A (zh) * | 2020-09-18 | 2021-01-05 | 成都精灵云科技有限公司 | 支持改动实时通知和数据实时同步的缓存***及方法 |
CN112131237A (zh) * | 2020-09-28 | 2020-12-25 | 京东数字科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
CN112131237B (zh) * | 2020-09-28 | 2024-06-14 | 京东科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
WO2022063284A1 (zh) * | 2020-09-28 | 2022-03-31 | 京东科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
CN112052247A (zh) * | 2020-09-29 | 2020-12-08 | 微医云(杭州)控股有限公司 | 搜索引擎的索引更新***、方法、装置、电子设备、存储介质 |
CN112052247B (zh) * | 2020-09-29 | 2024-05-07 | 微医云(杭州)控股有限公司 | 搜索引擎的索引更新***、方法、装置、电子设备、存储介质 |
CN111966719B (zh) * | 2020-10-21 | 2021-07-13 | 四川新网银行股份有限公司 | 一种分布式消费信贷***本地数据缓存实时刷新的方法 |
CN111966719A (zh) * | 2020-10-21 | 2020-11-20 | 四川新网银行股份有限公司 | 一种分布式消费信贷***本地数据缓存实时刷新的方法 |
CN112256715A (zh) * | 2020-11-12 | 2021-01-22 | 微医云(杭州)控股有限公司 | 索引的更新方法、装置、电子设备以及存储介质 |
CN112256715B (zh) * | 2020-11-12 | 2024-04-19 | 微医云(杭州)控股有限公司 | 索引的更新方法、装置、电子设备以及存储介质 |
CN112597151A (zh) * | 2020-12-03 | 2021-04-02 | 长沙市到家悠享家政服务有限公司 | 数据处理方法、装置、设备和存储介质 |
CN112615907A (zh) * | 2020-12-04 | 2021-04-06 | 北京齐尔布莱特科技有限公司 | 一种数据同步***及方法 |
CN112615907B (zh) * | 2020-12-04 | 2022-09-06 | 北京齐尔布莱特科技有限公司 | 一种数据同步***及方法 |
CN112579585A (zh) * | 2020-12-22 | 2021-03-30 | 京东数字科技控股股份有限公司 | 一种数据处理***、方法及装置 |
CN112860720A (zh) * | 2021-03-09 | 2021-05-28 | 中国电子***技术有限公司 | 一种存储容量的更新方法以及装置 |
CN113254465A (zh) * | 2021-05-25 | 2021-08-13 | 四川虹魔方网络科技有限公司 | 缓存最终一致性更新方法 |
CN113377289A (zh) * | 2021-06-01 | 2021-09-10 | 北京齐尔布莱特科技有限公司 | 一种缓存管理方法、***、计算设备及可读存储介质 |
CN113535777A (zh) * | 2021-06-24 | 2021-10-22 | 上海浦东发展银行股份有限公司 | 数据库查询方法、装置和*** |
CN114722046A (zh) * | 2022-04-18 | 2022-07-08 | 聚好看科技股份有限公司 | 一种服务器及首页缓存数据分版本生成方法 |
CN115118590A (zh) * | 2022-06-22 | 2022-09-27 | 平安科技(深圳)有限公司 | 配置数据的管理方法、装置、***、设备和存储介质 |
CN115118590B (zh) * | 2022-06-22 | 2024-05-10 | 平安科技(深圳)有限公司 | 配置数据的管理方法、装置、***、设备和存储介质 |
CN116401317B (zh) * | 2023-04-19 | 2023-11-17 | 中国环球租赁有限公司 | 一种缓存数据同步方法、装置、电子设备及介质 |
CN116401317A (zh) * | 2023-04-19 | 2023-07-07 | 中国环球租赁有限公司 | 一种缓存数据同步方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111563102A (zh) | 缓存更新方法、服务器、***及存储介质 | |
US11921746B2 (en) | Data replication method and apparatus, computer device, and storage medium | |
US9779128B2 (en) | System and method for massively parallel processing database | |
US9146934B2 (en) | Reduced disk space standby | |
US9558257B2 (en) | Method of synchronizing data between databases, and computer system and computer program for the same | |
US8341134B2 (en) | Asynchronous deletion of a range of messages processed by a parallel database replication apply process | |
CN101650741B (zh) | 一种分布式全文检索的索引实时更新的方法和*** | |
Aiyer et al. | Storage infrastructure behind Facebook messages: Using HBase at scale. | |
CN111797121B (zh) | 读写分离架构业务***的强一致性查询方法、装置及*** | |
US7783607B2 (en) | Decentralized record expiry | |
CN101364217B (zh) | 数据库中数据维护方法、设备及其*** | |
US20050049945A1 (en) | Database log capture program that publishes transactions to multiple targets to handle unavailable targets by separating the publishing of subscriptions and subsequently recombining the publishing | |
US20130117234A1 (en) | Database Log Parallelization | |
WO2012126177A2 (zh) | 从数据库中读取数据的方法及装置 | |
CN111127252A (zh) | 一种水资源管理决策支持***的数据管理方法 | |
CN115469810A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
WO2016085495A1 (en) | Read-optimized database changes | |
CN111913973A (zh) | 一种数据同步方法、装置及存储介质 | |
CN110928839A (zh) | 国际运价数据的存储方法和*** | |
CN117992257B (zh) | 一种分布式数据库并行数据采集处理方法 | |
WO2021218280A1 (en) | Data storage and data retrieval methods and devices | |
CN113051274A (zh) | 一种海量标签存储***及方法 | |
CN114090632A (zh) | 表维度的缓存刷新方法及*** | |
CN113886500A (zh) | 一种数据处理方法、装置、服务器以及存储介质 | |
KR20230094034A (ko) | 메모리 캐쉬를 활용한 비관계형 데이터베이스 관리 시스템 및 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200821 |
|
RJ01 | Rejection of invention patent application after publication |