主数据库域名切换控制方法、计算机设备和存储介质与流程

文档序号:16097589发布日期:2018-11-27 23:46阅读:311来源:国知局

本申请涉及数据库技术领域,特别是涉及一种主数据库域名切换控制方法、计算机设备和存储介质。



背景技术:

随着数据库技术的发展,出现了一主多从模式的数据库集群技术。换而言之,数据库集群包含一个可读写的主数据库和多个只读的从数据库。目前,通常会为主数据库分配一个VIP(Virtual Internet Protocol,虚拟网络地址),终端通过该VIP访问主数据库,进而将数据写入主数据库中。当进行主数据库切换时,将VIP由当前主数据库切换至另一主数据库,即将该VIP重新分配至另一主数据库,以使得终端根据该VIP访问另一主数据库。

然而,该种主数据库的访问方式需要大量使用VIP,且当系统无响应时可能造成VIP切换失败,从而导致主数据库切换失败,由此导致数据库集群中的主数据库不能被成功访问。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够确保主数据库能够被成功访问的主数据库域名切换控制方法、装置、计算机设备和存储介质。

一种主数据库域名切换控制方法,所述方法包括:

接收终端发送的主数据库切换指令;

根据所述主数据库切换指令获取数据库集群对应的配置文件;所述配置文件包括所述数据库集群中的当前主数据库的网络地址和域名;

根据所述配置文件向域名管理服务器发送域名无效指令;所述域名无效指令用于指示所述域名管理服务器,删除所述当前主数据库的网络地址和域名之间的映射关系;

当接收到所述域名管理服务器反馈的表示成功删除所述当前主数据库的网络地址和域名之间的映射关系的第一提示信息时,根据所述配置文件进行主数据库切换操作,获得新的主数据库;

当主数据库切换操作完成时,向所述域名管理服务器发送第一域名切换指令;所述第一域名切换指令用于指示所述域名管理服务器建立所述新的主数据库的网络地址和所述当前主数据库的域名之间的映射关系。

一种主数据库域名切换控制装置,所述装置包括:

接收模块,用于接收终端发送的主数据库切换指令;

获取模块,用于根据所述主数据库切换指令获取数据库集群对应的配置文件;所述配置文件包括所述数据库集群中的当前主数据库的网络地址和域名;

第一发送模块,用于根据所述配置文件向域名管理服务器发送域名无效指令;所述域名无效指令用于指示所述域名管理服务器,删除所述当前主数据库的网络地址和域名之间的映射关系;

切换模块,用于当接收到所述域名管理服务器反馈的表示成功删除所述当前主数据库的网络地址和域名之间的映射关系的第一提示信息时,根据所述配置文件进行主数据库切换操作,获得新的主数据库;

第二发送模块,用于当主数据库切换操作完成时,向所述域名管理服务器发送第一域名切换指令;所述第一域名切换指令用于指示所述域名管理服务器建立所述新的主数据库的网络地址和所述当前主数据库的域名之间的映射关系。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

接收终端发送的主数据库切换指令;

根据所述主数据库切换指令获取数据库集群对应的配置文件;所述配置文件包括所述数据库集群中的当前主数据库的网络地址和域名;

根据所述配置文件向域名管理服务器发送域名无效指令;所述域名无效指令用于指示所述域名管理服务器,删除所述当前主数据库的网络地址和域名之间的映射关系;

当接收到所述域名管理服务器反馈的表示成功删除所述当前主数据库的网络地址和域名之间的映射关系的第一提示信息时,根据所述配置文件进行主数据库切换操作,获得新的主数据库;

当主数据库切换操作完成时,向所述域名管理服务器发送第一域名切换指令;所述第一域名切换指令用于指示所述域名管理服务器建立所述新的主数据库的网络地址和所述当前主数据库的域名之间的映射关系。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

接收终端发送的主数据库切换指令;

根据所述主数据库切换指令获取数据库集群对应的配置文件;所述配置文件包括所述数据库集群中的当前主数据库的网络地址和域名;

根据所述配置文件向域名管理服务器发送域名无效指令;所述域名无效指令用于指示所述域名管理服务器,删除所述当前主数据库的网络地址和域名之间的映射关系;

当接收到所述域名管理服务器反馈的表示成功删除所述当前主数据库的网络地址和域名之间的映射关系的第一提示信息时,根据所述配置文件进行主数据库切换操作,获得新的主数据库;

当主数据库切换操作完成时,向所述域名管理服务器发送第一域名切换指令;所述第一域名切换指令用于指示所述域名管理服务器建立所述新的主数据库的网络地址和所述当前主数据库的域名之间的映射关系。

