一种缓存数据同步方法、装置、设备及存储介质制造方法及图纸

技术编号:33083685 阅读:10 留言:0更新日期:2022-04-15 10:42
本申请公开了一种缓存数据同步方法、装置、设备及存储介质,应用于分布式消息中间件系统,该方法包括:获取远程字典服务集群的主服务器中的目标缓存数据;所述目标缓存数据为应用服务器在业务数据发生变更后将相应的变更后业务数据保存至所述主服务器后得到的缓存数据;通过分布式消息中间件系统的服务端将目标缓存数据广播至分布式消息中间件系统的各客户端;控制分布式消息中间件系统的每个客户端将各自获取到的目标缓存数据分别传输至相应的从服务器,以便每台所述从服务器将各自获取到的目标缓存数据保存至各自的本地缓存空间。通过本申请的技术方案,可以减少应用服务器和主服务器压力,实现缓存数据的实时同步,并保证了数据的一致性。并保证了数据的一致性。并保证了数据的一致性。

【技术实现步骤摘要】
一种缓存数据同步方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,特别涉及一种缓存数据同步方法、装置、设备及介质。

技术介绍

[0002]为提高应用系统中系统的访问速度,往往在应用层面加入缓存机制,也就是将查询的数据放在内存中,Redis(Remote Dictionary Server,远程字典服务)是对缓存数据管理的重要内存数据库。在多服务集群模式下的数据缓存的管理既要保证数据的一致性,又要保证数据的实时性,及时可靠是对缓存同步的一个基本要求。现有的远程字典服务中缓存数据的同步方式可以分为以下几种:
[0003](1)如图1所示,应用服务器连接多个Redis服务器,多个Redis服务器分别对应多个客户端,实现缓存数据的同步,这种方式的缺点是:应用服务器需要同步连接多个Redis服务,也即应用服务器的压力增加。
[0004](2)如图2所示,采用Redis备份机制,实现一对多数据同步,针对一个主Redis服务器,其他从Redis服务器通过同步主服务器缓存数据,实现缓存数据的同步,这种方式的缺点是:主服务器在更新缓存的时候,还需要处理从Redis服务器的数据同步的请求,也即主Redis服务器的压力增大。
[0005](3)如图3所示,加入多个主Redis服务器,此时同步到从Redis服务器的压力减小,但是不能保证各主Redis服务器缓存数据的一致性。
[0006]因此,在进行缓存数据同步时,减轻应用服务器和主服务器的压力,并实现缓存数据一致性是本领域亟待解决的问题<br/>
技术实现思路

[0007]有鉴于此,本专利技术的目的在于提供一种缓存数据同步方法、装置、设备及介质,能够解决一个主服务器连接多个从服务器时,主服务器压力大的问题,并且保证缓存数据的一致性,其具体方案如下:
[0008]第一方面,本申请公开了一种缓存数据同步方法,应用于分布式消息中间件系统,包括:
[0009]获取远程字典服务集群的主服务器中的目标缓存数据;所述目标缓存数据为应用服务器在业务数据发生变更后将相应的变更后业务数据保存至所述主服务器后得到的缓存数据;
[0010]通过所述分布式消息中间件系统的服务端将所述目标缓存数据广播至所述分布式消息中间件系统的各客户端;不同的所述客户端分别对应于所述远程字典服务集群中不同的从服务器;
[0011]控制所述分布式消息中间件系统的每个所述客户端将各自获取到的所述目标缓存数据分别传输至相应的所述从服务器,以便每台所述从服务器将各自获取到的所述目标
缓存数据保存至各自的本地缓存空间。
[0012]可选的,所述获取远程字典服务集群的主服务器中的目标缓存数据,包括:
[0013]读取远程字典服务集群的主服务器中的缓存数据文件,并通过数据文件转换器对读取到的所述缓存数据文件进行文件转换处理,以得到所述目标缓存数据。
[0014]可选的,所述读取远程字典服务集群的主服务器中的缓存数据文件,包括:
[0015]读取远程字典服务集群的主服务器中的RDB文件,并在读取到所述RDB文件后读取所述主服务器中的AOF文件。
[0016]可选的,所述读取远程字典服务集群的主服务器中的RDB文件,并在读取到所述RDB文件后读取所述主服务器中的AOF文件,包括:
[0017]基于预设时间周期,定期读取远程字典服务集群的主服务器中的RDB文件,并在读取到所述RDB文件后读取所述主服务器中的AOF文件。
[0018]可选的,所述通过数据文件转换器对读取到的所述缓存数据文件进行文件转换处理,以得到所述目标缓存数据,包括:
[0019]通过所述数据文件转换器,对读取到的所述RDB文件和所述AOF文件分别进行解析得到相应的第一解析后数据和第二解析后数据,并以键值对作为数据记录方式对所述第一解析后数据和所述第二解析后数据进行重新封装,以得到所述目标缓存数据。
[0020]可选的,所述缓存数据同步方法,还包括:
[0021]在读取所述主服务器中的AOF文件之后,记录相应的AOF文件的读取位置。
[0022]可选的,所述通过所述分布式消息中间件系统的服务端将所述目标缓存数据广播至所述分布式消息中间件系统的各客户端之前,还包括:
[0023]通过所述分布式消息中间件系统的服务端为所述目标缓存数据设置一个消息主题,并为所述消息主题配置一个消息队列,然后将所述目标缓存数据以消息的形式保存至所述消息队列;
[0024]相应的,所述通过所述分布式消息中间件系统的服务端将所述目标缓存数据广播至所述分布式消息中间件系统的各客户端,包括:
[0025]通过所述分布式消息中间件系统的服务端,获取每个客户端针对所述消息主题的订阅请求,然后将所述消息队列中保存的所述目标缓存数据广播至所述分布式消息中间件系统的各客户端。
[0026]第二方面,本申请公开了一种缓存数据同步装置,应用于分布式消息中间件系统,包括:
[0027]数据获取模块,用于获取远程字典服务集群的主服务器中的目标缓存数据;所述目标缓存数据为应用服务器在业务数据发生变更后将相应的变更后业务数据保存至所述主服务器后得到的缓存数据;
[0028]数据广播模块,用于通过所述分布式消息中间件系统的服务端将所述目标缓存数据广播至所述分布式消息中间件系统的各客户端;不同的所述客户端分别对应于所述远程字典服务集群中不同的从服务器;
[0029]数据发送模块,用于控制所述分布式消息中间件系统的每个所述客户端将各自获取到的所述目标缓存数据分别传输至相应的所述从服务器,以便每台所述从服务器将各自获取到的所述目标缓存数据保存至各自的本地缓存空间。
[0030]第三方面,本申请公开了一种电子设备,包括:
[0031]存储器,用于保存计算机程序;
[0032]处理器,用于执行所述计算机程序,以实现前述公开的缓存数据同步方法。
[0033]第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的缓存数据同步方法。
[0034]可见,本申请提出一种缓存数据同步方法,包括:获取远程字典服务集群的主服务器中的目标缓存数据;所述目标缓存数据为应用服务器在业务数据发生变更后将相应的变更后业务数据保存至所述主服务器后得到的缓存数据;通过所述分布式消息中间件系统的服务端将所述目标缓存数据广播至所述分布式消息中间件系统的各客户端;不同的所述客户端分别对应于所述远程字典服务集群中不同的从服务器;控制所述分布式消息中间件系统的每个所述客户端将各自获取到的所述目标缓存数据分别传输至相应的所述从服务器,以便每台所述从服务器将各自获取到的所述目标缓存数据保存至各自的本地缓存空间,如此一来,本申请中的应用服务器只连接一个主服务器,因此减轻了应用服务器的压力。此外,本申请在主从服务器之间加入了分布式消息中间件系统,并利用分布式消息中间件系统来处理从服务器的数据同步请求,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓存数据同步方法,其特征在于,应用于分布式消息中间件系统,包括:获取远程字典服务集群的主服务器中的目标缓存数据;所述目标缓存数据为应用服务器在业务数据发生变更后将相应的变更后业务数据保存至所述主服务器后得到的缓存数据;通过所述分布式消息中间件系统的服务端将所述目标缓存数据广播至所述分布式消息中间件系统的各客户端;不同的所述客户端分别对应于所述远程字典服务集群中不同的从服务器;控制所述分布式消息中间件系统的每个所述客户端将各自获取到的所述目标缓存数据分别传输至相应的所述从服务器,以便每台所述从服务器将各自获取到的所述目标缓存数据保存至各自的本地缓存空间。2.根据权利要求1所述的缓存数据同步方法,其特征在于,所述获取远程字典服务集群的主服务器中的目标缓存数据,包括:读取远程字典服务集群的主服务器中的缓存数据文件,并通过数据文件转换器对读取到的所述缓存数据文件进行文件转换处理,以得到所述目标缓存数据。3.根据权利要求2所述的缓存数据同步方法,其特征在于,所述读取远程字典服务集群的主服务器中的缓存数据文件,包括:读取远程字典服务集群的主服务器中的RDB文件,并在读取到所述RDB文件后读取所述主服务器中的AOF文件。4.根据权利要求3所述的缓存数据同步方法,其特征在于,所述读取远程字典服务集群的主服务器中的RDB文件,并在读取到所述RDB文件后读取所述主服务器中的AOF文件,包括:基于预设时间周期,定期读取远程字典服务集群的主服务器中的RDB文件,并在读取到所述RDB文件后读取所述主服务器中的AOF文件。5.根据权利要求4所述的缓存数据同步方法,其特征在于,所述通过数据文件转换器对读取到的所述缓存数据文件进行文件转换处理,以得到所述目标缓存数据,包括:通过所述数据文件转换器,对读取到的所述RDB文件和所述AOF文件分别进行解析得到相应的第一解析后数据和第二解析后数据,并以键值对作为数据记录方式对所述第一解析后数据和所述第二解析后数据进行重新封装,以得到所述目标缓存数...

【专利技术属性】
技术研发人员:崔广银
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1