本申请实施例涉及数据库多活部署领域,具体涉及一种数据库多活部署的方法、装置、设备及介质。
背景技术:
1、随着网络的发展,为了保证数据的安全对于金融等关键基础设施,要求必须做到数据库的多活部署,即多个互联网数据中心(internet data center,idc)部署。即在一个idc出现故障,比如遇到断电、光缆被挖断、洪水等不可抗力原因后,关键的基础设施和业务还要能够提供服务,此时如果部署在多个idc的话,在一个idc出现故障的时候,可以自动将流量切换到其它正常的idc,从而避免完全不可访问的情况发生。对于业务来讲,多活部署的关键在于数据库的多活部署。数据库的多活部署要求在每个idc都部署一套完整的数据库,既包含主数据库,也包含从数据库,这样的话每个idc就能够独立的对外提供服务,不依赖其它idc。
2、相关技术中,每个独立的idc都要提前规划好数据库的数量,为了做到多活就要复制多份,机器成本成倍增加,并且需要资深技术人员进行部署,运维成本较高。
3、因此,如何提高多活部署的效率并且降低运维成本成为需要解决的问题。
技术实现思路
1、本申请实施例提供一种数据库多活部署的方法、装置、设备及介质,通过本申请的一些实施例至少能够在每个请求进入主数据中心的数据库之前进行拦截,实现对于数据库的访问控制,自动建立从数据中心,从而提高多活部署的效率并且降低运维成本。
2、第一方面,本申请提供了一种数据库多活部署的方法,应用于目标设备中的主数据中心,所述方法包括:获取所述主数据中心的访问请求,其中,所述访问请求用于对所述主数据中心中存储的内容进行变更;将所述访问请求更新至数据恢复中心,其中,所述数据恢复中心用于存储实时的数据库变更数据;响应于建立目标数据中心的指令,从所述数据恢复中心中获取相对应的全量数据备份,建立所述目标数据中心。
3、因此,与相关技术中需要人工获取数据新建目标数据中心不同的是,本申请通过在数据库之前安装多活部署模块,由多活部署模块将访问请求同步到数据恢复中心,在需要建立目标数据中心的情况下,从数据恢复中心中获取数据,建立新的数据中心,能够在每个请求进入主数据中心的数据库之前进行拦截,实现对数据库的自动统筹控制,从而提高多活部署的效率并且降低运维成本。
4、结合第一方面,在本申请的一种实施方式中,所述目标设备还包括第一从数据中心,其中,所述第一从数据中心为所述目标设备中的任意一个备用的数据中心;在所述获取所述主数据中心的访问请求之后,所述方法还包括:将所述访问请求同步转发到消息转发组件,其中,所述消息转发组件用于在所述目标设备的各数据中心之间转发消息;所述消息转发组件将所述访问请求发送至所述第一从数据中心,以使所述第一从数据中心基于所述访问请求进行数据同步。
5、因此,本申请实施例通过消息转发组件同步各数据中心之间的信息,能够实现实时的变更数据库,防止由于消息同步不及时而导致的数据库信息的缺失。
6、结合第一方面,在本申请的一种实施方式中,在所述获取所述主数据中心的访问请求之后,所述方法还包括:按照时间顺序对同一行数据所对应的各访问请求进行排序,获得访问请求序列,其中,所述各访问请求包括第一从数据中心向所述主数据中心同步的请求和/或所述主数据中心直接获取的请求;按照所述访问请求序列中的时间顺序所对应的访问请求更新数据。
7、因此,本申请实施例对其它idc同步过来的写请求和本idc内部的写请求统一发号,以确保在更新主数据库的时候都按照时间的顺序来更新,解决了在不同的idc内可能会存在修改先后顺序不一致的问题。
8、结合第一方面,在本申请的一种实施方式中,在所述建立所述目标数据中心之后,所述方法还包括:在当前使用的所述主数据中心发生故障的情况下,将所述目标数据中心的数据库变更为新的主数据库,以使针对所述主数据中心的操作切换至所述新的主数据库。
9、因此,本申请实施例通过在主数据中心发生故障的情况下,自动将主数据中心的操作切换至新的主数据库,能够及时的使用其他的数据中心的数据库替代当前主数据库,从而降低运维成本。
10、结合第一方面,在本申请的一种实施方式中,第一从数据中心是通过如下步骤进行数据库更新的:所述第一从数据中心在预设时间访问所述主数据中心的数据恢复中心,获取所述数据恢复中心中存储的数据;基于所述数据恢复中心中存储的数据进行数据库更新。
11、因此,本申请实施例通过在预设时间更新数据库,能够将设备中所有的数据库数据进行统一,防止数据库数据缺失的情况发生。
12、第二方面,本申请提供了一种数据库多活部署的装置,应用于目标设备中的主数据中心,所述装置包括:请求获取模块,被配置为获取所述主数据中心的访问请求,其中,所述访问请求用于对所述主数据中心中存储的内容进行变更;数据更新模块,被配置为将所述访问请求更新至数据恢复中心,其中,所述数据恢复中心用于存储实时的数据库变更数据;多活部署模块,被配置为响应于建立目标数据中心的指令,从所述数据恢复中心中获取相对应的全量数据备份,建立所述目标数据中心。
13、结合第二方面,在本申请的一种实施方式中,所述目标设备还包括第一从数据中心,其中,所述第一从数据中心为所述目标设备中的任意一个备用的数据中心;所述多活部署模块还被配置为:将所述访问请求同步转发到消息转发组件,其中,所述消息转发组件用于在所述目标设备的各数据中心之间转发消息;所述消息转发组件将所述访问请求发送至所述第一从数据中心,以使所述第一从数据中心基于所述访问请求进行数据同步。
14、结合第二方面,在本申请的一种实施方式中,所述多活部署模块还被配置为:按照时间顺序对同一行数据所对应的各访问请求进行排序,获得访问请求序列,其中,所述各访问请求包括第一从数据中心向所述主数据中心同步的请求和/或所述主数据中心直接获取的请求;按照所述访问请求序列中的时间顺序所对应的访问请求更新数据。
15、结合第二方面,在本申请的一种实施方式中,所述多活部署模块还被配置为:在当前使用的所述主数据中心发生故障的情况下,将所述目标数据中心的数据库变更为新的主数据库,以使针对所述主数据中心的操作切换至所述新的主数据库。
16、结合第二方面,在本申请的一种实施方式中,第一从数据中心是通过如下步骤进行数据库更新的:所述第一从数据中心在预设时间访问所述主数据中心的数据恢复中心,获取所述数据恢复中心中存储的数据;基于所述数据恢复中心中存储的数据进行数据库更新。
17、第三方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机程序,所述计算机程序由所述处理器执行时可实现如第一方面任意实施例所述的方法。
18、第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如第一方面任意实施例所述的方法。
1.一种数据库多活部署的方法,其特征在于,应用于目标设备中的主数据中心,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标设备还包括第一从数据中心,其中,所述第一从数据中心为所述目标设备中的任意一个备用的数据中心;
3.根据权利要求1或2所述的方法,其特征在于,在所述获取所述主数据中心的访问请求之后,所述方法还包括:
4.根据权利要求1或2所述的方法,其特征在于,在所述建立所述目标数据中心之后,所述方法还包括:
5.根据权利要求1或2所述的方法,其特征在于,第一从数据中心是通过如下步骤进行数据库更新的:
6.一种数据库多活部署的装置,其特征在于,应用于目标设备中的主数据中心,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述目标设备还包括第一从数据中心,其中,所述第一从数据中心为所述目标设备中的任意一个备用的数据中心;
8.根据权利要求6或7所述的装置,其特征在于,所述多活部署模块还被配置为:
9.一种电子设备,其特征在于,包括:处理器、存储器和总线;
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如权利要求1-5任一项所述方法。