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

基于人工智能的leader节点管理方法、装置、设备及存储介质与流程

2022-02-25 22:10:50 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,尤其涉及一种基于人工智能的leader节点管理方法、装置、设备及存储介质。


背景技术:

2.由于当zookeeper服务器出现故障,或其与服务端之间的连接出现断开时,会导致zookeeper服务器认为当前的leader节点已掉线,此时通常zookeeper服务器会从服务端中各服务组件对应的节点中选举新的leader节点。然而,发明人意识到,如果先前的leader节点再次上线,将会因其与所述新的leader节点共存于zookeeper服务器,导致一个服务端具有两个或两个以上的leader节点,进而导致follow节点因多个leader节点共存导致其无法被正确调用,最终造成服务组件调用异常的情况发生。


技术实现要素:

3.本发明的目的是提供一种基于人工智能的leader节点管理方法、装置、设备及存储介质,用于解决现有技术存在的因先前的leader节点再次上线,导致一个服务端具有两个或两个以上的leader节点,造成导致follow节点因多个leader节点共存导致其无法被正确调用的问题。
4.为实现上述目的,本发明提供一种leader节点管理方法,运行在zookeeper服务器中,包括:
5.构建zookeeper服务器与服务端之间的第一连接,通过所述zookeeper服务器创制用于管理所述服务端中服务组件的leader节点,其中,所述服务端是至少具有一个服务组件的服务提供方,所述服务组件是用于提供指定服务的计算机程序;
6.根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理;
7.在对所述leader节点进行卸载处理之后,重新选举所述服务端的leader节点。
8.上述方案中,所述通过所述zookeeper服务器创制用于管理所述服务端中服务组件的leader节点,包括:
9.控制所述zookeeper服务器通过所述第一连接获取所述服务端的服务组件,并对所述服务组件配置节点,及将所述节点的节点状态设置为looking状态;
10.通过选举进程控制各所述节点对所述服务端中任一节点进行投票,以获得票数最高的节点并将其设为目标节点;
11.将所述目标节点的节点状态修改为leading状态,使所述目标节点转为leader节点,其中,所述leader节点用于接收请求流量并对其进行分发操作;
12.将所述服务端中除所述目标节点外的其他节点的节点状态修改为following状态,使所述其他节点转为follow节点;其中,所述follow节点用于接收所述leader节点分发的请求流量并对其进行处理。
13.上述方案中,所述根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态之前,所述方法还包括:
14.在所述zookeeper服务器中,构建用于监听zookeeper服务器的运行状态的第一监听线程,并构建用于监听所述第一连接的第二监听线程。
15.上述方案中,所述根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态之前,所述方法还包括:
16.构建zookeep服务器与客户端之间的第二连接,其中,所述客户端是用于调用服务端的服务组件的服务消费方。
17.上述方案中,所述运行状态包括正常状态和故障状态,所述连接状态包括连通状态和断开状态;
18.所述根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理,包括:
19.通过第一监听线程监听所述zookeeper服务器的运行状态,当所述运行状态为故障状态时,判断所述zookeeper服务器是否在预置的运行期间内恢复为正常状态;若是,则恢复所述zookeeper服务器中所述服务端的leader节点;若否,则卸载所述zookeeper服务器中所述服务端的leader节点;
20.通过所述第二监听线程监听所述第一连接的连接状态,当所述连接状态为断开状态时,则通过所述第二连接向所述客户端发送断开信号,用于触发所述客户端与所述服务端进行重连操作;及判断所述第一连接是否在预置的连接期间内恢复为连通状态;若是,则恢复所述zookeeper服务器中所述服务端的leader节点;若否,则卸载所述zookeeper服务器中所述服务端的leader节点。
21.上述方案中,对所述zookeeper服务器中的leader节点进行所述卸载处理之后,所述方法还包括:
22.在所述zookeeper服务器和所述服务组件之间构建节点监听线程,用于监听所述leader节点的变更情况,并根据所述变更情况向所述服务组件发送变更信息;
23.所述根据所述变更情况向所述服务组件发送变更信息之后,所述方法还包括:
24.将所述变更信息上传至区块链中。
25.上述方案中,所述重新选举所述服务端的leader节点,包括:
26.判断在预置的重连期间内是否接收到所述服务端发送的重连指令;其中,所述重连指令反映了所述leader节点的变更情况;
27.若是,则向所述服务端的各服务组件发送变更信息,使所述服务组件对应节点的节点状态从following状态转为looking状态;及通过预置的选举进程对所述服务组件对应节点进行选举,得到所述服务端的leader节点;
28.若否,则向控制端发送掉线信息,其中,所述掉线信息中记载了所述服务端的编号。
29.为实现上述目的,本发明还提供一种leader节点管理装置,安装在zookeeper服务器中,包括:
30.第一创制模块,用于构建zookeeper服务器与服务端之间的第一连接,通过所述zookeeper服务器创制用于管理所述服务端中服务组件的leader节点,其中,所述服务端是
至少具有一个服务组件的服务提供方,所述服务组件是用于提供指定服务的计算机程序;
31.节点处理模块,用于根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理;
32.leader选举模块,用于在对所述leader节点进行卸载处理之后,重新选举所述服务端的leader节点。
33.为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述leader节点管理方法的步骤。
34.为实现上述目的,本发明还提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述可读存储介质存储的所述计算机程序被处理器执行时实现上述leader节点管理方法的步骤。
35.本发明提供的基于人工智能的leader节点管理方法、装置、设备及存储介质,通过根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理的方式,实现了如果在zookeeper服务器认为当前leader节点掉线之前,所述zookeeper服务器的运行状态恢复至正常状态,或第一连接恢复至连通状态,对leader节点进行恢复处理,使所述leader节点在所述zookeeper服务器上再次上线;如果在zookeeper服务器认为当前leader节点掉线之后,所述zookeeper服务器的运行状态恢复至正常状态,或第一连接恢复至连通状态,则对leader节点进行卸载处理,使所述leader节点的节点状态由leading转为looking;因此,避免了如果zookeeper服务器认为leader节点掉线时直接重新选举新的leader节点,导致多个leader节点并存的情况发生。
附图说明
36.图1为本发明基于人工智能的leader节点管理方法实施例一的流程图;
37.图2为本发明基于人工智能的leader节点管理方法实施例二中leader节点管理方法的环境应用示意图;
38.图3是本发明基于人工智能的leader节点管理方法实施例二中leader节点管理方法的具体方法流程图;
39.图4为本发明基于人工智能的leader节点管理装置实施例三的程序模块示意图;
40.图5为本发明计算机设备实施例四中计算机设备的硬件结构示意图。
具体实施方式
41.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.本发明提供的基于人工智能的leader节点管理方法、装置、设备及存储介质,适用于人工智能的技术领域,为提供一种基于第一创制模块、节点处理模块、leader选举模块的leader节点管理方法。本发明通过构建zookeeper服务器与服务端之间的第一连接,通过所
述zookeeper服务器创制用于管理所述服务端中服务组件的leader节点;根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理;在对所述leader节点进行卸载处理之后,重新选举所述服务端的leader节点。
43.实施例一:
44.请参阅图1,本实施例的一种基于人工智能的leader节点管理方法,运行在zookeeper服务器中,包括:
45.s101:构建zookeeper服务器与服务端之间的第一连接,通过所述zookeeper服务器创制用于管理所述服务端中服务组件的leader节点,其中,所述服务端是至少具有一个服务组件的服务提供方,所述服务组件是用于提供指定服务的计算机程序;
46.s104:根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理;
47.s106:在对所述leader节点进行卸载处理之后,重新选举所述服务端的leader节点。
48.在示例性的实施例中,通过接收服务端发送的第一连接请求,根据所述注册请求在所述zookeeper服务器和所述服务端之间构建第一连接的方式,用于获取所述服务端的服务组件;通过所述zookeeper服务器创制用于管理所述服务端中服务组件的leader节点的方式,确定用于接收所述请求的管理者(即:leader节点),所述管理者将根据预置的规则,将所述请求分发至相应的服务组件,进而实现并发处理所述请求的技术效果。
49.通过根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理的方式,实现了如果在zookeeper服务器认为当前leader节点掉线之前,所述zookeeper服务器的运行状态恢复至正常状态,或第一连接恢复至连通状态,对leader节点进行恢复处理,使所述leader节点在所述zookeeper服务器上再次上线;如果在zookeeper服务器认为当前leader节点掉线之后,所述zookeeper服务器的运行状态恢复至正常状态,或第一连接恢复至连通状态,则对leader节点进行卸载处理,使所述leader节点的节点状态由leading转为looking;因此,避免了如果zookeeper服务器认为leader节点掉线时直接重新选举新的leader节点,导致多个leader节点并存的情况发生。
50.通过对所述leader节点进行卸载处理之后,再重新选举所述服务端的leader节点的方式,使得重新与zookeeper服务器连接的服务端的服务组件,能够再次生成用以路由请求流量,及管理follow节点的leader节点,进而保证再次连接的服务端的可用性;因此,针对zookeeper服务器出现故障和/或第一连接出现断开的情况,实现了自动切换leader节点的技术效果,而无需人工接入,提高了运维效率,降低了运维强度。
51.需要说明的是,zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是google的chubby一个开源的实现,是hadoop和hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。所述leader节点是整个zookeeper集群工作的核心,负责进行选举投票的发起和决议,更新系统的状态。
52.实施例二:
53.本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。
54.下面,以在运行有leader节点管理方法的服务器中,根据所述zookeeper服务器的运行状态和/或第一连接的连接状态,对leader节点进行恢复处理或卸载处理为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。
55.图2示意性示出了根据本技术实施例二的基于人工智能的leader节点管理方法的环境应用示意图。
56.在示例性的实施例中,leader节点管理方法所在的zookeeper服务器2通过网络分别连接服务端3和客户端4;所述服务器2可以通过一个或多个网络提供服务,网络可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络3可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络可以包括无线链路,例如蜂窝链路,卫星链路,wi-fi链路和/或类似物;所述客户端4可为智能手机、平板电脑、笔记本电脑、台式电脑等计算机设备。
57.图3是本发明一个实施例提供的一种基于人工智能的leader节点管理方法的具体方法流程图,该方法具体包括步骤s201至s206。
58.s201:构建zookeeper服务器与服务端之间的第一连接,通过所述zookeeper服务器创制用于管理所述服务端中服务组件的leader节点,其中,所述服务端是至少具有一个服务组件的服务提供方,所述服务组件是用于提供指定服务的计算机程序。
59.为确保所述服务端的服务组件能够有序的被调用,并且各服务组件的信息能够被实时同步,通过在zookeeper服务器中构建leader节点,用以通过所述leader节点将请求分发至相应的服务组件实现并发处理所述请求的技术效果;
60.本步骤通过接收服务端发送的第一连接请求,根据所述注册请求在所述zookeeper服务器和所述服务端之间构建第一连接的方式,用于获取所述服务端的服务组件;通过所述zookeeper服务器创制用于管理所述服务端中服务组件的leader节点的方式,确定用于接收所述请求的管理者,所述管理者将根据预置的规则,将所述请求分发至相应的服务组件,进而实现并发处理所述请求的技术效果。
61.需要说明的是,zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是google的chubby一个开源的实现,是hadoop和hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
62.在一个优选的实施例中,所述通过所述zookeeper服务器创制用于管理所述服务端中服务组件的leader节点,包括:
63.s11:控制所述zookeeper服务器通过所述第一连接获取所述服务端的服务组件,并对所述服务组件配置节点,及将所述节点的节点状态设置为looking状态;
64.s12:通过选举进程控制各所述节点对所述服务端中任一节点进行投票,以获得票数最高的节点并将其设为目标节点;
65.s13:将所述目标节点的节点状态修改为leading状态,使所述目标节点转为
leader节点,其中,所述leader节点用于接收请求流量并对其进行分发操作;
66.s14:将所述服务端中除所述目标节点外的其他节点的节点状态修改为following状态,使所述其他节点转为follow节点;其中,所述follow节点用于接收所述leader节点分发的请求流量并对其进行处理。
67.于本实施例中,looking状态:寻找leader状态,处于该状态需要进入选举流程;leading状态:领导者状态,处于该状态的节点说明是角色已经是leader;following状态:跟随者状态,表示leader已经选举出来,当前节点角色是follower。
68.示例性地,服务端的服务组件包括组件a,组件b和组件c,对所述服务组件分别配置节点,以作为运行所述服务组件的线程,即:节点a,节点b和节点c,并使各节点的节点状态均配置为looking状态;通过选举进程使所述节点a、节点b和节点c分别对上述各节点进行投票;假设节点a的票数最高,那么,就将节点a的节点状态由looking状态修改为leader状态,使节点a转为leader节点,其用于接收请求并对其进行路由;将节点b和节点c的节点状态由looking状态修改为follow状态,使节点b和节点c转为follow节点,其用于接收leader节点路由的请求并处理所述请求。
69.需要说明的是,可通过zookeeper服务器的选举进程创制用于管理所述服务端中服务组件的leader节点,其中,所述选举进程是基于zookeeper服务器的选举算法所构建的,用于获得leader节点和follow节点的计算机程序;其中,所述leader节点是整个zookeeper集群工作的核心,负责进行选举投票的发起和决议,更新系统的状态;follower节点是zookeeper集群状态的跟随者,用于接收客户端并向客户端返回结果,在选举过程中参与投票。
70.s202:在所述zookeeper服务器中,构建用于监听zookeeper服务器的运行状态的第一监听线程,并构建用于监听所述第一连接的第二监听线程。
71.为实现及时监听zookeeper服务器,以及zookeeper服务器与服务端之间连接状态的技术效果,本步骤通过在zookeeper服务器中构建用于监听zookeeper服务器的运行状态的第一监听线程,用以实现实时监听zookeeper服务器的技术效果,以及在zookeeper服务器中构建用于监听所述第一连接的第二监听线程,用以实时监听外部的服务端与zookeeper服务器之间连接状态的技术效果。
72.于本实施例中,可采用watch事件作为所述第一监听线程和所述第二监听线程,所述watcher事件是通过org.apache.zookeeper.watcher接口所形成的watch方法,其用于监听节点状态所产生的变化,进一步地,zookeeper服务器中所有读操作(getdata(),getchildren(),exists())都可以设置watch选项。watch事件具有one-time trigger(一次性触发)的特性,如果watch事件监视的节点,其节点状态发生变化,那么就会通知运行有leader节点管理方法的服务器。
73.s203:构建zookeep服务器与客户端之间的第二连接,其中,所述客户端是用于调用服务端的服务组件的服务消费方。
74.本步骤中,通过在所述zookeeper服务器与客户端之间构建的第二连接,用于向客户端发送事件消息,以便于通过所述第二连接向客户端发送断开信号,用以触发所述客户端通过所述zookeeper服务器与服务端进行重连。于本实施例中,所述断开信号为disconnect事件。
75.进一步地,所述第二连接还可用于接收客户端通过所述第二连接发送的信息请求,调用所述leader节点将所述信息请求发送至所述follow节点,接收能够满足所述信息请求的follow节点发送的地址信息,调用所述leader节点将所述地址信息发送至所述客户端;其中,所述地址信息是客户端所需调用服务组件的地址。
76.s204:根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理。
77.由于当zookeeper服务器的运行状态出现故障或第一连接的连接状态出现断开时,会导致zookeeper服务器认为当前的leader节点已掉线,此时通常zookeeper服务器会从服务端中各服务组件对应的节点中,选举新的leader节点如果先前的leader节点再次上线,将会因其与所述新的leader节点共存于zookeeper服务器,导致一个服务端具有两个或两个以上的leader节点,进而导致follow节点因多个leader节点共存导致其无法被正确调用,最终造成服务组件调用异常的情况发生。
78.本步骤通过根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理的方式,实现了如果在zookeeper服务器认为当前leader节点掉线之前,所述zookeeper服务器的运行状态恢复至正常状态,或第一连接恢复至连通状态,对leader节点进行恢复处理,使所述leader节点在所述zookeeper服务器上再次上线;如果在zookeeper服务器认为当前leader节点掉线之后,所述zookeeper服务器的运行状态恢复至正常状态,或第一连接恢复至连通状态,则对leader节点进行卸载处理,使所述leader节点的节点状态由leading转为looking;因此,避免了如果zookeeper服务器认为leader节点掉线时直接重新选举新的leader节点,导致多个leader节点并存的情况发生。
79.具体地,所述恢复处理的步骤,包括:
80.获取所述服务端的leader节点和follow节点,将所述leader节点和所述follow节点在所述zookeeper服务器中上线,用以实现对所述leader节点的恢复处理。
81.具体地,所述卸载处理的步骤,包括:
82.获取所述服务端的leader节点和follow节点,将所述leader节点的节点状态转为looking状态,并将所述follow节点的状态转为looking状态,用以实现对leader节点进行卸载的技术效果。
83.在一个优选的实施例中,所述运行状态包括正常状态和故障状态,所述连接状态包括连通状态和断开状态;
84.所述根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理,包括:
85.s41:通过第一监听线程监听所述zookeeper服务器的运行状态,当所述运行状态为故障状态时,判断所述zookeeper服务器是否在预置的运行期间内恢复为正常状态;若是,则恢复所述zookeeper服务器中所述服务端的leader节点;若否,则卸载所述zookeeper服务器中所述服务端的leader节点。
86.本步骤中,当zookeeper服务器出现故障时,将会导致客户端无法通过zookeeper服务器调用所述服务端的服务组件,因此,通过第一监听线程实时监听zookeeper服务器的运行状态,一旦所述运行状态在所述运行期间内转为正常状态时,则将所述服务端的
leader节点和follow节点直接在zookeeper服务器中上线,用以恢复所述leader节点;如果所述运行状态在超过所述运行期间之后仍未恢复至正常状态时,则将所述服务端的leader节点和follow节点的节点状态均转为looking状态,以实现卸载所述leader节点的技术效果。其中,所述运行期间是zookeeper认为leader节点掉线的时间,其可根据zookeeper服务器的配置文件参数而设置,例如:配置文件认为leader节点与zookeeper服务器之间连接掉线3秒,即认为leader节点掉线,那么,将所述运行期间设为3秒。
87.s42:通过所述第二监听线程监听所述第一连接的连接状态,当所述连接状态为断开状态时,则通过所述第二连接向所述客户端发送断开信号,用于触发所述客户端与所述服务端进行重连操作;及判断所述第一连接是否在预置的连接期间内恢复为连通状态;若是,则恢复所述zookeeper服务器中所述服务端的leader节点;若否,则卸载所述zookeeper服务器中所述服务端的leader节点;
88.本步骤中,当服务端出现故障时,将会导致客户端无法通过zookeeper服务器调用所述服务端的服务组件,因此,通过第二连接向所述客户端发送断开信号,用于触发所述客户端与所述服务端进行重连操作,用于使客户端和服务端之间重新建立连接,当所述客户端与所述服务端实现重连,所述服务端将会再次与所述zookeeper服务器之间构建第一连接,使所述第一连接保持在连通状态;一旦所述连接状态在所述连接期间内恢复为连通状态时,则将所述服务端的leader节点和follow节点直接在zookeeper服务器中上线,用以恢复所述leader节点;如果所述连接状态超过所述连接期间仍未实现连通状态时,则将所述服务端的leader节点和follow节点的节点状态均转为looking状态,以实现卸载所述leader节点的技术效果。其中,所述连接期间是zookeeper认为leader节点掉线的时间,其可根据zookeeper服务器的配置文件参数而设置,例如:配置文件认为leader节点与zookeeper服务器之间连接掉线3秒,即认为leader节点掉线,那么,将所述连接期间设为3秒。
89.于本实施例中,当所述运行状态为正常状态,及所述连接状态为连通状态时,第一监听线程和第二监听线程将分别监听到正常信号和连通信号,所述正常信号和所述连通信号可分别为(18:49:08){"keeperstate":"syncconnected","eventtype":"none"};
90.通过所述第二连接向所述客户端发送disconnect事件作为断开信号,用于触发所述客户端与所述服务端进行重连操作;例如:所述断开信号为:(18:58:18){"keeperstate":"disconnected","eventtype":"none"};
91.当经过所述运行期间或所述连接期间后,接收到所述服务端发送的expired事件时,则判定所述zookeeper服务器恢复为正常状态,及判定所述第一连接恢复为连通状态;例如,接收到的expired事件为:(18:59:48){"keeperstate":"expired","eventtype":"none"}。
92.s205:在所述zookeeper服务器和所述服务组件之间构建节点监听线程,用于监听所述leader节点的变更情况,并根据所述变更情况向所述服务组件发送变更信息。
93.由于原leader节点因服务端与zookeeper服务器之间断开而被卸载,导致需要重新选举leader节点方可使所述服务组件被调用,因此,为确保将各服务组件对应节点的节点状态恢复为looking状态,以便于重新选举leader节点,本步骤通过在所述zookeeper服务器和所述服务组件之间构建节点监听线程的方式,实现通过所述节点监听线程监听所述
leader节点的变更情况,并根据所述变更情况向所述服务组件发送变更信息的效果,使得服务组件根据所述变更信息变更与其对应节点的节点状态,进而将following状态变更为looking状态,确保后续能够重新选举leader节点。
94.于本实施例中,所述可采用watch事件作为所述节点监听线程,所述watcher事件是通过org.apache.zookeeper.watcher接口所形成的watch方法,其用于监听节点状态所产生的变化。
95.优选的,所述根据所述变更情况向所述服务组件发送变更信息之后,所述方法还包括:
96.将所述变更信息上传至区块链中。
97.需要说明的是,基于变更信息得到对应的摘要信息,具体来说,摘要信息由变更信息进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证变更信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
98.s206:在对所述leader节点进行卸载处理之后,重新选举所述服务端的leader节点。
99.为确保因zookeeper服务器或服务端故障导致leader节点掉线的服务端,其再次与zookeeper服务器连接时能够再次被客户端正常调用,本步骤通过对所述leader节点进行卸载处理之后,再重新选举所述服务端的leader节点的方式,使得重新与zookeeper服务器连接的服务端的服务组件,能够再次生成用以路由请求流量,及管理follow节点的leader节点,进而保证再次连接的服务端的可用性。因此,针对zookeeper服务器出现故障和/或第一连接出现断开的情况,实现了自动切换leader节点的技术效果,而无需人工接入,提高了运维效率,降低了运维强度。
100.在一个优选的实施例中,所述重新选举所述服务端的leader节点,包括:
101.s61:判断在预置的重连期间内是否接收到所述服务端发送的重连指令;其中,所述重连指令反映了所述leader节点的变更情况;
102.本步骤中,所述重连指令为所述expired事件,其反映了所述服务端和所述zookeeper服务器之间再次实现连接,并且所述leader节点已被卸载;而如果在运行期间内所述zookeeper服务器的运行状态恢复至正常状态,或在连接期间内所述zookeeper服务器与所述服务端之间的第一连接恢复至连通状态,所述服务端将不发送所述重连指令,以避免leader节点因短时间掉线导致多次重复选举,造成zookeeper服务器算力消耗过大和运行稳定性降低的问题发生。其中,所述重连期间是根据服务组件的需求预置的时间区间。
103.s62:若是,则向所述服务端的各服务组件发送变更信息,使所述服务组件对应节点的节点状态从following状态转为looking状态;及通过预置的选举进程对所述服务组件对应节点进行选举,得到所述服务端的leader节点。
104.本步骤中,所述变更信息是根据所述重连指令(即:所述expired事件)生成的,用
于将follow节点的节点状态转为looking状态的计算机指令。再通过选举进程对looking状态的节点再次进行选举,以获得新的leader节点。
105.需要说明的是,所述选举进程是基于zookeeper服务器的选举算法所构建的,用于获得leader节点和follow节点的计算机程序;其中,所述leader节点是整个zookeeper集群工作的核心,负责进行选举投票的发起和决议,更新系统的状态;follower节点是zookeeper集群状态的跟随者,用于接收客户端并向客户端返回结果,在选举过程中参与投票。
106.s63:若否,则向控制端发送掉线信息,其中,所述掉线信息中记载了所述服务端的编号。
107.本步骤中,所述服务端的编号为所述服务端的唯一性标识信息。
108.实施例三:
109.请参阅图4,本实施例的一种基于人工智能的leader节点管理装置1,安装在zookeeper服务器中,包括:
110.第一创制模块11,用于构建zookeeper服务器与服务端之间的第一连接,通过所述zookeeper服务器创制用于管理所述服务端中服务组件的leader节点,其中,所述服务端是至少具有一个服务组件的服务提供方,所述服务组件是用于提供指定服务的计算机程序;
111.节点处理模块14,用于根据所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理;
112.leader选举模块16,用于在对所述leader节点进行卸载处理之后,重新选举所述服务端的leader节点。
113.可选的,所述leader节点管理装置1还包括:
114.第二创制模块12,用于在所述zookeeper服务器中,构建用于监听zookeeper服务器的运行状态的第一监听线程,并构建用于监听所述第一连接的第二监听线程。
115.可选的,所述leader节点管理装置1还包括:
116.第三创制模块13,用于构建zookeep服务器与客户端之间的第二连接,其中,所述客户端是用于调用服务端的服务组件的服务消费方。
117.可选的,所述leader节点管理装置1还包括:
118.第四创制模块15,用于在所述zookeeper服务器和所述服务组件之间构建节点监听线程,用于监听所述leader节点的变更情况,并根据所述变更情况向所述服务组件发送变更信息。
119.可选的,所述第一创制模块11还包括:
120.节点配置单元111,用于控制所述zookeeper服务器通过所述第一连接获取所述服务端的服务组件,并对所述服务组件配置节点,及将所述节点的节点状态设置为looking状态;
121.节点投票单元112,用于通过选举进程控制各所述节点对所述服务端中任一节点进行投票,以获得票数最高的节点并将其设为目标节点;
122.leader选定单元113,用于将所述目标节点的节点状态修改为leading状态,使所述目标节点转为leader节点,其中,所述leader节点用于接收请求流量并对其进行分发操作;
123.follow选定单元114,用于将所述服务端中除所述目标节点外的其他节点的节点状态修改为following状态,使所述其他节点转为follow节点;其中,所述follow节点用于接收所述leader节点分发的请求流量并对其进行处理。
124.可选的,所述节点处理模块14还包括:
125.第一处理单元141,用于通过第一监听线程监听所述zookeeper服务器的运行状态,当所述运行状态为故障状态时,判断所述zookeeper服务器是否在预置的运行期间内恢复为正常状态;若是,则恢复所述zookeeper服务器中所述服务端的leader节点;若否,则卸载所述zookeeper服务器中所述服务端的leader节点。
126.第二处理单元142,用于通过所述第二监听线程监听所述第一连接的连接状态,当所述连接状态为断开状态时,则通过所述第二连接向所述客户端发送断开信号,用于触发所述客户端与所述服务端进行重连操作;及判断所述第一连接是否在预置的连接期间内恢复为连通状态;若是,则恢复所述zookeeper服务器中所述服务端的leader节点;若否,则卸载所述zookeeper服务器中所述服务端的leader节点。
127.可选的,所述leader选举模块16还包括:
128.时间判断单元161,用于判断在预置的重连期间内是否接收到所述服务端发送的重连指令;其中,所述重连指令反映了所述leader节点的变更情况;
129.节点选举单元162,用于向所述服务端的各服务组件发送变更信息,使所述服务组件对应节点的节点状态从following状态转为looking状态;及通过预置的选举进程对所述服务组件对应节点进行选举,得到所述服务端的leader节点。
130.掉线报警单元163,用于向控制端发送掉线信息,其中,所述掉线信息中记载了所述服务端的编号。
131.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
132.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
133.具体地,于本实施例中通过人工智能领域的智能决策模型,所述智能决策模型可采用基于分类器所构建的分类模型,通过该分类模型分析所述zookeeper服务器的运行状态和/或所述第一连接的连接状态,并根据所述运行状态和/或连接状态,对所述zookeeper服务器中的leader节点进行恢复处理或卸载处理。
134.实施例四:
135.为实现上述目的,本发明还提供一种计算机设备5,实施例三的leader节点管理装置的组成部分可分散于不同的计算机设备中,计算机设备5可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器51、处理器52,如图5所示。
需要指出的是,图5仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
136.本实施例中,存储器51(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器51也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器51还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例三的leader节点管理装置的程序代码等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
137.处理器52在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如运行leader节点管理装置,以实现实施例一和实施例二的leader节点管理方法。
138.实施例五:
139.为实现上述目的,本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器52执行时实现相应功能。本实施例的计算机可读存储介质用于存储实现所述leader节点管理方法的计算机程序,被处理器52执行时实现实施例一和实施例二的leader节点管理方法。
140.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
141.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
142.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献