SDN network keepalived high-availability traffic scheduling method

By adding load status flags to the VXLAN header, real-time monitoring and scheduling of the load status of cloud servers and hosts is solved, and the problem of not being able to perceive load and perform traffic scheduling in the existing technology is improved, and the high availability and traffic scheduling capabilities of the cloud network are improved.

CN119854231APending Publication Date: 2025-04-18CHINA TELECOM CLOUD TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411781384.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-05
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

When existing cloud networks achieve high availability, they cannot sense the load status of cloud servers and their hosts, nor can they perform traffic and load-based scheduling of services.

Method used

By adding the load status flag for the host and cloud server in the VXLAN header field, the SDN controller monitors and updates the load status in real time. When the load state of the master server or its corresponding host exceeds the preset threshold, the load state flag is set to control the forwarding and discarding of packets to realize traffic scheduling based on the load state.

Benefits of technology

It improves the high availability and traffic scheduling capabilities of the network, enables the SDN controller to monitor and schedule the load status of the host and cloud server in real time, ensuring efficient utilization of network resources and service stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119854231A_ABST
    Figure CN119854231A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of cloud computing, and discloses an SDN (Software Defined Network) keepalived high-availability traffic scheduling method, which is executed by an SDN controller and comprises the following steps of: adding load state flag bits of a host machine and a cloud server in a VXLAN (Virtual eXtensible Local Area Network) header field; monitoring load states of the host machine and the cloud server; the cloud server comprises a main server and a standby server; when the load state of the main server or the host machine corresponding to the main server exceeds a preset threshold value, setting a load state flag bit of a VXLAN head of a message sent by the main server; and receiving the set message, issuing a flow table to the host machines of the standby server and the main server, controlling forwarding and discarding of the message, and completing scheduling. According to the invention, the high availability and traffic scheduling capability of the network can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of cloud computing, and in particular to a SDN network keepalived high-availability traffic scheduling method. Background Art

[0002] Most existing cloud networks are SDN, or software-defined networks, which use SDN controllers to control the entire network and VXLAN encapsulation technology for data forwarding. Cloud servers are widely used in cloud computing as a computing service that can be obtained at any time and is elastic and scalable. With the continuous development and popularization of cloud computing services, higher requirements are placed on the high availability of cloud servers.

[0003] In the current mainstream public cloud or private cloud network, keepalived is often used to achieve high availability of cloud servers. Keeplived is open source software that can achieve failover and high availability through the Virtual Routing Redundancy Protocol (VRRP). Based on the high availability solution of keepalived, two cloud servers are used to run the keepalived service, one as the master server (MASTER) and the other as the backup server (BACKUP). It is presented as a virtual IP to the outside world. The master server will send VRRP protocol packets to the backup server. When the backup server cannot receive the VRRP protocol packet within a certain period of time, it is judged that the master server is down or faulty. The backup server will take over the virtual IP and continue to provide services, thereby ensuring high availability. This method has the problem of not being able to perceive the load of the cloud server and its host machine, and it is also impossible to schedule services based on traffic and load. Summary of the invention

[0004] In view of this, the present invention provides a keepalived high-availability traffic scheduling method for an SDN network to improve the high availability and traffic scheduling capabilities of the network.

[0005] In a first aspect, the present invention provides a keepalived high-availability traffic scheduling method for an SDN network, the method being executed by an SDN controller, and the method comprising: adding a load status flag of a host machine and a cloud server in a VXLAN header field; monitoring the load status of the host machine and the cloud server; the cloud server comprises a primary server and a backup server; when the load status of the primary server or its corresponding host machine exceeds a preset threshold, setting the load status flag of the VXLAN header of a message sent by the primary server; receiving the message after setting, sending a flow table to the backup server and the host machine of the primary server, controlling the forwarding and discarding of the message, and completing the scheduling.

[0006] In an optional implementation, before setting the load status flag bit of the VXLAN header of the message sent by the primary server, it includes: obtaining a message from the cloud server; the message includes a VRRP protocol message and a free ARP message.

