WO2022205905A1 - Software defined network controller network and interaction method therefor, and storage medium - Google Patents

Software defined network controller network and interaction method therefor, and storage medium Download PDF

Info

Publication number
WO2022205905A1
WO2022205905A1 PCT/CN2021/128586 CN2021128586W WO2022205905A1 WO 2022205905 A1 WO2022205905 A1 WO 2022205905A1 CN 2021128586 W CN2021128586 W CN 2021128586W WO 2022205905 A1 WO2022205905 A1 WO 2022205905A1
Authority
WO
WIPO (PCT)
Prior art keywords
sdn controller
network
controller node
node
central state
Prior art date
Application number
PCT/CN2021/128586
Other languages
French (fr)
Chinese (zh)
Inventor
李佳聪
吕航
王镇宇
Original Assignee
中国电信股份有限公司
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 中国电信股份有限公司 filed Critical 中国电信股份有限公司
Publication of WO2022205905A1 publication Critical patent/WO2022205905A1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present application is based on the CN application number 202110339592.X and the filing date is March 30, 2021, and claims its priority, and the disclosure content of the CN application is hereby incorporated into the present application as a whole.
  • the present disclosure relates to the technical field of software-defined networks, in particular to an SDN (Software Defined Network, software-defined network) controller network and an interaction method and storage medium thereof.
  • SDN Software Defined Network, software-defined network
  • SDN The essential features of SDN are the separation of control and data planes and open programmability. By separating the control and data planes and open communication protocols, SDN breaks the closed nature of traditional network equipment. In addition, open interfaces and programmability in north-south and east-west directions make network management simpler, more dynamic and more flexible.
  • the SDN controller is the core component of the control plane and the logical center of the entire SDN architecture. With the expansion of SDN network scale, SDN controllers constitute a relatively complex and huge controller network. In order to strengthen the operation coordination of SDN controllers, the usual practice is to set up a central SDN controller management platform to collect the running status of each controller regularly. Implementing management and control configurations on the SDN controller, such as load balancing, increases construction costs and operating costs.
  • An object of the present disclosure is to improve the work interoperability between SDN controllers.
  • an interaction method for an SDN controller network including: a central state SDN controller node in the SDN controller network generates a block according to collected information, and puts the block on the block.
  • the SDN controller network is a blockchain network, and the SDN controller node in the central state is determined according to the available resources of the SDN controller node in the SDN controller network; the SDN controller in the non-central state in the SDN controller network The controller node obtains the block and stores it; each SDN controller node in the SDN controller network re-determines the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network.
  • the interaction method of the SDN controller network further includes: when each SDN controller node in the non-central state in the SDN controller network changes its own resources, sending resource change information to the SDN controller in the central state
  • the SDN controller node in the central state stores the resource change information when the verification of the resource change information is passed, and takes the resource change information as the collected information or as a part of the collected information when generating blocks.
  • the SDN controller node in the central state starts timing after becoming the central state, or starts timing after collecting information; when the timing reaches a predetermined time period, the operation of generating a block is performed.
  • the interaction method of the SDN controller network further includes: each SDN controller node in the SDN controller network determines the SDN controller in the central state according to the available resources of each SDN controller node in the SDN controller network node.
  • determining the SDN controller node in the central state includes: obtaining the available resource evaluation value of each SDN controller node according to the stock resources and available resources of each SDN controller node; determining the available resource evaluation value The SDN controller node with the highest value is the SDN controller node in the central state.
  • obtaining the evaluation value of the available resource amount of each SDN controller node according to the stock resource amount and the available resource amount of each SDN controller node includes: according to the stock resource amount of each type of each SDN controller node and available resources, obtain the used resources of the corresponding type, and determine the resource consumption ratio of the corresponding type, where the types of resources include the computing resources, storage resources and memory resources of the virtual machine, and the network resources of the link.
  • the weight of the corresponding type of resources is determined; for each SDN controller node, according to the available resources of each type and the corresponding type Determine the weighted sum of the resource amount weights of , and obtain the available resource amount evaluation value of the corresponding SDN controller node.
  • the interaction method of the SDN controller network further includes: for each SDN controller node, acquiring the corresponding SDN controller according to the resources of each virtual machine and the link between the virtual machines constituting the SDN controller node The resource amount of the server node, wherein the resource amount is divided into the stock resource amount and the available resource amount.
  • an SDN controller network including: a plurality of SDN controller nodes and links between the nodes to form a blockchain network; the SDN controller nodes include:
  • the block generation unit is configured to generate a block according to the collected information and upload the block to the chain when it is in a central state, wherein the SDN controller node in the central state is an SDN controller according to the SDN controller network The amount of available resources of the node is determined;
  • the block storage unit is configured to store the blocks generated by itself in the case of being in the central state; in the case of not being in the central state, obtain the blocks issued by the controller node in the central state, and store them;
  • the central state node determination unit is configured to re-determine the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network after the block storage unit stores the block.
  • the SDN controller node further includes: a resource update unit, configured to send resource change information to the SDN in the central state if its own resources change when the SDN controller node is in a non-central state
  • the controller node the verification storage unit is configured to store the resource change information if the verification of the resource change information is passed when the SDN controller node is in the central state, and provide it to the block generation unit, so that the block generation unit
  • the resource change information is used as the collected information or as a part of the collected information when the block is generated.
  • the central state node determining unit is further configured to: determine the initial central state SDN controller node according to the amount of available resources of each SDN controller node in the SDN controller network.
  • a software-defined network controller network comprising: a memory; and a processor coupled to the memory, the processor being configured to execute any one of the above based on instructions stored in the memory a method.
  • a non-transitory computer-readable storage medium having computer program instructions stored thereon, the instructions implementing the steps of any one of the above methods when executed by a processor.
  • FIG. 1 is a flowchart of some embodiments of the disclosed SDN controller network interaction method.
  • FIG. 2 is a flowchart of other embodiments of the disclosed SDN controller network interaction method.
  • FIG. 3 is a signaling interaction diagram of some embodiments of the disclosed SDN controller network interaction method.
  • FIG. 4 is a flowchart of some embodiments of determining a central state of an SDN controller node in the disclosed SDN controller network interaction method.
  • 5 is a schematic diagram of some embodiments of the disclosed SDN controller network.
  • FIG. 6 is a schematic diagram of some embodiments of SDN controller nodes in the SDN controller network of the present disclosure.
  • FIG. 7 is a schematic diagram of further embodiments of nodes in the SDN controller network of the present disclosure.
  • FIG. 8 is a schematic diagram of further embodiments of nodes in the SDN controller network of the present disclosure.
  • Blockchain technology is a promising decentralized distributed data management framework and has been applied to many distributed system scenarios.
  • Blockchain can achieve high efficiency and low cost through a decentralized and unforgeable computing model. It is widely used in finance, logistics, industrial manufacturing, medical care, Internet of Things and other fields.
  • the SDN controller network is a blockchain network, in which one SDN controller node is in the central state, other SDN controller nodes are in the non-central state, the nodes in the central state have accounting rights, and other nodes passively receive storage blocks and do not own accounting rights.
  • step 101 the SDN controller node in the central state generates a block according to the collected information, and uploads the block to the chain, wherein the SDN controller node in the central state is based on the available resources of the SDN controller node in the SDN controller network Quantity is determined.
  • the collected information may include data of the data network collected by the SDN controller node in the central state, changes in the state of the SDN controller itself, and data from the SDN controller node in the non-central state.
  • the data from the SDN controller node in the non-central state may include the data of the data network collected by the corresponding SDN controller node and the state change of the SDN controller itself.
  • the SDN controller node in the non-central state in the SDN controller network acquires and stores the block.
  • the SDN controller node in the non-central state will first verify the block based on the operating rules of the blockchain network; if the verification is passed, the block will be stored on the chain.
  • the SDN controller node in the central state as part of the blockchain network, also stores the blocks generated by itself on the chain.
  • each SDN controller node in the SDN controller network re-determines the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network . Since each SDN controller node is based on the same data when determining the node in the central state, the SDN controller node in the same central state can be selected.
  • the information management of the SDN controller can be carried out in the form of a blockchain network, and the reliability of the distributed SDN controller can be improved; While storing information, the mechanism also improves the cooperative operation ability between controllers; the controller node in the central state is responsible for the generation and uploading of blocks, and the controllers in other states accept the blocks produced by the controller node in the central state. , reduce the number of blocks in the network, also reduce the node processing pressure of the controller, and improve the robustness of the network.
  • FIG. 2 The flowchart of other embodiments of the SDN controller network interaction method of the present disclosure is shown in FIG. 2 .
  • each SDN controller node in the SDN controller network determines the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network.
  • the SDN controller node that determines the central state for the first time may trigger execution when the network is initially constructed.
  • the stock resource amount and the available resource amount of each SDN controller node may be obtained first, and an evaluation value of the available resource amount of each SDN controller node may be determined according to the obtained information. Further, the SDN controller node with the highest available resource evaluation value is determined as the SDN controller node in the central state.
  • step 202 the SDN controller node in the central state determined in step 201 in this cycle starts timing after becoming the central state, or starts timing after collecting information.
  • a timer can be set, and a predetermined time period can be set as the upper limit of time.
  • step 203 it is determined whether the timing has reached a predetermined duration. If the predetermined time period is reached, go to step 204; otherwise, continue to wait. During the waiting process, each SDN controller node in the SDN controller network collects information and sends it to the SDN controller that becomes the central state.
  • step 204 the SDN controller node in the central state summarizes the information collected during the waiting process, generates a block, and uploads the block to the chain; the SDN controller node in the central state also stores the block itself.
  • step 205 the SDN controller node in the non-central state in the SDN controller network acquires and stores the block. Going back to step 201, the SDN controller node in the central state is re-determined.
  • the reselection of the SDN controller node in the central state can be performed whenever a block is generated or stored, so as to fully consider the resource occupation of the block chain node by the generation and storage of the block, ensuring that The nodes in the central state have the best performance in the network, which improves the processing efficiency and reliability of the SDN controller network.
  • FIG. 3 A signaling interaction diagram of some embodiments of the SDN controller network interaction method of the present disclosure is shown in FIG. 3 . Only two of the nodes are shown in the figure, and one of them is determined as the node in the central state in step 301, which is only illustrated by the interaction between the SDN controller node in the central state and the SDN controller node in the non-central state. .
  • step 301 the SDN controller node 31 determines that the SDN controller node in the central state is 32 according to the available resources of each SDN controller node in the SDN controller network. According to the same data, the SDN controller node 32 will determine itself as the SDN controller node in the central state.
  • each SDN controller node may scan each SDN controller in the blockchain to obtain the resource status of each node.
  • step 302 when the own resources of the SDN controller node 31 change, resource change information is generated.
  • step 303 the SDN controller node 31 sends its own resource change information to the SDN controller node 32 in the central state.
  • step 304 the SDN controller node 32 receives the resource change information and verifies it. If the verification is passed, it will be stored for backup and start timing.
  • step 305 when the timing reaches a predetermined time period, the SDN controller node 32 will store the spare information generation block during the timing process, and store it after authentication.
  • step 306 the SDN controller node 32 uploads the generated block to the chain so that other SDN controller nodes can obtain it.
  • step 307 the SDN controller node 31 authenticates the acquired block, and stores the block if the authentication is passed.
  • step 308 the SDN controller node 31 and the SDN controller node 32 re-determine the SDN controller node in the central state based on the current resource amount of each node.
  • step 201 the flowchart of some embodiments of the SDN controller node that determines the central state each time is shown in FIG. 4 .
  • step 401 the network device in the SDN control domain will send the packet_in data packet to the SDN controller.
  • the SDN controller calculates the route through the global view and sends the flow table to the network device for installation by the network device.
  • the controller and the network device There are also interactive messages such as "port-status" and "flow-removed”. These operations will occupy a series of resources such as link bandwidth, CPU, memory, and storage of the controller. According to the stock resource amount and available resource amount of each type of each SDN controller node, the used resource amount of the corresponding type is obtained, and the resource consumption ratio of the corresponding type is determined.
  • the resource amount of the corresponding SDN controller node may be obtained according to the resource amount of each virtual machine and the link between the virtual machines constituting the SDN controller node, wherein, Resources are divided into stock resources and available resources.
  • the SDN controller resource data model includes three parts:
  • DOM_ID is used to identify the ID number of the SDN control domain
  • R is the set of stock resources, that is, the sum of the used and available resources of the controller, including C (computing resources), S (storage resources), M (memory resources), and N (network resources).
  • C computing resources
  • S storage resources
  • M memory resources
  • N network resources
  • SDN controller nodes are generally deployed based on virtualized facilities, and a single SDN controller node is composed of one or more virtual machines.
  • Vi is the amount of computing resources of a single virtual machine; Li is the amount of storage resources of a single virtual machine; Wi is the amount of memory resources of a single virtual machine; D i is the amount of network resources of a single link between virtual machines .
  • C j , S j , M j and N j are the computing resources, storage resources, memory resources and network resources of the SDN controller node j, respectively, P is the number of virtual machines constituting the SDN controller node j, Q is the number of links between virtual machines constituting the SDN controller node j; V ij is the amount of computing resources of the virtual machine i in the SDN controller node j; L ij is the amount of storage resources of the virtual machine i in the SDN controller node j; W ij is the memory resource amount of virtual machine i in SDN controller node j; D ij is the network resource amount of link i in SDN controller node j.
  • the available resources of the SDN controller are the remaining resources that are currently not in use, including the remaining computing resources ⁇ C of the virtual machine, the remaining storage resources ⁇ S and the remaining memory resources ⁇ M, and the network resources of the remaining links ⁇ Four types of N.
  • ⁇ C j , ⁇ S j , ⁇ M j and ⁇ N j are the remaining available computing resources, storage resources, memory resources and network resources of the SDN controller node j, respectively.
  • ⁇ V ij is the remaining available computing resources of virtual machine i in SDN controller node j;
  • ⁇ L ij is the remaining available storage resources of virtual machine i in SDN controller node j;
  • ⁇ W ij is SDN controller node The remaining available memory resources of virtual machine i in j;
  • ⁇ D ij is the remaining available network resources of link i in SDN controller node j.
  • the consumption ratio of various resources in the overall resource is calculated as follows:
  • ⁇ 1 to ⁇ 4 are the consumption ratios of computing resources, storage resources, memory resources, and network resources, respectively.
  • step 402 the weight of the resource amount of the corresponding type is determined according to the ratio of the resource consumption ratio of each type to the resource consumption ratio of all types.
  • the weights ⁇ 1 , ⁇ 2 , ⁇ 3 , and ⁇ 4 of computing resources, storage resources, memory resources and network resources are obtained respectively.
  • step 403 for each SDN controller node, a weighted sum is determined according to the available resource amount of each type and the weight of the resource amount of the corresponding type, and an evaluation value of the available resource amount of the corresponding SDN controller node is obtained.
  • the available resource evaluation value ⁇ R j of the SDN controller node j can be obtained based on the following formula:
  • ⁇ R j ⁇ 1 ⁇ C j + ⁇ 2 ⁇ S j + ⁇ 3 ⁇ M j + ⁇ 4 ⁇ N j
  • the stock resource evaluation value ⁇ R j of the SDN controller node j can be obtained based on the following formula:
  • R j ⁇ 1 ⁇ C j + ⁇ 2 ⁇ S j + ⁇ 3 ⁇ M j + ⁇ 4 ⁇ N j
  • the weights of different types of resources are determined based on the consumption of various resources existing at each node, and then the weights can be comprehensively considered when determining the available resource evaluation value, so as to improve the rationality of the remaining resource evaluation and optimize the
  • the accuracy of the selection of SDN controller nodes in the central state further improves the performance and reliability of the SDN controller network.
  • the SDN controller network includes SDN controller nodes 51-5N and links 50 between the nodes, where N is the number of SDN controller nodes.
  • FIG. 6 A schematic diagram of some embodiments of an SDN controller node is shown in FIG. 6 .
  • the block generating unit 601 can generate a block according to the collected information under the condition of being in the center state, and upload the block to the chain, wherein the SDN controller node in the center state is based on the SDN controller node in the SDN controller network. The amount of available resources is determined.
  • the block storage unit 602 When the block storage unit 602 is in the central state, it can store the blocks generated by itself; when it is not in the central state, obtain and store the blocks issued by the controller node in the central state.
  • the central state node determining unit 603 can re-determine the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network after the block storage unit stores the block.
  • Such SDN controller network adopts the form of blockchain network for information management, which improves the reliability of distributed SDN controllers; by dynamically selecting nodes in the central state, information storage is performed using the mechanism of blockchain network. At the same time, it also improves the cooperative operation ability between controllers.
  • the controller node in the central state is responsible for the generation and uploading of blocks, and the controllers in other states accept the blocks produced by the controller node in the central state, reducing the number of blocks in the network. It also reduces the processing pressure of the controller node and improves the robustness of the network.
  • the central state node determining unit 603 can also determine the initial central state SDN controller node according to the available resources of each SDN controller node in the SDN controller network when the initial network construction is completed and the operation starts. , to ensure the automatic cycle operation of the network.
  • the SDN controller network may also include a resource update unit 604 and a verification storage unit 605 .
  • the resource updating unit 604 can send resource change information to the SDN controller node in the central state if its own resources change when the SDN controller node is in the non-central state.
  • the verification storage unit 605 can store the resource change information when the SDN controller node is in the central state, if the verification of the resource change information is passed, and provide the resource change information to the block generation unit, so that the block generation unit will store the resource change information when generating the block.
  • Resource change information as collected information, or as part of collected information.
  • each SDN controller node in a non-central state can send the information generated and collected by itself to the SDN controller node in the central state, and use its ability to generate blocks and upload the chain to realize data storage. Data loss is avoided and the reliability of the SDN controller network is further improved.
  • Each node in the SDN controller network includes a memory 701 and a processor 702 .
  • the memory 701 may be a magnetic disk, a flash memory or any other non-volatile storage medium.
  • the memory is used to store the instructions in the above-mentioned corresponding embodiments of the interaction method of the SDN controller network.
  • the processor 702 is coupled to the memory 701 and may be implemented as one or more integrated circuits, such as a microprocessor or microcontroller.
  • the processor 702 is configured to execute the instructions stored in the memory, which can improve the reliability of the distributed SDN controller, reduce the processing pressure of the controller node, and improve the robustness of the network.
  • each node 800 of the SDN controller network includes a memory 801 and a processor 802 .
  • Processor 802 is coupled to memory 801 through BUS 803 .
  • Each node 800 of the SDN controller network can also be connected to an external storage device 805 through a storage interface 804 for recalling external data, and can also be connected to a network or another computer system (not shown) through a network interface 806 . It will not be described in detail here.
  • the data instructions are stored in the memory, and the above instructions are processed by the processor, which can improve the reliability of the distributed SDN controller, reduce the processing pressure of the controller nodes, and improve the robustness of the network.
  • a non-transitory computer-readable storage medium has computer program instructions stored thereon, and when the instructions are executed by a processor, implement the steps of the method in the corresponding embodiment of the method for interacting with the SDN controller network.
  • embodiments of the present disclosure may be provided as a method, apparatus, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein .
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions
  • the apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
  • the methods and apparatus of the present disclosure may be implemented in many ways.
  • the methods and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware.
  • the above-described order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless specifically stated otherwise.
  • the present disclosure can also be implemented as programs recorded in a recording medium, the programs including machine-readable instructions for implementing methods according to the present disclosure.
  • the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.

