CN115981808A - Scheduling method, scheduling device, computer equipment and storage medium - Google Patents

Scheduling method, scheduling device, computer equipment and storage medium Download PDF

Info

Publication number
CN115981808A
CN115981808A CN202211566611.3A CN202211566611A CN115981808A CN 115981808 A CN115981808 A CN 115981808A CN 202211566611 A CN202211566611 A CN 202211566611A CN 115981808 A CN115981808 A CN 115981808A
Authority
CN
China
Prior art keywords
scheduled
unit
queue
attribute information
scheduling
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.)
Pending
Application number
CN202211566611.3A
Other languages
Chinese (zh)
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.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information 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 Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202211566611.3A priority Critical patent/CN115981808A/en
Publication of CN115981808A publication Critical patent/CN115981808A/en
Priority to PCT/CN2023/117662 priority patent/WO2024119930A1/en
Pending legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present disclosure provides a scheduling method, an apparatus, a computer device and a storage medium, which relate to the technical field of computers, and can be specifically applied to the fields of cloud computing, big data, intelligent supply chains, etc., and the method includes: determining first attribute information of a unit to be scheduled, determining a queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, wherein the queue to be scheduled comprises at least one unit to be scheduled with the first attribute information, and scheduling the unit to be scheduled based on the queue to be scheduled. By implementing the method, the attribute difference between the units to be scheduled in the queue to be scheduled can be effectively reduced based on the first attribute information, so that the batch scheduling of the units to be scheduled can be quickly and accurately realized according to the queue to be scheduled, and the scheduling efficiency of the units to be scheduled can be effectively improved.

Description

