System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 同步缓存数据的方法、装置、集群、介质及产品制造方法及图纸_技高网

同步缓存数据的方法、装置、集群、介质及产品制造方法及图纸

技术编号:42730894 阅读:1 留言:0更新日期:2024-09-13 12:16
本公开的实施例涉及一种同步缓存数据的方法、装置、集群、介质及产品。该方法被应用于包括源单元和目标单元的缓存数据同步系统,源单元包括源数据库和源缓存,并且目标单元包括目标数据库和目标缓存。该方法包括源单元对源缓存进行缓存更新操作,并且基于缓存更新操作更新源缓存数据。该方法还包括源单元基于更新的源缓存数据更新源数据库,并且基于数据库更新同步通道将源数据库的更新同步至目标数据库。该方法还包括源单元基于缓存更新操作生成用于更新目标缓存数据的触发事件,并且向目标单元发送触发事件。该方法还包括目标单元基于触发事件和经更新的目标数据库,更新目标缓存数据,使得更新的源缓存数据与更新的目标缓存数据同步。

【技术实现步骤摘要】

本公开的实施例大体上涉及存储领域,并且更具体地涉及一种同步缓存数据的方法、装置、集群、介质及产品


技术介绍

1、云数据中心是一种基于云计算的数据中心,它可以提供计算和数据存储的服务。包括在云数据中心中的多个设备或组件(诸如,服务器、存储设备、网络设备或软件组件等)通过网络被连接在一起,以形成一个高效的系统用于提供稳定的计算和存储能力。用户可以通过网络访问云数据中心,并且租用其中的计算和存储资源来满足自己的需求,从而节省了硬件设备和维护成本,并且可以根据实际需要灵活调整所使用的资源。

2、云数据中心包括多个处理单元(在下文中,也被简称为单元),以用于提供各种服务。在云数据中心中,不同单元之间由于需要协同完成任务通常需要频繁地进行数据交换和通信。通过在单元之间使用缓存机制能够在一定程度上缓解云数据中心的负载压力,提高各个单元的数据访问速度,保证数据的可靠性和可用性,等等。然而,这样的缓存机制在单元之间的协同操作期间仍然存在需要解决的诸多技术问题。


技术实现思路

1、本公开的实施例提供了一种缓存数据同步的方案。通过根据本公开的实施例的缓存数据同步的方案,能够在不同单元之间同步缓存数据,降低应用框架的负载压力,提供高并发多活查询能力。

2、在本公开的第一方面,提供了一种同步缓存数据的方法,其特征在于,应用于包括源单元和目标单元的缓存数据同步系统,源单元包括源服务、源数据库和用于存储源缓存数据的源缓存,目标单元包括目标服务、目标数据库和用于存储目标缓存数据的目标缓存,该方法包括:源单元对源缓存进行缓存更新操作;源单元基于缓存更新操作更新源缓存数据;源单元基于更新的源缓存数据,更新源数据库;源单元基于数据库更新同步通道,同步源数据库的更新至目标数据库;源单元基于缓存更新操作,生成触发事件,触发事件用于更新目标缓存数据;源单元向目标单元发送触发事件;目标单元基于触发事件和同步了源数据库的更新的目标数据库,更新目标缓存数据,使得更新的源缓存数据与更新的目标缓存数据同步。根据本公开的第一方面的同步缓存数据的方法,使得在源单元与目标单元之间能够实现缓存数据的同步,减少目标单元对源单元的数据依赖,降低应用框架的负载压力,提高应用架构的可靠性,从而保证微服务在多云、多数据中心的场景下具备高并发多活查询能力。

3、在一些实施例中,触发事件包含更新信息,更新信息用于标识更新的源缓存数据,更新的目标缓存数据与触发事件中包含的更新信息相对应,目标单元基于触发事件和同步了源数据库的更新的目标数据库,更新目标缓存数据,包括:目标单元基于触发事件,获取更新信息,更新信息包括以下一者或多者:源缓存的互联网协议ip地址、针对源缓存的缓存更新操作、缓存更新操作针对的更新的源缓存数据的标识,以及缓存更新操作所属的源服务。以此方式,借助于包含在触发事件中的更新信息,能够将更新的源缓存数据和更新的目标缓存数据相关联。

4、在一些实施例中,目标单元基于触发事件和同步了源数据库的更新的目标数据库,更新目标缓存数据,包括:删除目标缓存中原始的目标缓存数据,目标缓存数据与更新信息相对应;从目标数据库缓存与更新信息相对应的目标数据库数据作为目标缓存的更新的目标缓存数据。以此方式,这样的缓存数据老化方式,即,删除目标缓存中与针对源缓存的缓存更新相对应的缓存数据,并且从目标数据库缓存与针对源缓存的缓存更新相对应的缓存数据,能够保证更新的顺序性,而不会出现顺序错乱、结果出错等。

