多数据中心的数据同步方法、装置及电子设备、计算机可读存储介质与流程
- 国知局
- 2024-08-02 12:42:20
本技术涉及数据同步,尤其涉及一种多数据中心的数据同步方法、装置及电子设备、计算机可读存储介质。
背景技术:
1、随着互联网的迅速发展,海量数据的产生使得许多大型企业在各地建立数据中心,以提供稳定高效的产品服务。因此,对多数据中心之间数据同步的支持和研究就显得尤为重要。
2、传统的多中心数据同步方案主要包括数据存储技术同步和应用层数据同步两种方式。传统方式存在同步成本高、重用性低、业务层和持久层耦合度高、存在同步冗余数据现象等问题。
3、在基于数据存储系统的同步方式中,通常设置有支持跨数据中心数据同步的数据库,例如mongodb、hbase等,依赖特定的数据库来实现不同数据中心的数据同步。这种方案往往会限制数据只能存储在特定的数据存储系统中,灵活性较低,数据无法在异构数据源之间进行同步。而应用层的同步方式常采用星型全量数据的同步方式,将每一个数据中心的所有数据都与其它数据中心进行同步。但在实际情况中,一个数据中心并不是所有数据都需要同步至其它中心。这种全量同步的方式存在同步冗余数据的现象,占用大量的网络及io资源,数据同步的成本较高。
4、现有的一种多数据中心数据同步方法及系统,采用web服务平台接收针对对象存储的http请求并把http请求复制到web服务平台的http拦截器;当http请求不会引起数据中心的状态变化时,通过http拦截器向目标数据中心发送http请求;当http请求会引起数据中心的状态变化时,通过http拦截器向所有数据中心数据同步发送http请求。通过设置http拦截器提高数据的安全性,多个数据中心通过数据同步可以实现互为备份,当某数据中心故障时,可以迅速切换到备份的数据中心。这种方式实施成本低廉,对于现有集群(数据中心)不需要进行变更,兼容性强。然而,此种方式在进行报文重放时,未考虑到报文循环重放的问题,会导致循环重放占用大量资源且同步错误的情况。
技术实现思路
1、本技术实施例提供了一种多数据中心的数据同步方法、装置及电子设备、计算机可读存储介质,以提高多数据中心数据同步的准确性,降低对系统资源的占用以及对原业务逻辑的影响。
2、本技术实施例采用下述技术方案:
3、第一方面,本技术实施例提供一种多数据中心的数据同步方法,所述多数据中心的数据同步方法由多数据中心中的第一数据中心执行,所述多数据中心的数据同步方法包括:
4、接收当前的业务报文并对所述当前的业务报文进行处理,得到当前的业务处理数据;
5、确定所述当前的业务报文是否满足预设数据同步条件;
6、在所述当前的业务报文满足预设数据同步条件的情况下,根据所述当前的业务报文和预设同步重放标志位构造当前的同步重放报文;
7、将所述当前的同步重放报文发送至第二数据中心,以使所述第二数据中心根据所述当前的同步重放报文进行数据同步。
8、可选地,所述接收当前的业务报文并对所述当前的业务报文进行处理,得到当前的业务处理数据包括:
9、接收当前的业务报文并进行解析,得到解析后的当前的业务报文;
10、利用预设防重放机制对所述解析后的当前的业务报文进行校验;
11、在校验通过的情况下,利用预设业务处理逻辑对所述当前的业务报文进行处理,得到所述业务处理数据。
12、可选地,所述确定所述当前的业务报文是否满足预设数据同步条件包括:
13、根据预设数据同步策略确定所述当前的业务报文是否需要进行多数据中心的数据同步;
14、若需要,则确定所述当前的业务报文中的预设同步重放标志位的重放状态是否为待重放状态;
15、若是,则确定所述当前的业务报文对应的业务数据类型并查询历史同步失败数据的状态表;
16、若所述业务数据类型为无关性数据,或者所述业务数据类型为相关性数据且在历史同步失败数据的状态表中不存在历史同步失败数据,则确定所述当前的业务报文满足预设数据同步条件;
17、否则,则确定所述当前的业务报文不满足预设数据同步条件。
18、可选地,在确定所述当前的业务报文是否满足预设数据同步条件之后,所述多数据中心的数据同步方法还包括:
19、在所述业务数据类型为相关性数据且存在历史同步失败数据的情况下,获取历史同步失败数据对应的历史业务报文;
20、根据历史业务报文和预设同步重放标志位构造历史的同步重放报文;
21、将所述历史的同步重放报文发送至第二数据中心,以使所述第二数据中心根据所述历史的同步重放报文进行数据同步。
22、可选地,所述在所述当前的业务报文满足预设数据同步条件的情况下,根据所述当前的业务报文和预设同步重放标志位构造当前的同步重放报文包括:
23、在所述当前的业务报文满足预设数据同步条件的情况下,利用预设随机数生成算法生成随机数;
24、根据所述随机数和预设重放状态生成预设同步重放标志位,所述预设重放状态更新为已重放状态;
25、根据所述当前的业务报文和所述预设同步重放标志位构造当前的同步重放报文。
26、可选地,所述将所述当前的同步重放报文发送至第二数据中心,以使所述第二数据中心根据所述当前的同步重放报文进行数据同步包括:
27、根据预设数据同步策略确定所述第一数据中心对应的第二数据中心并获取第二数据中心的地址;
28、根据所述第二数据中心的地址,将所述当前的同步重放报文发送至所述第二数据中心,以使所述第二数据中心根据所述当前的同步重放报文进行数据同步。
29、可选地,在将所述当前的同步重放报文发送至第二数据中心后,所述多数据中心的数据同步方法还包括:
30、确定所述当前的同步重放报文是否同步成功;
31、在当前的同步重放报文同步失败的情况下,更新历史同步失败数据的状态表。
32、第二方面,本技术实施例还提供一种多数据中心的数据同步装置,所述多数据中心的数据同步装置应用于多数据中心中的第一数据中心,所述多数据中心的数据同步装置包括:
33、业务处理单元,用于接收当前的业务报文并对所述当前的业务报文进行处理,得到当前的业务处理数据;
34、第一确定单元,用于确定所述当前的业务报文是否满足预设数据同步条件;
35、构造单元,用于在所述当前的业务报文满足预设数据同步条件的情况下,根据所述当前的业务报文和预设同步重放标志位构造当前的同步重放报文;
36、发送单元,用于将所述当前的同步重放报文发送至第二数据中心,以使所述第二数据中心根据所述当前的同步重放报文进行数据同步。
37、第三方面,本技术实施例还提供一种电子设备,包括:
38、处理器;以及
39、被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行前述之任一所述多数据中心的数据同步方法。
40、第四方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行前述之任一所述多数据中心的数据同步方法。
41、本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:本技术实施例的多数据中心的数据同步方法,由多数据中心中的第一数据中心执行,先接收当前的业务报文并对当前的业务报文进行处理,得到当前的业务处理数据;然后确定当前的业务报文是否满足预设数据同步条件;之后在当前的业务报文满足预设数据同步条件的情况下,根据当前的业务报文和预设同步重放标志位构造当前的同步重放报文;最后将当前的同步重放报文发送至第二数据中心,以使第二数据中心根据当前的同步重放报文进行数据同步。本技术实施例的多数据中心的数据同步方法将同步重放的逻辑切入点设置在业务逻辑处理完毕后,不阻塞原有业务逻辑,以异步的方式发起同步重放操作,降低了同步功能和原业务逻辑的耦合度,对系统侵入性小,具有可重用性,且通过在构造同步重放报文时引入预定义的同步重放标志位,能够防止出现报文循环重放而占用大量资源以及数据同步错误的情况,提高了数据同步的准确性。
本文地址:https://www.jishuxx.com/zhuanli/20240802/237424.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。