[0007] In an optional implementation, a message after setting is received, a flow table is sent to the host machine of the backup server and the main server, and the forwarding and discarding of the message is controlled, including: if the message is a free ARP message of the main server, a first flow table is sent to the host machine of the backup server; the host machine of the backup server is controlled to discard the VRRP protocol message sent by the host machine of the main server; a second flow table is sent to the host machine of the main server; and the host machine of the main server is controlled to discard the VRRP protocol message sent by the main server and the free ARP message of the virtual IP.

[0008] In an optional implementation manner, after controlling the host machine of the backup server to discard the received VRRP protocol message sent by the host machine of the primary server, the method further includes: switching the backup server to the primary server.

[0009] In an optional implementation, after the host machine controlling the primary server discards the VRRP protocol message sent by the primary server and the free ARP message of the virtual IP, the method further includes: the host machine controlling the primary server changes the MAC address of the virtual IP to the MAC of the backup server.

[0010] In an optional implementation manner, after discarding the free ARP message of the virtual IP sent by the main server, the method further includes: controlling the main server to stop providing services externally.

[0011] In a second aspect, the present invention provides a keepalived high-availability traffic scheduling device for an SDN network, the device comprising: a flag adding module, used to add a load status flag of a host machine and a cloud server in a VXLAN header field; a status monitoring module, used to monitor the load status of the host machine and the cloud server; the cloud server comprises a primary server and a backup server; a load setting module, used to set the load status flag of the VXLAN header of a message sent by the primary server when the load status of the primary server or its corresponding host machine exceeds a preset threshold; a message control module, used to receive the message after setting, send the flow table to the backup server and the host machine of the primary server, control the forwarding and discarding of the message, and complete the scheduling.

[0012] In an optional implementation, the device further includes: a message acquisition unit, configured to acquire messages from the cloud server; the messages include VRRP protocol messages and gratuitous ARP messages.

[0013] In an optional implementation, the message control module includes the following units: a first message sending unit, used to send the first flow table to the host of the backup server if the message is a free ARP message of the primary server. A second message sending unit, used to control the host of the backup server to discard the VRRP protocol message received from the host of the primary server. A third message sending unit, used to send the second flow table to the host of the primary server. A fourth message sending unit, used to control the host of the primary server to discard the VRRP protocol message and the free ARP message of the virtual IP sent by the primary server.

[0014] In an optional implementation, the message control module further includes the following units: a server switching unit, configured to switch the backup server to the primary server.

[0015] In an optional implementation, the message control module further includes the following units: an IP changing unit, configured to control the host machine of the primary server to change the MAC address of the virtual IP to the MAC address of the backup server.

[0016] In an optional implementation, the device further includes: a service control unit, configured to control the main server to stop providing external services.

[0017] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the computer instructions to execute a SDN network keepalived high-availability traffic scheduling method according to the above-mentioned first aspect or any corresponding embodiment thereof.

[0018] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute a SDN network keepalived high-availability traffic scheduling method according to the first aspect or any corresponding embodiment thereof.

[0019] In a fifth aspect, the present invention provides a computer program product, including computer instructions, which are used to enable a computer to execute a SDN network keepalived high-availability traffic scheduling method according to the above-mentioned first aspect or any corresponding embodiment.

[0020] The technical solution provided by this application may have the following beneficial effects:

[0021] The present application discloses a method for high-availability traffic scheduling of an SDN network keepalived, which is executed by an SDN controller. The load status flag of the host and cloud server is added to the VXLAN header field, so that the SDN controller can obtain the load status directly through the VXLAN message. Monitor the load status of the host and cloud server; the cloud server includes a main server and a backup server, which is the basis for subsequent load scheduling. When the load status of the main server or its corresponding host exceeds the preset threshold, the load status flag of the VXLAN header of the message sent by the main server is set, and the SDN controller can identify the message to be processed according to the load status. After receiving the set message, the SDN controller sends the flow table to the host of the backup server and the main server to instruct the host how to process the received message. By controlling the forwarding and discarding of the message, the SDN controller realizes traffic scheduling based on the load status. The above scheme, by defining the load status flag of the VXLAN message header, realizes the real-time monitoring and scheduling of the load status of the host and cloud server by the SDN controller, thereby improving the high availability and traffic scheduling capabilities of the network. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0023] Figure 1 It is a flow chart of a method for high-availability traffic scheduling in a SDN network keepalived according to an embodiment of the present invention;