Abstract

The present invention relates to the technical field of software defined networks (SDNs), and provides an SDN controller network and an interaction method therefor, and a storage medium. The interaction method for an SDN controller network in the present invention comprises: an SDN controller node in a central state in the SDN controller network generates a block according to acquired information, and chains the block, wherein the SDN controller network is a blockchain network, and the SDN controller node in the central state is determined according to an amount of available resources of SDN controller nodes in the SDN controller network; an SDN controller node in a non-central state in the SDN controller network obtains and stores the block; and the SDN controller nodes in the SDN controller network re-determine the SDN controller node in the central state according to the amount of available resources of the SDN controller nodes in the SDN controller network. By means of such a method, the reliability of a distributed SDN controller can be improved; the number of blocks in the network is reduced; the processing pressure of the controller nodes is also reduced; and the robustness of the network is improved.

Description

软件定义网络控制器网络及其交互方法和存储介质Software-defined network controller network and its interaction method and storage medium
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请是以CN申请号为202110339592.X,申请日为2021年3月30日的申请为基础,并主张其优先权,该CN申请的公开内容在此作为整体引入本申请中。The present application is based on the CN application number 202110339592.X and the filing date is March 30, 2021, and claims its priority, and the disclosure content of the CN application is hereby incorporated into the present application as a whole.
技术领域technical field
本公开涉及软件定义的网络技术领域,特别是一种SDN(Software Defined Network,软件定义网络)控制器网络及其交互方法和存储介质。The present disclosure relates to the technical field of software-defined networks, in particular to an SDN (Software Defined Network, software-defined network) controller network and an interaction method and storage medium thereof.
背景技术Background technique
SDN的本质特点是控制平面和数据平面的分离以及开放可编程性。通过分离控制平面和数据平面以及开放的通信协议,SDN打破了传统网络设备的封闭性。此外,南北向和东西向的开放接口及可编程性,也使得网络管理变得更加简单、动态和灵活。The essential features of SDN are the separation of control and data planes and open programmability. By separating the control and data planes and open communication protocols, SDN breaks the closed nature of traditional network equipment. In addition, open interfaces and programmability in north-south and east-west directions make network management simpler, more dynamic and more flexible.
SDN控制器是控制平面的核心部件,也是整个SDN体系结构中的逻辑中心。随着SDN网络规模的扩展,SDN控制器构成了比较复杂庞大的控制器网络,为加强SDN控制器运行协同,通常的做法是设置中心SDN控制器管理平台,定时搜集各控制器的运行状态,对SDN控制器实施管控配置,如负载均衡等,这样方式增加了建设成本以及运营成本。The SDN controller is the core component of the control plane and the logical center of the entire SDN architecture. With the expansion of SDN network scale, SDN controllers constitute a relatively complex and huge controller network. In order to strengthen the operation coordination of SDN controllers, the usual practice is to set up a central SDN controller management platform to collect the running status of each controller regularly. Implementing management and control configurations on the SDN controller, such as load balancing, increases construction costs and operating costs.
发明内容SUMMARY OF THE INVENTION
本公开的一个目的在于提高SDN控制器之间的工作协同性。An object of the present disclosure is to improve the work interoperability between SDN controllers.
根据本公开的一些实施例的一个方面,提出一种SDN控制器网络的交互方法,包括:SDN控制器网络中的中心状态的SDN控制器节点根据采集的信息生成区块,并将区块上链,其中,SDN控制器网络为区块链网络,中心状态的SDN控制器节点为根据SDN控制器网络中SDN控制器节点的可用资源量确定;SDN控制器网络中的非中心状态的SDN控制器节点获取区块并存储;SDN控制器网络中的各个SDN控制器节点,根据SDN控制器网络中各个SDN控制器节点的可用资源量,重新确定中心状态的SDN控制器节点。According to an aspect of some embodiments of the present disclosure, an interaction method for an SDN controller network is proposed, including: a central state SDN controller node in the SDN controller network generates a block according to collected information, and puts the block on the block. The SDN controller network is a blockchain network, and the SDN controller node in the central state is determined according to the available resources of the SDN controller node in the SDN controller network; the SDN controller in the non-central state in the SDN controller network The controller node obtains the block and stores it; each SDN controller node in the SDN controller network re-determines the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network.
在一些实施例中,SDN控制器网络的交互方法还包括:SDN控制器网络中各个 非中心状态的SDN控制器节点在自身资源发生变化的情况下,将资源变化信息发送给中心状态的SDN控制器节点;中心状态的SDN控制器节点在对资源变化信息验证通过的情况下,存储资源变化信息,并在生成区块时将资源变化信息作为采集的信息或作为采集的信息的一部分。In some embodiments, the interaction method of the SDN controller network further includes: when each SDN controller node in the non-central state in the SDN controller network changes its own resources, sending resource change information to the SDN controller in the central state The SDN controller node in the central state stores the resource change information when the verification of the resource change information is passed, and takes the resource change information as the collected information or as a part of the collected information when generating blocks.
在一些实施例中,中心状态的SDN控制器节点在成为中心状态后开始计时,或在采集到信息后开始计时;当计时达到预定时长时,执行生成区块的操作。In some embodiments, the SDN controller node in the central state starts timing after becoming the central state, or starts timing after collecting information; when the timing reaches a predetermined time period, the operation of generating a block is performed.
在一些实施例中,SDN控制器网络的交互方法还包括:SDN控制器网络中的各个SDN控制器节点根据SDN控制器网络中各个SDN控制器节点的可用资源量,确定中心状态的SDN控制器节点。In some embodiments, the interaction method of the SDN controller network further includes: each SDN controller node in the SDN controller network determines the SDN controller in the central state according to the available resources of each SDN controller node in the SDN controller network node.
在一些实施例中,确定中心状态的SDN控制器节点包括:根据各个SDN控制器节点的存量资源量和可用资源量,获取每个SDN控制器节点的可用资源量评估值;确定可用资源量评估值最高的SDN控制器节点,作为中心状态的SDN控制器节点。In some embodiments, determining the SDN controller node in the central state includes: obtaining the available resource evaluation value of each SDN controller node according to the stock resources and available resources of each SDN controller node; determining the available resource evaluation value The SDN controller node with the highest value is the SDN controller node in the central state.
在一些实施例中,根据各个SDN控制器节点的存量资源量和可用资源量,获取每个SDN控制器节点的可用资源量评估值包括:根据各个SDN控制器节点的每个种类的存量资源量和可用资源量,获取对应种类的已用资源量,确定对应种类的资源消耗比例,其中,资源量的种类包括虚拟机的计算资源量、存储资源量和内存资源量,以及链路的网络资源量;根据每个种类的资源消耗比例在所有种类的资源消耗比例中所占的比例,确定对应种类的资源量的权重;针对每个SDN控制器节点,根据各个种类的可用资源量和对应种类的资源量的权重确定加权和,获取对应SDN控制器节点的可用资源量评估值。In some embodiments, obtaining the evaluation value of the available resource amount of each SDN controller node according to the stock resource amount and the available resource amount of each SDN controller node includes: according to the stock resource amount of each type of each SDN controller node and available resources, obtain the used resources of the corresponding type, and determine the resource consumption ratio of the corresponding type, where the types of resources include the computing resources, storage resources and memory resources of the virtual machine, and the network resources of the link. According to the proportion of the resource consumption ratio of each type in the resource consumption ratio of all types, the weight of the corresponding type of resources is determined; for each SDN controller node, according to the available resources of each type and the corresponding type Determine the weighted sum of the resource amount weights of , and obtain the available resource amount evaluation value of the corresponding SDN controller node.
在一些实施例中,SDN控制器网络的交互方法还包括:针对每个SDN控制器节点,根据构成SDN控制器节点的各个虚拟机和虚拟机之间链路的资源量,获取对应的SDN控制器节点的资源量,其中,资源量分为存量资源量和可用资源量。In some embodiments, the interaction method of the SDN controller network further includes: for each SDN controller node, acquiring the corresponding SDN controller according to the resources of each virtual machine and the link between the virtual machines constituting the SDN controller node The resource amount of the server node, wherein the resource amount is divided into the stock resource amount and the available resource amount.
根据本公开的一些实施例的一个方面,提出一种SDN控制器网络,包括:多个SDN控制器节点和节点间的链路,构成区块链网络;SDN控制器节点包括:According to an aspect of some embodiments of the present disclosure, an SDN controller network is proposed, including: a plurality of SDN controller nodes and links between the nodes to form a blockchain network; the SDN controller nodes include:
区块生成单元,被配置为在处于中心状态的情况下,根据采集的信息生成区块,并将区块上链,其中,中心状态的SDN控制器节点为根据SDN控制器网络中SDN控制器节点的可用资源量确定;The block generation unit is configured to generate a block according to the collected information and upload the block to the chain when it is in a central state, wherein the SDN controller node in the central state is an SDN controller according to the SDN controller network The amount of available resources of the node is determined;
区块存储单元,被配置为在处于中心状态的情况下,存储自身产生的区块;在非处于中心状态的情况下,获取处于中心状态的控制器节点发布的区块,并存储;The block storage unit is configured to store the blocks generated by itself in the case of being in the central state; in the case of not being in the central state, obtain the blocks issued by the controller node in the central state, and store them;
中心状态节点确定单元,被配置为在区块存储单元存储区块后,根据SDN控制器网络中各个SDN控制器节点的可用资源量,重新确定中心状态的SDN控制器节点。The central state node determination unit is configured to re-determine the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network after the block storage unit stores the block.
在一些实施例中,SDN控制器节点还包括:资源更新单元,被配置为在SDN控制器节点处于非中心状态的情况下,若自身资源发生变化,则将资源变化信息发送给中心状态的SDN控制器节点;验证存储单元,被配置为在SDN控制器节点处于中心状态的情况下,若对资源变化信息验证通过,则存储资源变化信息,并提供给区块生成单元,以便区块生成单元在生成区块时将资源变化信息作为采集的信息或作为采集的信息的一部分。In some embodiments, the SDN controller node further includes: a resource update unit, configured to send resource change information to the SDN in the central state if its own resources change when the SDN controller node is in a non-central state The controller node; the verification storage unit is configured to store the resource change information if the verification of the resource change information is passed when the SDN controller node is in the central state, and provide it to the block generation unit, so that the block generation unit The resource change information is used as the collected information or as a part of the collected information when the block is generated.
在一些实施例中,中心状态节点确定单元还被配置为:根据SDN控制器网络中各个SDN控制器节点的可用资源量,确定初始的中心状态的SDN控制器节点。In some embodiments, the central state node determining unit is further configured to: determine the initial central state SDN controller node according to the amount of available resources of each SDN controller node in the SDN controller network.
根据本公开的一些实施例的一个方面,提出一种软件定义网络控制器网络,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中任意一种方法。According to an aspect of some embodiments of the present disclosure, there is provided a software-defined network controller network, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute any one of the above based on instructions stored in the memory a method.
根据本公开的一些实施例的一个方面,提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中任意一种方法的步骤。According to an aspect of some embodiments of the present disclosure, there is provided a non-transitory computer-readable storage medium having computer program instructions stored thereon, the instructions implementing the steps of any one of the above methods when executed by a processor.
附图说明Description of drawings
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:The accompanying drawings described herein are used to provide further understanding of the present disclosure and constitute a part of the present disclosure. The exemplary embodiments of the present disclosure and their descriptions are used to explain the present disclosure and do not constitute an improper limitation of the present disclosure. In the attached image:
图1为本公开的SDN控制器网络的交互方法的一些实施例的流程图。FIG. 1 is a flowchart of some embodiments of the disclosed SDN controller network interaction method.
图2为本公开的SDN控制器网络的交互方法的另一些实施例的流程图。FIG. 2 is a flowchart of other embodiments of the disclosed SDN controller network interaction method.
图3为本公开的SDN控制器网络的交互方法的一些实施例的信令交互图。FIG. 3 is a signaling interaction diagram of some embodiments of the disclosed SDN controller network interaction method.
图4为本公开的SDN控制器网络的交互方法中确定中心状态的SDN控制器节点的一些实施例的流程图。FIG. 4 is a flowchart of some embodiments of determining a central state of an SDN controller node in the disclosed SDN controller network interaction method.
图5为本公开的SDN控制器网络的一些实施例的示意图。5 is a schematic diagram of some embodiments of the disclosed SDN controller network.
图6为本公开的SDN控制器网络中SDN控制器节点的一些实施例的示意图。6 is a schematic diagram of some embodiments of SDN controller nodes in the SDN controller network of the present disclosure.
图7为本公开的SDN控制器网络中节点的另一些实施例的示意图。FIG. 7 is a schematic diagram of further embodiments of nodes in the SDN controller network of the present disclosure.
图8为本公开的SDN控制器网络中节点的又一些实施例的示意图。8 is a schematic diagram of further embodiments of nodes in the SDN controller network of the present disclosure.
具体实施方式Detailed ways
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。The technical solutions of the present disclosure will be further described in detail below through the accompanying drawings and embodiments.
区块链技术是一种很有前途的去中心化的分布式数据管理框架,并已应用于许多分布式系统场景,区块链可以通过去中心化、不可伪造的计算模型实现高效、低成本的分布式可信计算、交易等,目前在金融、物流、工业制造、医疗、物联网等领域广泛应用。Blockchain technology is a promising decentralized distributed data management framework and has been applied to many distributed system scenarios. Blockchain can achieve high efficiency and low cost through a decentralized and unforgeable computing model. It is widely used in finance, logistics, industrial manufacturing, medical care, Internet of Things and other fields.
本公开的SDN控制器网络的交互方法的一些实施例的流程图如图1所示。SDN控制器网络为区块链网络,其中具有一个SDN控制器节点为中心状态,其他SDN控制器节点为非中心状态,中心状态的节点拥有记账权,其他节点被动接收存储区块,不拥有记账权。A flowchart of some embodiments of the SDN controller network interaction method of the present disclosure is shown in FIG. 1 . The SDN controller network is a blockchain network, in which one SDN controller node is in the central state, other SDN controller nodes are in the non-central state, the nodes in the central state have accounting rights, and other nodes passively receive storage blocks and do not own accounting rights.
在步骤101中,中心状态的SDN控制器节点根据采集的信息生成区块,并将区块上链,其中,中心状态的SDN控制器节点为根据SDN控制器网络中SDN控制器节点的可用资源量确定。In step 101, the SDN controller node in the central state generates a block according to the collected information, and uploads the block to the chain, wherein the SDN controller node in the central state is based on the available resources of the SDN controller node in the SDN controller network Quantity is determined.
在一些实施例中,采集的信息可以包括中心状态的SDN控制器节点采集的数据网络的数据、SDN控制器自身状态的变化情况,以及来自非中心状态的SDN控制器节点的数据。在一些实施例中,来自非中心状态的SDN控制器节点的数据可以包括对应的SDN控制器节点采集的数据网络的数据和该SDN控制器自身状态的变化情况。In some embodiments, the collected information may include data of the data network collected by the SDN controller node in the central state, changes in the state of the SDN controller itself, and data from the SDN controller node in the non-central state. In some embodiments, the data from the SDN controller node in the non-central state may include the data of the data network collected by the corresponding SDN controller node and the state change of the SDN controller itself.
在步骤102中,SDN控制器网络中的非中心状态的SDN控制器节点获取区块并存储。在一些实施例中,非中心状态的SDN控制器节点会基于区块链网络的运行规则,先对区块进行验证;在验证通过的情况下将区块上链存储。在一些实施例中,中心状态的SDN控制器节点作为区块链网络的一部分,也将自身产生的区块上链存储。In step 102, the SDN controller node in the non-central state in the SDN controller network acquires and stores the block. In some embodiments, the SDN controller node in the non-central state will first verify the block based on the operating rules of the blockchain network; if the verification is passed, the block will be stored on the chain. In some embodiments, the SDN controller node in the central state, as part of the blockchain network, also stores the blocks generated by itself on the chain.
在步骤103中,当完成区块上链后,SDN控制器网络中的各个SDN控制器节点,根据SDN控制器网络中各个SDN控制器节点的可用资源量,重新确定中心状态的SDN控制器节点。由于各个SDN控制器节点在确定中心状态的节点时基于的数据相同,因此能够选出相同的中心状态的SDN控制器节点。In step 103, after the blockchain is completed, each SDN controller node in the SDN controller network re-determines the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network . Since each SDN controller node is based on the same data when determining the node in the central state, the SDN controller node in the same central state can be selected.
通过这样的方法,能够将SDN控制器通过区块链网络的形式进行信息管理,提高了分布式SDN控制器的可靠性;通过动态的选取中心状态的节点的方式,在使用区块链网络的机制进行信息存储的同时,也提高了控制器之间的协同操作能力;中心状态的控制器节点负责区块的生成和上链,其他状态的控制器接受中心状态的控制器节点生产的区块,降低网络中的区块数量,也降低控制器的节点处理压力,提高网络的 鲁棒性。Through this method, the information management of the SDN controller can be carried out in the form of a blockchain network, and the reliability of the distributed SDN controller can be improved; While storing information, the mechanism also improves the cooperative operation ability between controllers; the controller node in the central state is responsible for the generation and uploading of blocks, and the controllers in other states accept the blocks produced by the controller node in the central state. , reduce the number of blocks in the network, also reduce the node processing pressure of the controller, and improve the robustness of the network.
本公开的SDN控制器网络的交互方法的另一些实施例的流程图如图2所示。The flowchart of other embodiments of the SDN controller network interaction method of the present disclosure is shown in FIG. 2 .
在步骤201中,SDN控制器网络中的各个SDN控制器节点根据SDN控制器网络中各个SDN控制器节点的可用资源量,确定中心状态的SDN控制器节点。在一些实施例中,首次确定中心状态的SDN控制器节点可以在网络初始构建时触发执行。In step 201, each SDN controller node in the SDN controller network determines the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network. In some embodiments, the SDN controller node that determines the central state for the first time may trigger execution when the network is initially constructed.
在一些实施例中,可以先获取各个SDN控制器节点的存量资源量和可用资源量,根据获取的信息确定每个SDN控制器节点的可用资源量评估值。进一步的,确定可用资源量评估值最高的SDN控制器节点,作为中心状态的SDN控制器节点。In some embodiments, the stock resource amount and the available resource amount of each SDN controller node may be obtained first, and an evaluation value of the available resource amount of each SDN controller node may be determined according to the obtained information. Further, the SDN controller node with the highest available resource evaluation value is determined as the SDN controller node in the central state.
在步骤202中,本次循环中在步骤201中确定的成为中心状态的SDN控制器节点,从成为中心状态后开始计时,或在采集到信息后开始计时。在一些实施例中,可以设置计时器,设定预定时长作为计时上限。In step 202, the SDN controller node in the central state determined in step 201 in this cycle starts timing after becoming the central state, or starts timing after collecting information. In some embodiments, a timer can be set, and a predetermined time period can be set as the upper limit of time.
在步骤203中,判断计时是否达到预定时长。若达到预定时长,则执行步骤204;否则,继续等待。在等待过程中,SDN控制器网络中的各个SDN控制器节点采集信息,并发送给成为中心状态的SDN控制器。In step 203, it is determined whether the timing has reached a predetermined duration. If the predetermined time period is reached, go to step 204; otherwise, continue to wait. During the waiting process, each SDN controller node in the SDN controller network collects information and sends it to the SDN controller that becomes the central state.
在步骤204中,中心状态的SDN控制器节点对在等待过程中采集的信息进行汇总,生成区块,并将区块上链;中心状态的SDN控制器节点自身也存储该区块。In step 204, the SDN controller node in the central state summarizes the information collected during the waiting process, generates a block, and uploads the block to the chain; the SDN controller node in the central state also stores the block itself.
在步骤205中,SDN控制器网络中的非中心状态的SDN控制器节点获取区块并存储。进而回到步骤201,重新确定中心状态的SDN控制器节点。In step 205, the SDN controller node in the non-central state in the SDN controller network acquires and stores the block. Going back to step 201, the SDN controller node in the central state is re-determined.
通过这样的方法,能够在每当发生区块生成、存储时,均执行中心状态的SDN控制器节点的重选,从而充分考虑到区块的生成、存储对于区块链节点的资源占用,保证中心状态的节点具备该网络中最优的性能,提高SDN控制器网络的处理效率和可靠性。Through this method, the reselection of the SDN controller node in the central state can be performed whenever a block is generated or stored, so as to fully consider the resource occupation of the block chain node by the generation and storage of the block, ensuring that The nodes in the central state have the best performance in the network, which improves the processing efficiency and reliability of the SDN controller network.
本公开的SDN控制器网络的交互方法的一些实施例的信令交互图如图3所示。图中只示出了其中两个节点,其中一个在步骤301中被确定为中心状态的节点,仅以中心状态的SDN控制器节点和一个非中心状态的SDN控制器节点之间的交互进行示意。A signaling interaction diagram of some embodiments of the SDN controller network interaction method of the present disclosure is shown in FIG. 3 . Only two of the nodes are shown in the figure, and one of them is determined as the node in the central state in step 301, which is only illustrated by the interaction between the SDN controller node in the central state and the SDN controller node in the non-central state. .
在步骤301中,SDN控制器节点31根据SDN控制器网络中各个SDN控制器节点的可用资源量,确定中心状态的SDN控制器节点为32。SDN控制器节点32根据相同的数据,会确定自身为中心状态的SDN控制器节点。In step 301, the SDN controller node 31 determines that the SDN controller node in the central state is 32 according to the available resources of each SDN controller node in the SDN controller network. According to the same data, the SDN controller node 32 will determine itself as the SDN controller node in the central state.
在一些实施例中,各个SDN控制器节点可以扫描区块链中的各个SDN控制器, 获得各个节点的资源状态。In some embodiments, each SDN controller node may scan each SDN controller in the blockchain to obtain the resource status of each node.
在步骤302中,当SDN控制器节点31的自身资源发生变化时,生成资源变化信息。In step 302, when the own resources of the SDN controller node 31 change, resource change information is generated.
在步骤303中,SDN控制器节点31将自身的资源变化信息发送给中心状态的SDN控制器节点32。In step 303, the SDN controller node 31 sends its own resource change information to the SDN controller node 32 in the central state.
在步骤304中,SDN控制器节点32接收资源变化信息,对其进行验证。若验证通过,则存储备用,并开始计时。In step 304, the SDN controller node 32 receives the resource change information and verifies it. If the verification is passed, it will be stored for backup and start timing.
在步骤305中,当计时到预定时长时,SDN控制器节点32将在计时过程中存储备用的信息生成区块,认证后存储。In step 305, when the timing reaches a predetermined time period, the SDN controller node 32 will store the spare information generation block during the timing process, and store it after authentication.
在步骤306中,SDN控制器节点32将生成的区块上链,以便其他SDN控制器节点获取。In step 306, the SDN controller node 32 uploads the generated block to the chain so that other SDN controller nodes can obtain it.
在步骤307中,SDN控制器节点31对获取的区块进行认证,若认证通过,则存储区块。In step 307, the SDN controller node 31 authenticates the acquired block, and stores the block if the authentication is passed.
在步骤308中,SDN控制器节点31和SDN控制器节点32重新基于当前的各个节点的资源量,确定中心状态的SDN控制器节点。In step 308, the SDN controller node 31 and the SDN controller node 32 re-determine the SDN controller node in the central state based on the current resource amount of each node.
通过这样的方法,区块链上的各个SDN控制器之间建立起了一种协同机制,可完成负载均衡等业务调度和配置管理等工作,而无需单独构建中心业务控制平台,实现了去中心化的协调管控和交互,避免单节点的性能局限性对网络整体性能造成影响,提高了SDN控制器网络的可靠性和鲁棒性。Through this method, a collaborative mechanism is established between the various SDN controllers on the blockchain, which can complete tasks such as load balancing and other business scheduling and configuration management without the need to build a central business control platform separately, realizing decentralization. Coordinated control and interaction, avoid the impact of the performance limitations of a single node on the overall performance of the network, and improve the reliability and robustness of the SDN controller network.
在一些实施例中,上述步骤201中,每次确定中心状态的SDN控制器节点的一些实施例的流程图如图4所示。In some embodiments, in the above step 201, the flowchart of some embodiments of the SDN controller node that determines the central state each time is shown in FIG. 4 .
在步骤401中,SDN控制域中的网络设备会向SDN控制器发送packet_in数据包,同时SDN控制器通过全域视图计算路由、向网络设备下发流表供网络设备安装,此外控制器与网络设备之间还存在”port-status”和”flow-removed”等交互消息,这些操作会占用控制器的链路带宽、CPU、内存以及存储等一系列资源。根据各个SDN控制器节点的每个种类的存量资源量和可用资源量,获取对应种类的已用资源量,确定对应种类的资源消耗比例。In step 401, the network device in the SDN control domain will send the packet_in data packet to the SDN controller. At the same time, the SDN controller calculates the route through the global view and sends the flow table to the network device for installation by the network device. In addition, the controller and the network device There are also interactive messages such as "port-status" and "flow-removed". These operations will occupy a series of resources such as link bandwidth, CPU, memory, and storage of the controller. According to the stock resource amount and available resource amount of each type of each SDN controller node, the used resource amount of the corresponding type is obtained, and the resource consumption ratio of the corresponding type is determined.
在一些实施例中,针对每个SDN控制器节点,可以先根据构成SDN控制器节点的各个虚拟机和虚拟机之间链路的资源量,获取对应的SDN控制器节点的资源量,其中,资源量分为存量资源量和可用资源量。In some embodiments, for each SDN controller node, the resource amount of the corresponding SDN controller node may be obtained according to the resource amount of each virtual machine and the link between the virtual machines constituting the SDN controller node, wherein, Resources are divided into stock resources and available resources.
SDN控制器资源数据模型包括3部分:The SDN controller resource data model includes three parts:
1)SDN控制域ID1) SDN control domain ID
DOM_ID用于标识该SDN控制域的ID号;DOM_ID is used to identify the ID number of the SDN control domain;
2)SDN控制器存量资源2) SDN controller stock resources
R是存量资源的集合,也即控制器已用和可用资源的总和,包括C(计算资源)、S(存储资源)、M(内存资源)以及N(网络资源)等等。目前SDN控制器节点一般是基于虚拟化设施部署,单个SDN控制器节点由一个或多个虚拟机构成。V i为单个虚拟机的计算资源量;L i为单个虚拟机的存储资源量;W i为单个虚拟机的内存资源量;D i为虚拟机之间的单条链路的网络资源量。 R is the set of stock resources, that is, the sum of the used and available resources of the controller, including C (computing resources), S (storage resources), M (memory resources), and N (network resources). Currently, SDN controller nodes are generally deployed based on virtualized facilities, and a single SDN controller node is composed of one or more virtual machines. Vi is the amount of computing resources of a single virtual machine; Li is the amount of storage resources of a single virtual machine; Wi is the amount of memory resources of a single virtual machine; D i is the amount of network resources of a single link between virtual machines .
Figure PCTCN2021128586-appb-000001
Figure PCTCN2021128586-appb-000001
Figure PCTCN2021128586-appb-000002
Figure PCTCN2021128586-appb-000002
其中,C j、S j、M j和N j分别为SDN控制器节点j的计算资源量、存储资源量、内存资源量和网络资源量,P为构成SDN控制器节点j的虚拟机数量,Q为构成SDN控制器节点j的虚拟机间链路数量;V ij为SDN控制器节点j中虚拟机i的计算资源量;L ij为SDN控制器节点j中虚拟机i的存储资源量;W ij为SDN控制器节点j中虚拟机i的内存资源量;D ij为SDN控制器节点j中链路i的网络资源量。 Among them, C j , S j , M j and N j are the computing resources, storage resources, memory resources and network resources of the SDN controller node j, respectively, P is the number of virtual machines constituting the SDN controller node j, Q is the number of links between virtual machines constituting the SDN controller node j; V ij is the amount of computing resources of the virtual machine i in the SDN controller node j; L ij is the amount of storage resources of the virtual machine i in the SDN controller node j; W ij is the memory resource amount of virtual machine i in SDN controller node j; D ij is the network resource amount of link i in SDN controller node j.
3)SDN控制器的可用资源3) Available resources of SDN controller
SDN控制器的可用资源即当前处于未使用状态的剩余资源,包括虚拟机的剩余计算资源量△C、剩余存储资源量△S和剩余内存资源量△M,以及剩余链路的网络资源量△N四种类型。The available resources of the SDN controller are the remaining resources that are currently not in use, including the remaining computing resources △C of the virtual machine, the remaining storage resources △S and the remaining memory resources △M, and the network resources of the remaining links △ Four types of N.
Figure PCTCN2021128586-appb-000003
Figure PCTCN2021128586-appb-000003
Figure PCTCN2021128586-appb-000004
Figure PCTCN2021128586-appb-000004
其中,ΔC j、ΔS j、ΔM j和ΔN j分别为SDN控制器节点j剩余可用的计算资源量、存储资源量、内存资源量和网络资源量。△V ij为SDN控制器节点j中虚拟机i的剩余的可用计算资源量;△L ij为SDN控制器节点j中虚拟机i的剩余的可用存储资 源量;△W ij为SDN控制器节点j中虚拟机i的剩余的可用内存资源量;△D ij为SDN控制器节点j中链路i的剩余的可用网络资源量。 Among them, ΔC j , ΔS j , ΔM j and ΔN j are the remaining available computing resources, storage resources, memory resources and network resources of the SDN controller node j, respectively. ΔV ij is the remaining available computing resources of virtual machine i in SDN controller node j; ΔL ij is the remaining available storage resources of virtual machine i in SDN controller node j; ΔW ij is SDN controller node The remaining available memory resources of virtual machine i in j; ΔD ij is the remaining available network resources of link i in SDN controller node j.
进一步的,基于每个SDN控制器的存量资源量和可用资源量,可以获得SDN控制器网络的各类存量资源量和可用资源量,其中:Further, based on the stock resources and available resources of each SDN controller, various stock resources and available resources of the SDN controller network can be obtained, where:
Figure PCTCN2021128586-appb-000005
Figure PCTCN2021128586-appb-000005
Figure PCTCN2021128586-appb-000006
Figure PCTCN2021128586-appb-000006
Figure PCTCN2021128586-appb-000007
Figure PCTCN2021128586-appb-000007
Figure PCTCN2021128586-appb-000008
Figure PCTCN2021128586-appb-000008
各类资源在整体资源中的消耗比率,计算公式如下:The consumption ratio of various resources in the overall resource is calculated as follows:
Figure PCTCN2021128586-appb-000009
Figure PCTCN2021128586-appb-000009
Figure PCTCN2021128586-appb-000010
Figure PCTCN2021128586-appb-000010
其中,α 1~α 4分别为计算资源量、存储资源量、内存资源量和网络资源量的消耗比例。 Among them, α 1 to α 4 are the consumption ratios of computing resources, storage resources, memory resources, and network resources, respectively.
在步骤402中,根据每个种类的资源消耗比例在所有种类的资源消耗比例中所占的比例,确定对应种类的资源量的权重。In step 402, the weight of the resource amount of the corresponding type is determined according to the ratio of the resource consumption ratio of each type to the resource consumption ratio of all types.
在一些实施例中,基于公式In some embodiments, based on the formula
Figure PCTCN2021128586-appb-000011
Figure PCTCN2021128586-appb-000011
Figure PCTCN2021128586-appb-000012
Figure PCTCN2021128586-appb-000012
分别获得计算资源量、存储资源量、内存资源量和网络资源量的权重β 1、β 2、β 3、β 4The weights β 1 , β 2 , β 3 , and β 4 of computing resources, storage resources, memory resources and network resources are obtained respectively.
在步骤403中,针对每个SDN控制器节点,根据各个种类的可用资源量和对应种类的资源量的权重确定加权和,获取对应SDN控制器节点的可用资源量评估值。In step 403, for each SDN controller node, a weighted sum is determined according to the available resource amount of each type and the weight of the resource amount of the corresponding type, and an evaluation value of the available resource amount of the corresponding SDN controller node is obtained.
在一些实施例中,SDN控制器节点j的可用资源量评估值ΔR j可以基于如下公式获取: In some embodiments, the available resource evaluation value ΔR j of the SDN controller node j can be obtained based on the following formula:
ΔR j=β 1×ΔC j2×ΔS j3×ΔM j4×ΔN j ΔR j1 ×ΔC j2 ×ΔS j3 ×ΔM j4 ×ΔN j
SDN控制器节点j的存量资源量评估值ΔR j可以基于如下公式获取: The stock resource evaluation value ΔR j of the SDN controller node j can be obtained based on the following formula:
R j=β 1×C j2×S j3×M j4×N j R j1 ×C j2 ×S j3 ×M j4 ×N j
通过这样的方法,基于各个节点已有的各种资源的消耗量确定不同种类资源的权重,进而在确定可用资源量评估值时能够基于该权重综合考虑,提高剩余资源量评估的合理性,优化中心状态的SDN控制器节点选择的准确度,进一步提高SDN控制器网络的性能和可靠性。Through such a method, the weights of different types of resources are determined based on the consumption of various resources existing at each node, and then the weights can be comprehensively considered when determining the available resource evaluation value, so as to improve the rationality of the remaining resource evaluation and optimize the The accuracy of the selection of SDN controller nodes in the central state further improves the performance and reliability of the SDN controller network.
本公开的SDN控制器网络的一些实施例的示意图如图5所示。SDN控制器网络包括SDN控制器节点51~5N和节点间的链路50,其中,N为SDN控制器节点数量。A schematic diagram of some embodiments of the SDN controller network of the present disclosure is shown in FIG. 5 . The SDN controller network includes SDN controller nodes 51-5N and links 50 between the nodes, where N is the number of SDN controller nodes.
SDN控制器节点的一些实施例的示意图如图6所示。A schematic diagram of some embodiments of an SDN controller node is shown in FIG. 6 .
区块生成单元601能够在处于中心状态的情况下,根据采集的信息生成区块,并将区块上链,其中,中心状态的SDN控制器节点为根据SDN控制器网络中SDN控制器节点的可用资源量确定。The block generating unit 601 can generate a block according to the collected information under the condition of being in the center state, and upload the block to the chain, wherein the SDN controller node in the center state is based on the SDN controller node in the SDN controller network. The amount of available resources is determined.
区块存储单元602能够在处于中心状态的情况下,存储自身产生的区块;在非处于中心状态的情况下,获取处于中心状态的控制器节点发布的区块,并存储。When the block storage unit 602 is in the central state, it can store the blocks generated by itself; when it is not in the central state, obtain and store the blocks issued by the controller node in the central state.
中心状态节点确定单元603能够在区块存储单元存储区块后,根据SDN控制器网络中各个SDN控制器节点的可用资源量,重新确定中心状态的SDN控制器节点。The central state node determining unit 603 can re-determine the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network after the block storage unit stores the block.
这样的SDN控制器网络采用区块链网络的形式进行信息管理,提高了分布式SDN控制器的可靠性;通过动态的选取中心状态的节点的方式,在使用区块链网络的机制进行信息存储的同时,也提高了控制器之间的协同操作能力,中心状态的控制器节点负责区块的生成和上链,其他状态的控制器接受中心状态的控制器节点生产的区块,降低网络中的区块数量,也降低控制器节点的处理压力,提高网络的鲁棒性。Such SDN controller network adopts the form of blockchain network for information management, which improves the reliability of distributed SDN controllers; by dynamically selecting nodes in the central state, information storage is performed using the mechanism of blockchain network. At the same time, it also improves the cooperative operation ability between controllers. The controller node in the central state is responsible for the generation and uploading of blocks, and the controllers in other states accept the blocks produced by the controller node in the central state, reducing the number of blocks in the network. It also reduces the processing pressure of the controller node and improves the robustness of the network.
在一些实施例中,中心状态节点确定单元603还能够在网络初始构建完成、开始运转时,根据SDN控制器网络中各个SDN控制器节点的可用资源量,确定初始的中心状态的SDN控制器节点,以保证网络的自动循环运转。In some embodiments, the central state node determining unit 603 can also determine the initial central state SDN controller node according to the available resources of each SDN controller node in the SDN controller network when the initial network construction is completed and the operation starts. , to ensure the automatic cycle operation of the network.
在一些实施例中,如图6中所示,SDN控制器网络还可以包括资源更新单元604和验证存储单元605。In some embodiments, as shown in FIG. 6 , the SDN controller network may also include a resource update unit 604 and a verification storage unit 605 .
资源更新单元604能够在SDN控制器节点处于非中心状态的情况下,若自身资源发生变化,则将资源变化信息发送给中心状态的SDN控制器节点。The resource updating unit 604 can send resource change information to the SDN controller node in the central state if its own resources change when the SDN controller node is in the non-central state.
验证存储单元605能够在SDN控制器节点处于中心状态的情况下,若对资源变 化信息验证通过,则存储资源变化信息,并提供给区块生成单元,以便区块生成单元在生成区块时将资源变化信息作为采集的信息,或作为采集的信息的一部分。The verification storage unit 605 can store the resource change information when the SDN controller node is in the central state, if the verification of the resource change information is passed, and provide the resource change information to the block generation unit, so that the block generation unit will store the resource change information when generating the block. Resource change information as collected information, or as part of collected information.
这样的SDN控制器网络中,各个非中心状态的SDN控制器节点能够将自身产生的、采集的信息发送给中心状态的SDN控制器节点,利用其生成区块和上链的能力实现数据存储,避免数据损失,进一步提高了SDN控制器网络的可靠性。In such an SDN controller network, each SDN controller node in a non-central state can send the information generated and collected by itself to the SDN controller node in the central state, and use its ability to generate blocks and upload the chain to realize data storage. Data loss is avoided and the reliability of the SDN controller network is further improved.
本公开SDN控制器网络的各个节点的一个实施例的结构示意图如图7所示。SDN控制器网络中每个节点包括存储器701和处理器702。其中:存储器701可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储上文中SDN控制器网络的交互方法的对应实施例中的指令。处理器702耦接至存储器701,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器702用于执行存储器中存储的指令,能够提高分布式SDN控制器的可靠性,降低控制器节点的处理压力,提高网络的鲁棒性。A schematic structural diagram of an embodiment of each node of the SDN controller network of the present disclosure is shown in FIG. 7 . Each node in the SDN controller network includes a memory 701 and a processor 702 . Wherein: the memory 701 may be a magnetic disk, a flash memory or any other non-volatile storage medium. The memory is used to store the instructions in the above-mentioned corresponding embodiments of the interaction method of the SDN controller network. The processor 702 is coupled to the memory 701 and may be implemented as one or more integrated circuits, such as a microprocessor or microcontroller. The processor 702 is configured to execute the instructions stored in the memory, which can improve the reliability of the distributed SDN controller, reduce the processing pressure of the controller node, and improve the robustness of the network.
在一个实施例中,还可以如图8所示,SDN控制器网络的各个节点800包括存储器801和处理器802。处理器802通过BUS总线803耦合至存储器801。该SDN控制器网络的各个节点800还可以通过存储接口804连接至外部存储装置805以便调用外部数据,还可以通过网络接口806连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。In one embodiment, as shown in FIG. 8 , each node 800 of the SDN controller network includes a memory 801 and a processor 802 . Processor 802 is coupled to memory 801 through BUS 803 . Each node 800 of the SDN controller network can also be connected to an external storage device 805 through a storage interface 804 for recalling external data, and can also be connected to a network or another computer system (not shown) through a network interface 806 . It will not be described in detail here.
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够提高分布式SDN控制器的可靠性,降低控制器节点的处理压力,提高网络的鲁棒性。In this embodiment, the data instructions are stored in the memory, and the above instructions are processed by the processor, which can improve the reliability of the distributed SDN controller, reduce the processing pressure of the controller nodes, and improve the robustness of the network.
在另一个实施例中,一种非瞬时性计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现SDN控制器网络的交互方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。In another embodiment, a non-transitory computer-readable storage medium has computer program instructions stored thereon, and when the instructions are executed by a processor, implement the steps of the method in the corresponding embodiment of the method for interacting with the SDN controller network. As will be appreciated by one skilled in the art, embodiments of the present disclosure may be provided as a method, apparatus, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein .
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这 些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each flow and/or block in the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce Means for implementing the functions specified in a flow or flow of a flowchart and/or a block or blocks of a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions The apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams.
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。So far, the present disclosure has been described in detail. Some details that are well known in the art are not described in order to avoid obscuring the concept of the present disclosure. Those skilled in the art can fully understand how to implement the technical solutions disclosed herein based on the above description.
可能以许多方式来实现本公开的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。The methods and apparatus of the present disclosure may be implemented in many ways. For example, the methods and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless specifically stated otherwise. Furthermore, in some embodiments, the present disclosure can also be implemented as programs recorded in a recording medium, the programs including machine-readable instructions for implementing methods according to the present disclosure. Thus, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.
最后应当说明的是:以上实施例仅用以说明本公开的技术方案而非对其限制;尽管参照较佳实施例对本公开进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本公开的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本公开技术方案的精神,其均应涵盖在本公开请求保护的技术方案范围当中。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present disclosure and not to limit them; although the present disclosure has been described in detail with reference to the preferred embodiments, those of ordinary skill in the art should understand: The disclosed specific embodiments are modified or some technical features are equivalently replaced; without departing from the spirit of the technical solutions of the present disclosure, all of them should be included in the scope of the technical solutions claimed in the present disclosure.

