Resource object processing and register access method and device and storage medium
By deploying the virtualization manager on the physical machine and using a general resource object model, the problem of low utilization of physical hosts in the old specification is solved, and the effect of improving the utilization of physical computing resource objects and reducing the idleness of computing resources is achieved.
Patent Information
- Application Number
- CN202311255053.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2025-03-28
AI Technical Summary
As the computing power specifications of physical hosts and cloud computing instances continue to be upgraded, the utilization rate of physical hosts in the old specifications has decreased, resulting in idle and waste of computing resources.
By deploying a virtualization manager on a physical machine, using a general resource object model to describe the common attribute information of at least two specifications of physical computing resource objects, create a virtual computing resource object hosted on the physical computing resource object, and schedule the virtual computing resource object to run a virtualization instance.
Improve the utilization rate of physical computing resource objects with lower specifications, reduce the idleness and waste of computing resources, and enhance the flexibility and compatibility of virtualized instances.
Smart Images

Figure CN119718598A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of cloud computing technology, and in particular to a resource object processing and register access method, device and storage medium. Background Art
[0002] With the iterative upgrade of user cloud application requirements and the continuous development of application scenarios, users have put forward higher requirements for the computing power of cloud computing instances that carry their applications, such as Elastic Compute Service (ECS). Since the physical host where the cloud computing instance is located directly transmits the hardware information, characteristics and instruction set of its physical processor (physical Central Processing Unit, pCPU) to the cloud computing instance, the computing power of the cloud computing instance is closely related to the computing power of the physical host.
[0003] In order to meet users' demand for computing power of cloud computing instances, cloud service providers continue to upgrade the pCPU of physical hosts, such as adding new features, and with the upgrade of pCPU specifications, the computing power of cloud computing instances will also be upgraded accordingly. However, with the continuous upgrade of computing power specifications of physical hosts and cloud computing instances, users will gradually choose to deploy applications in cloud computing instances of new specifications, which will lead to lower and lower utilization of physical hosts of old specifications, resulting in idleness and waste of a large number of computing resources. Summary of the invention
[0004] Multiple aspects of the present application provide a resource object processing and register access method, device and storage medium to improve the utilization rate of physical computing resource objects with lower specifications and reduce idleness and waste of computing resources.
[0005] An embodiment of the present application provides a physical machine, and a virtualization manager is deployed on the hardware resources of the physical machine, and the hardware resources include at least physical computing resource objects; the virtualization manager is used to create and manage virtualization instances; the virtualization manager is also used to: during the initialization process of the target virtualization instance, select a general resource object model for the target virtualization instance, the general resource object model is used to describe the public attribute information exposed to the virtualization instance by at least two specifications of physical computing resource objects; and according to the public attribute information described by the general resource object model, create a virtual computing resource object carried on the physical computing resource object for the target virtualization instance, and schedule the virtual computing resource object to run the target virtualization instance.
[0006] An embodiment of the present application also provides a resource object processing method, including: during the initialization process of a target virtualization instance, selecting a general resource object model for the target virtualization instance, the general resource object model being used to describe the public attribute information exposed to the virtualization instance by at least two specifications of physical computing resource objects; and creating a virtual computing resource object carried on the physical computing resource object for the target virtualization instance based on the public attribute information described by the general resource object model, and scheduling the virtual computing resource object to run the target virtualization instance.
[0007] An embodiment of the present application also provides a register access method, including: when a target virtualization instance returns to kernel state due to accessing a current register, judging whether the current register is a register that is allowed to be accessed on a physical computing resource object based on access constraint information; if the judgment result is yes, simulating the access operation of the current register to return the value of the current register to the target virtualization instance; wherein the target virtualization instance judges that the currently accessed register needs to return to kernel state based on target access interception information; the access constraint information includes register information that is allowed to be accessed and / or register information that is not allowed to be accessed on a physical computing resource object; and the target access permission interception information includes register information that can be directly accessed on a physical computing resource object and / or register information that needs to be accessed after returning to kernel state.
[0008] The embodiment of the present application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor implements the steps in the register access method and resource object processing method provided in the embodiment of the present application.
[0009] In an embodiment of the present application, a general resource object model is provided, which describes the public attribute information exposed by physical computing resource objects of at least two specifications to a virtualized instance. According to the public attribute information described by the general resource object model, a virtual computing resource object carried on the physical computing resource object is created for the virtualized instance, and the virtual computing resource object is scheduled to run the virtualized instance. Among them, by creating a virtual computing resource object through a general resource object model, it is possible to be compatible with at least two specifications of physical computing resource objects, unify the specifications of at least two specifications of physical computing resource objects, shield the hardware differences of at least two specifications of physical computing resource objects, enhance the flexibility and compatibility of creating virtualized instances, improve the utilization rate of physical computing resource objects with lower specifications, and reduce idle computing resources and waste. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0011] Figure 1 A schematic diagram of the structure of a physical machine provided for an exemplary embodiment of the present application;
[0012] Figure 2a A schematic diagram of public attribute information exposed by physical computing resource objects of at least two specifications to a virtualized instance provided by an exemplary embodiment of the present application;
[0013] Figure 2b A schematic diagram of another embodiment of the present application providing at least two specifications of physical computing resource objects exposed to virtualized instances of public attribute information;
[0014] Figure 3a A schematic diagram of the internal structure of a virtualization manager provided for an exemplary embodiment of the present application;
[0015] Figure 3b A schematic diagram of a structure of a management general resource object model provided for an exemplary embodiment of the present application;
[0016] Figure 3c A schematic diagram of a virtualization instance accessing attribute information of a physical computing resource object provided by an exemplary embodiment of the present application;
[0017] Figure 4 A schematic diagram of a resource processing method provided for an exemplary embodiment of the present application;
[0018] Figure 5 A flowchart of a register access method provided for an exemplary embodiment of the present application;
[0019] Figure 6 A schematic diagram of the structure of a resource processing device provided for an exemplary embodiment of the present application;
[0020] Figure 7 A schematic diagram of the structure of a register access device provided for an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0021] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0022] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0023] With the continuous upgrading of the computing power specifications of physical hosts and cloud computing instances, users will gradually choose to deploy applications in cloud computing instances of new specifications, which will lead to lower and lower utilization rates of physical hosts of old specifications, resulting in idleness and waste of a large number of computing resources. In the face of this technical problem, in an embodiment of the present application, a general resource object model is provided, which describes the public attribute information exposed by physical computing resource objects of at least two specifications to the virtualization instance. According to the public attribute information described by the general resource object model, a virtual computing resource object carried on the physical computing resource object is created for the virtualization instance, and the virtual computing resource object is scheduled to run the virtualization instance. Among them, by creating a virtual computing resource object through a general resource object model, it is possible to be compatible with at least two specifications of physical computing resource objects, unify the specifications of at least two specifications of physical computing resource objects, shield the hardware differences of at least two specifications of physical computing resource objects, enhance the flexibility and compatibility of creating virtualization instances, improve the utilization rate of physical computing resource objects with lower specifications, and reduce idleness and waste of computing resources.
[0024] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.
[0025] Figure 1 A schematic diagram of the structure of a physical machine provided by an exemplary embodiment of the present application. Figure 1 As shown, the physical machine includes: hardware resources 101 , the hardware resources 101 at least include: physical computing resource objects 102 , and a virtualization manager 103 is deployed on the hardware resources 101 .
[0026] In this embodiment, the virtualization manager 103 is used to create and manage virtualization instances, and the virtualization management instance runs on the physical computing resource object 102. Any virtualization manager that can manage virtualization instances is applicable to the embodiments of the present application. For example, the virtualization manager 103 can be a virtual machine monitor (Virtual Machine Monitor, VMM), which can also be called a Hypervisor. For example, the virtualization instance can be a cloud host, an elastic computing service (Elastic Compute Service, ECS), a virtual machine (Virtual Machine, VM) or a container. The virtualization manager 103 can create and manage any virtualization instance. The following is a subsequent explanation using the virtualization manager 103 creating and managing the target virtualization instance as an example.
[0027] In this embodiment, the physical computing resource object 102 can be a central processing unit (CPU), a graphics processing unit (GPU), a data processor (DPU), a tensor processor (TPU), a cloud infrastructure processor (CIPU), and an application specific integrated circuit (ASIC), etc., and other physical resource objects with computing capabilities.
[0028] In addition, the hardware resources 101 on the physical machine may also include: memory, communication components, display, power components, audio components and other components, which are not described in detail here.
[0029] In this embodiment, the attribute information of the physical computing resource object refers to the instruction set and features information supported by the physical computing resource object. In addition, the attribute information also includes: basic information of the physical computing resource object. Among them, the information of the physical computing resource object reflected by the instruction set covers the feature information and basic information. In the case where the physical computing resource object is a CPU, the feature information of the CPU includes but is not limited to: processor state preservation (XSAVE), Advanced Vector Extensions (AVX) instruction set, Advanced Programmable Interrupt Controller (APIC), Extended Advanced Programmable Interrupt Controller (x2APIC), Advanced Configuration and Power Management (ACPI) and Cache Line Flush (CLFSH), etc.; the basic information of the CPU includes: level, family, model, stepping ID, cache, and Translation Lookaside Buffer (TLB) and other information.
[0030] In this embodiment, the physical computing resource objects have different generations, and the physical computing resource objects of different generations have different specifications, and the physical computing resource objects of different specifications have different attribute information. The attribute information of the new generation (new specification) physical computing resource objects and the attribute information of the old generation (old specification) physical computing resource objects may not be completely the same. For example, in Figure 2a In the example, the physical computing resource objects of the n+1th generation (n is a positive integer) are based on the physical computing resource objects of the nth generation, with some new attribute information (such as instruction set) added. The physical computing resource objects of the n+1th generation cover the attribute information supported by the nth generation. Figure 2b In the figure, compared with the nth generation physical computing resource object, the n+1th generation physical computing resource object adds new attribute information (such as instruction set), and at the same time, deletes part of the attribute information of the nth generation. The attribute information of the n+1th generation physical computing resource object and the nth generation physical computing resource object has an intersection.
[0031] The embodiment of the present application defines a general resource object model for physical computing resource objects. The general resource object model can describe the public attribute information exposed by at least two specifications of physical computing resource objects to virtualized instances. The general resource object model is used by the virtualization manager 103 to create virtual computing resource objects carried on physical computing resource objects for virtualized instances. For detailed description, please refer to the following. For example, Figure 2a The two generations of physical computing resource objects shown in FIG. 1 can use the attribute information of the nth generation physical computing resource object as common attribute information. Figure 2b The two generations of physical computing resource objects shown can use the intersection of the attribute information of the nth generation physical computing resource object and the (n+1)th generation physical computing resource object as common attribute information.
[0032] In the embodiments of the present application, the implementation method of defining a universal resource object model is not limited. The following provides an implementation method of defining a universal resource object model. For example, according to the resource integration requirements of the physical computing resources of the new and old specifications, at least two specifications of physical computing resource objects and their respective attribute information can be determined; the attribute information of the at least two specifications of the physical computing resource objects can be intersected to obtain common attribute information; based on the common attribute information, a universal resource object model is generated, and the universal resource object model at least includes the common attribute information. Alternatively, according to the idle state of the physical computing resource objects of the new and old specifications, at least two specifications of physical computing resource objects and their respective attribute information can be determined; the attribute information of the at least two specifications of the physical computing resource objects can be intersected to obtain common attribute information; based on the common attribute information, a universal resource object model is generated. Alternatively, according to the resource integration requirements of the physical computing resources of the new and old specifications and the idle state of the physical computing resource objects of the new and old specifications, at least two specifications of physical computing resource objects and their respective attribute information can be determined; the attribute information of the at least two specifications of the physical computing resource objects can be intersected to obtain common attribute information; based on the common attribute information, a universal resource object model is generated.
[0033] For example, with the upgrade of physical computing resource objects and instance specifications, more and more sixth-generation virtualization instances are migrated to the sixth-generation physical computing resource objects, causing the fifth-generation physical computing resource objects to be idle. In order to make full use of the fifth-generation physical computing resource objects, it is possible to consider integrating the fifth-generation physical computing resource objects with the fourth-generation physical computing resource objects to obtain a general resource object model covering the fourth-generation and fifth-generation physical computing resource objects. Based on the general resource object model, the fourth-generation virtualization instance can be run on the fifth-generation physical computing resource object, so that the fifth-generation physical computing resource object is fully utilized and the idle rate is reduced. In addition, because the general resource object model shields the difference between the fifth-generation and fourth-generation physical computing resource objects, users are unaware of whether they use the fourth-generation physical computing resource objects or the fifth-generation physical computing resource objects to run their virtualized computing instances, and can ensure that users obtain the service performance that the fourth-generation virtualization instances should have.
[0034] Further optionally, some characteristic attribute information is selected from the non-public attribute information and added to the general resource object model. Figure 2b In the scenario shown, some characteristic attribute information can be selected from the non-intersection part of the n+1th generation physical computing resource objects and added to the general resource object model.
[0035] Among them, the public attribute information exposed by the general resource object model to the virtualized instance can be the instruction set and feature information supported by the physical computing resource object, and can further include: basic information. Table 1 takes the general resource object model as a general virtual processor (virtual CPU, vCPU) model as an example to illustrate the public attribute information exposed to the virtualized instance by at least two specifications of the general resource object model. The details are as follows:
[0036] Table 1
[0037]
[0038] In this embodiment, the virtualization manager 103 can select a general resource object model for the virtualized instance during the initialization process of any virtualized instance created, and can create a virtual computing resource object carried on the physical computing resource object for the virtualized instance according to the public attribute information described by the general resource object model, and schedule the virtual computing resource object to run the virtualized instance. For the convenience of description and distinction, any virtualized instance is referred to as a target virtualized instance. Among them, depending on the physical computing resource object, the virtual computing resource object carried on the physical computing resource object will also be different. If the physical computing resource object is a VPU, GPU, DPU, TPU, CIPU or ASIC, then the corresponding virtual computing resource object can be a virtual vCPU, virtual (virtual GPU, vGPU), virtual (virtual DPU, vDPU), virtual (virtual TPU, vTPU), virtual (virtual CIPU, vCIPU) or virtual (virtual ASIC, vASIC), etc.
[0039] In an embodiment of the present application, a general resource object model is provided, which describes the public attribute information exposed by physical computing resource objects of at least two specifications to the virtualized instance. According to the public attribute information described by the general resource object model, a virtual computing resource object carried on the physical computing resource object is created for the virtualized instance, and the virtual computing resource object is scheduled to run the virtualized instance. Among them, the general resource object model can be used to create a virtual computing resource object for a virtualized instance adapted to the general resource object model in terms of resource specifications, and can be compatible with at least two specifications of physical computing resource objects, unify at least two specifications of physical computing resource objects, shield the hardware differences of at least two specifications of physical computing resource objects, enhance the flexibility and compatibility of creating virtualized instances, and the general resource object model can be used to allow relatively low-specification physical computing resource objects to carry lower-specification virtualized instances downward, for example, the fifth-generation physical computing resource object can carry the fourth-generation, third-generation and other virtualized instances, improve the utilization rate of low-specification physical computing resource objects, and reduce idle computing resources and waste.
[0040] In an optional embodiment, the internal implementation structure of the virtualization manager 103 is not limited. Any structure that can create and manage virtualization instances is applicable to the embodiment of the present application. An example of the internal structure of the virtualization manager 103 is given below. Figure 3aAs shown, the virtualization manager 103 includes a first virtualization component 103a located in the user state and a second virtualization component 103b located in the kernel state. The first virtualization component 103a located in the user state can be a virtual operating system simulator (Quick EMUlator, QEMU). The second virtualization component 103b located in the kernel state can be a kernel-based virtual machine (KVM). The virtualization manager 103 selects a general resource object model for the target virtualization instance, and can create a virtual computing resource object for the target virtualization instance according to the public attribute information described by the general resource object model, and schedules the virtual computing resource object to run the function of the target virtualization instance, which can be implemented by the first virtualization component 103a and the second virtualization component 103b.
[0041] Specifically, the first virtualization component 103a can select a general resource object model for the target virtualization instance according to the model configuration requirements during the initialization process of the target virtualization instance. The model configuration requirements can be provided by a user who has the need to create a virtualization instance, or can be configured by an administrator, or can be a pre-configured default model configuration requirement, which is not limited. The following examples are provided:
[0042] Optionally, the virtualization manager 103 can also provide a monitor console to interact with the user. The monitor console provides a human-computer interaction interface for the user, and the user selects the configuration requirement information of the virtualization instance to be created on the human-computer interaction interface. The configuration requirement information includes a model configuration requirement, and the model configuration requirement includes: the resource object model used to create the virtualization instance. Of course, the configuration requirement information can also include: the storage configuration requirement and network configuration requirement resources of the virtualization instance to be created, etc. When the user determines to use the universal resource object model to create the virtualization instance, the monitor console generates a configuration file of the virtualization instance to be created according to the configuration requirement information, and the configuration file includes the identification information of the universal resource object model. The identification information of the universal resource object model can be any number, letter or symbol that can identify the universal resource object model, alone or in combination. For example, the identification information of the universal resource object model is A1, A_1 or 11, etc.
[0043] Accordingly, see Figure 3a , the hardware resource 101 of the physical machine is also deployed with: a model management component 104 in the user state, and the monitor console can provide the configuration file of the virtualized instance to be created to the model management component 104. The model management component 104 can receive the configuration file and provide the identification information of the universal resource object model included in the configuration file to the first virtualization component 103a to enable the universal resource object model, such as Figure 3bWhen the universal resource object model is enabled, the first virtualization component 103a may select the universal resource object model from multiple resource object models according to the identification information of the universal resource object model.
[0044] Optionally, the first virtualization component 103a is also used to maintain and manage the universal resource object model and its identification information. The identification information of the universal resource object model can be any number, letter or symbol alone or in combination, and is not limited thereto. Figure 3b As shown, during the operation of the target virtualization instance, the general resource object model is allowed to be modified dynamically. For example, the administrator can initiate a model modification instruction to the first virtualization component 103a to dynamically modify the general resource object model, for example, the attribute information of the general resource object model itself, such as the model name, can be modified; the public attribute information of at least two specifications of the physical computing resource objects described by the general resource object model can also be modified, such as deleting the series, manufacturer and other attribute information contained in the public attribute information, and / or adding new attribute information not contained in the public attribute information. Accordingly, the first virtualization component 103a can modify the general resource object model in response to the model modification instruction during the operation of the target virtualization instance.
[0045] In addition, the first virtualization component 103a is also used to maintain and manage a dedicated resource object model. That is to say, the first virtualization component 103a can maintain and manage multiple resource object models, and the multiple resource object models include: a general resource object model and a dedicated resource object model. Among them, the dedicated resource object model is used to constrain the attribute information exposed by a physical computing resource object of a certain specification to the virtualization instance. For example, the nth generation dedicated resource object model is used to describe the attribute information exposed by the nth generation physical computing resource object to the virtualization instance, and the n+1th generation dedicated resource object model is used to describe the attribute information exposed by the n+1th generation physical computing resource object to the virtualization instance. Among them, for the nth generation physical computing resource object, according to the attribute information described by the nth generation dedicated resource object model, the nth generation virtual computing resource object carried on the nth generation physical computing resource object can be created for the nth generation virtualization instance, and the nth generation virtual computing resource object is scheduled to run the nth generation virtualization instance. The dedicated resource object model allows the nth generation virtualized instance to run on the nth generation physical computing resource object, and cannot run on physical computing resource objects of other generations (or specifications).
[0046] Further, if Figure 3bAs shown, if the model management component 104 does not receive a configuration file including identification information of a general resource object model, it can be considered that the general resource object model is not enabled. In the case where the general resource object model is not enabled, a dedicated resource object model adapted to the target virtualization instance specification can be selected for use.
[0047] In addition to maintaining and managing the general resource object model and the special resource object model, the first virtualization component 103a is also responsible for converting the public attribute information described by the general resource object model into a target operation instruction that can be recognized by the target virtualization instance. Among them, the target operation instruction is an instruction to read various public attribute information of the physical computing resource object. For example, when the physical computing resource object is implemented as a CPU, the target operation instruction that can be recognized by the target virtualization instance can be a processor operation code (CPUID). CPUID is an instruction to read various hardware information of the CPU. In an embodiment of the present application, it is mainly used to read the CPU hardware information contained in the public attribute information described by the general resource object model, such as reading the value of the relevant register. Further, the first virtualization component 103a is also responsible for providing the target operation instruction to the second virtualization component 103b.
[0048] The second virtualization component 103b can receive the target operation instruction provided by the first virtualization component 103a, and create a virtual computing resource object capable of executing the target operation instruction for the target virtualization instance. The virtual computing resource object can present the attribute information (i.e., public attribute information) of the physical computing resource object described by the target operation instruction to the target virtualization instance, and call the virtual computing resource object to run the target virtualization instance. Wherein, in the case where the physical computing resource object is a CPU, the virtualization manager creates the virtual computing resource object specifically by creating a vCPU, wherein the process of creating a vCPU is a prior art and will not be repeated here.
[0049] Among them, the second virtualization component 103b calls the virtual computing resource object to run the target virtualization instance, which at least includes: the second virtualization component 103b simulates the virtualization computing resource object to execute the target operation instruction called by the target virtualization instance, and / or, when the target virtualization instance exits to the kernel state, simulates the virtualization computing resource object to perform corresponding processing.
[0050] Specifically, the second virtualization component 103b can provide the target operation instruction to the target virtualization instance, and the target virtualization instance can call the target operation instruction. The target virtualization instance calls the target operation instruction (such as CPUID) and can query the public attribute information of the physical computing resource object described by the target operation instruction (such as CPUID). For example, in Table 1, the series, mode, step number and characteristics of the physical computing resource object can be queried through the target operation instruction 0x01. Accordingly, the second virtualization component 103b can respond to the operation of the target virtualization instance calling the target operation instruction in the process of scheduling the virtual computing resource object to run the target virtualization instance, simulate the execution of the target operation instruction, and return the attribute information corresponding to the target operation instruction to the target virtualization instance. Among them, the simulation of the execution of the target operation instruction does not really run the target operation instruction on the physical computing resource object, but only obtains the attribute information corresponding to the target operation instruction from the maintained data structure and returns it to the target virtualization instance.
[0051] Table 1 is used as an example: if the target virtualization instance calls the CPUID corresponding to 0x00, the CPUID is simulated and executed to return the CPU level and vendor to the target virtualization instance; if the target virtualization instance calls the CPUID corresponding to 0x01, the CPUID is simulated and executed to return the pCPU family, model, stepping ID, features and other attribute information to the target virtualization instance. Among them, the target virtualization instance can learn which feature services the pCPU exposes to the virtualization instance through the attribute information of features, and these feature services correspond to specific registers. The target virtualization instance can determine the register information corresponding to these feature services, and access the registers corresponding to these feature services to achieve the purpose of using these feature services.
[0052] Based on the above, when the second virtualization component 103b returns the attribute information corresponding to the target operation instruction to the target virtualization instance, when the target virtualization instance chooses to use the target feature service in the feature service as needed, the target virtualization instance can determine the register information corresponding to the target feature service and access the register corresponding to the target feature service to use the target feature service. Further, in the process of accessing the register information, the target virtualization instance can determine whether the currently accessed register needs to be returned to the kernel state according to the default access interception information; if necessary, it exits to the kernel state, and the second virtualization component simulation 103b simulates the access operation of the current register to return the value of the current register to the target virtualization instance; if it does not need to return to the kernel state, the value of the register on the physical computing resource object is directly accessed. Among them, the default access interception information can include the register information that can be directly accessed on the physical computing resource object and the register information that needs to be returned to the kernel state for access.
[0053] In some application scenarios, some physical computing resource objects support some feature information, while the general resource object model does not support such feature information. Figure 2a In the example, the public attribute information of the general resource object model is the attribute information of the nth generation physical computing resource object. In addition to the public attribute information, the n+1th generation physical computing resource object also includes other attribute information. The general resource object model does not support the characteristic information contained in the above other attribute information. In this case, in order to avoid the target virtualization instance from using characteristic information that is not exposed or supported by the general resource object model, it may be necessary to impose certain constraints on the access behavior of the target virtualization instance, so that the access behavior of the target virtualization instance is compatible with the attribute information exposed by the physical computing resource object to the virtualization instance through the general resource object model, so as to avoid errors in the operation process of the virtualization instance or avoid causing security problems to the physical computing resource object. Therefore, the first virtualization component 103a can generate access constraint information corresponding to the target virtualization instance according to the target operation instruction, and provide the access constraint information to the second virtualization component 103b, so that the second virtualization component 103b can assist in determining whether to allow the access operation of the target virtualization instance when the target virtualization instance exits to the kernel state.
[0054] Among them, the access behavior of the target virtualization instance mainly refers to the target virtualization instance's access behavior to the registers corresponding to these feature services in the process of using the feature services exposed by the physical computing resource object. For example, in the case where the physical computing resource object is an x86 architecture CPU, the registers corresponding to the feature services supported by the CPU can be model-specific registers (Model Specific Register, MSR). MSR is a series of registers in the x86 architecture processor that are used to control pCPU operation, function switches, debugging, tracking program execution, and monitoring pCPU performance. Therefore, placing certain constraints on the access behavior of the target virtualization instance is to constrain the target virtualization instance's ability to read and write MSR registers. Specifically, access constraint information for the target virtualization instance to access the MSR register can be generated according to the target operation instruction. The access constraint information is used to describe whether the target virtualization instance is allowed to access the MSR register on the pCPU. In the pCPU scenario, the access constraint information can also be called an MSR filter.
[0055] For example, the target operation instruction can reflect the register information of the physical computing resource object that the universal resource object model allows the target virtualization instance to access, and the access constraint information can be generated according to the register information that the target virtualization instance is allowed to access and the various register information included in the physical computing resource object parsed through the target operation instruction. Among them, the access constraint information can include the register information on the physical computing resource object that the target virtualization instance is allowed to access, or the access constraint information includes the register information on the physical computing resource object that the target virtualization instance is not allowed to access, or the access constraint information can simultaneously include the register information on the physical computing resource object that the target virtualization instance is allowed to access and the register information that the target virtualization instance is not allowed to access. In the case where the access constraint information simultaneously includes the register information on the physical computing resource object that the target virtualization instance is allowed to access and the register information that the target virtualization instance is not allowed to access, the access constraint information can be implemented as a bitmap, and the bitmap includes bits corresponding to all registers, and the bits corresponding to the registers that are allowed to be accessed are marked with 1, and the bits corresponding to the registers that are not allowed to be accessed are marked with 0.
[0056] Among them, the second virtualization component 103b maintains default access interception information, which is mainly used to describe the way of register information on the physical computing resource object accessed by the target virtualization instance. There are mainly two ways, one of which requires exiting to the kernel state to access the register information on the physical computing resource object, and the other is to directly access the register information on the physical computing resource object, such as the register that controls the system time. For example, during the initialization process of the second virtualization component 103b, the register on the physical computing resource object in the default access interception information can be set to exit to the kernel state for access. Optionally, in the subsequent process, the management personnel can set some registers in the default access interception information to direct access according to the use requirements. The default access interception information can include register information that can be directly accessed on the physical computing resource object and register information that needs to be exited to the kernel state for access. For example, in an optional embodiment, the default access interception information is implemented as a bitmap, and the register marked as 0 represents the register information that can be directly accessed on the physical computing resource object, and the register marked as 1 represents the register information that needs to be exited to the kernel state for access on the physical computing resource object. Of course, the default access interception information may separately include register information that can be directly accessed on the physical computing resource object, or separately include register information that needs to be accessed by exiting to the kernel state.
[0057] In this embodiment, because the access constraint information is added, the second virtualization component 103b can receive the access constraint information provided by the first virtualization component, and according to the access constraint information, the default access interception information corresponding to the target virtualization instance is corrected to obtain the target access interception information, so as to avoid the following situation, that is, the access constraint information does not allow access, but the default access interception information indicates the register information that can be directly accessed, and then the register value is obtained by direct access, resulting in the virtualization instance accessing the register that is not allowed to be accessed on the physical computing resource object. The target access interception information can constrain the register read and write capabilities, so that the feature information supported by the general resource object model is consistent, and the hardware differences of the physical computing resource object are shielded. Among them, the target access permission interception information includes the register information that can be directly accessed on the physical computing resource object and the register information that needs to be accessed by retreating to the kernel state. Of course, the target access permission interception information can separately include the register information that can be directly accessed on the physical computing resource object, or the target access permission interception information can separately include the register information that needs to be accessed by retreating to the kernel state on the physical computing resource object.
[0058] Optionally, the second virtualization component 103b can determine the target register information based on the access constraint information and the default access interception information, where the target register information is the register information that is marked as not allowed to be accessed in the access constraint information but is marked as directly accessible in the default access interception information; for example, for each register, the access constraint information and the target access interception information are queried respectively to determine whether the register belongs to the target register information; or, based on one of the access constraint information and the target access interception information, the registers are traversed, and each time a register is traversed, the state of the register in the other information is checked (e.g., whether access is allowed or whether to exit to kernel state), thereby determining the target register. The target register information in the default access interception information is marked as requiring exit to kernel state for access, so as to obtain the target access interception information.
[0059] The following four situations are explained.
[0060] Case 1: For register X1, if the access constraint information allows access to the register X1, and the default access interception information marks that register X1 can be directly accessed (without exiting to the kernel), then the register X1 in the target access interception information is marked as not exiting to the kernel.
[0061] Case 2: For register X2, if the access constraint information does not allow access to the register X2, and the default access interception information marks that register X2 can be directly accessed (without exiting to the kernel), then the register X2 in the target access interception information is marked as exiting to the kernel.
[0062] Case 3: For register X3, if the access constraint information allows access to the register X3, and the default access interception information marks register X3 as exiting to the kernel access, then the register X3 is marked as exiting to the kernel in the target access interception information.
[0063] Case 4: For register X4, if the access constraint information does not allow access to the register X4, and the default access interception information marks register X4 as exiting to the kernel access, then the register X4 is marked as exiting to the kernel in the target access interception information.
[0064] Optionally, the second virtualization component 103b may provide the target access interception information to the target virtualization instance, such as Figure 3cAs shown, when the target virtualization instance accesses a register (such as an MSR) on a physical computing resource object, it can determine whether to exit to the kernel state based on the target access interception information; when it is determined that it is necessary to exit to the kernel state, the second virtualization component 103b can determine whether the current register is a register that is allowed to be accessed on the physical computing resource object based on the access constraint information; if the judgment result is yes, the access operation of the current register is simulated to return the value of the current register to the target virtualization instance; if the judgment result is no, an error prompt information is returned to the target virtualization instance, for example, the error prompt information can be a general protection error (General Protect, GP), indicating that the virtualization instance is not allowed to access the register on the physical computing resource object.
[0065] In addition to providing the above-mentioned physical machine, the embodiment of the present application also provides a resource object processing method, such as Figure 4 As shown, the method includes:
[0066] 401. During the initialization of the target virtualized instance, a general resource object model is selected for the target virtualized instance, where the general resource object model is used to describe public attribute information exposed to the virtualized instance by at least two specifications of physical computing resource objects;
[0067] 402. Create a virtual computing resource object carried on the physical computing resource object for the target virtualization instance according to the public attribute information described by the general resource object model, and schedule the virtual computing resource object to run the target virtualization instance.
[0068] In an optional embodiment, during the initialization process of the target virtualization instance, a general resource object model is selected for the target virtualization instance, including: during the initialization process of the target virtualization instance, according to the model configuration requirements, a general resource object model is selected for the target virtualization instance; according to the public attribute information described by the general resource object model, a virtual computing resource object carried on the physical computing resource object is created for the target virtualization instance, including: converting the public attribute information described by the general resource object model into target operation instructions recognizable by the target virtualization instance; creating a virtual computing resource object capable of executing the target operation instructions for the target virtualization instance.
[0069] Optionally, based on the model configuration requirements, a general resource object model is selected for the target virtualization instance, including: receiving a configuration file, the configuration file is generated based on the model configuration requirements, and the configuration file includes identification information of the general resource object model; based on the identification information of the general resource object, the general resource object model is selected from multiple resource object models, and the multiple resource object models also include a special resource object model for constraining the attribute information exposed by a physical computing resource object of a certain specification to the virtualization instance.
[0070] In an optional embodiment, the method provided by the embodiment of the present application also includes: generating access constraint information corresponding to the target virtualization instance according to the target operation instruction, the access constraint information including register information allowed to be accessed and / or register information not allowed to be accessed on the physical computing resource object; based on the access constraint information, correcting the default access interception information corresponding to the target virtualization instance to obtain target access interception information; the default or target access permission interception information includes register information that can be directly accessed on the physical computing resource object and / or register information that needs to be exited to kernel mode to access.
[0071] Optionally, based on the access constraint information, the default access interception information corresponding to the target virtualization instance is modified to obtain the target access interception information, including: determining the target register information based on the access constraint information and the default access interception information, the target register information being the register information that is marked as not allowed to be accessed in the access constraint information but is marked as directly accessible in the default access interception information; marking the target register information in the default access interception information as requiring exit to kernel mode for access to obtain the target access interception information.
[0072] Optionally, the method provided by the embodiment of the present application also includes: when the target virtualization instance returns to the kernel state due to accessing the current register, judging whether the current register is a register allowed to be accessed on the physical computing resource object according to the access constraint information; when the judgment result is yes, simulating the access operation of the current register to return the value of the current register to the target virtualization instance; when the judgment result is no, returning an error prompt message to the target virtualization instance; wherein, the target virtualization instance judges that the current access register needs to be returned to the kernel state according to the target access interception information.
[0073] In an optional embodiment, the method provided by the embodiment of the present application also includes: in the process of scheduling the virtual computing resource object to run the target virtualization instance, responding to the operation of the target virtualization instance calling the target operation instruction, simulating the execution of the target operation instruction to return attribute information corresponding to the target operation instruction to the target virtualization instance.
[0074] In an optional embodiment, the method provided in the embodiment of the present application also includes: determining at least two specifications of physical computing resource objects and their respective attribute information based on the resource integration requirements for new and old specifications of physical computing resources and / or the idle status of new and old specifications of physical computing resource objects; finding the intersection of the attribute information of at least two specifications of physical computing resource objects to obtain common attribute information; and generating a general resource object model based on the common attribute information, the general resource object model at least including the common attribute information.
[0075] Optionally, the method provided in the embodiment of the present application also includes: selecting part of the characteristic attribute information from the non-public attribute information, and adding it to the general resource object model.
[0076] In an optional embodiment, the method provided by the embodiment of the present application further includes: during the operation of the target virtualization instance, in response to a model modification instruction, modifying the general resource object model.
[0077] In addition to providing the above resource object processing method, the embodiment of the present application also provides a register access method, such as Figure 5 As shown, the method includes:
[0078] 501. When the target virtualized instance returns to the kernel state due to accessing the current register, determine whether the current register is a register that is allowed to be accessed on the physical computing resource object according to the access constraint information;
[0079] 502. When the judgment result is yes, simulate the access operation of the current register to return the value of the current register to the target virtualization instance; wherein the target virtualization instance determines that the current access register needs to be returned to the kernel state based on the target access interception information; the access constraint information includes the register information allowed to be accessed and / or the register information not allowed to be accessed on the physical computing resource object; the target access permission interception information includes the register information that can be directly accessed on the physical computing resource object and / or the register information that needs to be returned to the kernel state for access.
[0080] In an optional embodiment, the method provided in the embodiment of the present application further includes: when the judgment result is negative, returning error prompt information to the target virtualization instance.
[0081] In an optional embodiment, the method provided in the embodiment of the present application also includes: generating access constraint information corresponding to the target virtualization instance according to the target operation instruction; wherein the target operation instruction is an operation instruction recognizable by the target virtualization instance obtained by converting the public attribute information described by the general resource object model; the general resource object model is used to describe the public attribute information exposed to the virtualization instance by at least two specifications of physical computing resource objects.
[0082] The detailed implementation and beneficial effects of each step in the method of this embodiment have been described in detail in the aforementioned embodiments and will not be elaborated here.
[0083] It should be noted that the execution subject of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution subject of step 401 to step 402 can be device A; for another example, the execution subject of step 401 can be device A, and the execution subject of step 402 can be device B; and so on.
[0084] In addition, in some of the processes described in the above embodiments and the accompanying drawings, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or executed in parallel, and the sequence numbers of the operations, such as 401, 402, etc., are only used to distinguish between different operations, and the sequence numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., do not represent the order of precedence, and do not limit the "first" and "second" to be different types.
[0085] Figure 6 The exemplary embodiment of the present application provides a schematic diagram of a resource object processing device, such as Figure 6 As shown, the device includes: a selection module 61, a creation module 62 and a scheduling module 63.
[0086] A selection module 61 is used to select a universal resource object model for the target virtualization instance during the initialization process of the target virtualization instance, where the universal resource object model is used to describe public attribute information exposed to the virtualization instance by at least two specifications of physical computing resource objects;
[0087] A creation module 62, configured to create a virtual computing resource object carried on a physical computing resource object for a target virtualization instance according to the public attribute information described in the general resource object model;
[0088] The scheduling module 63 is used to schedule the virtual computing resource object to run the target virtualized instance.
[0089] In an optional embodiment, the selection module is specifically used to: during the initialization process of the target virtualization instance, according to the model configuration requirements, select a general resource object model for the target virtualization instance; the creation module is specifically used to: convert the public attribute information described by the general resource object model into target operation instructions recognizable by the target virtualization instance; and create a virtual computing resource object capable of executing the target operation instructions for the target virtualization instance.
[0090] Optionally, the device also includes a transceiver module; the transceiver module is used to receive a configuration file, the configuration file is generated according to the model configuration requirements, and the configuration file includes identification information of the general resource object model; the selection module is specifically used to: select a general resource object model from multiple resource object models according to the identification information of the general resource object, and the multiple resource object models also include a special resource object model for constraining the attribute information exposed by a physical computing resource object of a certain specification to a virtualized instance.
[0091] In an optional embodiment, the device also includes a generation module and a correction module; the generation module is used to generate access constraint information corresponding to the target virtualization instance according to the target operation instruction, and the access constraint information includes register information that is allowed to be accessed and / or register information that is not allowed to be accessed on the physical computing resource object; the correction module is used to correct the default access interception information corresponding to the target virtualization instance according to the access constraint information to obtain target access interception information; the default or target access permission interception information includes register information that can be directly accessed on the physical computing resource object and / or register information that needs to be accessed after exiting to kernel mode.
[0092] Optionally, the correction module is specifically used to: determine the target register information based on the access constraint information and the default access interception information, the target register information is the register information that is marked as not allowed to be accessed in the access constraint information but is marked as directly accessible in the default access interception information; mark the target register information in the default access interception information as requiring exit to kernel mode for access, so as to obtain the target access interception information.
[0093] In an optional embodiment, the device includes: a judgment module and a simulation module; the judgment module is used to judge whether the current register is a register allowed to be accessed on the physical computing resource object according to the access constraint information when the target virtualization instance returns to the kernel state due to accessing the current register; the simulation module is used to simulate the access operation of the current register when the judgment result is yes, so as to return the value of the current register to the target virtualization instance; the transceiver module is also used to return an error prompt message to the target virtualization instance when the judgment result is no; wherein the target virtualization instance judges that the current access register needs to be returned to the kernel state based on the target access interception information.
[0094] In an optional embodiment, the simulation module is also used to: in the process of scheduling the virtual computing resource object to run the target virtualization instance, respond to the operation of the target virtualization instance calling the target operation instruction, simulate the execution of the target operation instruction, and return attribute information corresponding to the target operation instruction to the target virtualization instance.
[0095] In an optional embodiment, the device also includes: a determination module and a processing module; the determination module is used to determine at least two specifications of physical computing resource objects and their respective attribute information based on the resource integration requirements of new and old specifications of physical computing resources and / or the idle status of new and old specifications of physical computing resource objects; the processing module is used to find the intersection of the attribute information of at least two specifications of physical computing resource objects to obtain common attribute information; the generation module is used to generate a general resource object model based on the common attribute information, and the general resource object model at least includes the common attribute information.
[0096] Optionally, the device further comprises: an adding module; the selecting module is further used to select part of the characteristic attribute information from the non-public attribute information, and the adding module is used to add it to the general resource object model.
[0097] In an optional embodiment, the device further includes: a modification module; the modification module is used to modify the general resource object model in response to the model modification instruction during the operation of the target virtualization instance.
[0098] Figure 7 A schematic diagram of a register access device provided by an exemplary embodiment of the present application is shown in FIG. Figure 7 As shown, the device includes: a judgment module 71 and a simulation module 72.
[0099] The judging module 71 is used to judge whether the current register is a register that is allowed to be accessed on the physical computing resource object according to the access constraint information when the target virtualized instance returns to the kernel state due to accessing the current register;
[0100] The simulation module 72 is used to simulate the access operation of the current register to return the value of the current register to the target virtualization instance when the judgment result is yes; wherein the target virtualization instance determines that the current access register needs to be returned to the kernel state based on the target access interception information; the access constraint information includes the register information allowed to be accessed and / or the register information not allowed to be accessed on the physical computing resource object; the target access permission interception information includes the register information that can be directly accessed on the physical computing resource object and / or the register information that needs to be returned to the kernel state for access.
[0101] In an optional embodiment, the device further includes: a return module; the return module is used to return error prompt information to the target virtualization instance when the judgment result is no.
[0102] In an optional embodiment, the device also includes: a generation module; a generation module, used to generate access constraint information corresponding to the target virtualization instance based on the target operation instruction; wherein the target operation instruction is an operation instruction recognizable by the target virtualization instance obtained by converting the public attribute information described in the general resource object model; the general resource object model is used to describe the public attribute information exposed to the virtualization instance by at least two specifications of physical computing resource objects.
[0103] The detailed implementation and beneficial effects of each step in the device of this embodiment have been described in detail in the aforementioned embodiments and will not be elaborated here.
[0104] The embodiment of the present application also provides a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, each step in the resource object processing method and the register access method can be implemented.
[0105] The above-mentioned memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read only memory (EEPROM), erasable programmable read only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.
[0106] The above-mentioned communication component is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be based on Radio Frequency Identification (RFID) technology, Infrared Data Association (IrDA) technology, Ultra Wide Band (UWB) technology, Bluetooth (BT) technology and other technologies.
[0107] The above-mentioned display includes a screen, and the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.
[0108] The power supply assembly provides power to various components of the device where the power supply assembly is located. The power supply assembly may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device where the power supply assembly is located.
[0109] The above-mentioned audio component can be configured to output and / or input audio signals. For example, the audio component includes a microphone (Microphone, MIC), and when the device where the audio component is located is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in a memory or sent via a communication component. In some embodiments, the audio component also includes a speaker for outputting an audio signal.
[0110] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-readable storage media (including but not limited to disk storage, compact disc read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage, etc.) containing computer-usable program code.
[0111] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0112] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0113] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0114] In a typical configuration, a computing device includes one or more processors (Central Processing Unit, CPU), input / output interface, network interface and memory.
[0115] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0116] Computer readable media include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase-change random access memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0117] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0118] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.
Claims
1. A physical machine, characterized in that: A virtualization manager is deployed on the hardware resources of the physical machine, and the hardware resources at least include physical computing resource objects; the virtualization manager is used to create and manage virtualization instances; The virtualization manager is further used to: during the initialization process of the target virtualization instance, select a universal resource object model for the target virtualization instance, wherein the universal resource object model is used to describe public attribute information exposed to the virtualization instance by at least two specifications of physical computing resource objects; and According to the public attribute information described by the general resource object model, a virtual computing resource object carried on the physical computing resource object is created for the target virtualization instance, and the virtual computing resource object is scheduled to run the target virtualization instance.
2. The physical machine according to claim 1, characterized in that: The virtualization manager includes a first virtualization component located in a user state and a second virtualization component located in a kernel state; The first virtualization component is used to select a universal resource object model for the target virtualization instance according to the model configuration requirements during the initialization process of the target virtualization instance; convert the public attribute information described by the universal resource object model into a target operation instruction recognizable by the target virtualization instance; and provide the target operation instruction to the second virtualization component; The second virtualization component is used to receive the target operation instruction, create a virtual computing resource object capable of executing the target operation instruction for the target virtualization instance, and call the virtual computing resource object to run the target virtualization instance.
3. The physical machine according to claim 2, characterized in that: The hardware resources are also deployed with: a model management component in user mode; The model management component is used to receive a configuration file, the configuration file is generated according to the model configuration requirements, the configuration file includes identification information of a general resource object model, and provide the identification information of the general resource object to the first virtualization component; The first virtualization component is specifically used to: select a general resource object model from multiple resource object models according to the identification information of the general resource object, and the multiple resource object models also include a special resource object model for constraining the attribute information exposed by a physical computing resource object of a certain specification to the virtualization instance.
4. The physical machine according to claim 2, characterized in that: The first virtualization component is also used for: Generate access constraint information corresponding to the target virtualization instance according to the target operation instruction, and provide the access constraint information to the second virtualization component; the access constraint information includes register information that is allowed to be accessed and / or register information that is not allowed to be accessed on the physical computing resource object; The second virtualization component is also used to: modify the default access interception information corresponding to the target virtualization instance according to the access constraint information to obtain target access interception information; the default or target access permission interception information includes register information that can be directly accessed on the physical computing resource object and / or register information that needs to be exited to kernel state to access.
5. The physical machine according to claim 4, characterized in that: The second virtualization component is further configured to: In a case where the target virtualization instance returns to the kernel state due to accessing the current register, judging whether the current register is a register allowed to be accessed on the physical computing resource object according to the access constraint information; If the judgment result is yes, simulate the access operation of the current register to return the value of the current register to the target virtualization instance; if the judgment result is no, return error prompt information to the target virtualization instance; The target virtualization instance determines that the current access register needs to be returned to the kernel state according to the target access interception information.
6. A resource object processing method, characterized in that: include: During the initialization of the target virtualized instance, a universal resource object model is selected for the target virtualized instance, wherein the universal resource object model is used to describe common attribute information exposed to the virtualized instance by at least two specifications of physical computing resource objects; and According to the public attribute information described by the general resource object model, a virtual computing resource object carried on the physical computing resource object is created for the target virtualization instance, and the virtual computing resource object is scheduled to run the target virtualization instance.
7. The method according to claim 6, characterized in that During the initialization process of the target virtualization instance, selecting a universal resource object model for the target virtualization instance includes: During the initialization of the target virtualized instance, a general resource object model is selected for the target virtualized instance according to the model configuration requirements; According to the public attribute information described by the universal resource object model, creating a virtual computing resource object carried on the physical computing resource object for the target virtualization instance, including: Converting the common attribute information described by the universal resource object model into a target operation instruction recognizable by the target virtualization instance; A virtual computing resource object capable of executing the target operation instruction is created for the target virtualized instance.
8. The method according to claim 7, characterized in that According to the model configuration requirements, a general resource object model is selected for the target virtualization instance, including: Receive a configuration file, where the configuration file is generated according to a model configuration requirement, and the configuration file includes identification information of a general resource object model; According to the identification information of the universal resource object, a universal resource object model is selected from a plurality of resource object models, wherein the plurality of resource object models also include a dedicated resource object model for constraining attribute information exposed to a virtualized instance by a physical computing resource object of a certain specification.
9. The method according to claim 7, characterized in that: Also includes: Generate access constraint information corresponding to the target virtualization instance according to the target operation instruction, wherein the access constraint information includes register information that is allowed to be accessed and / or register information that is not allowed to be accessed on the physical computing resource object; According to the access constraint information, the default access interception information corresponding to the target virtualization instance is modified to obtain the target access interception information; the default or target access permission interception information includes the register information that can be directly accessed on the physical computing resource object and / or the register information that needs to be accessed by exiting to the kernel state.
10. The method according to claim 9, characterized in that According to the access constraint information, the default access interception information corresponding to the target virtualization instance is modified to obtain target access interception information, including: Determine target register information according to the access constraint information and the default access interception information, wherein the target register information is register information marked as not allowed to be accessed in the access constraint information but marked as directly accessible in the default access interception information; The target register information in the default access interception information is marked as requiring exit to kernel mode for access, so as to obtain the target access interception information.
11. The method according to claim 9, characterized in that Also includes: In a case where the target virtualization instance returns to the kernel state due to accessing the current register, judging whether the current register is a register allowed to be accessed on the physical computing resource object according to the access constraint information; If the judgment result is yes, simulate the access operation of the current register to return the value of the current register to the target virtualization instance; if the judgment result is no, return error prompt information to the target virtualization instance; The target virtualization instance determines that the current access register needs to be returned to the kernel state according to the target access interception information.
12. The method according to any one of claims 6 to 11, characterized in that: Also includes: Determine at least two specifications of physical computing resource objects and their respective attribute information according to resource integration requirements for physical computing resources of new and old specifications and / or idle states of physical computing resource objects of new and old specifications; Obtaining intersection of attribute information of respective physical computing resource objects of at least two specifications to obtain common attribute information; A universal resource object model is generated according to the common attribute information, wherein the universal resource object model at least includes the common attribute information.
13. A register access method, characterized in that: include: In the case where the target virtualization instance returns to the kernel state due to accessing the current register, judging whether the current register is a register that is allowed to be accessed on the physical computing resource object according to the access constraint information; the access constraint information includes register information that is allowed to be accessed and / or register information that is not allowed to be accessed on the physical computing resource object; If the judgment result is yes, simulating the access operation of the current register to return the value of the current register to the target virtualized instance; Among them, the target virtualization instance determines that the current access register needs to be returned to the kernel state based on the target access interception information; the target access permission interception information includes the register information that can be directly accessed on the physical computing resource object and / or the register information that needs to be returned to the kernel state for access.
14. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the processor is caused to implement the steps in the method according to any one of claims 6 to 13.