[发明专利]主节点选举方法及装置、介质和计算设备有效
申请号: | 201810945208.9 | 申请日: | 2018-08-17 |
公开(公告)号: | CN108984349B | 公开(公告)日: | 2021-10-08 |
发明(设计)人: | 张小刚;张晓龙;尧飘海;陈谔 | 申请(专利权)人: | 杭州朗和科技有限公司 |
主分类号: | G06F11/20 | 分类号: | G06F11/20 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 杨静 |
地址: | 310052 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 节点 选举 方法 装置 介质 计算 设备 | ||
本发明实施方式提供了一种主节点选举方法,应用于分布式系统,分布式系统包括第一服务区、第二服务区,第一服务区包括第一数量的第一节点,第二服务区包括第二数量的第二节点,该方法包括在第一节点、第二节点与第三数量的外部仲裁节点之间建立连接,其中,第三数量是根据第一数量和第二数量确定的;在第一服务区或第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和外部仲裁节点选举出主节点,其中,未发生故障的服务区为第一服务区或第二服务区中的其中之一。通过本发明无需用户手动操作恢复,从而显著地减少了系统恢复时间,避免了单机房异常时脑裂风险。此外,本发明实施方式还提供了一种主节点选举装置、介质和计算设备。
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及一种主节点选举方法及装置、介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
相关技术中,对于数据库,队列等服务来说,需要使用主节点来保证读写操作,这类服务在两个机房时一般采用主备模式,在备机房异常时,主节点正常提供,服务不受影响。而在主机房异常的时候需要程序介入,通过主备切换的方式,让从节点正常提供服务。而在仅有两个机房的情况下,系统很难通过现有机房的异常信息来判断出是哪个机房异常,因此存在脑裂的风险。如图1所示,包括机房A和B,如果中间专线出现异常,对于机房A和B而言,都会发现对方异常。对于从节点来说,专线异常和主机房异常的表现是完全一致的(都是主节点无响应),如果依赖自动恢复,自动恢复程序就会判断服务异常,从而开始自动恢复。但如果此时主节点仍然正常运行,可能只是主从节点之间心跳异常,自动恢复程序仍会判断服务异常,就会发生脑裂问题。
目前,相关技术中为了处理这个场景,在双机房环境时,如果主机房发生异常,需要人工介入来判断实际的异常情况,再判断是否恢复。通过人为介入和确认,虽然可以降低异常判断导致脑裂风险,但也会导致系统恢复时间大大延长,存在不能及时的解决异常情况的问题。
发明内容
因此在现有技术中,当服务区出现异常时,难以及时有效地解决异常,从而保证正常的读写服务,这是非常令人烦恼的过程。
为此,非常需要一种改进的主节点选举方法及装置、介质和计算设备。
在本上下文中,本发明的实施方式期望提供一种主节点选举方法及装置、介质和计算设备。
在本发明实施方式的第一方面中,提供了一种主节点选举方法,应用于分布式系统,上述分布式系统包括第一服务区、第二服务区,上述第一服务区包括第一数量的第一节点,上述第二服务区包括第二数量的第二节点,上述方法包括:在上述第一节点、上述第二节点与第三数量的外部仲裁节点之间建立连接,其中,上述第三数量是根据上述第一数量和上述第二数量确定的;在上述第一服务区或上述第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和上述外部仲裁节点选举出主节点,其中,上述未发生故障的服务区为上述第一服务区或上述第二服务区中的其中之一。
在本发明的一个实施例中,在上述第一节点、上述第二节点与第三数量的外部仲裁节点之间建立连接之后,上述方法还包括在上述第一节点和上述第二节点均已启动n秒以后再启动上述外部仲裁节点,0.1≤n≤0.9。
在本发明的另一个实施例中,上述方法还包括:在上述第一服务区或上述第二服务区发生故障的情况下,检测上述外部仲裁节点是否为主节点;在上述外部仲裁节点为主节点的情况下,延迟重启上述外部仲裁节点,以使得重新从上述未发生故障的服务区的节点中确定出主节点。
在本发明的又一个实施例中,上述方法还包括获取用于配置上述外部仲裁节点的配置操作;以及响应于上述配置操作,配置上述外部仲裁节点的访问状态为禁止访问状态,以限制访问上述外部仲裁节点,并使得请求一服务时,通过上述第一服务区中的第一节点或上述第二服务区中的第二节点响应于访问请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州朗和科技有限公司,未经杭州朗和科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810945208.9/2.html,转载请声明来源钻瓜专利网。