CN115567395B - 一种主从节点确定方法、装置、电子设备及存储介质 - Google Patents

一种主从节点确定方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115567395B
CN115567395B CN202211408144.1A CN202211408144A CN115567395B CN 115567395 B CN115567395 B CN 115567395B CN 202211408144 A CN202211408144 A CN 202211408144A CN 115567395 B CN115567395 B CN 115567395B
Authority
CN
China
Prior art keywords
node
target node
master
signal
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211408144.1A
Other languages
English (en)
Other versions
CN115567395A (zh
Inventor
陈江
韩舒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211408144.1A priority Critical patent/CN115567395B/zh
Publication of CN115567395A publication Critical patent/CN115567395A/zh
Application granted granted Critical
Publication of CN115567395B publication Critical patent/CN115567395B/zh
Priority to PCT/CN2023/128590 priority patent/WO2024099182A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明实施例提供了一种主从节点确定方法、装置、电子设备及存储介质,通过从所述多个储存节点中确定出第一目标节点、第二目标节点、第三目标节点和第四目标节点;生成针对目标节点的心跳信号和禁主信号;当校验数据的第一首位字符和第一末位字符相同且第一首位字符和第一末位字符与预设值相同,且通过第二心跳信号、第二禁主信号、第三心跳信号、第三禁主信号、第四心跳信号和第四禁主信号判定第二目标节点、第三目标节点和第四目标节点不为主节点,且第一目标节点为主节点,且第一心跳信号处于正常状态时,将第一目标节点确定为主节点,从而实现了针对主节点的确定。

Description

一种主从节点确定方法、装置、电子设备及存储介质
技术领域
本发明涉及主从节点确定技术领域,特别是涉及一种主从节点确定方法、一种主从节点确定装置、一种电子设备以及一种计算机可读存储介质。
背景技术
多节点服务器顾名思义就是多个节点的服务器,它由多个节点和管理装置整体的管理单元构成它可以减轻服务器的负载,可以进行分流并灵活应用也可以作为虚拟的磁盘服务器。多节点服务器还非常的易于管理,它的每个节点可以独立的进行管理,它可以通过机箱管理模块达到统一的管理工作模式,它具备了更好的通用性和更优的易用性。多节点服务器还拥有着模块化的部署,各节点可以灵活的进行搭配,可以混合进行部署,模块化的前窗可以根据用户的需求搭配不同种类的节点前窗。灵活扩展的特性,可以实现近乎定制化的产品配置。它可以面向多种不同的工作负载不同的计算节点可搭配不同块的大容量硬盘,无论是多网络扩展还是高IOPS(Input/Output Operations Per Second,是一个用于计算机存储设备)均可以得到完美的支持。
在实际应用中,针对多节点服务器进行数据存放。虽然具有多个储存节点,但是每个节点上面的内容不一样,如果坏了,数据就会丢失。为了保证这些数据的高可用,每个节点主机需要做备份,这些备份称为从节点,有了主从后,可以实现读写分离(主分片写,副本读)等扩展功能,所以,如何从多节点服务器的多个储存节点中确定出主从节点,成为了本领域技术人员需要攻克的技术问题。
发明内容
本发明实施例是提供一种主从节点确定方法、装置、电子设备以及计算机可读存储介质,以解决如何从多节点服务器的多个储存节点中确定出主节点的问题。
本发明实施例公开了一种主从节点确定方法,应用于多节点服务器,所述多节点服务器包括多个储存节点,所述方法可以包括:
从所述多个储存节点中确定出第一目标节点、第二目标节点、第三目标节点和第四目标节点;所述第一目标节点包括第一校验数据,所述第一校验数据包括第一首位字符和第一末位字符;
生成针对所述第一目标节点的第一心跳信号和第一禁主信号;
生成针对所述第二目标节点的第二心跳信号和第二禁主信号;
生成针对所述第三目标节点的第三心跳信号和第三禁主信号;
生成针对所述第四目标节点的第四心跳信号和第四禁主信号;
当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,且通过所述第二心跳信号、所述第二禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判定所述第二目标节点、所述第三目标节点和所述第四目标节点中不存在主节点时,且所述第一目标节点不为从节点,且所述第一禁主信号无效,且所述第一心跳信号处于正常状态时,将所述第一目标节点确定为主节点。
可选地,还可以包括:
当所述第一目标节点为从节点,且当所述第一心跳信号处于正常状态,且所述第一禁主信号无效,且所述第二禁主信号无效,且所述第三禁主信号无效时,将所述第一目标节点确定为主节点;
当所述第一目标节点为从节点,且当所述第一心跳信号处于异常状态,和/或,所述第一禁主信号有效,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效时,将所述第一目标节点确定为从节点;
当所述第一目标节点不为从节点,且当所述第一心跳信号处于异常状态,和/或,所述第一禁主信号有效,将所述第一目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同时,将所述第一目标节点确定为从节点。
可选地,还可以包括:
当所述第一首位字符和所述第一末位字符相同,且所述第一首位字符和所述第一末位字符与预设值相同,则通过所述第一心跳信号、所述第一禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第一目标节点、所述第三目标节点和所述第四目标节点中是否存在主节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,将第二目标节点确定为主节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,且所述第三禁主信号无效,且所述第一心跳信号为异常状态或所述第一禁主信号有效时,将第二目标节点确定为主节点。
可选地,还可以包括:
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中存在主节点时,将第二目标节点确定为从节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效,和/或,所述第一心跳信号处于正常状态,和/或,所述第一禁主信号无效时,将所述第二目标节点确定为从节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,将所述第二目标节点确定为从节点。
可选地,所述第二目标节点包括第二校验数据,所述第二校验数据包括第二首位字符和第二末位字符,还可以包括:
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符相同,且所述第二首位字符和所述第二末位字符与预设值相同时,通过所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第三目标节点和所述第四目标节点中是否存在主节点;
当判定所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,将所述第二目标节点确定为主节点;
当判定所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效,且所述第三禁主信号无效,将所述第二目标节点确定为主节点。
可选地,还可以包括:
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同时,将所述第二目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符相同,且所述第二首位字符和所述第二末位字符与预设值相同,且判定所述第三目标节点和所述第四目标节点中存在主节点时,将第二目标节点确定为从节点。
可选地,还可以包括:
当所述第二目标节点不为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效时,将第二目标节点确定为从节点;
当所述第二目标节点为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效时,将所述第二目标节点确定为从节点。
可选地,还可以包括:
当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,或,所述第二首位字符和所述第二末位字符相同且所述第二首位字符和所述第二末位字符与预设值相同时,通过所述第一心跳信号、所述第一禁主信号、所述第二心跳信号、所述第二禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第一目标节点、所述第二目标节点和所述第四目标节点中是否具有存在主节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点不为从节点,且所述第三心跳信号为正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号有效,且所述第三心跳信号为正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号无效,且所述第三心跳信号为正常状态,且所述第三禁主信号无效,且所述第一心跳信号处于异常状态或所述第一禁主信号有效,且第二心跳信号处于异常状态时,将所述第三目标节点确定为主节点。
可选地,还可以包括:
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中存在主节点时,将所述第三目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点不为从节点,且所述第三心跳信号处于异常状态,和/或,所述第三禁主信号有效,将所述第三目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号有效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效时,将所述第三目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号无效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效,和/或,所述第一心跳信号处于正常状态,和/或,所述第一禁主信号无效,和/或,第二心跳信号处于正常状态时,将所述第三目标节点确定为主节点。
可选地,所述第三目标节点包括第三校验数据,所述第三校验数据包括第三首位字符和第三末位字符,还可以包括:
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,则通过所述第四心跳信号和所述第四禁主信号判断所述第四目标节点是否为主节点;
当判定所述第四目标节点不为主节点,则当所述第三心跳信号处于正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点。
可选地,还可以包括:
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符不相同,和/或,所述第三首位字符和所述第三末位字符与预设值不相同时,将所述第三目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,且判定所述第四目标节点为主节点时,将所述第三目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,且判定所述第四目标节点不为主节点,且当所述第三心跳信号处于异常状态,和/或,所述第三禁主信号有效,将所述第三目标节点确定为从节点。
可选地,还可以包括:
当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,或,所述第二首位字符和所述第二末位字符相同且所述第二首位字符和所述第二末位字符与预设值相同,或,所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同时,通过所述第一心跳信号、所述第一禁主信号、所述第二心跳信号、所述第二禁主信号、所述第三心跳信号和所述第三禁主信号判断所述第一目标节点、所述第二目标节点和所述第三目标节点中是否具有任一目标节点为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点不为从节点,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号有效,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,且所述第三心跳信号为异常状态或所述第三禁主信号有效时,将所述第四目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号有效,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号无效,且所述第一心跳信为异常状态或所述第一禁主信号有效,且所述第二心跳信号为异常状态,且所述第三心跳信号为异常状态时,将所述第四目标节点确定为主节点。
可选地,还可以包括:
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点不为从节点,且所述第四心跳信号为异常状态,和/或,所述第四禁主信号无效时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号有效,且所述第四心跳信号处于异常状态,和/或,所述第四禁主信号有效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号有效,且所述第四心跳信号为异常状态,和/或,所述第四禁主信号有效时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号无效,且所述第一心跳信为正常状态,和/或,所述第一禁主信号无效,和/或,所述第二心跳信号为正常状态,和/或,所述第三心跳信号为正常状态时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中存在主节点,将所述第四目标节点确定为从节点。
可选地,还可以包括:
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符不相同,和/或,所述第三首位字符和所述第三末位字符与预设值不相同,且所述第四首位字符和所述第四末位字符相同且所述第四首位字符和所述第四末位字符与预设值相同,且当所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点。
可选地,还可以包括:
当所述第四首位字符和所述第四末位字符不相同,和/或,所述第四首位字符和所述第四末位字符与预设值不相同,将所述第四目标节点确定为从节点;
当所述第四首位字符和所述第四末位字符相同且所述第四首位字符和所述第四末位字符与预设值相同,且所述第四心跳信号处于异常状态,和/或,所述第四禁主信号有效,将所述第四目标节点确定为从节点。
可选地,所述第一目标节点、所述第二目标节点、所述第三目标节点和所述第四目标节点分别具有对应的基板管理控制器BMC,所述基板管理控制器BMC用于生成针对所述第一目标节点的第一心跳信号和第一禁主信号,以及生成针对所述第二目标节点的第二心跳信号和第二禁主信号,以及生成针对所述第三目标节点的第三心跳信号和第三禁主信号,以及生成针对所述第四目标节点的第四心跳信号和第四禁主信号。
可选地,多节点服务器包括逻辑编程器件CPLD,所述逻辑编程器件CPLD用于将第一目标节点、第二目标节点、第三目标节点、第四目标节点确定为主节点或从节点。
本发明实施例还公开了一种主从节点确定装置,应用于多节点服务器,所述多节点服务器包括多个储存节点,所述装置包括:
目标节点确定模块,用于从所述多个储存节点中确定出第一目标节点、第二目标节点、第三目标节点和第四目标节点;
第一信号生成模块,用于生成针对所述第一目标节点的第一心跳信号和第一禁主信号;
第二信号生成模块,用于生成针对所述第二目标节点的第二心跳信号和第二禁主信号;
第三信号生成模块,用于生成针对所述第三目标节点的第三心跳信号和第三禁主信号;
第四信号生成模块,用于生成针对所述第四目标节点的第四心跳信号和第四禁主信号;
主节点确定模块,用于当所述第一禁主信号有效,且通过所述第二心跳信号、所述第二禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判定所述第二目标节点、所述第三目标节点和所述第四目标节点中不存在主节点时,且所述第一目标节点为主节点,且所述第一禁主信号无效,且所述第一心跳信号处于正常状态时,将所述第一目标节点确定为主节点。
可选地,还可以包括:
第一模块,用于可选地,还可以包括:
第二模块,用于当所述第一目标节点为从节点,且当所述第一心跳信号处于正常状态,且所述第一禁主信号无效,且所述第二禁主信号无效,且所述第三禁主信号无效时,将所述第一目标节点确定为主节点;
第三模块,用于当所述第一目标节点为从节点,且当所述第一心跳信号处于异常状态,和/或,所述第一禁主信号有效,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效时,将所述第一目标节点确定为从节点;
第四模块,用于当所述第一目标节点不为从节点,且当所述第一心跳信号处于异常状态,和/或,所述第一禁主信号有效,将所述第一目标节点确定为从节点;
第五模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同时,将所述第一目标节点确定为从节点。
可选地,还可以包括:
第六模块,用于当所述第一首位字符和所述第一末位字符相同,且所述第一首位字符和所述第一末位字符与预设值相同,则通过所述第一心跳信号、所述第一禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第一目标节点、所述第三目标节点和所述第四目标节点中是否存在主节点;
第七模块,用于当判定所述第一目标节点、所述第三目标节点和所述第四目标节点不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,将第二目标节点确定为主节点;
第八模块,用于当判定所述第一目标节点、所述第三目标节点和所述第四目标节点不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,且所述第三禁主信号无效,且所述第一心跳信号为异常状态或所述第一禁主信号有效时,将第二目标节点确定为主节点。
可选地,还可以包括:
第九模块,用于当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中存在主节点时,将第二目标节点确定为从节点;
第十模块,用于当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效,和/或,所述第一心跳信号处于正常状态,和/或,所述第一禁主信号无效时,将所述第二目标节点确定为从节点;
第十一模块,用于当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,将所述第二目标节点确定为从节点。
可选地,所述第二目标节点包括第二校验数据,所述第二校验数据包括第二首位字符和第二末位字符,还可以包括:
第十二模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符相同,且所述第二首位字符和所述第二末位字符与预设值相同时,通过所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第三目标节点和所述第四目标节点中是否存在主节点;
第十三模块,用于当判定所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,将所述第二目标节点确定为主节点;
第十四模块,用于当判定所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效,且所述第三禁主信号无效,将所述第二目标节点确定为主节点。
可选地,还可以包括:
第十五模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同时,将所述第二目标节点确定为从节点;
第十六模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符相同,且所述第二首位字符和所述第二末位字符与预设值相同,且判定所述第三目标节点和所述第四目标节点中存在主节点时,将第二目标节点确定为从节点。
可选地,还可以包括:
第十七模块,用于当所述第二目标节点不为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效时,将第二目标节点确定为从节点;
第十八模块,用于当所述第二目标节点为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效时,将所述第二目标节点确定为从节点。
可选地,还可以包括:
第十九模块,用于当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,或,所述第二首位字符和所述第二末位字符相同且所述第二首位字符和所述第二末位字符与预设值相同时,通过所述第一心跳信号、所述第一禁主信号、所述第二心跳信号、所述第二禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第一目标节点、所述第二目标节点和所述第四目标节点中是否具有存在主节点;
第二十模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点不为从节点,且所述第三心跳信号为正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点;
第二十一模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号有效,且所述第三心跳信号为正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点;
第二十二模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号无效,且所述第三心跳信号为正常状态,且所述第三禁主信号无效,且所述第一心跳信号处于异常状态或所述第一禁主信号有效,且第二心跳信号处于异常状态时,将所述第三目标节点确定为主节点。
可选地,还可以包括:
第二十三模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中存在主节点时,将所述第三目标节点确定为从节点;
第二十四模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点不为从节点,且所述第三心跳信号处于异常状态,和/或,所述第三禁主信号有效,将所述第三目标节点确定为从节点;
第二十五模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号有效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效时,将所述第三目标节点确定为从节点;
第二十六模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号无效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效,和/或,所述第一心跳信号处于正常状态,和/或,所述第一禁主信号无效,和/或,第二心跳信号处于正常状态时,将所述第三目标节点确定为主节点。
可选地,所述第三目标节点包括第三校验数据,所述第三校验数据包括第三首位字符和第三末位字符,还可以包括:
第二十七模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,则通过所述第四心跳信号和所述第四禁主信号判断所述第四目标节点是否为主节点;
第二十八模块,用于当判定所述第四目标节点不为主节点,则当所述第三心跳信号处于正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点。
可选地,还可以包括:
第二十九模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符不相同,和/或,所述第三首位字符和所述第三末位字符与预设值不相同时,将所述第三目标节点确定为从节点;
第三十模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,且判定所述第四目标节点为主节点时,将所述第三目标节点确定为从节点;
第三十一模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,且判定所述第四目标节点不为主节点,且当所述第三心跳信号处于异常状态,和/或,所述第三禁主信号有效,将所述第三目标节点确定为从节点。
可选地,还可以包括:
第三十二模块,用于当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,或,所述第二首位字符和所述第二末位字符相同且所述第二首位字符和所述第二末位字符与预设值相同,或,所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同时,通过所述第一心跳信号、所述第一禁主信号、所述第二心跳信号、所述第二禁主信号、所述第三心跳信号和所述第三禁主信号判断所述第一目标节点、所述第二目标节点和所述第三目标节点中是否具有任一目标节点为主节点;
第三十三模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点不为从节点,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点;
第三十四模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号有效,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,且所述第三心跳信号为异常状态或所述第三禁主信号有效时,将所述第四目标节点确定为主节点;
第三十五模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号有效,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点;
第三十六模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号无效,且所述第一心跳信为异常状态或所述第一禁主信号有效,且所述第二心跳信号为异常状态,且所述第三心跳信号为异常状态时,将所述第四目标节点确定为主节点。
可选地,还可以包括:
第三十七模块,用于第三十八模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点不为从节点,且所述第四心跳信号为异常状态,和/或,所述第四禁主信号无效时,将所述第四目标节点确定为从节点;
第三十九模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号有效,且所述第四心跳信号处于异常状态,和/或,所述第四禁主信号有效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效时,将所述第四目标节点确定为从节点;
第四十模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号有效,且所述第四心跳信号为异常状态,和/或,所述第四禁主信号有效时,将所述第四目标节点确定为从节点;
第四十一模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号无效,且所述第一心跳信为正常状态,和/或,所述第一禁主信号无效,和/或,所述第二心跳信号为正常状态,和/或,所述第三心跳信号为正常状态时,将所述第四目标节点确定为从节点;
第四十二模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中存在主节点,将所述第四目标节点确定为从节点。
可选地,还可以包括:
第四十三模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符不相同,和/或,所述第三首位字符和所述第三末位字符与预设值不相同,且所述第四首位字符和所述第四末位字符相同且所述第四首位字符和所述第四末位字符与预设值相同,且当所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点。
可选地,还可以包括:
第四十四模块,用于当所述第四首位字符和所述第四末位字符不相同,和/或,所述第四首位字符和所述第四末位字符与预设值不相同,将所述第四目标节点确定为从节点;
第四十五模块,用于当所述第四首位字符和所述第四末位字符相同且所述第四首位字符和所述第四末位字符与预设值相同,且所述第四心跳信号处于异常状态,和/或,所述第四禁主信号有效,将所述第四目标节点确定为从节点。
可选地,所述第一目标节点、所述第二目标节点、所述第三目标节点和所述第四目标节点分别具有对应的基板管理控制器BMC,所述基板管理控制器BMC用于生成针对所述第一目标节点的第一心跳信号和第一禁主信号,以及生成针对所述第二目标节点的第二心跳信号和第二禁主信号,以及生成针对所述第三目标节点的第三心跳信号和第三禁主信号,以及生成针对所述第四目标节点的第四心跳信号和第四禁主信号。
可选地,多节点服务器包括逻辑编程器件CPLD,所述逻辑编程器件CPLD用于将第一目标节点、第二目标节点、第三目标节点、第四目标节点确定为主节点或从节点。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本发明实施例包括以下优点:
本发明实施例,通过从所述多个储存节点中确定出第一目标节点、第二目标节点、第三目标节点和第四目标节点;生成针对目标节点的心跳信号和禁主信号;当校验数据的第一首位字符和第一末位字符相同且第一首位字符和第一末位字符与预设值相同,且通过第二心跳信号、第二禁主信号、第三心跳信号、第三禁主信号、第四心跳信号和第四禁主信号判定第二目标节点、第三目标节点和第四目标节点不为主节点,且第一目标节点不为从节点,且第一心跳信号处于正常状态时,将第一目标节点确定为主节点,从而实现了针对主节点的确定。
附图说明
图1是本发明实施例中提供的一种主从节点确定方法的步骤流程图;
图2是本发明实施例中提供的一种储存控制器的结构示意图;
图3是本发明实施例中提供的一种储存控制器节点的结构示意图;
图4是本发明实施例中提供的一种第一目标节点主从关系确定方法的步骤流程示意图;
图5是本发明实施例中提供的一种第二目标节点主从关系确定方法的步骤流程示意图;
图6是本发明实施例中提供的一种第三目标节点主从关系确定方法的步骤流程示意图;
图7是本发明实施例中提供的一种第四目标节点主从关系确定方法的步骤流程示意图;
图8是本发明实施例中提供的一种主从节点确定装置的结构框图;
图9是本发明各实施例中提供的一种电子设备的硬件结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明实施例中提供的一种主从节点确定方法的步骤流程图,具体可以包括如下步骤:
步骤101,从所述多个储存节点中确定出第一目标节点、第二目标节点、第三目标节点和第四目标节点;所述第一目标节点包括第一校验数据,所述第一校验数据包括第一首位字符和第一末位字符;
步骤102,生成针对所述第一目标节点的第一心跳信号和第一禁主信号;
步骤103,生成针对所述第二目标节点的第二心跳信号和第二禁主信号;
步骤104,生成针对所述第三目标节点的第三心跳信号和第三禁主信号;
步骤105,生成针对所述第四目标节点的第四心跳信号和第四禁主信号;
步骤106,当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,且通过所述第二心跳信号、所述第二禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判定所述第二目标节点、所述第三目标节点和所述第四目标节点中不存在主节点时,且所述第一目标节点不为从节点,且所述第一禁主信号无效,且所述第一心跳信号处于正常状态时,将所述第一目标节点确定为主节点。
在具体实现中,本发明可以应用于多节点服务器,多节点服务器可以包括储存控制器,参考图2,图2是本发明实施例中提供的一种储存控制器的结构示意图,存储控制器可以包括四个节点,各个节点均与存储控制器内部的背板互联;除各个节点(控制单元)外,存储控制器内部还包括多个共享部件:如磁盘阵列、风扇、PSU(供电单元),接口卡等。
可选地,存储控制器的每个节点在硬件设计上可以完全相同;每个节点都包含负责节点内部控制的逻辑编程器件CPLD模块和负责节点内部硬件管理的基板管理控制器BMC。
BMC,执行伺服器远端管理控制器,英文全称为Baseboard ManagementController,也称为基板管理控制器。
CPLD(ComplexProgrammable Logic Device)是Complex PLD的简称,一种较PLD为复杂的逻辑元件。CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
存储控制器内部各节点(控制单元)的主从节点属性由各节点内部的CPLD确定;示例性地,任一节点内,CPLD和BMC之间有3个接口信号,参考图3,图3是本发明实施例中提供的一种储存控制器节点的结构示意图,CPLD和BMC可以通过接口信号实现数据交互,本发明实施例可以生成针对目标从多个储存节点中确定出第一目标节点、第二目标节点、第三目标节点和第四目标节点,可选地,本发明实施例可以通过BMC生成针对所述第一目标节点的第一心跳信号和第一禁主信号;生成针对所述第二目标节点的第二心跳信号和第二禁主信号;生成针对所述第三目标节点的第三心跳信号和第三禁主信号;生成针对所述第四目标节点的第四心跳信号和第四禁主信号,CPLD将第一目标节点、第二目标节点、第三目标节点、第四目标节点确定为主节点或从节点后,通过信号线将此信号传递到BMC,供BMC使用。
bmc_heart信号:也称为BMC的心跳信号,bmc_heart信号正常时,BMC正常工作;反之,bmc_heart信号异常时,BMC工作异常;BMC工作异常的节点不能做为主节点;
master_disable信号:也称为BMC发送的禁主(禁止本节点成为主节点)信号;master_disable信号有效时,本节点不能做为主节点;已知master_disable信号是一个10ms的脉冲信号;master_disable信号为高电平时为有效状态;具体设计时,要求使用master_disable信号时,主节点按照ABCD的固定顺序切换。例如:存储控制器内部有ABCD四个节点;当前B节点为主节点;B节点的BMC发送的master_disable信号有效后,B节点称为从节点,C节点升为主节点。B节点的BMC发送的master_disable信号无效后,在符合条件时,B节点仍然可成为主节点。
在实际应用中,各储存节点可以分别具有对应的校验数据,校验数据可以包括首位字符和末位字符,示例性地,校验数据可以为储存节点插在背板上的不同槽位时,从背板上获取到的不同标志值。
在具体实现中,本发明实施例可以通过判断首位字符和末位字符是否相同,以及,判断首位字符和末位字符是否等于预设值,从而判定该储存节点的数据是否有效。
例如,储存节点X的预设值为1,当储存节点X的校验数据的首位字符为1,且末位字符为1时,可以判定储存节点X的数据有效。
本发明实施例可以当第一首位字符和第一末位字符相同且与预设值相同,且通过第二心跳信号、第二禁主信号、第三心跳信号、第三禁主信号、第四心跳信号和第四禁主信号判定第二目标节点、第三目标节点和第四目标节点中不存在主节点时,判断第一目标节点当前是否为从节点,当第一目标节点当前不为从节点,且当第一禁主信号无效,且第一心跳信号处于正常状态时,将第一目标节点确定为主节点,当确定出主节点后,可以将存储控制器内部其他节点作为从节点。
例如,参考图4,图4是本发明实施例中提供的一种第一目标节点主从关系确定方法的步骤流程示意图,A节点可以相当于第一目标节点,B节点可以相当于第二目标节点,C节点可以相当于第三目标节点,D节点可以相当于第四目标节点,当A节点的校验数据的第一首位字符和第一末位字符相同且第一首位字符和第一末位字符与预设值相同,即,A节点数据有效,且通过第二心跳信号、第二禁主信号、第三心跳信号、第三禁主信号、第四心跳信号和第四禁主信号判定第二目标节点、第三目标节点和第四目标节点中不存在主节点,且当A节点当前不为从节点,且第一心跳信号处于正常状态时,将A节点确定为主节点。
本发明实施例,通过从所述多个储存节点中确定出第一目标节点、第二目标节点、第三目标节点和第四目标节点;所述第一目标节点包括第一校验数据,所述第一校验数据包括第一首位字符和第一末位字符;生成针对所述第一目标节点的第一心跳信号和第一禁主信号;生成针对所述第二目标节点的第二心跳信号和第二禁主信号;生成针对所述第三目标节点的第三心跳信号和第三禁主信号;生成针对所述第四目标节点的第四心跳信号和第四禁主信号;当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,且通过所述第二心跳信号、所述第二禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判定所述第二目标节点、所述第三目标节点和所述第四目标节点中不存在主节点时,且所述第一目标节点不为从节点,且所述第一禁主信号无效,且所述第一心跳信号处于正常状态时,将所述第一目标节点确定为主节点,从而实现了针对主节点的确定。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
参考图4,在本发明的一个可选地实施例中,可以通过当所述第一目标节点为从节点,且当所述第一心跳信号处于正常状态,且所述第一禁主信号无效,且所述第二禁主信号无效,且所述第三禁主信号无效时,将所述第一目标节点确定为主节点;
当所述第一目标节点为从节点,且当所述第一心跳信号处于异常状态,和/或,所述第一禁主信号有效,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效时,将所述第一目标节点确定为从节点;
当所述第一目标节点不为从节点,且当所述第一心跳信号处于异常状态,和/或,所述第一禁主信号有效,将所述第一目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同时,将所述第一目标节点确定为从节点。
参考图5,图5是本发明实施例中提供的一种第二目标节点主从关系确定方法的步骤流程示意图,A节点可以相当于第一目标节点,B节点可以相当于第二目标节点,C节点可以相当于第三目标节点,D节点可以相当于第四目标节点,在本发明的一个可选地实施例中,还可以通过当所述第一首位字符和所述第一末位字符相同,且所述第一首位字符和所述第一末位字符与预设值相同,则通过所述第一心跳信号、所述第一禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第一目标节点、所述第三目标节点和所述第四目标节点中是否存在主节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,将第二目标节点确定为主节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,且所述第三禁主信号无效,且所述第一心跳信号为异常状态或所述第一禁主信号有效时,将第二目标节点确定为主节点。从而实现了对第二目标节点作为主节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图5,在本发明的一个可选地实施例中,还可以通过当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中存在主节点时,将第二目标节点确定为从节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效,和/或,所述第一心跳信号处于正常状态,和/或,所述第一禁主信号无效时,将所述第二目标节点确定为从节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,将所述第二目标节点确定为从节点,从而实现了对第二目标节点作为从节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图5,在本发明的一个可选地实施例中,所述第二目标节点包括第二校验数据,所述第二校验数据包括第二首位字符和第二末位字符,还可以通过当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符相同,且所述第二首位字符和所述第二末位字符与预设值相同时,通过所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第三目标节点和所述第四目标节点中是否存在主节点;
当判定所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,将所述第二目标节点确定为主节点;
当判定所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效,且所述第三禁主信号无效,将所述第二目标节点确定为主节点,从而实现了对第二目标节点作为主节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图5,在本发明的一个可选地实施例中,还可以通过当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同时,将所述第二目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符相同,且所述第二首位字符和所述第二末位字符与预设值相同,且判定所述第三目标节点和所述第四目标节点中存在主节点时,将第二目标节点确定为从节点;
当所述第二目标节点不为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效时,将第二目标节点确定为从节点;
当所述第二目标节点为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效时,将所述第二目标节点确定为从节点。从而实现了对第二目标节点作为从节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图6,图6是本发明实施例中提供的一种第三目标节点主从关系确定方法的步骤流程示意图,A节点可以相当于第一目标节点,B节点可以相当于第二目标节点,C节点可以相当于第三目标节点,D节点可以相当于第四目标节点,在本发明的一个可选地实施例中,可以当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,或,所述第二首位字符和所述第二末位字符相同且所述第二首位字符和所述第二末位字符与预设值相同时,通过所述第一心跳信号、所述第一禁主信号、所述第二心跳信号、所述第二禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第一目标节点、所述第二目标节点和所述第四目标节点中是否具有存在主节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点不为从节点,且所述第三心跳信号为正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号有效,且所述第三心跳信号为正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号无效,且所述第三心跳信号为正常状态,且所述第三禁主信号无效,且所述第一心跳信号处于异常状态或所述第一禁主信号有效,且第二心跳信号处于异常状态时,将所述第三目标节点确定为主节点,从而实现了对第三目标节点作为主节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图6,在本发明的一个可选地实施例中,还可以通过当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中存在主节点时,将所述第三目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点不为从节点,且所述第三心跳信号处于异常状态,和/或,所述第三禁主信号有效,将所述第三目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号有效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效时,将所述第三目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号无效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效,和/或,所述第一心跳信号处于正常状态,和/或,所述第一禁主信号无效,和/或,第二心跳信号处于正常状态时,将所述第三目标节点确定为从节点,从而实现了对第三目标节点作为从节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图6,在本发明的一个可选地实施例中,所述第三目标节点包括第三校验数据,所述第三校验数据包括第三首位字符和第三末位字符,还可以通过当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,则通过所述第四心跳信号和所述第四禁主信号判断所述第四目标节点是否为主节点;
当判定所述第四目标节点不为主节点,则当所述第三心跳信号处于正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点,从而实现了对第三目标节点作为主节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图6,在本发明的一个可选地实施例中,还可以通过当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符不相同,和/或,所述第三首位字符和所述第三末位字符与预设值不相同时,将所述第三目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,且判定所述第四目标节点为主节点时,将所述第三目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,且判定所述第四目标节点不为主节点,且当所述第三心跳信号处于异常状态,和/或,所述第三禁主信号有效,将所述第三目标节点确定为从节点,从而实现了对第三目标节点作为从节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图7,图7是本发明实施例中提供的一种第四目标节点主从关系确定方法的步骤流程示意图,A节点可以相当于第一目标节点,B节点可以相当于第二目标节点,C节点可以相当于第三目标节点,D节点可以相当于第四目标节点,在本发明的一个可选地实施例中,还可以通过当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,或,所述第二首位字符和所述第二末位字符相同且所述第二首位字符和所述第二末位字符与预设值相同,或,所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同时,通过所述第一心跳信号、所述第一禁主信号、所述第二心跳信号、所述第二禁主信号、所述第三心跳信号和所述第三禁主信号判断所述第一目标节点、所述第二目标节点和所述第三目标节点中是否具有任一目标节点为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点不为从节点,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号有效,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,且所述第三心跳信号为异常状态或所述第三禁主信号有效时,将所述第四目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号有效,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号无效,且所述第一心跳信为异常状态或所述第一禁主信号有效,且所述第二心跳信号为异常状态,且所述第三心跳信号为异常状态时,将所述第四目标节点确定为主节点。从而实现了对第四目标节点作为主节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图7,在本发明的一个可选地实施例中,还可以通过当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点不为从节点,且所述第四心跳信号为异常状态,和/或,所述第四禁主信号无效时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号有效,且所述第四心跳信号处于异常状态,和/或,所述第四禁主信号有效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号有效,且所述第四心跳信号为异常状态,和/或,所述第四禁主信号有效时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号无效,且所述第一心跳信为正常状态,和/或,所述第一禁主信号无效,和/或,所述第二心跳信号为正常状态,和/或,所述第三心跳信号为正常状态时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中存在主节点,将所述第四目标节点确定为从节点。从而实现了对第四目标节点作为从节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图7,在本发明的一个可选地实施例中,所述第四目标节点包括第四校验数据,所述第四校验数据包括第四首位字符和第四末位字符,还可以通过当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符不相同,和/或,所述第三首位字符和所述第三末位字符与预设值不相同,且所述第四首位字符和所述第四末位字符相同且所述第四首位字符和所述第四末位字符与预设值相同,且当所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点。从而实现了对第四目标节点作为主节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
参考图7,在本发明的一个可选地实施例中,还可以通过当所述第四首位字符和所述第四末位字符不相同,和/或,所述第四首位字符和所述第四末位字符与预设值不相同,将所述第四目标节点确定为从节点;
当所述第四首位字符和所述第四末位字符相同且所述第四首位字符和所述第四末位字符与预设值相同,且所述第四心跳信号处于异常状态,和/或,所述第四禁主信号有效,将所述第四目标节点确定为从节点,从而实现了对第四目标节点作为从节点进行判定,更进一步地提升了针对储存节点主从储存节点的确定效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图8,示出了本发明实施例中提供的一种主从节点确定装置的结构框图,具体可以包括如下模块:
目标节点确定模块801,用于从所述多个储存节点中确定出第一目标节点、第二目标节点、第三目标节点和第四目标节点;所述第一目标节点包括第一校验数据,所述第一校验数据包括第一首位字符和第一末位字符;
第一信号生成模块802,用于生成针对所述第一目标节点的第一心跳信号和第一禁主信号;
第二信号生成模块803,用于生成针对所述第二目标节点的第二心跳信号和第二禁主信号;
第三信号生成模块804,用于生成针对所述第三目标节点的第三心跳信号和第三禁主信号;
第四信号生成模块805,用于生成针对所述第四目标节点的第四心跳信号和第四禁主信号;
主节点确定模块806,用于当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,且通过所述第二心跳信号、所述第二禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判定所述第二目标节点、所述第三目标节点和所述第四目标节点中不存在主节点时,且所述第一目标节点不为从节点,且所述第一禁主信号无效,且所述第一心跳信号处于正常状态时,将所述第一目标节点确定为主节点。
可选地,还可以包括:
第一模块,用于可选地,还可以包括:
第二模块,用于当所述第一目标节点为从节点,且当所述第一心跳信号处于正常状态,且所述第一禁主信号无效,且所述第二禁主信号无效,且所述第三禁主信号无效时,将所述第一目标节点确定为主节点;
第三模块,用于当所述第一目标节点为从节点,且当所述第一心跳信号处于异常状态,和/或,所述第一禁主信号有效,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效时,将所述第一目标节点确定为从节点;
第四模块,用于当所述第一目标节点不为从节点,且当所述第一心跳信号处于异常状态,和/或,所述第一禁主信号有效,将所述第一目标节点确定为从节点;
第五模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同时,将所述第一目标节点确定为从节点。
可选地,还可以包括:
第六模块,用于当所述第一首位字符和所述第一末位字符相同,且所述第一首位字符和所述第一末位字符与预设值相同,则通过所述第一心跳信号、所述第一禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第一目标节点、所述第三目标节点和所述第四目标节点中是否存在主节点;
第七模块,用于当判定所述第一目标节点、所述第三目标节点和所述第四目标节点不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,将第二目标节点确定为主节点;
第八模块,用于当判定所述第一目标节点、所述第三目标节点和所述第四目标节点不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,且所述第三禁主信号无效,且所述第一心跳信号为异常状态或所述第一禁主信号有效时,将第二目标节点确定为主节点。
可选地,还可以包括:
第九模块,用于当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中存在主节点时,将第二目标节点确定为从节点;
第十模块,用于当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效,和/或,所述第一心跳信号处于正常状态,和/或,所述第一禁主信号无效时,将所述第二目标节点确定为从节点;
第十一模块,用于当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,将所述第二目标节点确定为从节点。
可选地,所述第二目标节点包括第二校验数据,所述第二校验数据包括第二首位字符和第二末位字符,还可以包括:
第十二模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符相同,且所述第二首位字符和所述第二末位字符与预设值相同时,通过所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第三目标节点和所述第四目标节点中是否存在主节点;
第十三模块,用于当判定所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,将所述第二目标节点确定为主节点;
第十四模块,用于当判定所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效,且所述第三禁主信号无效,将所述第二目标节点确定为主节点。
可选地,还可以包括:
第十五模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同时,将所述第二目标节点确定为从节点;
第十六模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符相同,且所述第二首位字符和所述第二末位字符与预设值相同,且判定所述第三目标节点和所述第四目标节点中存在主节点时,将第二目标节点确定为从节点。
可选地,还可以包括:
第十七模块,用于当所述第二目标节点不为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效时,将第二目标节点确定为从节点;
第十八模块,用于当所述第二目标节点为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效时,将所述第二目标节点确定为从节点。
可选地,还可以包括:
第十九模块,用于当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,或,所述第二首位字符和所述第二末位字符相同且所述第二首位字符和所述第二末位字符与预设值相同时,通过所述第一心跳信号、所述第一禁主信号、所述第二心跳信号、所述第二禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第一目标节点、所述第二目标节点和所述第四目标节点中是否具有存在主节点;
第二十模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点不为从节点,且所述第三心跳信号为正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点;
第二十一模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号有效,且所述第三心跳信号为正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点;
第二十二模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号无效,且所述第三心跳信号为正常状态,且所述第三禁主信号无效,且所述第一心跳信号处于异常状态或所述第一禁主信号有效,且第二心跳信号处于异常状态时,将所述第三目标节点确定为主节点。
可选地,还可以包括:
第二十三模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中存在主节点时,将所述第三目标节点确定为从节点;
第二十四模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点不为从节点,且所述第三心跳信号处于异常状态,和/或,所述第三禁主信号有效,将所述第三目标节点确定为从节点;
第二十五模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号有效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效时,将所述第三目标节点确定为从节点;
第二十六模块,用于当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号无效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效,和/或,所述第一心跳信号处于正常状态,和/或,所述第一禁主信号无效,和/或,第二心跳信号处于正常状态时,将所述第三目标节点确定为主节点。
可选地,所述第三目标节点包括第三校验数据,所述第三校验数据包括第三首位字符和第三末位字符,还可以包括:
第二十七模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,则通过所述第四心跳信号和所述第四禁主信号判断所述第四目标节点是否为主节点;
第二十八模块,用于当判定所述第四目标节点不为主节点,则当所述第三心跳信号处于正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点。
可选地,还可以包括:
第二十九模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符不相同,和/或,所述第三首位字符和所述第三末位字符与预设值不相同时,将所述第三目标节点确定为从节点;
第三十模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,且判定所述第四目标节点为主节点时,将所述第三目标节点确定为从节点;
第三十一模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,且判定所述第四目标节点不为主节点,且当所述第三心跳信号处于异常状态,和/或,所述第三禁主信号有效,将所述第三目标节点确定为从节点。
可选地,还可以包括:
第三十二模块,用于当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,或,所述第二首位字符和所述第二末位字符相同且所述第二首位字符和所述第二末位字符与预设值相同,或,所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同时,通过所述第一心跳信号、所述第一禁主信号、所述第二心跳信号、所述第二禁主信号、所述第三心跳信号和所述第三禁主信号判断所述第一目标节点、所述第二目标节点和所述第三目标节点中是否具有任一目标节点为主节点;
第三十三模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点不为从节点,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点;
第三十四模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号有效,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,且所述第三心跳信号为异常状态或所述第三禁主信号有效时,将所述第四目标节点确定为主节点;
第三十五模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号有效,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点;
第三十六模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号无效,且所述第一心跳信为异常状态或所述第一禁主信号有效,且所述第二心跳信号为异常状态,且所述第三心跳信号为异常状态时,将所述第四目标节点确定为主节点。
可选地,还可以包括:
第三十七模块,用于第三十八模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点不为从节点,且所述第四心跳信号为异常状态,和/或,所述第四禁主信号无效时,将所述第四目标节点确定为从节点;
第三十九模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号有效,且所述第四心跳信号处于异常状态,和/或,所述第四禁主信号有效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效时,将所述第四目标节点确定为从节点;
第四十模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号有效,且所述第四心跳信号为异常状态,和/或,所述第四禁主信号有效时,将所述第四目标节点确定为从节点;
第四十一模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号无效,且所述第一心跳信为正常状态,和/或,所述第一禁主信号无效,和/或,所述第二心跳信号为正常状态,和/或,所述第三心跳信号为正常状态时,将所述第四目标节点确定为从节点;
第四十二模块,用于当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中存在主节点,将所述第四目标节点确定为从节点。
可选地,还可以包括:
第四十三模块,用于当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符不相同,和/或,所述第三首位字符和所述第三末位字符与预设值不相同,且所述第四首位字符和所述第四末位字符相同且所述第四首位字符和所述第四末位字符与预设值相同,且当所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点。
可选地,还可以包括:
第四十四模块,用于当所述第四首位字符和所述第四末位字符不相同,和/或,所述第四首位字符和所述第四末位字符与预设值不相同,将所述第四目标节点确定为从节点;
第四十五模块,用于当所述第四首位字符和所述第四末位字符相同且所述第四首位字符和所述第四末位字符与预设值相同,且所述第四心跳信号处于异常状态,和/或,所述第四禁主信号有效,将所述第四目标节点确定为从节点。
可选地,所述第一目标节点、所述第二目标节点、所述第三目标节点和所述第四目标节点分别具有对应的基板管理控制器BMC,所述基板管理控制器BMC用于生成针对所述第一目标节点的第一心跳信号和第一禁主信号,以及生成针对所述第二目标节点的第二心跳信号和第二禁主信号,以及生成针对所述第三目标节点的第三心跳信号和第三禁主信号,以及生成针对所述第四目标节点的第四心跳信号和第四禁主信号。
可选地,多节点服务器包括逻辑编程器件CPLD,所述逻辑编程器件CPLD用于将第一目标节点、第二目标节点、第三目标节点、第四目标节点确定为主节点或从节点。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述主从节点确定方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述主从节点确定方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
图9为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备900包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909、处理器910、以及电源911等部件。本领域技术人员可以理解,图9中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元901可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器910处理;另外,将上行的数据发送给基站。通常,射频单元901包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元901还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块902为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元903可以将射频单元901或网络模块902接收的或者在存储器909中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元903还可以提供与电子设备900执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元903包括扬声器、蜂鸣器以及受话器等。
输入单元904用于接收音频或视频信号。输入单元904可以包括图形处理器(Graphics Processing Unit,GPU)9041和麦克风9042,图形处理器9041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元906上。经图形处理器9041处理后的图像帧可以存储在存储器909(或其它存储介质)中或者经由射频单元901或网络模块902进行发送。麦克风9042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元901发送到移动通信基站的格式输出。
电子设备900还包括至少一种传感器905,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板9061的亮度,接近传感器可在电子设备900移动到耳边时,关闭显示面板9061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器905还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元906用于显示由用户输入的信息或提供给用户的信息。显示单元906可包括显示面板9061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode, OLED)等形式来配置显示面板9061。
用户输入单元907可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元907包括触控面板9071以及其他输入设备9072。触控面板9071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板9071上或在触控面板9071附近的操作)。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器910,接收处理器910发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板9071。除了触控面板9071,用户输入单元907还可以包括其他输入设备9072。具体地,其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板9071可覆盖在显示面板9061上,当触控面板9071检测到在其上或附近的触摸操作后,传送给处理器910以确定触摸事件的类型,随后处理器910根据触摸事件的类型在显示面板9061上提供相应的视觉输出。虽然在图9中,触控面板9071与显示面板9061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板9071与显示面板9061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元908为外部装置与电子设备900连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元908可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备900内的一个或多个元件或者可以用于在电子设备900和外部装置之间传输数据。
存储器909可用于存储软件程序以及各种数据。存储器909可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器909可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器910是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器909内的软件程序和/或模块,以及调用存储在存储器909内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器910可包括一个或多个处理单元;优选的,处理器910可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。
电子设备900还可以包括给各个部件供电的电源911(比如电池),优选的,电源911可以通过电源管理系统与处理器910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备900包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (20)

