WO2018129957A1 - Vbng system multi-virtual machine load sharing method and vbng system device - Google Patents
Vbng system multi-virtual machine load sharing method and vbng system device Download PDFInfo
- Publication number
- WO2018129957A1 WO2018129957A1 PCT/CN2017/103039 CN2017103039W WO2018129957A1 WO 2018129957 A1 WO2018129957 A1 WO 2018129957A1 CN 2017103039 W CN2017103039 W CN 2017103039W WO 2018129957 A1 WO2018129957 A1 WO 2018129957A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual machine
- online
- user
- users
- load sharing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Definitions
- the present disclosure relates to the field of data communication technologies, and in particular, to a multi-virtual machine load sharing method and a vBNG system device in a virtual broadband network gateway (vBNG) system.
- vBNG virtual broadband network gateway
- the forwarding plane and the control plane are implemented on the same router, which is easily subject to the hardware CPU processing capability and the configuration is not flexible enough.
- the basic principle is that it will require multiple device types and multiple physical devices.
- the network service function provided by the form can be used to provide service functions to the virtual device.
- the physical device can support multiple virtual devices and complete multiple types of services.
- the vBNG device is a virtual device obtained by virtualizing the function of the traditional broadband network gateway, and can be run in a hardware environment of a general-purpose server, and can implement related functions that can be implemented by the traditional broadband network gateway device, and can include a main control unit and multiple The forwarding unit, the main control unit and the forwarding unit respectively run in different virtual machines.
- the terminal on the user side can implement data interaction with the network side through the forwarding unit of the vBNG.
- Multiple virtual machines can run on a single physical host simultaneously, which are isolated from each other and share the underlying physical resources.
- Multi-virtual machine implementations often face the problem of sharing between multiple virtual machines.
- one solution is to share the capacity of the virtual machine, that is, when one virtual machine is fully loaded, it switches to another virtual machine, but This kind of solution will cause waste of virtual machine resources, and at the same time, because of the high load of a single virtual machine, it is easy to be unstable.
- Another common solution is to share the user directly, that is, the user directly shares the virtual machine.
- the virtual machine entries need to be updated at any time, and it is prone to instability.
- a method for implementing load sharing in a virtualized network is provided, which is applied to a controller of the virtualized network, and the service traffic distribution can be distributed on multiple virtualized access devices, thereby avoiding Performance bottlenecks;
- the above-mentioned technologies involve the sharing of multiple virtual machines, but they solve the problem of sharing traffic distribution, and do not involve the sharing of user online processing. Therefore, how to realize the sharing of multiple virtual machine loads in the vBNG system, especially the effective and reasonable sharing of user online processing, has become an urgent technical problem in the current data communication NFV technology.
- the disclosure of the present disclosure is to solve the problem that the multi-virtual machine user online processing load is insufficiently and reasonably shared in the related vBNG system.
- the technical problem is to provide a method for implementing virtual machine sharing in a vBNG system and a corresponding vBNG system device.
- the method is particularly suitable for a vBNG network for a user to go online, and can be based on the number of users processed on each virtual machine.
- the virtual machine for subsequent user message processing is adjusted in time to realize rational utilization of resources.
- a vBNG system multi-virtual machine load sharing method is used for a vBNG network of a user online class, wherein the method includes:
- Configure the online user capacity of each virtual machine including setting the maximum number of users for each virtual machine, dividing the total user capacity of a single virtual machine into a number of segment sizes, and setting the online users that can be accommodated by each segment capacity of a single virtual machine.
- the sum of the numbers is equal to the maximum number of users of the virtual machine, and the number of segmented capacities of each virtual machine is set to be equal;
- a new virtual machine is automatically established.
- the maximum number of users of each virtual machine is set equal, and the segment size is set to be equal.
- the online user capacity for configuring each virtual machine includes:
- the maximum number of users of each virtual machine is set to m, and the value of the load sharing parameter P of each virtual machine is initialized, where m and n are natural numbers, and the number of online users that can be accommodated in each of the segmented capacities is m. /n.
- each virtual machine shares the preference of the user to go online, and the steps include:
- the load sharing parameter P of the plurality of virtual machines is the maximum value
- the user is brought online in a virtual machine in which the ip address is the largest.
- a new virtual machine is automatically established, and the user is brought online in the new virtual machine.
- the embodiment of the present disclosure further provides a vBNG system device, including a virtual machine module, a management module, and a load sharing module, where the virtual machine module includes a virtual machine, where:
- the management module is configured to generate a flow table required for the user to share the forwarding, and record the number of online users of each virtual machine in the virtual machine module and update the flow table;
- the management module is further configured to configure an online user capacity of each of the virtual machines, including setting a maximum number of users of each virtual machine, dividing a total user capacity of the single virtual machine into a plurality of segment capacities, and setting a single virtual
- the sum of the number of online users that can be accommodated by each of the segment capacities of the machine is equal to the maximum number of users of the virtual machine, and each of the settings is set.
- the number of segmentation capacities of the virtual machine is equal;
- the management module is further configured to configure a user online policy, so that the online users in the single virtual machine fill the segment capacity of the virtual machine one by one, and keep the segments of each virtual machine filled by the online users.
- the difference in the number of capacities does not exceed 1;
- the load sharing module is configured to distribute user protocol packets to the virtual machine module according to the flow table and the user online policy.
- the management module is further configured to automatically establish a new virtual machine when the number of online users in each of the existing virtual machines reaches a maximum number of users.
- the maximum number of users of each virtual machine set by the management module is equal, and the segment size is equal in size.
- the configuring the online user capacity of each of the virtual machines includes: setting a maximum user value of each virtual machine to m, and initializing load sharing of each virtual machine.
- the value of the parameter P is n, where m and n are both natural numbers, and the number of online users that each of the segment sizes can accommodate is m/n.
- the step of configuring the user online policy of the management module includes: setting, in the flow table, a virtual machine whose current load sharing parameter P is the largest as an outbound interface of the user protocol packet, according to The flow table is used by the user to go online until the number of online users of the virtual machine reaches (n-P+1) ⁇ m/n. At this time, the value of the virtual machine load sharing parameter P is decreased by one; Perform the above steps until the load sharing parameter P of all virtual machines is 0 or all users are online.
- the load sharing parameter P of the plurality of virtual machines is the maximum value
- one virtual machine with the largest IP address is set as the flow table out interface, and the user is online on the virtual machine.
- a new virtual machine is automatically established in the virtual machine module, and the user is brought online in the new virtual machine.
- the embodiment of the present disclosure further provides a storage medium, configured to store a program code, where the program code is configured to perform the vBNG system multi-virtual machine load sharing method according to any one of the above.
- the method for implementing on-line user sharing between multiple virtual machines in the vBNG system provided by the foregoing embodiment, and the vBNG system device applying the method, can timely adjust the virtual machine processed by the subsequent user according to the number of processed users on each virtual machine.
- the technical solution has the beneficial effects that the number of users processed by multiple virtual machines in the virtual machine vBNG system can be effectively shared, and the virtual machines required for subsequent user message processing are adjusted in time to realize rational utilization of resources. It can effectively reduce the system instability caused by frequent switching of virtual machines.
- FIG. 1 is a basic flowchart of a multi-virtual machine load sharing method for a vBNG system according to an embodiment of the present disclosure
- FIG. 2 is a structural block diagram of a vBNG system device according to an embodiment of the present disclosure
- FIG. 3 is a flowchart of an execution step of implementing multi-virtual machine load sharing by a vBNG system device according to an embodiment of the present disclosure.
- 1-Routing device 2-Management module; 3-Load sharing module; 4-Virtual machine module; 41-Virtual machine.
- the present disclosure provides a method for user sharing between multiple virtual machines in a user-type vBNG network, and a vBNG system device that applies the method, and can timely adjust subsequent user packet processing according to the number of processed users on each virtual machine. Virtual machines to achieve rational use of resources.
- the vBNG system multi-virtual machine load sharing method of the embodiment of the present disclosure is used for a vBNG network of a user online class.
- the basic process includes:
- Step S1 receiving a user protocol message
- Step S2 configuring the online user capacity of each virtual machine, including setting the maximum number of users of each virtual machine separately, dividing the total user capacity of the single virtual machine into a plurality of segmented capacities, and setting each segment capacity of the single virtual machine to accommodate
- the sum of the number of online users is equal to the maximum number of users of the virtual machine, and the number of segmented capacities of each virtual machine is set to be equal;
- Step S3 configuring each virtual machine to share the user online, including sending the user protocol packet to the corresponding virtual machine for processing, and the online user in the single virtual machine fills the segment capacity of the virtual machine one by one, and maintains each virtual machine.
- the difference in the number of segment sizes filled by the online users is not more than one.
- step S4 when the number of online users in each existing virtual machine reaches the maximum number of users, a new virtual machine is automatically established.
- the user capacity of a single virtual machine in the vBNG system has a default value, and the initial value is the real capacity of the virtual machine.
- the user can configure the maximum number of users of a single virtual machine as needed, thereby setting each virtual machine.
- the maximum number of users of each virtual machine can be set equal, and the segmented capacity is set to be equal.
- the online user capacity configuration of the plurality of virtual machines is implemented by setting the maximum number of users of each virtual machine and the value of the load sharing parameter P.
- the maximum user value of each virtual machine is set to m.
- the load sharing parameter P indicates the priority of each virtual machine. If the value of the parameter is larger, the priority of the virtual machine sharing user online is higher, that is, the user takes precedence over the virtual machine.
- the virtual machine is online.
- the value of the load sharing parameter P for initializing each virtual machine is n, where m and n are both natural numbers, and the number of online users that can be accommodated in each of the segment sizes is m/n, and m is usually set to n and the initial virtual machine. An integer multiple of the quantity product.
- the step of setting the maximum number of users and initializing the load sharing parameter P, the step of configuring the virtual machine to share the user online in step S3 includes: putting the user online in a virtual machine with the largest load sharing parameter P as the preferred embodiment, If the load sharing parameter P of the plurality of virtual machines is the maximum value, the user is in the ip The user is sent to the virtual machine for processing according to the flow table, and the number of users of the virtual machine reaches (n-P+1) ⁇ m/n. Stop the user from going online on the virtual machine and reduce the value of the virtual machine load sharing parameter P by one. Repeat the above steps until the load sharing parameter P of all virtual machines is 0 or all users are online; when all virtual machines are loaded When the sharing parameter P is 0, a new virtual machine is automatically created, and the user is brought online in the new virtual machine.
- the initial number of virtual machines is 4, and the IP addresses of the first to fourth virtual machines are 190.168.1.2, 190.168.1.3, 190.168.1.4, and 190.168.1.5.
- the maximum number of users for each virtual machine is 1000, which is initialized.
- the load sharing parameter P of each virtual machine is 5, and the online user is started.
- the total user capacity of each virtual machine is divided into five segment capacities, and the number of online users that can be accommodated in each segment capacity is 1000/5, that is, 200; since four virtual machines are initially The P value is 5, the user starts to fill the first segment capacity from the fourth virtual machine with the largest virtual machine address, and when the online user reaches 200, the segment capacity of the fourth virtual machine is all Occupied, stop the online user in the fourth virtual machine, and reduce the current P value of the fourth virtual machine from 5 to 4. Similarly, the users 201 to 400 switch to the current P value and the largest IP address.
- the third virtual machine is online, the users of 401 to 600 switch to the second virtual machine, and the users of 601 to 800 switch to the first virtual machine, and the P values of all four virtual machines are reduced to four, and the virtual machines of each virtual machine are reduced to four.
- the first segmentation segment capacity is full, and the above steps are repeated.
- the online users occupy the second segment capacity in each virtual machine in turn; when the total number of online users reaches 4000, the load sharing parameters of all virtual machines are P. 0, explain Has reached the maximum capacity of existing virtual machines, automatic expansion started operations, creating a new virtual machine.
- the number of virtual machines that are initially configured is 2.
- the IP addresses of the first and second virtual machines are 190.168.1.2 and 190.168.1.3 respectively.
- the maximum number of users for each virtual machine is 32000.
- the load sharing parameters of each virtual machine are initialized. For 2, start online users.
- the total user capacity of each virtual machine is divided into two segment capacities, and the number of online users that can be accommodated in each segment capacity is 32000/2, that is, 16000;
- the P value is 2, the user starts to fill the first segment capacity from the second virtual machine with the largest virtual machine address, and when the online user reaches 16000, the segment capacity of the second virtual machine is all Occupied, stop the online user in the second virtual machine, and reduce the current P value of the second virtual machine from 2 to 1.
- the users of 1600-1 to 32000 are online after the first virtual machine is online.
- the P value of the machine is all 1, and the above steps are repeated, and the online users occupy the second segment capacity in each virtual machine in turn; and so on, when the total number of online users reaches 64000, the load sharing of the two virtual machines
- the parameter P is reduced to 0, indicating that the user has reached the upper limit of the capacity of the existing virtual machine, and automatically starts the expansion operation to create a new virtual machine.
- the maximum number of users for the virtual machine is initially set to 2000, and the initialization is negative.
- the load-bearing parameter P is 1, and the online user is started. Since there is only one virtual machine, which is the limit of the single virtual machine, the operation can be performed according to the processes of the first and second embodiments, and the user directly goes online on the virtual machine without switching.
- the number of users reaches 2000, the online user has reached the upper limit of the capacity of a single virtual machine, and automatically starts the expansion operation to create a new virtual machine.
- the vBNG system device provided by the embodiment of the present disclosure applies the vBNG system multi-virtual machine load sharing method, including the virtual machine module 4, the management module 2, and the load sharing module 3 running the virtual machine 41.
- the basic connection relationship between the vBNG system device and the routing device 1 is displayed, including:
- the load sharing module 3 is connected to the routing device 1, the management module 2, and the virtual machine module 4.
- the load sharing module 3 receives the user protocol packet from the routing device 1, and delivers the user protocol packet to the virtual network under the control of the management module 2.
- the machine module 4 satisfies the conditional virtual machine 41 for processing; exemplary:
- the management module 2 is configured to generate a flow table required for the user to share the forwarding, record the number of online users of each virtual machine, and update the flow table; and set the online user capacity of each virtual machine, including setting the maximum size of each virtual machine.
- the number of users is divided into the same number of segmented capacity of each virtual machine.
- the sum of the capacity of each segment of the same virtual machine is equal to the maximum number of users.
- It is also configured to configure the user online policy to make the user in the virtual machine module 4
- the virtual machine is online and occupies the segmentation capacity one by one, and the difference in the number of segmentation capacities that each virtual machine is completely occupied by the user does not exceed one;
- the load sharing module 3 is configured to distribute the user protocol packets to the corresponding virtual machines of the virtual machine module 4 according to the flow table provided by the management module 2 and the user online policy.
- the management module 2 is further configured to automatically create a new virtual machine when the number of online users in each existing virtual machine reaches the maximum number of users.
- the management module 2 may set each virtual machine to have an equal maximum number of users and segmentation capacity; an exemplary manner in which the management module 2 configures the online user capacity of the plurality of virtual machines is: The maximum user value is set to m, and the value of the load sharing parameter P for initializing each virtual machine is n, where m and n are natural numbers, and the number of online users that can be accommodated in each of the segment capacities is m/n; An example of configuring a user to go online is to set the virtual machine whose current sharing parameter P is the largest as the outbound interface of the flow table. The user is online on the virtual machine until the number of online users of the virtual machine reaches (n-P+1).
- the value of the virtual machine sharing parameter P is decreased by one; the step is repeated until all the virtual machine sharing parameters P are 0 or all users are online; when multiple virtual machines are located
- the shared parameter P is the maximum value, the virtual machine with the largest IP address is set as the outbound interface of the flow table, and the user is put on the virtual machine; when the shared parameter P of all the virtual machines is 0, the automatic virtual machine is automatically Virtual machine module 4 A new virtual machine is created in which the user is brought online in the new virtual machine.
- the process of implementing multi-virtual machine load sharing by using the vBNG system device is as follows: the user is deployed on the traditional router and the virtual device, and the parameters are set according to requirements, including the user capacity of each virtual machine (the most The number of large users, that is, the initial load sharing parameter P, after setting the parameters, starts the online user; the user sharing between the virtual machines is performed according to the steps shown in FIG. 3:
- the maximum number of users of each virtual machine in the management module is m;
- the management module initializes each virtual machine load sharing parameter P to n;
- the management module compares the load sharing parameter P, selects the virtual machine with the highest P value to write the flow table as the flow table outbound interface; if the P value is the same, compares the ip address, and selects the virtual machine with the ip address to write the flow table. As the flow table output interface;
- the management module records the number of online users of the current virtual machine, and compares the number of users with the standard value.
- the initial value of the standard value is m/n; if it is less than the standard value, it continues to go online on the virtual machine; Otherwise, the value of the load sharing parameter P of the virtual machine is decremented by 1, and the foregoing step 3 is repeated to select to switch to another virtual machine to continue the online user;
- step 4 the standard value in step 4 is increased by m/n, that is, the virtual machine is online.
- the number of users is compared with 2m/n; and so on, in each round, the user's online standard value is increased by m/n, and the load sharing parameter P value of each virtual machine is decremented by 1 until the load sharing parameter becomes 0;
- the vBNG system device can adjust the virtual machine processed by the subsequent user in time according to the number of processed users on each virtual machine to realize rational utilization of resources; the routing device can usually use a traditional router, and the management module, the load sharing module, and the Virtual machine modules can be virtualized and work as virtual machines on a server that acts as a hardware carrier.
- the multi-virtual machine load sharing method of the vBNG system provided by the embodiment of the present disclosure can effectively adjust the virtual machine processed by the subsequent user according to the number of processed users on each virtual machine, which can effectively multi-multi-virtual machine vBNG system
- the number of users processed by the virtual machine is shared, and the virtual machines required for subsequent user packet processing are adjusted in time to realize rational utilization of resources, which can effectively reduce system instability caused by frequent switching of virtual machines.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
本公开涉及数据通信技术领域,尤其涉及虚拟宽带网络网关(virtual Broadband Network Gateway,vBNG)系统中多虚拟机负荷分担方法及vBNG系统设备。The present disclosure relates to the field of data communication technologies, and in particular, to a multi-virtual machine load sharing method and a vBNG system device in a virtual broadband network gateway (vBNG) system.
对于传统的网络设备,其转发面与控制面是在同一个路由器上实现的,容易受制于硬件CPU处理能力,且配置不够灵活。针对传统网络设备的不足,提出了利用虚拟化技术实现由服务器来处理控制面的网络功能虚拟化(Network Functions Virtualization,NFV)技术,其基本原理是将原来需要多种设备类型、多个物理设备形态才能提供的网络业务功能,改为通过虚拟设备对外提供业务功能,可以实现一台物理设备支持多个虚拟设备,完成多种不同类型业务。For the traditional network equipment, the forwarding plane and the control plane are implemented on the same router, which is easily subject to the hardware CPU processing capability and the configuration is not flexible enough. Aiming at the shortcomings of traditional network equipment, this paper proposes the use of virtualization technology to realize the network function virtualization (NFV) technology that the server handles the control plane. The basic principle is that it will require multiple device types and multiple physical devices. The network service function provided by the form can be used to provide service functions to the virtual device. The physical device can support multiple virtual devices and complete multiple types of services.
NFV技术的一个重要应用,就是虚拟化宽带网络网关,即vBNG技术,其通常使用多个虚拟机(Virtual Machine,VM)来实现对用户协议报文的解析,由虚拟机构建用户表项后,再下发给传统网络设备,传统网络设备只需要负责对流量进行转发即可。vBNG设备是通过对传统宽带网络网关功能的虚拟化得到的虚拟设备,可以运行在通用服务器的硬件环境中,可实现传统宽带网络网关设备能够实现的相关功能,其可以包括一个主控单元和多个转发单元,主控单元和转发单元分别运行在不同的虚拟机中。处于用户侧的终端可以通过vBNG的转发单元实现与网络侧的数据交互。多个虚拟机可同时运行其在一台物理主机上,这些虚拟机相互隔离并共用底层物理资源。An important application of the NFV technology is to virtualize the broadband network gateway, that is, the vBNG technology, which usually uses multiple virtual machines (VMs) to parse the user protocol packets. After the virtual machine constructs the user entries, It is then sent to traditional network devices. Traditional network devices only need to be responsible for forwarding traffic. The vBNG device is a virtual device obtained by virtualizing the function of the traditional broadband network gateway, and can be run in a hardware environment of a general-purpose server, and can implement related functions that can be implemented by the traditional broadband network gateway device, and can include a main control unit and multiple The forwarding unit, the main control unit and the forwarding unit respectively run in different virtual machines. The terminal on the user side can implement data interaction with the network side through the forwarding unit of the vBNG. Multiple virtual machines can run on a single physical host simultaneously, which are isolated from each other and share the underlying physical resources.
多虚拟机实现方式通常会面临多虚拟机之间分担的问题,目前一种解决方案是按虚拟机的能力来进行分担,即一个虚拟机满负荷时,才切换到另外一个虚拟机,但这种方案会造成虚拟机资源浪费,同时因为单个虚拟机负荷过高容易出现不稳定等问题;另外一种通用的方案是直接按用户来进行分担,即用户直接分担到各虚拟机,这种方案需要上送虚拟机表项时刻更新,也容易出现不稳定的情况。Multi-virtual machine implementations often face the problem of sharing between multiple virtual machines. Currently, one solution is to share the capacity of the virtual machine, that is, when one virtual machine is fully loaded, it switches to another virtual machine, but This kind of solution will cause waste of virtual machine resources, and at the same time, because of the high load of a single virtual machine, it is easy to be unstable. Another common solution is to share the user directly, that is, the user directly shares the virtual machine. The virtual machine entries need to be updated at any time, and it is prone to instability.
中国专利文献CN105577723A中,提供一种虚拟化网络中实现负载分担的方法,应用在所述虚拟化网络的控制器上,可将业务流量分发分散在多个虚拟化接入设备上进行,避免了性能瓶颈;上述技术虽然涉及了多虚拟机之间分担的问题,但其解决的是业务流量分发的分担问题,不涉及用户上线处理的分担。因此,如何在vBNG系统中实现多虚拟机负荷的分担,特别是对用户上线处理实现有效合理的分担,成为当前数据通信的NFV技术中亟待解决的技术问题。In the Chinese patent document CN105577723A, a method for implementing load sharing in a virtualized network is provided, which is applied to a controller of the virtualized network, and the service traffic distribution can be distributed on multiple virtualized access devices, thereby avoiding Performance bottlenecks; the above-mentioned technologies involve the sharing of multiple virtual machines, but they solve the problem of sharing traffic distribution, and do not involve the sharing of user online processing. Therefore, how to realize the sharing of multiple virtual machine loads in the vBNG system, especially the effective and reasonable sharing of user online processing, has become an urgent technical problem in the current data communication NFV technology.
发明内容Summary of the invention
本公开要解决的是相关vBNG系统中多虚拟机用户上线处理负荷缺乏有效合理分担 的技术问题,提供一种vBNG系统中实现虚拟机之间分担的方法及相应的vBNG系统设备,所述方法特别适应用于用户上线类的vBNG网络,可以依据各虚拟机上已处理的用户数及时调整后续用户报文处理的虚拟机,实现资源的合理化利用。The disclosure of the present disclosure is to solve the problem that the multi-virtual machine user online processing load is insufficiently and reasonably shared in the related vBNG system. The technical problem is to provide a method for implementing virtual machine sharing in a vBNG system and a corresponding vBNG system device. The method is particularly suitable for a vBNG network for a user to go online, and can be based on the number of users processed on each virtual machine. The virtual machine for subsequent user message processing is adjusted in time to realize rational utilization of resources.
本公开实施例提供的一种vBNG系统多虚拟机负荷分担方法,包括:A multi-virtual machine load sharing method for a vBNG system provided by an embodiment of the present disclosure includes:
一种vBNG系统多虚拟机负荷分担方法,用于用户上线类的vBNG网络,其中,所述方法包括:A vBNG system multi-virtual machine load sharing method is used for a vBNG network of a user online class, wherein the method includes:
接收用户协议报文;Receiving user protocol packets;
配置各虚拟机的上线用户容量,包括分别设定各虚拟机的最大用户数,将单一虚拟机的用户总容量分割为若干分段容量,设置单一虚拟机的各分段容量可容纳的上线用户数量总和与该虚拟机的最大用户数相等,设置各虚拟机的分段容量个数相等;Configure the online user capacity of each virtual machine, including setting the maximum number of users for each virtual machine, dividing the total user capacity of a single virtual machine into a number of segment sizes, and setting the online users that can be accommodated by each segment capacity of a single virtual machine. The sum of the numbers is equal to the maximum number of users of the virtual machine, and the number of segmented capacities of each virtual machine is set to be equal;
配置各虚拟机分担用户上线,包括将所述用户协议报文送到相应虚拟机上处理,使单一虚拟机中的上线用户逐一填充该虚拟机的所述分段容量,保持各虚拟机中被所述上线用户填满的分段容量个数差不超过1。Configuring each virtual machine to share the user's online connection, including sending the user protocol packet to the corresponding virtual machine for processing, so that the online user in the single virtual machine fills the segment capacity of the virtual machine one by one, and keeps the virtual machine in the virtual machine. The difference in the number of segmented capacities filled by the online user does not exceed one.
优选的,当现有的各虚拟机中的上线用户数量均达到最大用户数时,自动建立新的虚拟机。Preferably, when the number of online users in each existing virtual machine reaches the maximum number of users, a new virtual machine is automatically established.
作为前述方法的优选,设置各虚拟机的最大用户数相等,同时设置所述分段容量大小相等。在一实施例中,优选的,所述配置各虚拟机的上线用户容量包括:As a preferred method of the foregoing method, the maximum number of users of each virtual machine is set equal, and the segment size is set to be equal. In an embodiment, the online user capacity for configuring each virtual machine includes:
将各虚拟机的最大用户数设定为m,初始化各虚拟机的负荷分担参数P的值为n,其中m、n均为自然数,每个所述分段容量可容纳的上线用户数为m/n。The maximum number of users of each virtual machine is set to m, and the value of the load sharing parameter P of each virtual machine is initialized, where m and n are natural numbers, and the number of online users that can be accommodated in each of the segmented capacities is m. /n.
在一实施例中,作为所述配置各虚拟机分担用户上线的优选,其步骤包括:In an embodiment, as a configuration, each virtual machine shares the preference of the user to go online, and the steps include:
在流表中将当前负荷分担参数P最大的一个虚拟机设置为用户协议报文的出接口,根据所述流表将所述用户协议报文送到该虚拟机上进行处理,该虚拟机的用户数量达到(n-P+1)·m/n时停止用户在该虚拟机上线,将该虚拟机负荷分担参数P的值减小1;重复执行该步骤直至全部虚拟机的负荷分担参数P为0或全部用户均已上线。Setting a virtual machine whose current load sharing parameter P is the largest in the flow table as an outgoing interface of the user protocol packet, and sending the user protocol packet to the virtual machine according to the flow table for processing, the virtual machine When the number of users reaches (n-P+1)·m/n, the user is stopped on the virtual machine, and the value of the virtual machine load sharing parameter P is decreased by one. This step is repeated until the load sharing parameter P of all virtual machines is repeated. 0 or all users are online.
作为上述选择虚拟机方式的优选,当多个虚拟机的所述负荷分担参数P同为最大值时,将用户在其中ip地址最大的一个虚拟机中上线。Preferably, when the load sharing parameter P of the plurality of virtual machines is the maximum value, the user is brought online in a virtual machine in which the ip address is the largest.
优选的,当全部虚拟机的负荷分担参数P为0时,自动建立新的虚拟机,将用户在新虚拟机中上线。Preferably, when the load sharing parameter P of all the virtual machines is 0, a new virtual machine is automatically established, and the user is brought online in the new virtual machine.
本公开实施例还提供了一种vBNG系统设备,包括虚拟机模块、管理模块和负荷分担模块,所述虚拟机模块包括虚拟机,其中:The embodiment of the present disclosure further provides a vBNG system device, including a virtual machine module, a management module, and a load sharing module, where the virtual machine module includes a virtual machine, where:
所述管理模块设置为生成用户分担转发所需的流表,以及记录所述虚拟机模块中各虚拟机的上线用户数并对流表进行更新;The management module is configured to generate a flow table required for the user to share the forwarding, and record the number of online users of each virtual machine in the virtual machine module and update the flow table;
所述管理模块还设置为配置各所述虚拟机的上线用户容量,包括分别设定各所述虚拟机的最大用户数,将单一虚拟机的用户总容量分割为若干分段容量,设置单一虚拟机的各所述分段容量可容纳的上线用户数量总和与该虚拟机的所述最大用户数相等,设置各所述 虚拟机的分段容量个数相等;The management module is further configured to configure an online user capacity of each of the virtual machines, including setting a maximum number of users of each virtual machine, dividing a total user capacity of the single virtual machine into a plurality of segment capacities, and setting a single virtual The sum of the number of online users that can be accommodated by each of the segment capacities of the machine is equal to the maximum number of users of the virtual machine, and each of the settings is set. The number of segmentation capacities of the virtual machine is equal;
所述管理模块还设置为配置用户上线策略,使单一虚拟机中的上线用户逐一填充该虚拟机的所述分段容量,并保持各所述虚拟机中被所述上线用户填满的分段容量的个数差不超过1;The management module is further configured to configure a user online policy, so that the online users in the single virtual machine fill the segment capacity of the virtual machine one by one, and keep the segments of each virtual machine filled by the online users. The difference in the number of capacities does not exceed 1;
所述负荷分担模块设置为根据所述流表和用户上线策略将用户协议报文分送至所述虚拟机模块。The load sharing module is configured to distribute user protocol packets to the virtual machine module according to the flow table and the user online policy.
优选的,所述管理模块还设置为在现有的各所述虚拟机中的上线用户数量均达到最大用户数时,自动建立新的虚拟机。Preferably, the management module is further configured to automatically establish a new virtual machine when the number of online users in each of the existing virtual machines reaches a maximum number of users.
作为前述技术方案的优选,所述管理模块设定的各所述虚拟机的最大用户数均相等,所述分段容量大小相等。在一实施例中,优选的,所述管理模块的所述配置各所述虚拟机的上线用户容量包括:将各所述虚拟机的最大用户数值设定为m,初始化各虚拟机的负荷分担参数P的值为n,其中m、n均为自然数,每个所述分段容量可容纳的上线用户数为m/n。Preferably, as described in the foregoing technical solution, the maximum number of users of each virtual machine set by the management module is equal, and the segment size is equal in size. In an embodiment, preferably, the configuring the online user capacity of each of the virtual machines includes: setting a maximum user value of each virtual machine to m, and initializing load sharing of each virtual machine. The value of the parameter P is n, where m and n are both natural numbers, and the number of online users that each of the segment sizes can accommodate is m/n.
在一实施例中,优选的,所述管理模块的所述配置用户上线策略的步骤包括:在流表中将当前负荷分担参数P最大的一个虚拟机设置为用户协议报文的出接口,根据所述流表将用户在该虚拟机上线直至该虚拟机的上线用户数量达到(n-P+1)·m/n为止,此时将该虚拟机负荷分担参数P的值减小1;重复执行上述步骤直至全部虚拟机的负荷分担参数P为0或全部用户均已上线。In an embodiment, the step of configuring the user online policy of the management module includes: setting, in the flow table, a virtual machine whose current load sharing parameter P is the largest as an outbound interface of the user protocol packet, according to The flow table is used by the user to go online until the number of online users of the virtual machine reaches (n-P+1)·m/n. At this time, the value of the virtual machine load sharing parameter P is decreased by one; Perform the above steps until the load sharing parameter P of all virtual machines is 0 or all users are online.
作为优选,当多个所述虚拟机的所述负荷分担参数P同为最大值时,将其中ip地址最大的一个虚拟机设置为流表出接口,将用户在该虚拟机上线。Preferably, when the load sharing parameter P of the plurality of virtual machines is the maximum value, one virtual machine with the largest IP address is set as the flow table out interface, and the user is online on the virtual machine.
作为优选,当全部所述虚拟机的负荷分担参数P为0时,自动在所述虚拟机模块中建立新的虚拟机,将用户在所述新的虚拟机中上线。Preferably, when the load sharing parameter P of all the virtual machines is 0, a new virtual machine is automatically established in the virtual machine module, and the user is brought online in the new virtual machine.
本公开实施例还提供了一种存储介质,设置为存储程序代码,所述程序代码设置为执行上述任一项所述的vBNG系统多虚拟机负荷分担方法。The embodiment of the present disclosure further provides a storage medium, configured to store a program code, where the program code is configured to perform the vBNG system multi-virtual machine load sharing method according to any one of the above.
前述实施例提供的vBNG系统中实现多虚拟机之间上线用户分担的方法及应用了该方法的vBNG系统设备,可依据各虚拟机上已处理的用户数,及时调整后续用户处理的虚拟机,其技术方案的有益效果为:可以有效的对多虚拟机vBNG系统中的多虚拟机处理的用户数进行分担,及时对后续用户报文处理所需的虚拟机进行调整,实现了资源的合理化利用;又可以有效减少因为频繁的切换虚拟机造成的系统不稳定问题。The method for implementing on-line user sharing between multiple virtual machines in the vBNG system provided by the foregoing embodiment, and the vBNG system device applying the method, can timely adjust the virtual machine processed by the subsequent user according to the number of processed users on each virtual machine. The technical solution has the beneficial effects that the number of users processed by multiple virtual machines in the virtual machine vBNG system can be effectively shared, and the virtual machines required for subsequent user message processing are adjusted in time to realize rational utilization of resources. It can effectively reduce the system instability caused by frequent switching of virtual machines.
图1为本公开实施例提供的vBNG系统多虚拟机负荷分担方法基本流程图;FIG. 1 is a basic flowchart of a multi-virtual machine load sharing method for a vBNG system according to an embodiment of the present disclosure;
图2为本公开实施例提供的vBNG系统设备的结构框图;2 is a structural block diagram of a vBNG system device according to an embodiment of the present disclosure;
图3为本公开实施例提供的vBNG系统设备实现多虚拟机负荷分担的执行步骤流程图。 FIG. 3 is a flowchart of an execution step of implementing multi-virtual machine load sharing by a vBNG system device according to an embodiment of the present disclosure.
主要元件符号说明:The main component symbol description:
1-路由设备;2-管理模块;3-负荷分担模块;4-虚拟机模块;41-虚拟机。1-Routing device; 2-Management module; 3-Load sharing module; 4-Virtual machine module; 41-Virtual machine.
为使本公开要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及示例性实施例进行详细描述。The technical problems, the technical solutions, and the advantages of the present invention will be more clearly described in conjunction with the accompanying drawings and exemplary embodiments.
本公开提供一种适用于用户上线类vBNG网络的多虚拟机间用户分担的方法以及应用该方法的vBNG系统设备,可以依据各虚拟机上已处理的用户数,及时调整后续用户报文处理的虚拟机,实现资源的合理化利用。The present disclosure provides a method for user sharing between multiple virtual machines in a user-type vBNG network, and a vBNG system device that applies the method, and can timely adjust subsequent user packet processing according to the number of processed users on each virtual machine. Virtual machines to achieve rational use of resources.
本公开实施例的vBNG系统多虚拟机负荷分担方法,用于用户上线类的vBNG网络,如图1所示,其基本流程包括:The vBNG system multi-virtual machine load sharing method of the embodiment of the present disclosure is used for a vBNG network of a user online class. As shown in FIG. 1 , the basic process includes:
步骤S1,接收用户协议报文;Step S1, receiving a user protocol message;
步骤S2,配置各虚拟机的上线用户容量,包括分别设定各虚拟机的最大用户数,将单一虚拟机的用户总容量分割为若干分段容量,设置单一虚拟机的各分段容量可容纳的上线用户数量总和与该虚拟机的最大用户数相等,设置各虚拟机的分段容量个数相等;Step S2, configuring the online user capacity of each virtual machine, including setting the maximum number of users of each virtual machine separately, dividing the total user capacity of the single virtual machine into a plurality of segmented capacities, and setting each segment capacity of the single virtual machine to accommodate The sum of the number of online users is equal to the maximum number of users of the virtual machine, and the number of segmented capacities of each virtual machine is set to be equal;
步骤S3,配置各虚拟机分担用户上线,包括将所述用户协议报文送到相应虚拟机上处理,单一虚拟机中的上线用户逐一填充该虚拟机的所述分段容量,保持各虚拟机中被所述上线用户填满的分段容量个数差不超过1。Step S3, configuring each virtual machine to share the user online, including sending the user protocol packet to the corresponding virtual machine for processing, and the online user in the single virtual machine fills the segment capacity of the virtual machine one by one, and maintains each virtual machine. The difference in the number of segment sizes filled by the online users is not more than one.
当虚拟机的上线用户容量全部用尽时,增加如下步骤以便将剩余用户继续上线:When the online user capacity of the virtual machine is completely exhausted, add the following steps to continue the online users:
步骤S4,当现有的各虚拟机中的上线用户数量均达到最大用户数时,自动建立新的虚拟机。In step S4, when the number of online users in each existing virtual machine reaches the maximum number of users, a new virtual machine is automatically established.
在上述基本流程的基础上,在一实施例中,技术方案如下:Based on the above basic process, in an embodiment, the technical solution is as follows:
上述步骤S2中,通常vBNG系统中单一虚拟机的用户容量存在默认值,其初始值即为该虚拟机的真实容量,用户可按照需要配置单一虚拟机的最大用户数,从而设定各虚拟机的用户总容量;为简化设置与执行过程,并使负荷分担更加均匀,可设置各虚拟机的最大用户数相等,同时设置所述分段容量大小相等。In the above step S2, the user capacity of a single virtual machine in the vBNG system has a default value, and the initial value is the real capacity of the virtual machine. The user can configure the maximum number of users of a single virtual machine as needed, thereby setting each virtual machine. In order to simplify the setting and execution process and make the load sharing more uniform, the maximum number of users of each virtual machine can be set equal, and the segmented capacity is set to be equal.
作为一个实施方式,通过设置各虚拟机的最大用户数和负荷分担参数P的值实现多个虚拟机的上线用户容量配置。将各虚拟机的最大用户数值设定为m;负荷分担参数P即表示各虚拟机的优先级,该参数值越大,则该虚拟机分担用户上线的优先级越高,即用户优先于该虚拟机上线。初始化各虚拟机的负荷分担参数P的值为n,其中m、n均为自然数,每个所述分段容量可容纳的上线用户数为m/n,通常设置m为n和初始的虚拟机数量乘积的整数倍。As an embodiment, the online user capacity configuration of the plurality of virtual machines is implemented by setting the maximum number of users of each virtual machine and the value of the load sharing parameter P. The maximum user value of each virtual machine is set to m. The load sharing parameter P indicates the priority of each virtual machine. If the value of the parameter is larger, the priority of the virtual machine sharing user online is higher, that is, the user takes precedence over the virtual machine. The virtual machine is online. The value of the load sharing parameter P for initializing each virtual machine is n, where m and n are both natural numbers, and the number of online users that can be accommodated in each of the segment sizes is m/n, and m is usually set to n and the initial virtual machine. An integer multiple of the quantity product.
在设置最大用户数和初始化负荷分担参数P的基础上,步骤S3配置各虚拟机分担用户上线的步骤包括:将用户在当前负荷分担参数P最大的一个虚拟机中上线,作为优选的实施方式,如果多个虚拟机的所述负荷分担参数P同为最大值时,将用户在其中ip地 址最大的一个虚拟机中上线;再根据所述流表将所述用户协议报文送到该虚拟机上进行处理,该虚拟机的用户数量达到(n-P+1)·m/n时停止用户在该虚拟机上线,将该虚拟机负荷分担参数P的值减小1;重复执行上述步骤直至全部虚拟机的负荷分担参数P为0或全部用户均已上线;当全部虚拟机的负荷分担参数P为0时,自动建立新的虚拟机,将用户在新虚拟机中上线。The step of setting the maximum number of users and initializing the load sharing parameter P, the step of configuring the virtual machine to share the user online in step S3 includes: putting the user online in a virtual machine with the largest load sharing parameter P as the preferred embodiment, If the load sharing parameter P of the plurality of virtual machines is the maximum value, the user is in the ip The user is sent to the virtual machine for processing according to the flow table, and the number of users of the virtual machine reaches (n-P+1)·m/n. Stop the user from going online on the virtual machine and reduce the value of the virtual machine load sharing parameter P by one. Repeat the above steps until the load sharing parameter P of all virtual machines is 0 or all users are online; when all virtual machines are loaded When the sharing parameter P is 0, a new virtual machine is automatically created, and the user is brought online in the new virtual machine.
以下通过几个实施例对不同的多虚拟机设置下分担用户上线的示例性流程进行说明。The following describes an exemplary flow of sharing user online in different multi-virtual machine settings through several embodiments.
实施例一Embodiment 1
初始配置的虚拟机数量为4,第一至第四虚拟机的ip地址依次为190.168.1.2、190.168.1.3、190.168.1.4和190.168.1.5;初始设置各虚拟机最大用户数均为1000,初始化各虚拟机的负荷分担参数P为5,开始上线用户。The initial number of virtual machines is 4, and the IP addresses of the first to fourth virtual machines are 190.168.1.2, 190.168.1.3, 190.168.1.4, and 190.168.1.5. The maximum number of users for each virtual machine is 1000, which is initialized. The load sharing parameter P of each virtual machine is 5, and the online user is started.
根据上述设置,相当于将各虚拟机的用户总容量分别分割为5个分段容量,且每个分段容量可容纳的上线用户数为1000/5,即200个;由于四个虚拟机初始的P值均为5,用户先从虚拟机地址最大的第四虚拟机上线,开始填充其第一个分段容量,当上线用户达到200时,第四虚拟机中的一个分段容量已全部占用,此时停止在第四虚拟机中继续上线用户,同时将第四虚拟机当前的P值由5减少为4;同理,201至400的用户切换至当前P值最大且ip地址最大的第三虚拟机上线,401至600的用户切换至第二虚拟机上线,601至800的用户切换至第一虚拟机上线,至此全部四个虚拟机的P值均减少为4,各虚拟机的第一割分段容量均已充满,以此类推重复上述步骤,上线用户依次占据各虚拟机中的第二个分段容量;当上线用户总数达到4000时,全部虚拟机的负荷分担参数P均为0,说明用户已到达现有虚拟机的容量上限,自动开始执行扩容操作,创建新的虚拟机。According to the above setting, the total user capacity of each virtual machine is divided into five segment capacities, and the number of online users that can be accommodated in each segment capacity is 1000/5, that is, 200; since four virtual machines are initially The P value is 5, the user starts to fill the first segment capacity from the fourth virtual machine with the largest virtual machine address, and when the online user reaches 200, the segment capacity of the fourth virtual machine is all Occupied, stop the online user in the fourth virtual machine, and reduce the current P value of the fourth virtual machine from 5 to 4. Similarly, the users 201 to 400 switch to the current P value and the largest IP address. The third virtual machine is online, the users of 401 to 600 switch to the second virtual machine, and the users of 601 to 800 switch to the first virtual machine, and the P values of all four virtual machines are reduced to four, and the virtual machines of each virtual machine are reduced to four. The first segmentation segment capacity is full, and the above steps are repeated. The online users occupy the second segment capacity in each virtual machine in turn; when the total number of online users reaches 4000, the load sharing parameters of all virtual machines are P. 0, explain Has reached the maximum capacity of existing virtual machines, automatic expansion started operations, creating a new virtual machine.
实施例二
初始配置的虚拟机数量为2,第一和第二虚拟机的ip地址分别为190.168.1.2和190.168.1.3;初始设置各虚拟机最大用户数均为32000,初始化各虚拟机的负荷分担参数P为2,开始上线用户。The number of virtual machines that are initially configured is 2. The IP addresses of the first and second virtual machines are 190.168.1.2 and 190.168.1.3 respectively. The maximum number of users for each virtual machine is 32000. The load sharing parameters of each virtual machine are initialized. For 2, start online users.
根据上述设置,相当于将各虚拟机的用户总容量分别分割为2个分段容量,且每个分段容量可容纳的上线用户数为32000/2,即16000个;由于两个虚拟机初始的P值均为2,用户先从虚拟机地址最大的第二虚拟机上线,开始填充其第一个分段容量,当上线用户达到16000时,第二虚拟机中的一个分段容量已全部占用,此时停止在第二虚拟机中继续上线用户,同时将第二虚拟机当前的P值由2减少为1;同理,16001至32000的用户在第一虚拟机上线后,两个虚拟机的P值均为1,依此类推重复上述步骤,上线用户依次占据各虚拟机中的第二个分段容量;以此类推,当上线用户总数达到64000时,两个虚拟机的负荷分担参数P均减为0,说明用户已到达现有虚拟机的容量上限,自动开始执行扩容操作,创建新的虚拟机。According to the above setting, the total user capacity of each virtual machine is divided into two segment capacities, and the number of online users that can be accommodated in each segment capacity is 32000/2, that is, 16000; The P value is 2, the user starts to fill the first segment capacity from the second virtual machine with the largest virtual machine address, and when the online user reaches 16000, the segment capacity of the second virtual machine is all Occupied, stop the online user in the second virtual machine, and reduce the current P value of the second virtual machine from 2 to 1. Similarly, the users of 1600-1 to 32000 are online after the first virtual machine is online. The P value of the machine is all 1, and the above steps are repeated, and the online users occupy the second segment capacity in each virtual machine in turn; and so on, when the total number of online users reaches 64000, the load sharing of the two virtual machines The parameter P is reduced to 0, indicating that the user has reached the upper limit of the capacity of the existing virtual machine, and automatically starts the expansion operation to create a new virtual machine.
实施例三
当初始配置的虚拟机数量为1时,初始设置该虚拟机最大用户数为2000,初始化负 荷分担参数P为1,开始上线用户;由于只有一个虚拟机,即为单虚拟机的极限情况,同样可按照实施例一、二的流程执行操作,用户直接在该虚拟机上线,无需进行切换,当用户数达到2000时,上线用户已到达单虚拟机的容量上限,自动开始执行扩容操作,创建新的虚拟机。When the number of virtual machines that are initially configured is 1, the maximum number of users for the virtual machine is initially set to 2000, and the initialization is negative. The load-bearing parameter P is 1, and the online user is started. Since there is only one virtual machine, which is the limit of the single virtual machine, the operation can be performed according to the processes of the first and second embodiments, and the user directly goes online on the virtual machine without switching. When the number of users reaches 2000, the online user has reached the upper limit of the capacity of a single virtual machine, and automatically starts the expansion operation to create a new virtual machine.
本领域普通技术人员应可以理解,实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一作为服务器的计算机的可读取存储介质中。It should be understood by those skilled in the art that all or part of the steps of implementing the foregoing method embodiments may be performed by hardware related to program instructions, which may be stored in a readable storage medium of a computer as a server.
本公开实施例提供的vBNG系统设备,应用了上述vBNG系统多虚拟机负荷分担方法,包括运行有虚拟机41的虚拟机模块4、管理模块2和负荷分担模块3。The vBNG system device provided by the embodiment of the present disclosure applies the vBNG system multi-virtual machine load sharing method, including the virtual machine module 4, the
本实施例中,如图2所示,显示了所述vBNG系统设备与路由设备1连接时的基本连接关系,包括:In this embodiment, as shown in FIG. 2, the basic connection relationship between the vBNG system device and the routing device 1 is displayed, including:
负荷分担模块3与路由设备1、管理模块2和虚拟机模块4连接;负荷分担模块3接收来自路由设备1的用户协议报文,并在管理模块2控制下,下发用户协议报文至虚拟机模块4满足条件的虚拟机41进行处理;示例性的的:The
管理模块2设置为生成用户分担转发所需的流表,记录各虚拟机的上线用户数,并对流表进行更新;还设置为配置各虚拟机的上线用户容量,包括设定各虚拟机的最大用户数,将各虚拟机的用户总容量分割为相同个数的分段容量,同一虚拟机各分段容量总和与最大用户数相等;还设置为配置用户上线策略,使用户在虚拟机模块4的虚拟机中上线并逐一占用分段容量,保持各虚拟机被用户完全占用的分段容量的个数差不超过1;The
负荷分担模块3设置为根据管理模块2提供的流表和用户上线策略将用户协议报文分送至虚拟机模块4的相应虚拟机进行处理。The
管理模块2还设置为当现有的各虚拟机中的上线用户数量均达到最大用户数时,自动建立新的虚拟机。The
参照前述方法的实施方式,管理模块2可设定各虚拟机具有相等的最大用户数和分段容量;管理模块2配置多个虚拟机的上线用户容量的示例性方式为:将各虚拟机的最大用户数值设定为m,初始化各虚拟机的负荷分担参数P的值为n,其中m、n均为自然数,每个所述分段容量可容纳的上线用户数为m/n;管理模块2配置用户上线策略的示例性方式为:将当前分担参数P最大的一个虚拟机设置为流表出接口,将用户在该虚拟机上线直至该虚拟机的上线用户数量达到(n-P+1)·m/n为止,此时将该虚拟机分担参数P的值减小1;重复执行该步骤直至全部虚拟机的分担参数P为0或全部用户均已上线;当多个虚拟机的所述分担参数P同为最大值时,将其中ip地址最大的一个虚拟机设置为流表出接口,将用户在该虚拟机上线;当全部虚拟机的分担参数P为0时,自动在所述虚拟机模块4中建立新的虚拟机,将用户在所述新的虚拟机中上线。Referring to the implementation manner of the foregoing method, the
以本公开实施例提供的vBNG系统设备实现多虚拟机负荷分担的流程进行说明:使用传统路由器及虚拟设备配置用户上线,根据需要设定参数,包括各虚拟机的用户容量(最 大用户数)即以及初始的负荷分担参数P,设定好参数后,开始上线用户;各虚拟机之间的用户分担依据图3所示的步骤进行:The process of implementing multi-virtual machine load sharing by using the vBNG system device provided by the embodiment of the present disclosure is as follows: the user is deployed on the traditional router and the virtual device, and the parameters are set according to requirements, including the user capacity of each virtual machine (the most The number of large users, that is, the initial load sharing parameter P, after setting the parameters, starts the online user; the user sharing between the virtual machines is performed according to the steps shown in FIG. 3:
(1)管理模块配置各虚拟机的最大用户数为m;(1) The maximum number of users of each virtual machine in the management module is m;
(2)管理模块将各虚拟机负荷分担参数P均初始化为n;(2) The management module initializes each virtual machine load sharing parameter P to n;
(3)管理模块比较负荷分担参数P,选择P值最大的虚拟机写入流表,作为流表出接口;如果P值相同,则比较ip地址,选择ip地址大的虚拟机写入流表,作为流表出接口;(3) The management module compares the load sharing parameter P, selects the virtual machine with the highest P value to write the flow table as the flow table outbound interface; if the P value is the same, compares the ip address, and selects the virtual machine with the ip address to write the flow table. As the flow table output interface;
(4)管理模块记录当前虚拟机的上线用户数,并将该用户数与标准值进行比较,标准值初始值为m/n;若小于所述标准值,则继续在此虚拟机上上线;否则,将该虚拟机的负荷分担参数P的值减1,重复前述第3步,选择切换至其它虚拟机继续上线用户;(4) The management module records the number of online users of the current virtual machine, and compares the number of users with the standard value. The initial value of the standard value is m/n; if it is less than the standard value, it continues to go online on the virtual machine; Otherwise, the value of the load sharing parameter P of the virtual machine is decremented by 1, and the foregoing
(5)当所有的虚拟机的上线用户数量都达到m/n时,从前述第3步开始进行第二轮用户上线,并将第4步中的标准值增加m/n,即将虚拟机上线用户数与2m/n进行比较;依此类推,每轮中,用户上线标准值增加m/n,而各虚拟机的负荷分担参数P值减1,直至负荷分担参数变为0;(5) When the number of online users of all virtual machines reaches m/n, the second round of user online is started from the third step, and the standard value in step 4 is increased by m/n, that is, the virtual machine is online. The number of users is compared with 2m/n; and so on, in each round, the user's online standard value is increased by m/n, and the load sharing parameter P value of each virtual machine is decremented by 1 until the load sharing parameter becomes 0;
(6)当所有虚拟机的负荷分担参数P均为0时,则对虚拟机进行自动扩容操作,建立新的虚拟机。(6) When the load sharing parameter P of all the virtual machines is 0, the virtual machine is automatically expanded to establish a new virtual machine.
上述vBNG系统设备可以依据各虚拟机上已处理的用户数及时调整后续用户处理的虚拟机,实现资源的合理化利用;路由设备通常可使用传统的路由器,而所述的管理模块、负荷分担模块和虚拟机模块都可以采用虚拟化技术,在作为硬件载体的服务器上以虚拟机的形式工作。The vBNG system device can adjust the virtual machine processed by the subsequent user in time according to the number of processed users on each virtual machine to realize rational utilization of resources; the routing device can usually use a traditional router, and the management module, the load sharing module, and the Virtual machine modules can be virtualized and work as virtual machines on a server that acts as a hardware carrier.
上述vBNG系统设备实施例是示意性的,公知的结构及特性等常识未作过多描述;各实施例采用递进的方式描述,各实施例之间相同相似部分互相参见即可,各实施例中所涉及到的技术特征在彼此之间不构成冲突的前提下可以相互组合;其中作为分立部件进行说明的单元可以是也可以不是物理上分开的,作为一个单元呈现的部件在物理层面上可以位于同一个地方,也可以分布在多个网络中;可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施本公开技术方案。The embodiments of the above-mentioned vBNG system are schematic, and the common sense of the known structures and characteristics are not described in detail; the embodiments are described in a progressive manner, and the same similar parts between the embodiments can be referred to each other, and the embodiments are The technical features involved in the present invention may be combined with each other without conflicting with each other; wherein the units described as discrete components may or may not be physically separated, and the components presented as one unit may be physically The same place may be distributed in multiple networks; some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment. Those skilled in the art can understand and implement the technical solutions of the present disclosure without any creative work.
在本公开上述实施例的描述中,术语“第一”、“第二”等仅用于描述目的,而不应理解为指示或暗示相对重要性。In the description of the above-described embodiments of the present disclosure, the terms "first", "second", and the like are used for descriptive purposes only, and should not be construed as indicating or implying relative importance.
应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为落入本公开的保护范围。It should be noted that a number of improvements and modifications may be made by those skilled in the art without departing from the principles of the present disclosure, and such modifications and refinements are also considered to fall within the scope of the present disclosure.
本公开实施例提供的vBNG系统多虚拟机负荷分担方法通过依据各虚拟机上已处理的用户数,及时调整后续用户处理的虚拟机,可以有效的对多虚拟机vBNG系统中的多 虚拟机处理的用户数进行分担,及时对后续用户报文处理所需的虚拟机进行调整,实现了资源的合理化利用,可以有效减少因为频繁的切换虚拟机造成的系统不稳定问题。 The multi-virtual machine load sharing method of the vBNG system provided by the embodiment of the present disclosure can effectively adjust the virtual machine processed by the subsequent user according to the number of processed users on each virtual machine, which can effectively multi-multi-virtual machine vBNG system The number of users processed by the virtual machine is shared, and the virtual machines required for subsequent user packet processing are adjusted in time to realize rational utilization of resources, which can effectively reduce system instability caused by frequent switching of virtual machines.
Claims (15)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710015719.6A CN108289113A (en) | 2017-01-10 | 2017-01-10 | VBNG system multi-dummy machine load share methods and vBNG system equipments |
| CN201710015719.6 | 2017-01-10 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018129957A1 true WO2018129957A1 (en) | 2018-07-19 |
Family
ID=62819902
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/103039 Ceased WO2018129957A1 (en) | 2017-01-10 | 2017-09-22 | Vbng system multi-virtual machine load sharing method and vbng system device |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN108289113A (en) |
| WO (1) | WO2018129957A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10560331B2 (en) * | 2018-02-07 | 2020-02-11 | Juniper Networks, Inc. | Self-driven and adaptable multi-vBNG management orchestration |
| CN114911567A (en) * | 2021-02-07 | 2022-08-16 | 中移(苏州)软件技术有限公司 | Control method, control device, terminal and storage medium for occupying flow table by virtual machine |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113934514B (en) * | 2021-11-01 | 2026-01-23 | 新华三技术有限公司合肥分公司 | Elastic expansion and contraction method and device for virtualized forwarding plane in vBRAS |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110173608A1 (en) * | 2009-07-23 | 2011-07-14 | Brocade Communications Systems, Inc. | Method and Apparatus for Providing Virtual Machine Information to a Network Interface |
| CN103297352A (en) * | 2012-02-23 | 2013-09-11 | 华为技术有限公司 | Configuration method of accessing strategy and boardband network gateway |
| CN104579732A (en) * | 2013-10-21 | 2015-04-29 | 华为技术有限公司 | Method, device and system for managing virtualized network function network elements |
| CN104702521A (en) * | 2013-12-06 | 2015-06-10 | 中兴通讯股份有限公司 | Load balance method and device |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8862744B2 (en) * | 2012-02-14 | 2014-10-14 | Telefonaktiebolaget L M Ericsson (Publ) | Optimizing traffic load in a communications network |
| CN103812788B (en) * | 2012-11-05 | 2017-06-16 | 华为技术有限公司 | Method, apparatus and system that control user accesses |
| CN103902353A (en) * | 2014-03-31 | 2014-07-02 | 华为技术有限公司 | Virtual machine deployment method and device |
| CN103984602A (en) * | 2014-05-20 | 2014-08-13 | 华为技术有限公司 | VM (virtual machine) resource scheduling method, device and system |
| EP2988214A1 (en) * | 2014-08-20 | 2016-02-24 | Alcatel Lucent | Method for balancing a load, a system, an elasticity manager and a computer program product |
| CN104796469B (en) * | 2015-04-15 | 2018-04-03 | 北京中油瑞飞信息技术有限责任公司 | The collocation method and device of cloud computing platform |
| CN106254447B (en) * | 2016-07-29 | 2019-10-18 | 北京华为数字技术有限公司 | Load balancing method, BRAS device and SDN controller |
-
2017
- 2017-01-10 CN CN201710015719.6A patent/CN108289113A/en not_active Withdrawn
- 2017-09-22 WO PCT/CN2017/103039 patent/WO2018129957A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110173608A1 (en) * | 2009-07-23 | 2011-07-14 | Brocade Communications Systems, Inc. | Method and Apparatus for Providing Virtual Machine Information to a Network Interface |
| CN103297352A (en) * | 2012-02-23 | 2013-09-11 | 华为技术有限公司 | Configuration method of accessing strategy and boardband network gateway |
| CN104579732A (en) * | 2013-10-21 | 2015-04-29 | 华为技术有限公司 | Method, device and system for managing virtualized network function network elements |
| CN104702521A (en) * | 2013-12-06 | 2015-06-10 | 中兴通讯股份有限公司 | Load balance method and device |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10560331B2 (en) * | 2018-02-07 | 2020-02-11 | Juniper Networks, Inc. | Self-driven and adaptable multi-vBNG management orchestration |
| US11159378B2 (en) | 2018-02-07 | 2021-10-26 | Juniper Networks, Inc. | Self-driven and adaptable multi-vBNG management orchestration |
| US11818009B2 (en) | 2018-02-07 | 2023-11-14 | Juniper Networks, Inc. | Self-driven and adaptable multi-vBNG management orchestration |
| US12155531B2 (en) | 2018-02-07 | 2024-11-26 | Juniper Networks, Inc. | Self-driven and adaptable multi-vBNG management orchestration |
| CN114911567A (en) * | 2021-02-07 | 2022-08-16 | 中移(苏州)软件技术有限公司 | Control method, control device, terminal and storage medium for occupying flow table by virtual machine |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108289113A (en) | 2018-07-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10171567B2 (en) | Load balancing computer device, system, and method | |
| US9509615B2 (en) | Managing link aggregation traffic in a virtual environment | |
| CN105610632B (en) | A kind of virtual network device and related method | |
| US10320895B2 (en) | Live migration of load balanced virtual machines via traffic bypass | |
| US9350666B2 (en) | Managing link aggregation traffic in a virtual environment | |
| CN111638957A (en) | Method for realizing cluster sharing type public cloud load balance | |
| CN103731295B (en) | Method and system for running virtual integration equipment | |
| US9686178B2 (en) | Configuring link aggregation groups to perform load balancing in a virtual environment | |
| CN110928637A (en) | Load balancing method and system | |
| CN110798412A (en) | Multicast service processing method, device, cloud platform, equipment and readable storage medium | |
| CN110830574A (en) | Method for realizing intranet load balance based on docker container | |
| CN112000435A (en) | Multi-activity load balancing method and system based on Openstack | |
| US10243799B2 (en) | Method, apparatus and system for virtualizing a policy and charging rules function | |
| WO2023206799A1 (en) | Network card communication method and apparatus for ai training platform, and device and medium | |
| CN113709220A (en) | High-availability realization method and system of virtual load balancer and electronic equipment | |
| WO2018129957A1 (en) | Vbng system multi-virtual machine load sharing method and vbng system device | |
| JP2019028673A (en) | Managing device and managing method | |
| US11929883B1 (en) | Supporting virtual machine migration when network manager or central controller is unavailable | |
| WO2022161501A1 (en) | Method for processing multiple data flows, and related system | |
| TWI535249B (en) | Automate the way to extend the network cache system | |
| RU2675050C1 (en) | Method and device for selecting access control address to mac environment | |
| Comer et al. | DCnet: a data centre network architecture that supports live VM migration | |
| JP2017111597A (en) | Bandwidth setting method, bandwidth setting program, information processor, and information processing system | |
| CN101789869A (en) | Processing method and devices of protocol independent multicast service | |
| CN121056540A (en) | Processing method, device, equipment, medium and program product of network message |
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: 17891707 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: 17891707 Country of ref document: EP Kind code of ref document: A1 |