Claims (12)

  1. 一种软件定义网络控制器网络的交互方法,包括:An interaction method for a software-defined network controller network, comprising:
    软件定义网络SDN控制器网络中的中心状态的SDN控制器节点根据采集的信息生成区块,并将区块上链,其中,所述SDN控制器网络为区块链网络,所述中心状态的SDN控制器节点为根据所述SDN控制器网络中SDN控制器节点的可用资源量确定;The SDN controller node in the central state in the software-defined network SDN controller network generates blocks according to the collected information, and uploads the blocks to the chain, wherein the SDN controller network is a blockchain network, and the central state of the SDN controller network is a blockchain network. The SDN controller node is determined according to the amount of available resources of the SDN controller node in the SDN controller network;
    SDN控制器网络中的非中心状态的SDN控制器节点获取所述区块并存储;The SDN controller node in the non-central state in the SDN controller network acquires the block and stores it;
    SDN控制器网络中的各个SDN控制器节点,根据所述SDN控制器网络中各个SDN控制器节点的可用资源量,重新确定中心状态的SDN控制器节点。Each SDN controller node in the SDN controller network re-determines the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network.
  2. 根据权利要求1所述的软件定义网络控制器网络的交互方法,还包括:The interaction method for a software-defined network controller network according to claim 1, further comprising:
    SDN控制器网络中各个非中心状态的SDN控制器节点在自身资源发生变化的情况下,将资源变化信息发送给中心状态的SDN控制器节点;Each non-central state SDN controller node in the SDN controller network sends resource change information to the central state SDN controller node when its own resources change;
    所述中心状态的SDN控制器节点在对所述资源变化信息验证通过的情况下,存储所述资源变化信息,并在生成区块时将所述资源变化信息作为采集的信息或作为采集的信息的一部分。The SDN controller node in the central state stores the resource change information in the case of passing the verification of the resource change information, and uses the resource change information as the collected information or as the collected information when generating a block. a part of.
  3. 根据权利要求1所述的软件定义网络控制器网络的交互方法,其中,所述中心状态的SDN控制器节点在成为中心状态后开始计时,或在采集到信息后开始计时;The interaction method of a software-defined network controller network according to claim 1, wherein the SDN controller node in the central state starts timing after becoming the central state, or starts timing after collecting information;
    当计时达到预定时长时,执行生成区块的操作。When the timer reaches a predetermined duration, the operation of generating a block is performed.
  4. 根据权利要求1所述的软件定义网络控制器网络的交互方法,还包括:The interaction method for a software-defined network controller network according to claim 1, further comprising:
    SDN控制器网络中的各个SDN控制器节点根据所述SDN控制器网络中各个SDN控制器节点的可用资源量,确定中心状态的SDN控制器节点。Each SDN controller node in the SDN controller network determines the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network.
  5. 根据权利要求1或4所述的软件定义网络控制器网络的交互方法,所述确定中心状态的SDN控制器节点包括:The interaction method for a software-defined network controller network according to claim 1 or 4, wherein the SDN controller node for determining the central state comprises:
    根据各个SDN控制器节点的存量资源量和可用资源量,获取每个SDN控制器节点的可用资源量评估值;Obtain the available resource evaluation value of each SDN controller node according to the stock resources and available resources of each SDN controller node;
    确定可用资源量评估值最高的所述SDN控制器节点,作为中心状态的SDN控制器节点。The SDN controller node with the highest available resource evaluation value is determined as the SDN controller node in the central state.
  6. 根据权利要求6所述的软件定义网络控制器网络的交互方法,其中,所述根据各个SDN控制器节点的存量资源量和可用资源量,获取每个SDN控制器节点的可用 资源量评估值包括:The method for interacting with a software-defined network controller network according to claim 6, wherein the obtaining an evaluation value of the available resource amount of each SDN controller node according to the stock resource amount and the available resource amount of each SDN controller node comprises: :
    根据各个SDN控制器节点的每个种类的存量资源量和可用资源量,获取对应种类的已用资源量,确定对应种类的资源消耗比例,其中,资源量的种类包括虚拟机的计算资源量、存储资源量和内存资源量,以及链路的网络资源量;According to the stock resources and available resources of each type of each SDN controller node, the used resources of the corresponding type are obtained, and the resource consumption ratio of the corresponding type is determined, wherein the types of resources include the computing resources of virtual machines, The amount of storage resources and memory resources, and the amount of network resources of the link;
    根据每个种类的所述资源消耗比例在所有种类的资源消耗比例中所占的比例,确定对应种类的资源量的权重,According to the proportion of the resource consumption ratio of each type in the resource consumption ratio of all types, the weight of the resource amount of the corresponding type is determined,
    针对每个SDN控制器节点,根据各个种类的可用资源量和对应种类的资源量的权重确定加权和,获取对应SDN控制器节点的可用资源量评估值。For each SDN controller node, a weighted sum is determined according to the available resource amount of each type and the weight of the resource amount of the corresponding type, and the evaluation value of the available resource amount of the corresponding SDN controller node is obtained.
  7. 根据权利要求6所述的软件定义网络控制器网络的交互方法,还包括:The interaction method for a software-defined network controller network according to claim 6, further comprising:
    针对每个SDN控制器节点,根据构成所述SDN控制器节点的各个虚拟机和虚拟机之间链路的资源量,获取对应的SDN控制器节点的资源量,其中,所述资源量分为存量资源量和可用资源量。For each SDN controller node, the resource amount of the corresponding SDN controller node is obtained according to the resource amount of each virtual machine and the link between the virtual machines constituting the SDN controller node, wherein the resource amount is divided into Stock and available resources.
  8. 一种软件定义网络控制器网络,包括:A software-defined network controller network comprising:
    多个SDN控制器节点和节点间的链路,构成区块链网络;Multiple SDN controller nodes and links between nodes form a blockchain network;
    SDN控制器节点包括:SDN controller nodes include:
    区块生成单元,被配置为在SDN控制器节点处于中心状态的情况下,根据采集的信息生成区块,并将区块上链,其中,所述中心状态的SDN控制器节点为根据所述SDN控制器网络中SDN控制器节点的可用资源量确定;The block generation unit is configured to generate a block according to the collected information when the SDN controller node is in a central state, and upload the block to the chain, wherein the SDN controller node in the central state is based on the The amount of available resources of the SDN controller node in the SDN controller network is determined;
    区块存储单元,被配置为在SDN控制器节点处于中心状态的情况下,存储自身产生的区块;在非处于中心状态的情况下,获取处于中心状态的控制器节点发布的所述区块,并存储;The block storage unit is configured to store the blocks generated by itself when the SDN controller node is in the central state; and obtain the blocks issued by the controller node in the central state when the SDN controller node is not in the central state , and store;
    中心状态节点确定单元,被配置为在所述区块存储单元存储区块后,根据所述SDN控制器网络中各个SDN控制器节点的可用资源量,重新确定中心状态的SDN控制器节点。The central state node determination unit is configured to re-determine the SDN controller node in the central state according to the available resources of each SDN controller node in the SDN controller network after the block storage unit stores the block.
  9. 根据权利要求8所述的软件定义网络控制器网络,其中,所述SDN控制器节点还包括:The software-defined network controller network of claim 8, wherein the SDN controller node further comprises:
    资源更新单元,被配置为在所述SDN控制器节点处于非中心状态的情况下,若自身资源发生变化,则将资源变化信息发送给中心状态的SDN控制器节点;A resource updating unit, configured to send resource change information to the SDN controller node in the central state if its own resources change when the SDN controller node is in a non-central state;
    验证存储单元,被配置为在所述SDN控制器节点处于中心状态的情况下,若对 所述资源变化信息验证通过,则存储所述资源变化信息,并提供给所述区块生成单元,以便所述区块生成单元在生成区块时将所述资源变化信息作为采集的信息或作为采集的信息的一部分。A verification storage unit, configured to store the resource change information if the SDN controller node is in the central state, if the verification of the resource change information is passed, and provide the resource change information to the block generation unit, so that The block generating unit takes the resource change information as the collected information or as a part of the collected information when generating the block.
  10. 根据权利要求8所述的软件定义网络控制器网络,其中,所述中心状态节点确定单元还被配置为:The software-defined network controller network of claim 8, wherein the central state node determination unit is further configured to:
    根据所述SDN控制器网络中各个SDN控制器节点的可用资源量,确定初始的中心状态的SDN控制器节点。According to the available resources of each SDN controller node in the SDN controller network, the SDN controller node in the initial central state is determined.
  11. 一种软件定义网络控制器网络,包括:A software-defined network controller network comprising:
    存储器;以及memory; and
    耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求1至7任一项所述的方法。A processor coupled to the memory, the processor configured to perform the method of any one of claims 1 to 7 based on instructions stored in the memory.
  12. 一种非瞬时性的计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现权利要求1至7任意一项所述的方法的步骤。A non-transitory computer-readable storage medium having computer program instructions stored thereon, the instructions, when executed by a processor, implement the steps of the method of any one of claims 1 to 7.
