CN108829713A - 分布式缓存系统、缓存同步方法和装置 - Google Patents
分布式缓存系统、缓存同步方法和装置 Download PDFInfo
- Publication number
- CN108829713A CN108829713A CN201810421913.9A CN201810421913A CN108829713A CN 108829713 A CN108829713 A CN 108829713A CN 201810421913 A CN201810421913 A CN 201810421913A CN 108829713 A CN108829713 A CN 108829713A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- updated
- memory device
- buffer memory
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种分布式缓存系统、缓存同步方法和装置,该系统包括:主站点和子站点,主站点和子站点均包括:缓存设备和消息队列服务器,主站点的缓存设备用于当主站点的缓存设备中的数据被更新时生成更新消息,并将更新消息发送给主站点的消息队列服务器,主站点的消息队列服务器,用于通过消息路由的方式将更新消息发送给子站点的消息队列服务器,子站点的缓存设备用于从子站点的消息队列服务器中读取更新消息,根据更新消息中的元数据清除子站点的缓存设备中的被更新数据。由于主站点和子站点之间通过消息路由的方式传输更新消息,从而能够保证数据的可靠性,并且传输速度快,提升了缓存的更新速度。
Description
技术领域
本申请涉及数据库技术,尤其涉及一种分布式缓存系统、缓存同步方法和装置。
背景技术
在高并发环境下,大量的读写请求涌向数据库,磁盘的处理速度与内存显然不在一个量级,为了减轻数据库的压力和提高系统响应速度,在数据库之前加一层缓存。由于单台机器的内存资源以及承载能力有限,如果大量使用数据库服务器的本地缓存,会导致数据库服务器的内存资源不足,并且每个数据库服务器的缓存中都会存储相同的数据,对导致数据库服务器的内存资源造浪费,因此,分布式缓存技术应用而生。分布式缓存即将缓存独立部署到一个或多个服务器上,缓存设备独立于数据库服务器。
分布式缓存可以采用跨站点部署的系统架构,跨站点部署的系统架构中包括多个站点,该多个站点包括一个主站点和子站点。每个站点包括缓存设备和数据库,当某个站点的缓存设备接收到客户端发送的数据读取请求时,该缓存设备先从缓存中读取数据,当缓存中没有客户端请求的数据时,缓存设备从该站点的数据库中读取数据,并缓存读取到的数据,下次当客户端再次请求相同的数据时,可以直接从缓存中读取数据。跨站点部署的系统架构,所有的写操作只能在主站点完成,读操作在子站点完成,数据由主站点的数据库同步至子站点的数据库,当主站点缓存中的数据发生变化后,如果子站点的缓存没有及时更新,将影响缓存数据实时性。现有技术中,主站点的缓存中的数据更新后,主站点的缓存设备向子站点的缓存设备发送消息,该消息中包含被更新数据的键值(key),子站点的缓存设备侦听并处理该消息,根据该消息中的被更新数据的key清理掉缓存中该key对应的数据。
但是,现有技术中,站点之间发送的消息容易丢失,从而导致子站点无法及时清理掉缓存。
发明内容
本申请提供一种分布式缓存系统、缓存同步方法和装置,提升了缓存的更新速度和数据的可靠性。
本申请第一方面提供一种分布式缓存系统,包括:主站点和子站点,所述主站点和子站点均包括:缓存设备和消息队列服务器;
所述主站点的缓存设备,用于当所述主站点的缓存设备中的数据被更新时,生成更新消息,并将所述更新消息发送给所述主站点的消息队列服务器,所述更新消息中包括被更新数据的元数据:
所述主站点的消息队列服务器,用于通过消息路由的方式将所述更新消息发送给所述子站点的消息队列服务器;
所述子站点的消息队列服务器,用于缓存所述更新消息;
所述子站点的缓存设备,用于从所述子站点的消息队列服务器中读取所述更新消息,根据所述更新消息中的所述元数据清除所述子站点的缓存设备中的所述被更新数据。
可选的,所述被更新数据的元数据中包括所述被更新数据的版本信息;
所述子站点的缓存设备,还用于缓存所述被更新数据的版本信息。
可选的,所述子站点的缓存设备还用于:
当接收到所述被更新数据的读取请求时,从所述子站点的数据库中读取所述被更新数据;
判断从所述数据库中读取的所述被更新数据的版本信息与所述子站点的缓存设备中缓存的所述版本信息是否相同;
当从所述数据库中读取的所述被更新数据的版本信息与所述子站点的缓存设备中缓存的所述版本信息相同时,缓存从所述数据库中读取的所述被更新数据。
可选的,所述子站点还包括:
消息监听设备,用于监听所述子站点的消息队列服务器中的消息,并将监听到的所述更新消息发送给所述子站点的缓存设备。
本申请第二方面提供一种缓存同步方法,所述方法应用在分布式缓存系统中,所述分布式缓存系统包括主站点和子站点,所述主站点和子站点均包括:缓存设备和消息队列服务器,所述方法包括:
当所述主站点的缓存设备中的数据被更新时,所述主站点的缓存设备生成更新消息,所述更新消息中包括被更新数据的元数据;
所述主站点的缓存设备将所述更新消息发送给所述主站点的消息队列服务器;
所述主站点的消息队列服务器通过消息路由的方式将所述更新消息发送给所述子站点的消息队列服务器。
可选的,所述被更新数据的元数据中包括所述被更新数据的版本信息。
本申请第三方面提供一种缓存同步方法,所述方法应用在分布式缓存系统中,所述分布式缓存系统包括主站点和子站点,所述主站点和子站点均包括:缓存设备和消息队列服务器,所述方法包括:
所述子站点的消息队列服务器接收主站点的消息队列服务器通过消息路由方式发送的更新消息,并缓存所述更新消息,所述更新消息中包括被更新数据的元数据:
所述子站点的缓存设备从所述子站点的消息队列服务器中读取所述更新消息,根据所述被更新数据的元数据清除所述子站点的缓存设备中的所述被更新数据。
可选的,所述被更新数据的元数据中还包括所述被更新数据的版本信息,所述方法还包括:
所述子站点的缓存设备缓存所述被更新数据的版本信息。
可选的,所述方法还包括:
当接收到所述被更新数据的读取请求时,所述子站点的缓存设备从所述子站点的数据库中读取所述被更新数据;
所述子站点的缓存设备判断从所述数据库中读取的所述被更新数据的版本信息与所述子站点的缓存设备中缓存的所述版本信息是否相同;
当从所述数据库中读取的所述被更新数据的版本信息与所述子站点的缓存设备中缓存的所述版本信息相同时,所述子站点的缓存设备缓存从所述数据库中读取的所述被更新数据。
本申请第四方面提供一种所述子站点还包括消息监听设备,所述方法还包括:
所述消息监听设备监听所述子站点的消息队列服务器中的消息,并将监听到的所述更新消息发送给所述子站点的缓存设备。
本申请第五方面提供一种缓存设备,包括:包括缓存、接口和处理器,所述缓存、所述接口和所述处理器通信,其中,
所述缓存,用于存储数据;
所述处理器,用于当所述缓存中的数据被更新时,生成更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述接口,用于将所述更新消息发送给所述主站点的消息队列服务器。
本申请第六方面提供一种消息队列服务器,包括:缓存和接口,所述缓存和所述接口通信,其中,
所述接口,用于接收主站点的缓存设备发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述缓存,用于存储所述更新消息;
所述接口,还用于通过消息路由的方式将所述更新消息发送给子站点的消息队列服务器。
本申请第七方面提供一种缓存设备,包括缓存、接口和处理器,所述缓存、所述接口和所述处理器通信,其中,
所述缓存,用于存储数据;
所述接口,用于接收子站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述缓存,还用于存储所述被更新数据的版本信息;
所述处理器,用于根据所述被更新数据的元数据,清除所述缓存中的所述被更新数据。
可选的,所述接口,还用于接收所述被更新数据的读取请求;
所述处理器还用于:
从所述子站点的数据库中读取所述被更新数据;
判断从所述数据库中读取的所述被更新数据的版本信息与所述缓存中存储的所述版本信息是否相同;
当从所述数据库中读取的所述被更新数据的版本信息与缓存中存储的所述版本信息相同时,将从所述数据库中读取的所述被更新数据存储到所述缓存中。
本申请第八方面提供一种消息队列服务器,包括接口和缓存,所述接口和所述缓存通信,其中,
所述接口,用于接收主站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述缓存,用于存储所述更新消息;
所述接口,还用于将所述更新消息发送给子站点的缓存设备。
本申请第九方面提供一种缓存设备,包括:
缓存模块,用于存储数据;
处理模块,用于当所述存储模块中的数据被更新时,生成更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
发送模块,用于将所述更新消息发送给所述主站点的消息队列服务器。
本申请第十方面提供一种消息队列服务器,包括:
接收模块,用于接收主站点的缓存设备发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
缓存模块,用于存储所述更新消息;
发送模块,用于通过消息路由的方式将所述更新消息发送给子站点的消息队列服务器。
本申请第十一方面提供一种缓存设备,包括:
缓存模块,用于存储数据;
接收模块,用于接收子站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述缓存模块,还用于存储所述被更新数据的版本信息;
处理模块,用于根据所述被更新数据的元数据,清除所述缓存中的所述被更新数据。
可选的,所述接收模块,还用于接收所述被更新数据的读取请求;
所述处理模块还用于:
从所述子站点的数据库中读取所述被更新数据;
判断从所述数据库中读取的所述被更新数据的版本信息与所述缓存模块中存储的所述版本信息是否相同;
当从所述数据库中读取的所述被更新数据的版本信息与所述缓存模块中存储的版本信息相同时,将从所述数据库中读取的所述被更新数据存储到所述缓存模块中。
本申请第十二方面提供一种消息队列服务器,包括:
接收模块,用于接收主站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
缓存模块,用于存储所述更新消息;
发送模块,用于将所述更新消息发送给子站点的缓存设备。
本申请第十三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如本申请第二方面中所述主站点的缓存设备执行的方法。
本申请第十四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如本申请第二方面中所述主站点的消息队列服务器执行的方法。
本申请第十五方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如本申请第三方面中所述子站点的缓存设备执行的方法。
本申请第十六方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如本申请第四方面中所述子站点的消息队列服务器执行的方法。
本申请提供的分布式缓存系统、缓存同步方法和装置中,该系统包括:主站点和子站点,主站点和子站点均包括:缓存设备和消息队列服务器,主站点的缓存设备用于当缓存中的数据被更新时生成更新消息,并将更新消息发送给主站点的消息队列服务器,主站点的消息队列服务器,用于通过消息路由的方式将更新消息发送给子站点的消息队列服务器,子站点的缓存设备用于从子站点的消息队列服务器中读取更新消息,根据更新消息中的元数据清除子站点的缓存设备的被更新数据。由于主站点和子站点之间通过消息路由的方式传输更新消息,从而能够保证数据的可靠性,并且传输速度快,提升了缓存的更新速度。
附图说明
图1为本申请实施例一提供的分布式缓存系统的一种架构示意图;
图2为本申请实施例一提供的分布式缓存系统的另一种架构示意图;
图3为站点上读操作的流程图;
图4为本申请实施例一提供的分布式缓存系统的又一种架构示意图;
图5为本申请实施例二提供的缓存同步方法的流程图;
图6为本申请实施例三提供的缓存同步方法的流程图;
图7为本申请实施例四提供的站点上数据读操作的流程图;
图8为本申请实施例五提供的缓存设备的结构示意图;
图9为本申请实施例六提供的消息队列服务器的结构示意图;
图10为本申请实施例九提供的缓存设备的结构示意图;
图11为本申请实施例十提供的消息队列服务器的结构示意图;
图12为本申请实施例十一提供的缓存设备的结构示意图;
图13为本申请实施例十二提供的消息队列服务器的结构示意图。
具体实施方式
本申请提供一种分布式缓存系统,图1为本申请实施例一提供的分布式缓存系统的一种架构示意图,如图1所示,该分布式缓存系统包括主站点11和子站点12,每个站点(包括主站点和子站点)均包括:缓存设备和消息队列服务器。图1只是举例说明,该分布式缓存系统还可以包括更多的子站点,主站点可以为本地站点,子站点可以为海外站点。其中缓存设备可以是独立的缓存设备,也可以是与其他设备集成在一起的,如网关或应用服务器等。
其中,每个站点可以包括一个或多个缓存设备,缓存是指进行高速数据交换的存储器,速率一般很快,通常将需要频繁访问的网络内容存放在缓存中,以提高网络内容访问速度。缓存设备用于存放频繁访问内容,缓存设备包括缓存,用于存储数据,缓存设备还具有数据处理功能,例如,进行数据的读操作和写操作。缓存可以采用随机存取存储器(Random-Access Memory,RAM),RAM掉电以后存储的信息会消失。RAM分为两种:静态RAM(Static RAM,SRAM)和动态RAM(Dynamic RAM,DRAM)。缓存设备可以用于缓存数据库中的数据。
数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。
消息队列(Message Queue,MQ)服务器用于提供基于队列的消息服务,消息队列是分布式应用间交换信息的一种技术,消息队列是在消息的传输过程中保存消息的容器,消息队列服务器用于承载消息队列以及对消息队列进行管理。消息队列可以通过下述工作方式工作:程序A形成对消息队列系统的调用,此调用告知消息队列系统,消息准备好了投向程序B;消息队列系统发送此消息到程序B驻留处的系统,并将它放到程序B的消息队列中,适当时间时,程序B从自己的消息队列中读取该消息,并处理该消息。消息队列服务器与缓存设备可以是独立的设备,也可以是集成在一起的设备,本申请实施例对此不作限定。
消息队列能够在各种网络条件下保证消息的可靠传递,克服网络线路质量差或不稳定的现状,在传输过程中,如果通信线路出现故障或远端的主机发生故障,本地的应用程序都不会受到影响,可以继续发送数据,而无需等待网络故障恢复或远端主机正常后再重新运行。
图2为本申请实施例一提供的分布式缓存系统的另一种架构示意图,如图2所示,该分布式缓存系统和图1所示分布式缓存相比,多了一个应用配置中心。应用配置中心用于对分布式缓存系统中的各站点进行配置,查询站点是否为主站点,查询主站点是否有海外站点,监听站点的工作状态。
图1和图2所示的分布式缓存系统都是跨站点部署的分布式缓存系统,在跨站点部署的分布式缓存系统架构下,所有的写操作都在在主站点完成,读操作可以在主站点和子站点完成。图3为站点上的读操作的流程图,读操作流程可以由站点的缓存设备执行,如图3所示,站点的读操作包括以下步骤:
步骤S101、接收客户端发送的数据读取请求。
步骤S102、从缓存中读取数据。
缓存设备根据数据读取请求从缓存中读取数据,数据读取请求中包括待请求数据的地址信息。
步骤S103、判断缓存数据是否为空。
缓存数据为空即存储中没有存储待请求数据,缓存数据不为空说明缓存中存储有待请求数据。当缓存数据为空时,执行步骤S106,当缓存数据不为空时,执行步骤S104。
缓存中的数据具有有效期,数据的有效期从数据存入缓存开始计算,当数据存入的时间超过预设的缓存有效期,数据就会失效,缓存设备将失效的数据清除。缓存有效期设置的较长,需要等待很长时间才会失效,缓存有效期设置的过短,则每次失效后都需要从数据库重新获取数据,缓存的命中率不高,影响缓存的使用效果。
步骤S104、从数据库中读取待请求数据。
步骤S105、将待请求数据放入缓存。
步骤S106、向客户端返回待请求数据。
当发生写操作时,主站点的数据库和缓存中的数据会被更新。相应的,主站点11的缓存设备,用于当主站点11的缓存设备中的数据被更新时,生成更新消息,并将该更新消息发送给主站点11的消息队列服务器,该更新消息中包括被更新数据的元数据。
其中,元数据是描述数据的数据,具体描述数据的存储位置、大小、命名空间等信息。示例性的,该被更新数据的元数据中包括缓存集群名称、缓存对象名称和数据的键值等。缓存集群名称用于唯一标识一个站点,可以由appid_subappname_region_env组成,其中,appid为站点上的应用(application,app)的标识((identification,ID),subappname为子应用的名称,region为站点所在区域的标识,子站点和主站点的缓存集群名称除了region不一样,其他都一样。元数据中包括的缓存集群名称用于指示子站点清理哪个缓存集群的缓存数据。
缓存对象名称相当于命名空间,每个缓存对象可以存放多个缓存KEY-VALUE键值对,不同缓存对象里的缓存是隔离的,允许相同的KEY出现在不同的缓存对象中。主站点和子站点的缓存对象相同,子站点根据元数据中携带的缓存对象名称确定删除的缓存对象。
本实施例中,主站点11的消息队列服务器接收到更新消息后,缓存该更新消息。主站点11的消息队列服务器,用于通过消息路由(message router)的方式将更新消息发送给子站点12的消息队列服务器。消息路由方式可以配置路由规则,指定消息传递的路径,以及指定具体的消费者(消息的接收者)消费对应的生产者(消息的发送者)。例如指定路由的关键字,并由它来绑定具体的队列与指定的生产者(或消费者)。路由的支持提供了消息传递与处理的灵活性,也有利于提高整个系统的消息处理能力。同时,路由对象有效地封装了寻找与匹配消息路径的逻辑,就好似一个调停者(Meditator),负责协调消息、队列与路径寻址之间关系。通过消息路由的方式在主站点和子站点之间传输更新消息,能够保证数据的可靠性,并且传输速度快,提升了缓存的更新速度。
子站点12的消息队列服务器,用于缓存该更新消息。子站点12的缓存设备,用于从子站点12的消息队列服务器中读取该更新消息,根据该更新消息中的元数据清除子站点12的缓存设备中的被更新数据。子站点12的缓存设备根据元数据中包括的缓存对象名称和KEY值,从缓存中找到该缓存对象名称对应的缓存对象,并将缓存对象中该KEY值对应的缓存数据清除。
子站点12的缓存设备可以直接从自己的消息队列服务器中读取该更新消息,也可以通过消息监听设备从自己的消息队列服务器中读取该更新消息。图4为本申请实施例一提供的分布式缓存系统的又一种架构示意图,图4所示的分布式缓存系统相对于图1所示的分布式缓存系统,子站点12多了一个消息监听设备,消息监听设备可以为一个消息侦听器或者消息驱动器(Message Driven Bean),消息监听设备用于对子站点12的消息队列服务器进行侦听,当侦听到子站点12的消息队列服务器接收到消息后,负责取出消息,将消息发送给子站点12的缓存设备。
本实施例提供的分布式缓存系统,包括:主站点和子站点,主站点和子站点均包括:缓存设备和消息队列服务器,主站点的缓存设备用于当主站点的缓存设备中的数据被更新时生成更新消息,并将更新消息发送给主站点的消息队列服务器,主站点的消息队列服务器,用于通过消息路由的方式将更新消息发送给子站点的消息队列服务器,子站点的缓存设备用于从子站点的消息队列服务器中读取更新消息,根据更新消息中的元数据清除子站点的缓存设备中的被更新数据。由于主站点和子站点之间通过消息路由的方式传输更新消息,从而能够保证数据的可靠性,并且传输速度快,提升了缓存的更新速度。
本实施例中,当主站点11的缓存设备中的数据被更新后,主站点11在通知子站点12刷新子站点的缓存设备中的数据的同时,主站点11的数据库和子站点12的数据库进行数据同步,以使得主站点11和子站点12的数据库保持一致。在跨站点部署的分布式缓存系统架构中,子站点的数据库同步有时延,如果子站点的数据没有完全同步过来,那么从子站点取出的数据不是最新版本,放入子站点的缓存中的数据不正确,从而导致缓存数据不一致。
为了解决分布式缓存系统中缓存数据不一致的问题,被更新数据的元数据中还包括被更新数据的版本信息。子站点12的缓存设备,还用于缓存被更新数据的版本信息,子站点12的缓存设备中缓存的数据的版本信息为最新版本的信息,被更新数据的版本信息可以为被更新数据的版本号。当子站点12的缓存设备再次接收到被更新数据的读取请求时,由于子站点12的缓存设备中的被更新数据已被清理掉,因此从子站点12的缓存设备中无法读取到被更新数据,只能从子站点12的数据库中读取被更新数据。子站点12的缓存设备从数据库中读取到被更新数据后,缓存从子站点12的数据库中读取到被更新数据。
本实施例中,将数据放入到缓存之前,子站点的缓存设备判断从数据库中读取的被更新数据的版本信息与子站点的缓存设备中缓存的版本信息是否相同,当从数据库中读取的被更新数据的版本信息与子站点的缓存设备中缓存版本信息相同时,缓存从数据库中读取的被更新数据。从数据库中读取的被更新数据的版本信息与子站点的缓存设备中缓存的版本信息相同,说明数据库中的数据是最新数据。如果从数据库中读取的被更新数据的版本信息与子站点的缓存设备中缓存的版本信息不相同,则不缓存从数据库中读取的被更新数据。从而能够避免由于数据库同步时延,导致缓存数据不一致的问题。
基于上述的分布式缓存系统,本申请实施例二提供一种缓存同步方法,图5为本申请实施例二提供的缓存同步方法的流程图,本实施例从主站点的角度描述该缓存同步方法,如图5所示,本实施例提供的方法包括以下步骤:
步骤S201、当主站点的缓存设备中的数据被更新时,主站点的缓存设备生成更新消息,该更新消息中包括被更新数据的元数据。
其中,该被更新数据的原数据可以包括缓存集群名称、缓存对象名称和数据的键值等。
步骤S202、主站点的缓存设备将该更新消息发送给主站点的消息队列服务器。
步骤S203、主站点的消息队列服务器通过消息路由的方式将更新消息发送给子站点的消息队列服务器。
该分布式缓存系统包括至少一个子站点,主站点的消息队列服务器需要与所有子站点的消息队列服务器建立通道,将该更新消息发送给所有子站点的消息队列服务器。由于主站点和子站点之间通过消息路由的方式传输更新消息,从而能够保证数据的可靠性,并且传输速度快,提升了缓存的更新速度。
主站点的数据库可以在主站点的消息队列服务器发送更新消息后,与子站点的数据库同步数据,也可以在主站点的缓存设备生成更新消息的过程中,就与子站点的数据库同步数据。
可选的,该被更新数据的元数据中包括被更新数据的版本信息,通过携带被更新数据的版本信息,保证缓存数据的一致性。
本实施例中,当主站点的缓存设备中的数据被更新时,主站点的缓存设备生成更新消息,该更新消息中包括被更新数据的元数据,主站点的缓存设备将更新消息发送给主站点的消息队列服务器,主站点的消息队列服务器通过消息路由的方式将更新消息发送给子站点的消息队列服务器。由于主站点和子站点之间通过消息路由的方式传输更新消息,从而能够保证数据的可靠性,并且传输速度快,提升了缓存的更新速度。
基于上述的分布式缓存系统,本申请实施例三提供一种缓存同步方法,图6为本申请实施例三提供的缓存同步方法的流程图,本实施例从子站点的角度描述该缓存同步方法,如图6所示,本实施例提供的方法包括以下步骤:
步骤S301、子站点的消息队列服务器接收主站点的消息队列服务器通过消息路由方式发送的更新消息,该更新消息中包括被更新数据的元数据。
子站点的消息队列服务器接收到更新消息后,将更新消息保存到消息队列中。
步骤S302、子站点的缓存设备从子站点的消息队列服务器中读取更新消息,根据被更新数据的元数据清除缓存中的被更新数据。
子站点的缓存设备监听子站点消息队列服务器,当监听到子站点的缓存设备接收到更新消息时,从子站点的消息队列服务器中读取更新消息。可选的,子站点还包括消息监听设备,消息监听设备监听子站点的消息队列服务器中的消息,并将监听到的更新消息发送给子站点的缓存设备。
可选的,被更新数据的元数据中还包括被更新数据的版本信息,相应的,子站点的缓存设备将被更新数据的版本信息存入缓存。
由于主站点和子站点之间通过消息路由的方式传输更新消息,从而能够保证数据的可靠性,并且传输速度快,提升了缓存的更新速度。
图7为本申请实施例四提供的站点上数据读操作的流程图,本实施例的前提是在子站点的缓存更新过程中,主站点将被更新数据的版本信息发送给了子站点,子站点的缓存设备缓存了被更新数据的版本信息,本实施例的方法可以由子站点的缓存设备执行。如图7所示,本实施例提供的方法包括以下步骤:
步骤S401、接收客户端发送的数据读取请求。
步骤S402、从缓存中读取数据。
子站点的缓存设备根据数据读取请求从缓存中读取数据,数据读取请求中包括待请求数据的地址信息。
步骤S403、判断缓存数据是否为空。
缓存数据为空即子站点的缓存设备没有缓存待请求数据,缓存数据不为空说明子站点的缓存设备缓存了待请求数据。当缓存数据为空时,执行步骤S406,当缓存数据不为空时,执行步骤S404。
步骤S404、从数据库中读取待请求数据。
步骤S405、判断从数据库中读取的待请求数据的版本信息与缓存中的该待请求数据的版本信息是否相同。
待请求数据的版本信息可以为版本号,判断从数据库中读取的待请求数据的版本信息与子站点的缓存设备中缓存的该待请求数据的版本信息是否相同,即判断某个KEY值对应的数据在数据库中的版本号与缓存设备中的版本号是否相同。待请求数据在缓存设备中的版本号为待请求数据的最新版本号,如果待请求数据在数据库中的版本号与在缓存设备中的版本号不同,说明数据库中的数据还没有被更新,不是最新的数据。此时,如果将数据库中读取的待请求的数据存入缓存设备中,会导致该子站点的缓存设备中的数据与主站点或其他子站点的缓存设备中的数据不一致。
如果从数据库中读取的待请求数据的版本信息与子站点的缓存设备中缓存的该待请求数据的版本信息相同,则执行步骤S406,如果从数据库中读取的待请求数据的版本信息与子站点的缓存设备中缓存的该待请求数据的版本信息不相同,则执行步骤S408。
步骤S406、缓存待请求数据。
步骤S407、向客户端返回待请求数据。
步骤S408、向客户端返回请求失败消息。
当缓存不一致时,子站点的缓存设备不缓存待请求数据,也不向客户端返回待请求数据,而是返回请求失败消息,该请求失败消息用于通知客户端没有读取到数据。
本实施例中,子站点的缓存设备在缓存从数据库中读取的待请求数据之前,判断从数据库中读取的待请求数据的版本信息与子站点的缓存设备中缓存的该待请求数据的版本信息是否相同,如果相同则缓存待请求数据,如果不同,则不缓存待请求数据。从而能够保证子站点的缓存设备中的数据与主站点或其他子站点的缓存设备上的数据一致。
图8为本申请实施例五提供的缓存设备的结构示意图,本实施例的缓存设备可以应用在分布式缓存系统的主站点中,如图8所示,本实施例提供的缓存设备,包括:缓存11、接口12和处理器13,缓存11、接口12和处理器13通信。
其中,缓存11,用于存储数据;
处理器13,用于当所述缓存中的数据被更新时,生成更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
接口12,用于将所述更新消息发送给所述主站点的消息队列服务器。
可选的,接口12还用于接收客户端发送的数据读请求或写请求。
本实施例提供的缓存设备,可用于执行上述方法实施例中主站点的缓存设备执行的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
图9为本申请实施例六提供的消息队列服务器的结构示意图,本实施例的消息队列服务器可以应用在分布式缓存系统的主站点中,如图9所示,本实施例提供的消息队列服务器,包括:缓存21和接口22,缓存21和接口22通信。
其中,接口22,用于接收主站点的缓存设备发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
缓存21,用于存储所述更新消息;
接口22,还用于通过消息路由的方式将所述更新消息发送给子站点的消息队列服务器。
本实施例提供的消息队列服务器,可用于执行上述方法实施例中主站点的消息队列服务器执行的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
本申请实施例器七提供一种缓存设备,本实施例提供的缓存设备可以应用在分布式缓存系统的子站点中,本实施例提供的缓存设备的结构参照图8所示的缓存设备,本实施例中:
缓存11,用于存储数据;
接口12,用于接收子站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
缓存11,还用于存储所述被更新数据的版本信息;
处理器13,用于根据所述被更新数据的元数据,清除所述缓存中的所述被更新数据。
可选的,所述接口12还用于接收所述被更新数据的读取请求;相应的,所述处理器13还用于:
从所述子站点的数据库中读取所述被更新数据;
判断从所述数据库中读取的所述被更新数据的版本信息与所述缓存11中存储的版本信息是否相同;
当从所述数据库中读取的所述被更新数据的版本信息与缓存11中存储的版本信息相同时,将从所述数据库中读取的所述被更新数据存储到所述缓存11中。
本实施例提供的缓存设备,可用于执行上述方法实施例中子站点的缓存设备执行的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
本申请实施例器八提供一种消息队列服务器,本实施例提供的消息队列服务器可以应用在分布式缓存系统的子站点中,本实施例提供的消息队列服务器的结构参照图9所示的消息队列服务器,本实施例中:
接口22,用于接收主站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
缓存21,用于存储所述更新消息;
接口22,还用于将所述更新消息发送给子站点的缓存设备。
本实施例提供的消息队列服务器,可用于执行上述方法实施例中子站点的消息队列服务器执行的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
图10为本申请实施例九提供的缓存设备的结构示意图,如图10所示,该缓存设备包括:
缓存模块31,用于存储数据;
处理模块32,用于当所述存储模块中的数据被更新时,生成更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
发送模块33,用于将所述更新消息发送给所述主站点的消息队列服务器。
本实施例提供的缓存设备,可用于执行上述方法实施例中子站点的缓存设备执行的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
本实施例提供的缓存设备,可用于执行上述方法实施例中主站点的缓存设备执行的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
图11为本申请实施例十提供的消息队列服务器的结构示意图,如图11所示,该消息队列服务器包括:
接收模块41,用于接收主站点的缓存设备发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
缓存模块42,用于存储所述更新消息;
发送模块43,用于通过消息路由的方式将所述更新消息发送给子站点的消息队列服务器。
本实施例提供的消息队列服务器,可用于执行上述方法实施例中主站点的消息队列服务器执行的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
图12为本申请实施例十一提供的缓存设备的结构示意图,如图12所示,该缓存设备包括:
缓存模块51,用于存储数据;
接收模块52,用于接收子站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述缓存模块51,还用于存储所述被更新数据的版本信息;
处理模块53,用于根据所述被更新数据的元数据,清除所述缓存中的所述被更新数据。
可选的,所述接收模块52,还用于接收所述被更新数据的读取请求;
所述处理模块53还用于:
从所述子站点的数据库中读取所述被更新数据;
判断从所述数据库中读取的所述被更新数据的版本信息与所述缓存模块51中存储的所述版本信息是否相同;
当从所述数据库中读取的所述被更新数据的版本信息与所述缓存模块51中存储的版本信息相同时,将从所述数据库中读取的所述被更新数据存储到所述缓存模块51中。
本实施例提供的缓存设备,可用于执行上述方法实施例中子站点的缓存设备执行的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
图13为本申请实施例十二提供的消息队列服务器的结构示意图,如图13所示,该消息队列服务器包括:
接收模块61,用于接收主站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
缓存模块62,用于存储所述更新消息;
发送模块63,用于将所述更新消息发送给子站点的缓存设备。
本实施例提供的消息队列服务器,可用于执行上述方法实施例中子站点的消息队列服务器执行的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
本申请实施例十三提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如上述实施例中所述主站点的缓存设备执行的方法。
本申请实施例十四提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如上述实施例中主站点的消息队列服务器执行的方法。
本申请实施例十五提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如上述实施例中所述子站点的缓存设备执行的方法。
本申请实施例十六提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如上述实施例中所述子站点的消息队列服务器执行的方法。
上述各个实施例中处理器可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1002,处理器1001读取存储器1002中的指令,结合其硬件完成上述方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
Claims (24)
1.一种分布式缓存系统,其特征在于,包括:主站点和子站点,所述主站点和子站点均包括:缓存设备和消息队列服务器;
所述主站点的缓存设备,用于当所述主站点的缓存设备中的数据被更新时,生成更新消息,并将所述更新消息发送给所述主站点的消息队列服务器,所述更新消息中包括被更新数据的元数据:
所述主站点的消息队列服务器,用于通过消息路由的方式将所述更新消息发送给所述子站点的消息队列服务器;
所述子站点的消息队列服务器,用于缓存所述更新消息;
所述子站点的缓存设备,用于从所述子站点的消息队列服务器中读取所述更新消息,根据所述更新消息中的所述元数据清除所述子站点的缓存设备中的所述被更新数据。
2.根据权利要求1所述的系统,其特征在于,所述被更新数据的元数据中包括所述被更新数据的版本信息;
所述子站点的缓存设备,还用于缓存所述被更新数据的版本信息。
3.根据权利要求2所述的系统,其特征在于,所述子站点的缓存设备还用于:
当接收到所述被更新数据的读取请求时,从所述子站点的数据库中读取所述被更新数据;
判断从所述数据库中读取的所述被更新数据的版本信息与所述子站点的缓存设备中缓存的所述版本信息是否相同;
当从所述数据库中读取的所述被更新数据的版本信息与所述子站点的缓存设备中缓存的所述版本信息相同时,缓存从所述数据库中读取的所述被更新数据。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述子站点还包括:
消息监听设备,用于监听所述子站点的消息队列服务器中的消息,并将监听到的所述更新消息发送给所述子站点的缓存设备。
5.一种缓存同步方法,其特征在于,所述方法应用在分布式缓存系统中,所述分布式缓存系统包括主站点和子站点,所述主站点和子站点均包括:缓存设备和消息队列服务器,所述方法包括:
当所述主站点的缓存设备中的数据被更新时,所述主站点的缓存设备生成更新消息,所述更新消息中包括被更新数据的元数据;
所述主站点的缓存设备将所述更新消息发送给所述主站点的消息队列服务器;
所述主站点的消息队列服务器通过消息路由的方式将所述更新消息发送给所述子站点的消息队列服务器。
6.根据权利要求5所述的方法,其特征在于,所述被更新数据的元数据中包括所述被更新数据的版本信息。
7.一种缓存同步方法,其特征在于,所述方法应用在分布式缓存系统中,所述分布式缓存系统包括主站点和至少一个子站点,所述主站点和子站点均包括:缓存设备和消息队列服务器,所述方法包括:
所述子站点的消息队列服务器接收主站点的消息队列服务器通过消息路由方式发送的更新消息,并缓存所述更新消息,所述更新消息中包括被更新数据的元数据:
所述子站点的缓存设备从所述子站点的消息队列服务器中读取所述更新消息,根据所述被更新数据的元数据清除所述子站点的缓存设备中的所述被更新数据。
8.根据权利要求7所述的方法,其特征在于,所述被更新数据的元数据中还包括所述被更新数据的版本信息,所述方法还包括:
所述子站点的缓存设备缓存所述被更新数据的版本信息。
9.根据权利要求8所述的方法,其特征在于,还包括:
当接收到所述被更新数据的读取请求时,所述子站点的缓存设备从所述子站点的数据库中读取所述被更新数据;
所述子站点的缓存设备判断从所述数据库中读取的所述被更新数据的版本信息与所述子站点的缓存设备中缓存的所述版本信息是否相同;
当从所述数据库中读取的所述被更新数据的版本信息与所述子站点的缓存设备中缓存的所述版本信息相同时,所述子站点的缓存设备缓存从所述数据库中读取的所述被更新数据。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述子站点还包括消息监听设备,所述方法还包括:
所述消息监听设备监听所述子站点的消息队列服务器中的消息,并将监听到的所述更新消息发送给所述子站点的缓存设备。
11.一种缓存设备,其特征在于,包括缓存、接口和处理器,所述缓存、所述接口和所述处理器通信,其中,
所述缓存,用于存储数据;
所述处理器,用于当所述缓存中的数据被更新时,生成更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述接口,用于将所述更新消息发送给所述主站点的消息队列服务器。
12.一种消息队列服务器,其特征在于,包括缓存和接口,所述缓存和所述接口通信,其中,
所述接口,用于接收主站点的缓存设备发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述缓存,用于存储所述更新消息;
所述接口,还用于通过消息路由的方式将所述更新消息发送给子站点的消息队列服务器。
13.一种缓存设备,其特征在于,包括缓存、接口和处理器,所述缓存、所述接口和所述处理器通信,其中,
所述缓存,用于存储数据;
所述接口,用于接收子站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述缓存,还用于存储所述被更新数据的版本信息;
所述处理器,用于根据所述被更新数据的元数据,清除所述缓存中的所述被更新数据。
14.根据权利要求13所述的缓存设备,其特征在于,所述接口,还用于接收所述被更新数据的读取请求;
所述处理器还用于:
从所述子站点的数据库中读取所述被更新数据;
判断从所述数据库中读取的所述被更新数据的版本信息与所述缓存中存储的所述版本信息是否相同;
当从所述数据库中读取的所述被更新数据的版本信息与所述缓存中存储的版本信息相同时,将从所述数据库中读取的所述被更新数据存储到所述缓存中。
15.一种消息队列服务器,其特征在于,包括接口和缓存,所述接口和所述缓存通信,其中,
所述接口,用于接收主站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述缓存,用于存储所述更新消息;
所述接口,还用于将所述更新消息发送给子站点的缓存设备。
16.一种缓存设备,其特征在于,包括:
缓存模块,用于存储数据;
处理模块,用于当所述存储模块中的数据被更新时,生成更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
发送模块,用于将所述更新消息发送给所述主站点的消息队列服务器。
17.一种消息队列服务器,其特征在于,包括:
接收模块,用于接收主站点的缓存设备发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
缓存模块,用于存储所述更新消息;
发送模块,用于通过消息路由的方式将所述更新消息发送给子站点的消息队列服务器。
18.一种缓存设备,其特征在于,包括:
缓存模块,用于存储数据;
接收模块,用于接收子站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
所述缓存模块,还用于存储所述被更新数据的版本信息;
处理模块,用于根据所述被更新数据的元数据,清除所述缓存中的所述被更新数据。
19.根据权利要求18所述的缓存设备,其特征在于,所述接收模块,还用于接收所述被更新数据的读取请求;
所述处理模块还用于:
从所述子站点的数据库中读取所述被更新数据;
判断从所述数据库中读取的所述被更新数据的版本信息与所述缓存模块中存储的所述版本信息是否相同;
当从所述数据库中读取的所述被更新数据的版本信息与所述缓存模块中存储的版本信息相同时,将从所述数据库中读取的所述被更新数据存储到所述缓存模块中。
20.一种消息队列服务器,其特征在于,包括:
接收模块,用于接收主站点的消息队列服务器发送的更新消息,所述更新消息中包括被更新数据的元数据和所述被更新数据的版本信息;
缓存模块,用于存储所述更新消息;
发送模块,用于将所述更新消息发送给子站点的缓存设备。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求5或6中所述主站点的缓存设备执行的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求5或6中所述主站点的消息队列服务器执行的方法。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求7-10中任一项所述子站点的缓存设备执行的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求7-10中任一项所述子站点的消息队列服务器执行的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810421913.9A CN108829713B (zh) | 2018-05-04 | 2018-05-04 | 分布式缓存系统、缓存同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810421913.9A CN108829713B (zh) | 2018-05-04 | 2018-05-04 | 分布式缓存系统、缓存同步方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108829713A true CN108829713A (zh) | 2018-11-16 |
CN108829713B CN108829713B (zh) | 2021-10-22 |
Family
ID=64147499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810421913.9A Active CN108829713B (zh) | 2018-05-04 | 2018-05-04 | 分布式缓存系统、缓存同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108829713B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083463A (zh) * | 2019-04-22 | 2019-08-02 | 中国地质大学(北京) | 一种3d图像引擎与数值处理软件间实时数据通信方法 |
CN110222076A (zh) * | 2019-05-07 | 2019-09-10 | 广州虎牙信息科技有限公司 | 分布式缓存方法、服务器及存储介质 |
CN111159233A (zh) * | 2019-12-18 | 2020-05-15 | 金蝶软件(中国)有限公司 | 分布式缓存方法、系统、计算机设备以及存储介质 |
CN111427966A (zh) * | 2020-06-10 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 数据库事务处理方法、装置及服务器 |
CN111949422A (zh) * | 2020-08-26 | 2020-11-17 | 南京云灿信息科技有限公司 | 基于mq和异步io的数据多级缓存与高速传输记录方法 |
CN112468566A (zh) * | 2020-11-20 | 2021-03-09 | 银盛支付服务股份有限公司 | 一种基于Message Queue消息广播模式的缓存更新方法及系统 |
CN112597197A (zh) * | 2020-12-17 | 2021-04-02 | 杭州当虹科技股份有限公司 | 一种基于内存的分布式缓存系统 |
CN113032491A (zh) * | 2021-04-07 | 2021-06-25 | 工银科技有限公司 | 实现静态数据同步的方法、装置、电子设备及介质 |
CN113127554A (zh) * | 2021-05-10 | 2021-07-16 | 广州欢网科技有限责任公司 | 接口和后台系统之间数据同步方法和系统 |
CN113138943A (zh) * | 2020-01-19 | 2021-07-20 | 北京京东振世信息技术有限公司 | 一种处理请求的方法和装置 |
CN113449000A (zh) * | 2021-07-09 | 2021-09-28 | 中国银行股份有限公司 | 分布式系统本地缓存的刷新装置及方法 |
CN118467592A (zh) * | 2024-07-11 | 2024-08-09 | 北京四维纵横数据技术有限公司 | 一种分布式数据库的元数据缓存方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073494A (zh) * | 2010-12-30 | 2011-05-25 | 用友软件股份有限公司 | 缓存数据管理方法和装置 |
US8079038B2 (en) * | 1998-06-30 | 2011-12-13 | Microsoft Corporation | Method and apparatus for creating, sending, and using self-descriptive objects as messages over a message queuing network |
CN103024014A (zh) * | 2012-12-03 | 2013-04-03 | 北京京东世纪贸易有限公司 | 通过消息队列的海量数据分发处理的方法和系统 |
CN103338243A (zh) * | 2013-06-20 | 2013-10-02 | 新浪网技术(中国)有限公司 | Web节点的缓存数据更新方法和系统 |
CN105095364A (zh) * | 2015-06-26 | 2015-11-25 | 车智互联(北京)科技有限公司 | 一种数据同步系统和方法 |
CN106294607A (zh) * | 2016-07-29 | 2017-01-04 | 北京奇虎科技有限公司 | 缓存数据的更新方法及更新装置 |
-
2018
- 2018-05-04 CN CN201810421913.9A patent/CN108829713B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8079038B2 (en) * | 1998-06-30 | 2011-12-13 | Microsoft Corporation | Method and apparatus for creating, sending, and using self-descriptive objects as messages over a message queuing network |
CN102073494A (zh) * | 2010-12-30 | 2011-05-25 | 用友软件股份有限公司 | 缓存数据管理方法和装置 |
CN103024014A (zh) * | 2012-12-03 | 2013-04-03 | 北京京东世纪贸易有限公司 | 通过消息队列的海量数据分发处理的方法和系统 |
CN103338243A (zh) * | 2013-06-20 | 2013-10-02 | 新浪网技术(中国)有限公司 | Web节点的缓存数据更新方法和系统 |
CN105095364A (zh) * | 2015-06-26 | 2015-11-25 | 车智互联(北京)科技有限公司 | 一种数据同步系统和方法 |
CN106294607A (zh) * | 2016-07-29 | 2017-01-04 | 北京奇虎科技有限公司 | 缓存数据的更新方法及更新装置 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083463A (zh) * | 2019-04-22 | 2019-08-02 | 中国地质大学(北京) | 一种3d图像引擎与数值处理软件间实时数据通信方法 |
CN110083463B (zh) * | 2019-04-22 | 2021-07-20 | 中国地质大学(北京) | 一种3d图像引擎与数值处理软件间实时数据通信方法 |
CN110222076A (zh) * | 2019-05-07 | 2019-09-10 | 广州虎牙信息科技有限公司 | 分布式缓存方法、服务器及存储介质 |
CN111159233A (zh) * | 2019-12-18 | 2020-05-15 | 金蝶软件(中国)有限公司 | 分布式缓存方法、系统、计算机设备以及存储介质 |
CN111159233B (zh) * | 2019-12-18 | 2024-03-08 | 金蝶软件(中国)有限公司 | 分布式缓存方法、系统、计算机设备以及存储介质 |
CN113138943A (zh) * | 2020-01-19 | 2021-07-20 | 北京京东振世信息技术有限公司 | 一种处理请求的方法和装置 |
CN113138943B (zh) * | 2020-01-19 | 2023-11-03 | 北京京东振世信息技术有限公司 | 一种处理请求的方法和装置 |
CN111427966A (zh) * | 2020-06-10 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 数据库事务处理方法、装置及服务器 |
CN111949422A (zh) * | 2020-08-26 | 2020-11-17 | 南京云灿信息科技有限公司 | 基于mq和异步io的数据多级缓存与高速传输记录方法 |
CN111949422B (zh) * | 2020-08-26 | 2024-04-16 | 南京云灿信息科技有限公司 | 基于mq和异步io的数据多级缓存与高速传输记录方法 |
CN112468566B (zh) * | 2020-11-20 | 2023-11-24 | 银盛支付服务股份有限公司 | 一种基于Message Queue消息广播模式的缓存更新方法及系统 |
CN112468566A (zh) * | 2020-11-20 | 2021-03-09 | 银盛支付服务股份有限公司 | 一种基于Message Queue消息广播模式的缓存更新方法及系统 |
CN112597197A (zh) * | 2020-12-17 | 2021-04-02 | 杭州当虹科技股份有限公司 | 一种基于内存的分布式缓存系统 |
CN113032491A (zh) * | 2021-04-07 | 2021-06-25 | 工银科技有限公司 | 实现静态数据同步的方法、装置、电子设备及介质 |
CN113127554A (zh) * | 2021-05-10 | 2021-07-16 | 广州欢网科技有限责任公司 | 接口和后台系统之间数据同步方法和系统 |
CN113449000A (zh) * | 2021-07-09 | 2021-09-28 | 中国银行股份有限公司 | 分布式系统本地缓存的刷新装置及方法 |
CN118467592A (zh) * | 2024-07-11 | 2024-08-09 | 北京四维纵横数据技术有限公司 | 一种分布式数据库的元数据缓存方法、装置、设备及介质 |
CN118467592B (zh) * | 2024-07-11 | 2024-10-01 | 北京四维纵横数据技术有限公司 | 一种分布式数据库的元数据缓存方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108829713B (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829713A (zh) | 分布式缓存系统、缓存同步方法和装置 | |
US11647081B2 (en) | Method and system for reducing connections to a database | |
KR101844522B1 (ko) | 메모리 액세스 처리 방법 및 장치 그리고 시스템 | |
CN101535965B (zh) | 用于提高存储管理系统的可伸缩性和可移植性的技术 | |
US8898199B2 (en) | Distributed management monitoring system, monitoring method and creating method thereof | |
CA2880287C (en) | Network service system and method with off-heap caching | |
CN101997911B (zh) | 一种数据迁移的方法及系统 | |
CN108696595A (zh) | 分布式集群数据同步方法、主节点、从节点、系统及介质 | |
CN103581276B (zh) | 集群管理装置、系统、业务客户端及相应方法 | |
CN101388824B (zh) | 一种机群系统中分片存储模式下文件读取的方法及系统 | |
WO2010072083A1 (zh) | 基于web应用的数据库系统及其数据管理方法 | |
CN100535886C (zh) | 一种节点之间的数据传输系统和装置及方法 | |
CN107066570A (zh) | 数据管理方法及装置 | |
EP1620804A2 (en) | Cache allocation upon data placement in network interface | |
KR101545626B1 (ko) | Dds-db 연동 시스템 | |
CN109564502B (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
CN103607428A (zh) | 一种访问共享内存的方法和装置 | |
CN107124469A (zh) | 一种集群节点通信方法及系统 | |
CN106612339A (zh) | 域名更新方法、系统和主dns服务器 | |
CN102916902A (zh) | 数据存储方法及装置 | |
CN103152191A (zh) | 一种物联网业务网关数据处理方法和系统 | |
CN102710774B (zh) | 数据传输方法及系统 | |
CN110855726A (zh) | 通信方法、装置以及网关、计算设备和介质 | |
CN105144099B (zh) | 通信系统 | |
EP3776234A1 (en) | Store and forward logging in a content delivery network |
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 |