上述主数据库域名切换控制方法、装置、计算机设备和存储介质,接收到终端发送的主数据库切换指令时获取数据库集群对应的配置文件,进而根据配置文件进行主数据库切换,并当主数据库切换操作完成时对应切换主数据库域名。主数据库切换前通过域名管理服务器将当前主数据库的域名置为无效,以保证主数据库切换过程中数据一致性。当主数据库切换操作完成时,借助于域名管理服务器建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系,以使得终端根据已有的域名成功访问新的主数据库,从而保证了数据库集群中的主数据库能够被成功访问。

附图说明

图1为一个实施例中主数据库域名切换控制方法的应用场景图;

图2为一个实施例中主数据库域名切换控制方法的流程示意图;

图3为另一个实施例中主数据库域名切换控制方法的流程示意图;

图4为一个实施例中主数据库域名切换控制装置的结构框图;

图5为另一个实施例中主数据库域名切换控制装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的主数据库域名切换控制方法,可以应用于如图1所示的应用环境中。其中,终端110和域名管理服务器120通过网络分别与监控管理服务器130进行通信。监控管理服务器130通过网络与数据库集群100进行通信。数据库集群100包括主数据库102和各从数据库(104、106和108),主数据库102分别与各从数据库(104、106和108)进行通信,各从数据库用于备份主数据库的数据。其中,数据库集群100中从数据库数量不限于图示中的三个,可以根据实际情况部署更多或更少从数据库。数据库集群100中的各数据库可以部署在相同机房,也可以部署在不同机房。

监控管理服务器130根据终端110发送的主数据库切换指令获取数据库集群对应的配置文件,进而根据配置文件向域名管理服务器120发送域名无效指令。接收到域名管理服务器120对应反馈的提示信息时,监控管理服务器130触发切换主数据库,获取新的主数据库。主数据库切换操作完成时,监控管理服务器130向域名管理服务器120发送域名切换指令,以通过域名管理服务器120完成切换主数据库域名的相关操作。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,域名管理服务器120和监控管理服务器130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种主数据库域名切换控制方法,以该方法应用于图1中的监控管理服务器为例进行说明,包括以下步骤:

S202,接收终端发送的主数据库切换指令。

其中,主数据库切换指令是触发主数据库切换操作的指令。主数据库切换指令用于指示监控管理服务器进行主数据库切换。主数据库切换是指将当前主数据库切换为目标从数据库,获得新的主数据库。换而言之,主数据库切换是指利用目标从数据库替代当前主数据库作为数据库集群的新的主数据库。

数据库集群是由多于一个的数据库组成的集群。数据库集群中包括一个主数据库和至少一个的从数据库。主数据库具有读写属性,即主数据库支持数据写入和数据读取,从数据库用于备份主数据库的数据,从数据库具有只读属性,即从数据库仅支持数据读取而不支持数据写入。

具体地,监控管理服务器接收终端通过专线网络发送的主数据库切换指令。监控管理服务器也可以接收终端通过外网VPN(Virtual Private Network,虚拟专用网络)或者公共网络发送的主数据库切换指令。终端检测到指定触发操作时对应生成主数据库切换指令,并将所生成的主数据库切换指令通过有线或无线方式发送至监控管理服务器。指定触发操作是预先指定的触发操作,比如对终端上预设控件的触发,或者在终端指定界面的长按或滑动操作。

S204,根据主数据库切换指令获取数据库集群对应的配置文件;配置文件包括数据库集群中的当前主数据库的网络地址和域名。

其中,配置文件是根据各配置项预先生成的文件数据。配置文件具体可以是根据数据库集群中各数据库各自对应的配置项预先生成的文件数据。配置项是指各项配置参数,比如数据库对应的网络地址、端口、域名、数据库集群标识、主从角色标识和机房标识等。配置项用于描述数据库的各项配置,根据配置项可对应确定数据库。

具体地,监控管理服务器接收到主数据库切换指令时,根据所接收到的主数据库切换指令从本地获取数据库集群对应的配置文件,进而根据所获取的配置文件确定数据库集群中的当前主数据库的网络地址和域名。监控管理服务器可以根据接收到的主数据库切换指令从其他计算机设备获取配置文件,比如发送主数据库切换指令的终端,或者生成并存储配置文件的服务器。

在一个实施例中,监控管理服务器根据接收到的主数据库切换指令获取相应的数据库集群标识,查询包含所获取的数据库集群标识的配置文件,根据查询到的配置文件确定该数据库集群标识所对应的数据库集群中当前主数据库的网络地址和域名。

在一个实施例中,监控管理服务器通过解析接收到的主数据库切换指令获取相应的数据库集群标识。监控管理服务器接收到终端发送的主数据库切换指令时,根据所接收到的主数据库切换指令从该终端获取相应的数据库集群标识。

S206,根据配置文件向域名管理服务器发送域名无效指令;域名无效指令用于指示域名管理服务器,删除当前主数据库的网络地址和域名之间的映射关系。

其中,域名管理服务器是用于管理各数据库域名的服务器。域名管理服务器具体是管理各数据库的域名和网络地址之间的映射关系的服务器。域名管理服务器用于建立或删除各数据库的域名和网络地址之间的映射关系。域名管理服务器还用于根据接收到的域名,以及该域名对应的映射关系解析获取相应的网络地址,以使得终端根据域名即可获得相应的网络地址,进而根据所获得的网络地址成功访问相应的数据库。

域名无效指令是触发将域名置为无效状态的指令。域名无效指令具体可以是触发删除网络地址和域名之间的映射关系的指令。在本实施例中,域名无效指令用于指示域名管理服务器删除数据库集群中当前主数据库的网络地址和域名之间的映射关系,以将当前主数据库的域名置为无效状态。当前主数据库的域名置为无效状态时,终端通过该域名不能成功访问该当前主数据库。

映射关系是指所建立的网络地址和域名之间的对应关系。域名作为映射关系中的自变量,网络地址作为映射关系中的因变量,根据已知的域名和对应的映射关系即可确定相应的网络地址。

具体地,当监控管理服务器根据接收到的主数据库切换指令触发切换主数据库时,监控管理服务器根据配置文件触发生成域名无效指令,并将所生成的域名无效指令发送至域名管理服务器。域名管理服务器根据接收到的域名无效指令获取当前主数据库的网络地址和域名,根据所获取的网络地址和域名在本地查询对应的映射关系,从本地删除所查询到的映射关系。当成功删除所查询到的映射关系时,域名管理服务器生成提示信息,并将该提示信息反馈至监控管理服务器。

在一个实施例中,监控管理服务器根据所获取的配置文件确定当前主数据库的网络地址和域名,根据所确定的网络地址和域名生成域名无效指令。域名管理服务器解析该域名无效指令即可获得该当前主数据库的网络地址和域名。

在一个实施例中,域名管理服务器根据所接收到的域名无效指令从监控管理服务器获取当前主数据库的网络地址和域名。在一个实施例中,域名管理服务器根据接收到的域名无效指令获取对应的配置文件,进而根据所获取的配置文件确定当前主数据库的网络地址和域名。

在一个实施例中,域名管理服务器上部署有DNS(Domain Name System,域名系统),由DNS根据接收到的域名无效指令删除当前主数据库的网络地址和域名之间的映射关系。类似地,由DNS根据接收到的域名切换指令建立指定网络地址和指定域名之间的映射关系。指定网络地址比如当前主数据库和目标从数据库各自的网络地址,指定域名比如当前主数据库和目标从数据库各自的域名。此外,由DNS根据接收到的域名和对应的映射关系解析获得与所接收到的域名对应的网络地址。

S208,当接收到域名管理服务器反馈的表示成功删除当前主数据库的网络地址和域名之间的映射关系的第一提示信息时,根据配置文件进行主数据库切换操作,获得新的主数据库。

其中,第一提示信息是用于提示成功删除当前主数据库的网络地址和域名之间的映射关系的信息。第一提示信息具体可以由数字、字母和符号等中的至少一种组成,比如1表示成功删除映射关系。新的主数据库是指主数据库切换完成后数据库集群的主数据库。主数据库切换是指由新的主数据库替代当前主数据库,作为主数据库切换完成后数据库集群的主数据库。

具体地,监控管理服务器接收域名管理服务器对应于域名无效指令反馈的提示信息。当接收到的提示信息表示成功删除当前主数据库的网络地址和域名之间的映射关系时,监控管理服务器根据配置文件进行主数据库切换操作,主数据库切换操作完成时获得新的主数据库。

在一个实施例中,监控管理服务器根据配置文件进行主数据库切换的具体步骤包括:监控管理服务器根据配置文件从数据库集群中选择用作新的主数据库的从数据库,并将当前主数据库切换为目标从数据库。换而言之,监控管理服务器利用从数据库集群中选择的从数据库替代当前主数据库作为数据库集群的主数据库,从而获得数据库集群的新的主数据库。

在一个实施例中,当接收到的提示信息表示删除当前主数据库的网络地址和域名之间的映射关系失败时,监控管理服务器向域名管理服务器再次发送域名无效指令。再次发送的域名无效指令用于再次指示域名管理服务器删除当前主数据库的网络地址和域名之间的映射关系。

S210,当主数据库切换操作完成时,向域名管理服务器发送第一域名切换指令;第一域名切换指令用于指示域名管理服务器建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系。

其中,域名切换指令是触发域名切换操作的指令。域名切换指令具体可以是触发对新的主数据库进行域名切换的指令。第一域名切换指令用于区别于其他域名切换指令,比如第二域名切换指令。第一域名切换指令用于指示域名管理服务器根据当前主数据库的域名更新所获取的新的主数据库的域名。

