CN108092829B - Cluster splitting processing method, SDN controller and storage medium - Google Patents

Cluster splitting processing method, SDN controller and storage medium Download PDF

Info

Publication number
CN108092829B
CN108092829B CN201810101114.3A CN201810101114A CN108092829B CN 108092829 B CN108092829 B CN 108092829B CN 201810101114 A CN201810101114 A CN 201810101114A CN 108092829 B CN108092829 B CN 108092829B
Authority
CN
China
Prior art keywords
cluster
sdn controller
controller
target
member information
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
CN201810101114.3A
Other languages
Chinese (zh)
Other versions
CN108092829A (en
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201810101114.3A priority Critical patent/CN108092829B/en
Publication of CN108092829A publication Critical patent/CN108092829A/en
Application granted granted Critical
Publication of CN108092829B publication Critical patent/CN108092829B/en
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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • 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/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability

Abstract

The invention discloses a cluster splitting processing method, an SDN controller and a storage medium. The method comprises the steps that a current SDN controller judges whether a target SDN controller is split from a first controller cluster, when the target SDN controller is split from the first controller cluster, a detection message is sent to the target SDN controller within a preset period, so that the target SDN controller responds to the detection message and feeds back re-online information, and when the re-online information is received, the target SDN controller is added into the first controller cluster again. The method and the device can monitor the cluster splitting of the SDN controller in the cluster in real time and in time, and can enable the SDN controller recovering the running state to be on-line quickly in time in a mode of sending the detection message after the cluster splitting occurs, thereby solving the technical problem that the cluster splitting condition of the SDN controller cluster cannot be processed stably and in time in the prior art.

Description

Cluster splitting processing method, SDN controller and storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a processing method for cluster splitting, an SDN controller, and a storage medium.
Background
With the wide application of Software Defined Network (SDN) technology, the deployment scale of SDN is also expanding. However, as the deployment scale of SDN expands, the number of network devices that an SDN controller can manage is limited as a main component of the SDN architecture, i.e., the SDN controller. Therefore, multiple SDN controllers can be simultaneously organized to jointly form an SDN controller cluster so as to overcome the problem of limited performance of a single SDN controller.
However, there is a risk of cluster splitting in the SDN controller cluster itself, for example, the SDN controller cluster is split into several separate groups due to link disconnection or abnormal power failure of the controller, and one group may be a single SDN controller or several interconnected SDN controllers. If the SDN controller is not detected and processed in time after the cluster is split, the whole SDN controller cluster may not be served normally. Therefore, a series of techniques are needed to restore the normal operating state of the SDN controller after cluster splitting.
At present, the split detection and processing of the SDN controller cluster mainly includes the following methods:
(1) host controller management
Referring to fig. 1, fig. 1 is a schematic diagram of a master controller management manner.
In order to detect whether the SDN controller cluster is split and timely handle the split condition, referring to fig. 1, a main controller may be arranged in the SDN controller cluster, and the main controller is responsible for detecting whether the cluster is split, and when the cluster is split, each split controller is merged by adopting a manual method or a cluster automatic adjustment method to recover to the original cluster. For example, when the controller cluster in fig. 1 is split, it is possible that the SDN controller a and the controller B are split into one group, the SDN controller C is split into another group, the current splitting condition is detected by the main controller, and the two split groups are merged to restore to the original state.
The specific implementation process of the "master controller management" mode is that only the master SDN controller periodically sends a detection packet, and if the master SDN controller finds that a detection packet sent by another SDN controller is received, and the detection packet indicates that the SDN controller sending the packet and the master controller are in the same cluster, cluster splitting is detected. Upon detecting cluster splitting, the split clusters can be merged.
The advantage of this solution is that the master SDN controller side will store global information of the whole cluster, so when a cluster is split, the occurrence of cluster split can be detected in a short time. However, this solution has the disadvantage that the primary SDN controller still has a single point of failure, and once the primary SDN controller fails, the above solution of cluster split detection by the primary SDN controller fails.
(2) Third party device management
Referring to fig. 2, fig. 2 is a schematic diagram of a third-party device management method.
In order to detect whether the SDN controller cluster is split and timely handle the split condition, referring to fig. 2, a third-party device may be used to detect whether the cluster is split, and after the split is found, the original cluster is merged and recovered manually or by a manner triggered by the third-party device.
The specific implementation process of the "third-party device management" mode is that each SDN controller in the cluster is connected to a third-party device, and a master SDN controller may or may not exist in the cluster at the same time.
When the master SDN controller is applied in the structure applying the third-party equipment management scheme, the master SDN controller periodically sends heartbeat messages to the third-party equipment, and if the third-party equipment finds that more than one SDN controller in the cluster sends heartbeat information, cluster splitting is caused.
For a cluster without a master SDN controller, each SDN controller sends the member information of the cluster to third-party equipment, and if the third-party equipment finds that the member information is inconsistent, cluster splitting occurs.
The disadvantage of this solution is that introducing a third party device outside the SDN controller increases the cost; moreover, each SDN controller needs to be connected to a third-party device, which increases networking complexity; in addition, the third party device also has a single point of failure problem.
Therefore, in view of the above-mentioned ways of detecting and handling cluster splitting of "master controller management" and "third party device management", it is not guaranteed that the problem of cluster splitting is stably solved. Therefore, when a cluster splitting situation occurs in an SDN controller cluster, the prior art has a technical problem that the cluster splitting situation cannot be stably and timely processed.
The above is only for the purpose of assisting understanding of the technical aspects of the present invention, and does not represent an admission that the above is prior art.
Disclosure of Invention
The invention mainly aims to provide a cluster splitting processing method, an SDN controller and a storage medium, and aims to solve the technical problem that the cluster splitting condition of an SDN controller cluster cannot be stably and timely processed.
In order to achieve the above object, the present invention provides a processing method for cluster splitting, where the processing method for cluster splitting includes the following steps:
determining, by a current SDN controller, whether a target SDN controller is split from a first controller cluster, the current SDN controller being in the first controller cluster;
when the target SDN controller is split from the first controller cluster, sending a detection message to the target SDN controller within a preset period, so that the target SDN controller responds to the detection message and feeds back re-online information;
and when re-online information fed back by the target SDN controller is received, re-adding the target SDN controller into the first controller cluster.
Preferably, when the target SDN controller is split from the first controller cluster, sending a probe packet to the target SDN controller within a preset period, so that the target SDN controller feeds back re-online information in response to the probe packet, specifically including:
when the target SDN controller is split from the first controller cluster, deleting member information of the target SDN controller from cluster member information stored in the current SDN controller, wherein the cluster member information comprises member information of each SDN controller in the first controller cluster;
sending a detection message to the target SDN controller within a preset period so that the target SDN controller can respond to the detection message and feed back re-online information.
Preferably, when receiving the re-online information fed back by the target SDN controller, adding the target SDN controller into the first controller cluster again includes:
when re-online information fed back by the target SDN controller is received, adding member information of the target SDN controller to cluster member information stored in the current SDN controller so as to re-add the target SDN controller to the first controller cluster.
Preferably, when receiving the re-online information fed back by the target SDN controller, adding the target SDN controller into the first controller cluster again includes:
when re-online information fed back by the target SDN controller is received, sending a cluster information request to the target SDN controller, so that the target SDN controller responds to the cluster information request, acquires target cluster member information stored in the target SDN controller, and feeds back the target cluster member information, wherein the target cluster member information is used for recording member information of a cluster where the target SDN controller is located;
adding the target cluster member information to the cluster member information stored in the current SDN controller to enable the target SDN controller to be added to the first controller cluster again.
Preferably, after adding the target cluster member information to the cluster member information stored in the current SDN controller to implement adding the target SDN controller to the first controller cluster again, the processing method for cluster splitting further includes:
taking the cluster member information stored in the current SDN controller after the target cluster member information is added as member information to be updated, and sending the member information to be updated to each SDN controller in the first controller cluster, so that each SDN controller in the first controller cluster replaces the cluster member information stored in each SDN controller with the member information to be updated;
sending the to-be-updated member information to the target SDN controller, so that the target SDN controller sends the to-be-updated member information to each SDN controller in a second controller cluster, and replacing cluster member information stored by each SDN controller in the second controller cluster with the to-be-updated member information, so as to realize merging of the first controller cluster and the second controller cluster, wherein the target SDN controller is in the second controller cluster.
Preferably, when receiving the re-online information fed back by the target SDN controller, the sending a cluster information request to the target SDN controller, so that the target SDN controller obtains target cluster member information stored in the target SDN controller in response to the cluster information request, and feeds back the target cluster member information, specifically including:
when receiving re-online information fed back by the target SDN controller, sending a split merge request to each SDN controller in the first controller cluster, so that each SDN controller in the first controller cluster generates request reply information corresponding to the split merge request;
judging whether the request reply message comprises a merging confirmation instruction or not;
when the request reply message includes the confirmation merge instruction, sending a cluster information request to the target SDN controller, so that the target SDN controller responds to the cluster information request, acquires target cluster member information stored in the target SDN controller, and feeds back the target cluster member information.
Preferably, when the target SDN controller is split from the first controller cluster, sending a probe packet to the target SDN controller within a preset period, so that the target SDN controller feeds back re-online information in response to the probe packet, specifically including:
when the target SDN controller is split from the first controller cluster, adding the target SDN controller into a preset controller list, and sending a detection message to the target SDN controller in the preset controller list within a preset period so that the target SDN controller responds to the detection message and feeds back re-online information;
correspondingly, after the target SDN controller is rejoined to the first controller cluster when the re-online information fed back by the target SDN controller is received, the processing method for cluster splitting further includes:
deleting the target SDN controller from the preset controller list, and taking the controller list after the target SDN controller is deleted as a list to be updated, so as to read the SDN controller from the list to be updated and send the detection message to the read SDN controller.
Preferably, when the target SDN controller is split from the first controller cluster, after sending a probe packet to the target SDN controller within a preset period so that the target SDN controller feeds back re-online information in response to the probe packet, the processing method for cluster splitting further includes:
and when the re-online information fed back by the target SDN controller is not received, prolonging the preset period to realize that the detection message is sent to the target SDN controller in the prolonged preset period.
In addition, to achieve the above object, the present invention further provides an SDN controller, including: a memory, a processor and a cluster split handler stored on the memory and executable on the processor, the cluster split handler configured to implement the steps of the cluster split handling method as described above.
In addition, to achieve the above object, the present invention further provides a storage medium, on which a cluster splitting handler is stored, and when being executed by a processor, the cluster splitting handler implements the steps of the cluster splitting handling method as described above.
The invention can monitor the cluster splitting of the SDN controller in the cluster in real time and in time, and can make the SDN controller recovering the running state on line quickly in time by sending the detection message after the cluster splitting occurs, thereby solving the technical problem that the cluster splitting condition of the SDN controller cluster can not be processed stably and in time in the prior art.
Drawings
FIG. 1 is a schematic diagram of a master controller management approach;
FIG. 2 is a schematic diagram of a third party device management approach;
fig. 3 is a schematic diagram of an SDN controller structure of a hardware operating environment according to an embodiment of the present invention;
FIG. 4 is a schematic flow chart of a cluster splitting processing method according to a first embodiment of the present invention;
FIG. 5 is a schematic diagram of a cluster architecture;
FIG. 6 is a flowchart illustrating a second embodiment of a cluster splitting processing method according to the present invention;
FIG. 7 is a flowchart illustrating a processing method for cluster splitting according to a third embodiment of the present invention;
fig. 8 is a flowchart illustrating a processing method for cluster splitting according to a fourth embodiment of the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
Referring to fig. 3, fig. 3 is a schematic diagram of an SDN controller structure of a hardware operating environment according to an embodiment of the present invention.
As shown in fig. 3, the SDN controller may include: a processor 1001, such as a CPU, a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display screen (Display), and the optional user interface 1003 may further include a standard wired interface and a wireless interface, and the wired interface for the user interface 1003 may be a USB interface in the present invention. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory (e.g., a magnetic disk memory). The memory 1005 may alternatively be a storage device separate from the processor 1001.
Those skilled in the art will appreciate that the architecture shown in figure 3 does not constitute a limitation of an SDN controller and may include more or fewer components than shown, or some components in combination, or a different arrangement of components.
As shown in fig. 3, a memory 1005, which is a kind of computer storage medium, may include an operating system, a network communication module, a user interface module, and a cluster split handler.
In the SDN controller shown in fig. 3, the network interface 1004 is mainly used for connecting to a backend server and performing data communication with the backend server; the user interface 1003 is mainly used for connecting peripheral equipment; the SDN controller invokes, by the processor 1001, a cluster splitting handler stored in the memory 1005, and performs the following operations:
determining whether a target SDN controller is split from a first controller cluster in which the current SDN controller is located;
when the target SDN controller is split from the first controller cluster, sending a detection message to the target SDN controller within a preset period, so that the target SDN controller responds to the detection message and feeds back re-online information;
and when re-online information fed back by the target SDN controller is received, re-adding the target SDN controller into the first controller cluster.
Further, the processor 1001 may call a cluster splitting handler stored in the memory 1005, and also perform the following operations:
when the target SDN controller is split from the first controller cluster, deleting member information of the target SDN controller from cluster member information stored in the current SDN controller, wherein the cluster member information comprises member information of each SDN controller in the first controller cluster;
sending a detection message to the target SDN controller within a preset period so that the target SDN controller can respond to the detection message and feed back re-online information.
Further, the processor 1001 may call a cluster splitting handler stored in the memory 1005, and also perform the following operations:
when re-online information fed back by the target SDN controller is received, adding member information of the target SDN controller to cluster member information stored in the current SDN controller so as to re-add the target SDN controller to the first controller cluster.
Further, the processor 1001 may call a cluster splitting handler stored in the memory 1005, and also perform the following operations:
when re-online information fed back by the target SDN controller is received, sending a cluster information request to the target SDN controller, so that the target SDN controller responds to the cluster information request, acquires target cluster member information stored in the target SDN controller, and feeds back the target cluster member information, wherein the target cluster member information is used for recording member information of a cluster where the target SDN controller is located;
adding the target cluster member information to the cluster member information stored in the current SDN controller to enable the target SDN controller to be added to the first controller cluster again.
Further, the processor 1001 may call a cluster splitting handler stored in the memory 1005, and also perform the following operations:
taking the cluster member information stored in the current SDN controller after the target cluster member information is added as member information to be updated, and sending the member information to be updated to each SDN controller in the first controller cluster, so that each SDN controller in the first controller cluster replaces the cluster member information stored in each SDN controller with the member information to be updated;
sending the to-be-updated member information to the target SDN controller, so that the target SDN controller sends the to-be-updated member information to each SDN controller in a second controller cluster, and replacing cluster member information stored by each SDN controller in the second controller cluster with the to-be-updated member information, so as to realize merging of the first controller cluster and the second controller cluster, wherein the target SDN controller is in the second controller cluster.
Further, the processor 1001 may call a cluster splitting handler stored in the memory 1005, and also perform the following operations:
when receiving re-online information fed back by the target SDN controller, sending a split merge request to each SDN controller in the first controller cluster, so that each SDN controller in the first controller cluster generates request reply information corresponding to the split merge request;
judging whether the request reply message comprises a merging confirmation instruction or not;
when the request reply message includes the confirmation merge instruction, sending a cluster information request to the target SDN controller, so that the target SDN controller responds to the cluster information request, acquires target cluster member information stored in the target SDN controller, and feeds back the target cluster member information.
Further, the processor 1001 may call a cluster splitting handler stored in the memory 1005, and also perform the following operations:
when the target SDN controller is split from the first controller cluster, adding the target SDN controller into a preset controller list, and sending a detection message to the target SDN controller in the preset controller list within a preset period so that the target SDN controller responds to the detection message and feeds back re-online information;
accordingly, the following operations are also performed:
deleting the target SDN controller from the preset controller list, and taking the controller list after the target SDN controller is deleted as a list to be updated, so as to read the SDN controller from the list to be updated and send the detection message to the read SDN controller.
Further, the processor 1001 may call a cluster splitting handler stored in the memory 1005, and also perform the following operations:
and when the re-online information fed back by the target SDN controller is not received, prolonging the preset period to realize that the detection message is sent to the target SDN controller in the prolonged preset period.
In this embodiment, cluster splitting monitoring can be performed on the SDN controller in the cluster in real time and in time, and after the cluster splitting occurs, the SDN controller recovering the running state can be quickly brought online in time in a manner of sending a detection packet, so that the technical problem that the cluster splitting condition of the SDN controller cluster cannot be stably and timely processed in the prior art is solved.
Based on the above hardware structure, an embodiment of the processing method for cluster splitting according to the present invention is provided.
Referring to fig. 4, fig. 4 is a schematic flowchart of a processing method for cluster splitting according to a first embodiment of the present invention.
In a first embodiment, the processing method for cluster splitting includes the following steps:
step S10: determining, by a current SDN controller, whether a target SDN controller is split from a first controller cluster, the current SDN controller being in the first controller cluster;
it can be understood that an execution subject of this embodiment is a current SDN controller, and in order to monitor whether cluster splitting has occurred in a cluster in real time, SDN controllers in the cluster may mutually monitor whether cluster splitting has occurred. Different from fig. 1 or fig. 2, the master SDN controller and the third-party device are used to monitor whether cluster splitting occurs in the SDN controllers in the cluster, and the implementation structure of this embodiment may refer to fig. 5, where fig. 5 is a schematic diagram of a cluster structure. Like fig. 5, in this embodiment, the SDN controllers in the cluster are monitored with each other to determine whether cluster splitting occurs in the cluster, and with this structure, the single-point failure problem caused by deployment of the master SDN controller can be better avoided, and after the SDN controller a fails, the SDN controller B and the SDN controller C can still perform cluster splitting detection.
In a specific implementation, the current SDN controller, i.e., SDN controller B, determines whether the target SDN controller, i.e., SDN controller a, is split from the first controller cluster, and may be implemented by periodically sending heartbeat messages to the SDN controller B by the SDN controller a. After the SDN controller a sends a heartbeat message to the SDN controller B, the SDN controller a may be notified that the SDN controller a is still in an online state, if the SDN controller B does not receive the heartbeat message sent by the SDN controller a within a certain time, the SDN controller a may be considered to be offline, and if one or more SDN controllers are found to be offline, a situation of cluster splitting in the cluster may be considered to have occurred.
Step S20: when the target SDN controller is split from the first controller cluster, sending a detection message to the target SDN controller within a preset period, so that the target SDN controller responds to the detection message and feeds back re-online information;
it is understood that, after the target SDN controller is considered to have split the first controller cluster, in order to timely handle the cluster splitting situation, a probe packet may be sent to the target SDN controller within a preset period, and it may be timely discovered whether the target SDN controller has recovered a normal operating state and may rejoin the first controller cluster. In addition, because the node-to-equalization structure shown in fig. 5 is adopted in this embodiment, all SDN controllers that normally operate in a cluster can send a probe packet to a target SDN controller, and the SDN controller that sends the probe packet is not limited, so that the target SDN controller that can rejoin the cluster can be processed in a more timely manner. When the cluster range is large, one SDN controller, such as a master SDN controller, is designated to send a probe packet, which may cause a single-point failure problem and fail to recover the target SDN controller in time, or may cause a sending delay due to a long distance.
Step S30: and when re-online information fed back by the target SDN controller is received, re-adding the target SDN controller into the first controller cluster.
It should be understood that, after receiving the probe packet, the target SDN controller recovering the normal operation state actively responds to the probe packet, and if the target SDN controller can rejoin the cluster, the target SDN controller feeds back the information of going online again, so that the current SDN controller rejoins the SDN controller that has been split into the cluster in time.
In this embodiment, cluster splitting monitoring can be performed on the SDN controller in the cluster in real time and in time, and after the cluster splitting occurs, the SDN controller recovering the running state can be quickly brought online in time in a manner of sending a detection packet, so that the technical problem that the cluster splitting condition of the SDN controller cluster cannot be stably and timely processed in the prior art is solved.
Referring to fig. 6, fig. 6 is a schematic flowchart of a processing method for cluster splitting according to a second embodiment of the present invention, and the second embodiment of the processing method for cluster splitting according to the present invention is proposed based on the first embodiment shown in fig. 4.
In the second embodiment, the step S20 specifically includes:
step S201: when the target SDN controller is split from the first controller cluster, deleting member information of the target SDN controller from cluster member information stored in the current SDN controller, wherein the cluster member information comprises member information of each SDN controller in the first controller cluster;
it can be understood that, when it is determined that a target SDN controller has been split from a cluster, but because the target SDN controller exists in the cluster, based on the peer-to-peer structure of SDN controllers shown in fig. 5, each controller side in the cluster described in this embodiment locally stores cluster member information, where the cluster member information includes member information of each SDN controller in the cluster and also includes the split target SDN controller, but if the member information of the split target SDN controller is stored in each SDN controller in the cluster, stability of communication between clusters is affected, and even the cluster cannot normally provide service to the outside. Therefore, after the target SDN controller is monitored to be split into clusters, member information about the target SDN controller in the cluster member information locally stored in the remaining SDN controllers is deleted in time.
The cluster member information includes member information of each SDN controller in a cluster. The member information includes information such as a network address, an alias, and configuration information of the SDN controller.
Step S202: sending a detection message to the target SDN controller within a preset period so that the target SDN controller can respond to the detection message and feed back re-online information.
Further, the step S30 specifically includes:
and step S30', when re-online information fed back by the target SDN controller is received, adding member information of the target SDN controller into cluster member information stored in the current SDN controller so as to realize re-adding of the target SDN controller into the first controller cluster.
It can be understood that, after the member information of the target SDN controller in the cluster member information is deleted in time, if the re-online information fed back by the target SDN controller is received, it is indicated that the target SDN controller has recovered to a normal operation state, or the target SDN controller may rejoin the cluster. In order to ensure that the target SDN controller can normally communicate with the SDN controller in the cluster after rejoining the cluster, the member information of the target SDN controller is reloaded to the SDN controller in the cluster, so as to prevent the SDN controller in the cluster from not storing the member information of the target SDN controller, or actively deleting the member information of the target SDN controller in advance.
In this embodiment, after it is detected that the target SDN controller has been split into a cluster, the member information related to the target SDN controller is timely deleted from the cluster member information locally stored in the remaining SDN controllers in the cluster, so as to ensure that the cluster can normally provide external services after the cluster split occurs.
Referring to fig. 7, fig. 7 is a flowchart illustrating a processing method for cluster splitting according to a third embodiment of the present invention, and the third embodiment of the processing method for cluster splitting according to the present invention is proposed based on the first embodiment illustrated in fig. 4.
In the third embodiment, the step S30 specifically includes:
step S301, when receiving re-online information fed back by the target SDN controller, sending a cluster information request to the target SDN controller so that the target SDN controller responds to the cluster information request, acquiring target cluster member information stored in the target SDN controller, and feeding back the target cluster member information, wherein the target cluster member information is used for recording member information of a cluster where the target SDN controller is located;
it is to be understood that, after a target SDN controller is split into a first controller cluster, the target SDN controller may form a new cluster with other SDN controllers, and when the target SDN controller is added to the first controller cluster, member information of the new cluster where the target SDN controller is located may be added to the first controller cluster, rather than merely adding member information of the target SDN controller to the first controller cluster, so as to ensure that the target SDN controller can stably communicate in the first controller cluster, and prevent communication collision due to differences between the first controller cluster and the new cluster.
Step S302, adding the target cluster member information into the cluster member information stored in the current SDN controller so as to realize adding the target SDN controller into the first controller cluster again.
In a specific implementation, when the target SDN controller comes back online, a cluster information request may be sent to the target SDN controller, so as to obtain member information of a new cluster where the target SDN controller is located, that is, target cluster member information, and add the target cluster member information to cluster member information locally stored by the SDN controller in the first controller cluster.
Further, after the step S302, the processing method for cluster splitting further includes:
step S303, taking the locally stored cluster member information added with the target cluster member information as member information to be updated, and sending the member information to be updated to each SDN controller in the first controller cluster so that each SDN controller in the first controller cluster replaces the cluster member information stored in each SDN controller with the member information to be updated;
it is understood that when the target SDN controller that is split into the first controller cluster is configured with other SDN controllers as a new cluster, for example, SDN controller a and SDN controller B in fig. 5 are split into the first controller cluster, a second controller cluster is configured. In order to further prevent communication conflicts and implement cluster merging of the SDN controller C in the first controller cluster and the second controller cluster, member information of the first controller cluster and the second controller cluster may be merged to obtain member information to be updated.
Step S304, sending the to-be-updated member information to the target SDN controller, so that the target SDN controller sends the to-be-updated member information to each SDN controller in a second controller cluster, and replacing the cluster member information stored by each SDN controller in the second controller cluster with the to-be-updated member information, so as to realize merging of the first controller cluster and the second controller cluster, wherein the target SDN controller is in the second controller cluster.
It should be understood that, after generating the member information to be updated, the member information to be updated may be sent to each SDN controller in the first controller cluster, such as SDN controller C in fig. 5, so as to replace the member information stored in the SDN controller C with the member information to be updated; and sending the to-be-updated member information to each SDN controller in the second controller cluster, for example, the SDN controller a and the SDN controller B in fig. 5, so as to replace the member information stored in the SDN controller a and the SDN controller B with the to-be-updated member information, so that the member information locally stored in each SDN controller in the first controller cluster and the member information locally stored in each SDN controller in the second controller cluster are kept consistent, that is, the first controller cluster and the second controller cluster are merged, and the situation of cluster splitting is solved naturally.
Further, the step S301 may include: when receiving re-online information fed back by the target SDN controller, sending a split merge request to each SDN controller in the first controller cluster, so that each SDN controller in the first controller cluster generates request reply information corresponding to the split merge request; judging whether the request reply message comprises a merging confirmation instruction or not; when the request reply message includes the confirmation merge instruction, sending a cluster information request to the target SDN controller, so that the target SDN controller responds to the cluster information request, acquires target cluster member information stored in the target SDN controller, and feeds back the target cluster member information.
It is to be understood that, in consideration of stability of cluster operation, before a target SDN controller is brought online again, a split merge request may be sent to other SDN controllers in the first controller cluster to obtain a reply of the SDN controller in the first controller cluster to the bringing online step. And if the SDN controllers in the first controller cluster are determined to be merged, sending a cluster information request to the target SDN controller so as to add the target SDN controller into the first controller cluster.
In this embodiment, by acquiring cluster member information of a new cluster where a target SDN controller is located, a communication conflict is prevented from occurring when the target SDN controller communicates with an SDN controller in a first controller cluster again; meanwhile, the information of the members to be updated is sent to the first controller cluster and the second controller cluster to realize the merging of the clusters, so that the cluster structure before the splitting of the clusters is restored once.
Referring to fig. 8, fig. 8 is a schematic flowchart of a processing method for cluster splitting according to a fourth embodiment of the present invention, and the fourth embodiment of the processing method for cluster splitting according to the present invention is proposed based on the first embodiment shown in fig. 4.
In the fourth embodiment, the step S20:
step S20', when the target SDN controller is split from the first controller cluster, adding the target SDN controller into a preset controller list, and sending a detection message to the target SDN controller in the preset controller list within a preset period, so that the target SDN controller responds to the detection message and feeds back re-online information;
it will be appreciated that in order to implement the detection of the cluster split condition, since the present embodiment will use a peer-to-peer structure as shown in fig. 5, the detection of the cluster split condition will be implemented by presetting the controller list. And each SDN controller is included in the preset controller list, so that the SDN controllers can perform cluster splitting detection according to the controllers included in the preset controller list.
After the step S30, the processing method for cluster splitting further includes:
and step S40, deleting the target SDN controller from the preset controller list, and taking the controller list with the deleted target SDN controller as a list to be updated so as to read the SDN controller from the list to be updated and send the detection message to the read SDN controller.
In a specific implementation, the current SDN controller reads a controller stored in a list from a preset controller list, and sends a detection packet to the controller stored in the list. For example, the preset controller list includes a target SDN controller, a probe packet is sent to the target SDN controller, and after the target SDN controller rejoins the first controller cluster, the target SDN controller is deleted from the preset controller list in order to prevent invalid sending of the probe packet, because the target SDN controller has rejoined the cluster without sending the probe packet to determine the current operating state of the target SDN controller.
Further, after the step S30, the processing method for cluster splitting further includes: and when the re-online information fed back by the target SDN controller is not received, prolonging the preset period to realize that the detection message is sent to the target SDN controller in the prolonged preset period.
It can be understood that, in this embodiment, the current operating state of the SDN controller that has been split into clusters is determined by sending the probe packet, but in order to improve the validity of the probe packet, because the probe packet may be sent for a long time without obtaining the feedback re-online information, the preset period may be extended after the probe packet is sent within the preset period without obtaining the re-online information, so as to reduce the number of invalid probe packets sent.
In this embodiment, the preset controller list is established to determine the device to send the probe packet by reading each controller in the preset controller list, and when the controller in the preset controller list is on-line again, the controller is deleted from the list, so that the detection object for the cluster splitting condition is flexibly adjusted, and the cluster splitting condition is more efficiently determined.
In addition, an embodiment of the present invention further provides a storage medium, where a cluster splitting handler is stored on the storage medium, and when executed by a processor, the cluster splitting handler implements the following operations:
determining whether a target SDN controller is split from a first controller cluster in which the current SDN controller is located;
when the target SDN controller is split from the first controller cluster, sending a detection message to the target SDN controller within a preset period, so that the target SDN controller responds to the detection message and feeds back re-online information;
and when re-online information fed back by the target SDN controller is received, re-adding the target SDN controller into the first controller cluster.
Further, the cluster splitting handler, when executed by a processor, further performs the following:
when the target SDN controller is split from the first controller cluster, deleting member information of the target SDN controller from cluster member information stored in the current SDN controller, wherein the cluster member information comprises member information of each SDN controller in the first controller cluster;
sending a detection message to the target SDN controller within a preset period so that the target SDN controller can respond to the detection message and feed back re-online information.
Further, the cluster splitting handler, when executed by a processor, further performs the following:
when re-online information fed back by the target SDN controller is received, adding member information of the target SDN controller to cluster member information stored in the current SDN controller so as to re-add the target SDN controller to the first controller cluster.
Further, the cluster splitting handler, when executed by a processor, further performs the following:
when re-online information fed back by the target SDN controller is received, sending a cluster information request to the target SDN controller, so that the target SDN controller responds to the cluster information request, acquires target cluster member information stored in the target SDN controller, and feeds back the target cluster member information, wherein the target cluster member information is used for recording member information of a cluster where the target SDN controller is located;
adding the target cluster member information to the cluster member information stored in the current SDN controller to enable the target SDN controller to be added to the first controller cluster again.
Further, the cluster splitting handler, when executed by a processor, further performs the following:
taking the cluster member information stored in the current SDN controller after the target cluster member information is added as member information to be updated, and sending the member information to be updated to each SDN controller in the first controller cluster, so that each SDN controller in the first controller cluster replaces the cluster member information stored in each SDN controller with the member information to be updated;
sending the to-be-updated member information to the target SDN controller, so that the target SDN controller sends the to-be-updated member information to each SDN controller in a second controller cluster, and replacing cluster member information stored by each SDN controller in the second controller cluster with the to-be-updated member information, so as to realize merging of the first controller cluster and the second controller cluster, wherein the target SDN controller is in the second controller cluster.
Further, the cluster splitting handler, when executed by a processor, further performs the following:
when receiving re-online information fed back by the target SDN controller, sending a split merge request to each SDN controller in the first controller cluster, so that each SDN controller in the first controller cluster generates request reply information corresponding to the split merge request;
judging whether the request reply message comprises a merging confirmation instruction or not;
when the request reply message includes the confirmation merge instruction, sending a cluster information request to the target SDN controller, so that the target SDN controller responds to the cluster information request, acquires target cluster member information stored in the target SDN controller, and feeds back the target cluster member information.
Further, the cluster splitting handler, when executed by a processor, further performs the following:
when the target SDN controller is split from the first controller cluster, adding the target SDN controller into a preset controller list, and sending a detection message to the target SDN controller in the preset controller list within a preset period so that the target SDN controller responds to the detection message and feeds back re-online information;
accordingly, the following operations are also implemented:
deleting the target SDN controller from the preset controller list, and taking the controller list after the target SDN controller is deleted as a list to be updated, so as to read the SDN controller from the list to be updated and send the detection message to the read SDN controller.
Further, the cluster splitting handler, when executed by a processor, further performs the following:
and when the re-online information fed back by the target SDN controller is not received, prolonging the preset period to realize that the detection message is sent to the target SDN controller in the prolonged preset period.
In this embodiment, cluster splitting monitoring can be performed on the SDN controller in the cluster in real time and in time, and after the cluster splitting occurs, the SDN controller recovering the running state can be quickly brought online in time in a manner of sending a detection packet, so that the technical problem that the cluster splitting condition of the SDN controller cluster cannot be stably and timely processed in the prior art is solved.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments. The use of the words first, second, third, etc. do not denote any order, but rather the words first, second, third, etc. are to be interpreted as names.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (10)

1. A processing method for cluster splitting is characterized by comprising the following steps:
the method comprises the steps that a current SDN controller judges whether a target SDN controller is split from a first controller cluster, the current SDN controller is located in the first controller cluster, and the first controller cluster adopts an equalizing structure, so that SDN controllers which normally run in the first controller cluster all send detection messages to the target SDN controller;
when the target SDN controller is split from the first controller cluster, sending a detection message to the target SDN controller within a preset period, so that the target SDN controller responds to the detection message and feeds back re-online information;
and when re-online information fed back by the target SDN controller is received, re-adding the target SDN controller into the first controller cluster.
2. The method for processing cluster splitting as claimed in claim 1, wherein when the target SDN controller is split from the first controller cluster, sending a probe packet to the target SDN controller within a preset period, so that the target SDN controller feeds back re-online information in response to the probe packet, specifically includes:
when the target SDN controller is split from the first controller cluster, deleting member information of the target SDN controller from cluster member information stored in the current SDN controller, wherein the cluster member information comprises member information of each SDN controller in the first controller cluster;
sending a detection message to the target SDN controller within a preset period so that the target SDN controller can respond to the detection message and feed back re-online information.
3. The method for processing cluster splitting as claimed in claim 2, wherein the adding the target SDN controller to the first controller cluster again when receiving the re-online information fed back by the target SDN controller includes:
when re-online information fed back by the target SDN controller is received, adding member information of the target SDN controller to cluster member information stored in the current SDN controller so as to re-add the target SDN controller to the first controller cluster.
4. The method for processing cluster splitting as claimed in claim 1, wherein the adding the target SDN controller to the first controller cluster again when receiving the re-online information fed back by the target SDN controller includes:
when re-online information fed back by the target SDN controller is received, sending a cluster information request to the target SDN controller, so that the target SDN controller responds to the cluster information request, acquires target cluster member information stored in the target SDN controller, and feeds back the target cluster member information, wherein the target cluster member information is used for recording member information of a cluster where the target SDN controller is located;
adding the target cluster member information to the cluster member information stored in the current SDN controller to enable the target SDN controller to be added to the first controller cluster again.
5. The method for processing cluster splitting of claim 4, wherein after adding the target cluster member information to the cluster member information stored in the current SDN controller to enable re-adding the target SDN controller to the first controller cluster, the method for processing cluster splitting further comprises:
taking the cluster member information stored in the current SDN controller after the target cluster member information is added as member information to be updated, and sending the member information to be updated to each SDN controller in the first controller cluster, so that each SDN controller in the first controller cluster replaces the cluster member information stored in each SDN controller with the member information to be updated;
sending the to-be-updated member information to the target SDN controller, so that the target SDN controller sends the to-be-updated member information to each SDN controller in a second controller cluster, and replacing cluster member information stored by each SDN controller in the second controller cluster with the to-be-updated member information, so as to realize merging of the first controller cluster and the second controller cluster, wherein the target SDN controller is in the second controller cluster.
6. The method for processing cluster splitting as claimed in claim 4, wherein when receiving the re-online information fed back by the target SDN controller, sending a cluster information request to the target SDN controller, so that the target SDN controller obtains target cluster member information stored in the target SDN controller in response to the cluster information request, and feeds back the target cluster member information, specifically including:
when receiving re-online information fed back by the target SDN controller, sending a split merge request to each SDN controller in the first controller cluster, so that each SDN controller in the first controller cluster generates request reply information corresponding to the split merge request;
judging whether the request reply message comprises a merging confirmation instruction or not;
when the request reply message includes the confirmation merge instruction, sending a cluster information request to the target SDN controller, so that the target SDN controller responds to the cluster information request, acquires target cluster member information stored in the target SDN controller, and feeds back the target cluster member information.
7. The method for processing cluster splitting as claimed in claim 1, wherein when the target SDN controller is split from the first controller cluster, sending a probe packet to the target SDN controller within a preset period, so that the target SDN controller feeds back re-online information in response to the probe packet, specifically includes:
when the target SDN controller is split from the first controller cluster, adding the target SDN controller into a preset controller list, and sending a detection message to the target SDN controller in the preset controller list within a preset period so that the target SDN controller responds to the detection message and feeds back re-online information;
correspondingly, after the target SDN controller is rejoined to the first controller cluster when the re-online information fed back by the target SDN controller is received, the processing method for cluster splitting further includes:
deleting the target SDN controller from the preset controller list, and taking the controller list after the target SDN controller is deleted as a list to be updated, so as to read the SDN controller from the list to be updated and send the detection message to the read SDN controller.
8. The method for processing cluster splitting according to any one of claims 1 to 7, wherein when the target SDN controller is split from the first controller cluster, after sending a probe packet to the target SDN controller within a preset period to make the target SDN controller feed back re-online information in response to the probe packet, the method for processing cluster splitting further includes:
and when the re-online information fed back by the target SDN controller is not received, prolonging the preset period to realize that the detection message is sent to the target SDN controller in the prolonged preset period.
9. An SDN controller, the SDN controller comprising: memory, a processor and a cluster splitting handler stored on the memory and executable on the processor, which when executed by the processor implements the steps of the cluster splitting processing method according to any of claims 1 to 8.
10. A storage medium, characterized in that the storage medium has stored thereon a cluster splitting handler, which when executed by a processor implements the steps of the cluster splitting handling method according to any of claims 1 to 8.
CN201810101114.3A 2018-01-31 2018-01-31 Cluster splitting processing method, SDN controller and storage medium Active CN108092829B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810101114.3A CN108092829B (en) 2018-01-31 2018-01-31 Cluster splitting processing method, SDN controller and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810101114.3A CN108092829B (en) 2018-01-31 2018-01-31 Cluster splitting processing method, SDN controller and storage medium

Publications (2)

Publication Number Publication Date
CN108092829A CN108092829A (en) 2018-05-29
CN108092829B true CN108092829B (en) 2021-07-06

Family

ID=62194224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810101114.3A Active CN108092829B (en) 2018-01-31 2018-01-31 Cluster splitting processing method, SDN controller and storage medium

Country Status (1)

Country Link
CN (1) CN108092829B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110224950B (en) * 2019-06-21 2022-01-21 深圳市信锐网科技术有限公司 Stack system detection system, method, device and computer readable storage medium
CN112272105B (en) * 2020-09-16 2023-04-18 浪潮思科网络科技有限公司 SDN controller cluster member control method, system and medium
CN114124650A (en) * 2021-12-08 2022-03-01 中国电子科技集团公司第三十四研究所 Master-slave deployment method of SPTN (shortest Path bridging) network controller

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702721A (en) * 2009-10-26 2010-05-05 北京航空航天大学 Reconfigurable method of multi-cluster system
US8806264B2 (en) * 2010-08-30 2014-08-12 Oracle International Corporation Methods for detecting split brain in a distributed system
CN104378232A (en) * 2014-11-10 2015-02-25 东软集团股份有限公司 Schizencephaly finding and recovering method and device under main joint and auxiliary joint cluster networking mode
CN104468201A (en) * 2014-11-26 2015-03-25 杭州华三通信技术有限公司 Automatic deleting method and device for offline network equipment
CN104639615A (en) * 2015-01-07 2015-05-20 杭州华三通信技术有限公司 Data processing method and data processing device in controller cluster
CN106331190A (en) * 2015-06-19 2017-01-11 中兴通讯股份有限公司 IP address withdrawing method and device, and dynamic host configuration protocol server

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103441918A (en) * 2013-08-29 2013-12-11 哈尔滨工程大学 Self-organizing cluster server system and self-organizing method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702721A (en) * 2009-10-26 2010-05-05 北京航空航天大学 Reconfigurable method of multi-cluster system
US8806264B2 (en) * 2010-08-30 2014-08-12 Oracle International Corporation Methods for detecting split brain in a distributed system
CN104378232A (en) * 2014-11-10 2015-02-25 东软集团股份有限公司 Schizencephaly finding and recovering method and device under main joint and auxiliary joint cluster networking mode
CN104468201A (en) * 2014-11-26 2015-03-25 杭州华三通信技术有限公司 Automatic deleting method and device for offline network equipment
CN104639615A (en) * 2015-01-07 2015-05-20 杭州华三通信技术有限公司 Data processing method and data processing device in controller cluster
CN106331190A (en) * 2015-06-19 2017-01-11 中兴通讯股份有限公司 IP address withdrawing method and device, and dynamic host configuration protocol server

Also Published As

Publication number Publication date
CN108092829A (en) 2018-05-29

Similar Documents

Publication Publication Date Title
CN110474797B (en) API service system, and method and device for switching between main and standby
CN108833521B (en) Message pushing method, device, system, computer equipment and storage medium
CN107332726B (en) Communication link detection method and device
CN108092829B (en) Cluster splitting processing method, SDN controller and storage medium
US8665311B2 (en) Methods and apparatus for collaboration
CN109040295B (en) Method and device for determining abnormal disconnection, terminal and storage medium
CN111273963B (en) Application program configuration information generation method and device, computer equipment and medium
CN111198921A (en) Database switching method and device, computer equipment and storage medium
CN112615700B (en) Data sending method, gateway, system, electronic equipment and readable storage medium
CN112910742A (en) Link state detection method and device
CN112202592B (en) Alarm delay diagnosis method, system and readable storage medium
CN111865659B (en) Main and standby controller switching method and device, controller and network equipment
CN108418863B (en) Management method of controller cluster, SDN controller and storage medium
JP2010044553A (en) Data processing method, cluster system, and data processing program
EP2592561A1 (en) Monitoring program, monitoring method and monitoring device of computer
US9967163B2 (en) Message system for avoiding processing-performance decline
CN115665035A (en) Information processing method and device, first node and storage medium
CN106375447B (en) Service switching method and device based on message middleware
CN107547308B (en) Message mirroring method and device, and controller in Software Defined Network (SDN)
CN107087021B (en) Master-slave server determination method and device
CN112073236B (en) Fault processing method of stacking system, frame type switch, stacking system and medium
US20230126682A1 (en) Fault tolerance method and apparatus of network device system, computer device, and storage medium
CN112637337B (en) Data processing method and device
CN107819846B (en) Remote connection method and device
JP2008197885A (en) Application abnormal end processing system method therefor and program

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