[0024] Figure 2 This is a schematic diagram of a keepalived high availability solution for a cloud network according to an embodiment of the present invention;

[0025] Figure 3 is a schematic diagram of the definition of VXLAN header fields according to an embodiment of the present invention;

[0026] Figure 4 It is a structural block diagram of a SDN network keepalived high-availability traffic scheduling device according to an embodiment of the present invention;

[0027] Figure 5 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0028] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0029] According to an embodiment of the present invention, an embodiment of a keepalived high-availability traffic scheduling method for an SDN network is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0030] In this embodiment, a high-availability traffic scheduling method for a SDN network keepalived is provided. Figure 1 : is a flow chart of a SDN network keepalived high-availability traffic scheduling method according to an embodiment of the present invention, such as Figure 1 As shown, the method is executed by the SDN controller, and the process of the method includes the following steps:

[0031] Step S101, add the load status flag of the host machine and the cloud server in the VXLAN header field.

[0032] The SDN controller first defines the header fields of the VXLAN message and adds two new fields: the host load status flag and the cloud server load status flag. The load status flag is one or more bits used to identify the load status of the host and cloud server for subsequent load-based traffic scheduling. The load flag indicates the load status information.

[0033] Step S102, monitor the load status of the host machine and the cloud server; the cloud server includes a primary server and a backup server.

[0034] The SDN controller monitors the load status of the host and cloud server in real time; the cloud server includes a primary server and a backup server. The load status refers to the degree of workload borne by the host or cloud server at a specific point in time, reflecting the real-time operating status of the host or cloud server. The load status corresponds to the load flag bit, such as the two load flag bits defined in step S101, the host load status flag bit identifies the load status of the host, and the cloud server load status flag bit identifies the load status of the cloud server. The load status changes dynamically, and the load flag bit is a real-time feedback of the dynamic changes in the load status. By monitoring the status of the load flag bit, the load status of the host or cloud server can be understood in real time, so as to make corresponding adjustments. Optionally, the load status is measured by multiple indicators, including CPU utilization, port utilization, memory occupancy, network bandwidth utilization, disk I / O, etc.

[0035] Step S103, when the load status of the main server or its corresponding host exceeds a preset threshold, the load status flag bit of the VXLAN header of the message sent by the main server is set.

[0036] The threshold of the load status is used to indicate the upper limit of the load. In this embodiment, the preset threshold is used to determine whether the main server or the host machine is in an overloaded state. When it is detected that the preset threshold is exceeded, the VXLAN header field of the message sent by the main server is modified and the load flag is set. By setting the load status flag, information about the main server overload can be transmitted to other devices in the network (such as a backup server).

[0037] Step S104, receiving the set message, sending the flow table to the host machine of the backup server and the main server, controlling the forwarding and discarding of the message, and completing the scheduling.

[0038] The SDN controller receives the set message sent by the primary server, generates and sends the flow table to the backup server and the host of the primary server. The flow table is used to instruct the host how to process the received message. According to the sent flow table, the host of the backup server and the primary server will control the forwarding and discarding of the message to realize the scheduling of network traffic.

[0039] In summary, the present invention provides a keepalived high-availability traffic scheduling method for an SDN network, which realizes real-time monitoring and scheduling of the load status of the host machine and the cloud server by the SDN controller by defining the load status flag bit of the VXLAN message header, thereby improving the high availability and traffic scheduling capability of the network.

[0040] In an optional implementation, before step S103, the method further includes:

[0041] Obtain the cloud server's messages, including VRRP protocol messages and gratuitous ARP messages.

[0042] VRRP protocol packets and free ARP packets are the communication means used in the keepalived mechanism to maintain the state synchronization of the primary and standby servers and IP address switching. Therefore, before setting the load status flag, first obtain the message so that the subsequent standby server and the host of the primary server can make corresponding processing according to the message content.

[0043] VRRP protocol packets are used to transmit virtual routing information between the primary and backup servers to ensure the reliability of the virtual IP address. When the primary server fails, the backup server can receive the priority information in the VRRP packet and determine whether it needs to take over the virtual IP address of the primary server. Gratuitous ARP packets are used to declare the ownership of the virtual IP address, helping other network devices update their ARP cache and ensure the continuity of network communications. During the primary-backup switching process, the virtual IP address notifies other devices in the network that the MAC address corresponding to the new virtual IP address has changed and can be correctly and promptly bound to the new primary server.

