一种基于数据同步的消息中间件异地容灾备份的方法与流程

文档序号:32004587发布日期:2022-11-02 12:36阅读:142来源:国知局
一种基于数据同步的消息中间件异地容灾备份的方法与流程

1.本说明书涉及计算机技术领域,具体涉及一种基于数据同步的消息中间件异地容灾备份的方法。


背景技术:

2.随着互联网技术的发展,随着业务的多样性、不断的发展变化,数据信息成为越来越重要的生产生活资源。为保证本地数据库系统的安全性,现有技术中,通常采用异地备份技术,即在异地建立一个容灾数据库系统,用于备份存储本地的数据信息,以防止发生由于本地数据库系统发生故障而丢失信息的问题。
3.但是,由于本地数据库系统和容灾数据库系统的距离原因,使得两个站点之间的数据同步会存在一定的延迟。当本地数据库系统发突发人为意外或自然性意外时,可能会因为容灾数据库系统不能及时接管业务而使得正在进行中的业务被迫中断。


技术实现要素:

4.有鉴于此,本说明书实施例提供一种基于数据同步的消息中间件异地容灾备份的方法,避免生产机房因人为、自然等原因引起的故障而影响业务的正常运行,提高容灾处理的实时性。
5.本说明书实施例提供以下技术方案:
6.本说明书实施例提供一种基于数据同步的消息中间件异地容灾备份的方法,包括:
7.根据配置服务器中的配置文件信息,配置异地容灾集群,异地容灾集群包括消息中间件备份集群,消息中间件备份集群为发送和接收生产集群中数据的集群;
8.将所述生产集群中的数据实时同步至所述异地容灾集群;
9.确定所述生产集群发生故障时,所述异地容灾集群自动接管所述生产集群中的数据业务。
10.与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:
11.通过基于消息中间件备份集群对数据进行同步备份,当生产机房出现故障后,备用机房可以实时接管生产业务,保持业务的持续性,同时,异地容灾集群可自动接管生产集群中的数据业务,无需手工切换,提高了容灾处理的实时性。
附图说明
12.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
13.图1是本说明书实施例提供的一种基于数据同步的消息中间件异地容灾备份的方
法的流程示意图;
14.图2是本说明书实施例提供的一种基于数据同步的消息中间件异地容灾备份的部署及运行流程图;
15.图3是本说明书实施例提供的一种基于数据同步的消息中间件异地容灾备份的一个具体的实施例。
具体实施方式
16.下面结合附图对本技术实施例进行详细描述。
17.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
18.要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本技术,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目和方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
19.还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本技术的基本构想,图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
20.另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
21.虽然现有技术中通常会为生产机房设置容灾备份机房,但是容灾备份机房与生产机房一般距离较远,数据切换可能会有延误,造成业务数据损失。
22.有鉴于此,本说明书实施例提供了一种基于数据同步的消息中间件异地容灾备份的方法,当生产机房出现故障时,异地容灾集群可以实时接管生产业务,避免因对接不及时带来的数据丢失等问题,保持了业务的持续性。
23.同时,服务器对生产机房的容灾节点进行实时监控,当生产机房的心跳达到阈值时,及时切换,提高了容灾处理能力的实时性。
24.以下结合附图1至附图3,说明本技术各实施例提供的技术方案。
25.实施例一
26.本说明书实施例提供一种基于数据同步的消息中间件异地容灾备份的方法,应用于idmm系统,idmm系统是一种自研的分布式消息中间件系统,如图1所示,基于数据同步的
消息中间件异地容灾备份的方法包括:
27.据配置服务器中的配置文件信息,配置异地容灾集群,异地容灾集群包括消息中间件备份集群,消息中间件备份集群为发送和接收生产集群中数据的集群;
28.将生产集群中的数据实时同步至异地容灾集群;
29.确定生产集群发生故障时,异地容灾集群自动接管生产集群中的数据业务。
30.实施中,配置服务器(configserver)管理所有业务配置数据,为生产集群和异地容灾集群提供配置支持,通过界面提供业务参数配置,并通过版本管控,提供配置版本发布。优选地,发布的配置数据通过广播方式,通知各应用组件。configserver可以实现配置统一管理和不同环境间配置的统一切换,当一个应用程序从生产集群切换到异地容灾集群,或者从异地容灾集群切换到生产集群,都可以使用configserver统一管理这些环境之间的配置,并确保该应用程序在迁移时能够拥有它运行所需要的一切配置。
31.实施中,配置服务器将配置文件信息下发至生产集群和异地容灾集群,以使得生产集群和异地容灾集群根据配置文件信息进行配置,实现在异地机房部署异地容灾集群。需要说明的是,异地容灾集群为与生产集群实现数据同步的集群,因此,异地容灾集群的包括的集群数量与生产集群的包括的集群数量相同,具体的集群数量需根据实际应用设置,在此不做限定。
32.实施中,生产集群中消息中间件集群将生产集群中的数据信息实时发送至异地容灾集群中,由消息中间件备份集群接收,实现生产集群中数据实时同步至异地容灾集群。同时,配置服务器对生产集群的容灾能力进行监控,当监测到生产集群发生故障时,异地容灾集群自动接管所述生产集群中的数据业务,有效保持生产集群中业务的连续性,为生产集群提供了一种异地容灾的能力,同时,提高了容灾处理的实时性。
33.在一些实施方式中,基于数据同步的消息中间件异地容灾备份的方法,还包括:获取承载阈值;
34.确定生产集群发生故障,包括:
35.确定生产集群中生产节点的心跳值与承载阈值之间的第一关系,当第一关系满足第一预设条件时,确定生产集群发生故障,其中,第一预设条件为心跳值低于承载阈值的条件。
36.在一个具体的实施例中,假设承载阈值为x,当配置服务器监测到生产集群中生产节点的心跳值低于x时,配置服务器确定生产集群发生故障,此时,配置服务器控制异地容灾集群接管生产集群中的数据,保证业务连续不受中断。当配置服务器监测到生产集群中生产节点的心跳值不低于x时,异地容灾集群中的消息中间件备份集群将异地容灾集群中更新的数据发送至生产集群,由消息中间件集群接收,实现将异地容灾集群中的数据同步至生产集群,并由配置服务器控制,将业务重新切换至生产集群。
37.需要说明的是,第一阈值可根据具体实际应用设置,在此不作限制。
38.实施中,如图2所示,消息中间件备份集群还包括备份broker和备份ble,其中,备份broker的数量与生产集群中broker的数量相同,备份ble的数量与生产集群中ble的数量相同。
39.消息中间件备份集群中的备份broker和消息中间件备份集群中的备份ble的属性均配置为容灾节点;
40.异地容灾集群自动接管,包括:当前使用的生产集群中生产节点的数据业务切换至异地容灾集群中对应的容灾节点。
41.实施中,broker由一个或多个任务节点组成,同一环节下的多个任务节点支持并发执行,也支持顺序执行。broker主要用于数据查询,broker可以实时获取到消息中间件备份集群中的数据发送到了哪个节点,从而准确的查询到数据信息,broker把每次的查询结果存储在本地缓存中,每次收到查询请求时,可在已缓存数据中查询。
42.需要说明的是,broker的任务节点数量以及同一环节下多任务节点的执行顺序,具体可根据实际应用情况设置,在此不做限定。
43.ble(business logic engine)为业务处理器,用于实现基于内存的应用数据处理,可以根据应用的具体功能需求实现对应用数据的进一步加工。
44.当配置服务器监测到生产集群生故障时,获取生产节点所进行的数据业务,启动容灾节点上与之对应的数据业务,并进行切换,实现将生产集群中数据业务切换至异地容灾集群中。当配置服务器监测到生产集群可正常运行后,异地容灾集群中的消息中间件备份集群将异地容灾集群中的最新数据发送至生产集群,由消息中间件集群接收,获取容灾节点所进行的数据业务,启动生产节点上与之对应的数据业务,并进行切换,将数据业务重新切换至生产集群。减少网络传输,提高了容灾处理的实时性,实现了以数据的无延迟同步的方式支持容灾的无感知切换的效果。
45.在一些实施方式中,异地容灾集群还包括:分布式数据库备份集群,分布式数据库备份集群为存储落地数据的集群。
46.优选地,分布式数据库备份集群为由mysql数据库组成的集群。
47.实施中,分布式数据库在物理上可以存储在不同的物理节点,一个应用程序通过网络的配置,可以连接在不同地理位置上的数据库信息,优选地,使用mysql数据库作为底层数据库。
48.在一个具体的实施例中,如图3所示,gslb(global server load balance,全局负载均衡)基于dns(domain name system,域名系统)实现,通过判断服务器的负载,比如生产节点,判断服务器的可用性以及服务器的链路状况,从而决定是否由生产集群提供服务。
49.实施中,在生产机房分别部署部署消息中间件集群和分布式数据库集群,其中,分布式数据库集群用于存储生产集群中的落地数据。在异地容灾机房分别部署消息中间件备份集群和分布式数据库备份集群,其中,分布式数据库备份集群用于存储异地容灾集群中的落地数据。
50.优选地,存储节点中使用mysql数据库实现数据存储,计算节点的中间件使用基于mysql协议的数据中间层db proxy。其中,mysql数据库之间的数据传输使用mgr(mysql group replication),即mysql组复制,各个主节点(master)之间的传输为同步传输,主节点到从节点(slave)的传输有会有复制延迟。由于mgr的传输方式能保障所有节点都有一份完整数据,并且支持故障自动检测及自动切换,既保证了数据一致性,也可实现自动切换。
51.实施中,生产集群与异地容灾集群的实时同步通过otter工具实现,otter工具支持数据的双向同步,既可以将生产集群中mysql数据库中的数据同步至异地容灾集群的mysql数据库中,也可以将异地容灾集群中mysql数据库中的数据同步至生产集群的mysql数据库中。
52.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例侧重说明的都是与其他实施例的不同之处。尤其,对于后面说明的方法实施例而言,由于其与系统是对应的,描述比较简单,相关之处参见系统实施例的部分说明即可。
53.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1