A virtualization method and apparatus
By introducing a cross-board communication mechanism that manages slices and ordinary slices in OLT devices, the problem that resource-constrained OLT devices cannot create multi-virtual OLT systems is solved, and efficient resource utilization and multi-service requirements are achieved.
Patent Information
- Application Number
- CN201911001566.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-10-21
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2039-11-25
AI Technical Summary
Due to the limitation of software and hardware resources, existing OLT devices cannot effectively support the creation of multi-virtual OLT systems, resulting in low utilization of existing equipment with limited operator resources.
By implementing cross-board communication between the main control board and the line card board, the resources are allocated to manage slices and ordinary slices, and the communication proxy mechanism between the management slices and ordinary slices is adopted to realize cross-board communication between the main control board and the virtualized system of the line card board.
It improves the virtualization management capabilities of resource-constrained devices, improves resource utilization, and meets the various business needs of different users.
Smart Images

Figure CN112770196B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of optical communication technologies, and in particular, to a virtualization method and apparatus. Background Art
[0002] An Optical Line Terminal (OLT) is a core component of a fiber-based optical access network, equivalent to a switch or router in a traditional communication network, and is also a multi-service providing platform. The OLT is generally placed at the central office end and provides a fiber interface for the passive optical network facing users. The main functions it realizes are: on the one hand, converging signals carrying various services at the central office end and sending them into the access network in a certain signal format for transmission to end users, and on the other hand, sending signals from end users into various service networks according to service types respectively.
[0003] Currently, OLT devices usually need to carry the services of thousands of users, and the needs of different users are also different. In related technologies, by redeploying new OLT devices, multiple virtual OLT systems can be created on the OLT devices, and each virtual OLT system is independently isolated from each other to meet the different needs of various services.
[0004] However, existing stock OLT devices of operators usually have multiple slots. For some line cards in peripheral slots, they may not be able to support the creation of multiple virtual OLT systems due to limited software and hardware resources. Therefore, the virtualization management method of multiple virtual OLT systems cannot improve the utilization rate of the stock devices with limited resources of operators. Summary of the Invention
[0005] The present invention provides a virtualization method and apparatus, which can realize the virtualization management of devices with limited resources and improve resource utilization.
[0006] According to the first aspect of the present application, an embodiment of the present invention provides a virtualization method, which is applied to a main control single board and includes:
[0007] Allocating the resources of the line card single board to the slices of the virtualization system of the main control single board; the slices include: a management slice and / or a common slice;
[0008] Realizing cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through communication between the management slice of the main control single board and the management slice of the line card single board.
[0009] According to the second aspect of the present application, an embodiment of the present invention provides a virtualization method, which is applied to a line card single board and includes:
[0010] Configure a virtualized multi-slice system or a virtualized single-slice system for the line card single board according to the resource amount of the line card single board; wherein, the virtualized multi-slice system includes: a management slice and a general slice; the virtualized single-slice system includes: a management slice;
[0011] Realize cross-board communication between the virtualized system of the line card single board and the virtualized system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board.
[0012] According to the third aspect of the present application, an embodiment of the present invention provides a virtualization device, including: a memory, a processor, and a virtualization program stored on the memory and executable on the processor. When the virtualization program is executed by the processor, the steps of the above virtualization method are implemented.
[0013] According to the fourth aspect of the present application, an embodiment of the present invention provides a computer-readable storage medium, on which a virtualization program is stored. When the virtualization program is executed by a processor, the steps of the above virtualization method are implemented.
[0014] Compared with the related art, an embodiment of the present invention provides a virtualization method and device. The main control single board allocates the resources of the line card single board to the slices of the virtualized system of the main control single board; the slices include: a management slice and / or a general slice; the line card single board configures a virtualized multi-slice system or a virtualized single-slice system for the line card single board according to the resource amount of the line card single board; wherein, the virtualized multi-slice system includes: a management slice and a general slice; the virtualized single-slice system includes: a management slice; realize cross-board communication between the virtualized system of the main control single board and the virtualized system of the line card single board through communication between the management slice of the main control single board and the management slice of the line card single board. The technical solution of the embodiment of the present invention can realize virtualization management of resource-constrained devices and improve resource utilization rate. Description of the Drawings
[0015] Figure 1 Flowchart of a virtualization method for Embodiment 1 of the present invention (main control single board);
[0016] Figure 2 Flowchart of a virtualization method for Embodiment 2 of the present invention (line card single board);
[0017] Figure 3 Schematic diagram of a virtualization device for Embodiment 3 of the present invention (main control single board);
[0018] Figure 4 Schematic diagram of a virtualization device for Embodiment 4 of the present invention (line card single board);
[0019] Figure 5Schematic diagram of the master control single board in Example 1 supporting the switching between single-slice system and multi-slice system;
[0020] Figure 6 Schematic diagram of the resource-sufficient line card in Example 2 supporting board-level resource allocation;
[0021] Figure 7 Schematic diagram of the resource-constrained line card in Example 3 supporting board-level resource allocation;
[0022] Figure 8 Schematic diagram of the resource-sufficient line card in Example 4 supporting port-exclusive resource allocation;
[0023] Figure 9 Schematic diagram of the resource-constrained line card in Example 5 supporting port-exclusive resource allocation;
[0024] Figure 10 Schematic diagram of the resource-sufficient line card in Example 6 supporting port-shared resource allocation;
[0025] Figure 11 Schematic diagram of the resource-constrained line card in Example 7 supporting port-shared resource allocation;
[0026] Figure 12 Schematic diagram of the startup timing of the management slice and the ordinary slice in Example 8;
[0027] Figure 13 Schematic diagram of the cross-board communication between the resource-sufficient line card and the master control single board in Example 9;
[0028] Figure 14 Schematic diagram of the cross-board communication between the resource-constrained line card and the master control single board in Example 10;
[0029] Figure 15 Schematic diagram of the line card status management in Example 11. Detailed implementation manners
[0030] To make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that, without conflict, the embodiments and the features in the embodiments in this application can be combined with each other arbitrarily.
[0031] The steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. And, although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.
[0032] Embodiment 1
[0033] As Figure 1As shown in the figure, an embodiment of the present invention provides a virtualization method, which is applied to a main control single board and includes:
[0034] Step S110: Allocate the resources of the line card single board to the slices of the virtualization system of the main control single board; the slices include: a management slice and / or a general slice;
[0035] Step S120: Implement cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through the communication between the management slice of the main control single board and the management slice of the line card single board.
[0036] In one implementation manner, the implementation of cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through the communication between the management slice of the main control single board and the management slice of the line card single board includes:
[0037] After the resources of the line card single board are allocated to the general slice of the main control single board, use the management slice of the main control single board as the communication proxy of the virtualization system of the main control single board to perform data forwarding between the general slice of the main control single board and the virtualization system of the line card single board;
[0038] In one implementation manner, the allocation of the resources of the line card single board to the slices of the virtualization system of the main control single board includes:
[0039] Allocate the resources of the line card single board to the management slice or the general slice of the main control single board at the board level granularity; or
[0040] Allocate the resources of the line card single board to the management slice or the general slice of the main control single board at the port level granularity and in a port-exclusive manner; or
[0041] Allocate the resources of the line card single board to the management slice and the general slice of the main control single board at the port level granularity and in a port-sharing manner;
[0042] In one implementation manner, using the management slice of the main control single board as the communication proxy of the virtualization system of the main control single board to perform data forwarding between the general slice of the main control single board and the virtualization system of the line card single board includes:
[0043] After the management slice of the main control single board receives data from the virtualization system of the line card single board, if the data carries the identification information of the general slice of the line card single board, forward the data to the corresponding general slice of the main control single board of the general slice of the line card single board;
[0044] Among them, the line card single board is configured as a virtualized multi-slice system; the virtualized multi-slice system includes: a management slice and a general slice; there is a one-to-one correspondence between the general slice of the line card single board and the general slice of the main control single board;
[0045] In one implementation, the management slice of the master control single board is used as the communication agent of the virtualization system of the master control single board to perform data forwarding between the general slice of the master control single board and the virtualization system of the line card single board, including:
[0046] After the management slice of the master control single board receives data from the virtualization system of the line card single board, if the data carries the identification information of the management slice of the line card single board, query the resource allocation granularity of the line card single board;
[0047] When the resource allocation granularity of the line card single board is the board-level allocation granularity, determine the general slice of the master control single board to which the line card single board belongs, and forward the data to the general slice of the master control single board; when the resource allocation granularity of the line card single board is the port-level granularity, determine the general slice of the master control single board to which the line card port belongs, and forward the data to the general slice of the master control single board;
[0048] In one implementation, the management slice of the master control single board is used as the communication agent of the virtualization system of the master control single board to perform data forwarding between the general slice of the master control single board and the virtualization system of the line card single board, including:
[0049] The general slice of the master control single board sends the data to be sent to the line card single board to the management slice of the master control single board;
[0050] When the line card single board is a multi-slice system, the management slice of the master control single board sends the data to be sent to the management slice of the line card single board; when the line card single board is a single-slice system, the management slice of the master control single board modifies the slice attribution of the data to be sent to the management slice of the line card single board, and sends the data to be sent to the management slice of the line card single board;
[0051] Wherein, when the line card single board is a multi-slice system, the management slice of the line card single board receives the data forwarded by the management slice of the master control single board. If the data actually belongs to the management slice of the line card single board, the data is processed by the management slice of the line card single board; if the data actually belongs to the general slice of the line card single board, the management slice of the line card single board forwards the data to the general slice of the line card for processing;
[0052] When the line card single board is a single-slice system, the management slice of the line card single board receives the data forwarded by the management slice of the master control single board and processes it.
[0053] In one implementation, the management slice of the master control single board preferentially loads and takes effect the configuration data, and then the general slice of the master control single board loads the configuration file private to this slice;
[0054] In one implementation, the management slice of the master control single board maintains the status information of the line card single board and synchronizes the status information of the line card single board to the general slice of the master control single board to which the line card single board belongs in terms of resources;
[0055] Herein, the "slice" is a general term for independent logical network elements of a virtualization system, and the corresponding English description is virtual-network-device, which is translated into Chinese as virtual network device and is equivalently expressed by the abbreviation "VND" in this article. The management slice is described as VND0, and the general slice is described as VNDx, where x = 1, 2, 3,.... The management slice is a slice with administrator permissions. The general slice is a slice with general permissions and is started and managed by the management slice as needed. Generally, the management slice carries software applications necessary for the normal operation of physical network devices. The general slice carries some extended applications (the extended applications are mainly applications related to logical services).
[0056] In one implementation, the slices of the virtualization system are single-process or multi-process; if the original software architecture on the master control single board is a single-process architecture, after supporting the virtualized multi-slice system, each slice is also a single-process architecture, where the single process in the original software architecture serves as the management slice: VND0 of the virtualized multi-slice system, and other general slices (non-management slices are subsequently equivalently expressed as VNDx, note that VNDx does not include VND0) exist in the same mirror form as the management slice process. If the original software architecture on the master control single board is a multi-process architecture, where the multi-processes in the original software architecture constitute a management slice: VND0, and other general slices exist in the same mirror form as the multi-processes of the management slice.
[0057] A system-level command switch for switching between a single-slice system and a multi-slice system is added to the original software architecture. This command switch supports dynamic configuration, including but not limited to CLI (Command-Line Interface) and network management commands. When the current system is a single-slice system, after executing this switching switch, the system automatically switches to a multi-slice system; when the current system is a multi-slice system, after executing this switching switch, the system automatically switches to a single-slice system.
[0058] In one implementation, the management slice is used to perform at least one of the following management operations on the general slices of the virtualization system: creating general slices, deleting general slices, enabling general slices, disabling general slices, allocating resources to general slices, reclaiming resources allocated to general slices, deploying the CPUs of general slices, setting the modes of general slices, querying the information of general slices, and switching the interfaces of general slices;
[0059] Among them, the general slice modes include: hybrid mode (default configuration), single-board mode, exclusive port mode, and shared port mode;
[0060] Among them, the hybrid mode means that it supports the single-board mode, the exclusive port mode, and the shared port mode, that is, resource allocation is not restricted;
[0061] Software modules that are not sensitive to slice information can be transformed into multi-slice instances. The data, management messages, and protocol packets of such software modules are isolated from each other between different slices, and the implementation is basically the same whether under the management slice VND0 or the ordinary slice VNDx. Such software modules include, for example: OAM (Operation Administration and Maintenance), protocol stack, broadband services, and PON (Passive Optical Network) services, etc.
[0062] Software modules that cannot be transformed into multi-slice instances are set to single processes or directly belong to the management slice. The data of the software module is set as global data, and a slice ID is added during data transmission to distinguish different slices.
[0063] The management slice VND0 system includes a full set of implementations, while the ordinary slice VNDx is trimmed on this basis (for example: version management, addition and deletion of single boards, etc., global systematic functions need to be trimmed). By providing a task or process registration mechanism that distinguishes slices, the service can select whether the task or process should be started under the slice. At the same time, a slice identification interface is also provided for the service to determine which slice it is currently running in, so as to handle differently. For the centralized control and management modules that have been implemented, such as: OM (OperationManager), slice management, etc., these modules are mainly completed in the management slice VND0. According to the resource allocation situation in the slice, the data required by the slice needs to be synchronized to the corresponding slice through the cross-process communication mechanism between slices to meet the slice function requirements.
[0064] The management slice VND0 and the ordinary slice VNDx have their own independent file systems. The file system of the slice can be created during the system operation and named according to a certain naming rule for the slice directory. The file systems of each slice include, but are not limited to: configuration files, ONU (Optical Network Unit) files, etc. Among them, the file systems between the ordinary slices VNDx cannot operate with each other, but the management slice VND0 can operate and manage the file systems of all ordinary slices;
[0065] Each slice has its own independent configuration file. However, the loading of the configuration file of each slice during startup is not completely concurrent. The fundamental reason is that the management slice VND0 and the ordinary slice VNDx are not completely equivalent. The global dataset of the system only exists in the management slice VND0, and the ordinary slice VNDx only has its own private dataset. The configuration data of the ordinary slice VNDx actually still depends on the global configuration data of the management slice VND0. Therefore, in the timing of slice startup and loading, there is such a constraint: the management slice VND0 loads and takes effect the configuration data first (which is actually consistent with the startup of a single-slice system), and then the ordinary slice VNDx loads its own private configuration file. There is no timing dependency among the ordinary slices VNDx. Each slice has its own file directory, and during the configuration file loading process, it is necessary to read the configuration file information from the file system directory where the slice belongs.
[0066] The resource allocation granularity of line cards with different capabilities can be different. For line cards with limited resources that cannot support the creation of multiple slice instances, it is allowed to set a single-slice system for this type of line card. At this time, this type of line card still supports the allocation of board-level granularity and port-level granularity to the ordinary slice VNDx of the main control single board. At the same time, for the attribution configuration of different granularity resources of this line card, during message interaction, the adaptation control is uniformly performed on the main control single board. Thus, only a few additional message controls are needed between the multi-slice system of the main control single board and the single-slice system of the line card to complete the allocation and recycling management of the resources of this line card. At the same time, the presentation of the board status and related alarms of this line card can also be controlled under the ordinary slice and management slice to which the line card belongs, and other ordinary slices cannot see them.
[0067] For a line card that cannot create multiple slice instances, when this type of line card is allocated to the ordinary slice VNDx of the main control single board in a port-level manner, the physical and logical single-slice instances of the current line card are equivalent to the management slice VND0. After some ports of this line card are logically allocated to the ordinary slice VNDx, the information interaction between this type of port and the main control single board needs to be forwarded to the corresponding ordinary slice VNDx to which it belongs. When the main control single board receives the information report of this type of port, it first queries the slice attribution of the port, and then forwards it to the corresponding ordinary slice VNDx to which the resource belongs through the management slice VND0. When the information of the main control ordinary slice VNDx is sent down, it is necessary to add an adaptation process on the main control single board to forward the information of the ordinary slice VNDx to the management slice VND0, and then realize the information interaction between the main control management slice and the equivalent management slice of the line card. The line card does not need to perceive the existence of the multi-slice entity of the main control.
[0068] For a line card that cannot create a multi-slice instance, when this type of line card is allocated in the ordinary slice VNDx of the master control single board in a single-board level manner, although the single-slice entity of this line card is still physically equivalent to the management slice VND0, logically this line card already belongs to the ordinary slice VNDx. At this time, in principle, each module of the line card software does not need to perceive the existence of the master control multi-slice entity. To be compatible with the interaction needs of each module (the global and systematic message interaction of the line card still needs to interact with the master control management slice VND0, but the service modules on the line card need to interact with the master control affiliated slice VNDx), an interface for obtaining the current slice information where the line card is located is provided. The interface provides the ability to obtain physical slice information or logical slice information. Modules sensitive to the master control multi-slice entity need to use the interface for obtaining physical slice information for message interaction, and modules insensitive to the master control multi-slice entity need to use the interface for obtaining logical slice information for message interaction.
[0069] When the line card resources belong to the ordinary slice VNDx, the communication scheme between the master control single board and the original single-slice system of the line card needs to be simply adapted, identified and sent to the specified slice, and cross-process communication between the newly added ordinary slice and the management slice is added. Therefore, for those involving slice-to-slice interaction, if necessary, the original function interface call relationship needs to be transformed into an inter-process call between slice processes;
[0070] As one of the core modules of system control, board management mainly functions to manage and control various hardware resources in the system, monitor the state changes of hardware resources in real time, and provide reliable hardware resource status for upper-layer services. Furthermore, it provides reliable data for users to understand the system operation status. Simply put, board management is the maintenance of the single-board state of system control;
[0071] Maintain the state of the single board according to the actual operating conditions of the single board. Users can initially judge the service state based on the state of the single board. For example, if the single board is in INSERVICE, it can be initially judged that the service state is normal.
[0072] As shown in Table 1 below, the single-board state can be as follows according to requirements:
[0073]
[0074]
[0075] Table 1
[0076] After the system supports multi-slices, the single-board resources are no longer statically bound to the management slice VND0. The single-board resources need to dynamically support allocation to the general slice VNDx. Thus, in the general slice VNDx system, it is necessary to maintain the single-board status belonging to this slice. A single-board slice-level status needs to be added to the original single-board status management structure. The HWONLINE / OFFLINE of the single-board slice-level status is still determined by the board scan in the management slice VND0. Whether the board scan is present or not, in addition to setting the board-level single-board status to HWONLINE / OFFLINE in the management slice VND0, it is also necessary to set the slice-level status in the general slice VNDx to which the single-board belongs to HWONLINE / OFFLINE according to the resource slice belonging of the single-board. Additionally, the keep-alive heartbeat between the line card and the main control also affects the single-board status. The CONFIGING status of the single-board slice-level is triggered to migrate by the CARDUP (single-board online) message of the line card in the main control general slice VNDx. At the same time, after the service in the general slice VNDx receives the system CARDUP message, it performs service configuration processing. After the service configuration takes effect, it notifies the system board management module in the general slice VNDx to refresh the single-board slice-level status of this single-board in the general slice VNDx to the INSERVICE status. To sum up, when the single-board resources belong to the general slice VNDx and when the physical state of this single-board changes, the slice-level status of this single-board is synchronized with the board-level status of this single-board in the management slice. When the service effective status of this single-board changes, the slice-level status of this single-board completely depends on the actual effective situation of the service in the belonging slice, and the processing flow is exactly the same as that of the management slice VND0, and the processing flow is fully reused.
[0077] After supporting the multi-slice system, the alarm management needs to be appropriately adapted. Since each slice has its own alarm management module and alarm management pool, the alarm functions are separated from each other. The resource-constrained line card needs to send alarms to the corresponding main control belonging slice and cannot send them to the wrong slice.
[0078] By default, all system resources belong to the management slice VND0. After creating a general slice VNDx, the resources can be allocated to the general slice VNDx. For the exclusive allocation of slices for single boards and ports, at this time, the resources are divided from the management slice VND0 to a certain general slice VNDx, and the management slice VND0 no longer owns the resources. For the shared allocation of slices for ports, both the management slice VND0 and the general slice VNDx own the port at the same time. When the resources are recycled from the general slice VNDx, for the exclusive allocation of single boards and ports, they are directly returned from the general slice VNDx to the management slice VND0. The management slice VND0 adds the resources, and the general slice VNDx deletes the resources. For the recycling of the shared port method, only the general slice VNDx needs to delete the resources, and the management slice VND0 does not need to add the resources. Only the allocation of the resources needs to be changed from shared to exclusive.
[0079] In the case of multiple slices, on the one hand, when the system adds a single board, in addition to adding the single board information to the default management slice VND0, it is also necessary to add the records of all physical ports under the single board to the default management slice VND0. In this way, the single board and port resources in the management slice VND0 will be used as the basis for the subsequent management of the allocable resources of the general slice VNDx. On the other hand, when the system deletes a single board, in addition to deleting the single board record in the management slice VND0, it is also necessary to delete the records of all physical ports of the single board. When querying the single boards belonging to other general slices VNDx, filtering needs to be performed according to the ID of the VND of the general slice itself, and only the resources belonging to this slice are displayed. For the plug-and-play single board, after detecting the actual board type, it can be processed according to the above board addition operation process.
[0080] The specific rules for system resource allocation can include the following four types:
[0081] The first type: Allocation is based on service boards. At this time, the slice will exclusively allocate the obtained service boards. Objects such as ports and ONTs (Optical Network Terminals) under the service boards all belong to the corresponding general slice VNDx system. It should be noted that the allocated single board can be reset under the general slice VNDx, and the status of the single board can be viewed, and single board alarms can be reported. Since the management slice VND0 has the highest management authority, the single board can still be deleted, reset, the status of the single board can be viewed, and single board alarms can be reported under the management slice VND0.
[0082] The second method: Allocation is performed in the exclusive physical port mode. In this case, the slice will exclusively occupy the obtained ports. Different ports can be divided into different slices. In this scenario, it is allowed that the physical ports under the same single board belong to different slices, that is, binding is performed one by one with the port as the granularity. Operations such as related configuration management and port status query can be performed on the port under the slice to which the port belongs.
[0083] The third method: Allocation is performed in the shared physical port mode. A physical port is simultaneously allocated to multiple slices. In this case, multiple slices will all have this physical port. For example, the PON port is simultaneously allocated to multiple slices, so that each slice finally obtains different optical network units (ONUs). This method can enable different users under a PON port to belong to different virtual slice systems.
[0084] The fourth method: Allocation is performed according to the service sub-interfaces of the physical port. The service virtual sub-interfaces configured under the ONU created by the management slice VND0 can be allocated to multiple virtual OLT slice systems. This method can enable different service flows in the same ONT to belong to different virtual slice systems and use the virtual system based on the service flow for management, providing more flexible options for customers.
[0085] Physical objects can be bound to the virtual slice system with different granularities. Judging from the allocation method, after each virtual OLT slice obtains the allocated system resources, an independent and complete virtual OLT system is formed, that is, it also has the functions of a complete OLT device, which is equivalent to obtaining multiple OLT devices that can be used to meet various service requirements by reasonably dividing the resources of an OLT device.
[0086] After supporting multiple slices, since the ordinary slice VNDx and the management slice VND0 are not equal in management authority, the management slice VND0 has all the management authorities involved, but the ordinary slice VNDx needs to be controlled in terms of management authority. In order to manage the user-side resources under the ordinary slice VNDx, the specific supported slice configuration modes include the following:
[0087] The first method: Single-board level slice mode: When the ordinary slice VNDx is set to this slice mode, the resource allocation for this slice will all be restricted to the resource allocation at the single-board granularity, and it is not allowed to allocate resources to this slice with other granularities such as ports;
[0088] The second type: Exclusive port-level slicing mode: When the ordinary slice VNDx is set to this slicing mode, the resource allocation for this slice will all be restricted to exclusive port-granularity resource allocation. Resource allocation at the single-board or other port-granularity levels is not allowed for this slice. Exclusive port allocation for the slice means that after this port is allocated by the management slice VND0 to the ordinary slice VNDx, the port resources will completely belong to the ordinary slice VNDx and will no longer belong to the management slice VND0.
[0089] The third type: Shared port-level slicing mode: When the ordinary slice VNDx is set to this slicing mode, the resource allocation for this slice will all be restricted to shared port-granularity resource allocation. Resource allocation at the single-board or other port-granularity levels is not allowed for this slice. Shared port allocation for the slice means that after this port is allocated by the management slice VND0 to the ordinary slice VNDx, the port resources will not only belong to the ordinary slice VNDx, but also the port resources still belong to the management slice VND0. In this shared port allocation method, the management slice VND0 does not need to sense the change in the port's ownership. In necessary cases, it only needs to sense the change in the port's configuration mode (the port changes from exclusive ownership by VND0 to shared ownership by VND0). In addition, all kinds of statistics related to this port also do not change in the management slice VND0.
[0090] The fourth type: Hybrid slicing mode: This slicing mode is the default slicing mode for both the ordinary slice VNDx and the management slice VND0. In this slicing mode, the resource allocation to the slice is not restricted by anything;
[0091] The above descriptions of slice control default to the processing of the ordinary slice VNDx, and it is required that after the ordinary slice VNDx is created, the default slicing mode is the hybrid slicing mode. By adding a slice mode switching command, the slicing mode of the ordinary slice VNDx can be switched under certain conditions;
[0092] Since there are different granularities and different methods for resource allocation, for the principle of operation friendliness or implementation convenience, there are two ways to implement resource configuration constraints: The first way: Directly restrict when selecting resource allocation from the command interface. When executing the resource allocation command, filter out the unsupported resource granularities and only display the supported resource granularities for configuration. The second way: If the resource granularities allocated in some scenarios cannot be accurately filtered, there is also a compromise method, which is to uniformly add resource verification control before the actual execution of the resource allocation command when the resource allocation command is issued. Return a failure response to the resource allocation that does not meet or does not conform to the constraint conditions, and at the same time give a guiding error prompt to remind the user;
[0093] Among them, the specific constraint rules for resource allocation can include at least one of the following:
[0094] In the sliced veneer mode, only the allocation of veneers is supported, and the allocation of resources at other granularities is not supported;
[0095] In the sliced exclusive port mode, only the allocation of ports in an exclusive manner is supported, and the allocation of resources in other ways is not supported;
[0096] In the sliced shared port mode, only the allocation of ports in a shared manner is supported, and the allocation of resources in other ways is not supported. (When allocating ports, there must be a clear attribute to indicate the configured method);
[0097] When switching sliced modes, the slices in the hybrid mode can be arbitrarily switched to other sliced modes;
[0098] When switching sliced modes, for the slices in the veneer mode, if there is no resource allocation, they can be arbitrarily switched to other sliced modes. If there are resources, they can only be switched to the hybrid mode;
[0099] When switching sliced modes, for the slices in the exclusive port mode, if there is no resource allocation, they can be arbitrarily switched to other sliced modes. If there are resources, they can only be switched to the hybrid mode;
[0100] When switching sliced modes, for the slices in the shared port mode, if there is no resource allocation, they can be arbitrarily switched to other sliced modes. If there are resources, they can only be switched to the hybrid mode;
[0101] Since the memory resources of the veneer are also limited, and starting each sliced process instance will consume a certain amount of system memory, the number of supported sliced creations is also limited. At the same time, if too many sliced are started and exceed the veneer memory range, it will also trigger OOM (Out Of Memory), and the insufficient memory will cause the system to reset. Therefore, during the sliced creation process, it is necessary to judge the sliced capacity. When the maximum number supported by the system is reached, no new sliced are allowed to be created. The specific judgment conditions include but are not limited to memory resources. The timing of the limit is to limit during the sliced creation on the main control veneer, and it does not depend on whether the sliced entity process has actually started, because to ensure the successful configuration of the sliced number, it must be able to start successfully.
[0102] After the original software system realizes virtualized multi-slices, the management of resource templates needs to be centrally controlled in the management slice VND0. Whether it is the creation, deletion, modification, or query of the resource templates of the management slice VND0 or the ordinary slice VNDx, they are all managed and controlled by the management slice VND0. Other ordinary slices VNDx can only control the corresponding service configurations according to the capacity indicators configured by the management slice VND0.
[0103] Embodiment 2
[0104] Such as Figure 2As shown in the figure, an embodiment of the present invention provides a virtualization method, which is applied to a line card single board and includes:
[0105] Step S210, configuring a virtualized multi-slice system or a virtualized single-slice system for the line card single board according to the resource amount of the line card single board; wherein, the virtualized multi-slice system includes: a management slice and a general slice; the virtualized single-slice system includes: a management slice;
[0106] Step S220, realizing cross-board communication between the virtualization system of the line card single board and the virtualization system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board.
[0107] In one implementation, the configuring a virtualized multi-slice system or a virtualized single-slice system for the line card single board according to the resource amount of the line card single board includes:
[0108] When the resource amount of the line card single board indicates sufficient resources, configuring a virtualized multi-slice system for the line card single board;
[0109] When the resource amount of the line card single board indicates limited resources, configuring a virtualized single-slice system for the line card single board;
[0110] In one implementation, the resources of the line card single board are allocated to the management slice or the general slice of the main control single board at the board level; or
[0111] The resources of the line card single board are allocated to the management slice or the general slice of the main control single board at the port level and in an exclusive port manner; or
[0112] The resources of the line card single board are allocated to the management slice and the general slice of the main control single board at the port level and in a shared port manner;
[0113] In one implementation, after the resources of the line card single board are allocated to the general slice of the main control single board, if the line card single board is configured as a virtualized single-slice system, data is sent from the management slice of the line card single board to the management slice of the main control single board;
[0114] In one implementation, after the resources of the line card single board are allocated to the general slice of the main control single board, if the line card single board is configured as a virtualized multi-slice system, data is sent from the management slice of the line card single board to the management slice of the main control single board, and the identification information of the general slice of the line card single board is carried;
[0115] Wherein, there is a one-to-one correspondence between the general slice of the line card single board and the general slice of the main control single board.
[0116] In one embodiment, cross-board communication between the virtualization system of the line card single board and the virtualization system of the master control single board is achieved through communication between the management slice of the line card single board and the management slice of the master control single board, including:
[0117] When the line card single board is a multi-slice system, the management slice of the line card single board receives the data forwarded by the management slice of the master control single board. If the data actually belongs to the management slice of the line card single board, the management slice of the line card single board processes the data; if the data actually belongs to the ordinary slice of the line card single board, the management slice of the line card single board forwards the data to the ordinary slice of the line card for processing;
[0118] When the line card single board is a single-slice system, the management slice of the line card single board receives the data forwarded by the management slice of the master control single board and processes it.
[0119] Embodiment 3
[0120] As Figure 3 shown, an embodiment of the present invention provides a virtualization device applied to a master control single board, including:
[0121] A resource allocation module 301, configured to allocate the resources of the line card single board to the slices of the virtualization system of the master control single board; the slices include: a management slice and / or an ordinary slice;
[0122] A communication module 302, configured to achieve cross-board communication between the virtualization system of the master control single board and the virtualization system of the line card single board through communication between the management slice of the master control single board and the management slice of the line card single board.
[0123] In one embodiment, the resource allocation module is configured to allocate the resources of the line card single board to the slices of the virtualization system of the master control single board in the following manner:
[0124] Allocate the resources of the line card single board to the management slice or the ordinary slice of the master control single board at the board level; or
[0125] Allocate the resources of the line card single board to the management slice or the ordinary slice of the master control single board at the port level and in a port-exclusive manner; or
[0126] Allocate the resources of the line card single board to the management slice and the ordinary slice of the master control single board at the port level and in a port-sharing manner.
[0127] In one embodiment, the communication module is configured to achieve cross-board communication between the virtualization system of the master control single board and the virtualization system of the line card single board through communication between the management slice of the master control single board and the management slice of the line card single board in the following manner:
[0128] After the resources of the line card single board are allocated to the ordinary slice of the master control single board, the management slice of the master control single board is used as the communication agent of the virtualization system of the master control single board to forward data between the ordinary slice of the master control single board and the virtualization system of the line card single board.
[0129] In one implementation, the communication module is used to use the following method to use the management slice of the master control single board as the communication agent of the virtualization system of the master control single board to forward data between the ordinary slice of the master control single board and the virtualization system of the line card single board:
[0130] After the management slice of the master control single board receives data from the virtualization system of the line card single board, if the data carries the identification information of the ordinary slice of the line card single board, the data is forwarded to the ordinary slice of the master control single board corresponding to the ordinary slice of the line card single board;
[0131] Among them, the line card single board is configured as a virtualized multi-slice system; the virtualized multi-slice system includes: a management slice and an ordinary slice; there is a one-to-one correspondence between the ordinary slice of the line card single board and the ordinary slice of the master control single board.
[0132] In one implementation, the communication module is used to use the following method to use the management slice of the master control single board as the communication agent of the virtualization system of the master control single board to forward data between the ordinary slice of the master control single board and the virtualization system of the line card single board:
[0133] After the management slice of the master control single board receives data from the virtualization system of the line card single board, if the data carries the identification information of the management slice of the line card single board, query the resource allocation granularity of the line card single board;
[0134] When the resource allocation granularity of the line card single board is the board-level allocation granularity, determine the ordinary slice of the master control single board to which the line card single board belongs, and forward the data to the ordinary slice of the master control single board; when the resource allocation granularity of the line card single board is the port-level granularity, determine the ordinary slice of the master control single board to which the line card port belongs, and forward the data to the ordinary slice of the master control single board.
[0135] In one implementation, the communication module is used to use the following method to use the management slice of the master control single board as the communication agent of the virtualization system of the master control single board to forward data between the ordinary slice of the master control single board and the virtualization system of the line card single board:
[0136] The ordinary slice of the master control single board sends the data to be sent to the line card single board to the management slice of the master control single board;
[0137] When the line card single board is a multi-slice system, the management slice of the master control single board sends the data to be sent to the management slice of the line card single board; when the line card single board is a single-slice system, the management slice of the master control single board modifies the slice attribution of the data to be sent to the management slice of the line card single board and sends the data to be sent to the management slice of the line card single board.
[0138] In one embodiment, the virtualization device further includes: a status management module 303;
[0139] The status management module is used for the management slice of the master control single board to maintain the status information of the line card single board and synchronize the status information of the line card single board to the common slice of the master control single board to which the resource attribution of the line card single board belongs.
[0140] Embodiment 4
[0141] As Figure 4 shown, an embodiment of the present invention provides a virtualization device applied to a line card single board, including:
[0142] A system configuration module 401, configured to configure a virtualized multi-slice system or a virtualized single-slice system for the line card single board according to the resource amount of the line card single board; wherein, the virtualized multi-slice system includes: a management slice and a common slice; the virtualized single-slice system includes: a management slice; [[ID= 18]]
[0143] A communication module 402, configured to implement cross-board communication between the virtualized system of the line card single board and the virtualized system of the master control single board through communication between the management slice of the line card single board and the management slice of the master control single board.
[0144] In one embodiment, the system configuration module is configured to configure a virtualized multi-slice system or a virtualized single-slice system for the line card single board in the following manner according to the resource amount of the line card single board:
[0145] When the resource amount of the line card single board indicates sufficient resources, configure a virtualized multi-slice system for the line card single board;
[0146] When the resource amount of the line card single board indicates limited resources, configure a virtualized single-slice system for the line card single board.
[0147] In one embodiment, after the resources of the line card single board are allocated to the common slice of the main control single board, if the line card single board is configured as a virtualized single-slice system, data is sent from the management slice of the line card single board to the management slice of the main control single board; if the line card single board is configured as a virtualized multi-slice system, data is sent from the management slice of the line card single board to the management slice of the main control single board, and the identification information of the common slice of the line card single board is carried; wherein, there is a one-to-one correspondence between the common slice of the line card single board and the common slice of the main control single board.
[0148] In one embodiment, a communication module is used to implement cross-board communication between the virtualized system of the line card single board and the virtualized system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board in the following manner: when the line card single board is a multi-slice system, the management slice of the line card single board receives the data forwarded by the management slice of the main control single board. If the data actually belongs to the management slice of the line card single board, the data is processed by the management slice of the line card single board; if the data actually belongs to the common slice of the line card single board, the management slice of the line card single board forwards the data to the common slice of the line card for processing; when the line card single board is a single-slice system, the management slice of the line card single board receives the data forwarded by the management slice of the main control single board and processes it.
[0149] Example 5
[0150] An embodiment of the present invention provides a virtualization device, including:
[0151] A memory, a processor, and a virtualization program stored on the memory and executable on the processor. When the virtualization program is executed by the processor, the steps of the virtualization method in the above-mentioned Embodiment 1 or Embodiment 2 are implemented.
[0152] Example 6
[0153] An embodiment of the present invention provides a computer-readable storage medium, on which a virtualization program is stored. When the virtualization program is executed by a processor, the steps of the virtualization method in the above-mentioned Embodiment 1 or Embodiment 2 are implemented.
[0154] The virtualization solution of the present application is further described below through Examples 1 to 11.
[0155] Example 1
[0156] As Figure 5 described, the main control single board supports switching between a single-slice system and a multi-slice system. It should be noted that a logical slice can physically be a single process or a multi-process group. For the convenience of description below, it is assumed that the single-slice system defaults to exist in a single-process manner.
[0157] On the premise of keeping the original software architecture form of the single-slice system unchanged, in order to support the multi-slice system, the version construction does not need to change, and a single process is still constructed. The image file of this single process serves as both the executable program for managing slice VND0 and the executable program for ordinary slices VNDx (x = 1, 2, 3...). The implementation method is to control and distinguish through different startup parameters when creating the process, such as: slice ID. To be compatible with the single-slice system, for the multi-slice system, when the management slice is started, the slice ID of the management slice is defaulted to 0, and when the ordinary slice VNDx is started, the slice ID specified by the specific user is used as the control parameter for slice startup. When starting and initializing the operation, the slices are distinguished according to the slice ID, so that multiple created slices exist in different slice forms logically. For the single-slice system, it is equivalent to starting a slice instance, and for the multi-slice system, it is equivalent to starting multiple slice instances.
[0158] Add a system command, which is used to realize the switch between the single-slice system and the multi-slice system. This system command can be a dynamic configuration command. The system does not support the multi-slice system by default. After the user manually configures and opens this system command, save the configuration and restart, and then the system switches to support the multi-slice system. If you want to switch to the single-slice system at this time, you need to dynamically close this system command. After saving the configuration and restarting, the system will switch to the single-slice system. The management slice VND0 process of the multi-slice system and the single process of the single-slice system can be compatible in terms of configuration files.
[0159] The slice instance of the single-slice system and the slice instance of the OLT multi-slice system can be the same image file, and they are built with the same code and version. However, there are still differences in the actual module processing between the management slice and the ordinary slice. To address this issue, the attribution of software modules in the OLT system can be clearly set. For example, software modules that are not sensitive to slice information such as OAM (Operation Administration and Maintenance), protocol stack, broadband services, and PON (Passive Optical Network) services can be modified (for example: the initialization and startup of these modules do not need to distinguish slices). Each software module can belong to multiple slices, and the data, management messages, and protocol packets of such software modules are isolated between different slices, and the implementation is basically the same whether under the management slice VND0 or the ordinary slice VNDx. For software modules that cannot be modified for multi-slice instances, they can be directly attributed to the management slice VND0 and initialized. At this time, the data of such modules can only be global. In addition, the slice VND ID information can be added to distinguish the data interaction between the service modules in other ordinary slices and the global modules in the management slice.
[0160] In a multi-slice system, each slice has its own independent file system. The file system of the slice can be created during system operation and the slice directory is named according to certain naming rules (for example: management slice: \flash\VND0\, ordinary slice 1: \flash\VND1\, ordinary slice 2: \flash\VND2\). The file system of each slice includes but is not limited to: configuration files, ONU files, etc. Among them, the file systems between ordinary slices VNDx cannot operate on each other, and ordinary slices VNDx can only manage their own file systems, but the management slice VND0 can operate and manage the file systems of all slices.
[0161] Example 2
[0162] As Figure 6 shown, when the line card resources are sufficient, the line card can support a multi-slice system. After the line card resources are allocated to the slice, the line card will start the corresponding slice instance. The slice process entity created by the line card only contains some service modules that are not sensitive to the slice, and the global modules are still created in the management slice VND0 of the line card. At this time, the services of the line card in different ordinary slices are completely isolated, and it can be considered that a logical slice instance is cloned in terms of service implementation. At the same time, for the service modules in the slice process entity of the line card, if they involve accessing global modules, they need to access through inter-process data interaction.
[0163] Example 3
[0164] As Figure 7As shown in the figure, when the line card resources are limited, the line card can only support a single slice system. Due to resource constraints such as memory and hardware, the single board cannot support the startup of multiple slice entity processes. However, in order to support slice allocation, the single board can perform some adaptation processing.
[0165] When the resource-limited line card is allocated to a general slice at the single-board level, all service processing on the logic of this single board needs to be processed within the corresponding general slice domain. In terms of services, it is considered that this line card belongs to the general slice and no longer belongs to the management slice. However, the physical entity process of this line card still runs in the identity of the management slice VND0.
[0166] In principle, each service module of the line card software does not need to perceive the existence of multiple slice entities and only needs to interact with objects within the same slice domain. However, physically, when the service module obtains hardware resources and cross-board communication, it is still completed through the global and systematic hardware and communication modules of the line card. It is necessary to compatibly implement the message interaction adaptation between the master multi-slice system and the single-slice system of this line card (the global and systematic message interaction of the line card still needs to interact with the master management slice VND0, but the service module on the line card needs to interact with the master-owned slice VNDx). Provide an interface for obtaining physical slice information for the application of the global and systematic modules of the line card. This type of module is sensitive to slices and needs to physically identify its interaction object and must obtain physical slice information. In this scenario, the physical slice information obtained is the management slice VND0. Provide an interface for obtaining logical slice information for the application of service modules such as PON. This type of module is not sensitive to slices and does not need to care about the slice it is in. In this scenario, the logical slice information obtained by the service module is the general slice VNDx. After such processing, although the entire board is allocated to the general slice, the line card realizes the processing within the slice domain in terms of logic, but the global module of the line card still physically interacts with the master management slice VND0.
[0167] Since the cross-board interaction of the service modules of this line card needs to interact with the modules within the logical slice domain, and the cross-board interaction of the global control information of this line card still needs to interact with the management slice VND0 of the main control single board. In this way, when the line card sends a message, it needs to carry the specified destination slice ID. When the main control single board receives the line card message, no additional processing is required. Directly according to the slice information carried in the message, the message is directly forwarded by the main control management slice VND0 to be processed within the corresponding slice. When the main control message is sent down, since the main control management slice VND0 can only interact within the slice domain when sending cross-board messages to the modules on the ordinary slice VNDx, so at this time when the line card receives the main control message, since this line card itself is a single entity process, in principle, all the messages received by the line card from different slices are directly sent to the corresponding modules of the current entity process for processing. After such processing, it basically realizes the adaptation processing of different logics by the unified physical entity of the line card.
[0168] Example 4
[0169] As Figure 8 shown, when the resources of the line card are sufficient, the line card can support a multi-slice system. When the resources are sufficient and the line card is allocated to the ordinary slice in a port-level manner, the corresponding slice entity process will be started on this line card. Physically and logically, the processing module of this port belongs to the ordinary slice VNDx. The actual adaptation processing is to forward the information of the ordinary slice VNDx to the management slice VND0 through the first adaptation layer (communication adaptation layer), and forward the message from the line card to the ordinary slice VNDx from the management slice VND0 through the first adaptation layer (communication adaptation layer).
[0170] When the line card side receives the main control multi-slice message, it can be directly forwarded to the processing module of the corresponding port of this line card according to the slice information. When the main control side receives the line card message, it also only forwards according to the specified slice. That is, when the main control single board receives the message of the line card, for the message interaction of the line card port resources, if the port itself carries the ordinary slice information, it is directly forwarded.
[0171] Example 5
[0172] As Figure 9 shown, when the resources of the line card are limited, the line card can only support a single-slice system. When the resources are limited and the line card is allocated to the ordinary slice in a port-level manner, the slice information obtained by the global module and the service module on this resource-limited line card is still the management slice VND0 both physically and logically.
[0173] When a resource-constrained line card is allocated to a general slice at the port level, the board still belongs to the management slice VND0 physically and logically at this time. Only the port resources allocated to the slice logically belong to the general slice. After some ports of the line card are logically allocated to the general slice VNDx, when the ports of this type interact with the master control information, they need to be forwarded to the corresponding general slice VNDx to which they belong. When the master control receives the information report of this type of port, it first queries the slice belonging of the port according to the second adaptation layer (resource management adaptation layer), and then the management slice VND0 forwards it to the corresponding general slice VNDx to which the resource belongs through the first adaptation layer (communication adaptation layer). When the master control issues information to the general slice VNDx, adaptation processing needs to be added at the master control. The information of the general slice VNDx is forwarded to the management slice VND0 through the first adaptation layer (communication adaptation layer), and then the information interaction between the master control management slice and the line card management slice is realized. The line card does not need to perceive the existence of the master control multi-slice entity.
[0174] When the master control board receives a message from the line card, for the message interaction of the line card port resources, for the message carried by the port itself which is the management slice information, it is necessary to further query the resource belonging of the port and perform adaptation forwarding.
[0175] Example 6
[0176] Figure 10 It shows that a line card with sufficient resources is allocated to a general slice in a port sharing manner. Taking the PON line card as an example, the physical ports of the PON line card support shared allocation. This type of line card supports multi-slice entity processes. When multiple slices are allocated to the PON ports of this type of line card at the same time, it actually supports the implementation of ONU-level slices. Since the ONU is a device configured under the PON physical port, when the PON belongs to VND0, the ONU devices configured under this PON port in VND0 belong to this VND0. When it is allowed to share the PON port with VNDx, the ONU devices configured under this shared PON port in VNDx belong to this VNDx. Since multiple ONU devices can be configured under a PON physical port, after this is implemented, it supports the ONU-level slice deployment, that is: multiple ONU devices under a PON physical port can be flexibly configured in different slices according to actual needs, and the ONU devices can completely belong to this slice and are transparent to other slices, including the management slice, greatly enriching the flexibility of application configuration.
[0177] For the allocation and recycling in the port sharing mode, it is actually to perform addition and deletion operations on the port resources in the ordinary slice VNDx. However, for the management slice VND0, there is no need for addition and deletion operations. It only needs to change the allocation mode of the port resources in the management slice from sharing to exclusive. Compared with the port exclusive allocation mode, the actual operation is to delete the port resources in the management slice VND0 and then add the port resources in the ordinary slice VNDx. By comparison, it means that the port allocation and recycling in the exclusive mode are mutually exclusive between the management slice and the ordinary slice. However, for the port sharing allocation, it exists in both the management slice and the ordinary slice. But after the port is shared and allocated to each slice, the actual logical task is still exclusive use.
[0178] Example 7
[0179] Figure 11 It shows that the resource-constrained line card is allocated to the ordinary slice in the port sharing mode. Taking the uplink board port with resource constraints as an example, the uplink board port supports shared allocation to multiple slices. One physical uplink port logically supports multiple IP network accesses, greatly saving the uplink port resources of the single board and enhancing the system integration. There are two main differences between the physical ports of the resource-constrained line card supporting shared allocation and the physical ports of the line card with sufficient resources supporting shared allocation: one is that the resource-constrained line card is still a single entity process, and the other is that the interaction between the line card and the multi-slice system of the main control needs to be adapted by the second adaptation layer (resource management adaptation layer) on the main control single board. In addition, after the uplink port supports sharing, when the device accessed by the uplink port supports end-to-end virtualization, different VLANs (Virtual Local Area Network) and other means can be used during the forwarding flow interaction through the uplink port to enable one physical uplink port to serve multiple logical OLT slice systems at the same time.
[0180] For the allocation and recycling in the port sharing mode, it is actually to perform addition and deletion operations on the port resources in the ordinary slice VNDx. However, for the management slice VND0, there is no need for addition and deletion operations. It only needs to change the allocation mode of the port resources in the management slice from sharing to exclusive. Compared with the port exclusive allocation mode, the actual operation is to delete the port resources in the management slice VND0 and then add the port resources in the ordinary slice VNDx. By comparison, it means that the port allocation and recycling in the exclusive mode are mutually exclusive between the management slice and the ordinary slice. However, for the port sharing allocation, it exists in both the management slice and the ordinary slice. But after the port is shared and allocated to each slice, the actual logical task is still exclusive use.
[0181] Example 8
[0182] Such asFigure 12 As shown, in a multi-slice system, there is a sequential relationship between the startup and loading timings of the management slice VND0 and the ordinary slice VNDx on the main control single board. VND0 starts prior to VNDx. Multiple VNDxs can start concurrently. VND0 triggers the startup of VNDx when loading the configuration file. The loading timing of the configuration file private to VNDx depends on the resources allocated to the VNDx slice being completed in the addition of the service module. Other processes are basically the same and can reuse the code implementation.
[0183] The AppMain module mainly indicates the total entry of the slice entity process and serves as the total entry for the startup of the slice instance; the SysCtl module mainly indicates the system control part in the slice entity process and is mainly used for the maintenance and effectiveness control of the global data of the single board, etc.; the DB module mainly indicates the database module in the slice entity process and is mainly used for the initialization of the slice entity database and the effectiveness control of the configuration file of this slice; the PON module mainly indicates a general service module of an OLT system, not specifically referring to the PON service, and mainly indicates the data effectiveness timing of the service module.
[0184] When the main control single board starts up, the management slice VND0 is the first to start (note that in this example, in addition to having the slice function, the management slice VND0 also serves as the carrier of some common modules). Another implementation can be that the common modules related to the single board can be managed by a separate process or process entity (assumed to be the SC (System Control) entity), and the management slice VND0 also exists as an "ordinary slice". In this case, when the system starts up, the SC entity starts first, and then VND0 and VNDx start concurrently. In principle, the configuration loading timing of the SC entity also follows
[0185] Figure 12 the indicated loading timing. In addition, in this architecture scenario, there are still differences between VND0 and VNDx because VND0 still exists as the management entity of the slice VNDx. After the management slice VND0 is initialized, loaded, and started, the ordinary slice VNDx will be triggered to load, and whether to trigger the loading of the ordinary slice VNDx completely depends on the configuration command of the configuration module.
[0186] When the master control management slice VND0 starts, the default slice instance startup parameters do not carry the slice ID parameter. When the system starts and there is no slice ID parameter, the system defaults to setting the current slice as VND0. After the management slice VND0 process is pulled up, a series of initializations of key single-board modules are carried out. After the initialization is completed, the key modules will be notified to power on. After each key module receives the power-on notice, it will perform its own private initialization. After the system control module (SysCtl module) is initialized, it will notify the DB module to start loading the configuration file of the current slice and distribute and take effect the configuration commands. At this time, if slice commands are involved, the system control module will receive the slice operation commands and directly trigger the slice commands to take effect. When the DB module completes the loading, the DB module will send a message to notify the system control module that the loading is completed. After that, if there is a board startup power-on message, the system control module will notify the PON service module to configure the board. After the service configuration takes effect successfully, it will respond to the system control module. At this time, the system control module will refresh the board status and other information maintenance of the powered-on line card.
[0187] When the master control management slice VND0 triggers the startup of the ordinary slice VNDx during configuration loading, the process of the ordinary slice VNDx will be pulled up. The process image of the ordinary slice VNDx is the same as that of the management slice VND0. The difference lies in that different corresponding slice ID parameters are carried by the slice during startup. After the slice VNDx starts, the current slice environment context is the specified slice. The startup initialization part of the ordinary slice VNDx is different from that of the management slice, and global and systematic data initialization is not involved (global and systematic data are only initialized in the management slice). After the startup initialization of the slice VNDx is completed, it will also notify the key modules to power on. After each key module receives the power-on notification, it performs its own private initialization. After the PON service module completes the initialization, it needs to notify the system control module. After the system control module receives the completion of the service initialization, the system control module of VNDx will send a slice VNDx startup message to the system control module of the management slice VND0. After the VND0 system control module refreshes key information such as the status and PID (Process ID) of VNDx, it identifies whether there is resource allocation for the VNDx slice. If there is resource allocation, the VND0 system control module will send the resources allocated to the VNDx slice to the system control module of the VNDx slice. The system control module of VNDx obtains the resource data allocated to this slice and first notifies the PON service module of VNDx to take effect. After the PON service module takes effect, it responds to the VNDx system control module. After the VNDx system control module receives the response, it triggers the DB module of VNDx to start loading the configuration file of this VNDx slice. After the DB module of VNDx finishes loading, it notifies the VNDx system control module. If there is a power-on for the board belonging to this slice, the system control module of this slice VNDx will notify the PON service module to power on the board. The service performs data configuration for this VNDx slice on the line card. After the configuration is completed, the service module notifies the VNDx system control module to refresh the status. There is message interaction between the system control module of VNDx and the system control module of the management slice VND0, which is convenient for data consistency synchronization of board resources between different slices.
[0188] The configuration of the slice VNDx is all based on the physical resources allocated to this slice. Therefore, before the configuration file of the VNDx slice is loaded, it must be ensured that the service module first completes the effective completion of the physical resources allocated to this slice. Otherwise, when there are no physical resources in the service module of this slice, directly performing service configuration will fail.
[0189] Example 9
[0190] Figure 13 It shows that a line card with sufficient resources supports a multi-slice system, and cross-board communication is carried out between the line card and the master control single board. Figure 14 It shows that a line card with limited resources only supports a single-slice system, and cross-board communication is carried out between the line card and the master control single board.
[0191] Figure 13 and Figure 14 Compared with it, the main difference lies in the line card. After the resource-constrained line card is allocated to the slice VNDx, the line card is still a single-entity process. However, at this time, the communication domain of the modules insensitive to slices in the line card system will switch to VNDx, and the modules sensitive to slices still interact with the master control VND0.
[0192] The main adaptation layers related to communication on the master control single board mainly include two parts. One part is the first adaptation layer (communication adaptation layer), which is mainly used to add the identification of the destination slice of the message and accurately forward the message to the destination slice after the master control single board receives the cross-board communication message. The other part is the second adaptation layer (resource management adaptation layer), which is mainly used in scenarios of non-single-board-level slice allocation (such as port-level slice allocation). For example, after the port resources of the resource-constrained single board are allocated to a slice, the physical and logical slice IDs of the resource-constrained line card are still VND0. However, at this time, after the service flow related to this port is sent to the master control single board, the master control single board needs to further determine the slice attribution of the port and accurately forward the message to the destination slice.
[0193] The common modules such as communication and BSP (Board Support Package) on the master control single board are currently uniformly placed in the management slice VND0. Regardless of whether the line card is a single-entity process or a multi-slice entity process, the cross-board communication involved in the line card always interacts with the master control management slice VND0. In the case of a multi-slice entity process of the line card, the cross-board communication messages received by the line card are also always processed in the management slice VND0 of the line card. The messages received by the VND0 process communication modules of the master control and the line card need to identify the destination slice ID and uniformly forward the messages to the corresponding slice entity processes. This processing method is compatible with both single-slice systems and multi-slice systems on the one hand, and on the other hand, by borrowing the existing communication protocol, only the communication transceiver between slices needs to be added, which can quickly realize the transformation of the existing architecture, reduce the development difficulty and speed up the development progress.
[0194] For the multi-slice entity process on the single board, there is cross-process communication between the management slice VND0 and the ordinary slice VNDx, and cross-process communication is not supported between ordinary slices VNDx. In addition, cross-board communication is generally defaulted to be restricted within the slice communication domain. For cross-board communication that needs to be specially specified to be sent to a specified slice, generally only the communication interaction between the ordinary slice VNDx and the management slice VND0 is supported.
[0195] For a single board with multiple slice instances, there is actually a data read / write requirement between the service modules on the ordinary slice VNDx and the global data control module on the single board management slice VND0. In this case, the method for the modules in slice VNDx to obtain the global data of the single board needs to be adjusted, transforming the original function interface call relationship into an inter-slice process call. The specific method is not limited to synchronous or asynchronous message interaction.
[0196] After the OLT supports a multi-slice system, the communication methods involved mainly include: inter-slice communication requirements within the board, inter-board slice communication requirements, and the selection of inter-board communication protocols, etc. For the cross-board communication protocol, whether to inherit the original communication protocol and have the management slice VND0 receive, transmit, and transfer, or to implement independent protocol stacks for each slice across the board, both are theoretically supported and can be implemented. The specific strategy to be selected can be comprehensively considered based on factors such as the project requirements progress and the hardware environment.
[0197] Example 11
[0198] Figure 15 It is a schematic diagram of line card status management. As Figure 15 shown, it mainly describes several states of the line card and the transition drivers. Maintaining the line card status is to monitor the status changes of hardware resources in real time and provide reliable hardware resource status for the upper-layer services, thereby providing a basis for users to understand the system operation status.
[0199] After the system control is initialized and before the board scan information is received, by default, each slot enters the UNKNOWN state, indicating that the hardware status has not been understood yet. At this time, no message interaction events and inter-board communication events are processed. After processing the single board scan event, the single board status is set to OFFLINE (no board is inserted in this slot) or HWONLINE (a board is inserted in this slot). When the line card status is HWONLINE, if the main control single board receives a line card configuration request, if the target slot line card is not configured at this time, this configuration request is ignored. If it is configured, the main control single board checks whether the line card configuration request is consistent with the configuration saved on the main control. If it is inconsistent, the line card status is set to TYPEMISMATCH. If it is consistent, the configuration is sent to the line card, and the single board enters the CONFIGING state. When entering the CONFIGING state, it is necessary to notify the upper layer of the board about the service. When the message indicating that the service configuration is completed is received, the status is set to INSERVICE (the standby main control status is set to STANDBY).
[0200] After the line card starts up to a certain stage, the keep-alive heartbeat between the line card and the main control will also affect the board status. The main impacts are as follows: When the line card status is in the CONFIGING state, INSERVICE (STANDBY) state, or TYPEMISMATCH state, if the keep-alive heartbeat handshake between the main control and the line card fails, the main control will consider the communication with the line card abnormal (communication interrupted), and the main control will unconditionally migrate the line card status to the HWONLINE state.
[0201] In addition, the current system also supports powering off a specified board online through commands. After the power-off command operation is executed on a certain line card, the status of the board will be set to the POWER SAVE state for board power saving. At this time, the board is in the reset state;
[0202] After supporting the multi-slice system, the board resources are no longer statically bound to the management slice VND0. The board resources can be dynamically supported and allocated to the ordinary slice VNDx. In this way, the board status belonging to this slice can be maintained in the ordinary slice VNDx system, and a board slice-level status needs to be added to the original board status management structure.
[0203] The HWONLINE / OFFLINE of the board slice-level status is still determined by the board scan in the management slice VND0. Whether the board scan is present or not, in addition to setting the board-level board status to HWONLINE / OFFLINE in the management slice VND0, it is also necessary to set the slice-level status in the ordinary slice VNDx to which the board belongs to HWONLINE / OFFLINE according to the resource slice belonging of the board. The CONFIGING state at the board slice level is triggered and migrated by the Cardup (power-on) message of the line card in the main control ordinary slice VNDx. At the same time, after the services in the ordinary slice VNDx receive the system Cardup message, they perform service configuration processing. After the service configuration takes effect, they notify the system board management module in the ordinary slice VNDx to refresh the board slice-level status of the board in the ordinary slice VNDx to the INSERVICE state.
[0204] When a resource - limited line card is assigned to slice VNDx, since there is only a VND0 slice entity process on this line card and no VNDx slice entity process, at this time, the management method of the board status of this resource - limited line card in VNDx cannot be achieved through the original method. When allocating the resources of this resource - limited line card in the management slice VND0 to slice VNDx, it is necessary to synchronously refresh the status of this line card in the VNDx slice. According to the physical status of this line card in VND0, it is simulated and reported to the VNDx slice system control module of the main control single - board. The default board status of this resource - limited line card in the VNDx slice is still the UNKNOWN state. When resource allocation is performed, when the physical status of the current line card is OFFLINE, ONLINE, or TYPEMISMATCH, directly set the board of this line card in the VNDx slice to the corresponding status. When the physical status of the current line card is CONFIGING or INSERVECE, first uniformly set the board of this line card in the VNDx slice to the ONLINE state, and then simulate and report the Cardup power - on message of this line card to the system control module of VNDX in the VND0 system control module. Then, the system control module of VNDx notifies the service of VNDx to take effect on the configuration of this line card. After that, the result of the service module of VNDx taking effect will directly affect the board status of this line card in the VNDx slice, and subsequent state transitions are consistent with the board - status migration in VND0.
[0205] When the resources of a single - board belong to the ordinary slice VNDx, when the physical status of the single - board changes, the slice - level status of the single - board is synchronized with the board - level status of the single - board in the management slice. When the service - effective status of the single - board changes, the slice - level status of the single - board completely depends on the actual effectiveness of the service in the belonging slice. The processing flow is exactly the same as that of the management slice VND0, and the processing flow is completely reused.
[0206] Those of ordinary skill in the art will understand that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, and their appropriate combinations. In the hardware implementation, the division between the functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, one physical component can have multiple functions, or one function or step can be executed by several physical components in cooperation. Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include a computer storage medium (or non-transitory medium) and a communication medium (or transitory medium). As is well known to those of ordinary skill in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory, or other memory technologies, CD-ROM, digital versatile disk (DVD), or other optical disk storage, magnetic cassettes, tapes, magnetic disk storage, or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, as is well known to those of ordinary skill in the art, a communication medium typically contains computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and can include any information delivery medium.
[0207] It should be noted that the present invention may have many other embodiments. Without departing from the spirit and essence of the present invention, those skilled in the art can make various corresponding changes and modifications according to the present invention, but these corresponding changes and modifications should all fall within the protection scope of the appended claims of the present invention.
Claims
1. A virtualization method, applied to a master control single board, includes: Allocating the resources of a line card single board to slices of the virtualization system of the master control single board; The slices include: a management slice and / or a general slice; Using the management slice of the master control single board as a communication proxy of the virtualization system of the master control single board to perform data forwarding between the general slice of the master control single board and the virtualization system of the line card single board; Among them, using the management slice of the master control single board as a communication proxy of the virtualization system of the master control single board to perform data forwarding between the general slice of the master control single board and the virtualization system of the line card single board includes: After the management slice of the master control single board receives data from the virtualization system of the line card single board, if the data carries the identification information of the general slice of the line card single board, forward the data to the general slice of the master control single board corresponding to the general slice of the line card single board; Among them, the line card single board is configured as a virtualized multi-slice system; there is a one-to-one correspondence between the general slice of the line card single board and the general slice of the master control single board.
2. The method according to claim 1, wherein: The allocating the resources of the line card single board to slices of the virtualization system of the master control single board includes: Allocating the resources of the line card single board to the management slice or the general slice of the master control single board at the board level granularity; or Allocating the resources of the line card single board to the management slice or the general slice of the master control single board at the port level granularity and in a port-exclusive manner; or Allocating the resources of the line card single board to the management slice and the general slice of the master control single board at the port level granularity and in a port-sharing manner.
3. The method according to claim 1, wherein: After the management slice of the master control single board receives data from the virtualization system of the line card single board, if the data carries the identification information of the management slice of the line card single board, query the resource allocation granularity of the line card single board; When the resource allocation granularity of the line card single board is the board-level allocation granularity, determine the general slice of the master control single board to which the line card single board belongs, and forward the data to the general slice of the master control single board; when the resource allocation granularity of the line card single board is the port level granularity, determine the general slice of the master control single board to which the line card port belongs, and forward the data to the general slice of the master control single board.
4. The method according to claim 1, wherein: The general slice of the master control single board sends the data to be sent to the line card single board to the management slice of the master control single board; When the line card single board is a multi-slice system, the management slice of the master control single board sends the data to be sent to the management slice of the line card single board; When the line card single board is a single-slice system, the management slice of the master control single board modifies the slice attribution of the data to be sent to the management slice of the line card single board, and sends the data to be sent to the management slice of the line card single board.
5. The method according to claim 1, characterized in that The method further includes: The management slice of the master control single board maintains the status information of the line card single board, and synchronizes the status information of the line card single board to the general slice of the master control single board to which the resources of the line card single board belong.
6. A virtualization method, applied to a line card single board, includes: Configure a virtualized multi-slice system or a virtualized single-slice system for the line card single board according to the resource amount of the line card single board; wherein, the virtualized multi-slice system includes: a management slice and a general slice; the virtualized single-slice system includes: a management slice; Implement cross-board communication between the virtualized system of the line card single board and the virtualized system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board; After the resources of the line card single board are allocated to the general slice of the main control single board, if the line card single board is configured as a virtualized single-slice system, send data from the management slice of the line card single board to the management slice of the main control single board; if the line card single board is configured as a virtualized multi-slice system, send data from the management slice of the line card single board to the management slice of the main control single board, and carry the identification information of the general slice of the line card single board; wherein, there is a one-to-one correspondence between the general slice of the line card single board and the general slice of the main control single board.
7. The method according to claim 6, wherein: The configuring a virtualized multi-slice system or a virtualized single-slice system for the line card single board according to the resource amount of the line card single board includes: When the resource amount of the line card single board indicates sufficient resources, configure a virtualized multi-slice system for the line card single board; When the resource amount of the line card single board indicates limited resources, configure a virtualized single-slice system for the line card single board.
8. The method according to claim 6, wherein: The implementing cross-board communication between the virtualized system of the line card single board and the virtualized system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board includes: When the line card single board is a multi-slice system, the management slice of the line card single board receives the data forwarded by the management slice of the main control single board. If the data actually belongs to the management slice of the line card single board, the management slice of the line card single board processes the data; if the data actually belongs to the general slice of the line card single board, the management slice of the line card single board forwards the data to the general slice of the line card for processing; When the line card single board is a single-slice system, the management slice of the line card single board receives the data forwarded by the management slice of the main control single board and processes it.
9. A virtualization device, comprising: A memory, a processor, and a virtualization program stored on the memory and executable on the processor. When the virtualization program is executed by the processor, the steps of the virtualization method according to any one of claims 1-8 above are implemented.
10. A computer-readable storage medium, on which a virtualization program is stored. When the virtualization program is executed by a processor, the steps of the virtualization method according to any one of claims 1-8 above are implemented.
Citation Information
Patent Citations
Virtualization method and system based on spatial multiplexing
CN106844007A
Virtual switch management method and master control card
CN108833177A
Virtualization method for optical line terminal (OLT) device, and related device
WO2018157299A1