Scheduling method, scheduling device, computer equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a scheduling method and apparatus, a computer device, and a storage medium, which can be applied to the fields of cloud computing, big data, and an intelligent supply chain.
Background
Computer clusters, referred to as "clusters" (e.g., kubernets clusters), are composed of a set of machines called nodes (nodes) on which containerized applications managed by kubernets run, and each cluster has at least one working node. Pod is the basic scheduling unit on kubernets platform. When a deployment is created on kubernets, the deployment will create a Pod containing the container (rather than creating the container directly). Each Pod is bound to the node (node) where the debug executes it and remains until terminated (according to the restart policy) or deleted.
In the related art, it is common to schedule each Pod in turn based on a native scheduling framework, or schedule the Pod in a unit of a lot based on a batch scheduling framework.
In this way, scheduling based on the native scheduling framework has low scheduling efficiency, and scheduling based on the batch scheduling framework may also affect scheduling efficiency due to differences in attribute information of different Pod.
Disclosure of Invention
The present disclosure is directed to solving, at least in part, one of the technical problems in the related art.
Therefore, the present disclosure aims to provide a scheduling method, an apparatus, a computer device, and a storage medium, which can effectively reduce the attribute difference between units to be scheduled in a queue to be scheduled based on first attribute information, so as to quickly and accurately implement batch scheduling of the units to be scheduled according to the queue to be scheduled, thereby effectively improving the scheduling efficiency of the units to be scheduled.
The scheduling method provided by the embodiment of the first aspect of the present disclosure includes: determining first attribute information of a unit to be scheduled; determining a queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, wherein the queue to be scheduled comprises at least one unit to be scheduled of the first attribute information; and scheduling the unit to be scheduled based on the queue to be scheduled.
In some embodiments of the present disclosure, said scheduling the unit to be scheduled based on the queue to be scheduled includes:
acquiring priority information of the queue to be scheduled;
and if the priority information meets the priority condition, scheduling the unit to be scheduled based on the queue to be scheduled.
In some embodiments of the present disclosure, said scheduling the unit to be scheduled based on the queue to be scheduled includes:
obtaining an available node list of the queue to be scheduled, wherein the available node list comprises: at least one available node identification and second attribute information corresponding to an available node to which each available node identification belongs;
and scheduling the unit to be scheduled in the queue to be scheduled to the available node.
In some embodiments of the present disclosure, before the determining the first attribute information of the unit to be scheduled, the method further includes:
determining a reference scheduling unit, wherein first attribute information of the reference scheduling unit is the same as first attribute information of the unit to be scheduled;
determining the available node from a plurality of candidate nodes according to the reference scheduling unit, and determining second attribute information corresponding to the available node;
and generating the available node list according to the available nodes and the second attribute information.
In some embodiments of the present disclosure, after the scheduling the unit to be scheduled in the queue to be scheduled to the available node, the method further includes:
updating the available node list.
In some embodiments of the present disclosure, the updating the available node list includes:
and updating second attribute information corresponding to the available nodes in the available node list.
In some embodiments of the present disclosure, the updating the available node list further includes:
and deleting the available node identification in the available node list under the condition that second attribute information corresponding to the available node in the available node list meets a first condition.
In some embodiments of the present disclosure, before the determining the first attribute information of the unit to be scheduled, the method further includes:
determining first attribute information corresponding to the candidate scheduling unit;
and clustering the candidate scheduling units according to the first attribute information corresponding to the candidate scheduling units to obtain at least one queue to be scheduled, wherein the queue to be scheduled belongs to the at least one queue to be scheduled, and the unit to be scheduled belongs to the candidate scheduling units.
In some embodiments of the present disclosure, the method further comprises:
determining third attribute information corresponding to the candidate scheduling unit;
and determining priority information corresponding to a queue to be scheduled to which the candidate scheduling unit belongs according to the third attribute information.
According to the scheduling method provided by the embodiment of the first aspect of the disclosure, the first attribute information of the unit to be scheduled is determined, and the queue to be scheduled to which the unit to be scheduled belongs is determined according to the first attribute information, wherein the queue to be scheduled comprises at least one unit to be scheduled of the first attribute information, and the unit to be scheduled is scheduled based on the queue to be scheduled, so that the attribute difference between the units to be scheduled in the queue to be scheduled can be effectively reduced based on the first attribute information, thereby facilitating the rapid and accurate batch scheduling of the unit to be scheduled according to the queue to be scheduled, and further effectively improving the scheduling efficiency of the unit to be scheduled.
The scheduling apparatus provided in an embodiment of a second aspect of the present disclosure includes: the first determining module is used for determining first attribute information of the unit to be scheduled;
a second determining module, configured to determine, according to the first attribute information, a queue to be scheduled to which the unit to be scheduled belongs, where the queue to be scheduled includes at least one unit to be scheduled of the first attribute information;
and the first processing module is used for scheduling the unit to be scheduled based on the queue to be scheduled.
In some embodiments of the present disclosure, the first processing module is specifically configured to:
acquiring priority information of the queue to be scheduled;
and if the priority information meets the priority condition, scheduling the unit to be scheduled based on the queue to be scheduled.
In some embodiments of the disclosure, the first processing module comprises:
an obtaining submodule, configured to obtain an available node list of the queue to be scheduled, where the available node list includes: at least one available node identification and second attribute information corresponding to an available node to which each available node identification belongs;
and the processing submodule is used for scheduling the unit to be scheduled in the queue to be scheduled to the available node.
In some embodiments of the present disclosure, the apparatus further comprises:
a third determining module, configured to determine a reference scheduling unit, where first attribute information of the reference scheduling unit is the same as first attribute information of the unit to be scheduled;
a fourth determining module, configured to determine the available node from multiple candidate nodes according to the reference scheduling unit, and determine second attribute information corresponding to the available node;
and the generating module is used for generating the available node list according to the available node and the second attribute information.
In some embodiments of the disclosure, the first processing module further comprises:
and the updating submodule is used for updating the available node list.
In some embodiments of the present disclosure, the update submodule is specifically configured to:
and updating second attribute information corresponding to the available nodes in the available node list.
In some embodiments of the disclosure, the update submodule is further configured to:
and deleting the available node identification in the available node list under the condition that second attribute information corresponding to the available node in the available node list meets a first condition.
In some embodiments of the disclosure, the apparatus further comprises:
a fifth determining module, configured to determine first attribute information corresponding to the candidate scheduling unit;
and the second processing module is used for clustering the candidate scheduling units according to the first attribute information corresponding to the candidate scheduling units to obtain at least one queue to be scheduled, wherein the queue to be scheduled belongs to the at least one queue to be scheduled, and the unit to be scheduled belongs to the candidate scheduling units.
In some embodiments of the present disclosure, the apparatus further comprises:
a sixth determining module, configured to determine third attribute information corresponding to the candidate scheduling unit;
and a seventh determining module, configured to determine, according to the third attribute information, priority information corresponding to a queue to be scheduled to which the candidate scheduling unit belongs.
The scheduling device provided by the embodiment of the second aspect of the disclosure determines the to-be-scheduled queue to which the to-be-scheduled unit belongs according to the first attribute information by determining the first attribute information of the to-be-scheduled unit, wherein the to-be-scheduled queue includes at least one to-be-scheduled unit of the first attribute information, and schedules the to-be-scheduled unit based on the to-be-scheduled queue, so that the attribute difference between the to-be-scheduled units in the to-be-scheduled queue can be effectively reduced based on the first attribute information, thereby rapidly and accurately realizing batch scheduling of the to-be-scheduled unit according to the to-be-scheduled queue, and further effectively improving the scheduling efficiency of the to-be-scheduled unit.
An embodiment of the third aspect of the present disclosure provides a computer device, including: the scheduling method includes a memory, a processor and a computer program stored in the memory and executable on the processor, and the processor implements the scheduling method as set forth in an embodiment of the first aspect of the disclosure when executing the program.
A fourth aspect of the present disclosure provides a non-transitory computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the scheduling method as set forth in the first aspect of the present disclosure.
A fifth aspect of the present disclosure provides a computer program product, wherein when instructions of the computer program product are executed by a processor, the scheduling method as set forth in the first aspect of the present disclosure is performed.
Additional aspects and advantages of the disclosure will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the disclosure.
Drawings
The foregoing and/or additional aspects and advantages of the present disclosure will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
fig. 1 is a schematic flowchart of a scheduling method according to an embodiment of the present disclosure;
fig. 2 is a schematic flowchart of a scheduling method according to another embodiment of the disclosure;
fig. 3 is a flowchart illustrating a scheduling method according to another embodiment of the disclosure;
FIG. 4 is a schematic diagram illustrating a workflow of a scheduler according to an embodiment of the disclosure;
fig. 5 is a schematic structural diagram of a scheduling apparatus according to an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of a scheduling apparatus according to another embodiment of the present disclosure;
FIG. 7 illustrates a block diagram of an exemplary computer device suitable for use in implementing embodiments of the present disclosure.
Detailed Description
Reference will now be made in detail to the embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are illustrative only for the purpose of explaining the present disclosure, and are not to be construed as limiting the present disclosure. On the contrary, the embodiments of the disclosure include all changes, modifications and equivalents coming within the spirit and terms of the claims appended hereto.
Fig. 1 is a flowchart illustrating a scheduling method according to an embodiment of the disclosure.
It should be noted that an execution main body of the scheduling method of this embodiment is a scheduling apparatus, the apparatus may be implemented in a software and/or hardware manner, the apparatus may be configured in a computer device, the computer device may include but is not limited to a terminal, a server, and the like, for example, the terminal may be a mobile phone, a palmtop computer, and the like.
As shown in fig. 1, the scheduling method includes:
s101: first attribute information of a unit to be scheduled is determined.
The unit to be scheduled refers to a basic unit to be scheduled in a computer cluster (e.g., a kubernets cluster), such as a pod, which may be a component of an application load in the cluster.
The first attribute information refers to attribute information used for indicating a queue to be scheduled of a unit to be scheduled, for example, the first attribute information is used for indicating a management tool corresponding to the unit to be scheduled.
In the embodiment of the present disclosure, when determining the first attribute information of the unit to be scheduled, the first attribute information of the unit to be scheduled may be based on character information configured in advance in the unit to be scheduled, or a third-party attribute information identification device may also be used to identify the first attribute information of the unit to be scheduled, which is not limited to this.
In this embodiment, when the first attribute information of the unit to be scheduled is determined, a reliable reference basis may be provided for subsequently determining a queue to be scheduled to which the unit to be scheduled belongs.
S102: and determining a queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, wherein the queue to be scheduled comprises at least one unit to be scheduled of the first attribute information.
The queue to be scheduled refers to a unit queue subjected to batch processing in the scheduling process. For example, in the embodiment of the present disclosure, the units to be scheduled in each queue to be scheduled may be managed by the same management tool.
In the embodiment of the disclosure, when the queue to be scheduled to which the unit to be scheduled belongs is determined according to the first attribute information, the obtained queue to be scheduled includes at least one unit to be scheduled of the first attribute information, so that high relevance between the units to be scheduled in the queue to be scheduled can be ensured, and reliability of subsequent scheduling of the unit to be scheduled based on the queue to be scheduled is effectively improved.
S103: and scheduling the unit to be scheduled based on the queue to be scheduled.
It can be understood that, in the queue to be scheduled determined based on the first attribute information, the attribute information of each unit to be scheduled has higher similarity, and therefore, when the units to be scheduled are scheduled based on the queue to be scheduled, the units to be scheduled in the queue to be scheduled can be scheduled in batch, and at the same time, additional reconstruction cost and time expense caused by the attribute difference among the units to be scheduled in the queue to be scheduled can be avoided.
In this embodiment, the first attribute information of the unit to be scheduled is determined, and the queue to be scheduled to which the unit to be scheduled belongs is determined according to the first attribute information, where the queue to be scheduled includes at least one unit to be scheduled of the first attribute information, and the unit to be scheduled is scheduled based on the queue to be scheduled, so that the attribute difference between the units to be scheduled in the queue to be scheduled can be effectively reduced based on the first attribute information, thereby facilitating to quickly and accurately implement batch scheduling of the units to be scheduled according to the queue to be scheduled, and thus effectively improving the scheduling efficiency of the units to be scheduled.
Fig. 2 is a flowchart illustrating a scheduling method according to another embodiment of the disclosure.
As shown in fig. 2, the scheduling method includes:
s201: first attribute information corresponding to the candidate scheduling units is determined.
The candidate scheduling unit is a scheduling unit that may be regarded as a unit to be scheduled in the computer cluster.
In the embodiment of the disclosure, the number of the units to be scheduled may be multiple, the attribute information between different units to be scheduled may have a difference, and when the first attribute information corresponding to the candidate scheduling unit is determined, a reliable clustering basis may be provided for a subsequent clustering process of multiple candidate scheduling units.
S202: and clustering the candidate scheduling units according to the first attribute information corresponding to the candidate scheduling units to obtain at least one queue to be scheduled, wherein the queue to be scheduled belongs to the at least one queue to be scheduled, and the unit to be scheduled belongs to the candidate scheduling units.
The clustering process may be a process of dividing a plurality of objects to be clustered into a plurality of queues based on clustering bases.
In the embodiment of the disclosure, when the plurality of candidate scheduling units are clustered according to the first attribute information corresponding to the candidate scheduling units to obtain at least one queue to be scheduled, the candidate scheduling units may be preprocessed, so that the queue to be scheduled to which the unit to be scheduled belongs may be determined subsequently according to the first attribute information.
That is to say, in the embodiment of the present disclosure, before determining the first attribute information of the to-be-scheduled unit, the first attribute information corresponding to the candidate scheduling unit may be determined, and according to the first attribute information corresponding to the candidate scheduling unit, the multiple candidate scheduling units are clustered to obtain at least one to-be-scheduled queue, where the to-be-scheduled queue belongs to the at least one to-be-scheduled queue, and the to-be-scheduled unit belongs to the multiple candidate scheduling units, and thus, the clustering process on the multiple candidate scheduling units may be implemented in advance based on the first attribute information corresponding to the candidate scheduling unit, so as to ensure the relevance between the candidate scheduling units included in the obtained to-be-scheduled queue, and thereby effectively improve the practicability of the to-be-scheduled queue in the scheduling process.
S203: third attribute information corresponding to the candidate scheduling units is determined.
The third attribute information refers to priority information used for indicating the candidate scheduling unit, and may be, for example, characters configured in the candidate scheduling unit related file in advance.
In the embodiment of the present disclosure, when determining the third attribute information corresponding to the candidate scheduling unit, a reliable reference may be provided for determining the priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs.
S204: and determining priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs according to the third attribute information.
The priority information may refer to related information used for indicating the processing priority corresponding to the queue to be scheduled, and the third attribute information of the candidate scheduling units included in the same queue to be scheduled may be the same.
It can be understood that, in the scheduling process, the number of queues to be scheduled may be multiple, and the priorities of different queues to be scheduled may have differences, and when the priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs is determined according to the third attribute information, the rationality of the processing order of the queue to be scheduled can be ensured.
That is to say, according to the first attribute information corresponding to the candidate scheduling unit, the embodiment of the present disclosure performs clustering processing on the multiple candidate scheduling units to obtain at least one queue to be scheduled, may determine third attribute information corresponding to the candidate scheduling unit, and determine priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs according to the third attribute information, so that the obtained priority information may provide reliable reference information for determining a processing order of the queue to be scheduled, so as to effectively improve the rationality of the scheduling process.
S205: first attribute information of a unit to be scheduled is determined.
S206: and determining a queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, wherein the queue to be scheduled comprises at least one unit to be scheduled of the first attribute information.
For description of S205 and S206, reference may be made to the above embodiments, and details are not repeated herein.
S207: and acquiring the priority information of the queue to be scheduled.
In the embodiment of the disclosure, after determining the queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, the priority information of the queue to be scheduled can be acquired, so as to provide a reliable execution basis for subsequently processing a plurality of queues to be scheduled.
S208: and if the priority information meets the priority condition, scheduling the unit to be scheduled based on the queue to be scheduled.
The priority condition may be a condition configured in advance for the priority information, and the priority condition may be, for example, that the priority value corresponding to the priority information is the maximum value.
That is to say, according to the first attribute information, after determining the queue to be scheduled to which the unit to be scheduled belongs, the embodiment of the present disclosure may obtain the priority information of the queue to be scheduled, and schedule the unit to be scheduled based on the queue to be scheduled if the priority information satisfies the priority condition, thereby providing a reliable execution basis for scheduling the unit to be scheduled based on the matching result of the priority information and the priority condition, and thereby effectively improving the reliability of the scheduling process.
In this embodiment, the first attribute information corresponding to the candidate scheduling units is determined, and the multiple candidate scheduling units are clustered according to the first attribute information corresponding to the candidate scheduling units to obtain at least one queue to be scheduled, where the queue to be scheduled belongs to the at least one queue to be scheduled, and the unit to be scheduled belongs to the multiple candidate scheduling units, so that clustering of the multiple candidate scheduling units can be realized in advance based on the first attribute information corresponding to the candidate scheduling units to ensure relevance between the candidate scheduling units included in the obtained queue to be scheduled, thereby effectively improving practicality of the queue to be scheduled in the scheduling process. The third attribute information corresponding to the candidate scheduling unit is determined, and the priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs is determined according to the third attribute information, so that the obtained priority information can provide reliable reference information for determining the processing order of the queue to be scheduled, and the rationality of the scheduling process is effectively improved. By acquiring the priority information of the queue to be scheduled, if the priority information meets the priority condition, the unit to be scheduled is scheduled based on the queue to be scheduled, so that a reliable execution basis can be provided for scheduling the unit to be scheduled based on the matching result of the priority information and the priority condition, and the reliability of the scheduling process is effectively improved.
Fig. 3 is a flowchart illustrating a scheduling method according to another embodiment of the disclosure.
As shown in fig. 3, the scheduling method includes:
s301: and determining a reference scheduling unit, wherein the first attribute information of the reference scheduling unit is the same as the first attribute information of the unit to be scheduled.
The reference scheduling unit refers to a scheduling unit of which the first attribute information is the same as the first attribute information of the unit to be scheduled.
In the embodiment of the present disclosure, when determining the reference scheduling unit, one unit to be scheduled may be arbitrarily extracted from the queue to be scheduled as the reference unit, or a corresponding unit management tool may be determined according to the first attribute information, and then the reference scheduling unit is generated by the unit management tool, which is not limited to this.
S302: according to the reference scheduling unit, an available node is determined from the plurality of candidate nodes, and second attribute information corresponding to the available node is determined.
The node refers to the smallest computing hardware unit in a computer cluster, and is a representation of a single machine in the cluster, and the node may be a physical machine in a data center, or may also be a virtual machine, which is not limited to this. The available node refers to a node which can bear the operation of the reference scheduling unit. And a candidate node refers to a node that is likely to be an available node.
The second attribute information refers to attribute information corresponding to the available node, and may indicate, for example, the remaining available resources of the available node.
In this embodiment, when determining an available node from the plurality of candidate nodes according to the reference scheduling unit, and determining the second attribute information corresponding to the available node, reliable data support may be provided for subsequently generating an available node list.
S303: and generating an available node list according to the available node and the second attribute information.
The available node list may be used to indicate an available node corresponding to the reference scheduling unit and second attribute information corresponding to the available node.
It can be understood that the units to be scheduled in the same queue to be scheduled have higher relevance, so that the obtained available node is suitable for all the units to be scheduled in the queue to be scheduled, and when the available node list is generated according to the available node and the second attribute information, reliable reference information can be provided for the subsequent unit scheduling process.
That is to say, in the embodiment of the present disclosure, a reference scheduling unit may be determined, where first attribute information of the reference scheduling unit is the same as first attribute information of a unit to be scheduled, an available node is determined from a plurality of candidate nodes according to the reference scheduling unit, second attribute information corresponding to the available node is determined, and an available node list is generated according to the available node and the second attribute information, so that the obtained available node list may accurately indicate the available node of the reference scheduling unit and the second attribute information corresponding to the available node, thereby providing reliable reference information for a scheduling process of the unit to be scheduled in a queue to be scheduled, and effectively reducing a time cost for determining the available node corresponding to the unit to be scheduled.
S304: first attribute information of a unit to be scheduled is determined.
S305: and determining a queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, wherein the queue to be scheduled comprises at least one unit to be scheduled of the first attribute information.
For the description of S304 and S305, reference may be made to the above embodiments, which are not described herein again.
S306: obtaining an available node list of a queue to be scheduled, wherein the available node list comprises: at least one available node identifier, and second attribute information corresponding to the available node to which each available node identifier belongs.
The available node identifier refers to identification information used to indicate an available node in the available node list.
In the embodiment of the disclosure, when the available node list of the queue to be scheduled is obtained, the obtained available node list can accurately indicate the scheduling process of the unit to be scheduled in the queue to be scheduled.
S307: and scheduling the unit to be scheduled in the queue to be scheduled to the available node.
That is to say, in the embodiment of the present disclosure, after determining the queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, an available node list of the queue to be scheduled may be obtained, where the available node list includes: the unit to be scheduled in the queue to be scheduled is scheduled to the available node by at least one available node identifier and second attribute information corresponding to the available node to which each available node identifier belongs, so that the available node corresponding to the unit to be scheduled in the queue to be scheduled can be quickly and accurately determined based on the available node list, and the scheduling efficiency between the unit to be scheduled and the available node is effectively improved while the reliability of the scheduling process is ensured.
S308: the list of available nodes is updated.
It can be understood that the bearer capability of the available node is limited, and after the unit to be scheduled is scheduled to the available node, some resources of the available node may be occupied, which affects the indication accuracy of the available node list, so that the available node list may be updated after the unit to be scheduled in the queue to be scheduled is scheduled to the available node.
That is to say, after the unit to be scheduled in the queue to be scheduled is scheduled to the available node, the embodiment of the present disclosure may update the available node list, thereby ensuring real-time performance of the available node list in the scheduling process, and effectively improving the indication effect of the available node list.
Optionally, in some embodiments, when the available node list is updated, the second attribute information corresponding to the available node in the available node list may be updated, so that the real-time performance and the accuracy of the second attribute information in the available node list may be ensured, and the indication effect of the available node list may be effectively improved.
Optionally, in some embodiments, when the available node list is updated, the available node identifier in the available node list may be deleted under the condition that the second attribute information corresponding to the available node in the available node list satisfies the first condition, so that the available node identifier in the available node list may be deleted in time when the second attribute information corresponding to the available node satisfies the first condition, so as to effectively reduce redundant information in the available node list, and avoid interference of the available node identifier whose second attribute information satisfies the first condition on the scheduling process.
For example, in the embodiment of the present disclosure, when there is no available node in the available node list, the scheduling process of the queue to be scheduled is ended, or after all units to be scheduled in the queue to be scheduled are scheduled, the scheduling process of the queue to be scheduled is ended, and a new queue to be processed is determined.
In this embodiment, by determining the reference scheduling unit, where the first attribute information of the reference scheduling unit is the same as the first attribute information of the unit to be scheduled, determining an available node from the multiple candidate nodes according to the reference scheduling unit, determining the second attribute information corresponding to the available node, and generating an available node list according to the available node and the second attribute information, the obtained available node list may accurately indicate the available node of the reference scheduling unit and the second attribute information corresponding to the available node, so as to provide reliable reference information for the scheduling process of the unit to be scheduled in the queue to be scheduled, thereby effectively reducing the time cost for determining the available node corresponding to the unit to be scheduled. The method comprises the steps of obtaining an available node list of a queue to be scheduled, wherein the available node list comprises the following components: the unit to be scheduled in the queue to be scheduled is scheduled to the available node by at least one available node identifier and second attribute information corresponding to the available node to which each available node identifier belongs, so that the available node corresponding to the unit to be scheduled in the queue to be scheduled can be quickly and accurately determined based on the available node list, and the scheduling efficiency between the unit to be scheduled and the available node is effectively improved while the reliability of the scheduling process is ensured. By updating the available node list, the real-time performance of the available node list in the scheduling process can be ensured, and the indication effect of the available node list can be effectively improved. By updating the second attribute information corresponding to the available node in the available node list, the real-time performance and the accuracy of the second attribute information in the available node list can be ensured, so that the indication effect of the available node list is effectively improved. The available node identification in the available node list is deleted under the condition that the second attribute information corresponding to the available node in the available node list meets the first condition, so that the available node identification in the available node list can be deleted in time when the second attribute information corresponding to the available node meets the first condition, the redundant information in the available node list is effectively reduced, and the interference of the available node identification of which the second attribute information meets the first condition on the scheduling process is avoided.
For example, the scheduling method in the embodiment of the present disclosure may be implemented based on a scheduler, as shown in fig. 4, fig. 4 is a workflow diagram of a scheduler proposed in the embodiment of the present disclosure, and the scheduler may include a plurality of plug-ins for implementing scheduling functions, such as Prefilter, filter, postFilter, preScore, score, normalize Score, reserve, permit, prebond, bind, and PostBind. Assuming that the unit to be scheduled is pod, the scheduling process may be as follows:
1. the scheduler supports a clustering function, clustering is carried out based on a management tool (pod owner), and the first attribute information (owner) is used as the key of the queue type, so that the scheduling queue is converted from a native single queue into a multi-queue;
2. based on the queue priority, preferentially selecting the pod in the high-priority queue for scheduling, and selecting a queue, such as a queue A to be scheduled;
3. randomly taking one pod in the queue A to be scheduled, and sequentially performing Prefilter, filter and PostFilter to screen available nodes;
4. screening out a node list, taking the node list as a snapshot of the step, and entering a loop logic;
5. acquiring a pod from a queue A to be scheduled;
6. sequentially performing PreScore, score, normalize Score, reserve, permit, prebond, bind and PostBind to realize the binding between the unit pod to be scheduled and the available node;
7, after the bind is finished, updating the node list;
8. returning to step 5, a loop is performed until all the pod in the queue has been scheduled or the number of available nodes in the snapshot is 0.
The whole scheduling process can be divided into a scheduling period and a binding period, and the sort plug-in does not belong to the two periods, and can sort the pod in the scheduling queue.
Fig. 5 is a schematic structural diagram of a scheduling apparatus according to an embodiment of the present disclosure.
As shown in fig. 5, the scheduling apparatus 50 includes:
a first determining module 501, configured to determine first attribute information of a unit to be scheduled;
a second determining module 502, configured to determine, according to the first attribute information, a queue to be scheduled to which a unit to be scheduled belongs, where the queue to be scheduled includes at least one unit to be scheduled of the first attribute information;
the first processing module 503 is configured to schedule the unit to be scheduled based on the queue to be scheduled.
In some embodiments of the present disclosure, as shown in fig. 6, fig. 6 is a schematic structural diagram of a scheduling apparatus according to another embodiment of the present disclosure, and the first processing module 503 is specifically configured to:
acquiring priority information of a queue to be scheduled;
and if the priority information meets the priority condition, scheduling the unit to be scheduled based on the queue to be scheduled.
In some embodiments of the present disclosure, the first processing module 503 includes:
the obtaining sub-module 5031 is configured to obtain an available node list of the queue to be scheduled, where the available node list includes: at least one available node identifier and second attribute information corresponding to an available node to which each available node identifier belongs;
the processing sub-module 5032 is configured to schedule the unit to be scheduled in the queue to be scheduled to an available node.
In some embodiments of the present disclosure, further comprising:
a third determining module 504, configured to determine a reference scheduling unit, where first attribute information of the reference scheduling unit is the same as first attribute information of a unit to be scheduled;
a fourth determining module 505, configured to determine an available node from the multiple candidate nodes according to the reference scheduling unit, and determine second attribute information corresponding to the available node;
a generating module 506, configured to generate an available node list according to the available node and the second attribute information.
In some embodiments of the present disclosure, the first processing module 503 further includes:
an update sub-module 5033 configured to update the list of available nodes.
In some embodiments of the present disclosure, the update sub-module 5033 is specifically configured to:
and updating second attribute information corresponding to the available nodes in the available node list.
In some embodiments of the present disclosure, update sub-module 5033, to further:
and under the condition that second attribute information corresponding to the available nodes in the available node list meets a first condition, deleting the available node identifiers in the available node list.
In some embodiments of the disclosure, the apparatus further comprises:
a fifth determining module 507, configured to determine first attribute information corresponding to the candidate scheduling unit;
the second processing module 508 is configured to perform clustering processing on the multiple candidate scheduling units according to the first attribute information corresponding to the candidate scheduling units to obtain at least one queue to be scheduled, where the queue to be scheduled belongs to the at least one queue to be scheduled, and the unit to be scheduled belongs to the multiple candidate scheduling units.
In some embodiments of the disclosure, the apparatus further comprises:
a sixth determining module 509, configured to determine third attribute information corresponding to the candidate scheduling unit;
a seventh determining module 510, configured to determine, according to the third attribute information, priority information corresponding to a queue to be scheduled to which the candidate scheduling unit belongs.
It should be noted that the foregoing explanation on the scheduling method is also applicable to the scheduling apparatus of this embodiment, and is not repeated here.
In this embodiment, the first attribute information of the unit to be scheduled is determined, and the queue to be scheduled to which the unit to be scheduled belongs is determined according to the first attribute information, where the queue to be scheduled includes at least one unit to be scheduled of the first attribute information, and the unit to be scheduled is scheduled based on the queue to be scheduled, so that the attribute difference between the units to be scheduled in the queue to be scheduled can be effectively reduced based on the first attribute information, thereby facilitating to quickly and accurately implement batch scheduling of the units to be scheduled according to the queue to be scheduled, and thus effectively improving the scheduling efficiency of the units to be scheduled.
FIG. 7 illustrates a block diagram of an exemplary computer device suitable for use in implementing embodiments of the present disclosure. The computer device 12 shown in fig. 7 is only an example and should not bring any limitations to the functionality or scope of use of the embodiments of the present disclosure.
As shown in FIG. 7, computer device 12 is in the form of a general purpose computing device. The components of computer device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 and the processing unit 16.
Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. These architectures include, but are not limited to, industry Standard Architecture (ISA) bus, micro Channel Architecture (MAC) bus, enhanced ISA bus, video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus, to name a few.
Computer device 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
Memory 28 may include computer system readable media in the form of volatile Memory, such as Random Access Memory (RAM) 30 and/or cache Memory 32. The computer device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 7, and commonly referred to as a "hard drive").
Although not shown in FIG. 7, a disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a Compact disk Read Only Memory (CD-ROM), a Digital versatile disk Read Only Memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to bus 18 by one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the disclosure.
A program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. Program modules 42 generally perform the functions and/or methodologies of the embodiments described in this disclosure.
Computer device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), with one or more devices that enable a person to interact with computer device 12, and/or with any devices (e.g., network card, modem, etc.) that enable computer device 12 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 22. Moreover, computer device 12 may also communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public Network such as the Internet via Network adapter 20. As shown, the network adapter 20 communicates with the other modules of the computer device 12 via the bus 18. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with computer device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, to name a few.
The processing unit 16 executes various functional applications and data processing by executing programs stored in the system memory 28, for example, implementing the scheduling methods mentioned in the foregoing embodiments.
In order to achieve the above embodiments, the present disclosure also proposes a non-transitory computer-readable storage medium on which a computer program is stored, which when executed by a processor implements the scheduling method as proposed by the foregoing embodiments of the present disclosure.
In order to implement the foregoing embodiments, the present disclosure further provides a computer program product, which when executed by an instruction processor in the computer program product, performs the scheduling method as set forth in the foregoing embodiments of the present disclosure.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
It should be noted that, in the description of the present disclosure, the terms "first", "second", etc. are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. In addition, in the description of the present disclosure, the meaning of "a plurality" is two or more unless otherwise specified.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and the scope of the preferred embodiments of the present disclosure includes other implementations in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the embodiments of the present disclosure.
It should be understood that portions of the present disclosure may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
It will be understood by those skilled in the art that all or part of the steps carried by the method for implementing the above embodiments may be implemented by hardware related to instructions of a program, which may be stored in a computer readable storage medium, and when the program is executed, the program includes one or a combination of the steps of the method embodiments.
In addition, functional units in the embodiments of the present disclosure may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. The integrated module, if implemented in the form of a software functional module and sold or used as a stand-alone product, may also be stored in a computer readable storage medium.
The storage medium mentioned above may be a read-only memory, a magnetic or optical disk, etc.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present disclosure. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
Although embodiments of the present disclosure have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present disclosure, and that changes, modifications, substitutions and alterations may be made to the above embodiments by those of ordinary skill in the art within the scope of the present disclosure.

