分布式系统中缓存数据的同步配置方法与装置制造方法及图纸

技术编号:2822803 阅读:225 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种分布式系统中数据缓存的同步配置方法与装置,其中,方法包括:在服务器上包含缓存数据的数据表发生变化时,将该数据表的修改信息发布到各子服务器,并将该数据表的最新修改时刻更新为当前时刻,在预设周期开始时刻查询缓存数据更新信息表,在同一数据表的最新修改时刻晚于最后更新时刻时,根据数据库中最新修改后的数据表对相应缓存数据进行更新,并将缓存数据更新信息表中最后更新时刻更新为最新修改时刻;根据修改信息对各子服务器上数据库中的数据表进行更新,并采用同样方法对各子服务器上的缓存数据进行更新。本发明专利技术独立于应用系统实现了对分布式系统中缓存数据的同步更新,实现简单,不易出错。

【技术实现步骤摘要】

本专利技术涉及数据緩存技术,尤其是一种分布式系统中缓存数据的同步配 置方法与装置、服务器与分布式系统。
技术介绍
数据缓存是数据库数据在内存中占用的临时容器,临时容器中包含了数 据库数据在内存中的拷贝,位于数据库与数据访问层之间。应用系统需要对数据库凄t据进行读取时,首先在緩存中查询,这样可以避免对数据库调用所 需的性能开销。在需要对数据库数据进行频繁查询操作的应用系统中,良好的緩存机制 显得尤为重要。分布式緩存可以让不同主机的多个用户同时访问和修改其中 的数据,而且能够进行緩存同步,解决了共享内存只能单机应用的局限,不会在不同主机的多个用户对数据库数据进行类似处理操作(例如查询、编 辑)时,出现磁盘开销与阻塞。现有的緩存数据同步基于具体的应用系统,若要实现对分布式应用系统 中数据緩存的同步,也称为分布式数据緩存的同步,就需要分别对构成各 应用系统本身的代码进行人工修改并逐一进行调试,应用系统需要针对每个 緩存业务都进行同步,操作复杂,容易出错,实现比较繁瑣,而且无法推广 到其它的应用系统,并且,后期维护困难。因此,目前仍无法实现或很难实 现对分布式应用系统中数据緩存的同步更新,导致分布式部署的各个应用系 统只能使用自己本机的单机数据緩存,各台服务器之间的数据緩存各不相 干。另外,在分布式应用系统运行的过程中,不能对数据緩存进行修改, 一旦修改,将导致各台服务器中数据緩存的不一致,使应用系统的应用范围与功能受到很大的局限,无法真正实现分布式应用。尤其是对于目前应用较为广泛的结构化查询语言数据库管理系统(Structured Query Language Server,以下简称SQL Server)或者曱骨文 (Oracle )数据库系统来说,如果需要进行分布式部署,则需要对其分布式数 据缓存进行同步。但是目前SQL Server与Oracle数据库系统进行分布式部署 时,仍无法实现分布式数据緩存的同步。因此,SQL Server与Oracle数据库 系统使用的数据緩存只能在本机单机使用,并且无法在系统正常运行的过程 中对缓存数据进行修改,无法实现对数据緩存进行分布式更新。
技术实现思路
本专利技术的目的是提供一种分布式系统中数据緩存的同步配置方法与装 置、服务器与分布式系统,对分布式系统中的缓存数据进行同步更新,可以 在分布式部署的应用系统运行的过程中对緩存数据进行修改,且不需要对 应用系统自身的代码进行修改,实现筒单,不易出错。为实现上述目的,本专利技术实施例提供的一种分布式系统中緩存数据的 同步配置方法,包括在分布式系统中服务器上数据库中包含緩存数据的数据表发生变化时, 通过数据库复制方式,将该数据表的修 文信息复制到所迷分布式系统中的各 子服务器,并将所述服务器上的緩存数据更新信息表中该数据表名称对应的 最新修改时刻更新为数据表发生变化的当前时刻,该緩存数据更新信息表中 包括所述服务器上数据库中包含緩存数据的数据表名称、该数据表的最新修 改时刻与所述服务器的緩存中相应緩存数据的最后更新时刻,以及在预设周 期开始时刻查询所述服务器上緩存数据更新信息表,在对应于同 一数据表名 称的最新修改时刻晚于最后更新时刻时,根据所述数据库中最新修改后的数 据表对相应緩存数据进行更新,并将緩存数据更新信息表中该数据表名称对 应的最后更新时刻更新为最新修改时刻;在所述各子服务器上,分别根据所述数据表的修改信息对各子服务器上 数据库中的相应数据表进行更新,并将各子服务器上缓存数据更新信息表中 所述数据表名称对应的最新修改时刻更新为当前时刻,以及分别在预设周期 开始时刻查询各子服务器中的緩存数据更新信息表,在对应于同 一数据表名 称的最新修改时刻晚于最后更新时刻时,根据数据库中最新修改后的数据表 对相应缓存数据进行更新,并将緩存数据更新信息表中该数据表名称对应的 最后更新时刻更新为最新修改时刻。本专利技术实施例提供的 一种分布式系统中緩存数据的同步配置装置,包括监控冲莫块,用于对分布式系统的服务器上数据库中包含緩存数据的数据 表进行监控;数据库复制模块,用于在数据库中包含緩存数据的数据表中数据发生变 化时,将该数据发生变化的数据表的修改信息复制到所述分布式系统中的其 它服务器;第一更新模块,用于根据所述监控模块的监控结果,在数据库中包含緩 存数据的数据表发生变化时,将緩存数据更新信息表中该数据表名称对应的 最新修改时刻更新为数据发生变化的当前时刻,所述緩存数据更新信息表中 包括所述服务器上数据库中包含緩存数据的数据表名称、该数据表的最新修 改时刻与所述服务器的緩存中相应緩存数据的最后更新时刻;计时模块,用于根据预设周期进行计时;查询模块,用于根据所述计时模块的指示,在预设周期的开始时刻,查 询所述緩存数据更新信息表;判断模块,用于根据所述查询模块的查询结果,判断对应于同一数据表 名称的最新修改时刻是否晚于最后更新时刻;第二更新模块,用于根据所述判断模块的判断结果,在对应于同一数据 表名称的最新修改时刻晚于最后更新时刻时,根据数据库中最新修改后的数据表对相应緩存数据进行更新,并将緩存数据更新信息表中该数据表名称对 应的最后更新时刻更新为最新修改时刻。本专利技术实施例提供的一种服务器,包括本专利技术如上实施例提供的分布式 系统中缓存数据的同步配置装置。本专利技术实施例提供的一种分布式系统,包括主服务器与至少一个子服务 器,还包括本专利技术如上实施例提供的分布式系统中緩存数据的同步配置装置。基于本专利技术上述实施例提供的分布式系统中緩存数据的同步配置方法与 装置、服务器与分布式系统,在分布式系统中其中一个服务器上数据库中包 含緩存数据的数据表被修改时,将该数据表的修改信息复制到分布式系统中 的其它服务器,在各服务器上,分别根据数据库中数据表的修改情况对緩存中的相应数据进行更新,从而实现了分布式系统中緩存数据的同步;并且, 可以独立于应用系统对分布式系统中的緩存数据进行同步,不需要对应用系 统自身的代码进行修改与调试,也不需要应用系统参与緩存数据的同步业务, 实现简单,不易出错,适用于任何分布式系统,可以在分布式部署的应用系 统运行的过程中,对緩存数据进行同步,便于推广应用。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明图1为本专利技术分布式系统中緩存数据的同步配置方法一个实施例的流程图2为本专利技术分布式系统中緩存数据的同步配置方法另一个实施例的流程图3为本专利技术图2所示分布式系统的结构示意图; 图4为本专利技术分布式系统中緩存数据的同步配置方法又一个应用实施例 的流程图5为本专利技术分布式系统中緩存数据的同步配置装置一个实施例的结构 示意图;图6为本专利技术分布式系统中緩存数据的同步配置装置另一个实施例的结 构示意图。具体实施方式本专利技术实施例提供的分布式系统中緩存数据的同步配置方法与装置适用于寸壬何数据库,例如SQL Server数据库或Oracle数据库。如图1所示,为本专利技术分布式系统中緩存数据的同步配置方法一个实施 例的流^i图,其包括以下步骤步骤101,在分布式系统中服务器上数据库中包含緩存数据的数据表发 生变化时,通过数据库复制方式,将该数据表的修改信息复制到分布式系统 中的各子服务器,并将所述服务器上的緩存数据更新信息表中该数据表名称 本文档来自技高网
...

