一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

选举主副本的方法、装置和电子设备与流程

2022-12-06 23:25:00 来源:中国专利 TAG:


1.本发明涉及数据库服务技术领域,尤其是涉及一种选举主副本的方法、装置和电子设备。


背景技术:

2.rds(relational database service,关系型数据库服务)服务通常采用多副本的形式进行部署。为了保证多副本之间数据的一致性,需要选择一个主副本对外提供数据服务,其他副本作为从副本;从副本接收主副本发送的日志,用于与主副本同步数据。当rds服务启动时,或者当主副本的节点发生故障时,需要从多副本中选举主副本。
3.相关技术中,选举主副本的过程可以由其中一个副本发起,发起选举的副本通常会当选主副本,或者采用随机的方式从副本中选出主副本。通过该方式选举的主副本,如果该主副本的设备配置或机房位置较差,则容易影响对外提供服务的服务质量或效率,影响数据服务的整体稳定性。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种选举主副本的方法、装置和电子设备,以提高对外提供服务的质量和效率,进而提高数据服务的稳定性。
5.第一方面,本发明实施例提供了一种选举主副本的方法,方法应用于副本集群中的第一从副本节点;副本集群还包括主副本节点和至少一个第二从副本节点;方法包括:接收主副本节点发送的第一心跳信号,开始计时;如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能;主副本选举功能用于:从第一从副本节点和至少一个第二从副本节点中选举新的主副本节点;其中,第一从副本节点对应的指定时长,基于第一从副本节点的节点参数确定。
6.进一步的,第一从副本节点的节点参数包括:第一从副本节点的节点权重;第一从副本节点对应的指定时长基于节点权重和预设的基准时长确定。
7.进一步的,第一从副本节点的节点权重,通过下述方式确定:基于第一从副本节点的设备配置参数和/或第一从副本节点所处机房的位置参数,确定第一从副本节点的节点权重。
8.进一步的,第一从副本节点的对应的指定时长,具体通过下述方式确定:基于节点权重调整基准时长,得到第一从副本节点对应的指定时长;其中,基准时长包括主副本租期时间。
9.进一步的,如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能的步骤,包括:如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,确定主副本节点发生故障;触发主副本选举功能;其中,在主副本选举功能中,第一从副本节点与至少一个第二从副本节点进行通信,得到选举后的新的主副本节点;
将新的主副本节点的节点标识发送至数据库管理平台。
10.进一步的,每个第一从副本节点和至少一个第二从副本节点均设置有对应的指定时长;指定时长越短的从副本节点,触发主副本选举功能的概率越大;在主副本选举功能中,触发主副本选举功能的第一从副本节点,具有最大的概率被选举为新的主副本节点。
11.进一步的,如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能的步骤之后,方法还包括:将第一从副本节点确定为新的主副本节点;按照预设的定时周期,向至少一个第二从副本节点发送第三心跳信号。
12.进一步的,如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能的步骤之后,方法还包括:统计第一从副本节点在指定运行周期内的故障发生频率;获取第一从副本节点的设备配置参数,以及第一从副本节点所处机房的位置参数;基于第一从副本节点的故障发生频率、第一从副本节点的设备配置参数,以及第一从副本节点所处机房的位置参数,更新第一从副本节点对应的指定时长。
13.第二方面,本发明实施例提供了一种选举主副本的装置,装置设置于副本集群中的第一从副本节点;副本集群还包括主副本节点和至少一个第二从副本节点;装置包括:计时模块,用于接收主副本节点发送的第一心跳信号,开始计时;选举模块,用于如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能;主副本选举功能用于:从第一从副本节点和至少一个第二从副本节点中选举新的主副本节点;其中,第一从副本节点对应的指定时长,基于第一从副本节点的节点参数确定。
14.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现第一方面任一项的选举主副本的方法。
15.第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现第一方面任一项的选举主副本的方法。
16.本发明实施例带来了以下有益效果:
17.本发明提供了一种选举主副本的方法、装置和电子设备,第一从副本节点接收到主副本节点发送的第一心跳信号后,开始计时;如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能;该主副本选举功能用于:从第一从副本节点和至少一个第二从副本节点中选举新的主副本节点;其中,第一从副本节点对应的指定时长,基于第一从副本节点的节点参数确定。该方式中,根据副本节点的节点参数,设置该副本节点的指定时长,因此副本集群中各个副本节点的指定时长可以不同,节点配置较高的副本节点,可以设置较短的指定时长;当主副本节点故障时,指定时长较短的从副本节点可以优选触发主副本选举功能,进而该从副本节点具有较大的概率当选主副本,由于当选的主副本就要有较高的节点配置,从而可以保证对外提供服务的服务质量和效率,进而提高了数据服务的整体稳定性。
18.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变
得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
19.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
20.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明实施例提供的一种关系型数据库服务的架构图;
22.图2为本发明实施例提供的一种选举主副本的方法流程图;
23.图3为本发明实施例提供的一种选举主副本的装置的结构示意图;
24.图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.关系型数据库服务具有一个核心的功能,即保证数据的一致性,实现故障恢复后不丢失数据,即rpo(recovery point object,恢复点目标)=0,当前为了保证多副本之间的数据一致性,副本之间需要选择一个leader(主副本)对外提供服务。其他的副本则作为follower(从副本),接收leader发送的日志,用于同步数据;如图1所示,leader定时向follower发送心跳信号,以确认leader是否存活;当leader出现故障时,follower即可通过选举,产生新的leader,以对外提供服务。具体的,leader定时给follower发送心跳信号,以保证自身的leader地位;follower接收到leader发送的心跳信号后,需要及时返回ack(应答)信号;leader接收到follower的应答信号。然后在定时时间到了之后,leader会发送新一轮的心跳信号。但是,如果follower没接收到leader发送的心跳信号,且超过了leader租期时间(通常为leader定时发送心跳时间的5-10倍),则认为leader出现故障,开始进行选举。
27.举例说明,leader租期时间为5s,follower设置有定时器,如果follower接收到leader发送的心跳信号,则定时器从0重新开始计时;如果follower未接收到leader发送的心跳信号,但是定时器还未超过leader租期时间,则follower等待超时,如果follower节点未接收到leader发送的心跳信号,且定时器超过了leader租期时间,则follower认为leader故障,开始新的选举。
28.相关技术中,选举leader的过程可以由其中一个follower发起,发起选举的follower通常会当选主副本,或者采用随机的方式从follower中选出leader。通过该方式选举的leader,如果该leader的设备配置或机房位置较差,则容易影响对外提供服务的服
务质量或效率,影响数据服务的整体稳定性。基于此,本发明实施例提供的一种选举主副本的方法、装置和电子设备,该技术可以应用于具有关系型数据库服务功能的电子设备。
29.为便于对本实施例进行理解,首先对本发明实施例所公开的一种选举主副本的方法进行详细介绍,该方法应用于副本集群中的第一从副本节点;副本集群还包括主副本节点和至少一个第二从副本节点;如图2所示,该方法包括如下步骤:
30.步骤s202,接收主副本节点发送的第一心跳信号,开始计时;
31.具体的,上述主副本节点会依次向第一从副本节点和至少一个第二从副本节点发送第一心跳信号;在第一从副本节点接收到主副本节点发送的第一心跳信号的同时,利用第一从副本节点设置的定时器,从零开始计时。同样的,上述第二从副本节点中也设置有定时器,该第二从副本节点在接收到上述第一心跳信号的同时,也会从零开始计时。
32.另外,在第一从副本节点接收到主副本发送的第一心跳信号后,会立即向主副本发送应答信号。
33.步骤s204,如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能;主副本选举功能用于:从第一从副本节点和至少一个第二从副本节点中选举新的主副本节点;其中,第一从副本节点对应的指定时长,基于第一从副本节点的节点参数确定。
34.上述节点参数通常用于设置从副本节点选举的优先等级,优先越高的从副本节点,对应的指定时长一般越短,即从副本节点等待的超时时间就越短,该从副本节点就可以优先触发主副本节点选举功能。上述第一从副本节点的节点参数与第二从副本节点的节点参数不同,因此,每个从副本节点对应的指定时长一般不相同;通常预先确定的第一从副本节点对应的指定时长小于第二从副本节点对应的指定时长。
35.上述主副本选举功能通常由最先达到指定时长的从副本节点触发,即上述第一从副本节点触发主副本选举功能;在第一从副本节点触发主副本节点选举功能后,第一从副本节点和第二从副本节点通常停止计时,然后参与此次主副本节点的选举。具体的,在第一从副本节点和第二从副本节点分别开始计时后,如果第一从副本节点的计时时长最先达到对应的指定时长,则第一从副本节点会触发主副本节点选举功能,从第一从副本节点和至少一个第二从副本节点中选举新的主副本节点。一般情况下,最先触发主副本选举功能的从副本节点通常会被选举为新的主副本节点。
36.上述选举主副本的方法,第一从副本节点接收到主副本节点发送的第一心跳信号后,开始计时;如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能;该主副本选举功能用于:从第一从副本节点和至少一个第二从副本节点中选举新的主副本节点;其中,第一从副本节点对应的指定时长,基于第一从副本节点的节点参数确定。该方式中,根据副本节点的节点参数设置该副本节点的指定时长,因此可以为节点配置较高的副本节点设置较短的指定时长;当主副本节点故障时,指定时长较短的从副本节点可以优先触发主副本选举功能,进而该从副本节点具有较大概率当选主副本,由于当选的主副本具有较高的节点配置,从而可以保证对外提供服务的服务质量和效率,保证数据服务的整体稳定性。
37.本发明实施例还提供了另一种选举主副本的方法,该方法在上述实施例的基础上实现,本实施例重点描述上述第一从副本节点的节点参数以及上述第一从副本节点对应的
指定时长。具体的,上述第一从副本节点的节点参数包括:第一从副本节点的节点权重;第一从副本节点对应的指定时长基于节点权重和预设的基准时长确定。
38.上述节点权重通常由工程师人工设置,在开启数据库服务之前,通常会预先设置每个从副本节点的节点权重,如果主副本节点发生故障后,想要指定第一从副本节点成为下一个新的主副本节点,则可以对应设置第一从副本节点的节点权重的大小。当然,还可以根据实际情况,将第二从副本节点的节点权重设置想要的大小,比如,副本集群包括三个第二从副本节点,在设置第一从副本节点的节点权重最小为0.2后,可以按照实际情况,设置三个第二从副本节点的节点权重分别为0.5、0.7、1。
39.上述预设的基准时长通常是指主副本节点的租期时间,第一从副本节点和第二从副本节点预设的基准时长相同,可以根据每个从副本节点的节点权重,改变基准时长进而确定该从副本节点对应的指定时长。例如,可以根据第一从副本节点的节点权重与预设的基准时长相乘,得到第一从副本节点对应的指定时长。一般情况下,从副本节点的节点权重越小,该从副本节点对应的指定时长越短。
40.上述第一从副本节点的节点权重,一种具体的确定方式:基于第一从副本节点的设备配置参数和/或第一从副本节点所处机房的位置参数,确定第一从副本节点的节点权重。
41.可以理解,上述第一从副本的节点权重,可以基于第一从副本节点的设备配置参数和第一从副本节点所处机房的位置参数确定,还可以基于第一从副本节点的设备配置参数确定,还可以基于第一从副本节点所处机房的位置参数确定。
42.具体的,如果第一从副本节点的设备配置参数相对于第二从副本节点的设备配置参数较优,且第一从副本节点所处机房的位置参数相对于第二从副本节点的设备配置参数也较优,此时可以确定第一从副本节点的节点权重最小。如果第一从副本节点的设备配置参数相对于第二从副本节点的设备配置参数较优,且第一从副本节点所处机房的位置参数相对于第二从副本节点的设备配置参数相同,此时可以确定第一从副本节点的节点权重最小。如果第一从副本节点的设备配置参数相对于第二从副本节点的设备配置参数相同,且第一从副本节点所处机房的位置参数相对于第二从副本节点的设备配置参数较优,此时可以确定第一从副本节点的节点权重最小。
43.另外,在实际实现时,还可以基于第二从副本节点的设备配置参数和/或第二从副本节点所处机房的位置参数,确定第二从副本节点的节点权重。
44.上述第一从副本节点的对应的指定时长,一种具体的确定方式:基于节点权重调整基准时长,得到第一从副本节点对应的指定时长;其中,基准时长包括主副本租期时间。
45.本实施例中,上述主副本租期时间为t,上述节点权重为x,x的取值范围为[0,2],上述确定指定时长的计算公式为:t’=(1 x)*t;t’为指定时长。
[0046]
上述每个第一从副本节点和至少一个第二从副本节点均设置有对应的指定时长;指定时长越短的从副本节点,触发主副本选举功能的概率越大;在主副本选举功能中,触发主副本选举功能的第一从副本节点,具有最大的概率被选举为新的主副本节点。
[0047]
上述每个第一从副本节点和至少一个第二从副本节点对应的指定时长通常不同,如果想要第一从副本节点优先触发主副本选举功能,则可以使第一从副本节点对应的指定时长最小。由于在主副本选举功能中,触发主副本选举功能的从副本节点,具有最大的概率
被选举为新的主副本节点,所以第一从副本节点通常会被选举为新的主副本节点。在第一从副本节点被选举为新的主副本节点后会立即向第二从副本节点发送心跳信号,且在新的主副本节点发送故障之前,第二从副本节点不会触发主副本选举功能。
[0048]
上述方式中,根据从副本节点的节点参数,即设备配置参数和所处机房的位置参数,确定每个从副本节点的节点权重,根据该节点权重可以为每个从副本节点设置选举优先权,可以使设备配置参数和所处机房的位置参数较优的从副本节点能够优先进行选举,在主副本节点发生故障时,成为下一个新的主副本节点,该种方式能够简单高效的选举出最优的主副本节点,提高了对外提供服务的服务质量或效率,同时提高了数据服务的整体稳定性。
[0049]
本发明实施例还提供了另一种选举主副本的方法,该实施例主要描述如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能的步骤的具体实现方式(通过步骤302-304实现),以及如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能之后的步骤的实现方式(通过步骤305-306实现),具体包括如下步骤:
[0050]
步骤301,接收主副本节点发送的第一心跳信号,开始计时;
[0051]
步骤302,如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,确定主副本节点发生故障;
[0052]
通常在第一从副本节点接收到第一心跳信号后,会将应答信号发送至主副本节点,当主副本节点在接收到第一心跳信号对应的应答信号后,会在到达预设的定时周期后,向第一从副本节点和第二从副本节点发送第二心跳信号,以确认主副本节点正在正常工作,没有发生故障,保证自己的主副本节点的地位。但是当计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号时,则第一从副本节点就可以确定主副本节点发生故障,不能正常提供服务了。
[0053]
由于第一从副本节点对应的指定时长比第二从副本节点对应的指定时长小,第一从副本节点会优先达到超时等待时间,因此会优先确定主副本节点发生故障。
[0054]
步骤303,触发主副本选举功能;其中,在主副本选举功能中,第一从副本节点与至少一个第二从副本节点进行通信,得到选举后的新的主副本节点;
[0055]
当确定主副本节点发生故障后,第一从副本节点会立即触发主副本选举功能,与至少一个第二从副本节点进行通信,即向第二从副本节点发送主副本选举信号,然后会在第一从副本节点和第二从副本节点中选举得到一个新的主副本节点,这个新的主副本节点可能是第一从副本节点,也可能是第二从副本节点中的一个。但是,一般情况下,选举得到的新的主副本节点会是第一从副本节点。
[0056]
步骤304,将新的主副本节点的节点标识发送至数据库管理平台。
[0057]
上述新的主副本节点的节点标识可以是节点设备名称、节点设备编号等;选举成功后,需要将变更了主副本节点的信息发送至数据库管理平台,以实时更新数据信息;比如,可以将新的主副本节点的节点设备名称发送至数据库管理平台,以使数据库管理平台能够使新的主副本节点对外提供服务。
[0058]
上述方式能够简单高效的选举出最优的主副本节点,同时将新的主副本节点的节
点标识发送至数据库管理平台,在保证数据一致性的基础上,提高了对外提供服务的服务质量或效率,同时提高了数据服务的整体稳定性。
[0059]
本实施例中,如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能的步骤之后,上述方法还包括:
[0060]
步骤305,将第一从副本节点确定为新的主副本节点;
[0061]
步骤306,按照预设的定时周期,向至少一个第二从副本节点发送第三心跳信号。
[0062]
由于在主副本选举功能中,触发主副本选举功能的第一从副本节点,具有最大的概率被选举为新的主副本节点,在触发主副本选举功能之后,可以将第一从副本节点确定为新的主副本节点对外提供服务。上述预设的定时周期为主副本节点定时向从副本节点发送心跳信号的时间,以保证主副本节点的地位。前述主副本的租期时间通常是上述预设的定时周期的5-10倍。具体的,将第一从副本节点确定为新的主副本节点后,新的主副本节点会立即向至少一个第二从副本节点发送第三心跳信号,此时至少一个第二从副本节点不再发起选举,且在至少一个第二从副本节点接收到第三心跳信号后,会立即返回应答信号。新的主副本节点接收到第三心跳信号的应答信号后,在到达预设的定时周期后,向至少一个第二从副本节点发送第四心跳信号。
[0063]
一种可能的实施方式中,为了进一步提高选举到的主副本节点的质量,如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能的步骤之后,上述方法还包括:
[0064]
(1)统计第一从副本节点在指定运行周期内的故障发生频率;
[0065]
(2)获取第一从副本节点的设备配置参数,以及第一从副本节点所处机房的位置参数;
[0066]
(3)基于第一从副本节点的故障发生频率、第一从副本节点的设备配置参数,以及第一从副本节点所处机房的位置参数,更新第一从副本节点对应的指定时长。
[0067]
在数据库服务过程中,由于从副本节点的设备的网络、数据传输等内部影响,或者温度、湿度、天气等外部影响,通常会影响第一从副本节点设备的运行,进而使第一从副本节点的发生故障,设备配置参数和所处机房的位置参数发生改变,导致第一从副本节点可能并不是下一个主副本节点的最优选择,此时如果依然按照预先为第一从副本节点设置的指定时长,可能会影响对外提供服务的服务质量或效率,影响数据服务的整体稳定性。
[0068]
因此,可以统计第一从副本节点在指定运行周期内的故障发生频率;该指定运行周期可以根据实际需要进行设置。获取第一从副本节点的设备配置参数,以及第一从副本节点所处机房的位置参数;如果故障发生频率大于预设阈值,第一从副本节点的设备配置参数和第一从副本节点所处机房的位置参数不满足预设目标,则根据第一从副本节点的故障发生频率、第一从副本节点的设备配置参数,以及第一从副本节点所处机房的位置参数,重新确定第一从副本节点的节点权重,根据该节点权重更新第一从副本节点对应的指定时长。以使第一从副本节点对应的指定时长大于至少一个第二从副本节点对应的指定时长。该方式会使主副本节点发生故障时,且第一从副本节点的质量较差时,能够选择其他质量较好的第二从副本节点被选举称为新的主副本节点。
[0069]
需要说明的是,至少一个第二从副本节点的节点权重也是根据对应的设备配置参
数和/或所在的位置参数确定的。进而根据节点权重确定的指定是时长。
[0070]
对应上述方法实施例,本发明实施例还提供了一种选举主副本的装置,该装置设置于副本集群中的第一从副本节点;副本集群还包括主副本节点和至少一个第二从副本节点;如图3所示,该装置包括:
[0071]
计时模块31,用于接收主副本节点发送的第一心跳信号,开始计时;
[0072]
选举模块32,用于如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能;主副本选举功能用于:从第一从副本节点和至少一个第二从副本节点中选举新的主副本节点;其中,第一从副本节点对应的指定时长,基于第一从副本节点的节点参数确定。
[0073]
本发明实施例提供了一种选举主副本的装置,第一从副本节点接收到主副本节点发送的第一心跳信号后,开始计时;如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,触发主副本选举功能;该主副本选举功能用于:从第一从副本节点和至少一个第二从副本节点中选举新的主副本节点;其中,第一从副本节点对应的指定时长,基于第一从副本节点的节点参数确定。该方式中,根据副本节点的节点参数设置该副本节点的指定时长,因此可以为节点配置较高的副本节点设置较短的指定时长;当主副本节点故障时,指定时长较短的从副本节点可以优先触发主副本选举功能,进而该从副本节点具有较大概率当选主副本,由于当选的主副本具有较高的节点配置,从而可以保证对外提供服务的服务质量和效率,保证数据服务的整体稳定性。
[0074]
进一步的,上述第一从副本节点的节点参数包括:第一从副本节点的节点权重;上述第一从副本节点对应的指定时长基于节点权重和预设的基准时长确定。
[0075]
进一步的,上述第一从副本节点的节点权重,通过下述方式确定:基于第一从副本节点的设备配置参数和/或第一从副本节点所处机房的位置参数,确定第一从副本节点的节点权重。
[0076]
进一步的,上述第一从副本节点的对应的指定时长,具体通过下述方式确定:基于节点权重调整基准时长,得到第一从副本节点对应的指定时长;其中,基准时长包括主副本租期时间。
[0077]
进一步的,上述选举模块还用于:如果计时时长达到第一从副本节点对应的指定时长,且在计时时长内没有接收到主副本节点发送的第二心跳信号,确定主副本节点发生故障;触发主副本选举功能;其中,在主副本选举功能中,第一从副本节点与至少一个第二从副本节点进行通信,得到选举后的新的主副本节点;将新的主副本节点的节点标识发送至数据库管理平台。
[0078]
进一步的,上述每个第一从副本节点和至少一个第二从副本节点均设置有对应的指定时长;指定时长越短的从副本节点,触发主副本选举功能的概率越大;在主副本选举功能中,触发主副本选举功能的第一从副本节点,具有最大的概率被选举为新的主副本节点。
[0079]
进一步的,上述装置还包括信号发送模块,用于将第一从副本节点确定为新的主副本节点;按照预设的定时周期,向至少一个第二从副本节点发送第三心跳信号。
[0080]
进一步的,上述装置还包括指定时长更新模块,用于统计第一从副本节点在指定运行周期内的故障发生频率;获取第一从副本节点的设备配置参数,以及第一从副本节点
所处机房的位置参数;基于第一从副本节点的故障发生频率、第一从副本节点的设备配置参数,以及第一从副本节点所处机房的位置参数,更新第一从副本节点对应的指定时长。
[0081]
本发明实施例提供的选举主副本的装置,与上述实施例提供的选举主副本的方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
[0082]
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述选举主副本的方法。
[0083]
参见图4所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述选举主副本的方法。
[0084]
进一步地,图4所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
[0085]
其中,存储器101可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0086]
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
[0087]
本发明实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述选举主副本的方法。
[0088]
本发明实施例所提供的选举主副本的方法、装置、电子设备以及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0089]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0090]
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相
连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0091]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0092]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0093]
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献