Claims (13)

1. A method of scheduling, comprising:
determining first attribute information of a unit to be scheduled;
determining a queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, wherein the queue to be scheduled comprises at least one unit to be scheduled of the first attribute information;
and scheduling the unit to be scheduled based on the queue to be scheduled.
2. The method of claim 1, wherein said scheduling the unit to be scheduled based on the queue to be scheduled comprises:
acquiring priority information of the queue to be scheduled;
and if the priority information meets the priority condition, scheduling the unit to be scheduled based on the queue to be scheduled.
3. The method of claim 1 or 2, wherein said scheduling the unit to be scheduled based on the queue to be scheduled comprises:
obtaining an available node list of the queue to be scheduled, wherein the available node list comprises: at least one available node identification and second attribute information corresponding to an available node to which each available node identification belongs;
and scheduling the unit to be scheduled in the queue to be scheduled to the available node.
4. The method of claim 3, wherein prior to the determining the first attribute information of the unit to be scheduled, further comprising:
determining a reference scheduling unit, wherein the first attribute information of the reference scheduling unit is the same as the first attribute information of the unit to be scheduled;
determining the available node from a plurality of candidate nodes according to the reference scheduling unit, and determining second attribute information corresponding to the available node;
and generating the available node list according to the available node and the second attribute information.
5. The method of claim 3, wherein after said scheduling said unit to be scheduled in said queue to be scheduled to said available node, further comprising:
updating the available node list.
6. The method of claim 5, wherein said updating said list of available nodes comprises:
and updating second attribute information corresponding to the available nodes in the available node list.
7. The method of claim 6, wherein the updating the list of available nodes further comprises:
and deleting the available node identification in the available node list under the condition that second attribute information corresponding to the available node in the available node list meets a first condition.
8. The method of any of claims 1-7, wherein prior to the determining the first attribute information of the unit to be scheduled, the method further comprises:
determining first attribute information corresponding to the candidate scheduling unit;
and clustering the candidate scheduling units according to the first attribute information corresponding to the candidate scheduling units to obtain at least one queue to be scheduled, wherein the queue to be scheduled belongs to the at least one queue to be scheduled, and the unit to be scheduled belongs to the candidate scheduling units.
9. The method of claim 8, wherein the method further comprises:
determining third attribute information corresponding to the candidate scheduling unit;
and determining priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs according to the third attribute information.
10. A scheduling apparatus, comprising:
the first determining module is used for determining first attribute information of the unit to be scheduled;
a second determining module, configured to determine, according to the first attribute information, a queue to be scheduled to which the unit to be scheduled belongs, where the queue to be scheduled includes at least one unit to be scheduled of the first attribute information;
and the first processing module is used for scheduling the unit to be scheduled based on the queue to be scheduled.
11. A computer device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-9.
12. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 1-9.
13. A computer program product, characterized in that it comprises a computer program which, when being executed by a processor, carries out the steps of the method according to any one of claims 1-9.
CN202211566611.3A 2022-12-07 2022-12-07 Scheduling method, scheduling device, computer equipment and storage medium Pending CN115981808A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211566611.3A CN115981808A (en) 2022-12-07 2022-12-07 Scheduling method, scheduling device, computer equipment and storage medium
PCT/CN2023/117662 WO2024119930A1 (en) 2022-12-07 2023-09-08 Scheduling method and apparatus, and computer device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211566611.3A CN115981808A (en) 2022-12-07 2022-12-07 Scheduling method, scheduling device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115981808A true CN115981808A (en) 2023-04-18

