同步缓存数据的方法、装置、集群、介质及产品与流程
- 国知局
- 2024-09-14 14:50:55
本公开的实施例大体上涉及存储领域,并且更具体地涉及一种同步缓存数据的方法、装置、集群、介质及产品。
背景技术:
1、云数据中心是一种基于云计算的数据中心,它可以提供计算和数据存储的服务。包括在云数据中心中的多个设备或组件(诸如,服务器、存储设备、网络设备或软件组件等)通过网络被连接在一起,以形成一个高效的系统用于提供稳定的计算和存储能力。用户可以通过网络访问云数据中心,并且租用其中的计算和存储资源来满足自己的需求,从而节省了硬件设备和维护成本,并且可以根据实际需要灵活调整所使用的资源。
2、云数据中心包括多个处理单元(在下文中,也被简称为单元),以用于提供各种服务。在云数据中心中,不同单元之间由于需要协同完成任务通常需要频繁地进行数据交换和通信。通过在单元之间使用缓存机制能够在一定程度上缓解云数据中心的负载压力,提高各个单元的数据访问速度,保证数据的可靠性和可用性,等等。然而,这样的缓存机制在单元之间的协同操作期间仍然存在需要解决的诸多技术问题。
技术实现思路
1、本公开的实施例提供了一种缓存数据同步的方案。通过根据本公开的实施例的缓存数据同步的方案,能够在不同单元之间同步缓存数据,降低应用框架的负载压力,提供高并发多活查询能力。
2、在本公开的第一方面,提供了一种同步缓存数据的方法,其特征在于,应用于包括源单元和目标单元的缓存数据同步系统,源单元包括源服务、源数据库和用于存储源缓存数据的源缓存,目标单元包括目标服务、目标数据库和用于存储目标缓存数据的目标缓存,该方法包括:源单元对源缓存进行缓存更新操作;源单元基于缓存更新操作更新源缓存数据;源单元基于更新的源缓存数据,更新源数据库;源单元基于数据库更新同步通道,同步源数据库的更新至目标数据库;源单元基于缓存更新操作,生成触发事件,触发事件用于更新目标缓存数据;源单元向目标单元发送触发事件;目标单元基于触发事件和同步了源数据库的更新的目标数据库,更新目标缓存数据,使得更新的源缓存数据与更新的目标缓存数据同步。根据本公开的第一方面的同步缓存数据的方法,使得在源单元与目标单元之间能够实现缓存数据的同步,减少目标单元对源单元的数据依赖,降低应用框架的负载压力,提高应用架构的可靠性,从而保证微服务在多云、多数据中心的场景下具备高并发多活查询能力。
3、在一些实施例中,触发事件包含更新信息,更新信息用于标识更新的源缓存数据,更新的目标缓存数据与触发事件中包含的更新信息相对应,目标单元基于触发事件和同步了源数据库的更新的目标数据库,更新目标缓存数据,包括:目标单元基于触发事件,获取更新信息,更新信息包括以下一者或多者:源缓存的互联网协议ip地址、针对源缓存的缓存更新操作、缓存更新操作针对的更新的源缓存数据的标识,以及缓存更新操作所属的源服务。以此方式,借助于包含在触发事件中的更新信息,能够将更新的源缓存数据和更新的目标缓存数据相关联。
4、在一些实施例中,目标单元基于触发事件和同步了源数据库的更新的目标数据库,更新目标缓存数据,包括:删除目标缓存中原始的目标缓存数据,目标缓存数据与更新信息相对应;从目标数据库缓存与更新信息相对应的目标数据库数据作为目标缓存的更新的目标缓存数据。以此方式,这样的缓存数据老化方式,即,删除目标缓存中与针对源缓存的缓存更新相对应的缓存数据,并且从目标数据库缓存与针对源缓存的缓存更新相对应的缓存数据,能够保证更新的顺序性,而不会出现顺序错乱、结果出错等。
5、在一些实施例中,基于触发事件和目标单元的目标数据库,在目标缓存中更新更新的目标缓存数据,包括:将目标缓存中与更新信息相对应的原始的目标缓存数据与来自目标数据库的与更新信息相对应的目标数据库数据进行比较,其中目标数据库数据基于对源数据库的更新的同步而更新;响应于目标数据库数据与目标缓存数据不同,确定目标数据库数据与目标缓存数据的差异;以及从目标数据库缓存目标数据库数据中与目标缓存数据的差异作为目标缓存中的更新的目标缓存数据。以此方式,仅更新目标缓存中的对应的缓存数据中与来自目标数据库的对应的更新数据不同的差异部分,能够降低传输和存储成本,提高更新效率。
6、在一些实施例中,还包括:捕获针对所述源缓存的操作;确定与所述针对所述源缓存的操作相对应的命令是否为更新命令,所述更新命令包括写命令和删除命令中的至少一项;以及响应于确定与所述源缓存的操作相对应的命令为所述更新命令,确定所述针对所述源缓存的操作为所述缓存更新操作。以此方式,基于与源单元的操作相对应的命令,能够确定源单元的操作的类型,以便于监测针对源缓存的缓存更新。
7、在一些实施例中,源缓存到目标缓存的缓存同步周期大于源数据库到目标数据库的数据库同步周期。以此方式,能够避免数据库同步时差引起的缓存未刷新,保证缓存数据同步的有效性。
8、在一些实施例中,还包括:接收用户配置的黑名单信息,黑名单信息包括抑制数据的类型,抑制数据为无需被同步的数据;确定针对源缓存的缓存更新数据属于抑制数据的类型;以及终止生成触发事件。以此方式,以此方式,避免了不期望的数据也参加从源单元向目标单元的缓存数据同步,导致目标单元的处理出错。
9、在一些实施例中,抑制数据的类型包括源缓存中的会话数据自增标识符数据类型。诸如会话数据、自增id数据等的单元业务处理的内部数据无需被同步。
10、在一些实施例中,源单元和目标单元之间配置有异步事件通道,源单元向目标单元发送触发事件包括:经由异步事件通道,向目标单元发送触发事件。以此方式,能够经由这样的异步事件通道从源单元向目标单元发送触发事件,以用于更新目标单元的目标缓存。
11、根据本公开的第二方面,提供了一种同步缓存数据的装置,其特征在于,应用于包括源单元和目标单元的缓存数据同步系统,源单元包括源服务、源数据库和用于存储源缓存数据的源缓存,目标单元包括目标服务、目标数据库和用于存储目标缓存数据的目标缓存,该装置包括:缓存更新启动模块,用于使源单元对源缓存进行缓存更新操作;缓存更新模块,用于使源单元基于缓存更新操作更新源缓存数据;数据库更新模块,用于使源单元基于更新的源缓存数据,更新源数据库;数据库同步模块,用于使源单元基于数据库更新同步通道,同步源数据库的更新至目标数据库;事件生成模块,用于使源单元基于缓存更新操作,生成触发事件,触发事件用于更新目标缓存数据;事件发送模块,用于使源单元向目标单元发送触发事件;缓存同步模块,用于使目标单元基于触发事件和同步了源数据库的更新的目标数据库,更新目标缓存数据,使得更新的源缓存数据与更新的目标缓存数据同步。根据本公开的第二方面的同步缓存数据的装置,使得在源单元与目标单元之间能够实现缓存数据的同步,减少目标单元对源单元的数据依赖,降低应用框架的负载压力,提高应用架构的可靠性,从而保证微服务在多云、多数据中心的场景下具备高并发多活查询能力。
12、根据本公开的第三方面,提供了一种计算设备。该计算设备包括处理器和存储器,该存储器存储有指令,这些指令在被处理器执行时,使得计算设备执行根据本公开的第一方面所述的方法。
13、根据本公开的第四方面,提供了一种计算设备集群。该计算设备集群包括至少一个计算设备,每个计算设备包括处理器和存储器。该至少一个计算设备的处理器用于执行该至少一个计算设备的存储器中所存储的指令,以使得计算设备集群执行本公开的第一方面所述的方法。在一些实施例中,计算设备集群包括一个计算设备。在另一些实施例中,计算设备集群包括多个计算设备。在一些实施例中,计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
14、根据本公开的第五方面,提供了一种计算机可读存储介质。该计算机可读存储介质存储有计算机程序指令,当这些计算机程序指令由计算设备集群执行时,计算设备集群执行根据本公开的第一方面所述的方法。
15、根据本公开的第六方面,提供了一种计算机程序产品。该计算机程序产品包括指令,当这些指令由计计算设备集群运行时,使得计算设备集群执行根据本公开的第一方面所述的方法。在一些实施例中,程序产品可以包括一个或多个软件安装包,在需要使用前述第一方面或其可能的变形提供的方法的情况下,可以下载或拷贝软件安装包并在计算设备上执行。
16、请注意,提供技术实现要素:部分是为了以简化的形式介绍一系列概念,下面将在具体实施方式中进一步描述这些概念。发明内容部分无意于标识本公开内容的关键特征或必要特征,也无意于限制本公开内容的范围。
本文地址:https://www.jishuxx.com/zhuanli/20240914/296149.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。