具体地,当主数据库切换操作完成获得新的主数据库时,监控管理服务器生成第一域名切换指令,将所生成的第一域名切换指令发送至域名管理服务器。域名管理服务器根据接收到的第一域名切换指令分别获取当前主数据库的域名和新的主数据库的网络地址,并建立所获取的当前主数据库的域名和新的主数据库的网络地址之间的映射关系,以完成主数据库域名的切换。

在一个实施例中,域名管理服务器根据接收到的第一域名切换指令获取新的主数据库的网络地址和域名,以及当前主数据库的域名。域名管理服务器根据所获取到的新的主数据库的网络地址和域名查询该网络地址和域名之间的映射关系,并从本地删除所查询到的映射关系。当成功删除新的主数据库的网络地址和域名之间的映射关系时,域名管理服务器建立新的主数据库的网络地址与当前主数据库的域名之间的映射关系。

在一个实施例中,域名管理服务器接收到第一域名切换指令时,通过解析该第一域名切换指令获得当前主数据库的域名和新的主数据库的网络地址。域名管理服务器也可以根据接收到的第一域名切换指令从监控管理服务器获取当前主数据库的域名和新的主数据库的网络地址。

上述主数据库域名切换控制方法,接收到终端发送的主数据库切换指令时获取数据库集群对应的配置文件,进而根据配置文件进行主数据库切换操作,当主数据库切换操作完成时对应切换主数据库域名。主数据库切换前通过域名管理服务器将当前主数据库的域名置为无效,以保证主数据库切换过程中数据一致性。当主数据库切换操作完成时,借助于域名管理服务器建立新的主数据库的网络地址和当前主数据库的域名的映射关系,以使得终端根据已有的域名成功访问新的主数据库,从而保证了数据库集群中的主数据库能够被成功访问。

在一个实施例中,上述主数据库域名切换控制方法,还包括:当接收到域名管理服务器反馈的表示成功建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系的第二提示信息时,向域名管理服务器发送第二域名切换指令;第二域名切换指令用于指示域名管理服务器建立当前主数据库的网络地址与新的主数据库的域名之间的映射关系。

其中,第二提示信息是用于提示成功建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系的信息。第二域名切换指令是触发切换当前主数据库的域名的指令。第二域名切换指令用于指示域名管理服务器根据新的主数据库在主数据库切换之前对应的域名更新当前主数据库的域名。

具体地,当域名管理服务器根据接收到的第一域名切换指令成功建立当前主数据库的域名和新的主数据库的网络地址之间的映射关系时,域名管理服务器生成表示成功建立映射关系的第二提示信息,将所生成的第二提示信息反馈至监控管理服务器。监控管理服务器接收到表示成功建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系的第二提示信息时,生成第二域名切换指令,将所生成的第二域名切换指令发送至域名管理服务器。

进一步地,域名管理服务器根据接收到的第二域名切换指令获取当前主数据库的网络地址,以及新的主数据库在主数据库切换之间对应的域名,建立所获取的网络地址和域名之间的映射关系。

在一个实施例中,监控管理服务器接收到第二提示信息时,根据配置文件获取当前主数据库的网络地址,以及新的主数据库在主数据库切换之间对应的域名,根据所获取的网络地址和域名生成第二域名切换指令,并将所生成的第二域名切换指令发送至域名管理服务器。域名管理服务器解析所接收到的第二域名切换指令,获得当前主数据库的网络地址,以及新的主数据库在主数据库切换之间对应的域名。

在一个实施例中,域名管理服务器根据新的主数据库在主数据库切换之间对应的域名查询该域名与新的主数据库的网络地址之间的映射关系,删除查询到的映射关系。成功删除所查询到的映射关系时,域名管理服务器建立该域名与当前主数据库的网络地址之间的映射关系。

上述实施例中,当新的主数据库的域名切换完成后,通过域名管理服务器切换当前主数据库的域名,以达到当前主数据库和新的主数据库域名相互对换的效果。这样,终端根据新的主数据库在主数据库切换之间对应的域名即可成功访问当前主数据库。

在一个实施例中,根据配置文件进行主数据库切换操作,获得新的主数据库包括:根据配置文件从数据库集群中,选择目标从数据库;将所述当前主数据库切换为目标从数据库,获得新的主数据库。

其中,主从关系是指数据库集群中主数据库与各从数据库之间的对应关系。主数据库具有读写属性,即支持数据写入操作和数据读取操作。从数据库具有只读属性,即仅支持数据读取操作而支持数据写入操作。数据库集群中的各从数据库用于备份主数据库的数据,主数据库中更新的数据会同步至各从数据库,以将更新的数据备份至各从数据库。主数据库与从数据库之间的主从关系建立后,从数据库即可从主数据库中同步写入主数据库中的数据。