【技术保护点】
一种分布式系统中缓存数据的同步配置方法,其特征在于,包括:    在分布式系统中服务器上数据库中包含缓存数据的数据表发生变化时,通过数据库复制方式,将该数据表的修改信息复制到所述分布式系统中的各子服务器,并将所述服务器上的缓存数据更新信息表中该数据表名称对应的最新修改时刻更新为数据表发生变化的当前时刻,该缓存数据更新信息表中包括所述服务器上数据库中包含缓存数据的数据表名称、该数据表的最新修改时刻与所述服务器的缓存中相应缓存数据的最后更新时刻,以及在预设周期开始时刻查询所述服务器上缓存数据更新信息表,在对应于同一数据表名称的最新修改时刻晚于最后更新时刻时,根据所述数据库中最新修改后的数据表对相应缓存数据进行更新,并将缓存数据更新信息表中该数据表名称对应的最后更新时刻更新为最新修改时刻;    在所述各子服务器上,分别根据所述数据表的修改信息对各子服务器上数据库中的相应数据表进行更新,并将各子服务器上缓存数据更新信息表中所述数据表名称对应的最新修改时刻更新为当前时刻,以及分别在预设周期开始时刻查询各子服务器中的缓存数据更新信息表,在对应于同一数据表名称的最新修改时刻晚于最后更新时刻时,根据数据库中最新修改后的数据表对相应缓存数据进行更新,并将缓存数据更新信息表中该数据表名称对应的最后更新时刻更新为最新修改时刻。...

【技术特征摘要】

【专利技术属性】
技术研发人员:杨鑫伟吴俊
申请(专利权)人:福建星网锐捷网络有限公司
类型:发明
国别省市:35[中国|福建]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1