1.一种主从节点确定方法,其特征在于,应用于多节点服务器,所述多节点服务器包括多个储存节点,所述方法包括:
从所述多个储存节点中确定出第一目标节点、第二目标节点、第三目标节点和第四目标节点;所述第一目标节点包括第一校验数据,所述第一校验数据包括第一首位字符和第一末位字符;
生成针对所述第一目标节点的第一心跳信号和第一禁主信号;
生成针对所述第二目标节点的第二心跳信号和第二禁主信号;
生成针对所述第三目标节点的第三心跳信号和第三禁主信号;
生成针对所述第四目标节点的第四心跳信号和第四禁主信号;
当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,且通过所述第二心跳信号、所述第二禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判定所述第二目标节点、所述第三目标节点和所述第四目标节点中不存在主节点时,且所述第一目标节点不为从节点,且所述第一禁主信号无效,且所述第一心跳信号处于正常状态时,将所述第一目标节点确定为主节点。
2.根据权利要求1所述的方法,其特征在于,还包括:
当所述第一目标节点为从节点,且当所述第一心跳信号处于正常状态,且所述第一禁主信号无效,且所述第二禁主信号无效,且所述第三禁主信号无效时,将所述第一目标节点确定为主节点;
当所述第一目标节点为从节点,且当所述第一心跳信号处于异常状态,和/或,所述第一禁主信号有效,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效时,将所述第一目标节点确定为从节点;
当所述第一目标节点不为从节点,且当所述第一心跳信号处于异常状态,和/或,所述第一禁主信号有效,将所述第一目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同时,将所述第一目标节点确定为从节点。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述第一首位字符和所述第一末位字符相同,且所述第一首位字符和所述第一末位字符与预设值相同,则通过所述第一心跳信号、所述第一禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第一目标节点、所述第三目标节点和所述第四目标节点中是否存在主节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,将第二目标节点确定为主节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,且所述第三禁主信号无效,且所述第一心跳信号为异常状态或所述第一禁主信号有效时,将第二目标节点确定为主节点。
4.根据权利要求3所述的方法,其特征在于,还包括:
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中存在主节点时,将第二目标节点确定为从节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效,和/或,所述第一心跳信号处于正常状态,和/或,所述第一禁主信号无效时,将所述第二目标节点确定为从节点;
当判定所述第一目标节点、所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,将所述第二目标节点确定为从节点。
5.根据权利要求3所述的方法,其特征在于,所述第二目标节点包括第二校验数据,所述第二校验数据包括第二首位字符和第二末位字符,还包括:
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符相同,且所述第二首位字符和所述第二末位字符与预设值相同时,通过所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第三目标节点和所述第四目标节点中是否存在主节点;
当判定所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点不为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效时,将所述第二目标节点确定为主节点;
当判定所述第三目标节点和所述第四目标节点中不存在主节点,且所述第二目标节点为从节点,且所述第二心跳信号为正常状态,且所述第二禁主信号无效,且所述第三禁主信号无效,将所述第二目标节点确定为主节点。
6.根据权利要求5所述的方法,其特征在于,还包括:
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同时,将所述第二目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符相同,且所述第二首位字符和所述第二末位字符与预设值相同,且判定所述第三目标节点和所述第四目标节点中存在主节点时,将第二目标节点确定为从节点。
7.根据权利要求6所述的方法,其特征在于,还包括:
当所述第二目标节点不为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效时,将第二目标节点确定为从节点;
当所述第二目标节点为从节点,且所述第二心跳信号处于异常状态,和/或,所述第二禁主信号有效,和/或,所述第三禁主信号有效时,将所述第二目标节点确定为从节点。
8.根据权利要求5所述的方法,其特征在于,还包括:
当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,或,所述第二首位字符和所述第二末位字符相同且所述第二首位字符和所述第二末位字符与预设值相同时,通过所述第一心跳信号、所述第一禁主信号、所述第二心跳信号、所述第二禁主信号、所述第四心跳信号和所述第四禁主信号判断所述第一目标节点、所述第二目标节点和所述第四目标节点中是否具有存在主节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点不为从节点,且所述第三心跳信号为正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号有效,且所述第三心跳信号为正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号无效,且所述第三心跳信号为正常状态,且所述第三禁主信号无效,且所述第一心跳信号处于异常状态或所述第一禁主信号有效,且第二心跳信号处于异常状态时,将所述第三目标节点确定为主节点。
9.根据权利要求8所述的方法,其特征在于,还包括:
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中存在主节点时,将所述第三目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点不为从节点,且所述第三心跳信号处于异常状态,和/或,所述第三禁主信号有效,将所述第三目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号有效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效时,将所述第三目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第四目标节点中不存在主节点,且所述第三目标节点为从节点,且所述第二禁主信号无效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效,和/或,所述第一心跳信号处于正常状态,和/或,所述第一禁主信号无效,和/或,第二心跳信号处于正常状态时,将所述第三目标节点确定为从节点。
10.根据权利要求8所述的方法,其特征在于,所述第三目标节点包括第三校验数据,所述第三校验数据包括第三首位字符和第三末位字符,还包括:
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,则通过所述第四心跳信号和所述第四禁主信号判断所述第四目标节点是否为主节点;
当判定所述第四目标节点不为主节点,则当所述第三心跳信号处于正常状态,且所述第三禁主信号无效时,将所述第三目标节点确定为主节点。
11.根据权利要求10所述的方法,其特征在于,还包括:
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符不相同,和/或,所述第三首位字符和所述第三末位字符与预设值不相同时,将所述第三目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,且判定所述第四目标节点为主节点时,将所述第三目标节点确定为从节点;
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同,且判定所述第四目标节点不为主节点,且当所述第三心跳信号处于异常状态,和/或,所述第三禁主信号有效,将所述第三目标节点确定为从节点。
12.根据权利要求10所述的方法,其特征在于,还包括:
当所述第一首位字符和所述第一末位字符相同且所述第一首位字符和所述第一末位字符与预设值相同,或,所述第二首位字符和所述第二末位字符相同且所述第二首位字符和所述第二末位字符与预设值相同,或,所述第三首位字符和所述第三末位字符相同且所述第三首位字符和所述第三末位字符与预设值相同时,通过所述第一心跳信号、所述第一禁主信号、所述第二心跳信号、所述第二禁主信号、所述第三心跳信号和所述第三禁主信号判断所述第一目标节点、所述第二目标节点和所述第三目标节点中是否具有任一目标节点为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点不为从节点,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号有效,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,且所述第三心跳信号为异常状态或所述第三禁主信号有效时,将所述第四目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号有效,且所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号无效,且所述第一心跳信号为异常状态或所述第一禁主信号有效,且所述第二心跳信号为异常状态,且所述第三心跳信号为异常状态时,将所述第四目标节点确定为主节点。
13.根据权利要求12所述的方法,其特征在于,还包括:
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点不为从节点,且所述第四心跳信号为异常状态,和/或,所述第四禁主信号无效时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号有效,且所述第四心跳信号处于异常状态,和/或,所述第四禁主信号有效,且所述第三心跳信号为异常状态,和/或,所述第三禁主信号有效时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号有效,且所述第四心跳信号为异常状态,和/或,所述第四禁主信号有效时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中不存在主节点,且所述第四目标节点为从节点,且所述第二禁主信号无效,且所述第三禁主信号无效,且所述第一心跳信号为正常状态,和/或,所述第一禁主信号无效,和/或,所述第二心跳信号为正常状态,和/或,所述第三心跳信号为正常状态时,将所述第四目标节点确定为从节点;
当判定所述第一目标节点、所述第二目标节点和所述第三目标节点中存在主节点,将所述第四目标节点确定为从节点。
14.根据权利要求12所述的方法,其特征在于,所述第四目标节点包括第四校验数据,所述第四校验数据包括第四首位字符和第四末位字符,还包括:
当所述第一首位字符和所述第一末位字符不相同,和/或,所述第一首位字符和所述第一末位字符与预设值不相同,且所述第二首位字符和所述第二末位字符不相同,和/或,所述第二首位字符和所述第二末位字符与预设值不相同,且所述第三首位字符和所述第三末位字符不相同,和/或,所述第三首位字符和所述第三末位字符与预设值不相同,且所述第四首位字符和所述第四末位字符相同且所述第四首位字符和所述第四末位字符与预设值相同,且当所述第四心跳信号为正常状态,且所述第四禁主信号无效时,将所述第四目标节点确定为主节点。
15.根据权利要求14所述的方法,其特征在于,还包括:
当所述第四首位字符和所述第四末位字符不相同,和/或,所述第四首位字符和所述第四末位字符与预设值不相同,将所述第四目标节点确定为从节点;
当所述第四首位字符和所述第四末位字符相同且所述第四首位字符和所述第四末位字符与预设值相同,且所述第四心跳信号处于异常状态,和/或,所述第四禁主信号有效,将所述第四目标节点确定为从节点。
16.根据权利要求1所述的方法,其特征在于,所述第一目标节点、所述第二目标节点、所述第三目标节点和所述第四目标节点分别具有对应的基板管理控制器BMC,所述基板管理控制器BMC用于生成针对所述第一目标节点的第一心跳信号和第一禁主信号,以及生成针对所述第二目标节点的第二心跳信号和第二禁主信号,以及生成针对所述第三目标节点的第三心跳信号和第三禁主信号,以及生成针对所述第四目标节点的第四心跳信号和第四禁主信号。
17.根据权利要求1所述的方法,其特征在于,多节点服务器包括逻辑编程器件CPLD,所述逻辑编程器件CPLD用于将第一目标节点、第二目标节点、第三目标节点、第四目标节点确定为主节点或从节点。
18.一种主从节点确定装置,其特征在于,应用于多节点服务器,所述多节点服务器包括多个储存节点,所述装置包括:
目标节点确定模块,用于从所述多个储存节点中确定出第一目标节点、第二目标节点、第三目标节点和第四目标节点;
第一信号生成模块,用于生成针对所述第一目标节点的第一心跳信号和第一禁主信号;
第二信号生成模块,用于生成针对所述第二目标节点的第二心跳信号和第二禁主信号;
第三信号生成模块,用于生成针对所述第三目标节点的第三心跳信号和第三禁主信号;
第四信号生成模块,用于生成针对所述第四目标节点的第四心跳信号和第四禁主信号;
主节点确定模块,用于当所述第一禁主信号有效,且通过所述第二心跳信号、所述第二禁主信号、所述第三心跳信号、所述第三禁主信号、所述第四心跳信号和所述第四禁主信号判定所述第二目标节点、所述第三目标节点和所述第四目标节点中不存在主节点时,且所述第一目标节点为主节点,且所述第一禁主信号无效,且所述第一心跳信号处于正常状态时,将所述第一目标节点确定为主节点。
19.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-17任一项所述的方法。
20.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-17任一项所述的方法。
CN202211408144.1A 2022-11-10 2022-11-10 一种主从节点确定方法、装置、电子设备及存储介质 Active CN115567395B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211408144.1A CN115567395B (zh) 2022-11-10 2022-11-10 一种主从节点确定方法、装置、电子设备及存储介质
PCT/CN2023/128590 WO2024099182A1 (zh) 2022-11-10 2023-10-31 一种主从节点确定方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211408144.1A CN115567395B (zh) 2022-11-10 2022-11-10 一种主从节点确定方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115567395A CN115567395A (zh) 2023-01-03
CN115567395B true CN115567395B (zh) 2023-03-07

