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

技术编号:33658913 阅读:13 留言:0更新日期:2022-06-02 20:39
本申请实施例提供了一种数据多机房同步方法、装置、设备及存储介质。本申请实施例提供的技术方案通过在接收到业务系统发起的数据库操作时,向当前机房的数据库转发数据库操作,以使当前机房的数据库根据数据库操作进行数据操作,并确定是否需要对该数据库操作进行多机房同步,在需要进行多机房同步时,根据数据库操作创建同步事件,并向其他机房发送同步事件,以通知其他机房基于接收到的同步事件进行数据库同步,通过在接收到数据库操作时,过滤掉非必要或低价值数据的数据库操作的同步,减少过多的数据库同步操作导致数据拉取耗时和网络带宽占用增高的情况,减少对系统资源的占用,保证数据库全量业务的正常进行。保证数据库全量业务的正常进行。保证数据库全量业务的正常进行。

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


[0001]本申请实施例涉及数据处理
,尤其涉及一种数据多机房同步方法、装置、设备及存储介质。

技术介绍

[0002]随着网络技术的发展,越来越多的用户加入到网络服务中,随之而来的是越来越多的用户数据的产生,当业务系统需要为处于不同地区甚至全球的用户服务时,单机房的数据库部署通常会导致操作延迟过高,响应速度慢等情况,导致用户体验较差,为了降低数据库的操作延迟,提高响应速度,通常使用多机房的分布式存储系统。
[0003]目前多机房同步的方式通常通过第三方工具定时同步来进行,第三方工具定时同步需要定时全量同步或监听发生变更的键(key),实现不同机房之间的全量数据同步。但是对于存储量较大的数据库,每次同步耗时和网络带宽等资源占用极高,在同步时需要拉取相关键的全量数据,在拉取的键的数据量较大时,拉取耗时和网络带宽占用相应增高,容易导致机房网络拥堵,影响全量业务。

技术实现思路