对于数据库集群中的各从数据库,配置文件中的配置项还包括各从数据库切换为主数据库的优先级标识、候选从数据库标识、非候选从数据库标识和各从数据库各自对应的增量数据量等。切换为主数据库的优先级标识用于标识相应从数据库在进行主数据库切换时被选作为新的主数据库的优先级。优先级标识用于表示在进行主数据库切换时将当前主数据库切换为该优先级标识对应的从数据库的可能性。从数据库对应的增量数据量是指当前主数据库相对于该从数据库的增量数据量。增量数据量是增量数据的数量。增量数据是指当前主数据库与从数据库之间的差异数据。

候选从数据库标识用于标识在进行主数据库切换时可以被选作为新的主数据库的从数据库。候选从数据库标识对应的从数据库在进行主数据库切换时可以被选作为新的主数据库。非候选从数据库标识用于标识在进行主数据库切换时不能被选作为新的主数据库的从数据库。非候选标识对应的从数据库在进行主数据库切换时不能被选作为新的主数据库。

具体地,监控管理服务器接收到域名管理服务器反馈的表示成功删除当前主数据库的网络地址和域名之间的映射关系的提示信息时,根据配置文件获取数据库集群中各从数据库各自对应的配置项,根据所获取的配置项在数据库集群中的各从数据库中选择目标从数据库。监控管理服务器将数据库集群中的当前主数据库切换为目标从数据库,获得新的主数据库。

在一个实施例中,监控管理服务器获得新的主数据库时,分别建立新的主数据库与数据库集群中去除目标从数据库后的各从数据库之间的主从关系。

在一个实施例中,监控管理服务器进行主数据库切换时将目标从数据库配置为数据库集群的主数据,获得新的主数据库,并将当前主数据库配置为数据库集群的从数据库,获得新的从数据库。监控管理服务器建立新的主数据库与新的从数据库之间的主从关系。

在一个实施例中,监控管理服务器根据配置文件中各从数据库切换为主数据库的优先级标识从各从数据库中选择目标从数据库。比如,监控管理服务器根据配置文件中的优先级标识从各从数据库中选择优先级最高的从数据库,作为目标从数据库。

在一个实施例中,监控管理服务器根据配置文件中的候选从数据库标识从各从数据库筛选从数据库,再从筛选出的从数据库中选择目标从数据库。比如,从筛选出的从数据库中选择优先级最高的从数据库,作为目标从数据库。

在一个实施例中,监控管理服务器在数据库集群中的各从数据库中,确定剔除非候选从数据库标识对应的从数据库,再从所确定的从数据库中选择目标从数据库。比如,从所确定的从数据库中选择增量数据量最小的从数据库,作为目标从数据库。

上述实施例中,根据配置文件从数据库集群中选择用作新的主数据库的目标从数据库,将当前主数据库切换为目标从数据库,以利用新的主数据库替代当前主数据库接受终端的写入操作。

在一个实施例中,配置文件包括当前主数据库和各从数据库各自对应的机房标识;根据配置文件从数据库集群中,选择目标从数据库,包括:根据当前主数据库对应的机房标识,和各从数据库各自对应的机房标识从数据库集群中筛选从数据库;根据配置文件从筛选出的从数据库中选择目标从数据库。

其中,机房标识用于唯一标识机房。机房标识可以由数字、字母和符号等中的至少一种组成。机房中部署的各数据库与该机房的机房标识相对应。

具体地,监控管理服务器根据配置文件分别获取数据库集群中的主数据库和各从数据库各自对应的机房标识,根据所获取的主数据库和各从数据库各自对应的机房标识,从数据库集群中的各从数据库中筛选机房标识与主数据库对应的机房标识相匹配的从数据库。监控管理服务器根据配置文件中、筛选出的各从数据库各自对应的配置项,从所筛选出的各从数据库中选择的从数据库。

在一个实施例中,监控管理服务器将主数据库对应的机房标识确定为候选机房标识,将该候选机房标识对应的从数据库确定为候选从数据库,根据配置文件从候选从数据库中选择目标从数据库。其中,根据配置文件从候选从数据库中选择目标从数据库的方法可参照上述多于一个的实施例中所提供的方法。

在一个实施例中,监控管理服务器根据数据库集群中主数据库和各从数据库各自对应的机房标识,在各从数据库中确定剔除机房标识与主数据库对应的机房标识相匹配的从数据库后的从数据库,根据配置文件中的配置项从所确定的从数据库中选择目标从数据库。

在一个实施例中,监控管理服务器根据配置文件确定数据库集群中的各从数据库,分别获取各从数据库各自对应的配置信息,根据配置信息在各从数据库中筛选从数据库,再从筛选出的从数据库中选择目标从数据库。其中,配置信息是预先配置于从数据库的信息,比如是否存在二进制日志文件。在一个实施例中,监控管理服务器根据配置信息对根据机房标识筛选出的从数据库进行再次筛选,进而从再次筛选出的从数据库中选择目标从数据库。

上述实施例中,根据数据库集群中各数据库各自对应的机房标识从数据库集群中的各从数据库中筛选从数据库,再从筛选出的从数据库中选择目标从数据库,这样提高了从数据库的选择效率,从而提高了主数据库的切换效率。

在一个实施例中,将当前主数据库切换为目标从数据库,获得新的主数据库包括:将当前主数据库的读写属性参数更新为只读属性参数;根据当前主数据库的数据更新目标从数据库中的数据;当目标从数据库与当前主数据库数据一致时,将目标从数据库的只读属性参数更新为读写属性参数,获得新的主数据库。

其中,读写属性是指可读可写的特征属性。读写属性具体是指可写入数据且可读取数据的特征属性。读写属性用于表示主数据库支持数据写入且支持数据读取。只读属性是指只可读不可写的特征属性。只读属性具体是指可以读取数据但不可以写入数据的特征属性。只读属性用于表示从数据库支持数据读取但不支持数据写入。

具体地,监控管理服务器根据配置文件在数据库集群中选择目标从数据库时,将当前主数据库的读写属性参数更新为只读属性参数,以将当前主数据库的读写属性配置为只读属性。进一步地,监控管理服务器确定当前主数据库相对于目标从数据库的增量数据,根据所确定的增量数据更新目标从数据库的数据,即将所确定的增量数据备份至目标从数据库。当目标从数据库的数据更新完成时,该目标从数据库与当前主数据库数据一致,监控管理服务器将目标从数据库的只读属性参数更新为读写属性参数,以将目标从数据库的只读属性配置为读写属性,从而获得新的主数据库。

在一个实施例中,监控管理服务器获取新的主数据库时,分别确定该新的主数据库相对于各从数据库的增量数据,根据所确定的增量数据分别对应更新各从数据库的数据。当新的主数据库与各从数据库的数据一致时,分别建立新的主数据库与各从数据库之间的主从关系。

上述实施例中,将当前主数据库切换为所选择的目标从数据库时,将当前主数据库的可读属性配置为只读属性,以使得当前主数据库不能被成功写入数据,从而保证数据一致性。进一步地,将目标从数据库的只读属性配置为读写属性,以使得新的主数据库能够被成功写入数据。

在一个实施例中,上述主数据库域名切换控制方法,还包括:获取配置文件;根据配置文件确定当前主数据库;向当前主数据库写入指定字段数据;当判定写入失败时,执行向域名管理服务器发送域名无效指令的步骤。

其中,指定字段数据是预先指定的字段值,比如当前时间对应的时间戳。写入失败是指未成功将指定字段数据写入主数据库中。

具体地,监控管理服务器按照预设周期从本地获取配置文件,根据所获取的配置文件中的主从角色标识确定数据库集群中的当前主数据库,并根据配置文件获取所确定的当前主数据库的网络地址。监控管理服务器获取指定字段数据,将所获取的指定字段数据根据所获取的网络地址写入当前主数据库。当判定向主数据库写入指定字段数据失败时,监控管理服务器判定当前主数据库运行故障,向域名管理服务器发送域名无效指令,进而触发切换当前主数据库。

在一个实施例中,当向当前主数据库写入指定字段数据达到预设时长时,监控管理服务器仍未成功向当前主数据库写入该指定字段数据,则判定写入失败。在一个实施例中,当判定写入失败时,监控管理服务器生成写入控制指令,并将所生成的写入控制指令发送至监控服务器,以指示监控服务器通过向当前主数据库写入指定字段数据来确定当前主数据库的运行情况。

在一个实施例中,在当前主数据库运行故障时,监控管理服务器根据配置文件获取当前主数据库所在服务器对应的带外设备的网络地址,根据该网络地址向带外设备发送指示关闭该带外设备所对应的服务器的电源的关闭指令。带外设备根据接收到的关闭指令通过区别于数据网络的专用管理通道控制相应服务器的电源,以达到关闭该服务器的效果。其中,带外设备是配置于服务器上的硬件设备,通过专用管理通道控制服务器的电源。

上述实施例中,通过向当前主数据库写入指定字段数据监控当前主数据库的运行情况,当判定写入失败时,表明当前主数据库运行故障,则通过域名管理服务器将当前主数据库的域名置为无效,以使得当前主数据库不能被成功写入数据,从而保证数据一致性。进一步地,触发切换当前主数据库,以使得新的主数据库能够被成功写入数据,从而保证数据库集群的正常运行。

在一个实施例中,上述主数据库域名切换控制方法,还包括:当判定写入失败时,触发生成表示主数据库故障的告警信息;将告警信息推送至终端。

其中,告警信息是用于触发告警的信息。具体地,当监控管理服务器向当前主数据库写入指定字段数据失败时,表明当前主数据库运行故障,监控管理服务器触发生成表示主数据库故障的告警信息,并将所生成的告警信息发送至终端,以通过终端将所生成的告警信息展示给用户。

在一个实施例中,当主数据库切换操作完成时,监控管理服务器通过短信或电子邮件向终端推送该次主数据库切换的切换结果。在一个实施例中,监控管理服务器创建监控管理进程,由所创建的监控管理进程实现上述各实施例中的主数据库域名切换控制方法。当接收到域名管理服务器反馈的与第一域名切换控制指令对应的、表示成功建立映射关系的提示信息时,监控管理服务器关闭所所创建的监控管理进程,并重新创建监控管理进程,由重新创建的监控管理进程继续执行各实施例中的主数据库域名切换控制方法。

上述实施例中,在当前主数据库运行故障时,触发告警信息,以使得用户能够及时了解到该数据库集群中的当前主数据库的运行情况。

如图3所示,在一个实施例中,提供了一种主数据库域名切换控制方法,该方法具体包括以下步骤:

S302,接收终端发送的主数据库切换指令。

S304,根据主数据库切换指令获取数据库集群对应的配置文件;配置文件包括数据库集群中的当前主数据库的网络地址和域名。

S306,根据配置文件向域名管理服务器发送域名无效指令;域名无效指令用于指示域名管理服务器,删除当前主数据库的网络地址和域名之间的映射关系。

S308,当接收到域名管理服务器反馈的表示成功删除当前主数据库的网络地址和域名之间的映射关系的第一提示信息时,根据当前主数据库对应的机房标识,和各从数据库各自对应的机房标识从数据库集群中筛选从数据库。

S310,根据配置文件从筛选出的从数据库中选择目标从数据库。

S312,将当前主数据库的读写属性参数更新为只读属性参数。

S314,根据当前主数据库的数据更新目标从数据库中的数据。

S316,当目标从数据库与当前主数据库数据一致时,将目标从数据库的只读属性参数更新为读写属性参数,获得新的主数据库。

S318,当主数据库切换操作完成时,向域名管理服务器发送第一域名切换指令;第一域名切换指令用于指示域名管理服务器建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系。

S320,接收到域名管理服务器对应于第一域名切换指令反馈的第二提示信息时,向域名管理服务器发送第二域名切换指令;第二域名切换指令用于指示域名管理服务器建立当前主数据库的网络地址与新的主数据库的域名之间的映射关系。

S322,获取配置文件。

S324,根据配置文件确定当前主数据库。

S326,向当前主数据库写入指定字段数据;当判定写入失败时,执行步骤S306。

上述实施例中,接收到主数据库切换指令或者通过向当前主数据库写入指定字段数据库判定当前主数据库运行故障时,触发切换当前主数据库,以实现数据库集群中主数据库故障的转移,从而保证主数据库能够被成功访问。具体地,主数据库切换之前将当前主数据库的域名置为无效,以保证数据一致性,主数据库切换操作完成后根据当前主数据库的域名更新新的主数据库的域名,以保证终端能够根据当前主数据库的域名成功访问新的主数据库。

应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种主数据库域名切换控制装置400,包括:接收模块401、获取模块402、第一发送模块403、切换模块404和第二发送模块405,其中:

接收模块401,用于接收终端发送的主数据库切换指令。

获取模块402,用于根据主数据库切换指令获取数据库集群对应的配置文件;配置文件包括数据库集群中的当前主数据库的网络地址和域名。

第一发送模块403,用于根据配置文件向域名管理服务器发送域名无效指令;域名无效指令用于指示域名管理服务器,删除当前主数据库的网络地址和域名之间的映射关系。

切换模块404,用于当接收到域名管理服务器反馈的表示成功删除当前主数据库的网络地址和域名之间的映射关系的第一提示信息时,根据配置文件进行主数据库切换操作,获得新的主数据库。

第二发送模块405,用于当主数据库切换操作完成时,向域名管理服务器发送第一域名切换指令;第一域名切换指令用于指示域名管理服务器建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系。

如图5所示,在一个实施例中,主数据库域名切换控制装置400还包括:第三发送模块406。第三发送模块406,用于当接收到域名管理服务器反馈的表示成功建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系的第二提示信息时,向域名管理服务器发送第二域名切换指令;第二域名切换指令用于指示域名管理服务器建立当前主数据库的网络地址与新的主数据库的域名之间的映射关系。

在一个实施例中,切换模块404,还用于根据配置文件从数据库集群中,选择目标从数据库;将当前主数据库切换为目标从数据库,获得新的主数据库。

在一个实施例中,配置文件包括当前主数据库和各从数据库各自对应的机房标识;切换模块404,还用于根据当前主数据库对应的机房标识,和各从数据库各自对应的机房标识从数据库集群中筛选从数据库;根据配置文件从筛选出的从数据库中选择目标从数据库。

在一个实施例中,切换模块404,还用于将当前主数据库的读写属性参数更新为只读属性参数;根据当前主数据库的数据更新目标从数据库中的数据;当目标从数据库与当前主数据库数据一致时,将目标从数据库的只读属性参数更新为读写属性参数,获得新的主数据库。

在一个实施例中,主数据库域名切换控制装置400还包括:主数据库监控模块407。主数据库监控模块407,用于获取配置文件;根据配置文件确定当前主数据库;向当前主数据库写入指定字段数据;当判定写入失败时,使得第一发送模块403执行向域名管理服务器发送域名无效指令的步骤。

在一个实施例中,主数据库监控模块407,还用于当判定写入失败时,触发生成表示主数据库故障的告警信息;将告警信息推送至终端。

关于主数据库域名切换控制装置的具体限定可以参见上文中对于主数据库域名切换控制方法的限定,在此不再赘述。上述主数据库域名切换控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储配置文件。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种主数据库域名切换控制方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收终端发送的主数据库切换指令;根据主数据库切换指令获取数据库集群对应的配置文件;配置文件包括数据库集群中的当前主数据库的网络地址和域名;根据配置文件向域名管理服务器发送域名无效指令;域名无效指令用于指示域名管理服务器,删除当前主数据库的网络地址和域名之间的映射关系;接收到域名管理服务器反馈的与域名无效指令对应的第一提示信息时,根据配置文件进行主数据库切换操作,获得新的主数据库;当主数据库切换操作完成时,向域名管理服务器发送第一域名切换指令;第一域名切换指令用于指示域名管理服务器建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到域名管理服务器反馈的表示成功建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系的第二提示信息时,向域名管理服务器发送第二域名切换指令;第二域名切换指令用于指示域名管理服务器建立当前主数据库的网络地址与新的主数据库的域名之间的映射关系。

在一个实施例中,根据配置文件进行主数据库切换操作,获得新的主数据库包括:根据配置文件从数据库集群中,选择目标从数据库;将当前主数据库切换为目标从数据库,获得新的主数据库。

在一个实施例中,配置文件包括当前主数据库和各从数据库各自对应的机房标识;根据配置文件从数据库集群中,选择目标从数据库,包括:根据当前主数据库对应的机房标识,和各从数据库各自对应的机房标识从数据库集群中筛选从数据库;根据配置文件从筛选出的从数据库中选择目标从数据库。

在一个实施例中,将当前主数据库切换为目标从数据库,获得新的主数据库包括:将当前主数据库的读写属性参数更新为只读属性参数;根据当前主数据库的数据更新目标从数据库中的数据;当目标从数据库与当前主数据库数据一致时,将目标从数据库的只读属性参数更新为读写属性参数,获得新的主数据库。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取配置文件;根据配置文件确定当前主数据库;向当前主数据库写入指定字段数据;当判定写入失败时,执行向域名管理服务器发送域名无效指令的步骤。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当判定写入失败时,触发生成表示主数据库故障的告警信息;将告警信息推送至终端。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收终端发送的主数据库切换指令;根据主数据库切换指令获取数据库集群对应的配置文件;配置文件包括数据库集群中的当前主数据库的网络地址和域名;根据所述配置文件向域名管理服务器发送域名无效指令;域名无效指令用于指示域名管理服务器,删除当前主数据库的网络地址和域名之间的映射关系;当接收到域名管理服务器反馈的表示成功删除当前主数据库的网络地址和域名之间的映射关系的第一提示信息时,根据配置文件进行主数据库切换操作,获得新的主数据库;当主数据库切换操作完成时,向域名管理服务器发送第一域名切换指令;第一域名切换指令用于指示域名管理服务器建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到域名管理服务器反馈的表示成功建立新的主数据库的网络地址和当前主数据库的域名之间的映射关系的第二提示信息时,向域名管理服务器发送第二域名切换指令;第二域名切换指令用于指示域名管理服务器建立当前主数据库的网络地址与新的主数据库的域名之间的映射关系。

在一个实施例中,根据配置文件进行主数据库切换操作,获得新的主数据库包括:根据配置文件从数据库集群中,选择目标从数据库;将当前主数据库切换为目标从数据库,获得新的主数据库。

在一个实施例中,配置文件包括当前主数据库和各从数据库各自对应的机房标识;根据配置文件从数据库集群中,选择目标从数据库,包括:根据当前主数据库对应的机房标识,和各从数据库各自对应的机房标识从数据库集群中筛选从数据库;根据配置文件从筛选出的从数据库中选择目标从数据库。

在一个实施例中,将当前主数据库切换为目标从数据库,获得新的主数据库包括:将当前主数据库的读写属性参数更新为只读属性参数;根据当前主数据库的数据更新目标从数据库中的数据;当目标从数据库与当前主数据库数据一致时,将目标从数据库的只读属性参数更新为读写属性参数,获得新的主数据库。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取配置文件;根据配置文件确定当前主数据库;向当前主数据库写入指定字段数据;当判定写入失败时,执行向域名管理服务器发送域名无效指令的步骤。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当判定写入失败时,触发生成表示主数据库故障的告警信息;将告警信息推送至终端。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1