PCT/CN2021/128586 2021-03-30 2021-11-04 Software defined network controller network and interaction method therefor, and storage medium WO2022205905A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110339592.X 2021-03-30
CN202110339592.XA CN115150393A (en) 2021-03-30 2021-03-30 Software defined network controller network and its interaction method and storage medium

Publications (1)

Publication Number Publication Date
WO2022205905A1 true WO2022205905A1 (en) 2022-10-06

Family

ID=83404514

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/128586 WO2022205905A1 (en) 2021-03-30 2021-11-04 Software defined network controller network and interaction method therefor, and storage medium

Country Status (2)

Country Link
CN (1) CN115150393A (en)
WO (1) WO2022205905A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739927A (en) * 2018-12-12 2019-05-10 北京世纪互联宽带数据中心有限公司 Date storage method and its device, electronic equipment, computer-readable medium
CN110855508A (en) * 2019-12-02 2020-02-28 重庆邮电大学 Distributed SDN synchronization method based on block chain technology
CN111314174A (en) * 2020-02-11 2020-06-19 广州智乐物联网技术有限公司 Network dial testing method and device based on block chain and SDN edge computing network system
US20200374127A1 (en) * 2019-05-21 2020-11-26 The University Of Akron Blockchain-powered cloud management system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014179923A1 (en) * 2013-05-06 2014-11-13 华为技术有限公司 Network configuration method, device and system based on sdn
WO2014179920A1 (en) * 2013-05-06 2014-11-13 华为技术有限公司 Sdn-based network configuration method, apparatus and system
CN105515809A (en) * 2014-09-28 2016-04-20 中兴通讯股份有限公司 Software definition network realization method and main controller
US10277528B2 (en) * 2016-08-11 2019-04-30 Fujitsu Limited Resource management for distributed software defined network controller
US10523499B2 (en) * 2016-09-20 2019-12-31 Hewlett Packard Enterprise Development Lp Master controller selection in a software defined network
KR102132539B1 (en) * 2018-11-26 2020-07-09 한국과학기술원 System for secure software defined networking(sdn) based on block-chain and the method thereof
CN112235252B (en) * 2020-09-21 2023-02-07 西安电子科技大学 Block chain-based security identification method, security identification system and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739927A (en) * 2018-12-12 2019-05-10 北京世纪互联宽带数据中心有限公司 Date storage method and its device, electronic equipment, computer-readable medium
US20200374127A1 (en) * 2019-05-21 2020-11-26 The University Of Akron Blockchain-powered cloud management system
CN110855508A (en) * 2019-12-02 2020-02-28 重庆邮电大学 Distributed SDN synchronization method based on block chain technology
CN111314174A (en) * 2020-02-11 2020-06-19 广州智乐物联网技术有限公司 Network dial testing method and device based on block chain and SDN edge computing network system

Also Published As

Publication number Publication date
CN115150393A (en) 2022-10-04

Similar Documents

Publication Publication Date Title
US10924535B2 (en) Resource load balancing control method and cluster scheduler
Das et al. Distributed deep learning using synchronous stochastic gradient descent
US20200236012A1 (en) System and method for applying machine learning algorithms to compute health scores for workload scheduling
US11016673B2 (en) Optimizing serverless computing using a distributed computing framework
JP4781089B2 (en) Task assignment method and task assignment device
CN110348571A (en) A kind of neural network model training method, device, chip and system
CN110113387A (en) A kind of processing method based on distributed batch processing system, apparatus and system
CN109816116A (en) The optimization method and device of hyper parameter in machine learning model
CN114756383A (en) Distributed computing method, system, device and storage medium
CN102158417A (en) Method and device for optimizing multi-constraint quality of service (QoS) routing selection
CN106776395B (en) A kind of method for scheduling task and device of shared cluster
US11947996B2 (en) Execution of services concurrently
CN112416585B (en) Deep learning-oriented GPU resource management and intelligent scheduling method
JP6972796B2 (en) Software service execution equipment, systems, and methods
WO2021143590A1 (en) Distributed container image construction scheduling system and method
CN106354563A (en) Distributed computing system for 3D (three-dimensional reconstruction) and 3D reconstruction method
WO2016018352A1 (en) Platform configuration selection based on a degraded makespan
CN104850394A (en) Management method of distributed application program and distributed system
CN108390771A (en) A kind of network topology method for reconstructing and device
AlOrbani et al. Load balancing and resource allocation in smart cities using reinforcement learning
WO2022062648A1 (en) Automatic driving simulation task scheduling method and apparatus, device, and readable medium
WO2022205905A1 (en) Software defined network controller network and interaction method therefor, and storage medium
JP2011192049A (en) Virtual machine system, automatic migration method, and automatic migration program
CN116663639B (en) Gradient data synchronization method, system, device and medium
CN109032775A (en) A kind of method, terminal device and storage medium obtaining Task Progress

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21934541

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21934541

Country of ref document: EP

Kind code of ref document: A1