[0004]本申请实施例提供一种数据多机房同步方法、装置、设备及存储介质,以解决现有技术中在拉取的键的数据量较大时,拉取耗时和网络带宽占用相应增高,容易导致机房网络拥堵,影响全量业务的技术问题,减少对系统资源的占用,保证全量业务的正常进行。
[0005]在第一方面,本申请实施例提供了一种数据多机房同步方法,包括:
[0006]接收业务系统发起的数据库操作,向当前机房的数据库转发所述数据库操作,以使当前机房的数据库根据所述数据库操作进行数据操作,并确定是否需要对所述数据库操作进行多机房同步;
[0007]响应于需要对所述数据库操作进行多机房同步,根据所述数据库操作创建同步事件;
[0008]向其他机房发送所述同步事件,以使其他机房响应于接收到的同步事件进行数据库同步。
[0009]在第二方面,本申请实施例提供了一种数据多机房同步装置,包括同步判断模块、事件创建模块和事件同步模块,其中:
[0010]所述同步判断模块,用于接收业务系统发起的数据库操作,向当前机房的数据库转发所述数据库操作,以使当前机房的数据库根据所述数据库操作进行数据操作,并确定是否需要对所述数据库操作进行多机房同步;
[0011]所述事件创建模块,用于响应于需要对所述数据库操作进行多机房同步,根据所述数据库操作创建同步事件;
[0012]所述事件同步模块,用于向其他机房发送所述同步事件,以使其他机房响应于接收到的同步事件进行数据库同步。
[0013]在第三方面,本申请实施例提供了一种数据多机房同步设备,包括:存储器以及一个或多个处理器;
[0014]所述存储器,用于存储一个或多个程序;
[0015]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的数据多机房同步方法。
[0016]在第四方面,本申请实施例提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的数据多机房同步方法。
[0017]本申请实施例通过在接收到业务系统发起的数据库操作时,向当前机房的数据库转发数据库操作,以使当前机房的数据库根据数据库操作进行数据操作,并确定是否需要对该数据库操作进行多机房同步,在需要进行多机房同步时,根据数据库操作创建同步事件,并向其他机房发送同步事件,以通知其他机房基于接收到的同步事件进行数据库同步,通过在接收到数据库操作时,过滤掉非必要或低价值数据的数据库操作的同步,减少过多的数据库同步操作导致数据拉取耗时和网络带宽占用增高的情况,减少对系统资源的占用,保证数据库全量业务的正常进行。
附图说明
[0018]图1是本申请实施例提供的一种数据多机房同步方法的流程图;
[0019]图2是本申请实施例提供的一种多机房同步判断的流程示意图;
[0020]图3是本申请实施例提供的一种同步事件的创建流程示意图;
[0021]图4是本申请实施例提供的另一种数据多机房同步方法的流程图;
[0022]图5是本申请实施例提供的一种数据多机房同步装置的结构示意图;
[0023]图6是本申请实施例提供的一种数据多机房同步设备的结构示意图。
具体实施方式
[0024]为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时上述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。上述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0025]图1给出了本申请实施例提供的一种数据多机房同步方法的流程图,本申请实施例提供的数据多机房同步方法可以由数据多机房同步装置来执行,该数据多机房同步装置可以通过硬件和/或软件的方式实现,并集成在数据多机房同步设备中。
[0026]下述以数据多机房同步装置执行数据多机房同步方法为例进行描述。参考图1,该数据多机房同步方法包括:
[0027]S101:接收业务系统发起的数据库操作,向当前机房的数据库转发数据库操作,以
使当前机房的数据库根据数据库操作进行数据操作,并确定是否需要对数据库操作进行多机房同步。
[0028]本实施例提供的数据库配置于多机房的分布式存储系统中。需要进行解释的是,在分布式存储系统的各个数据库分别布置于不同的机房中,并且数据库在接收到业务系统转发的数据库操作时,将根据数据库操作对其所存储的数据进行相应的处理。同时,数据库在接收到其他机房发送过来的同步事件时,将根据同步事件进行数据库同步操作,保证不同机房之间业务数据的一致性。
[0029]本实施例提供的数据库可以是Redis数据库,对应的数据库操作为Redis操作,并且每个数据库操作配置有对应的键(key),可通过对键的配置记录并更新对应数据库操作的同步状态。可选的,可通过对键的配置设置不同的多机房同步策略,包括:是否同步、有效时长、键分组(key分组)等。对应的,可根据键的配置信息确定是否对相应的数据库操作进行同步,在达到有效时长时将键的同步状态重置为未同步,通过键分组确定业务相关的其他数据库操作对应的键。
[0030]其中,业务系统服务与用户进行通信并向用户提供对应的服务,例如,在用户需要发起对数据库进的相关操作时,用户可向业务系统发起数据库操作请求(例如向业务系统发起数据写入请求或数据读取请求),业务系统可响应于数据库操作请求发起对应的数据库操作。
[0031]示例性的,在接收到业务系统发起的数据可操本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据多机房同步方法,其特征在于,包括:接收业务系统发起的数据库操作,向当前机房的数据库转发所述数据库操作,以使当前机房的数据库根据所述数据库操作进行数据操作,并确定是否需要对所述数据库操作进行多机房同步;响应于需要对所述数据库操作进行多机房同步,根据所述数据库操作创建同步事件;向其他机房发送所述同步事件,以使其他机房响应于接收到的同步事件进行数据库同步。2.根据权利要求1所述的数据多机房同步方法,其特征在于,所述确定是否需要对所述数据库操作进行多机房同步,包括:将所述数据库操作对应的键在同步匹配表中进行匹配,所述同步匹配表中记录有需要进行同步的键;响应于匹配成功的匹配结果确定需要对所述数据库操作进行多机房同步;响应于匹配失败的匹配结果确定不需要对所述数据库操作进行多机房同步。3.根据权利要求1所述的数据多机房同步方法,其特征在于,所述根据所述数据库操作创建同步事件,包括:确定所述数据库操作的操作类型;响应于所述数据库操作为写操作类型,创建增量同步事件;响应于所述数据库操作为读操作类型,创建全量同步事件。4.根据权利要求3所述的数据多机房同步方法,其特征在于,所述根据所述数据库操作创建同步事件之后,还包括:确定增量同步事件对应的键的同步状态;响应于存在同步状态为未同步的键,将为未同步的键对应的增量同步事件转换为全量同步事件。5.根据权利要求3所述的数据多机房同步方法,其特征在于,所述根据所述数据库操作创建同步事件之后,还包括:确定全量同步事件对应的键对应的键分组,并确定所述键分组中其他键的同步状态,所述键分组中的键在业务上相关联;响应于所述键分组中存在同步状态为未同步的键,根据未同步的键创建全量同步事...

【专利技术属性】
技术研发人员:李文麦跃
申请(专利权)人:百果园技术新加坡有限公司
类型:发明
国别省市:

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

1