Resource scheduling method and device, cloud platform resource scheduling method and device, storage medium and program product

By allowing prepaid customers to share and recycle resources in cloud computing, the problem of resource waste when prepaid customers are idle is solved and resource utilization is improved.

CN120653413APending Publication Date: 2025-09-16HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202410295868.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-14
Publication Date
2025-09-16

AI Technical Summary

Technical Problem

In cloud computing, prepaid customers waste resources when the service is idle, which reduces resource utilization.

Method used

A resource scheduling method is provided to allow a prepaid customer to share his prepaid resources with a suitable second customer without exceeding the target time period, and to reclaim the resources in a timely manner when the conditions are met.

Benefits of technology

Through resource sharing and recycling mechanisms, resource utilization of prepaid customers is improved and resource waste is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120653413A_ABST
    Figure CN120653413A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a resource scheduling method and device, a cloud platform resource scheduling method and device, a storage medium and a program product. In the embodiment of the invention, the resource scheduling method is provided, aiming at a first customer who prepays a specified resource in a target time period, under the condition that the target time period is not exceeded, the first customer is allowed to share the resource which is prepaid by the first customer with a second customer which is suitable for resource sharing with the first customer; and when the resource sharing and recycling conditions are met, the shared resources are recycled in time, so that the second customer can perform time division multiplexing on the prepayment resources of the first customer, and the resource utilization rate of the first prepayment customer for the specified resources is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud computing technology, and in particular to a resource scheduling and cloud platform resource scheduling method, device, storage medium and program product. Background Art

[0002] With the development of cloud computing technology, deploying services in the cloud has become a mainstream choice for more and more enterprises. Enterprises purchase the required cloud resources from cloud computing vendors and deploy their own services on these resources, eliminating the need to purchase and maintain physical servers. This reduces costs and the burden of subsequent operations and maintenance.

[0003] Currently, cloud computing vendors offer customers a prepaid subscription model for cloud resources. This means customers pay a fee upfront for a fixed amount of cloud resources for a specific period of time, granting them ongoing access to the resources. This approach ensures timely access to cloud resources and improves service assurance, but it can also lead to a certain amount of resource waste when customer service is unavailable. Summary of the Invention

[0004] Multiple aspects of the present application provide a resource scheduling and cloud platform resource scheduling method, device, storage medium and program product to solve the problem of resource waste caused by idle customer service within a set time period and improve resource utilization.

[0005] An embodiment of the present application provides a resource scheduling method, including: responding to a resource sharing trigger event, determining a first virtualization instance of a target resource to be released by a first customer, where the first customer is a customer with usage rights to a specified resource within a target time period; releasing the target resource occupied by the first virtualization instance, where the target resource comes from the specified resource; determining a second customer whose resource demand matches the target resource; and allocating the target resource to a second virtualization instance of the second customer without exceeding the target time period.

[0006] An embodiment of the present application also provides a cloud platform resource scheduling method, including: in response to resource sharing configuration information of a prepaid customer, determining a first elastic computing instance of the prepaid customer, wherein the prepaid customer has usage rights for designated cloud computing resources within a target time period; stopping the first elastic computing instance and releasing target cloud computing resources occupied by the first elastic computing instance, wherein the target cloud computing resources come from designated cloud computing resources; determining a resource sharing customer whose resource demand matches the target cloud computing resources; and allocating the target cloud computing resources to the resource sharing customer's second elastic computing instance for use without exceeding the target time period.

[0007] An embodiment of the present application also provides an electronic device, comprising: a memory and a processor; the memory is used to store a computer program; the processor is coupled to the memory and is used to execute the computer program to implement each step in the resource scheduling method and the cloud platform resource scheduling method provided in the embodiment of the present application.

[0008] An embodiment of the present application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor implements each step in the resource scheduling method and cloud platform resource scheduling method provided in the embodiment of the present application.

[0009] An embodiment of the present application also provides a computer program product, including a computer program / instruction. When the computer program / instruction is executed by a processor, the processor implements each step in the resource scheduling method and cloud platform resource scheduling method provided in the embodiment of the present application.

[0010] In an embodiment of the present application, a resource scheduling method is provided. For a first customer who prepays for designated resources within a target time period, the first user is allowed to share his prepaid resources with a second customer who is suitable for resource sharing with the first customer without exceeding the target time period, and the shared resources are promptly recovered when the resource sharing recovery conditions are met, so that the second customer can time-share the prepaid resources of the first customer, thereby improving the resource utilization rate of the prepaid first customer for the designated resources. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0012] Figure 1a A flowchart of a resource scheduling method provided by an exemplary embodiment of the present application;

[0013] Figure 1b A flowchart of a cloud platform resource scheduling method provided by an exemplary embodiment of the present application;

[0014] Figure 2a A flowchart of a resource scheduling method provided by another exemplary embodiment of the present application;

[0015] Figure 2b A flowchart of a resource scheduling method provided by another exemplary embodiment of the present application;

[0016] Figure 3 A schematic diagram of the structure of a resource scheduling device provided by an exemplary embodiment of the present application;

[0017] Figure 4A schematic structural diagram of an electronic device provided as an exemplary embodiment of the present application. DETAILED DESCRIPTION

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

[0019] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0020] The following describes the concepts involved in the embodiments of this application.

[0021] 1. First customer.

[0022] The first customer is a customer who has the right to use the designated resource within the target period. For example, the first customer may be a customer who has prepaid for the designated resource within the target period. This model of purchasing the right to use the designated resource within the target period may be referred to as a prepaid model. The target period may be one month, six months, one year, or three years. The designated resource may be a designated cloud resource or a designated local resource. A detailed description of the designated resource can be found in the subsequent embodiments and will not be repeated here.

[0023] First, a customer can deploy a virtualized instance on a specified resource. The virtualized instance can be an Elastic Compute Service (ECS) instance, a virtual machine, or a container. The number of virtualized instances can be one or more, for example, 2, 50, or 100.

[0024] 2. Second customer.

[0025] The second customer is a customer suitable for resource sharing with the first customer. Specifically, the second customer's resource needs match the target resources released by the first customer. For example, during the target period, the first customer can stop running some or all virtualized instances to release the target resources. The released target resources are then shared with the second customer, who can then deploy virtualized instances on the target resources.

[0026] In response to the above-mentioned technical problem of low resource utilization of prepaid customers, several examples of solving the problem are provided in the embodiments of the present application.

[0027] Example A1: The virtualization instance corresponding to the first customer is transferred to the second customer, and the second customer deploys services or cloud products on the transferred virtualization instance.

[0028] Example A2: The first customer's payment model is changed from a prepaid model to a combination of multiple products. The combination of multiple products can be: a combination of pay-as-you-go services, savings plans, and capacity reservation services. Pay-as-you-go services are a payment model where you pay for what you use first, then you use it. You pay according to traffic bandwidth and hard disk size, and you pay only for what you use. Capacity reservation services are a method of purchasing resources based on an estimated usage in advance, usually paid on a prepaid (annual or monthly) basis. Savings plans are discount benefit plans that can be used with pay-as-you-go services and capacity reservation services. By committing to use a certain amount of data resources within a certain period (e.g., 1 year or 3 years), you can obtain a lower pay-as-you-go discount, which can be used to offset the bill for the pay-as-you-go service. During the period corresponding to the savings plan, the first customer can share cloud resources for a set time period (e.g., off-peak hours) with the second customer.

[0029] Example A3: For a first customer who prepays for designated resources within a target period, a first virtualization instance of the resources to be released is determined, and the target resources occupied by the first virtualization instance are released; a second customer suitable for resource sharing is determined, and the target resources are allocated to the second virtualization instance of the second customer without exceeding the target period; when the resource sharing recovery conditions are met, the target resources occupied by the second virtualization instance are released, and the target resources are reallocated to the first virtualization instance, so as to realize sharing of the target resources of the first customer with the second customer, so that the first customer and the second customer can time-share the designated resources within the target period, thereby improving the resource utilization rate of the prepaid first customer for the designated resources.

[0030] This approach eliminates the need to transfer virtual instances or introduce new products, maintaining prepaid payment models (e.g., annual or monthly subscriptions). It's simple to use, easy to understand, and improves resource utilization. Furthermore, by contributing resources to other customers through a private pool, natural resource isolation is achieved, allowing for control over shared quotas.

[0031] The solution provided by the above example A3 is described in detail below with reference to the accompanying drawings.

[0032] Figure 1aThis is a flow chart of a resource scheduling method provided by an exemplary embodiment of the present application. Figure 1a As shown, the method includes:

[0033] 101. In response to a resource sharing triggering event, determine a first virtualized instance of a target resource to be released by a first customer, and release the target resource occupied by the first virtualized instance, where the first customer has usage rights for a designated resource within a target period, and the target resource is from the designated resource.

[0034] 102. Determine a second customer whose resource requirements match the target resources;

[0035] 103. Allocate the target resource to the second virtualized instance of the second customer without exceeding the target time period.

[0036] In this embodiment, the resource type of the designated resource may include, but is not limited to, computing resources. Computing resources may include, but are not limited to, virtual computing resources, physical computing resources, and memory resources. For example, physical computing resource objects may include 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 processing unit (CIPU), an application-specific integrated circuit (ASIC), and a field programmable gate array (FPGA). Virtual computing resources may include, but are not limited to, a virtual central processing unit (vCPU), a virtual GPU (vGPU), a virtual DPU (vDPU), a virtual TPU (vTPU), a virtual CIPU (vCIPU), or a virtual ASIC (vASIC). The "specify" in "specify resources" can indicate either the specified resource type or the specified resource quantity. For example, a specified resource could be 100 GPUs, 50 CPUs, and 16GB of memory, or 100 vCPUs and 64GB of memory.

[0037] In this embodiment, a resource sharing trigger event can be pre-configured. When the resource sharing trigger event occurs, the first customer is triggered to share resources externally. The resource sharing trigger event can be a resource sharing time arrival event, an instance idle time arrival event, a resource sharing initiation event, and a resource sharing application event. The resource sharing time arrival event refers to the current time being within the sharing period. The sharing period is not limited. For example, it can be the idle time of the first customer. For example, the idle time can be 23:00-7:00, or the idle time can be 09:00-14:00. There is no limitation on this. The idle time period of each virtualization instance of the first customer can be pre-set. For example, the idle time period of virtualization instance D1 is 4:00-8:00, and the idle time period of virtualization instance D1 is 8:00-12:00. During the idle time period of the virtualization instance, the virtualization instance may not accept data processing tasks. The instance idle time arrival event refers to the current time reaching the idle time period of the virtualization instance. A resource sharing initiation event occurs when a first client proactively initiates resource sharing on the human-computer interaction page. A resource sharing request event occurs when a second client proactively requests to share the first client's resources on the human-computer interaction page. The human-computer interaction interface is provided by a resource scheduling platform provided by the entity executing the resource scheduling method.

[0038] In this embodiment, when a resource sharing trigger event occurs, a first virtualization instance of the target resource to be released by the first customer can be determined in response to the resource sharing trigger event. For ease of distinction and description, the virtualization instance deployed by the first customer on the specified resource within the target time period is referred to as the first virtualization instance. The number of first virtualization instances can be one or more, such as three, ten, or twenty.

[0039] In this embodiment, the first virtualization instance can be stopped to release the target resources occupied by the first virtualization instance. The target resources come from the designated resources of the first customer, and the target resources can be part or all of the designated resources. A second customer suitable for sharing resources with the first customer is determined, for example, a second customer whose resource requirements match the target resources. The resource requirements and target resource matching can be understood as: the resource type of the resource requirements matches the resource type of the target resource, or the resource demand matches the resource quantity of the target resource (for example, the resource demand is less than or equal to the resource quantity of the target resource). For example, the resource requirement of customer C1 is 4 GPUs, the resource requirement of customer C2 is 2 CPUs, and the resource requirement of customer C3 is 1 FPGA. If the target resources are 4 GPUs, customer C1 can be used as the second customer; if the target resources are 4 GPUs and 2 CPUs, customer C1 and customer C2 can be used as the second customers.

[0040] In this embodiment, the target resource is allocated to the second virtualized instance of the second customer without exceeding the target time period. For ease of distinction and description, the virtualized instance of the second user that can be run on the shared resource (e.g., the target resource) is referred to as the second virtualized instance. The number of second virtualized instances can be one or more. The second virtualized instance can be pre-created by the second customer and run through the target resource. Alternatively, the second virtualized instance can be directly created on the target resource and run.

[0041] It should be noted that in addition to releasing the target resources occupied by the first virtualized instance, some data of the first virtualized instance can also be retained, and the first virtualized instance can be restarted later based on the retained data. The retained data includes but is not limited to: the system disk, the data disk mounted on the first virtualized instance, the Elastic IP Address and EIP bandwidth, images, snapshots, etc.

[0042] It should be noted that the order of executing "releasing the target resources occupied by the first virtualization instance" and "determining a second customer whose resource demand matches the target resources" is not limited. "releasing the target resources occupied by the first virtualization instance" can be executed first, followed by "determining a second customer whose resource demand matches the target resources." Alternatively, "determining a second customer whose resource demand matches the target resources" can be executed first, followed by "releasing the target resources occupied by the first virtualization instance." Alternatively, both operations can be executed simultaneously.

[0043] In an embodiment of the present application, a resource scheduling method is provided. For a first customer who prepays for designated resources within a target time period, the first user is allowed to share his prepaid resources with a second customer who is suitable for resource sharing with the first customer without exceeding the target time period, and the shared resources are promptly recovered when the resource sharing recovery conditions are met, so that the second customer can time-share the prepaid resources of the first customer, thereby improving the resource utilization rate of the prepaid first customer for the designated resources.

[0044] In an optional embodiment, a resource sharing recovery condition is pre-set, and the resource sharing recovery condition is used to trigger the recovery of the target resource shared by the first customer. The resource sharing recovery condition can be whether the resource sharing period has ended. For example, the resource sharing period is 23:00-7:00. It can be judged at intervals of a certain period of time (such as 1s, 5s or 1min) whether the current time exceeds 7:00. If the current time is 7:01, it has exceeded 7:00, then it is determined that the resource sharing period has ended and the resource sharing recovery condition is met. The resource sharing recovery condition can also be whether the current resource load of the first customer is higher than the set resource load rate threshold. If the current resource load of the first customer is higher than the set resource load rate threshold, then it is considered that the resource sharing recovery condition is met, and the first customer can reclaim the target resource shared with the second customer to reduce the current resource load of the first customer. Alternatively, the resource sharing recovery condition can be whether the second customer applies to return the shared target resource. If the second customer applies to return the shared target resource, then it is considered that the resource sharing recovery condition is met.

[0045] Based on this, within the target time period and when resource sharing reclamation conditions are met, the target resources occupied by the second virtualized instance are reclaimed. The reclaimed target resources can be reallocated to the first virtualized instance of the first customer, and the first virtualized instance can be re-run on the target resources. Alternatively, a new virtualized instance can be created for the first customer, and the new virtualized instance can be run on the target resources.

[0046] In an optional embodiment, the implementation method of determining the second client whose resource demand matches the target resource is not limited.

[0047] Example B1: The first customer corresponds to a candidate customer pool, which includes at least one of customers belonging to the same enterprise as the first customer and customers that have upstream and downstream business relationships with the first customer. For example, customers belonging to the same enterprise as the first customer may be customers of other departments / sections / groups of the company to which the first customer belongs. For another example, the first customer can purchase products from its upstream customers, and the first customer's downstream customers can purchase products from the first customer. The first customer can share resources with its downstream customers to attract downstream customers to purchase its products; the first customer can share resources with its upstream customers to offset the cost of the first customer's product purchases, indirectly reducing the cost of resource purchases. Based on this, a customer whose resource needs match the target resources can be selected from the candidate customer pool corresponding to the first customer as the second customer.

[0048] Example B2: A system customer pool is maintained in advance, and various customers with resource needs are maintained in the system customer pool. The various customers maintained in the system customer pool are no longer limited to: customers belonging to the same enterprise as the first customer, or customers with upstream and downstream business relationships with the first customer. Any user who has resource needs and is registered on the resource scheduling platform can be a customer in the system customer pool. Based on this, a customer whose resource needs match the target resources can be selected from the system customer pool as the second customer. Among them, for a detailed introduction to the matching of resource needs and target resources, please refer to the aforementioned example B1, which will not be repeated here.

[0049] Example B3: A candidate customer pool and a system customer pool corresponding to the first customer are maintained in advance, and a customer whose resource requirements match the target resource can be selected from the candidate customer pool and the system customer pool as the second customer. Detailed descriptions can be found in the above embodiments and will not be repeated here.

[0050] Optionally, in order to save the first customer the cost of purchasing the specified resources during the target period, a specified amount of deduction resources can be charged to the second customer to reduce the cost of the first customer purchasing the specified resources during the target period. Specifically, the actual length of time that the second virtualization instance occupies the target resources can be monitored; based on the actual length of time, a specified amount of deduction resources can be deducted from the second customer's resource account, where the deduction resources can be gold coins, energy values, account balances, etc. The specified amount of deduction resources is added to the first customer's resource account to reduce the first customer's cost of purchasing the specified resources during the target period; or the specified amount of deduction resources is directly used as part of the first customer's prepaid fee for the specified resources, so that the first customer and the second customer jointly pay for the purchase of the specified resources during the target period, reducing the first customer's purchase cost for the specified resources. It should be noted that the second customer who collects the deduction resources can be a customer in the system customer pool or a customer in the first customer's candidate customer pool. Preferably, the deduction resources are collected from customers in the system customer pool.

[0051] In addition, since the second customer in the first customer's candidate customer pool belongs to the same company as the first customer, or the second customer in the candidate customer pool has an upstream and downstream business relationship with the first customer, the target resource can be shared with the second customer free of charge instead of being charged for resource deduction. If the second customer uses the services provided by the first customer, for example, deploying a virtualization instance on the target resource and deploying the big data service provided by the first customer on the virtualization instance, and using the big data service to meet the second customer's service needs, the second customer does not need to pay for sharing the target resource, but instead pays for purchasing the big data service. The first customer can thus attract downstream second customers to purchase services and improve resource utilization.

[0052] In an optional embodiment, when allocating the target resource to the second virtualization instance of the second customer, the target resource can be added to a common pool, and the second customer can create a second virtualization instance based on the resources in the common pool. The resources in the common pool can be provided to at least one second customer for use, and the second customer runs the second virtualization instance based on the resources in the common pool. In this case, it is necessary to set a resource usage quota for the second customer, that is, the maximum amount of resources occupied by the second virtualization instance run by the second customer through the common pool. During actual use, the amount of resources occupied by the second virtualization instance can be controlled not to exceed this maximum amount of resources.

[0053] Because resources in the public pool are available to at least one second customer, the creation of the second virtualized instance may fail if resources are insufficient. A private pool, on the other hand, refers to a resource pool dedicated to a specific customer. A second virtualized instance is created by assigning the private pool to a second customer. Allocating a private pool to a second customer grants the second customer the right to use the resources in that private pool. Accordingly, when the second virtualized instance is released, the target resources occupied by the second virtualized instance can be returned to the private pool or to the resource pool corresponding to the first virtualized instance.

[0054] Based on this, in another optional embodiment, a private pool can be created for the second customer. This private pool is used to store resources shared by the first customer with the second customer. Based on the second customer's resource requirements, target resources are added to the private pool, and the private pool is allocated to the second customer's second virtualized instance. The resources in the private pool can be used by the corresponding second customer, isolating the second customer's resources from other customers and helping to improve the security of the second customer's second virtualized instance. Furthermore, by controlling the amount of resources in the private pool, the second customer's sharing quota can be accurately controlled.

[0055] Among them, the implementation method of adding the target resources to the private pool according to the resource demand of the second customer is not limited. For example, if the number of the first virtualization instance is 1, the target resources of the first virtualization instance can be allocated to the private pools of multiple second customers according to the resource demand of each second customer, and the total resource amount of the multiple private pools is the data amount of the target resources. If the number of the first virtualization instance is multiple, the target resources corresponding to each first virtualization instance can be added to a private pool, and one or more private pools can be specified for each second customer according to the resource demand of the second customer. It should be noted that the resource demand of the second customer can include the resource demand type and the resource demand, the resource amount in the private pool can be greater than or equal to the resource demand of the second customer, and the resource type in the private pool is the same as the resource demand type of the second customer.

[0056] In an optional embodiment, the implementation method of determining the first virtualized instance to be released by the first customer in response to the resource sharing triggering event is not limited. Depending on different resource sharing triggering events, the implementation method of determining the first virtualized instance to be released by the first customer also varies.

[0057] For example, in the case where the resource sharing trigger event is a pre-configured instance idle time arrival event, an idle time period is set for each first virtualization instance of the first customer. If the instance idle time arrival event is detected, at least one virtualization instance indicated as idle by the instance idle time arrival event is used as the first virtualization instance. For example, the idle time periods of virtualization instances E1 and E2 are 23:00-5:00, and the idle time period of virtualization instance E3 is 8:00-12:00. If the current time is 23:00 and the idle time period of 23:00-5:00 is reached, the instance idle time arrival event can be triggered, and virtualization instances E1 and E2 can be used as the first virtualization instances.

[0058] For another example, in the case where the resource sharing trigger event is the arrival of a pre-configured resource sharing start time, a shared resource amount is pre-configured, where the shared resource amount represents the amount of the designated resource that will be shared with the second customer. If the arrival of the resource sharing start time is detected, then at least one virtualization instance is selected from the first customer's currently running virtualization instances based on the pre-configured shared resource amount as the first virtualization instance. For example, each virtualization instance of the first customer is configured with a certain amount of resources, referred to as the instance resource amount. Based on the pre-configured shared resource amount and the instance resource amount of each virtualization instance, at least one virtualization instance is selected from the first customer's currently running virtualization instances as the first virtualization instance, so that the sum of the instance resource amounts of the at least one virtualization instance does not exceed the shared resource amount. For example, the resource amount of the specified resource is 100 CPUs, the pre-configured shared resource amount is 50 CPUs, the instance resource amount of virtualization instance F1 is 20 CPUs, the instance resource amount of virtualization instance F2 is 40 CPUs, the instance resource amount of virtualization instance F3 is 30 CPUs, and the instance resource amount of virtualization instance F4 is 10 CPUs. Virtualization instance F1 and virtualization instance F3 can be used as the first virtualization instance, or virtualization instance F2 and virtualization instance F4 can be used as the first virtualization instance.

[0059] In an optional embodiment, when a resource sharing recovery condition is met, releasing the target resource occupied by the second virtualization instance includes: releasing the target resource occupied by the second virtualization instance when a pre-configured resource sharing end time arrives.

[0060] The implementation method of releasing the target resources occupied by the second virtualized instance is not limited, and is exemplified below.

[0061] Example G1: Forced release: Regardless of whether the second virtualized instance stops running, when the pre-configured resource sharing end time arrives, the target resources occupied by the second virtualized instance are released and the target resources occupied by the second virtualized instance are reclaimed.

[0062] Example G2: The second customer's second virtualization instance may be running some data processing tasks that are not suitable for mid-stop, such as big data services. Forcibly releasing the target resources of the second virtualization instance may result in the loss of data processed by the second virtualization instance, causing losses to the second customer. In this case, when the resource sharing and reclaiming conditions are met, it can be determined whether the second virtualization instance has stopped running. If the second virtualization instance has stopped running, the target resources occupied by the second virtualization instance are released. If the second virtualization instance has not stopped running and is of a specific type, the target resources are shared and extended. When the sharing extension period expires, the target resources occupied by the second virtualization instance are released and reclaimed. The sharing extension period falls within the target time period. The specific type is a type pre-negotiated between the first and second customers. For example, a virtualization instance that is not suitable for forced shutdown can be designated as a second virtualization instance of a specific type. For example, a second virtualization instance running a big data service can be designated as a second virtualization instance of a specific type.

[0063] The implementation method for extending the sharing of target resources includes: sending a resource sharing extension request to the first client, requesting the first client to return the sharing extension time; if the first client returns the sharing extension time, releasing the target resources occupied by the second virtualization instance when the sharing extension time expires, and reclaiming the target resources occupied by the second virtualization instance. If the first client does not return the sharing extension time, or returns a notification message indicating that it does not agree to the extension, suspending the operation of the second virtualization instance and releasing the target resources occupied by the second virtualization instance.

[0064] Alternatively, the first customer can sign a service agreement with the resource scheduling platform. If the content of the service agreement specifies that the first customer will use the shared extension service, in one case, the first customer pre-agreed on the shared extension period. In this case, the shared extension period can be directly obtained from the service agreement. The resource sharing end time is added to the shared extension period to obtain the shared extension period. In another case, the first customer agrees to the shared extension but does not agree on the shared extension period. In this case, the running time of the second virtualization instance and the running time range of the specific type of second virtualization instance can be used to reasonably infer a shared extension time range, and the shared extension time is determined based on the shared extension time range. For example, the maximum value of the shared extension time range is used as the shared extension time.

[0065] In order to implement the resource scheduling method described in the above embodiment, the execution subject of the resource scheduling method provided in the embodiment of this application, such as the resource scheduling device (resource scheduling platform), is upgraded, and new functions are developed for customers, namely, allowing time-sharing multiplexing of the designated cloud resources prepaid by the first customer, and corresponding configuration interfaces are added. These interfaces are introduced below:

[0066] 1) Stop running instance (StopInstance) interface;

[0067] By calling the StopInstance interface, the first virtualization instance can be stopped and the target resources of the first virtualization instance can be released. Similarly, by calling the StopInstance interface, the second virtualization instance can be stopped and the target resources of the second virtualization instance can be released.

[0068] A new private pool parameter, such as a private pool identifier (capacityReservationId), is added to this interface. The private pool parameter indicates that the released resources of the virtualization instance are added to the private pool corresponding to the private pool identifier.

[0069] 2) Allocate Capacity Reservation interface (allocateCapacityReservation), through which the specified private pool can be allocated to the second customer.

[0070] One implementation involves manually allocating a private pool to a second customer. The allocateCapacityReservation interface includes the following parameters: private pool identifier (capacityReservationId), resource sharing start time (startTime), resource sharing end time (endTime), and shared user identifier (sharedUserId). The shared user (sharedUserId) is the second customer. The shared user identifier can be used to obtain the second customer's resource requirements, such as resource type and quantity.

[0071] Another implementation involves the first customer presetting a resource sharing policy, and the resource scheduling device automatically implements the entire chain of shutting down the first virtualized instance, sharing the target resources, and reclaiming the target resources based on the resource sharing policy. In this case, the parameters included in the allocateCapacityReservation interface are described above and will not be repeated here.

[0072] 3) After the first client shares the target resource with the second client, the first client can view information related to resource sharing in each private pool. A viewing interface is provided for this purpose. This viewing interface can be a describeAllocateCapacityReservations interface, which includes information such as the used capacity and unused capacity of the private pool, as well as the sharing relationship. The sharing relationship indicates that the first client shares the resource with the second client.

[0073] 4) RunInstance interface, which includes a private pool identifier, indicating which private pool's resources are needed to run the virtualized instance.

[0074] The first customer shares the private pool identifier (capacityReservationId) with the second customer through the allocateCapacityReservation interface, and the second customer can run the second virtualized instance by pointing to the private pool through the run instance (RunInstances) interface.

[0075] 5) When the resource sharing end time arrives, the second customer has not returned the target resource to the first customer. The first customer has the ability to forcibly reclaim the target resource; that is, by calling the startInstances interface, the second virtualization instance is stopped, the target resource is released, and the first virtualization instance is forcibly started. The startInstances interface includes a recovery parameter. If the recovery parameter indicates that forced resource recovery is allowed, it is determined whether the second virtualization instance of the second customer is running on the target resource in the private pool. If so, the target resource occupied by the second virtualization instance is released. If the recovery parameter indicates that forced resource recovery is not allowed, it is determined whether the target resource of the second virtualization instance is stopped. If the second virtualization instance is stopped, the first virtualization instance is started through the target resource.

[0076] This embodiment also provides two scenario examples to illustrate a resource scheduling method in which a first client shares target resources with a second client.

[0077] Example K1 :like Figure 2a As shown, the first customer X1 determines the first virtualization instance H1 of the resources to be released, releases the target resources occupied by the first virtualization instance H1, determines the second customer X2 suitable for sharing resources with the first customer X1, creates a private pool J1, adds the target resources occupied by the first virtualization instance H1 to the private pool J1, and assigns the private pool J1 to the second virtualization instance of the second customer X2. For example, the first virtualization instance H1 can be stopped by calling the StopInstance interface, the target resources occupied by the first virtualization instance H1 can be released, and the target resources can be assigned to the private pool J1. The private pool J1 can be assigned to the second customer X2 by calling the allocateCapacityReservation interface, and the sharing period can be configured. Among them, the first customer can set the resource sharing period and sharing quota (such as the amount of shared resources). Setting the sharing period and sharing quota is not in Figure 2a The second client X2 provides resource demand information, which includes: resource demand amount, resource demand type and the second virtualization instance to be deployed. Figure 2a The following example illustrates a scenario where a second customer deploys a big data service provided by the first customer on a second virtualized instance, with the second virtualized instance running in private pool J1. Private pool J1 is located within the big data service computing pool, which is primarily used to run the big data service. The RunInstance interface allows you to run the second virtualized instance on the resources corresponding to private pool J1.

[0078] Example K2 :like Figure 2bAs shown, the first customer Y1 releases the resources of the first virtualization instance L1 into the private pool M1, releases the resources of the first virtualization instance L2 into the private pool M2, and releases the resources of the first virtualization instance L3 into the private pool M3. According to the resource demand information of the second customer Y2, the private pool M1 and the private pool M2 are allocated to the second customer Y2. For example, the first virtualization instance L1 and the second virtualization instance L2 can be stopped by calling the StopInstance interface, the target resources occupied by the first virtualization instance L1 and the second virtualization instance L2 can be released, and the resources released by the first virtualization instance L1 can be assigned to the private pool M1, and the resources released by the first virtualization instance L2 can be assigned to the private pool M2. Private pools M1 and M2 are assigned to the second customer Y2 by calling the allocate capacity reservation interface (allocateCapacityReservation), and the sharing period is configured. The second customer Y2 provides resource demand information, and the resource demand information includes: resource demand amount, resource demand type, and the second virtualization instance to be deployed. In Figure 2b In the figure, the second customer Y2 deploys the big data service provided by the first customer on the second virtualization instance, and the second virtualization instance runs in the private pool M1 and the private pool M2. The private pool M1 and the private pool M2 are located in the big data service computing power pool, and the computing power pool is mainly used to run the big data service. Among them, the second virtualization instance can be run on the resources corresponding to the private pools M1 and M2 through the RunInstance interface. The private pool M3 is allocated to the second customer Y3, and the second customer Y3 creates and runs the second virtualization instance on the private pool M3. Figure 2b In the figure, the second virtualization instance is illustrated as an example in which no big data services are deployed. The second virtualization instance can be used to deploy applications or services required by the second customer. For example, the third virtualization instance L1 can be stopped by calling the StopInstance interface, releasing the target resources occupied by the first virtualization instance L1 and assigning the target resources to the private pool M3. The private pool M3 can be assigned to the second customer Y3 by calling the allocateCapacityReservation interface, and the sharing period can be configured.

[0079] Prior to this, the first customer Y1 can call the describeAllocateCapacityReservations interface to view information such as the used capacity, unused capacity, and sharing relationships of the private pool. The first customer Y1 can also call the startInstances interface to stop the second virtualized instance and release the resources occupied by the second virtualized instance.

[0080] In addition to providing the above Figure 1a In addition to the method shown in the figure, a scenario-based cloud platform resource scheduling method is also provided, such as Figure 1b As shown, the method includes:

[0081] 101b. In response to the resource sharing configuration information of the prepaid customer, determine a first elastic computing instance of the prepaid customer, and the prepaid customer has usage rights for the designated cloud computing resources within a target period;

[0082] 102b. Stop the first elastic computing instance and release the target cloud computing resources occupied by the first elastic computing instance, where the target cloud computing resources are from the designated cloud computing resources.

[0083] 103b. Identify resource sharing customers whose resource requirements match the target cloud computing resources;

[0084] 104b. Allocate the target cloud computing resources to the second elastic computing instance of the resource sharing customer without exceeding the target time period.

[0085] The execution entity of this embodiment may be a cloud platform. Multiple customers can register on the cloud platform and pay for its cloud resources. Customers who prepay for designated cloud computing resources within a target period on the cloud platform are referred to as prepaid customers. The cloud platform allows prepaid customers to share some of their resources with other customers. Customers who use resources shared by prepaid customers are referred to as resource sharing customers.

[0086] In this embodiment, the first elastic computing instance may include, but is not limited to, an ECS instance, a virtual machine, or a container. The designated cloud computing resources may include, but are not limited to, virtual computing resources, physical computing resources, and memory resources. For detailed descriptions, please refer to the previous embodiment and will not be repeated here.

[0087] In this embodiment, the implementation method of the resource sharing configuration information is not limited. For example, if the resource sharing configuration information includes identification information of an elastic computing instance, the elastic computing instance corresponding to the identification information can be directly used as the first elastic computing instance. For another example, if the resource sharing configuration information includes the resource quantity of the target cloud computing resources to be released, based on this resource quantity, some idle elastic computing instances can be used as the first elastic computing instances, so that the resource quantity released by the first elastic computing instance is greater than or equal to the resource quantity.

[0088] Optionally, the resource sharing configuration information may further include sharing time information. When the sharing time arrives, the first elastic computing instance may be automatically triggered to be released and stopped, and the target cloud computing resources occupied by the first elastic computing instance may be released.

[0089] In an optional embodiment, the implementation method for allocating the target cloud computing resource to the second elastic computing instance of the resource sharing customer is not limited.

[0090] For example, a resource sharing customer can initiate a creation operation of a second elastic computing instance on the cloud platform. In response to the creation operation, the cloud platform can create and run a second elastic computing instance based on the target cloud computing resources. The second elastic computing instance can run the resource sharing customer's own services.

[0091] For another example, a prepaid customer can provide a target service to a resource-sharing customer. This service can be provided free of charge or charged to the resource-sharing customer for the target service. By not charging the resource-sharing customer for the use of the target cloud computing resources, the resource-sharing customer can be attracted to purchase the target service. The target service can be any type of service, depending on the service type of the prepaid customer. For example, the target service can be a big data product. If the resource-sharing customer initiates a deployment request for the target service, the cloud platform can respond to the resource-sharing customer's deployment request for the target service by creating a second elastic computing instance based on the target cloud computing resources and deploying the target service in the second elastic computing instance.

[0092] For another example, there are multiple second elastic computing instances created and running based on the target cloud computing resources, some of which deploy the resource sharing customer's own services, and other second elastic computing instances deploy the target service.

[0093] In an optional embodiment, when resource sharing reclaim conditions are met, the target cloud computing resources occupied by the second elastic computing instance are forcibly reclaimed. Alternatively, when resource sharing reclaim conditions are met, it is determined whether the second elastic computing instance has ceased operation, and if so, the target cloud computing resources are reclaimed. For detailed descriptions, please refer to the aforementioned embodiments and will not be repeated here.

[0094] Regarding the embodiments of this application Figure 1a The detailed implementation and beneficial effects of each step in the method have been described in detail in the aforementioned embodiments and will not be elaborated on here.

[0095] It should be noted that the execution entity of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution entity of steps 101 to 103 can be a device; for another example, the execution entity of steps 101 and 102 can be a device, and the execution entity of step 103 can be device B; and so on.

[0096] In addition, some of the processes described in the above embodiments and the accompanying drawings include multiple operations that appear in a specific order, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or may be executed in parallel. The serial numbers of the operations, such as 101, 102, etc., are only used 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 article are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0097] Figure 3 A schematic diagram of a resource scheduling device provided by an exemplary embodiment of the present application is shown in FIG. Figure 3 As shown, the device includes: a determination module 31, a release module 32 and an allocation module 33;

[0098] The determining module 31 is configured to respond to a resource sharing triggering event and determine a first virtualized instance of a target resource to be released by a first customer, wherein the first customer is a customer having usage rights for a designated resource within a target period of time; and the releasing module 32 is configured to release the target resource occupied by the first virtualized instance, wherein the target resource is from the designated resource.

[0099] The determining module 31 is further configured to determine a second customer whose resource requirements match the target resource;

[0100] The allocation module 33 is configured to allocate the target resource to the second virtualized instance of the second customer without exceeding the target time period.

[0101] In an optional embodiment, the device further includes: a recycling module; the recycling module is configured to reclaim the target resource occupied by the second virtualization instance when a resource sharing recycling condition is met.

[0102] In an optional embodiment, the determination module is specifically used to: select a customer whose resource demand matches the target resource from a candidate customer pool corresponding to the first customer as the second customer; the candidate customer pool includes customers belonging to the same enterprise as the first customer, and / or customers who have upstream and downstream business relationships with the first customer; and / or, select a customer whose resource demand matches the target resource as the second customer from a system customer pool, wherein the system customer pool maintains various customers with resource demands.

[0103] In an optional embodiment, the device also includes: a monitoring module, a deduction module and a processing module; the monitoring module is used to monitor the actual duration that the second virtualization instance occupies the target resource; the deduction module is used to deduct a specified amount of deduction resources from the resource account of the second customer based on the actual duration; the processing module is used to add the specified amount of deduction resources to the resource account of the first customer or directly use it as part of the prepaid fee of the first customer for the specified resource.

[0104] In an optional embodiment, the allocation module is specifically used to: create a private pool for the second customer, the private pool being used to store resources shared by the first customer with the second customer; adding the target resource to the private pool; and allocating the private pool with the added target resource to the second virtualization instance of the second customer.

[0105] In an optional embodiment, the determination module is specifically used to: in a case where the resource sharing trigger event is a pre-configured instance idle period arrival event, if the instance idle period arrival event is monitored to occur, then at least one virtualization instance indicated to be idle by the instance idle period arrival event is used as the first virtualization instance; in a case where the resource sharing trigger event is a pre-configured resource sharing start time arrival event, if the resource sharing start time arrival time is monitored to occur, then, based on the pre-configured shared resource amount, select at least one virtualization instance from the virtualization instances currently running by the first customer as the first virtualization instance.

[0106] In an optional embodiment, the releasing module is specifically configured to reclaim the target resources occupied by the second virtualization instance when a pre-configured resource sharing end time arrives.

[0107] Optionally, the device also includes: a judgment module and an extension module; when a pre-configured resource sharing end time arrives, the judgment module is used to determine whether the second virtualization instance has stopped running; a recovery module is used to reclaim the target resources occupied by the second virtualization instance when the second virtualization instance stops running; the extension module is used to extend the sharing of the target resources when the second virtualization instance has not stopped running and the second virtualization instance is of a specific type, and the recovery module is used to reclaim the target resources occupied by the second virtualization instance when the sharing extension time arrives, and the sharing extension time is within the target time period.

[0108] Regarding the embodiments of this application Figure 3 The detailed implementation and beneficial effects of each step in the illustrated device have been described in detail in the aforementioned embodiments and will not be elaborated on here.

[0109] The present invention also provides a cloud platform resource scheduling device, which includes:

[0110] a determination module for determining, in response to the resource sharing configuration information of the prepaid customer, a first elastic computing instance of the prepaid customer, the prepaid customer having usage rights for the designated cloud computing resource within a target period;

[0111] a stop module, configured to stop the first elastic computing instance; and a release module, configured to release target cloud computing resources occupied by the first elastic computing instance, where the target cloud computing resources are from designated cloud computing resources.

[0112] The determination module is further used to determine resource sharing customers whose resource requirements match the target cloud computing resources;

[0113] The allocation module is used to allocate the target cloud computing resources to the second elastic computing instance of the resource sharing customer for use without exceeding the target time period.

[0114] In an optional embodiment, the allocation module is specifically used to create and run a second elastic computing instance based on the target cloud computing resource in response to a resource sharing customer's creation operation for the second elastic computing instance; and / or to create a second elastic computing instance based on the target cloud computing resource in response to a resource sharing customer's deployment request for a target service, and deploy the target service in the second elastic computing instance, where the target service is provided by a prepaid customer.

[0115] In an optional embodiment, the device also includes: a recycling module; a recycling module, which is used to forcibly recycle the target cloud computing resources occupied by the second elastic computing instance when the resource sharing recycling conditions are met; and / or when the resource sharing recycling conditions are met, it is determined whether the second elastic computing instance stops running, and when the second elastic computing instance stops running, the target cloud computing resources are recycled.

[0116] Figure 4 A schematic diagram of the structure of an electronic device provided by an exemplary embodiment of the present application is shown in FIG. Figure 4 As shown, the device includes a memory 44 and a processor 45 .

[0117] The memory 44 is used to store computer programs and can be configured to store various other data to support operations on the electronic device. Examples of such data include instructions for any application or method used to operate on the electronic device.

[0118] The processor 45 is coupled to the memory 44 and is used to execute the computer program in the memory 44 to: respond to a resource sharing trigger event, determine a first virtualization instance of a target resource to be released by a first customer, where the first customer is a customer who has the right to use the specified resource within a target time period; release the target resource occupied by the first virtualization instance, where the target resource comes from the specified resource; determine a second customer whose resource demand matches the target resource; and allocate the target resource to the second virtualization instance of the second customer without exceeding the target time period.

[0119] In an optional embodiment, the processor 45 is further configured to reclaim the target resource occupied by the second virtualization instance when a resource sharing reclaiming condition is met.

[0120] In an optional embodiment, when determining a second customer whose resource requirements match the target resource, the processor 45 is specifically used to: select a customer whose resource requirements match the target resource from a candidate customer pool corresponding to the first customer as the second customer; the candidate customer pool includes customers who belong to the same enterprise as the first customer, and / or customers who have upstream and downstream business relationships with the first customer; and / or, select a customer whose resource requirements match the target resource as the second customer from a system customer pool, wherein the system customer pool maintains various customers with resource requirements.

[0121] In an optional embodiment, the processor 45 is further used to: monitor the actual duration that the second virtualization instance occupies the target resource; deduct a specified amount of deduction resources from the resource account of the second customer based on the actual duration; add the specified amount of deduction resources to the resource account of the first customer or directly use it as part of the prepaid fee of the first customer for the specified resource.

[0122] In an optional embodiment, when allocating the target resource to the second virtualization instance of the second customer, the processor 45 is specifically used to: create a private pool for the second customer, the private pool being used to store the resources shared by the first customer to the second customer; adding the target resource to the private pool; and allocating the private pool with the added target resource to the second virtualization instance of the second customer.

[0123] In an optional embodiment, when the processor 45 responds to a resource sharing trigger event and determines the first virtualization instance to be released by the first customer, it is specifically used to: when the resource sharing trigger event is a pre-configured instance idle period arrival event, if the instance idle period arrival event is monitored to occur, then at least one virtualization instance indicated to be idle by the instance idle period arrival event is used as the first virtualization instance; when the resource sharing trigger event is a pre-configured resource sharing start time arrival event, if the resource sharing start time arrival time is monitored to occur, then, based on the pre-configured shared resource amount, select at least one virtualization instance from the virtualization instances currently running by the first customer as the first virtualization instance.

[0124] In an optional embodiment, when the resource sharing recovery condition is met, the processor 45 recovers the target resources occupied by the second virtualization instance, specifically for: recovering the target resources occupied by the second virtualization instance when the pre-configured resource sharing end time arrives.

[0125] Optionally, when the pre-configured resource sharing end time arrives, the processor 45 reclaims the target resources occupied by the second virtualization instance, and is specifically used to: determine whether the second virtualization instance has stopped running; if the second virtualization instance has stopped running, reclaim the target resources occupied by the second virtualization instance; if the second virtualization instance has not stopped running and the second virtualization instance is of a specific type, extend the sharing of the target resources, and reclaim the target resources occupied by the second virtualization instance when the sharing extension time arrives, and the sharing extension time is within the target time period.

[0126] Regarding the embodiments of this application Figure 4 The detailed implementation and beneficial effects of each step in the illustrated device have been described in detail in the aforementioned embodiments and will not be elaborated on here.

[0127] Further, if Figure 4 As shown, the electronic device also includes: a communication component 46, a display 47, a power component 48, an audio component 49 and other components. Figure 4 Only some components are shown schematically, which does not mean that the electronic device only includes Figure 4 In addition, Figure 4 The components in the dotted box are optional components, not mandatory components, and the specific components may depend on the product form of the electronic device. The electronic device of this embodiment can be implemented as a terminal device such as a desktop computer, a laptop computer, a smart phone or an IOT device, or a server device such as a conventional server, a cloud server or a server array. If the electronic device of this embodiment is implemented as a terminal device such as a desktop computer, a laptop computer, a smart phone, etc., it may include Figure 4 If the electronic device of this embodiment is implemented as a conventional server, cloud server or server array and other server-side devices, it may not include Figure 4 Components within the dotted box.

[0128] The embodiment of the present application also provides an electronic device for implementing Figure 1b The method shown, regarding electronic equipment and Figure 1b For an introduction to the method shown, please refer to the aforementioned embodiment and will not be repeated here.

[0129] Accordingly, the present invention also provides a computer-readable storage medium storing a computer program, which can achieve the above-mentioned Figure 1a and Figure 1b For each step in the illustrated method embodiment, detailed description of the method embodiment can be found in the aforementioned embodiment, which will not be repeated here.

[0130] The present application also provides a computer program product, including a computer program / instruction, which, when executed by a processor, causes the processor to implement the above-mentioned Figure 1a and Figure 1b For each step in the illustrated method embodiment, detailed description of the method embodiment can be found in the aforementioned embodiment, which will not be repeated here.

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

[0132] 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 wide band (UWB) technology, Bluetooth (BT) technology and other technologies.

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

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

[0135] 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 for outputting audio signals.

[0136] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt 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.) that contain computer-usable program code.

[0137] The present application is described with reference to the flow chart and / or block diagram of the method, device (system), and computer program product according to the embodiment of the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized 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 processing machine 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 for realizing the function specified in one flow chart flow or multiple flows and / or one box or multiple boxes of the block diagram.

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

[0139] 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 for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0140] In a typical configuration, a computing device includes one or more processors (Central Processing Unit, CPU), input / output interfaces, network interfaces, and memory.

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

[0142] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be used to store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change random access memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, 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 used 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.

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

[0144] The above are merely embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A resource scheduling method, characterized in that: include: In response to a resource sharing triggering event, determining a first virtualized instance of a target resource to be released by a first customer, wherein the first customer is a customer having usage rights for the designated resource within a target period; releasing target resources occupied by the first virtualized instance, where the target resources come from the designated resources; determining a second customer whose resource requirements match the target resource; The target resource is allocated to the second virtualized instance of the second customer without exceeding the target time period.

2. The method according to claim 1, characterized in that Also includes: When a resource sharing recovery condition is met, the target resource occupied by the second virtualization instance is recovered.

3. The method according to claim 1, characterized in that Determining a second customer whose resource requirements match the target resource includes: selecting, from a pool of candidate customers corresponding to the first customer, customers whose resource requirements match the target resources as the second customers; the pool of candidate customers may include customers belonging to the same enterprise as the first customer, and / or customers having upstream or downstream business relationships with the first customer; and / or A customer whose resource demand matches the target resource is selected as the second customer from a system customer pool, wherein the system customer pool maintains various customers with resource demands.

4. The method according to claim 3, characterized in that Also includes: Monitoring the actual duration for which the second virtualized instance occupies the target resource; Deducting a specified amount of deduction resources from the resource account of the second customer according to the actual duration; The designated amount of deductible resources is added to the resource account of the first customer.

5. The method according to claim 1, characterized in that Allocating the target resource to the second virtualized instance of the second customer includes: creating a private pool for the second customer, and adding the target resource to the private pool; Allocate the private pool to which the target resource is added to the second virtualized instance of the second customer.

6. The method according to claim 1, characterized in that In response to a resource sharing triggering event, determining a first virtualized instance to be released by a first customer includes: In a case where the resource sharing triggering event is a pre-configured instance idle period arrival event, if the instance idle period arrival event is detected, at least one virtualized instance indicated to be idle by the instance idle period arrival event is used as the first virtualized instance; In the case where the resource sharing triggering event is a pre-configured resource sharing start time arrival event, if the resource sharing start time arrival is monitored to occur, at least one virtualization instance is selected as the first virtualization instance from the virtualization instances currently running by the first customer based on the pre-configured shared resource amount.

7. The method according to any one of claims 2 to 6, characterized in that: When a resource sharing recovery condition is met, the target resource occupied by the second virtualized instance is recovered, including: When a pre-configured resource sharing end time arrives, the target resource occupied by the second virtualization instance is reclaimed.

8. The method according to claim 7, characterized in that When a pre-configured resource sharing end time arrives, reclaiming the target resource occupied by the second virtualized instance includes: Determining whether the second virtualized instance has stopped running; When the second virtualized instance stops running, reclaiming the target resource occupied by the second virtualized instance; When the second virtualization instance does not stop running and is of a specific type, the target resource is shared and extended, and the target resource occupied by the second virtualization instance is reclaimed when the shared extension time arrives, and the shared extension time is within the target time period.

9. A cloud platform resource scheduling method, characterized in that: include: In response to the resource sharing configuration information of the prepaid customer, determining a first elastic computing instance of the prepaid customer, the prepaid customer having usage rights for the designated cloud computing resource during the target period; Stopping the first elastic computing instance and releasing target cloud computing resources occupied by the first elastic computing instance, where the target cloud computing resources come from the designated cloud computing resources; Determining a resource sharing customer whose resource requirements match the target cloud computing resources; Without exceeding the target time period, the target cloud computing resource is allocated to the second elastic computing instance of the resource sharing customer for use.

10. The method according to claim 9, characterized in that Allocating the target cloud computing resource to the second elastic computing instance of the resource sharing customer for use includes: In response to a creation operation of a second elastic computing instance by the resource sharing customer, creating and running the second elastic computing instance based on the target cloud computing resource; and / or responding to a deployment request from the resource sharing client for a target service; The second elastic computing instance is created based on the target cloud computing resource, and the target service is deployed in the second elastic computing instance, where the target service is provided by the prepaid customer.

11. The method according to claim 9, characterized in that Also includes: When a resource sharing recovery condition is met, forcibly recovering the target cloud computing resource occupied by the second elastic computing instance; and / or When the resource sharing recovery condition is met, it is determined whether the second elastic computing instance stops running, and if the second elastic computing instance stops running, the target cloud computing resource is recovered.

12. An electronic device, characterized in that: include: memory and processor; The memory is used to store a computer program; the processor is coupled to the memory and is used to execute the computer program to implement the steps in the method according to any one of claims 1 to 7.

13. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the processor is caused to implement the steps of the method according to any one of claims 1 to 8 and claims 9 to 11.

14. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the processor is caused to implement the steps of the method according to any one of claims 1 to 8 and claims 9 to 11.

Citation Information

Cited By

  • Container resource scheduling method and device based on GPU utilization, equipment and medium

    CN122346393A

  • A method, apparatus, device, and media for container resource scheduling based on GPU utilization.

    CN122346393B