一种数据库仲裁服务调度方法及系统与流程

文档序号:30055841发布日期:2022-05-17 18:03阅读:200来源:国知局
一种数据库仲裁服务调度方法及系统与流程

1.本发明涉及信息安全领域,具体涉及一种数据库仲裁服务调度方法及系统。


背景技术:

2.数据库全年可用性要求高,数据库的高可用功能是极其重要和关键的,而数据库的高可用功能依赖的是仲裁服务,仲裁单点服务一旦异常,在主服务异常情况下将无法完成数据库的主备切换,导致数据库集群的部分功能无法正常使用,因此仲裁服务的稳定性、可靠性就是重中之重。


技术实现要素:

3.有鉴于此,本发明实施例提供了一种数据库仲裁服务调度方法及系统,解决现有技术中由于无法保证数据库仲裁服务的可靠性的问题。
4.为达到上述目的,本发明提供如下技术方案:
5.第一方面,本发明实施例提供一种数据库仲裁服务调度方法,应用于仲裁调度装置,包括:对仲裁主服务进行实时监测,得到监测结果;利用所述监测结果判断所述仲裁主服务是否异常;在所述仲裁主服务异常的情况下,按照预设规则,从仲裁备用服务集群中选择用于接替所述仲裁主服务的目标备用服务,并根据预设配置文件启动所述目标备用服务。
6.在一实施例中,在所述仲裁主服务异常的情况下,按照预设规则,从仲裁备用服务集群中选择用于接替所述仲裁主服务的目标备用服务,包括:
7.在所述仲裁主服务异常的情况下,利用预设交换机制向所述仲裁备用服务集群发出组播信号,所述组播信号用于实现所述仲裁主服务与各仲裁备用服务进行通信;利用各接收到所述组播信号的仲裁备用服务的预设权重,将所述预设权重最高的仲裁备用服务确定为目标仲裁备用服务,其中所述权重为表示所述仲裁备用服务接替主服务的优先程度的指标;修改所述目标仲裁备用服务的配置文件,将所述目标仲裁备用服务配置为新的仲裁主服务。
8.在一实施例中,在所述根据预设配置文件启动所述目标备用服务之前,所述方法还包括:检查所述目标备用服务的仲裁日志和输出监控日志;在所述仲裁日志和所述输出监控日志满足预设要求的情况下,正常启动所述目标备用服务。
9.在一实施例中,所述对仲裁主服务进行实时监测,得到监测结果,包括:通过监测所述仲裁主服务接收到的反馈信息对所述仲裁主服务进行实时监测,得到监测结果;其中,所述反馈信息由所述仲裁备用服务集群根据来自所述仲裁主服务的心跳信息发送,所述心跳信息由所述仲裁主服务按照预设频率向所述仲裁备用服务集群发送。
10.在一实施例中,所述利用所述监测结果判断所述仲裁主服务是否异常,包括:在所述监测结果指示所述仲裁主服务在预设时间内接收到所述反馈信息的情况下,判定所述仲裁主服务正常;在所述监测结果指示所述仲裁主服务在预设时间内未接收到所述反馈信息
的情况下,判定所述仲裁主服务异常。
11.在一实施例中,本发明实施例提供的数据库仲裁服务调度方法,还包括:利用预设同步策略,保持仲裁备用服务集群中各备用服务与所述仲裁主服务的配置文件同步。
12.在一实施例中,利用预设同步策略,保持仲裁备用服务集群中各备用服务与所述仲裁主服务的配置文件同步,包括:将仲裁主服务的配置文件发送至仲裁备用服务集群中预设权重最高的第一仲裁备用服务,使所述第一仲裁备用服务的配置文件与所述仲裁主服务的配置文件保持同步;按照剩余仲裁备用服务的预设权重高低排序,依次将所述第一仲裁备用服务的配置文件发送至所有仲裁备用服务,使各所述仲裁备用服务与所述第一仲裁备用服务的配置文件保持同步。
13.第二方面,本发明实施例提供一种数据库仲裁服务调度系统,包括:仲裁调度装置、仲裁主服务及仲裁备用服务集群;所述仲裁调度装置用于对仲裁主服务进行实时监测,得到监测结果;利用所述监测结果判断所述仲裁主服务是否异常;在所述仲裁主服务异常的情况下,按照预设规则,从仲裁备用服务集群中选择用于接替所述仲裁主服务的目标备用服务,并根据预设配置文件启动所述目标备用服务;所述仲裁主服务用于按照预设频率向所述仲裁备用服务集群发送所述仲裁主服务的心跳信息并接收所述仲裁备用服务集群发出的反馈信息;所述仲裁备用服务集群用于接收所述心跳信息并发出反馈信息给所述仲裁主服务。
14.第三方面,本发明实施例提供一种电子设备,包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行本发明实施例第一方面的数据库仲裁服务调度方法。
15.第四方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行本发明实施例第一方面的数据库仲裁服务调度方法。
16.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:
17.本发明提供的数据库仲裁服务调度方法及系统,通过对仲裁主服务进行实时监测,利用监测结果判断仲裁主服务异常的情况下,选择出接替仲裁主服务的目标仲裁备用服务,并利用预设配置文件启动仲裁备用服务;充分保证仲裁主服务异常的情况下及时有效的完成主备的切换,进而保证仲裁服务以及数据库服务的稳定性及可靠性。
附图说明
18.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1为本发明实施例提供的数据库仲裁服务调度方法的一个具体示例的流程图;
20.图2为本发明实施例提供的仲裁服务架构的场景示意图;
21.图3为本发明实施例提供的配置文件同步的一个具体示例的流程图;
22.图4为本发明实施例提供的数据库仲裁服务调度系统的一个具体示例的模块组成
图;
23.图5为本发明实施例提供的电子设备一个具体示例的组成图。
具体实施方式
24.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
26.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
27.此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
28.实施例1
29.本发明实施例提供一种数据库仲裁服务调度方法,应用于仲裁调度装置,用于保证数据库仲裁服务的稳定性和可靠性,如图1所示,包括如下步骤:
30.步骤s1:对仲裁主服务进行实时监测,得到监测结果。
31.本发明实施例中,由于对数据库集群实时性和稳定性的要求越来越高,以网联平台为例,网联平台属于国家级金融基础设施,全年可用性要求99.99%,并且要求保证实时业务7*24小时稳定运行,因此数据库的的高可用功能是及其重要和关键的,而数据库的高可用功能依赖的是仲裁服务,对于仲裁服务一主多备的方式,如图2所示,首先通过监控平台对仲裁主服务进行实时监测,得到监测结果,其中监测结果包括仲裁主服务正常和仲裁主服务异常的情况,通过心跳检测进行服务的监测,仲裁备用服务按照权重高低进行对仲裁主服务的替换。例如仲裁主服务可以按照预设频率向仲裁备用服务发送仲裁主服务的心跳信息,其中预设频率可以是2s到8s发送一次,还可以根据系统的实际精度与安全性要求进行设定,也可以根据实际经验进行设定,本发明并不以此为限。
32.需要说明的是,本发明实施例中的现有的监控平台是根据系统实际需求进行选择的,只要能够实现对仲裁服务的监测功能即可,本发明并不以此为限。
33.步骤s3:利用监测结果判断仲裁主服务是否异常。
34.本发明实施例中,对仲裁主服务进行实时监测后,可以利用监测结果来判断仲裁主服务是否异常,实际应用中如果仲裁服务异常不能提供服务时,若有数据库主库故障,就不能支持该故障库的ha的切换、vip(virtual ip address,虚拟ip地址)漂移,主要是用来进行不同主机之间的切换,用在服务器的主从切换,如果无法完成ha切换及vip漂移就无法
对业务提供服务,影响是灾难性的,正常情况下客户应用系统在主机运行,向客户端提供应用服务,服务器实时将主机数据镜像到备机,并实时监控数据库、应用、网络等的状态,当主机发生故障时,将快速自动的切换客户应用系统到备机,使用备机镜像数据提供应用服务。
35.在实际应用中,仲裁主服务异常包括:硬件异常和软件异常,其中硬件异常可能是主机硬件例如cpu、硬盘和内存故障等,软件异常可能是配置错误、配置文件损坏等。需要说明的是,本发明实施例中提到的仲裁主服务异常仅仅是举例说明异常情况,在实际应用中还可能包含其他异常情况,只要是不能正常提供正确的仲裁服务就是异常仲裁服务,本发明没有一一列举,本发明并不以此为限。
36.步骤s5:在仲裁主服务异常的情况下,按照预设规则,从仲裁备用服务集群中选择用于接替仲裁主服务的目标备用服务,并根据预设配置文件启动目标备用服务。
37.本发明实施例中,在仲裁主服务异常的情况下,按照预设规则,即选择预设权重高的仲裁备用服务接替仲裁主服务,并利用预设配置文件启动目标备用服务,通过修改预设配置文件中的相关启动参数,对目标备用服务进行启动,其中,在预设配置文件中首先将所有的仲裁进程都已配置成进程管理工具,即supervisor,主备切换时触发自主研发的程序脚本,即可调用supervisord启动目标仲裁备用服务,其中预设权重是根据各服务器的硬件功能、安全性要求等进行设定的,本发明并不以此为限。
38.本发明提供的数据库仲裁服务调度方法,通过对仲裁主服务进行实时监测,利用监测结果判断仲裁主服务异常的情况下,选择出接替仲裁主服务的目标仲裁备用服务,并利用预设配置文件启动仲裁备用服务;充分保证仲裁主服务异常的情况下及时有效的完成主备的切换,进而保证仲裁服务以及数据库服务的稳定性及可靠性。
39.在一具体实施例中,在仲裁主服务异常的情况下,按照预设规则,从仲裁备用服务集群中选择用于接替仲裁主服务的目标备用服务,包括如下步骤:
40.步骤s51:在仲裁主服务异常的情况下,利用预设交换机制向仲裁备用服务集群发出组播信号。本发明实施例中,可以选择keepalived软件配置预设交换机制,其中keepalived是一个类似于有layer3,4&5交换机制的软件,也就是网络协议的第3层、第4层和第5层交换(例如ip/tcp协议栈的ip层、tcp层及应用层),keepalived是自动完成,不需人工干涉。keepalived软件将组播信号发送至仲裁备用服务集群,用于实现仲裁主服务与各仲裁备用服务进行通信。需要说明的是,本发明实施例仅举例说明选择keepalived软件配置预设交换机制,在实际应用中还可以根据实际需要进行其他交换机制的选择,只要能实现仲裁主服务与各仲裁备用服务进行通信的目的即可,本发明并不以此为限。
41.步骤s53:利用各接收到组播信号的仲裁备用服务的预设权重,将预设权重最高的仲裁备用服务确定为目标仲裁备用服务。本发明实施例中,权重为表示仲裁备用服务接替主服务的优先程度的指标,将各接收到组播信号的仲裁备用服务中的预设权重最高的仲裁备用服务确定为目标备用服务,使得此目标备用服务接替故障的仲裁主服务继续工作。
42.步骤s55:修改目标仲裁备用服务的配置文件,将目标仲裁备用服务配置为新的仲裁主服务。本发明实施例中,将目标仲裁备用服务的配置文件中的相应参数修改为仲裁主服务的特定参数,将目标仲裁备用服务配置为新的仲裁主服务。
43.在一具体实施例中,在根据预设配置文件启动目标备用服务之前,数据库仲裁服务调度方法还包括如下步骤:
44.步骤s501:检查目标备用服务的仲裁日志和输出监控日志。
45.本发明实施例中,启动自主研发的程序脚本以实现调用supervisord启动目标仲裁备用服务,首先在启动之前检查目标仲裁备用服务的仲裁日志和输出监控日志,以确保zabbix监控仲裁进程可用(即目标备用服务可用),其中zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案,zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
46.步骤s502:在仲裁日志和输出监控日志满足预设要求的情况下,正常启动目标备用服务。本发明实施例中,预设要求是根据实际需要进行设定的,只要能够保证实现监控的目标备用服务可用的目的即可,需要说明的是,本发明实施中仅仅举例说明检查仲裁日志和输出监控日志,在实际应用中还可以通过检查其他类型的日志文件对目标备用服务的仲裁服务进行检查,本发明并不以此为限。
47.在一具体实施例中,对仲裁主服务进行实时监测,得到监测结果,包括如下步骤:
48.步骤s11:通过监测仲裁主服务接收到的反馈信息对仲裁主服务进行实时监测,得到监测结果;其中,反馈信息由仲裁备用服务集群根据来自仲裁主服务的心跳信息发送,心跳信息由仲裁主服务按照预设频率向仲裁备用服务集群发送。本发明实施例中,仲裁备用服务会根据接收到的心跳信息发出反馈信息给仲裁主服务,根据一定的监测时间和接收到的心跳信息向仲裁主服务发送反馈信息,如果在一定的监测时间范围内接收到心跳信息,则发出接收到心跳信息的反馈信息,其中监测时间可以根据预设频率进行设定,比预设频率范围大即可(比如,预设频率的范围为2s到8s发送一次,则监测时间可以为3s到9s之间,或者是根据系统性能要求对监测时间进行设定),本发明并不以此为限。
49.在一具体实施例中,利用监测结果判断仲裁主服务是否异常,包括如下步骤:
50.步骤s31:在监测结果指示仲裁主服务在预设时间内接收到反馈信息的情况下,判定仲裁主服务正常。本发明实施例中的预设时间是根据实际需求进行设定的,本发明并不以此为限。
51.步骤s33:在监测结果指示仲裁主服务在预设时间内未接收到反馈信息的情况下,判定仲裁主服务异常。本发明实施例中,仲裁主服务在预设时间内未接收到反馈信息包括两种情况,一种情况是仲裁备用服务在第一预设时间内没有接收到心跳信息,则发出接收失败的反馈信息给仲裁主服务,判定仲裁主服务异常;还有一种情况是,在仲裁备用服务在第一预设时间内接收到心跳信息的情况下(例如可以设定第一预设时间为30s),则发出接收成功的反馈信息给仲裁主服务,并且同时判断仲裁主服务在第二预设时间内(可以将第二预设时间设定为60s)是否接收到反馈信息,如果接收到反馈信息则证明此时仲裁服务没有发生异常,则进行下一次的监测与判断,如果没有接收到反馈信息则表示仲裁主服务可能发生异常,其中第一预设时间、第二预设时间是根据系统需求及保密程度进行设定的,本发明并不以此为限。
52.在一具体实施例中,本发明实施例的数据库仲裁服务调度方法,还包括如下步骤:
53.步骤s7:利用预设同步策略,保持仲裁备用服务集群中各备用服务与仲裁主服务的配置文件同步。
54.本发明实施例中,仲裁服务的配置文件可以由仲裁主服务向仲裁备用服务中权重
高的仲裁备用服务发送指令,使得权重高的仲裁服务向权重低的仲裁备用服务发送配置文件进行同步,预设同步策略可以是通过定时拷贝保证仲裁主服务与仲裁备用服务的配置文件的一致性。需要说明的是,预设同步策略可以根据实际需求进行相应的调整,例如,可以是通过仲裁备用服务向仲裁主服务主动获取配置文件,仲裁控制器向权重低的仲裁服务发指令,指示权重低的仲裁服务向权重高的拉取配置文件,进而实现仲裁主服务与仲裁备用服务的配置文件的一致性,本发明并不以此为限。
55.在一具体实施例中,如图3所示,利用预设同步策略,保持仲裁备用服务集群中各备用服务与仲裁主服务的配置文件同步,包括如下步骤:
56.步骤s71:将仲裁主服务的配置文件发送至仲裁备用服务集群中预设权重最高的第一仲裁备用服务,使第一仲裁备用服务的配置文件与仲裁主服务的配置文件保持同步。
57.步骤s73:按照剩余仲裁备用服务的预设权重高低排序,依次将第一仲裁备用服务的配置文件发送至所有仲裁备用服务,使各仲裁备用服务与第一仲裁备用服务的配置文件保持同步。
58.本发明实施例中,首先将仲裁备用服务集群中各个仲裁备用服务按照权重由高到低进行排序,分为第一仲裁备用服务、第二裁备用服务、第三裁备用服务等等,以此类推。仲裁控制器可以控制仲裁主服务将配置文件发送至第一仲裁备用服务,然后仲裁控制器将第一仲裁备用服务的目前的配置文件依次发送至第二仲裁备用服务、第三仲裁备用服务等等,使得各仲裁备用服务与第一仲裁备用服务的配置文件保持同步,第一裁备用服务又与仲裁主服务的配置文件保持同步,进而实现所有仲裁服务的配置文件的同步。
59.在实际应用中,还可以通过第一仲裁备用服务向仲裁主服务主动获取配置文件,仲裁控制器向权重低的第二仲裁备用服务发指令,指示权重低的第三仲裁备用服务向权重高的仲裁备用服务拉取配置文件,进而实现所有仲裁服务的配置文件的同步。
60.本发明提供的数据库仲裁服务调度方法,通过对仲裁主服务进行实时监测,利用监测结果判断仲裁主服务异常的情况下,选择出接替仲裁主服务的目标仲裁备用服务,并利用预设配置文件启动仲裁备用服务;充分保证仲裁主服务异常的情况下及时有效的完成主备的切换,进而保证仲裁服务以及数据库服务的稳定性及可靠性;并且对仲裁主服务及仲裁备用服务的配置文件进行同步,保证配置文件内容一致性,在主备服务器切换后不会出现异常。
61.实施例2
62.本发明实施例提供一种数据库仲裁服务调度系统,如图4所示,包括:仲裁调度装置1、仲裁主服务2及仲裁备用服务集群3。
63.仲裁调度装置1用于对仲裁主服务2进行实时监测,得到监测结果;利用监测结果判断仲裁主服务是否异常;在仲裁主服务异常的情况下,按照预设规则,从仲裁备用服务集群中选择用于接替仲裁主服务的目标备用服务,并根据预设配置文件启动目标备用服务;此模块执行实施例1中的各步骤所描述的方法,在此不再赘述。
64.仲裁主服务2用于按照预设频率向仲裁备用服务集群发送仲裁主服务的心跳信息并接收仲裁备用服务集群发出的反馈信息。
65.仲裁备用服务集群3用于接收心跳信息并发出反馈信息给仲裁主服务。
66.本发明提供的数据库仲裁服务调度系统,通过对仲裁主服务进行实时监测,利用
监测结果判断仲裁主服务异常的情况下,选择出接替仲裁主服务的目标仲裁备用服务,并利用预设配置文件启动仲裁备用服务;充分保证仲裁主服务异常的情况下及时有效的完成主备的切换,进而保证仲裁服务以及数据库服务的稳定性及可靠性;并且对仲裁主服务及仲裁备用服务的配置文件进行同步,保证配置文件内容一致性,在主备服务器切换后不会出现异常。
67.实施例3
68.本发明实施例提供一种电子设备,如图5所示,包括:至少一个处理器401,例如cpu(central processing unit,中央处理器),至少一个通信接口403,存储器404,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,通信接口403可以包括显示屏(display)、键盘(keyboard),可选通信接口403还可以包括标准的有线接口、无线接口。存储器404可以是高速ram存储器(ramdom access memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器404可选的还可以是至少一个位于远离前述处理器401的存储装置。其中处理器401可以执行实施例1的数据库仲裁服务调度方法。存储器404中存储一组程序代码,且处理器401调用存储器404中存储的程序代码,以用于执行实施例1的数据库仲裁服务调度方法。
69.其中,通信总线402可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。通信总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
70.其中,存储器404可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:hdd)或固降硬盘(英文:solid-state drive,缩写:ssd);存储器404还可以包括上述种类的存储器的组合。
71.其中,处理器401可以是中央处理器(英文:central processing unit,缩写:cpu),网络处理器(英文:network processor,缩写:np)或者cpu和np的组合。
72.其中,处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:asic),可编程逻辑器件(英文:programmable logic device,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:fpga),通用阵列逻辑(英文:generic array logic,缩写:gal)或其任意组合。
73.可选地,存储器404还用于存储程序指令。处理器401可以调用程序指令,实现如本技术执行实施例1中的数据库仲裁服务调度方法。
74.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,该计算机可执行指令可执行实施例1的数据库仲裁服务调度方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固降硬盘(solid-state drive,ssd)等;存储介质还可以包括上述种类的存储器
的组合。
75.显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1