[0044] In an optional implementation, step S104 includes the following steps:

[0045] Step a11: If the message is a free ARP message of the primary server, the first flow table is sent to the host machine of the backup server.

[0046] When the SDN controller detects that the received message is a free ARP message sent by the primary server, and the server load status flag in the VXLAN header of the message is set, the SDN controller sends a flow table to the host of the backup server. The first flow table sent includes rules for instructing the host of the backup server how to process the VRRP protocol message received from the primary server. Among them, the load status flag in the VXLAN header of the VRRP protocol message is set.

[0047] Step a12: Control the host machine of the standby server to discard the received VRRP protocol message sent by the host machine of the primary server.

[0048] After receiving the first flow table sent by the SDN controller, the host of the backup server will process the VRRP protocol packets from the primary server according to the rules in the first flow table. The host of the backup server will discard these packets and no longer forward them to the backup server, ensuring that the backup server will not receive VRRP packets from the primary server, thereby triggering the keepalived master-slave switching mechanism.

[0049] Step a13: Send the second flow table to the host machine of the primary server.

[0050] After completing the operation on the backup server host, the SDN controller will also send a second flow table to the host of the primary server. The sent second flow table includes rules for instructing the host of the primary server how to process VRRP protocol messages and free ARP messages of the virtual IP sent by the primary server.

[0051] Step a14, controlling the host machine of the main server to discard the VRRP protocol message and the free ARP message of the virtual IP sent by the main server.

[0052] After receiving the second flow table sent by the SDN controller, the host of the main server will discard the VRRP protocol message and the free ARP message of the virtual IP sent by the main server according to the rules in the second flow table, ensuring that the main server will no longer send these messages when the load is too high.

[0053] In an optional implementation manner, after the above step a12, the following steps are further included:

[0054] Switch the standby server to the primary server.

[0055] When the standby server host discards the VRRP protocol message after the setting, according to the working mechanism of keepalived, the standby server will start the master-slave switch operation. Because the VRRP message of the primary server has been discarded, the standby server has not received the message, and the standby server will determine that the primary server may have crashed or failed. In this case, the standby server will automatically switch to the primary server and take over the services originally provided by the primary server.

[0056] In an optional implementation manner, after the above step a14, the following steps are further included:

[0057] The host that controls the primary server changes the MAC address of the virtual IP to the MAC address of the standby server.

[0058] When the primary server is marked as unavailable due to excessive load, and the backup server successfully switches to the primary server, the original virtual IP address still needs to point to the new primary server. The SDN controller or related network management equipment needs to update the ARP table (Address Resolution Protocol table) in the network and change the MAC address corresponding to the virtual IP address from the original primary server MAC address to the MAC address of the new primary server (i.e., backup server). By changing the MAC address of the virtual IP, it can be ensured that other devices in the network (such as clients, routers, etc.) can correctly resolve the MAC address of the new primary server when trying to communicate with the virtual IP, and send the data packet to the correct destination.

[0059] In an optional implementation, after step a14, the method further includes:

[0060] Control the main server to stop providing external services.

[0061] After the host of the master server discards the VRRP protocol message and the free ARP message of the virtual IP sent by the master server according to the instruction of the flow table sent by the SDN controller, the master server actually no longer accepts requests to perform service functions. At this time, the SDN controller needs to ensure that the master server no longer receives or processes any new service requests and no longer continues to provide services to the outside world.

[0062] By controlling the main server to stop providing external services, it can be ensured that during the period when the backup server takes over the service, the clients and other service requesters in the network will not receive responses from two servers at the same time, maintaining the reliability of the service, thereby improving the stability and reliability of the entire SDN network.

[0063] In summary, the SDN controller can perform traffic scheduling and active / standby server switching based on the load status flag of the VXLAN message, thereby ensuring that the cloud servers in the SDN network can achieve high-availability services based on keepalived and improve the stability and reliability of the network.

[0064] The following are specific embodiments of the present invention:

[0065] like Figure 2 As shown in the figure, in a typical SDN cloud environment, there are multiple cloud servers (VM1, VM2, etc.) and host machines 1, 2, ... n, and the SDN controller manages and controls the entire network. Network data is encapsulated and forwarded through VXLAN technology.