Family

ID=85974987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211566611.3A Pending CN115981808A (en) 2022-12-07 2022-12-07 Scheduling method, scheduling device, computer equipment and storage medium

Country Status (2)

Country Link
CN (1) CN115981808A (en)
WO (1) WO2024119930A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024119930A1 (en) * 2022-12-07 2024-06-13 京东科技信息技术有限公司 Scheduling method and apparatus, and computer device and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020024636A (en) * 2018-08-08 2020-02-13 株式会社Preferred Networks Scheduling device, scheduling system, scheduling method and program
CN114064296B (en) * 2022-01-18 2022-04-26 北京建筑大学 Kubernetes scheduling method, Kubernetes scheduling device and storage medium
CN114968566A (en) * 2022-05-17 2022-08-30 南京邮电大学 Container scheduling method and device under shared GPU cluster
CN115981808A (en) * 2022-12-07 2023-04-18 京东科技信息技术有限公司 Scheduling method, scheduling device, computer equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024119930A1 (en) * 2022-12-07 2024-06-13 京东科技信息技术有限公司 Scheduling method and apparatus, and computer device and storage medium

Also Published As

Publication number Publication date
WO2024119930A1 (en) 2024-06-13

Similar Documents

Publication Publication Date Title
CN113641457B (en) Container creation method, device, apparatus, medium, and program product
CN112035238B (en) Task scheduling processing method and device, cluster system and readable storage medium
US10318456B2 (en) Validation of correctness of interrupt triggers and delivery
CN113238843B (en) Task execution method, device, equipment and storage medium
CN112035230A (en) Method and device for generating task scheduling file and storage medium
US7539992B2 (en) Scheduling method, program product for use in such method, and task scheduling apparatus
WO2024119930A1 (en) Scheduling method and apparatus, and computer device and storage medium
CN115150471A (en) Data processing method, device, equipment, storage medium and program product
US6480877B1 (en) Orphan computer process identification
CN112650449B (en) Method and system for releasing cache space, electronic device and storage medium
CN113835830A (en) AI-based RPA cluster management method, device and storage medium
CN113553216A (en) Data recovery method and device, electronic equipment and storage medium
WO2024103927A1 (en) Job scheduling method and apparatus in hybrid deployment scenario, and electronic device
CN113407343A (en) Service processing method, device and equipment based on resource allocation
CN113051049A (en) Task scheduling system, method, electronic device and readable storage medium
JP2002140208A (en) Performance simulator, performance simulation method, and recording medium with performance simulation program recorded thereon
CN116881003A (en) Resource allocation method, device, service equipment and storage medium
US7680921B2 (en) Management system, management computer, managed computer, management method and program
CN110825342A (en) Memory scheduling device and system, method and apparatus for processing information
CN115016890A (en) Virtual machine resource allocation method and device, electronic equipment and storage medium
CN112395081B (en) Online automatic resource recycling method, system, server and storage medium
CN117093335A (en) Task scheduling method and device for distributed storage system
CN110647527B (en) Big data-based invalid label clearing method and device, equipment and readable medium
CN114356516A (en) Resource scheduling method, related device, equipment and storage medium
CN113419832A (en) Processing method and device of delay task and terminal

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