Resource object processing method, register access method, device and storage medium

By defining a general resource object model and describing the public attribute information of physical computing resource objects of various specifications, the problem of low utilization of physical hosts in the old specifications is solved, and the effect of improving the utilization rate of physical computing resources and reducing waste of computing resources is achieved.

WO2025066468A1PCT designated stage expired Publication Date: 2025-04-03HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/106520
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-26
Filing Date
2024-07-19
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

As the computing power specifications of physical hosts and cloud computing instances continue to be upgraded, the utilization rate of physical hosts of old specifications has decreased, resulting in idle and waste of computing resources.

Method used

By defining a general resource object model, the model describes at least two specifications of physical computing resource objects that are exposed to virtualized instances, and is used to create virtual computing resource objects carried on top of physical computing resource objects, and to schedule virtual computing resource objects to run virtualized instances.

Benefits of technology

This method improves the utilization rate of physical computing resource objects with lower specifications, reduces the idleness and waste of computing resources, and enhances the flexibility and compatibility of virtualized instances.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024106520_03042025_PF_FP_ABST
    Figure CN2024106520_03042025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present disclosure are a resource object processing method, a register access method, a device and a storage medium. The resource object processing method in the embodiments of the present disclosure comprises: providing a general resource object model, which describes common attribute information of physical computing resource objects of at least two specifications that are exposed towards a virtualization instance; and on the basis of the common attribute information described by the general resource object model, creating, for the virtualization instance, virtual computing resource objects carried on the physical computing resource objects, and scheduling the virtual computing resource objects to run the virtualization instance. Virtual computing resource objects are created by means of a general resource object model, and the model is compatible with physical computing resource objects of at least two specifications, such that the physical computing resource objects of the at least two specifications are unified, and the hardware difference between the physical computing resource objects of the at least two specifications is shielded, thus enhancing the flexibility and compatibility of creating a virtualization instance, increasing the utilization rate of physical computing resource objects with relatively low specifications, and reducing the idleness and waste of computing resources.
Need to check novelty before this filing date? Find Prior Art

Description

Resource object processing and register access method, device and storage medium Technical Field

[0001] The present disclosure 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] As user demands for cloud applications evolve and application scenarios continue to evolve, users are placing higher demands on the computing power of the cloud computing instances that host their applications, such as Elastic Compute Service (ECS). Because the physical host hosting the cloud computing instance directly transmits the hardware information, characteristics, and instruction set of its 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] To meet users' demand for computing power in cloud computing instances, cloud service providers continuously upgrade the pCPUs of physical hosts, adding new features, and with these upgrades, the computing power of cloud computing instances also increases accordingly. However, as the computing power of both physical hosts and cloud computing instances continues to increase, users increasingly choose to deploy applications on cloud computing instances with newer specifications. This leads to lower utilization of physical hosts with older specifications, resulting in a significant amount of idle and wasted computing resources.

[0004] Summary of the Invention

[0005] Various aspects of the present disclosure provide a resource object processing and register access method, device, and storage medium to improve the utilization of lower-specification physical computing resource objects and reduce idle and wasted computing resources.

[0006] An embodiment of the present disclosure provides a physical machine, wherein 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 configured to create and manage virtualization instances; the virtualization manager is further configured to: during the initialization process of a target virtualization instance, select a general resource object model for the target virtualization instance, the general resource object model being configured to describe public attribute information exposed to the virtualization instance by physical computing resource objects of at least two specifications; and create a virtual computing resource object carried on the physical computing resource object for the target virtualization instance based on the public attribute information described in the general resource object model, and schedule the virtual computing resource object to run the target virtualization instance.

[0007] An embodiment of the present disclosure 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 configured to describe 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.

[0008] An embodiment of the present disclosure 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 be returned 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 the physical computing resource object; the 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 returned to kernel state for access.

[0009] The embodiments of the present disclosure further provide 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 by the embodiments of the present disclosure.

[0010] In an embodiment of the present disclosure, a universal 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. Based on the public attribute information described by the universal resource object model, a virtual computing resource object is created for the virtualized instance, which is carried on the physical computing resource object, and the virtual computing resource object is scheduled to run the virtualized instance. Among them, creating a virtual computing resource object through the universal resource object model can 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

[0011] The drawings described herein are used to provide a further understanding of the present disclosure and constitute a part of the present disclosure. The exemplary embodiments of the present disclosure and their descriptions are provided to explain the present disclosure and do not constitute an improper limitation of the present disclosure. In the drawings:

[0012] FIG1 is a schematic structural diagram of a physical machine provided by an exemplary embodiment of the present disclosure;

[0013] FIG2a is 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 disclosure;

[0014] FIG2 b is a schematic diagram of another embodiment of the present disclosure, provided by physical computing resource objects of at least two specifications, exposing public attribute information to a virtualized instance;

[0015] FIG3a is a schematic diagram of the internal structure of a virtualization manager provided by an exemplary embodiment of the present disclosure;

[0016] FIG3 b is a schematic structural diagram of a management general resource object model provided by an exemplary embodiment of the present disclosure;

[0017] FIG3c is a schematic diagram of a virtualization instance accessing attribute information of a physical computing resource object provided by an exemplary embodiment of the present disclosure;

[0018] FIG4 is a flow chart of a resource processing method provided by an exemplary embodiment of the present disclosure;

[0019] FIG5 is a flow chart of a register access method provided by an exemplary embodiment of the present disclosure;

[0020] FIG6 is a schematic structural diagram of a resource processing device provided by an exemplary embodiment of the present disclosure;

[0021] FIG7 is a schematic structural diagram of a register access device provided by an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION

[0022] To make the objectives, technical solutions, and advantages of the present disclosure more clear, the technical solutions of the present disclosure will be clearly and completely described below in conjunction with the specific embodiments of the present disclosure and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present disclosure.

[0023] 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 set for analysis, stored data, displayed data, etc.) involved in this disclosure 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 relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0024] As the computing power specifications of physical hosts and cloud computing instances are continuously upgraded, 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 amount of computing resources. In response to this technical problem, in an embodiment of the present disclosure, a universal resource object model is provided, which describes the public attribute information exposed by physical computing resource objects of at least two specifications to virtualization instances. According to the public attribute information described by the universal 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 the universal resource object model, it can 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.

[0025] The technical solutions provided by various embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.

[0026] Figure 1 is a schematic diagram of a physical machine structure provided by an exemplary embodiment of the present disclosure. As shown in Figure 1 , the physical machine includes hardware resources 101 , which include at least physical computing resource objects 102 , and a virtualization manager 103 deployed on the hardware resources 101 .

[0027] In this embodiment, the virtualization manager 103 is configured 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 suitable for the embodiment of the present disclosure. For example, the virtualization manager 103 can be a 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 (ECS), a virtual machine (VM), or a container. The virtualization manager 103 can create and manage any virtualization instance. The following description takes the virtualization manager 103 creating and managing a target virtualization instance as an example.

[0028] In this embodiment, the physical computing resource object 102 can be various physical resource objects with computing capabilities, such as a central processing unit (CPU), a graphics processing unit (GPU), a data processing unit (DPU), a tensor processing unit (TPU), a cloud infrastructure processor (CIPU), and an application specific integrated circuit (ASIC).

[0029] 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.

[0030] In this embodiment, the attribute information of the physical computing resource object refers to the instruction set and features 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 save (XSAVE), Advanced Vector Extensions (AVX) instruction set, Advanced Programmable Interrupt Controller (APIC), extended Advanced Programmable Interrupt Controller (x2APIC), Advanced Configuration and Power Interface (ACPI) and cache line flush (CLFSH); the basic information of the CPU includes: level, family, model, stepping ID, cache and translation lookaside buffer (TLB) and other information.

[0031] 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 exactly the same. For example, in Figure 2a, 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, and some attribute information (such as instruction set) is newly added. The physical computing resource objects of the n+1th generation cover the attribute information supported by the nth generation. For another example, in Figure 2b, compared with the physical computing resource objects of the nth generation, the physical computing resource objects of the n+1th generation have added new attribute information (such as instruction set), and at the same time, some attribute information of the nth generation is deleted. The attribute information of the physical computing resource objects of the n+1th generation and the physical computing resource objects of the nth generation have an intersection.

[0032] The embodiment of the present disclosure defines a universal resource object model for physical computing resource objects. The universal resource object model can describe the public attribute information exposed by physical computing resource objects of at least two specifications to the virtualization instance. The universal resource object model is configured for the virtualization manager 103 to create a virtual computing resource object carried on the physical computing resource object for the virtualization instance. A detailed introduction can be found later. For example, the two generations of physical computing resource objects shown in FIG2a can use the attribute information of the nth generation physical computing resource object as the public attribute information. For another example, the two generations of physical computing resource objects shown in FIG2b can use the intersection of the attribute information of the nth generation physical computing resource object and the n+1th generation physical computing resource object as the public attribute information.

[0033] In the embodiments of the present disclosure, 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, based on the resource integration requirements for physical computing resources of 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 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, based on the idle status of physical computing resource objects of 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 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, based on the resource integration requirements for physical computing resources of new and old specifications and the idle status of physical computing resource objects of 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 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.

[0034] 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 fully utilize 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 universal resource object model covering the fourth and fifth-generation physical computing resource objects. Based on this universal 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 universal resource object model shields the differences between the fifth-generation and fourth-generation physical computing resource objects, users are unaware of whether they use the fourth-generation physical computing resource object or the fifth-generation physical computing resource object to run their virtualized computing instances, and both ensure that users obtain the service performance that the fourth-generation virtualization instance should have.

[0035] Further, optionally, some characteristic attribute information can be selected from the non-public attribute information and added to the general resource object model. For example, in the scenario shown in FIG2b , some characteristic attribute information can be selected from the non-intersecting portion of the (n+1) generation physical computing resource objects and added to the general resource object model.

[0036] 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 an example of a general virtual processor (virtual CPU, vCPU) model to illustrate the public attribute information exposed by the general resource object model to the virtualized instance of at least two specifications of physical computing resource objects. The details are as follows:

[0037] Table 1

[0038] In this embodiment, the virtualization manager 103 can select a universal resource object model for any virtualization instance created during the initialization process of the virtualization instance, and can create a virtual computing resource object carried on the physical computing resource object for the virtualization instance based on the public attribute information described by the universal resource object model, and schedule the virtual computing resource object to run the virtualization instance. For the convenience of description and distinction, any virtualization instance is referred to as a target virtualization 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 disclosure, a universal 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. Based on the public attribute information described by the universal resource object model, a virtual computing resource object is created for the virtualized instance and carried on the physical computing resource object, and the virtual computing resource object is scheduled to run the virtualized instance. Among them, the universal resource object model can be used to create virtual computing resource objects for virtualized instances that are adapted to the resource specifications of the universal resource object model. It 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 universal resource object model can allow relatively low-specification physical computing resource objects to carry lower-specification virtualized instances downward. For example, a fifth-generation physical computing resource object can carry fourth-generation, third-generation, and other virtualized instances, thereby improving the utilization rate of lower-specification physical computing resource objects and reducing 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 virtualized instances is suitable for setting as an embodiment of the present disclosure. An example of the internal structure of the virtualization manager 103 is given below. As shown in Figure 3a, the virtualization manager 103 includes a first virtualization component 103a located in user mode and a second virtualization component 103b located in kernel mode. The first virtualization component 103a located in user mode can be a virtual operating system emulator (Quick EMUlator, QEMU). The second virtualization component 103b located in kernel mode can be a kernel-based virtual machine (KVM). The virtualization manager 103 selects a general resource object model for the target virtualized instance, and can create a virtual computing resource object for the target virtualized instance based on the public attribute information described by the general resource object model, and schedule the virtual computing resource object to run the function of the target virtualized instance, which can be implemented by the first virtualization component 103a and the second virtualization component 103b.

[0041] Specifically, during the initialization process of the target virtualization instance, the first virtualization component 103a can select a universal resource object model for the target virtualization instance based on the model configuration requirements. The model configuration requirements can be provided by a user who has the need to create a virtualization instance, can be configured by an administrator, or can be a pre-configured default model configuration requirement, without limitation. The following examples illustrate:

[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. 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 model configuration requirements, and the model configuration requirements include: creating the resource object model used by the virtualization instance. Of course, the configuration requirement information can also include: storage configuration requirements and network configuration requirement resources for the virtualization instance to be created. When the user determines to use a universal resource object model to create the virtualization instance, the monitor console generates a configuration file for the virtualization instance to be created based on the configuration requirement information. The configuration file includes 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, referring to FIG3a , the hardware resources 101 of the physical machine are further deployed with a model management component 104 in user mode. 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, as shown in FIG3b . When the universal resource object model is enabled, the first virtualization component 103a can select the universal resource object model from multiple resource object models based on the identification information of the universal resource object model.

[0044] Optionally, the first virtualization component 103a is also configured 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 there is no limitation on this. Further optionally, as shown in Figure 3b, during the operation of the target virtualization instance, the universal 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 universal resource object model. For example, the attribute information of the universal 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 universal 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 universal 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 configured to maintain and manage a dedicated resource object model. That is, 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 configured to constrain the attribute information exposed by a physical computing resource object of a certain specification to the virtualization instance. For example, the n-th generation dedicated resource object model is configured to describe the attribute information exposed by the n-th generation physical computing resource object to the virtualization instance, and the n+1-th generation dedicated resource object model is configured to describe the attribute information exposed by the n+1-th generation physical computing resource object to the virtualization instance. Among them, for the n-th generation physical computing resource object, based on the attribute information described by the n-th generation dedicated resource object model, an n-th generation virtual computing resource object carried on the n-th generation physical computing resource object can be created for the n-th generation virtualization instance, and the n-th generation virtual computing resource object can be scheduled to run the n-th generation virtualization instance. The dedicated resource object model allows n-generation virtualized instances to run on n-generation physical computing resource objects, but not on physical computing resource objects of other generations (or specifications).

[0046] Further, as shown in Figure 3b, if the model management component 104 does not receive a configuration file including identification information of the general resource object model, it can be considered that the general resource object model is not enabled. In the case that the general resource object model is not enabled, you can choose to use a dedicated resource object model that is adapted to the target virtualization instance specifications.

[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 the embodiment of the present disclosure, it is mainly configured 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] Second virtualization component 103b can receive the target operation instruction provided by first virtualization component 103a and create a virtual computing resource object for the target virtualized instance capable of executing the target operation instruction. This 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 virtualized instance and call the virtual computing resource object to run the target virtualized instance. In the case where the physical computing resource object is a CPU, the virtualization manager creates the virtual computing resource object by specifically creating a vCPU. The process of creating a vCPU is conventional and will not be further described 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 virtualized 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 virtualized computing resource object to perform corresponding processing.

[0050] Specifically, the second virtualization component 103b can provide a 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 (e.g., CPUID) and can query the public attribute information of the physical computing resource object described by the target operation instruction (e.g., 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, in the process of scheduling the virtual computing resource object to run the target virtualization instance, the second virtualization component 103b can respond to the target virtualization instance's call to the target operation instruction and simulate the execution of the target operation instruction to return the attribute information corresponding to the target operation instruction to the target virtualization instance. In this case, the simulated execution of the target operation instruction does not actually execute the target operation instruction on the physical computing resource object. It is only a process of obtaining the attribute information corresponding to the target operation instruction from the maintained data structure and returning it to the target virtualization instance.

[0051] For example, Table 1 illustrates this: if the target virtualization instance calls the CPUID corresponding to 0x00, it simulates the execution of the CPUID to return the CPU level and vendor to the target virtualization instance; if the target virtualization instance calls the CPUID corresponding to 0x01, it simulates the execution of the CPUID to return the pCPU's family, model, stepping ID, features, and other attribute information to the target virtualization instance. The target virtualization instance uses the features attribute information to learn which feature services the pCPU exposes to the virtualization instance. 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 based on 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, it directly accesses the value of the register on the physical computing resource object. Among them, 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 returned to the kernel state for access.

[0053] In some application scenarios, there are some physical computing resource objects that support some characteristic information, while the general resource object model does not support such characteristic information. For example, in Figure 2a, 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 prevent 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 based on 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 access operations 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 (MSR). MSR is a series of registers in the x86 architecture processor that are set 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 means constraining 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 based on the target operation instruction. The access constraint information is set 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. Access constraint information can be generated based on the register information that the target virtualization instance is allowed to access and the various register information included in the physical computing resource object, which is parsed through the target operation instruction. The access constraint information may include register information on the physical computing resource object that the target virtualization instance is allowed to access, or the access constraint information may include register information on the physical computing resource object that the target virtualization instance is not allowed to access, or the access constraint information may include both register information on the physical computing resource object that the target virtualization instance is allowed to access and register information that the target virtualization instance is not allowed to access. In the case where the access constraint information includes both register information on the physical computing resource object that the target virtualization instance is allowed to access and register information that the target virtualization instance is not allowed to access, the access constraint information can be implemented as a bitmap, which includes bits corresponding to all registers, with bits corresponding to registers that are allowed to be accessed marked with 1, and bits corresponding to registers that are not allowed to be accessed marked with 0.

[0056] The second virtualization component 103b maintains default access interception information. The default access interception information is primarily configured to describe the register information on the physical computing resource object accessed by the target virtualization instance. There are two main methods: one requires exiting to kernel mode to access the register information on the physical computing resource object, and the other is direct access to 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 registers on the physical computing resource object in the default access interception information can be configured to be accessed by exiting to kernel mode. Optionally, in subsequent processes, administrators can configure some registers in the default access interception information to be directly accessible based on usage requirements. The default access interception information can include register information on the physical computing resource object that can be directly accessed and register information that requires exiting to kernel mode to access. For example, in an optional embodiment, the default access interception information is implemented as a bitmap, where registers marked as 0 represent register information on the physical computing resource object that can be directly accessed, and registers marked as 1 represent register information on the physical computing resource object that requires exiting to kernel mode to access. 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 kernel mode.

[0057] In this embodiment, because access constraint information is added, the second virtualization component 103b can receive the access constraint information provided by the first virtualization component and, based on the access constraint information, modify the default access interception information corresponding to the target virtualization instance to obtain target access interception information. This avoids the following situation: the access constraint information does not allow access, but the default access interception information indicates register information that can be directly accessed. The register value is then obtained through direct access, causing the virtualization instance to access registers that are 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 universal resource object model is consistent, and the hardware differences of the physical computing resource objects are shielded. Among them, the target access permission interception information includes register information that can be directly accessed on the physical computing resource object and register information that needs to be accessed by exiting to kernel mode. Of course, the target access permission interception information can separately include register information that can be directly accessed on the physical computing resource object, or the target access permission interception information can separately include register information that needs to be accessed by exiting to kernel mode 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. 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 separately to determine whether the register belongs to the target register information. Alternatively, the registers are traversed based on one of the access constraint information and the target access interception information. Each time a register is traversed, the status of the register in the other information is checked (e.g., whether access is allowed or whether to exit to kernel mode), thereby determining the target register. The target register information in the default access interception information is marked as requiring exit to kernel mode for access 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 the 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, 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, the default access interception information marks register X4 as exiting to the kernel access, and the register X4 is marked as exiting to the kernel in the target access interception information.

[0064] Optionally, the second virtualization component 103b can provide target access interception information to the target virtualization instance. As shown in Figure 3c, when the target virtualization instance accesses the register (such as MSR) on the 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 allowed to be accessed on the physical computing resource object based on 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 an error prompt information to the target virtualization instance. For example, the error prompt information may be a general protection error (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 disclosure further provides a resource object processing method, as shown in FIG4 , which includes:

[0066] 401. During the initialization of the target virtualized instance, a universal resource object model is selected for the target virtualized instance, where the universal resource object model is configured to describe common attribute information exposed to the virtualized instance by physical computing resource objects of at least two specifications.

[0067] 402. Create a virtual computing resource object hosted 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 a target operation instruction recognizable by the target virtualization instance; creating a virtual computing resource object capable of executing the target operation instruction 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, which 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, selecting the general resource object model from multiple resource object models, and the multiple resource object models also include a special resource object model that is set to constrain 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 disclosure also includes: generating access constraint information corresponding to the target virtualization instance based on the target operation instruction, the access constraint information including 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; 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 accessed after exiting to kernel mode.

[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 being 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 disclosure 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 based on the 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; if the judgment result is no, returning an error prompt message to the target virtualization instance; wherein, the target virtualization instance judges that the currently accessed register needs to return to the kernel state based on the target access interception information.

[0073] In an optional embodiment, the method provided by the embodiment of the present disclosure 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 by the embodiment of the present disclosure also includes: determining 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; finding the intersection of the attribute information of the 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 by the embodiment of the present disclosure further includes: selecting part of characteristic attribute information from the non-public attribute information, and adding the information to the general resource object model.

[0076] In an optional embodiment, the method provided by the embodiment of the present disclosure 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-mentioned resource object processing method, the embodiment of the present disclosure also provides a register access method, as shown in FIG5 , which includes:

[0078] 501. When the target virtualized instance returns to kernel state due to access to the current register, 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;

[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 that is allowed to be accessed and / or the register information that is 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 by the embodiment of the present disclosure further includes: if the judgment result is negative, returning error prompt information to the target virtualization instance.

[0081] In an optional embodiment, the method provided by the embodiment of the present disclosure also includes: generating 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 by the general resource object model; the general resource object model is configured 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 steps of the method provided in the above embodiment can be performed by the same device, or the method can be performed by different devices. For example, the execution entity of steps 401 to 402 can be device A; for another example, the execution entity of step 401 can be device A, and the execution entity 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 document or may be executed in parallel. The serial numbers of the operations, such as 401, 402, etc., are merely set to distinguish between different operations, and the serial numbers themselves do not represent any order of execution. 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 document are set to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0085] FIG6 is a schematic structural diagram of a resource object processing device provided by an exemplary embodiment of the present disclosure. As shown in FIG6 , the device includes: a selection module 61 , a creation module 62 and a scheduling module 63 .

[0086] A selection module 61 is configured to select a universal resource object model for the target virtualized instance during initialization of the target virtualized instance, wherein the universal resource object model is configured to describe common attribute information exposed to the virtualized instance by at least two specifications of physical computing resource objects;

[0087] A creation module 62 is configured to 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 in the universal resource object model;

[0088] The scheduling module 63 is configured to schedule the virtual computing resource object to run the target virtualized instance.

[0089] In an optional embodiment, the selection module is specifically configured to: during the initialization process of the target virtualization instance, select a general resource object model for the target virtualization instance according to the model configuration requirements; the creation module is specifically configured 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 for the target virtualization instance that can execute the target operation instructions.

[0090] Optionally, the device also includes a transceiver module; the transceiver module is configured to receive a configuration file, which 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 configured to: select a general resource object model from multiple resource object models based on the identification information of the general resource object, and the multiple resource object models also include a special resource object model configured to constrain the attribute information exposed by a physical computing resource object of a certain specification to the virtualization instance.

[0091] In an optional embodiment, the device also includes a generation module and a correction module; the generation module is configured to generate access constraint information corresponding to the target virtualization instance based on 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 configured to correct the default access interception information corresponding to the target virtualization instance based on 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 configured to: determine the target register information based on the access constraint information and the default access interception information, where the target register information 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 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 configured to judge whether the current register is a register allowed to be accessed on the physical computing resource object based on access constraint information when the target virtualization instance returns to the kernel state due to accessing the current register; the simulation module is configured 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 configured 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 return to the kernel state based on the target access interception information.

[0094] In an optional embodiment, the simulation module is further configured 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 the 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 configured to determine 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; the processing module is configured to obtain the intersection of the respective attribute information of at least two specifications of physical computing resource objects to obtain common attribute information; the generation module is configured to generate a universal resource object model based on the common attribute information, and the universal resource object model at least includes the common attribute information.

[0096] Optionally, the device further includes: an adding module; the selecting module is further configured to select part of the characteristic attribute information from the non-public attribute information, and the adding module is configured to add it to the universal resource object model.

[0097] In an optional embodiment, the apparatus further includes: a modification module; the modification module is configured to modify the general resource object model in response to a model modification instruction during the operation of the target virtualization instance.

[0098] FIG7 is a schematic structural diagram of a register access device provided by an exemplary embodiment of the present disclosure. As shown in FIG7 , the device includes: a judgment module 71 and a simulation module 72 .

[0099] The judgment module 71 is configured 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 virtualization instance returns to the kernel state due to accessing the current register;

[0100] The simulation module 72 is configured 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 configured to return error prompt information to the target virtualization instance when the judgment result is negative.

[0102] In an optional embodiment, the device also includes: a generation module; the generation module is configured 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 by the general resource object model; the general resource object model is configured to describe the public attribute information exposed by at least two specifications of physical computing resource objects to the virtualization instance.

[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 disclosure further provides a computer-readable storage medium storing a computer program, which can implement each step in the resource object processing method and the register access method when executed by a processor.

[0105] The above-mentioned memory can be implemented by any type of volatile or non-volatile memory 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 memory, 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 implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0107] The above-mentioned display includes a screen, which 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 the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor can not only sense the boundary of the 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 in which 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 in which 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 (MIC), and when the device where the audio component is located is in an operating mode, such as call mode, recording mode, and voice recognition mode, the microphone is configured to receive external audio signals. 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 configured to output audio signals.

[0110] Those skilled in the art will appreciate that the embodiments of the present disclosure may be provided as methods, systems, or computer program products. Therefore, the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present disclosure may take the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to magnetic disk storage, compact disc read-only memory (CD-ROM), optical storage, etc.) containing computer-usable program code.

[0111] The present disclosure 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 disclosure. 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 produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device configured to implement the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0112] These computer program instructions may also be stored in a computer-readable memory that can direct 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 a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[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, so that the instructions executed on the computer or other programmable device provide steps configured to implement the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0114] In a typical configuration, a computing device includes one or more processors (Central Processing Unit, CPU), input / output interfaces, network interfaces, 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 includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. 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, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be configured to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media such as modulated data signals and carrier waves.

[0117] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0118] The above are merely embodiments of the present disclosure and are not intended to limit the present disclosure. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present disclosure shall be included within the scope of the claims of the present disclosure.

Claims

1. A physical machine, wherein a virtualization manager is deployed on hardware resources of the physical machine, wherein the hardware resources at least include physical computing resource objects; and the virtualization manager is configured to create and manage virtualization instances; The virtualization manager is further configured 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 configured 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, wherein: 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 configured 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 configured 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, wherein: The hardware resources are also deployed with: a model management component in user mode; The model management component is configured 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 provides the identification information of the general resource object to the first virtualization component; The first virtualization component is specifically configured 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 configured to constrain 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, wherein: The first virtualization component is further configured to: 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 configured 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 for access.

5. The physical machine according to claim 4, wherein: 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, wherein: 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 configured 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, wherein: 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, wherein: 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 configured to constrain attribute information exposed by a physical computing resource object of a certain specification to a virtualized instance.

9. The method according to claim 7, wherein: 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, wherein: 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, wherein: 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, wherein: 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, wherein: 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, wherein: 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.

Citation Information

Patent Citations

  • Compatible cloud operating platform and realizing method thereof

    CN103747107A

  • Graphical rendering using multiple graphics processors

    CN110998533A

  • Multi-tenant-oriented distributed file system security access control method and system

    CN111159134A

  • Distributing interrupt request to be handled by target virtual processor

    CN113961304A

  • Operating system kernel switching method and device

    CN115774574A