5、在一些实施例中,基于触发事件和目标单元的目标数据库,在目标缓存中更新更新的目标缓存数据,包括:将目标缓存中与更新信息相对应的原始的目标缓存数据与来自目标数据库的与更新信息相对应的目标数据库数据进行比较,其中目标数据库数据基于对源数据库的更新的同步而更新;响应于目标数据库数据与目标缓存数据不同,确定目标数据库数据与目标缓存数据的差异;以及从目标数据库缓存目标数据库数据中与目标缓存数据的差异作为目标缓存中的更新的目标缓存数据。以此方式,仅更新目标缓存中的对应的缓存数据中与来自目标数据库的对应的更新数据不同的差异部分,能够降低传输和存储成本,提高更新效率。

6、在一些实施例中,还包括:捕获针对所述源缓存的操作;确定与所述针对所述源缓存的操作相对应的命令是否为更新命令,所述更新命令包括写命令和删除命令中的至少一项;以及响应于确定与所述源缓存的操作相对应的命令为所述更新命令,确定所述针对所述源缓存的操作为所述缓存更新操作。以此方式,基于与源单元的操作相对应的命令,能够确定源单元的操作的类型,以便于监测针对源缓存的缓存更新。

7、在一些实施例中,源缓存到目标缓存的缓存同步周期大于源数据库到目标数据库的数据库同步周期。以此方式,能够避免数据库同步时差引起的缓存未刷新,保证缓存数据同步的有效性。

8、在一些实施例中,还包括:接收用户配置的黑名单信息,黑名单信息包括抑制数据的类型,抑制数据为无需被同步的数据;确定针对源缓存的缓存更新数据属于抑制数据的类型;以及终止生成触发事件。以此方式,以此方式,避免了不期望的数据也参加从源单元向目标单元的缓存数据同步,导致目标单元的处理出错。

9、在一些实施例中,抑制数据的类型包括源缓存中的会话数据自增标识符数据类型。诸如会话数据、自增id数据等的单元业务处理的内部数据无需被同步。

10、在一些实施例中,源单元和目标单元之间配置有异步事件通道,源单元向目标单元发送触发事件包括:经由异步事件通道,向目标单元发送触发事件。以此方式,能够经由这样的异步事件通道从源单元向目标单元发送触发事件,以用于更新目标单元的目标缓存。

11、根据本公开的第二方面,提供了一种同步缓存数据的装置,其特征在于,应用于包括源单元和目标单元的缓存数据同步系统,源单元包括源服务、源数据库和用于存储源缓存数据的源缓存,目标单元包括目标服务、目标数据库和用于存储目标缓存数据的目标缓存,该装置包括:缓存更新启动模块,用于使源单元对源缓存进行缓存更新操作;缓存更新模块,用于使源单元基于缓存更新操作更新源缓存数据;数据库更新模块,用于使源单元基于更新的源缓存数据,更新源数据库;数据库同步模块,用于使源单元基于数据库更新同步通道,同步源数据库的更新至目标数据库;事件生成模块,用于使源单元基于缓存更新操作,生成触发事件,触发事件用于更新目标缓存数据;事件发送模块,用于使源单元向目标单元发送触发事件;缓存同步模块,用于使目标单元基于触发事件和同步了源数据库的更新的目标数据库,更新目标缓存数据,使得更新的源缓存数据与更新的目标缓存数据同步。根据本公开的第二方面的同步缓存数据的装置,使得在源单元与目标单元之间能够实现缓存数据的同步,减少目标单元对源单元的数据依赖,降低应用框架的负载压力,提高应用架构的可靠性,从而保证微服务在多云、多数据中心的场景下具备高并发多活查询能力。

12、根据本公开的第三方面,提供了一种计算设备。该计算设备包括处理器和存储器,该存储器存储有指令,这些指令在被处理本文档来自技高网...

【技术保护点】

1.一种同步缓存数据的方法,其特征在于,应用于包括源单元和目标单元的缓存数据同步系统,所述源单元包括源服务、源数据库和用于存储源缓存数据的源缓存,所述目标单元包括目标服务、目标数据库和用于存储目标缓存数据的目标缓存,所述方法包括:

2.根据权利要求1所述的方法,所述触发事件包含更新信息,所述更新信息用于标识所述更新的源缓存数据,所述更新的目标缓存数据与所述触发事件中包含的所述更新信息相对应,所述目标单元基于所述触发事件和同步了所述源数据库的更新的所述目标数据库,更新所述目标缓存数据,包括:

3.根据权利要求2所述的方法,所述目标单元基于所述触发事件和同步了所述源数据库的更新的所述目标数据库,更新所述目标缓存数据,包括:

4.根据权利要求2所述的方法,所述基于所述触发事件和所述目标单元的所述目标数据库,在所述目标缓存中更新所述更新的目标缓存数据,包括:

5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至5任一项所述的方法,其特征在于,所述源缓存到所述目标缓存的缓存同步周期大于所述源数据库到所述目标数据库的数据库同步周期。

7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述抑制数据的类型包括所述源缓存中的会话数据自增标识符数据类型。

9.根据权利要求1至8任一项所述的方法,其特征在于,所述源单元和所述目标单元之间配置有异步事件通道,所述源单元向所述目标单元发送所述触发事件包括:

10.一种同步缓存数据的装置,其特征在于,应用于包括源单元和目标单元的缓存数据同步系统,所述源单元包括源服务、源数据库和用于存储源缓存数据的源缓存,所述目标单元包括目标服务、目标数据库和用于存储目标缓存数据的目标缓存,所述装置包括:

11.根据权利要求10所述的装置,所述触发事件包含更新信息,所述更新信息用于标识所述更新的源缓存数据,所述更新的目标缓存数据与所述触发事件中包含的所述更新信息相对应,所述目标单元基于所述触发事件和同步了所述源数据库的更新的所述目标数据库,更新所述目标缓存数据,包括:

12.根据权利要求11所述的装置,所述目标单元基于所述触发事件和同步了所述源数据库的更新的所述目标数据库,更新所述目标缓存数据,包括:

13.根据权利要求11所述的装置,所述基于所述触发事件和所述目标单元的所述目标数据库,在所述目标缓存中更新所述更新的目标缓存数据,包括:

14.根据权利要求10至13任一项所述的装置,其特征在于,所述装置还包括:

15.根据权利要求10至14任一项所述的装置,其特征在于,所述源缓存到所述目标缓存的缓存同步周期大于所述源数据库到所述目标数据库的数据库同步周期。

16.根据权利要求10至15任一项所述的装置,其特征在于,所述装置还包括:

17.根据权利要求16所述的装置,其特征在于,所述抑制数据的类型包括所述源缓存中的会话数据自增标识符数据类型。

18.根据权利要求10至17任一项所述的装置,其特征在于,所述源单元和所述目标单元之间配置有异步事件通道,所述源单元向所述目标单元发送所述触发事件包括:

19.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;

20.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1-9中任一项的方法。

21.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1-9中任一项所述的方法。

...

【技术特征摘要】

1.一种同步缓存数据的方法,其特征在于,应用于包括源单元和目标单元的缓存数据同步系统,所述源单元包括源服务、源数据库和用于存储源缓存数据的源缓存,所述目标单元包括目标服务、目标数据库和用于存储目标缓存数据的目标缓存,所述方法包括:

2.根据权利要求1所述的方法,所述触发事件包含更新信息,所述更新信息用于标识所述更新的源缓存数据,所述更新的目标缓存数据与所述触发事件中包含的所述更新信息相对应,所述目标单元基于所述触发事件和同步了所述源数据库的更新的所述目标数据库,更新所述目标缓存数据,包括:

3.根据权利要求2所述的方法,所述目标单元基于所述触发事件和同步了所述源数据库的更新的所述目标数据库,更新所述目标缓存数据,包括:

4.根据权利要求2所述的方法,所述基于所述触发事件和所述目标单元的所述目标数据库,在所述目标缓存中更新所述更新的目标缓存数据,包括:

5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至5任一项所述的方法,其特征在于,所述源缓存到所述目标缓存的缓存同步周期大于所述源数据库到所述目标数据库的数据库同步周期。

7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述抑制数据的类型包括所述源缓存中的会话数据自增标识符数据类型。

9.根据权利要求1至8任一项所述的方法,其特征在于,所述源单元和所述目标单元之间配置有异步事件通道,所述源单元向所述目标单元发送所述触发事件包括:

10.一种同步缓存数据的装置,其特征在于,应用于包括源单元和目标单元的缓存数据同步系统,所述源单元包括源服务、源数据库和用于存储源缓存数据的源缓存,所述目标单元包括目标服务、目标数据库和用于存储目标缓存数据的目标缓存,所述装置包...

【专利技术属性】
技术研发人员:虞庆平夏利
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1