Family

ID=84770448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211408144.1A Active CN115567395B (zh) 2022-11-10 2022-11-10 一种主从节点确定方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN115567395B (zh)
WO (1) WO2024099182A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115567395B (zh) * 2022-11-10 2023-03-07 苏州浪潮智能科技有限公司 一种主从节点确定方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040038266A (ko) * 2002-10-31 2004-05-08 주식회사 현대시스콤 이중화된 에이에이에이 서버에서 고가용성 메시지를 통한프로세스 상호간 상태 감시 방법
CN109104346A (zh) * 2017-06-21 2018-12-28 比亚迪股份有限公司 基于CANopen协议的列车网络数据传输方法、系统及其装置
CN112422320A (zh) * 2020-10-27 2021-02-26 北京金山云网络技术有限公司 服务器的主从切换方法、装置和服务器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254100B (zh) * 2016-07-27 2019-04-16 腾讯科技(深圳)有限公司 一种数据容灾方法、装置和系统
CN112866314B (zh) * 2019-11-27 2023-04-07 上海哔哩哔哩科技有限公司 分布式主从系统中从节点的切换方法、主节点设备和存储介质
CN112968919B (zh) * 2019-12-12 2023-05-30 上海欣诺通信技术股份有限公司 一种数据处理方法、装置、设备和存储介质
CN115567395B (zh) * 2022-11-10 2023-03-07 苏州浪潮智能科技有限公司 一种主从节点确定方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040038266A (ko) * 2002-10-31 2004-05-08 주식회사 현대시스콤 이중화된 에이에이에이 서버에서 고가용성 메시지를 통한프로세스 상호간 상태 감시 방법
CN109104346A (zh) * 2017-06-21 2018-12-28 比亚迪股份有限公司 基于CANopen协议的列车网络数据传输方法、系统及其装置
CN112422320A (zh) * 2020-10-27 2021-02-26 北京金山云网络技术有限公司 服务器的主从切换方法、装置和服务器

Also Published As

Publication number Publication date
CN115567395A (zh) 2023-01-03
WO2024099182A1 (zh) 2024-05-16

Similar Documents

Publication Publication Date Title
CN108551636B (zh) 一种扬声器控制方法及移动终端
CN109284078B (zh) 一种双面屏的控制方法及移动终端
CN111142711B (zh) 一种固件配置方法、装置、存储介质及移动终端
CN111309205B (zh) 一种应用分享方法、第一电子设备及计算机可读存储介质
WO2022104952A1 (zh) 屏幕状态控制方法、装置及存储介质
CN111651387B (zh) 接口电路与电子设备
CN115567395B (zh) 一种主从节点确定方法、装置、电子设备及存储介质
CN111104288A (zh) 一种信息处理方法及电子设备
EP3713279A1 (en) Adjacent cell rrm measurement control method, mobile communication terminal, and network side device
CN115589361A (zh) 一种管理设备固件更新方法、装置、电子设备及存储介质
CN111522575A (zh) 一种应用程序升级方法及电子设备
CN107979385B (zh) 一种射频前端数据处理方法及移动终端
CN109745699A (zh) 一种响应触控操作的方法及终端设备
US20230378767A1 (en) Charging control method and apparatus, electronic device, and charger
CN115733549B (zh) Pcie网卡及其接口模式的切换方法、电子设备及存储介质
CN108777627B (zh) 一种供电方法和装置
CN108595352B (zh) 一种移动终端的保护方法和装置
CN115657943A (zh) 存储系统精简卷的数据处理方法、装置、设备及存储介质
CN110021981B (zh) 充电器及终端
CN112437421A (zh) 蓝牙控制方法、装置、存储介质及移动终端
CN110825682A (zh) 一种usb控制方法和电子设备
CN115905160B (zh) 数据存储的校验方法、装置、电子设备及存储介质
CN115695309B (zh) 访问控制列表规则配置方法、装置、电子设备及存储介质
CN115934604B (zh) 一种usb电路、usb控制器的切换方法和装置
CN109165173B (zh) 一种握手处理方法及移动终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant