CN110716809B - Method and device for scheduling cloud resources - Google Patents

Method and device for scheduling cloud resources Download PDF

Info

Publication number
CN110716809B
CN110716809B CN201910999651.9A CN201910999651A CN110716809B CN 110716809 B CN110716809 B CN 110716809B CN 201910999651 A CN201910999651 A CN 201910999651A CN 110716809 B CN110716809 B CN 110716809B
Authority
CN
China
Prior art keywords
resource
instance
target
information
physical machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910999651.9A
Other languages
Chinese (zh)
Other versions
CN110716809A (en
Inventor
刘佳楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910999651.9A priority Critical patent/CN110716809B/en
Publication of CN110716809A publication Critical patent/CN110716809A/en
Application granted granted Critical
Publication of CN110716809B publication Critical patent/CN110716809B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The embodiment of the disclosure discloses a method and a device for scheduling cloud resources. One embodiment of the method comprises: receiving a resource instance creating request, wherein the resource instance creating request comprises priority information of a resource instance to be created; responding to a condition that a trigger condition of resource instance release is met, and acquiring a physical machine information set, wherein physical machine information in the physical machine information set comprises an identifier of a physical machine running with a target resource instance and instance information of the target resource instance, and the instance information comprises an instance identifier and priority information; selecting a target number of target resource instances as a first resource instance to be released according to the priority of the target resource instances in the physical machine information set; and sending the instance identifiers of the target number of first resource instances to be released to the control end so that the control end releases the target number of first resource instances to be released. The implementation method effectively improves the utilization rate of the cloud resources.

Description

Method and device for scheduling cloud resources
Technical Field
The embodiment of the disclosure relates to the technical field of computers, in particular to a method and a device for scheduling cloud resources.
Background
With the rapid development of internet technology, the application of cloud computing technology is more and more extensive. The cloud computing platform may be classified into service modes such as software as a service (SaaS), platform as a service (PaaS), infrastructure as a service (IaaS), and the like. Among them, the IaaS public cloud platform generally has a service mode of providing a virtual machine to a wide area network user as a main service mode.
The related mode is generally to create the required virtual machine for the user on the physical machine by utilizing information transfer among the cloud management center, the cloud computing resource center and the cloud storage resource center. And adjusting the distribution of the virtual machines on the physical machine by the scheduling server to realize the optimal configuration of the cloud resources with the minimum adjustment cost.
Disclosure of Invention
The embodiment of the disclosure provides a method and a device for scheduling cloud resources.
In a first aspect, an embodiment of the present disclosure provides a method for scheduling cloud resources, where the method includes: receiving a resource instance creating request, wherein the resource instance creating request comprises priority information of a resource instance to be created; responding to the fact that the triggering condition of resource instance release is met, and acquiring a physical machine information set, wherein physical machine information in the physical machine information set comprises an identifier of a physical machine running with a target resource instance and instance information of the target resource instance, and the instance information comprises an instance identifier and priority information; selecting a target number of target resource instances as a first resource instance to be released according to the priority of the target resource instances in the physical machine information set; and sending the instance identifiers of the target number of first resource instances to be released to the control end so that the control end releases the target number of first resource instances to be released.
In some embodiments, the selecting, according to the priority of the target resource instances in the physical machine information set, the target number of target resource instances as the first resource instance to be released includes: selecting a physical machine with a releasable resource amount matched with a resource amount required by a resource instance to be created from the physical machine information set as a target physical machine, wherein the releasable resource amount comprises a total resource amount released by at least one target resource instance running on the physical machine; generating priority information of the releasable resource amount corresponding to each target physical machine according to the priority information of at least one target resource instance corresponding to the releasable resource amount; and selecting target resource instances corresponding to the target number of releasable resources as first to-be-released resource instances from a low priority order to a high priority order according to the priority information of the generated releasable resource amount.
In some embodiments, the method further comprises: and deleting the instance information of the target number of first to-be-released resource instances in the physical machine information set in response to receiving the information which is sent by the control terminal and indicates that the release of the target number of first to-be-released resource instances is completed.
In some embodiments, the priority information of the resource instance to be created includes a conventional resource instance type. The priority information of the target resource instance comprises a bidding resource instance type. The priority of the regular resource instance type is higher than the priority of the bidding resource instance type. The priority information of the bidding resource instance type comprises user bidding information.
In some embodiments, the generating the priority information of the releasable resource amount corresponding to each target physical machine according to the priority information of at least one target resource instance corresponding to the releasable resource amount includes: and generating priority information of the releasable resource amount corresponding to each target physical machine based on the statistical value of the user bid information of at least one target resource instance corresponding to the releasable resource amount.
In some embodiments, the method further comprises: in response to determining that a target resource instance with a bid smaller than the floating price indicated by the user bid information exists in the physical machine information set, determining the target resource instance with the bid smaller than the floating price indicated by the user bid information as a second resource instance to be released; and sending the determined instance identifier of the second resource instance to be released to the control end so that the control end releases the selected second resource instance to be released.
In a second aspect, an embodiment of the present disclosure provides an apparatus for scheduling cloud resources, the apparatus including: the receiving unit is configured to receive a resource instance creating request, wherein the resource instance creating request comprises priority information of a resource instance to be created; the resource instance releasing method comprises the steps of obtaining a physical machine information set in response to determining that a triggering condition of resource instance releasing is met, wherein physical machine information in the physical machine information set comprises an identifier of a physical machine running a target resource instance and instance information of the target resource instance, and the instance information comprises an instance identifier and priority information; the selecting unit is configured to select a target number of target resource instances as a first resource instance to be released according to the priority of the target resource instances in the physical machine information set; and the first sending unit is configured to send the instance identifiers of the target number of first resource instances to be released to the control end so that the control end releases the target number of first resource instances to be released.
In some embodiments, the selecting unit includes: the system comprises a first selection module, a second selection module and a third selection module, wherein the first selection module is configured to select a physical machine, of which the releasable resource amount is matched with the resource amount required by a resource instance to be created, from a physical machine information set as a target physical machine, and the releasable resource amount comprises the total resource amount released by at least one target resource instance running on the physical machine; the generating module is configured to generate the priority information of the releasable resource amount corresponding to each target physical machine according to the priority information of at least one target resource instance corresponding to the releasable resource amount; and the second selecting module is configured to select the target resource instances corresponding to the target number of releasable resources as the first resource instances to be released from low to high according to the priority indicated by the generated priority information of the amount of the releasable resources.
In some embodiments, the apparatus further comprises: and the deleting unit is configured to delete the instance information of the target number of first to-be-released resource instances in the physical machine information set in response to receiving the information which is sent by the control terminal and indicates that the release of the target number of first to-be-released resource instances is completed.
In some embodiments, the priority information of the resource instance to be created includes a conventional resource instance type. The priority information of the target resource instance comprises a bidding resource instance type. The priority of the conventional resource instance type is higher than the priority of the bidding resource instance type. The priority information of the bidding resource instance type comprises user bidding information.
In some embodiments, the generating module is further configured to: and generating priority information of the releasable resource amount corresponding to each target physical machine based on the statistical value of the user bid information of at least one target resource instance corresponding to the releasable resource amount.
In some embodiments, the apparatus further comprises: a determining unit configured to determine, as a second resource instance to be released, a target resource instance in which the bid indicated by the user bid information is smaller than the floating price in response to determining that there is a target resource instance in the set of physical machine information in which the bid indicated by the user bid information is smaller than the floating price; and the second sending unit is configured to send the determined example identifier of the second resource example to be released to the control end, so that the control end releases the selected second resource example to be released.
In a third aspect, an embodiment of the present disclosure provides a server, including: one or more processors; a storage device having one or more programs stored thereon; when the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the method as described in any implementation of the first aspect.
In a fourth aspect, embodiments of the present disclosure provide a computer-readable medium on which a computer program is stored, which program, when executed by a processor, implements the method as described in any implementation manner of the first aspect.
According to the method and the device for scheduling the cloud resources, the resource instance creation request is received firstly. The resource instance creating request comprises priority information of the resource instance to be created. Then, in response to determining that the triggering condition for releasing the resource instance is satisfied, a set of physical machine information is obtained. The physical machine information in the physical machine information set comprises an identifier of a physical machine running a target resource instance and instance information of the target resource instance. The instance information includes an instance identification and priority information. Selecting a target number of target resource instances as a first resource instance to be released according to the priority of the target resource instances in the physical machine information set; and sending the instance identifiers of the target number of first resource instances to be released to the control end so that the control end releases the target number of first resource instances to be released. Therefore, existing resources are determined and released more reasonably, and the utilization rate of cloud resources is effectively improved.
Drawings
Other features, objects and advantages of the disclosure will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an exemplary system architecture diagram in which one embodiment of the present disclosure may be applied;
FIG. 2 is a flow diagram of one embodiment of a method for scheduling cloud resources according to the present disclosure;
fig. 3 is a schematic diagram of one application scenario of a method for scheduling cloud resources according to an embodiment of the present disclosure;
FIG. 4 is a flow diagram of yet another embodiment of a method for scheduling cloud resources according to the present disclosure;
FIG. 5 is a schematic diagram illustrating an embodiment of an apparatus for scheduling cloud resources according to the present disclosure;
FIG. 6 is a schematic structural diagram of an electronic device suitable for use in implementing embodiments of the present disclosure.
Detailed Description
The present disclosure is described in further detail below with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that, in the present disclosure, the embodiments and features of the embodiments may be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 illustrates an example architecture 100 to which the disclosed method for scheduling cloud resources or apparatus for scheduling cloud resources may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, networks 104, 106, and servers 105, 107. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 106 serves as a medium for providing communication links between server 105 and server 107. The networks 104, 106 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The terminal devices 101, 102, 103 interact with a server 105 via a network 104 to receive or send messages or the like. The terminal devices 101, 102, 103 may have various communication client applications installed thereon, such as a web browser application, a search-type application, an instant messaging tool, a mailbox client, social platform software, a text editing-type application, a reading-type application, and the like.
The terminal apparatuses 101, 102, and 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices having a display screen and supporting a telnet session, including but not limited to smart phones, tablets, laptop portable computers, desktop computers, and the like. When the terminal apparatuses 101, 102, 103 are software, they can be installed in the electronic apparatuses listed above. It may be implemented as multiple pieces of software or software modules (e.g., software or software modules used to provide distributed services) or as a single piece of software or software module. And is not particularly limited herein.
The server 105 may be a server providing various services, such as a management server applying for a virtual machine resource providing service interface for the terminal devices 101, 102, 103. The server 107 may be a server that provides various services, such as a resource scheduling server that allocates virtual machines requested by users according to physical computing resources. The resource scheduling server may analyze and perform other processing on the resource instance creation request forwarded by the management server, and feed back a processing result (such as an instance identifier of the resource instance to be released) to the management server. So that resource instance creation requests that satisfy a high priority are preferentially responded to and satisfied.
The server may be hardware or software. When the server is hardware, it may be implemented as a distributed server cluster formed by multiple servers, or may be implemented as a single server. When the server is software, it may be implemented as multiple pieces of software or software modules (e.g., software or software modules used to provide distributed services), or as a single piece of software or software module. And is not particularly limited herein.
It should be noted that the method for scheduling cloud resources provided by the embodiments of the present disclosure is generally performed by the server 107, and accordingly, the apparatus for scheduling cloud resources is generally disposed in the server 107.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to fig. 2, a flow 200 of one embodiment of a method for scheduling cloud resources in accordance with the present disclosure is shown. The method for scheduling cloud resources comprises the following steps:
step 201, a resource instance creation request is received.
In this embodiment, an execution subject (e.g., the server 107 shown in fig. 1) of the method for scheduling cloud resources may receive the resource instance creation request through a wired connection manner or a wireless connection manner. The resource instance creation request may include priority information of a resource instance to be created. The priority information may be used to indicate the order of priority (e.g., high, medium, low) so that higher priority resource instance creation requests may be satisfied preferentially.
In this embodiment, the execution principal may receive the resource instance creation request in various ways. As an example, the executing agent may receive a resource instance creation request sent by the user terminal through a cloud management server connected in communication. As yet another example, the execution principal may also receive a resource instance creation request forwarded by a communicatively connected cloud service access server (e.g., server 105 in fig. 1). The cloud service access server may be, for example, a portal authentication (portal) server.
In this embodiment, the scheduling unit of the cloud resource is generally a virtual machine rather than a job. The resource instance creation request may generally include resource instance information. The resource instance information may be used to indicate a resource instance. As an example, the resource instance information may include resources (e.g., 4-core CPUs, 8G memories, 1T storage spaces, etc.) corresponding to the resource instances. As yet another example, the resource instance information may further include identification information indicating a resource combination. For example, resource instance a (indicating 4-core CPU, 8G memory, 1T storage space), resource instance B (indicating 2-core CPU, 4G memory, 500G storage space).
In some optional implementations of this embodiment, the priority information of the resource instance may include a conventional resource instance type and a bid resource instance type. Wherein, the priority of the regular resource instance type can be higher than the priority of the bidding resource instance type. The above-described bidding resource instance types may be used to characterize free cloud resources that enjoy a greater benefit in user purchase price. The priority information of the resource instance to be created may include a conventional resource instance type.
Step 202, in response to determining that the triggering condition for releasing the resource instance is satisfied, acquiring a physical machine information set.
In this embodiment, in response to determining that the trigger condition for releasing the resource instance is satisfied, the execution main body may acquire the set of physical machine information in various ways. The triggering condition for releasing the resource instance may be preset. For example, may include resources that may be schedulable for cloud resources (memory, CPU, etc.) that are not sufficient to satisfy the resource instance to be created. As an example, the set of physical machine information may include a metadata base storing physical machine information. The physical machine information may include an identifier of a physical machine running the target resource instance and instance information of the target resource instance. The target resource instance may be a resource instance according to a rule, e.g. a resource instance having a priority lower than the priority of the resource instance to be created. The instance information may include an instance identification and priority information. The instance identifier may include an identifier (identifier), for example.
In some optional implementations of this embodiment, based on the optional implementation of step 201, the priority information of the target resource instance may include a type of the bidding resource instance. The priority information for the above-described bidding resource instance types may include user bid information. The user bid information may be used to indicate a bid for the user. The user's bid is typically positively correlated with priority. Thus, the user bid information may reflect the priority of resource instances bidding for the resource instance type.
Step 203, selecting a target number of target resource instances as a first resource instance to be released according to the priority of the target resource instances in the physical machine information set.
In this embodiment, according to the priorities of the target resource instances in the physical machine information set acquired in step 202, the execution main body may select a target number of target resource instances as the first to-be-released resource instances by various methods.
As an example, the execution main body may first select a target resource instance occupying a resource amount greater than a resource amount required by the resource instance to be created as a quasi-first resource instance to be released. Then, the executing entity may select, from the quasi-first resource instances to be released, a target number of target resource instances with a smaller influence on Quality of Service (QoS) of the cloud after the instances are released, as the first resource instances to be released.
In some optional implementation manners of this embodiment, the execution main body may select a target number of target resource instances as the first resource instance to be released according to the following steps:
the first step is that a physical machine with the releasable resource amount matched with the resource amount required by the resource instance to be created is selected from the physical machine information set as a target physical machine.
In these implementations, the execution subject may select, as the target physical machine, a physical machine whose releasable resource matches the amount of resource required by the resource instance to be created from the set of physical machine information acquired in step 202 through various methods. The amount of the releasable resource may include a total amount of resources released by at least one target resource instance running on the physical machine. The matching may generally refer to an amount of resources that may be released equal to or greater than an amount of resources needed for the resource instance to be created.
As an example, the execution subject may traverse the physical machine information set, and all the physical machines whose releasable resource amounts match the resource amount required by the resource instance to be created are taken as the target physical machines. As another example, the executing entity may select a preset number (e.g., 6 or 10) of target physical machines in the traversal process, and then does not continue to select the target physical machines, so as to improve the processing efficiency.
As an example, if the amount of resources required for a resource instance to be created is "4-core CPU, 8G memory, 1T storage space". The execution main body determines that the resource amount corresponding to a target resource instance 1 running on a certain physical machine is '2-core CPU, 4G memory, 500G storage space', the resource amount corresponding to a target resource instance 2 is '2-core CPU, 6G memory, 800G storage space', and the resource amount corresponding to a target resource instance 3 is '4-core CPU, 16G memory, 2T storage space'. Thus, the physical machine can meet the requirement of the resource amount required by the resource instance to be created by releasing the target resource instance 3 or releasing the target resource instances 1 and 2. The executing agent may select the physical machine as the target physical machine.
And secondly, generating the priority information of the releasable resource amount corresponding to each target physical machine according to the priority information of at least one target resource instance corresponding to the releasable resource amount.
In these implementations, the target physical machines may correspond to respective amounts of releasable resources. The releasable resource amount corresponds to at least one target resource instance. According to the priority information of at least one target resource instance corresponding to the releasable resource amount, the execution main body can generate the priority information of the releasable resource amount corresponding to each target physical machine in various ways. As an example, priority information with the highest priority in at least one target resource instance corresponding to the amount of the releasable resource may be selected as the priority information of the releasable resource. Thus, priority information of the amount of the releasable resources corresponding to each target physical machine can be generated.
And thirdly, selecting target resource instances corresponding to the target number of releasable resources as first to-be-released resource instances from low to high according to the priority indicated by the generated priority information of the releasable resource amount.
In these implementations, according to the order of the priorities indicated by the generated priority information of the releasable resource amounts from low to high, the execution subject may generally select, as the first resource instances to be released, the target number of releasable target resource instances corresponding to the releasable resource amount with the lowest priority.
Step 204, sending the instance identifiers of the target number of first to-be-released resource instances to the control end, so that the control end releases the target number of first to-be-released resource instances.
In this embodiment, the executing entity may send the instance identifiers of the target number of first to-be-released resource instances determined in step 203 to the control end. The control end may include an upstream server for controlling the creation and release of the cloud resource instance. Therefore, the control end can release the target number of first resource instances to be released according to the received instance identifier.
In some optional implementation manners of this embodiment, the control end may further send, to the execution main body, information representing that the release of the first to-be-released resource is completed after the target number of first to-be-released resource instances are released. In response to receiving the information indicating that the release of the target number of first to-be-released resource instances is completed, which is sent by the control end, the execution main body may further delete the instance information of the target number of first to-be-released resource instances in the physical machine information set. Therefore, the physical machine information in the physical machine information set is consistent with the actual use condition of the current resource through updating the physical machine information set.
With continued reference to fig. 3, fig. 3 is a schematic diagram of an application scenario of a method for scheduling cloud resources according to an embodiment of the present disclosure. In the application scenario of fig. 3, a user 301 uses a terminal device 302 to send a resource instance creation request 304 to a cloud service 303 to request the use of a high priority resource of "4-core CPU, 8G memory, 1T storage space". The portal server 3031 in the cloud service 303 may forward the resource instance creation request 304 to the cloud service control server 3032. Then, the cloud service control server 3032 may forward the resource instance creation request 304 to the cloud service resource scheduling server 3033. The cloud service resource scheduling server 3033 may obtain the physical machine information set in response to determining that the current schedulable resource is not enough to create the resource instance to be created. Then, the cloud service resource scheduling server 303 may select, from the physical machine information set, a target resource instance x "2-core CPU, 4G memory, 500G storage space" of medium priority and a target resource instance y "2-core CPU, 6G memory, 800G storage space" of low priority running on the physical machine a as the first resource instance to be released by 3. Next, the cloud service resource scheduling server 3033 may send "resource instance x" and "resource instance y" to the cloud service control server 3032. Then, the cloud service control server 3032 may release the virtual machine resources corresponding to the "resource instance x" and the "resource instance y". Optionally, after the resource release is completed, the cloud service control server 3032 may also create a new resource instance "4-core CPU, 8G internal memory, 1T storage space" on the physical machine a. Thus, the cloud service 303 may also send feedback information 305 of "resource instance creation complete" to the terminal device 302.
At present, in one of the prior art, a container-based technique is generally used to schedule preemption among jobs, and different priority calculation modes are available for different queue models (FIFO, Fair, or DRF), so that on one hand, preemption results performed when the same job is in different queues are different, and on the other hand, some long-term tasks cannot be rapidly performed and completed. According to the method provided by the embodiment of the disclosure, the unified priority information in the system is determined by acquiring the physical machine information set serving as the global resource view, selecting the physical machine and the corresponding resource example to be released from the physical machine information set, and uniformly creating and releasing the resources through the control end, so that the existing resources are more reasonably determined and released, and the utilization rate of the cloud resources is effectively improved.
With further reference to fig. 4, a flow 400 of yet another embodiment of a method for scheduling cloud resources is illustrated. The process 400 of the method for scheduling cloud resources comprises the following steps:
step 401, a resource instance creation request is received.
In this embodiment, the priority information of the resource instance may include a conventional resource instance type and a bidding resource instance type. Wherein, the priority of the regular resource instance type can be higher than the priority of the bidding resource instance type. The above-described bidding resource instance types may be used to characterize free cloud resources that enjoy a greater benefit in user purchase price. The priority information of the resource instance to be created may include a conventional resource instance type.
Step 402, in response to determining that the triggering condition for releasing the resource instance is satisfied, acquiring a physical machine information set.
In this embodiment, the physical machine information may include an identifier of a physical machine running the target resource instance and instance information of the target resource instance. The priority information of the target resource instance may include a type of the bidding resource instance. The priority information for the above-described bidding resource instance types may include user bid information. The user bid information may be used to indicate a bid for the user.
And step 403, selecting a physical machine with the releasable resource amount matched with the resource amount required by the resource instance to be created from the physical machine information set as a target physical machine.
Step 404, generating priority information of the releasable resource amount corresponding to each target physical machine based on the statistical value of the user bid information of at least one target resource instance corresponding to the releasable resource amount.
In this embodiment, based on the statistical value of the user bid information of at least one target resource instance corresponding to the releasable resource amount, the execution subject of the method for scheduling cloud resources (e.g., the server 107 shown in fig. 1) may generate priority information of the releasable resource amount corresponding to each target physical machine by various methods.
In this embodiment, for each target physical machine, the execution subject may first determine a releasable resource amount corresponding to each target physical machine. According to an alternative implementation manner in step 203 in the foregoing embodiment, one target physical machine may correspond to a plurality of releasable resource amounts. Wherein each amount of releasable resources may correspond to a target number of releasable resources. Thus, the execution main body can generate the priority information of the releasable resource amount according to the statistical value of the user bid information of the target number of releasable resources corresponding to each releasable resource amount. As an example, the above statistical values may include, but are not limited to, at least one of: accumulated value, average value, weighted sum.
Step 405, selecting target resource instances corresponding to the target number of releasable resources as the first to-be-released resource instances in an order from low to high according to the priority indicated by the generated priority information of the amount of releasable resources.
Step 406, sending the instance identifiers of the target number of first to-be-released resource instances to the control end, so that the control end releases the target number of first to-be-released resource instances.
The steps 401, 402 and 406 are respectively consistent with the optional implementation manners of the step 201, 202 and 204 in the foregoing embodiments, and the above descriptions for the optional implementation manners of the step 201, 202 and 204 also apply to the steps 401, 402 and 406. Steps 403 and 405 are consistent with the optional implementation manner of step 203 in the foregoing embodiment, and the description of the optional implementation manner of step 203 also applies to steps 403 and 405, which is not described herein again.
In some optional implementations of this embodiment, the executing body may further continue to perform the following steps:
in a first step, in response to determining that a target resource instance with a bid smaller than a floating price indicated by the user bid information exists in the physical machine information set, the target resource instance with the bid smaller than the floating price indicated by the user bid information is determined as a second resource instance to be released.
In these implementations, the floating price may be floated based on a preset price according to a variation of the influencing factor. Wherein the influencing factors may include, but are not limited to, at least one of the following: the system comprises a region where a physical machine is located, a region where a user side is located, a CPU, a memory, residual cloud resource capacity and interference factors. The above interference factors may provide support for manual correction, for example the weights of the aforementioned variables may be set to 0.
And secondly, sending the determined instance identifier of the second resource instance to be released to the control end so that the control end releases the selected second resource instance to be released.
In these implementations, the executing entity may send the instance identifier of the second resource instance to be released, which is determined in the first step, to the control end. The control end may include an upstream server configured to control creation and release of cloud resource instances. Therefore, the control end can release the second resource instance to be released according to the received instance identifier.
As can be seen from fig. 4, a flow 400 of the method for scheduling cloud resources in this embodiment embodies a step of generating priority information of the releasable resource amount corresponding to each target physical machine based on a statistical value of the user bid information of at least one target resource instance corresponding to the releasable resource amount. Therefore, the scheme described in the embodiment can determine the priority of the releasable resource according to the user bidding information of the bidding resource instance type, so that on the basis of fully utilizing the idle cloud resources by the bidding resource instance type, stable cloud service is preferentially ensured to be provided for instance users of the conventional resource instance type.
With further reference to fig. 5, as an implementation of the methods shown in the above-mentioned figures, the present disclosure provides an embodiment of an apparatus for scheduling cloud resources, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be specifically applied to various electronic devices.
As shown in fig. 5, the apparatus 500 for scheduling cloud resources provided by this embodiment includes a receiving unit 501, an obtaining unit 502, a selecting unit 503, and a first sending unit 504. The receiving unit 501 is configured to receive a resource instance creation request, where the resource instance creation request includes priority information of a resource instance to be created; an obtaining unit 502 configured to, in response to determining that a trigger condition for releasing a resource instance is met, obtain a set of physical machine information, where the physical machine information in the set of physical machine information includes an identifier of a physical machine running with a target resource instance and instance information of the target resource instance, and the instance information includes an instance identifier and priority information; a selecting unit 503 configured to select a target number of target resource instances as a first resource instance to be released according to priorities of the target resource instances in the physical machine information set; a first sending unit 504, configured to send the instance identifiers of the target number of first to-be-released resource instances to the control end, so that the control end releases the target number of first to-be-released resource instances.
In this embodiment, in the apparatus 500 for scheduling cloud resources: the specific processing of the receiving unit 501, the obtaining unit 502, the selecting unit 503 and the first sending unit 504 and the technical effects thereof can refer to the related descriptions of step 201, step 202, step 203 and step 204 in the corresponding embodiment of fig. 2, which are not described herein again.
In some optional implementation manners of this embodiment, the fetching unit 503 may include: a first selecting module (not shown), a generating module (not shown), and a second selecting module (not shown). The first selecting module may be configured to select, from the physical machine information set, a physical machine whose releasable resource amount matches a resource amount required by a resource instance to be created, as the target physical machine. Wherein the releasable resource amount comprises a total resource amount released by at least one target resource instance running on the physical machine. The generating module may be configured to generate the priority information of the releasable resource amount corresponding to each target physical machine according to the priority information of at least one target resource instance corresponding to the releasable resource amount. The second selecting module may be configured to select, as the first resource instances to be released, the target resource instances corresponding to the target number of releasable resources in an order from low to high according to the priority indicated by the generated priority information of the amount of releasable resources.
In some optional implementations of this embodiment, the apparatus 500 for scheduling cloud resources may further include: and the deleting unit (not shown in the figure) is configured to delete the instance information of the target number of first resource instances to be released in the physical machine information set in response to receiving the information which is sent by the control end and indicates that the release of the target number of first resource instances to be released is completed.
In some optional implementations of the present embodiment, the priority information of the resource instance to be created may include a conventional resource instance type. The priority information of the target resource instance may include a type of the bidding resource instance. The priority of the conventional resource instance type may be higher than the priority of the bidding resource instance type. The priority information for the above-described bidding resource instance types may include user bid information.
In some optional implementations of this embodiment, the generating module may be further configured to generate the priority information of the releasable resource amount corresponding to each target physical machine based on a statistical value of the user bid information of at least one target resource instance corresponding to the releasable resource amount.
In some optional implementations of this embodiment, the apparatus 500 for scheduling cloud resources may further include: a determination unit (not shown in the figure), a second transmission unit (not shown in the figure). The determining unit may be configured to determine, as the second resource instance to be released, a target resource instance whose bid indicated by the user bid information is smaller than the floating price in response to determining that there is a target resource instance whose bid indicated by the user bid information is smaller than the floating price in the physical machine information set. The second sending unit may be configured to send the determined instance identifier of the second resource instance to be released to the control end, so that the control end releases the selected second resource instance to be released.
The apparatus provided by the above embodiment of the present disclosure receives a resource instance creation request through the receiving unit 501. The resource instance creating request comprises priority information of the resource instance to be created. Then, the obtaining unit 502 obtains the physical machine information set in response to determining that the trigger condition for releasing the resource instance is satisfied. The physical machine information in the physical machine information set comprises an identifier of a physical machine running with a target resource instance and instance information of the target resource instance, and the instance information comprises an instance identifier and priority information. Next, the selecting unit 503 selects a target number of target resource instances as the first resource instances to be released according to the priorities of the target resource instances in the physical machine information set. Finally, the first sending unit 504 sends the instance identifiers of the target number of first to-be-released resource instances to the control end, so that the control end releases the target number of first to-be-released resource instances. Therefore, existing resources are determined and released more reasonably, and the utilization rate of cloud resources is effectively improved.
Referring now to FIG. 6, shown is a schematic block diagram of an electronic device (e.g., server in FIG. 1) 600 suitable for use in implementing embodiments of the present disclosure. The server shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, electronic device 600 may include a processing means (e.g., central processing unit, graphics processor, etc.) 601 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Generally, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, etc.; an output device 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 608 including, for example, tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. While fig. 6 illustrates an electronic device 600 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided. Each block shown in fig. 6 may represent one device or may represent multiple devices as desired.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 609, or may be installed from the storage means 608, or may be installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of embodiments of the present disclosure.
It should be noted that the computer readable medium described in the embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In embodiments of the present disclosure, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (Radio Frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the server; or may exist separately and not be assembled into the server. The computer readable medium carries one or more programs which, when executed by the server, cause the server to: receiving a resource instance creating request, wherein the resource instance creating request comprises priority information of a resource instance to be created; responding to the fact that the triggering condition of resource instance release is met, and acquiring a physical machine information set, wherein physical machine information in the physical machine information set comprises an identifier of a physical machine running with a target resource instance and instance information of the target resource instance, and the instance information comprises an instance identifier and priority information; selecting a target number of target resource instances as a first resource instance to be released according to the priority of the target resource instances in the physical machine information set; and sending the instance identifiers of the target number of first resource instances to be released to the control end so that the control end releases the target number of first resource instances to be released.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor comprises a receiving unit, an obtaining unit, a selecting unit and a first sending unit. The names of these units do not form a limitation on the unit itself in some cases, for example, the receiving unit may also be described as a unit that receives a resource instance creation request, where the resource instance creation request includes priority information of a resource instance to be created.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept as defined above. For example, the above features and (but not limited to) the features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.

Claims (12)

1. A method for scheduling cloud resources, comprising:
receiving a resource instance creating request, wherein the resource instance creating request comprises priority information of a resource instance to be created;
responding to a trigger condition for determining that resource instance release is met, and acquiring a physical machine information set, wherein physical machine information in the physical machine information set comprises an identifier of a physical machine running a target resource instance and instance information of the target resource instance, and the instance information comprises an instance identifier and priority information;
selecting a target number of target resource instances as a first resource instance to be released according to the priority of the target resource instances in the physical machine information set;
sending the instance identifiers of the target number of first resource instances to be released to a control end so that the control end releases the target number of first resource instances to be released;
wherein, the selecting a target number of target resource instances as a first resource instance to be released according to the priority of the target resource instances in the physical machine information set includes:
selecting a physical machine with a releasable resource amount matched with the resource amount required by the resource instance to be created from the physical machine information set as a target physical machine, wherein the releasable resource amount comprises a total resource amount released by at least one target resource instance running on the physical machine;
generating priority information of the releasable resource amount corresponding to each target physical machine according to the priority information of at least one target resource instance corresponding to the releasable resource amount;
and selecting target resource instances corresponding to the target number of releasable resources as the first resource instances to be released according to the priority indicated by the generated priority information of the releasable resource amount from low to high.
2. The method of claim 1, wherein the method further comprises:
and in response to receiving the information which is sent by the control end and indicates that the target number of first resource instances to be released are released completely, deleting the instance information of the target number of first resource instances to be released in the physical machine information set.
3. The method of claim 1, wherein the priority information of the resource instance to be created comprises a regular resource instance type, the priority information of the target resource instance comprises a bidding resource instance type, the regular resource instance type has a higher priority than the bidding resource instance type, and the priority information of the bidding resource instance type comprises user bid information.
4. The method of claim 3, wherein the generating the priority information of the amount of releasable resources corresponding to each target physical machine according to the priority information of at least one target resource instance corresponding to the amount of releasable resources comprises:
and generating priority information of the releasable resource amount corresponding to each target physical machine based on the statistical value of the user bid information of at least one target resource instance corresponding to the releasable resource amount.
5. The method of claim 3 or 4, wherein the method further comprises:
in response to determining that there is a target resource instance in the set of physical machine information whose bid indicated by the user bid information is less than the floating price, determining the target resource instance whose bid indicated by the user bid information is less than the floating price as a second resource instance to be released;
and sending the determined instance identifier of the second resource instance to be released to the control end so that the control end releases the selected second resource instance to be released.
6. An apparatus for scheduling cloud resources, comprising:
the device comprises a receiving unit, a sending unit and a receiving unit, wherein the receiving unit is configured to receive a resource instance creating request, and the resource instance creating request comprises priority information of a resource instance to be created;
the resource instance releasing method comprises the steps of obtaining a physical machine information set in response to determining that a triggering condition of resource instance releasing is met, wherein physical machine information in the physical machine information set comprises an identifier of a physical machine running a target resource instance and instance information of the target resource instance, and the instance information comprises an instance identifier and priority information;
the selecting unit is configured to select a target number of target resource instances as a first resource instance to be released according to the priority of the target resource instances in the physical machine information set;
a first sending unit, configured to send the instance identifiers of the target number of first to-be-released resource instances to a control end, so that the control end releases the target number of first to-be-released resource instances;
wherein, the selection unit comprises:
a first selecting module configured to select, from the physical machine information set, a physical machine whose releasable resource amount matches a resource amount required by the resource instance to be created, as a target physical machine, where the releasable resource amount includes a total resource amount released by at least one target resource instance running on the physical machine;
the generating module is configured to generate the priority information of the releasable resource amount corresponding to each target physical machine according to the priority information of at least one target resource instance corresponding to the releasable resource amount;
and the second selecting module is configured to select target resource instances corresponding to the target number of releasable resources as the first resource instances to be released from low to high in sequence according to the priority indicated by the generated priority information of the amount of the releasable resources.
7. The apparatus of claim 6, wherein the apparatus further comprises:
and the deleting unit is configured to delete the instance information of the target number of first to-be-released resource instances in the physical machine information set in response to receiving the information which is sent by the control end and indicates that the release of the target number of first to-be-released resource instances is completed.
8. The apparatus of claim 6, wherein the priority information of the resource instance to be created comprises a regular resource instance type, the priority information of the target resource instance comprises a bidding resource instance type, the regular resource instance type has a higher priority than the bidding resource instance type, and the priority information of the bidding resource instance type comprises user bid information.
9. The apparatus of claim 8, wherein the generation module is further configured to:
and generating priority information of the releasable resource amount corresponding to each target physical machine based on the statistical value of the user bid information of at least one target resource instance corresponding to the releasable resource amount.
10. The apparatus of claim 8 or 9, wherein the apparatus further comprises:
a determining unit configured to determine, as a second resource instance to be released, a target resource instance in the set of physical machine information, for which the bid indicated by the user bid information is smaller than the floating price, in response to determining that the target resource instance exists in the set of physical machine information, for which the bid indicated by the user bid information is smaller than the floating price;
and the second sending unit is configured to send the determined example identifier of the second resource example to be released to the control end, so that the control end releases the selected second resource example to be released.
11. A server, comprising:
one or more processors;
a storage device having one or more programs stored thereon;
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-5.
12. A computer-readable medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-5.
CN201910999651.9A 2019-10-21 2019-10-21 Method and device for scheduling cloud resources Active CN110716809B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910999651.9A CN110716809B (en) 2019-10-21 2019-10-21 Method and device for scheduling cloud resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910999651.9A CN110716809B (en) 2019-10-21 2019-10-21 Method and device for scheduling cloud resources

Publications (2)

Publication Number Publication Date
CN110716809A CN110716809A (en) 2020-01-21
CN110716809B true CN110716809B (en) 2022-06-21

Family

ID=69213911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910999651.9A Active CN110716809B (en) 2019-10-21 2019-10-21 Method and device for scheduling cloud resources

Country Status (1)

Country Link
CN (1) CN110716809B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327918B (en) * 2022-03-11 2022-06-10 北京百度网讯科技有限公司 Method and device for adjusting resource amount, electronic equipment and storage medium
CN116308394B (en) * 2023-05-22 2023-08-04 工业富联(佛山)创新中心有限公司 Label association method, apparatus, electronic device and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108429631A (en) * 2017-02-15 2018-08-21 华为技术有限公司 A kind of method and device of network service instantiation
CN108762903A (en) * 2018-05-23 2018-11-06 四川斐讯信息技术有限公司 A kind of preemptive type method for scheduling task and system towards magnanimity working node
CN108769254A (en) * 2018-06-25 2018-11-06 星环信息科技(上海)有限公司 Resource-sharing application method, system and equipment based on preemption scheduling

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10628222B2 (en) * 2016-05-17 2020-04-21 International Business Machines Corporation Allocating compute offload resources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108429631A (en) * 2017-02-15 2018-08-21 华为技术有限公司 A kind of method and device of network service instantiation
CN108762903A (en) * 2018-05-23 2018-11-06 四川斐讯信息技术有限公司 A kind of preemptive type method for scheduling task and system towards magnanimity working node
CN108769254A (en) * 2018-06-25 2018-11-06 星环信息科技(上海)有限公司 Resource-sharing application method, system and equipment based on preemption scheduling

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Resources allocation and scheduling approaches for business process applications in Cloud contexts;Kahina Bessai;《4th IEEE International Conference on Cloud Computing Technology and Science Proceedings》;20130204;全文 *
实时系统中的任务调度技术研究;宾雪莲;《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》;20050615;第2005年卷(第2期);I138-25 *

Also Published As

Publication number Publication date
CN110716809A (en) 2020-01-21

Similar Documents

Publication Publication Date Title
US11762697B2 (en) Method and apparatus for scheduling resource for deep learning framework
CN108182111B (en) Task scheduling system, method and device
JP7112919B2 (en) Smart device task processing method and device
US9916183B2 (en) Scheduling mapreduce jobs in a cluster of dynamically available servers
US9612878B2 (en) Resource allocation in job scheduling environment
CN109033001B (en) Method and apparatus for allocating GPUs
US20160205039A1 (en) Prediction-based provisioning planning for cloud environments
CN109408205B (en) Task scheduling method and device based on hadoop cluster
JP2020173778A (en) Method, apparatus, electronic facility, computer readable medium, and computer program for allocating resource
US9417913B2 (en) Tunable computerized job scheduling
KR102612312B1 (en) Electronic apparatus and controlling method thereof
US20160359984A1 (en) Web services documentation
US10599497B2 (en) Invoking enhanced plug-ins and creating workflows having a series of enhanced plug-ins
CN110716809B (en) Method and device for scheduling cloud resources
US10025640B2 (en) Balancing work of tasks at a sending node of a transaction server
US11861397B2 (en) Container scheduler with multiple queues for special workloads
CN110113176B (en) Information synchronization method and device for configuration server
US20220129306A1 (en) Managing task flow in edge computing environment
CN109842665B (en) Task processing method and device for task allocation server
US20130145004A1 (en) Provisioning using presence detection
CN112667368A (en) Task data processing method and device
WO2022148376A1 (en) Edge time sharing across clusters via dynamic task migration
US10042787B2 (en) Controlling data transfer for data processing
US10680912B1 (en) Infrastructure resource provisioning using trace-based workload temporal analysis for high performance computing
US10901797B2 (en) Resource allocation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant