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

切换方法、系统、服务器及存储介质与流程

2022-03-19 14:44:16 来源:中国专利 TAG:


1.本技术实施例涉及分布式数据库领域,特别涉及一种切换方法、系统、服务器及存储介质。


背景技术:

2.分布式数据库系统是数据库技术与网络技术相结合的产物,在数据库领域已成为一个重要的分支。在分布式数据库系统中,数据节点多采用一主一从或一主多从的形式来保证服务的稳定性及高可用性。当主数据节点的业务能力下降或者受限时,为了保证主数据节点上业务的顺利进行,会将主数据节点的业务切换至从数据节点执行;在切换过程中,为了保证主从数据的一致性,会禁止计算节点向主数据节点下发数据。然而,在切换过程中,可能存在没有完全禁止计算节点向主数据节点下发数据的情况,这样就可能发生业务阻塞的现象,导致切换耗费的时间较长,切换速度较慢。


技术实现要素:

3.本技术实施例的主要目的在于提出一种切换方法、系统、服务器及存储介质,既保证了主从数据节点的数据一致,又减少了切换耗费的时间,提高切换的速度。
4.为实现上述目的,本技术实施例提供了一种切换方法,包括:向计算节点发送停止计算节点服务的请求,供所述计算节点接收到所述停止计算节点服务的请求时切断与主数据节点的连接;向所述主数据节点发送停止主数据节点服务的请求,供所述主数据节点在接收到所述停止主数据节点服务的请求时切断与所述计算节点的连接;接收所述计算节点发送的已停止计算节点服务的响应和所述主数据节点发送的已停止主数据节点服务的响应,并向待升级为主数据节点的从数据节点发送升级请求,供所述从数据节点接收到所述升级请求时升级为新的主数据节点。
5.为实现上述目的,本技术实施例还提供了一种切换方法,包括:接收集群管理器发送的停止主数据节点服务的请求;若成功切断与计算节点的连接,向所述集群管理器发送已停止主数据节点服务的响应,供所述集群管理器接收到所述计算节点在切断与所述主数据节点的连接后发送的已停止计算节点服务的响应和所述已停止主数据节点服务的响应时向待升级为主数据节点的从数据节点发送升级请求;其中,所述切断与计算节点的连接,包括:与已经建立连接的计算节点断开连接。
6.为实现上述目的,本技术实施例还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的切换方法,所述服务器应用于集群管理器,或,能够执行上述所述的切换方法,所述服务器应用于主数据节点。
7.为实现上述目的,本技术实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的切换方法。
8.本技术提出的切换方法、系统、服务器及存储介质,向计算节点发送停止计算节点服务的请求,供计算节点接收到停止计算节点服务的请求时切断与主数据节点之间的连接,向主数据节点发送停止主数据节点服务的请求,供主数据节点在接收到停止主数据节点服务的请求时切断与计算节点的连接,接收计算节点发送的已停止计算节点服务的响应和主数据节点发送的已停止主数据节点服务的响应,并向待升级为主数据节点的从数据节点发送升级请求,供从数据节点接收到升级请求时升级为新的主数据节点,由于从双向切断计算节点和主数据节点之间的连接,降低了发生业务阻塞的可能性,使主数据节点可以较快的完成服务,提高主从数据节点的数据一致的可能性,也可以较快的向待升级为主数据节点的从数据节点发送升级请求,尽快完成切换,减少了切换耗费的时间,提高切换的速度。
附图说明
9.图1是根据本技术第一实施例中的切换方法的流程图;
10.图2是根据本技术第二实施例中的切换方法的流程图;
11.图3是根据本技术第三实施例中的切换方法的流程图;
12.图4是根据本技术第四实施例中的切换系统的结构示意图;
13.图5是根据本技术第五实施例中的服务器的结构示意图。
具体实施方式
14.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本技术各实施例中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本技术的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
15.本技术的第一实施例涉及一种切换方法,应用于集群管理器。具体流程如图1所示,包括:
16.步骤101,向计算节点发送停止计算节点服务的请求,供计算节点接收到停止计算节点服务的请求时切断与主数据节点的连接。
17.具体地说,集群管理器检测到用户指令指示进行主从数据节点的切换时,或者集群管理器检测到主数据节点的业务能力下降或受限时,集群管理器会向计算节点管理器发送停止计算节点服务的请求,由计算节点管理器将停止计算节点服务的请求透传给计算节点;计算节点在接收到停止计算节点服务的请求时切断与主数据节点的连接,并向计算节点管理器发送已停止计算节点服务的响应,由计算节点管理器将已停止计算节点服务的响应透传给集群管理器。
18.步骤102,向主数据节点发送停止主数据节点服务的请求,供主数据节点在接收到停止主数据节点服务的请求时切断与计算节点的连接。
19.具体地说,集群管理器向主数据节点发送停止主数据节点服务的请求,主数据节点在接收到停止主数据节点服务的请求时切断与计算节点的连接,并向集群管理器发送已
停止计算节点服务的响应。在一个例子中,主数据节点通过主数据节点的数据库监控代理接收集群管理器发送的停止主数据节点服务的请求以及向集群管理器发送已停止计算节点服务的响应。
20.在一个例子中,先执行步骤102,再执行步骤101。在一个例子中,同时执行步骤101和步骤102。
21.步骤103,接收计算节点发送的已停止计算节点服务的响应和主数据节点发送的已停止主数据节点服务的响应,并向待升级为主数据节点的从数据节点发送升级请求,供从数据节点接收到升级请求时升级为新的主数据节点。
22.具体地说,集群管理器从计算节点管理器接收计算节点发送的已停止计算节点服务的响应,以及接收主数据节点发送的已停止主数据节点服务的响应,当集群管理器接收到已停止计算节点服务的响应和已停止主数据节点服务的响应时,向待升级为主数据节点的从数据节点发送升级请求,待升级为主数据节点的从数据节点执行升级为新的主数据节点的结构化查询语言(structured query language,sql)命令,从而升级为新的主数据节点。新的主数据节点先向集群管理器发送成功升级的响应,集群管理器在接收到成功升级的响应时向计算节点管理器发送启用计算节点服务的请求,由计算节点管理器将启用计算节点服务的请求透传给计算节点,计算节点在接收到启用计算节点服务的请求时,与新的主数据节点建立连接,恢复业务的传输;并向计算节点管理器发送已启用计算节点服务的响应,由计算节点管理器将已启用计算节点服务的响应透传给集群管理器。
23.在一个例子中,新的主数据节点通过新的主数据节点的数据库监控代理接收集群管理器发送的升级请求以及向集群管理器发送成功升级的响应。
24.在一个例子中,计算节点在接收到停止计算节点服务的请求时,将由主数据节点和从数据节点组成的集群的分片状态设置为不可用状态,且切断与主数据节点的连接;计算节点在接收到启用计算节点服务的请求时,将集群的分片状态设置为可用状态,且与新的主数据节点建立连接,恢复业务的传输。通过这样的方法,在计算节点接收到停止计算节点服务的请求时可以进一步提高切断计算节点与主数据节点的连接的可能性,而且在计算节点接收到启用计算节点服务的请求时,也可以迅速的恢复集群的分片状态为可用状态。
25.本实施例中,集群管理器向计算节点发送停止计算节点服务的请求,供计算节点接收到停止计算节点服务的请求时切断与主数据节点之间的连接,向主数据节点发送停止主数据节点服务的请求,供主数据节点在接收到停止主数据节点服务的请求时切断与计算节点的连接,接收计算节点发送的已停止计算节点服务的响应和主数据节点发送的已停止主数据节点服务的响应,并向待升级为主数据节点的从数据节点发送升级请求,供从数据节点接收到升级请求时升级为新的主数据节点,由于从双向切断计算节点和主数据节点之间的连接,降低了发生业务阻塞的可能性,使主数据节点可以较快的完成服务,提高主从数据节点的数据一致的可能性,也可以较快的向待升级为主数据节点的从数据节点发送升级请求,尽快完成切换,减少了切换耗费的时间,提高切换的速度。
26.本技术的第二实施例涉及一种切换方法,应用于主数据节点。具体流程如图2所示,包括:
27.步骤201,接收集群管理器发送的停止主数据节点服务的请求。
28.步骤202,若成功切断与计算节点的连接,向集群管理器发送已停止主数据节点服
务的响应,供集群管理器接收到计算节点在切断与主数据节点的连接后发送的已停止计算节点服务的响应和已停止主数据节点服务的响应时向待升级为主数据节点的从数据节点发送升级请求;其中,切断与计算节点的连接,包括:与已经建立连接的计算节点断开连接。
29.具体地说,主数据节点在接收集群管理器发送的停止主数据节点服务的请求时,主数据节点会与已经建立连接的计算节点断开连接,若成功断开连接,表明主数据节点成功切断与计算节点的连接,则主数据节点向集群管理器发送已停止主数据节点服务的响应,集群管理器接收到计算节点在切断与主数据节点的连接后发送的已停止计算节点服务的响应和已停止主数据节点服务的响应时向待升级为主数据节点的从数据节点发送升级请求,待升级为主数据节点的从数据节点执行升级为新的主数据节点的结构化查询语言命令,从而升级为新的主数据节点。
30.在一个例子中,主数据节点通过主数据节点的数据库监控代理接收集群管理器发送的停止主数据节点服务的请求以及向集群管理器发送已停止计算节点服务的响应。
31.在一个例子中,若未成功切断与计算节点的连接,通过kill命令终结运行的与计算节点相关的服务,再进入向集群管理器发送已停止主数据节点服务服务的响应。具体地说,若主数据节点与已经建立连接的计算节点断开连接失败,表明主数据节点未成功切断与计算节点的连接,则主数据节点通过kill命令终结运行的与计算节点相关的服务,即终结与计算节点相关的进程,其中,kill命令可以为kill-9命令等;再向集群管理器发送已停止主数据节点服务的响应,供集群管理器接收到计算节点在切断与主数据节点的连接后发送的已停止计算节点服务的响应和已停止主数据节点服务的响应时向待升级为主数据节点的从数据节点发送升级请求。通过这样的方法,可以进一步的降低发生业务阻塞的可能性,进一步的减少切换耗费的时间,提高切换的速度。
32.在一个例子中,在向集群管理器发送已停止主数据节点服务的响应之前,还包括:启动只读模式。具体地说,若成功切断与计算节点的连接,主数据节点先启动只读模式,再向集群管理器发送已停止主数据节点服务的响应,当主数据节点启动只读模式时,计算节点只可以读取数据而无法对数据进行改写操作,这样就可以避免计算节点通过未成功切断的连接进行写入操作,进一步降低业务阻塞的可能性。
33.在一个例子中,在向集群管理器发送已停止主数据节点服务的响应之前,还包括:刷新事务日志。具体地说,若成功切断与计算节点的连接,先刷新事务日志,再向集群管理器发送已停止主数据节点服务的响应,其中,主数据节点执行刷新事务日志的sql命令,从而实现刷新事务日志,使执行过的业务均进行落盘存储,降低切换前后数据丢失的可能性。
34.在一个例子中,在向集群管理器发送已停止主数据节点服务服务的响应之前,还包括:先启动只读模式,再刷新事务日志。即,若成功切断与计算节点的连接,先刷新事务日志,再刷新事务日志,再向集群管理器发送已停止主数据节点服务的响应。
35.在一个例子中,在向集群管理器发送已停止主数据节点服务的响应之前,还包括:若未成功启动只读模式,和/或,若未成功刷新事务日志,通过kill命令终结运行的与计算节点相关的服务,再进入向集群管理器发送已停止主数据节点服务的响应。
36.本实施例中,主数据节点接收集群管理器发送的停止主数据节点服务的请求;若成功切断与计算节点的连接;其中,切断与计算节点的连接,包括:与已经建立连接的与计算节点断开连接;向集群管理器发送已停止主数据节点服务的响应,供集群管理器接收到
计算节点在切断与主数据节点的连接后发送的已停止计算节点服务的响应和已停止主数据节点服务的响应时向待升级为主数据节点的从数据节点发送升级请求。这样可以断开主数据节点与计算节点的连接,降低了发生业务阻塞的可能性,使主数据节点可以较快的完成服务,提高主从数据节点的数据一致的可能性,也可以较快的向待升级为主数据节点的从数据节点发送升级请求,尽快完成切换,减少了切换耗费的时间,提高切换的速度。
37.本技术的第三实施例涉及一种切换方法,第三实施例与第二实施例大致相同,主要区别在于:还拒绝尚未建立连接的计算节点发送的连接请求。具体流程如图3所示,包括:
38.步骤301,接收集群管理器发送的停止主数据节点服务的请求。
39.步骤302,若成功切断与计算节点的连接,向集群管理器发送已停止主数据节点服务的响应,供集群管理器接收到已停止计算节点服务的响应和已停止主数据节点服务的响应时向待升级为主数据节点的从数据节点发送升级请求;其中,切断与计算节点的连接,包括:与已经建立连接的计算节点断开连接和拒绝尚未建立连接的计算节点发送的连接请求。
40.具体地说,主数据节点在接收集群管理器发送的停止主数据节点服务的请求时,主数据节点会与已经建立连接的计算节点断开连接,且拒绝尚未建立连接的计算节点发送的连接请求,若成功断开连接且成功拒绝尚未建立连接的计算节点发送的连接请求,表明主数据节点成功切断与计算节点的连接,则主数据节点向集群管理器发送已停止主数据节点服务的响应,集群管理器接收到计算节点在切断与主数据节点的连接后发送的已停止计算节点服务的响应和已停止主数据节点服务的响应时向待升级为主数据节点的从数据节点发送升级请求,待升级为主数据节点的从数据节点执行升级为新的主数据节点的结构化查询语言命令,从而升级为新的主数据节点。
41.在一个例子中,拒绝尚未建立连接的计算节点发送的连接请求,包括:停止监听尚未建立连接的计算节点发送的传输控制协议tcp连接请求。具体地说,主数据节点执行停止端口监听的sql命令,实现停止监听尚未建立连接的计算节点发送的tcp连接请求,较方便的实现拒绝尚未建立连接的计算节点发送的连接请求。
42.在一个例子中,主数据节点通过主数据节点的数据库监控代理接收集群管理器发送的停止主数据节点服务的请求以及向集群管理器发送已停止计算节点服务的响应。
43.在一个例子中,若未成功切断与计算节点的连接,通过kill命令终结运行的与计算节点相关的服务,再进入向集群管理器发送已停止主数据节点服务的响应。
44.在一个例子中,在向集群管理器发送已停止主数据节点服务的响应之前,还包括:启动只读模式。
45.在一个例子中,在向集群管理器发送已停止主数据节点服务的响应之前,还包括:刷新事务日志。
46.在一个例子中,在向集群管理器发送已停止主数据节点服务的响应之前,还包括:先启动只读模式,再刷新事务日志。
47.在一个例子中,在向集群管理器发送已停止主数据节点服务的响应之前,还包括:若未成功启动只读模式,和/或,若未成功刷新事务日志,通过kill命令终结运行的与计算节点相关的服务,再进入向集群管理器发送已停止主数据节点服务的响应。
48.本实施例中,主数据节点不仅可以与已经建立连接的计算节点断开连接,还可以
拒绝尚未建立连接的计算节点发送的连接请求,即避免主数据节点和计算节点之间产生新的连接,从而通过新的连接在主数据节点上进行写入操作的情况,这样可以进一步提高主从数据一致的可能性以及进一步降低业务阻塞的可能性。
49.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
50.本技术的第四实施例涉及一种切换系统,如图4所示,包括:集群管理器401、计算节点402、主数据节点403和待升级为主数据节点的从数据节点404;
51.集群管理器401用于向计算节点402发送停止计算节点服务的请求和向主数据节点403发送停止主数据节点服务的请求。
52.计算节点402用于接收到停止计算节点服务的请求时切断与主数据节点403之间的连接,并向集群管理器401发送已停止计算节点服务的响应。
53.主数据节点403用于接收到停止主数据节点服务的请求时切断与计算节点402的连接,并向集群管理器发送401已停止主数据节点服务的响应。
54.集群管理器401还用于接收计算节点402发送的已停止计算节点服务的响应和主数据节点403发送的已停止主数据节点服务的响应,向待升级为主数据节点的从数据节点404发送升级请求。
55.待升级为主数据节点的从数据节点404用于接收到升级请求时升级为新的主数据节点。
56.在一个例子中,主数据节点切断与计算节点的连接,包括:与已经建立连接的计算节点断开连接。
57.在一个例子中,主数据节点切断与计算节点的连接,包括:主数据节点与已经建立连接的计算节点断开连接和主数据节点拒绝尚未建立连接的计算节点发送的连接请求。
58.在一个例子中,主数据节点拒绝尚未建立连接的计算节点发送的连接请求,包括:主数据节点停止监听尚未建立连接的计算节点发送的传输控制协议tcp连接请求。
59.在一个例子中,在主数据节点向集群管理器发送已停止主数据节点服务的响应之前,还包括:主数据节点启动只读模式。
60.在一个例子中,在主数据节点向集群管理器发送已停止主数据节点服务的响应之前,还包括:主数据节点刷新事务日志。
61.在一个例子中,在主数据节点接收集群管理器发送的停止主数据节点服务的请求之后,还包括:若未成功切断与计算节点的连接,主数据节点通过kill命令终结运行的与计算节点相关的服务,再进入向集群管理器发送已停止主数据节点服务的响应。
62.不难发现,本实施例为与第一实施例相对应的系统实施例,本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
63.本技术第五实施例涉及一种服务器,如图5所示,包括至少一个处理器502;以及,与至少一个处理器通信连接的存储器501;其中,存储器501存储有可被至少一个处理器502执行的指令,指令被至少一个处理器502执行,以使至少一个处理器能够执行第一实施例的
切换方法,服务器应用于集群管理器,或,能够执行第二实施例和第三实施例的切换方法,服务器应用于主数据节点。
64.其中,存储器501和处理器502采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器502和存储器501的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器502处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器502。
65.处理器502负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器501可以被用于存储处理器502在执行操作时所使用的数据。
66.本发明第六实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
67.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
68.本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
再多了解一些

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

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

相关文献