[0066] First, if Figure 3 As shown in FIG. 1 , the header of the VXLAN message is defined and two new fields are added: the host overload flag and the server overload flag. These two flags are used to identify the load status of the host and the cloud server.

[0067] The host and cloud server each monitor their own load conditions (CPU utilization or port utilization, etc.). When the load of the host or cloud server does not exceed the preset threshold, the service and protocol messages are forwarded normally. When the load of the host or cloud server exceeds the preset threshold, the free ARP message of the virtual IP sent by the main server is sent to the SDN controller, and the corresponding overload flag of the VXLAN header is set to 1. Then, the VRRP message sent by the main server is sent, and the overload flag of the corresponding host or cloud server in the outer encapsulated VXLAN header is set to 1.

[0068] The SDN controller receives the free ARP message of the VXLAN encapsulated virtual IP sent by the host machine and determines whether the overload bit is set. If the overload bit is not set, continue the normal process without modification. If the overload bit is set, send the flow table to the host machine of the primary server and discard the subsequent VRRP protocol messages of the primary server. Send the flow table to the host machine of the backup server and discard the received VXLAN encapsulated VRRP protocol with the overload bit set. Change the MAC of the virtual IP of the service to the MAC address of the backup server.

[0069] For example, the primary server is VM1, which corresponds to host 1, and the backup server is VM2, which corresponds to host 2. Host 1 and VM1 each monitor their own load conditions (CPU utilization or port utilization, etc.). When the load of host 1 or VM1 does not exceed the preset threshold, the service and protocol messages are forwarded normally. When the load of host 1 or VM1 exceeds the preset threshold, the free ARP message of the virtual IP sent by VM1 is sent to the SDN controller, and the corresponding overload flag bit of the VXLAN header is set to 1. Then, the VRRP message sent by VM1 has the corresponding host or cloud server overload flag bit of the outer encapsulated VXLAN header set to 1.

[0070] The SDN controller monitors VXLAN packets in the network in real time. When receiving a gratuitous ARP packet from a VXLAN-encapsulated primary server with the load status set, the SDN controller performs the following operations:

[0071] Send a flow table to host 2 where VM2 is located, instructing it to discard the VRRP protocol message encapsulated in VXLAN sent by host 1 where VM1 is located. Send a flow table to host 1 where VM1 is located, instructing it to discard the VRRP protocol message and the free ARP message of the virtual IP sent by VM1, and change the MAC address of the virtual IP to the MAC address of VM2. After host 2 where VM2 is located receives the VRRP protocol message encapsulated in VXLAN with the load status set, VM2 will not be able to receive the VRRP message of VM1 because the message is discarded by the flow table sent by the SDN controller. According to the working mechanism of keepalived, VM2 will determine that VM1 is down or faulty, and automatically switch to the active server to take over the service. At the same time, when host 1 where VM1 is located receives the free ARP message of the virtual IP sent by VM1, it will also discard it according to the flow table sent by the SDN controller, so VM1 will no longer provide services to the outside world.

[0072] During the whole process, the host and SDN controller continuously monitor the network load and server status. Once the load situation returns to normal or the active / standby switchover is required, the system will make corresponding adjustments based on the current load status and preset policies.

[0073] In this embodiment, a SDN network keepalived high-availability traffic scheduling device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and will not be repeated hereafter. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0074] This embodiment provides a high-availability traffic scheduling device for a SDN network keepalived, such as Figure 4 As shown, including:

[0075] A flag adding module 401 is used to add a load status flag of the host and the cloud server in the VXLAN header field;

[0076] The status monitoring module 402 is used to monitor the load status of the host machine and the cloud server; the cloud server includes a primary server and a backup server;

[0077] The load setting module 403 is used to set the load status flag of the VXLAN header of the message sent by the main server when the load status of the main server or its corresponding host exceeds a preset threshold;

[0078] The message control module 404 is used to receive the set message, send the flow table to the host machine of the backup server and the main server, control the forwarding and discarding of the message, and complete the scheduling.

[0079] In an optional embodiment, the device further comprises:

[0080] The message acquisition unit is used to acquire messages from the cloud server; the messages include VRRP protocol messages and free ARP messages.

[0081] In an optional implementation, the message control module includes the following units:

[0082] The first message sending unit is used for sending the first flow table to the host machine of the backup server if the message is a free ARP message of the primary server.

[0083] The second message sending unit is used to control the host machine of the standby server to discard the received VRRP protocol message sent by the host machine of the primary server.

[0084] The third message sending unit is used to send the second flow table to the host machine of the main server.

[0085] The fourth message sending unit is used to control the host machine of the main server to discard the VRRP protocol message and the free ARP message of the virtual IP sent by the main server.

[0086] In an optional implementation, the message control module further includes the following units:

[0087] The server switching unit is used to switch the standby server to the main server.

[0088] In an optional implementation, the message control module further includes the following units:

[0089] The IP change unit is used to control the host of the primary server to change the MAC address of the virtual IP to the MAC of the standby server.

[0090] In an optional embodiment, the device further comprises:

[0091] The service control unit is used to control the main server to stop providing external services.

[0092] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0093] In this embodiment, a SDN network keepalived high-availability traffic scheduling device is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0094] The embodiment of the present invention also provides a computer device having the above Figure 4 A SDN network keepalived high-availability traffic scheduling device is shown.

[0095] See also Figure 5 , Figure 5 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 5As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 5 A processor 10 is taken as an example.

[0096] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0097] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.

[0098] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0099] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0100] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Figure 5 The example of connecting through bus is taken in the following.

[0101] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.

[0102] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0103] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.

[0104] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A SDN network keepalived high-availability traffic scheduling method, characterized in that: The method is performed by an SDN controller, and the method includes: Add the host and cloud server load status flags to the VXLAN header field; Monitor the load status of the host machine and the cloud server; the cloud server includes a primary server and a backup server; When the load status of the main server or its corresponding host exceeds a preset threshold, the load status flag bit of the VXLAN header of the message sent by the main server is set; The message after the setting is received, the flow table is sent to the host machine of the backup server and the main server, the forwarding and discarding of the message is controlled, and the scheduling is completed.

2. The method according to claim 1, characterized in that Before setting the load status flag bit of the VXLAN header of the message sent by the primary server, the method includes: Obtaining a message from the cloud server; the message includes a VRRP protocol message and a gratuitous ARP message.

3. The method according to claim 2, characterized in that The receiving of the message after the setting, sending a flow table to the host machine of the backup server and the primary server, and controlling the forwarding and discarding of the message include: If the message is a free ARP message of the primary server, send the first flow table to the host machine of the backup server; Control the host machine of the backup server to discard the received VRRP protocol message sent by the host machine of the primary server; Sending the second flow table to the host machine of the main server; The host machine controlling the main server discards the VRRP protocol message and the free ARP message of the virtual IP sent by the main server.

4. The method according to claim 3, characterized in that After the host machine of the backup server is controlled to discard the received VRRP protocol message sent by the host machine of the primary server, the method includes: Switch the standby server to the primary server.

5. The method according to claim 3, characterized in that: After the host machine controlling the main server discards the VRRP protocol message and the free ARP message of the virtual IP sent by the main server, the method includes: The host machine controlling the primary server changes the MAC address of the virtual IP to the MAC address of the backup server.

6. The method according to claim 3, characterized in that After discarding the free ARP message of the virtual IP sent by the main server, the method further includes: Control the main server to stop providing external services.

7. A SDN network keepalived high-availability traffic scheduling device, characterized in that: The device comprises: A flag adding module is used to add the load status flags of the host and cloud server in the VXLAN header field; A status monitoring module, used to monitor the load status of the host machine and the cloud server; the cloud server includes a primary server and a backup server; A load setting module, used for setting the load status flag bit of the VXLAN header of the message sent by the main server when the load status of the main server or its corresponding host exceeds a preset threshold; The message control module is used to receive the message after setting, send the flow table to the host machine of the backup server and the main server, control the forwarding and discarding of the message, and complete the scheduling.

8. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the method according to any one of claims 1 to 6 by executing the computer instructions.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method according to any one of claims 1 to 6.

10. A computer program product, characterized in that The method comprises computer instructions for causing a computer to execute the method according to any one of claims 1 to 6.