Industrial Internet kernel scheduling method, device, storage medium and program product
By generating scheduling evaluation functions and considering the relationship between calculation tasks and manufacturing tasks, the problem of uneven resource allocation in the prior art is solved, and a more reasonable and uniform resource allocation is achieved.
Patent Information
- Application Number
- CN202510088956.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-21
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2045-01-21
AI Technical Summary
In the prior art, the independent scheduling of computing tasks and manufacturing tasks leads to a decrease in the rationality of scheduling scheme allocation and poor resource allocation uniformity.
By receiving order packages, a scheduling evaluation function is generated, and a scheduling plan is generated based on scheduling information, evaluation function and constraints, the relationship between calculation tasks and manufacturing tasks is considered, and the scheduling resources are allocated reasonably.
A more reasonable and even resource allocation is achieved, the rationality of the scheduling plan is improved, and the order needs are met.
Smart Images

Figure CN119512717B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to computers, and in particular to an industrial Internet kernel scheduling method, device, storage medium and program product. Background Art
[0002] The core of the industrial Internet refers to the core tasks that support the flexible operation of the industrial Internet. It is divided into two parts. One part is the computing tasks running on the cloud and edge, which are carried by lightweight microservices in the form of application processes and software modules; the other part is the manufacturing tasks running on industrial terminals, which are parsed and executed by the terminal controller in the form of processing technology and operation procedures. The computing tasks are decomposed into tasks such as digital twin model deduction, process numerical calculation, industrial site monitoring and prediction for the execution process of manufacturing tasks, and are closely related to manufacturing tasks. That is, there is a complex two-way data transmission relationship between computing tasks and manufacturing tasks.
[0003] In the prior art, when scheduling computing tasks and manufacturing tasks, the computing tasks and manufacturing tasks are calculated separately to obtain respective scheduling solutions.
[0004] However, computing tasks and manufacturing tasks are scheduled as independent individuals, which reduces the rationality of scheduling scheme allocation and leads to poor uniformity of resource allocation. Summary of the invention
[0005] The embodiments of the present application provide an industrial Internet kernel scheduling method, device, storage medium and program product to achieve a reasonable allocation of scheduling plans, so that resources are allocated more evenly.
[0006] In a first aspect, an embodiment of the present application provides a scheduling method, which is applied to a scheduling system and includes:
[0007] receiving an order package; the order package including scheduling information corresponding to at least one order;
[0008] For each order, a scheduling evaluation function corresponding to each order is generated based on the corresponding scheduling information;
[0009] For each order, a corresponding scheduling plan is generated based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraint conditions; the scheduling plan includes the corresponding scheduling resources when all tasks in the order meet the constraint conditions; the constraint conditions include the constraint relationship between tasks; the constraint relationship between tasks includes the relationship between computing tasks and manufacturing tasks;
[0010] For each order, the corresponding task in the order is scheduled based on the scheduling resources in the corresponding scheduling scheme.
[0011] In one embodiment, for each order, generating a scheduling evaluation function corresponding to each order based on corresponding scheduling information includes:
[0012] For each order, obtaining at least one scheduling target from the scheduling information;
[0013] A scheduling evaluation function for each order is generated based on the at least one scheduling target.
[0014] In one embodiment, generating a scheduling evaluation function for each order based on the at least one scheduling target includes:
[0015] Acquire a basis function set; the basis function set includes a basic calculation basis function set and a target calculation basis function set;
[0016] For each scheduling target, matching the functional description of the scheduling target with the functional description of at least one target calculation basis function in the target calculation basis function set;
[0017] If the function description is matched successfully, the successfully matched target calculation basis function is imported into the basis function combination list;
[0018] If the function description is not successfully matched, a target calculation basis function corresponding to the scheduling target is generated and imported into the basis function combination list;
[0019] The scheduling evaluation function corresponding to the order is generated by using the basic computing basis function set and all target computing basis functions in the basis function combination list.
[0020] In one embodiment, generating a target calculation basis function corresponding to a scheduling target includes:
[0021] Locating target computation basis functions with similar functional descriptions from the target computation basis function set;
[0022] If the parameters in the target calculation base function described by the similar function are transformable, transform the parameters therein to generate the target calculation base function corresponding to the scheduling target;
[0023] If the parameters in the target calculation base function described by the similar function are not transformable, the target calculation base function corresponding to the scheduling target is generated based on the historical completed task information set.
[0024] In one embodiment, the scheduling information includes a task set; and for each order, generating a corresponding scheduling solution based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraint condition includes:
[0025] For each order, grouping at least one task in the task set to obtain at least one grouped task set; the grouped task set includes at least one task;
[0026] Allocating a corresponding process to the at least one grouped task set;
[0027] Control each process to perform parallel calculations for the corresponding grouping task set based on the scheduling evaluation function to obtain a grouping scheme corresponding to at least one grouping task set;
[0028] At least one grouping scheme and constraint conditions are used to generate a scheduling scheme corresponding to the order.
[0029] In one embodiment, the controlling each process to perform parallel calculations for the corresponding grouping task set based on the scheduling evaluation function to obtain a grouping scheme corresponding to at least one grouping task set includes:
[0030] For each grouped task set, controlling the corresponding process to randomly generate a corresponding initial plan for at least one task;
[0031] Determine an operator for each initial solution and adopt the operator evolution solution to obtain an updated solution;
[0032] Inputting the update scheme into the scheduling evaluation function to output a scheduling value;
[0033] The scheduling value is used to obtain a grouping scheme corresponding to the grouping task set.
[0034] In one embodiment, the step of using the scheduling value to obtain a grouping scheme corresponding to the grouping task set includes:
[0035] If the scheduling value meets the optimization requirement within the number of iterations, determining the update scheme as the grouping scheme corresponding to the grouping task set;
[0036] If the scheduling value does not meet the optimization requirement within the number of iterations, continue to execute the steps of determining the operator and adopting the operator evolution scheme to output the scheduling value until the output scheduling value meets the optimization requirement, and determine the corresponding update scheme when the optimization requirement is met as the grouping scheme corresponding to the grouped task set;
[0037] If no scheduling value satisfies the optimization requirement within the number of iterations, after the last iteration, the update scheme corresponding to the optimal scheduling value is determined as the grouping scheme corresponding to the grouped task set.
[0038] In one embodiment, the step of using at least one grouping scheme and constraint conditions to generate a scheduling scheme corresponding to an order includes:
[0039] If it is determined that the grouping scheme satisfies the constraint condition, then the grouping scheme is determined to be a target sub-scheme of the grouping task set;
[0040] If it is determined that the grouping scheme does not satisfy the constraint condition, then performing constraint conflict resolution based on the constraint condition to obtain a constraint scheme that satisfies the constraint;
[0041] At least one target sub-plan and a constraint plan are output to generate a scheduling plan corresponding to the order.
[0042] In a second aspect, the present application provides a scheduling device, including: a memory, a processor;
[0043] The memory stores computer-executable instructions;
[0044] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the method described in the first aspect or any one of the above-mentioned methods.
[0045] In a third aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the method described in the first aspect or any one of the above methods.
[0046] In a fourth aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the method described in the first aspect or any one of the above methods.
[0047] The industrial Internet kernel scheduling method, device, storage medium and program product provided by the embodiments of the present application are specifically as follows: the scheduling device first receives an order package, which includes scheduling information corresponding to at least one order in the order package, and generates a scheduling evaluation function corresponding to each order based on the corresponding scheduling information for each order. The scheduling evaluation function in the present application is generated for each order and is changeable and flexible, so the scheduling evaluation function is more in line with the order itself, more accurate and reasonable; then, for each order, a corresponding scheduling plan is generated based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraints, and the scheduling plan includes the corresponding scheduling resources when all tasks in the order meet the constraints, wherein the constraints include the constraints between tasks. The constraint relationship between tasks includes the relationship between computing tasks and manufacturing tasks. Therefore, the scheduling scheme in this application takes into account the relationship between computing tasks and manufacturing tasks, and does not treat computing tasks and manufacturing tasks as independent tasks to generate scheduling schemes. Because in actual scenarios, there is two-way continuous communication between computing tasks and manufacturing tasks, and there are mutual waiting constraints, so there is a certain connection, and they cannot be regarded as independent tasks. The order in the scheduling scheme of this application is the corresponding scheduling resource when the constraint conditions are met, so that the scheduling resources are more reasonable and appropriate, and can better meet the needs of the order, so the scheduling scheme in this application is more accurate; at the same time, satisfying the constraint conditions can also make the scheduling resource distribution more even. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0049] Figure 1 A schematic diagram of the scenario of the industrial Internet kernel scheduling method provided in this application;
[0050] Figure 2 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 1;
[0051] Figure 3 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 2;
[0052] Figure 4 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 3;
[0053] Figure 5 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided for Example 4;
[0054] Figure 6 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 5;
[0055] Figure 7 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 7;
[0056] Figure 8 An overall schematic diagram of an industrial Internet kernel scheduling method provided in Example 7;
[0057] Fig. 9 A schematic diagram of a flow chart for generating a scheduling plan provided in Example 7;
[0058] Fig.10 A schematic diagram of the structure of a scheduling device provided in Example 8;
[0059] Fig.11 A schematic diagram of the scheduling device structure provided for Example 8.
[0060] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0061] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0062] In the prior art, when scheduling computing tasks and manufacturing tasks, the computing tasks and manufacturing tasks are calculated separately to obtain respective scheduling solutions.
[0063] However, the scheduling of computing tasks and manufacturing tasks as independent individuals reduces the rationality of the scheduling scheme allocation, resulting in poor resource allocation uniformity. Specifically, there may be a time sequence relationship between computing tasks and manufacturing tasks, for example, computing task 1 is in the front and manufacturing task 1 is in the back, but the final scheduling scheme regards computing task 1 and manufacturing task 1 as independent, without considering their time sequence. The scheduling scheme that may be generated is that the scheduling resource of computing task 1 is computing resource 1, and the scheduling resource of manufacturing task 1 is also manufacturing resource 1. At this time, the scheduling resources are allocated without considering the time sequence. It is necessary to execute manufacturing task 1 after computing task 1 is completed. When computing task 1 is not completed, if manufacturing resource 1 does not have a task at this time, it will wait until computing task 1 is completed and computing resource 1 communicates with manufacturing resource 1. Then manufacturing resource 1 will execute the manufacturing task. Therefore, manufacturing resource 1 is idle for a period of time, resulting in uneven and unreasonable resource allocation.
[0064] In order to solve the problems existing in the prior art, the inventors of this application have obtained a scheduling method through a series of optimizations. In order to solve the problems of unreasonable scheduling schemes and uneven distribution in the prior art, the scheduling device in this solution receives an order package, which includes scheduling information corresponding to at least one order, and generates a scheduling evaluation function corresponding to each order based on the corresponding scheduling information for each order. Therefore, the scheduling evaluation function in this application is flexible, variable, diversified and more in line with the order itself, so it is more reasonable to use the scheduling evaluation function to generate the corresponding scheduling scheme. The scheduling scheme in this application includes the corresponding scheduling resources when all tasks in the order meet the constraint conditions, and the constraint conditions include the constraint relationship between tasks, and the constraint relationship between tasks includes the relationship between computing tasks and manufacturing tasks. Therefore, the scheduling scheme in this solution takes into account the relationship between computing tasks and manufacturing tasks, and does not generate the corresponding scheduling scheme as an independent individual, so the scheduling scheme in this solution is more reasonable and the scheduling resources are more evenly distributed.
[0065] Figure 1A schematic diagram of the scenario of the industrial Internet kernel scheduling method provided in this application, such as Figure 1 As shown, the specific application scenario of the present application includes a scheduling device 101.
[0066] The scheduling device 101 includes a mobile phone, a computer or other devices, which are not limited here.
[0067] Among them, the scheduling device 101 includes an industrial Internet scheduling system.
[0068] Specifically, the scheduling device 101 first receives an order package, which includes scheduling information corresponding to at least one order.
[0069] Furthermore, the scheduling device 101 generates a scheduling evaluation function corresponding to each order based on the corresponding scheduling information.
[0070] Among them, the scheduling evaluation function can be used to evaluate the rationality of the plan.
[0071] Furthermore, the scheduling device 101 generates a corresponding scheduling solution based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraint conditions.
[0072] Furthermore, the scheduling device 101 schedules the corresponding tasks in the order based on the scheduling resources in the corresponding scheduling scheme.
[0073] Specifically, the scheduling resources include computing resources and manufacturing resources. Computing tasks are scheduled using computing resources, and manufacturing tasks are scheduled using manufacturing resources.
[0074] Specifically, the scheduling device 101 sends a scheduling solution to the corresponding scheduling resources so that each scheduling resource performs processing.
[0075] The industrial Internet kernel scheduling method provided in the present application first generates its own scheduling evaluation function for each order, and then uses the scheduling evaluation function, corresponding scheduling information and constraints to generate a scheduling plan. First, the scheduling evaluation function is flexible and can be changed for each order, so it is more in line with each order. Then, the generated scheduling plan includes the corresponding scheduling resources when all tasks in the order meet the constraints. The constraints include the constraints between tasks, and the constraints between tasks include the relationship between computing tasks and manufacturing tasks. Therefore, the scheduling plan takes the relationship between computing tasks and manufacturing tasks into consideration, and does not generate computing tasks and manufacturing tasks as independent individuals. The scheduling plan shows correlation, so the scheduling plan is more reasonable and can be more evenly distributed.
[0076] It should be noted that the present application adopts an intelligent optimization algorithm to complete the generation of the scheduling plan. The advantage of using an intelligent optimization algorithm is that it can flexibly generate corresponding scheduling evaluation functions for different orders, and consider constraints when generating scheduling plans, so that each task in the order can be comprehensively considered, making the scheduling plan more reasonable.
[0077] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0078] Embodiment 1
[0079] The execution subject of Examples 1 to 8 of the present application is a scheduling device, the scheduling device is located in a scheduling system, and the scheduling system is located in a scheduling device.
[0080] Figure 2 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 1. Figure 2 As shown, specifically including:
[0081] S201, receiving an order package; the order package includes scheduling information corresponding to at least one order.
[0082] The order package includes scheduling information corresponding to at least one order.
[0083] Among them, scheduling information refers to information that affects order scheduling.
[0084] In one approach, the order package may be submitted by a user in a dispatch device.
[0085] The scheduling information may be a demand description file and a task sequence file of an order, wherein the demand description file includes at least one computing task and at least one manufacturing task in the corresponding order, and the scheduling device may read the number of computing tasks and the number of manufacturing tasks.
[0086] Among them, the scheduling device can extract the resource capabilities and parameters required for all tasks from the task sequence file.
[0087] The scheduling device can also read resource information, that is, available computing resources and available manufacturing resources, and can also generate an available computing resource list and an available manufacturing resource list. The available computing resources in the available computing resource list can include a list of computing tasks being executed and a list of computing tasks to be executed.
[0088] The scheduling device can also read the communication bandwidth between the cloud-edge computing resources and the distributed manufacturing resources of the industrial terminal. In this application, the communication bandwidth can be stored in the form of a matrix. In this application, the communication bandwidth can be used to calculate the time required for data transmission between computing resources and manufacturing resources, so as to better determine the resources of each task.
[0089] S202: For each order, generate a scheduling evaluation function corresponding to each order based on the corresponding scheduling information.
[0090] It should be noted that, if the order package includes three orders, the scheduling device needs to generate corresponding scheduling evaluation functions for the three orders respectively.
[0091] The demand description file in the scheduling information also includes the scheduling targets pre-set for each order.
[0092] In one approach, the scheduling device generates a corresponding scheduling evaluation function for each order through a scheduling target.
[0093] S203, for each order, a corresponding scheduling plan is generated based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraints; the scheduling plan includes the corresponding scheduling resources when all tasks in the order meet the constraints; the constraints include the constraint relationship between tasks; the constraint relationship between tasks includes the relationship between computing tasks and manufacturing tasks.
[0094] Among them, scheduling resources include computing resources and manufacturing resources.
[0095] The scheduling scheme refers to the execution resources allocated to all tasks in an order.
[0096] Among them, the inter-task constraint relationship refers to the constraint relationship between various tasks. Among them, the inter-task constraint relationship also includes the cloud-edge collaborative computing task relationship and the industrial terminal manufacturing task relationship.
[0097] Among them, constraints may also include order cost budget, order completion time, minimum resource capacity required by the task, communication bandwidth required by the task, execution time sequence, and uniform distribution of scheduling resources.
[0098] S204: For each order, schedule the corresponding task in the order based on the scheduling resources in the corresponding scheduling solution.
[0099] Among them, scheduling resources include computing resources and manufacturing resources.
[0100] In one embodiment, after generating a scheduling plan, the scheduling device sends the task instructions in the scheduling plan to the scheduling resources included therein, so that each scheduling resource performs the above tasks.
[0101] It should be noted that if the scheduling plan includes computing task 1-computing resource 1, the task instruction is sent to computing resource 1 so that computing resource 1 executes computing task 1.
[0102] The present embodiment provides a scheduling method, which is specifically as follows: the scheduling device first receives an order package, which includes scheduling information corresponding to at least one order in the order package, and generates a scheduling evaluation function corresponding to each order based on the corresponding scheduling information for each order. The scheduling evaluation function in the present application is generated for each order and is changeable and flexible, so the scheduling evaluation function is more in line with the order itself, more accurate and reasonable; then, for each order, a corresponding scheduling plan is generated based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraint conditions, and the scheduling plan includes the corresponding scheduling resources when all tasks in the order meet the constraint conditions, wherein the constraint conditions include the constraint relationship between tasks, the constraint relationship between tasks, and the constraint relationship between tasks. The bundle relationship includes the relationship between the computing tasks and the manufacturing tasks, so the scheduling scheme in this application takes into account the relationship between the computing tasks and the manufacturing tasks, and does not treat the computing tasks and the manufacturing tasks as independent tasks to generate a scheduling scheme, because in the actual scenario, there is a two-way continuous communication between the computing tasks and the manufacturing tasks, and there are mutual waiting constraints, so there is a certain connection, and they cannot be regarded as independent tasks. The order in the scheduling scheme of this application is the corresponding scheduling resource when the constraint conditions are met, so that the scheduling resources are more reasonable and appropriate, and can better meet the needs of the order, so the scheduling scheme in this application is more accurate; at the same time, satisfying the constraints can also make the scheduling resource distribution more even.
[0103] Embodiment 2
[0104] This embodiment is a further refinement of any of the above embodiments. This embodiment is an optional method for generating a scheduling evaluation function corresponding to each order based on the corresponding scheduling information for each order.
[0105] For each order, at least one scheduling target is obtained from the scheduling information, and a scheduling evaluation function for each order is generated based on the at least one scheduling target.
[0106] It should be noted that the scheduling information includes the scheduling targets corresponding to the orders, and this scheduling target includes the order demand target, the process Internet demand target and other demand targets. Among them, the order demand target is to minimize the overall task completion time, minimize the task waiting time, minimize the task execution cost and minimize the material transportation cost based on the order demand. Among them, the process Internet demand target is to minimize resource energy consumption, balance resource computing load and balance resource communication load based on the process Internet demand.
[0107] In one approach, the scheduling device may generate a scheduling evaluation function for each order based on a functional description of at least one scheduling target.
[0108] In another embodiment, the scheduling device may generate a scheduling evaluation function for each order based on a value of at least one scheduling target.
[0109] This embodiment provides a scheduling method. In this embodiment, the scheduling device obtains at least one scheduling target from the scheduling information for each order, thereby generating a scheduling evaluation function for each order based on the at least one scheduling target. The scheduling in this embodiment reflects the needs for orders and the industrial Internet, so that the generated scheduling evaluation function fits each order. At the same time, the generation of a corresponding scheduling evaluation function for each order reflects flexibility and diversity.
[0110] Figure 3 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 2. This embodiment is an optional method for generating a scheduling evaluation function for each order based on at least one scheduling target, such as Figure 3 As shown, including:
[0111] S301, obtaining a basis function set; the basis function set includes a basic calculation basis function set and a target calculation basis function set.
[0112] The basic computing base function set refers to the base function set corresponding to the basic computing corresponding to the order, including the basic computing base functions. For example, it may include pre-allocation function, cloud computing resource state recalculation function, edge computing resource state recalculation function, industrial terminal computing resource state recalculation function, material transportation time calculation function, cloud-edge-industrial terminal bandwidth recalculation function, and computing-manufacturing task start-end time calculation function.
[0113] Among them, the target calculation base function set refers to the base function set corresponding to the order target. For example, the target calculation base function set may include an order completion time calculation function, a task waiting time calculation function, a resource calculation load balance calculation function, a resource load balance calculation function, a communication load balance calculation function, and a resource energy consumption calculation function. Exemplarily, the order completion time calculation function is a function used to calculate the order completion time.
[0114] S302: For each scheduling target, match the functional description of the scheduling target with the functional description of at least one target calculation basis function in the target calculation basis function set.
[0115] Exemplarily, assuming that the scheduling goal is to minimize the task waiting time, its functional description is "task waiting time", and the "task waiting time" is matched with the functional description of at least one target calculation base function.
[0116] In one approach, the “task waiting time” is matched sequentially with the functional description of at least one target computing base function.
[0117] S303: If the function description is matched successfully, the successfully matched target calculation basis function is imported into the basis function combination list.
[0118] In one method, the scheduling device matches "task waiting time" with the functional description of the task waiting time calculation function, where the functional description of the task waiting time calculation function is also "task waiting time", so that the two functional descriptions match successfully, and then the scheduling device imports the task waiting time calculation function into the base function combination list.
[0119] The basis function combination list refers to a combination list of products when generating an evaluation function, and the basis function combination list includes target calculation basis functions that match the functional description.
[0120] S304: If the function description is not matched successfully, a target calculation basis function corresponding to the scheduling target is generated and imported into a basis function combination list.
[0121] Exemplarily, after the scheduling device matches the "task waiting time" with the functional descriptions of all target computing base functions in the target computing base function set, if no match is successful, the scheduling device generates a target computing base function corresponding to the scheduling target and imports it into the base function combination list.
[0122] Exemplarily, assuming that there are two scheduling targets, namely the first scheduling target and the second scheduling target, when matching the functional description of the first scheduling target, a functional description of a target computing base function matched in the target computing base function set is consistent with the functional description of the first scheduling target, thereby importing the matched target computing base function into the base function combination list. Further, when matching the functional description of the second scheduling target, a functional description of a target computing base function not matched in the target computing base function set is consistent with the functional description of the second scheduling target, thereby the scheduling device needs to generate a target computing base function corresponding to the second scheduling target, and import the generated target computing base function into the base function combination list.
[0123] S305, using the basic computing basis function set and all target computing basis functions in the basis function combination list to generate a scheduling evaluation function corresponding to the order.
[0124] According to the above exemplary embodiment, the scheduling device generates a scheduling evaluation function corresponding to the order from all the basic computing base functions included in the basic computing base function set and all the target computing base functions included in the base function combination list.
[0125] It should be noted that the scheduling evaluation function is a combination of the basic calculation basis function and all target calculation basis functions included in the basis function combination list.
[0126] The present embodiment provides a scheduling method. In the present embodiment, a scheduling device obtains a basis function set, which includes a basic calculation basis function set and a target calculation basis function set. Then, for each scheduling target, the scheduling device matches the functional description of the scheduling target with the functional description of at least one target calculation basis function in the target calculation basis function set. If the functional description matches successfully, the successfully matched target calculation basis function is imported into the basis function combination list. If the match fails, the scheduling device needs to generate a target calculation basis function corresponding to the scheduling target and import it into the basis function combination list. Therefore, the present embodiment can conveniently obtain the successfully matched target calculation basis function from the target calculation basis function set through the functional description, or when there is no match, the scheduling device can generate the corresponding target calculation basis function, so that the scheduling evaluation function can be generated in the present embodiment. In the present embodiment, it is also considered that the scheduling evaluation function is generated by using the basic calculation basis function included in the basic calculation basis function set, so that the scheduling evaluation function satisfies the basic calculation and makes the scheduling evaluation function more practical. In addition, the scheduling device in the present embodiment generates the scheduling evaluation function based on the scheduling target corresponding to the order, so that the scheduling evaluation function is flexible, fits the corresponding order, and is more accurate.
[0127] Embodiment 3
[0128] This embodiment is a further refinement of any of the above embodiments, and is an optional way to generate a target calculation basis function corresponding to a scheduling target.
[0129] Figure 4 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 3. Figure 4 As shown, specifically including:
[0130] S401, locating target calculation basis functions with similar functional descriptions from a target calculation basis function set.
[0131] Exemplarily, it is assumed that the target calculation basis function set includes 6 target calculation basis functions, and each target calculation basis function has a corresponding functional description.
[0132] Furthermore, the scheduling device locates a target calculation basis function similar to the scheduling target function description from the six target calculation basis functions, that is, a target calculation basis function with a similar function description.
[0133] S402: If the parameters in the target calculation basis function described by the similar function are transformable, the parameters are transformed to generate the target calculation basis function corresponding to the scheduling target.
[0134] Furthermore, the scheduling device determines the parameters of the target calculation base function with similar functional description, wherein the parameters can be variables, so that the scheduling device determines whether the parameters included therein are transformable. If there are transformable parameters, the parameters are transformed or adjusted so that the transformed parameters meet the functional description of the scheduling target, and the transformed parameters are combined to generate the target calculation base function.
[0135] S403: If the parameters in the target calculation basis function of the similar function description are not convertible, a target calculation basis function corresponding to the scheduling target is generated based on the historical completed task information set.
[0136] Specifically, the scheduling device can collect the historical completed task information set in the scheduling system, which includes the scheduling evaluation function and the corresponding scheduling resources corresponding to the historical completed tasks. Then the scheduling device can use the black box function fitting method to quickly fit the missing function of the scheduling target, and then combine it with the existing target calculation basis function to regenerate the target calculation basis function corresponding to the scheduling target.
[0137] This embodiment provides a scheduling method. In this embodiment, the scheduling device locates the target calculation basis function of the similar function description from the target calculation basis function set, and determines that the parameters in the target calculation basis function are transformable, and further transforms the parameters therein to generate the target calculation basis function corresponding to the scheduling target. In this embodiment, the target calculation basis function corresponding to the scheduling target is conveniently obtained through the target calculation basis function of the similar function description. Alternatively, the scheduling device determines that the parameters in the target calculation basis function of the similar function description are not transformable. The scheduling device can generate the corresponding target calculation basis function based on historical completed task information. Because the historical completed task information includes basis functions related to past tasks, the target calculation basis function corresponding to the scheduling target can be quickly generated with the help of historical data.
[0138] Embodiment 4
[0139] This embodiment is a further refinement of any of the above embodiments. This embodiment includes a task set in the scheduling information; for each order, a corresponding scheduling plan is generated based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraints, which is an optional method.
[0140] Figure 5 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 4. Figure 5 As shown, specifically including:
[0141] S501, for each order, group at least one task in a task set to obtain at least one grouped task set; the grouped task set includes at least one task.
[0142] The grouped task set includes at least one task, which is at least one of a computing task and a manufacturing task.
[0143] The task set includes at least one computing task and at least one manufacturing task.
[0144] In one embodiment, at least one task included in the task set may not be grouped, and a process may be allocated to each task.
[0145] Exemplarily, assuming that the task set includes computing task 1, computing task 2, manufacturing task 1 and manufacturing task 2, the scheduling device groups the above four tasks. In this embodiment, the scheduling device can perform uniform grouping. It is assumed that the grouping is into two grouped task sets, namely the first grouped task set and the second grouped task set, wherein the first grouped task set includes computing task 1 and manufacturing task 2, and the second grouped task set includes computing task 2 and manufacturing task 2.
[0146] S502: Allocate a corresponding process to at least one group task set.
[0147] Furthermore, the scheduling device allocates a first process to the first group task set and allocates a second process to the second group task set.
[0148] In one embodiment, the scheduling device may group the task sets based on the number of processes. If the processes include two, the task sets may be grouped into two grouped task sets.
[0149] S503, controlling each process to perform parallel calculations for the corresponding grouping task set based on the scheduling evaluation function to obtain a grouping scheme corresponding to at least one grouping task set.
[0150] According to the above example, the scheduling device controls the first process to calculate for the first grouping task set based on the scheduling evaluation function to obtain the grouping scheme corresponding to the first grouping task set. At the same time, the second process is controlled to calculate for the second grouping task based on the scheduling evaluation function, so the control processes in this embodiment are calculated in parallel.
[0151] It should be noted that the use of process parallel computing can speed up the acquisition of the grouping scheme for each group task set.
[0152] S504: Generate a scheduling plan corresponding to the order using at least one grouping plan and constraint conditions.
[0153] Furthermore, after the scheduling device obtains at least one grouping scheme, since the grouping task sets are grouping schemes calculated in their respective corresponding processes, it is possible that each grouping task set does not meet the constraints at this time, so the scheduling device needs to further adopt at least one grouping scheme and constraints to generate a scheduling scheme for the order.
[0154] The present embodiment provides a scheduling method. In the present embodiment, the scheduling device groups at least one task in a task set for each order, and then obtains at least one grouped task set, wherein the grouped task set includes at least one task. Furthermore, the scheduling device assigns a corresponding process to the at least one grouped task set, and controls each process to calculate the corresponding grouped task set, and each process is calculated in parallel. Therefore, the task set is grouped in the present application, and the process calculation is controlled. Therefore, the grouping in the present application can speed up the acquisition of the scheduling plan and improve efficiency. In the present embodiment, at least one grouping plan and constraint conditions are used to generate the scheduling plan corresponding to the order. Therefore, although at least one grouping plan corresponding to the task set is finally obtained in the present embodiment, the constraint conditions of each task are also taken into consideration. Therefore, in order to improve accuracy, the scheduling plan is also generated based on the constraint conditions.
[0155] Embodiment 5
[0156] This embodiment is a further refinement of any of the above embodiments. This embodiment is an optional way to control each process to perform parallel calculations for the corresponding grouping task sets based on a scheduling evaluation function to obtain a grouping scheme corresponding to at least one grouping task set.
[0157] Figure 6 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 5. Figure 6 As shown, specifically including:
[0158] S601 : For each grouped task set, control the corresponding process to randomly generate a corresponding initial solution for at least one task.
[0159] Exemplarily, the scheduling device may randomly generate an initial plan for the tasks included in each grouped task set according to the available resource information.
[0160] The initial plan refers to a plan for scheduling resources that is randomly calculated for the task.
[0161] S602, determining an operator for each initial solution and adopting an operator evolution solution to obtain an updated solution.
[0162] Specifically, the scheduling device may randomly determine an operator for the initial solution, and then use the operator to optimize the initial solution to obtain an updated solution.
[0163] The operator may be a crossover operator or other operators, which are not limited here.
[0164] Exemplarily, the scheduling device controls the first process to optimize the initial solution corresponding to the tasks included in the first group task set, and uses the determined operator for optimization during the optimization process to obtain an updated solution corresponding to the first group task set.
[0165] It should be noted that in this application, when generating a scheduling plan, the scheduling device requires operator configuration and hyper-heuristic configuration.
[0166] S603: Input the update plan into the scheduling evaluation function to output the scheduling value.
[0167] Furthermore, the scheduling device controls the first process to input the update plan of the first grouped task set into the scheduling evaluation function, and uses the scheduling evaluation function to calculate the above update plan to obtain a scheduling value.
[0168] Among them, the scheduling value can reflect whether the plan is reasonable.
[0169] S604, using the scheduling value to obtain a grouping scheme corresponding to the grouping task set.
[0170] Furthermore, the scheduling device may determine and obtain a grouping scheme according to the size of the scheduling value.
[0171] This embodiment provides a scheduling method. In this embodiment, the scheduling device controls the corresponding process to generate a corresponding initial plan for at least one task for each task set, so that the scheduling device determines an operator for each initial plan, and further, optimizes the plan based on the operator to obtain an updated plan, and then the scheduling device inputs the updated plan into the scheduling evaluation function and outputs a scheduling value. In this embodiment, the scheduling device uses the scheduling value to further determine the grouping plan corresponding to the grouped task set, so that the grouping plan is more accurate.
[0172] Embodiment 6
[0173] This embodiment is a further refinement of any of the above embodiments. This embodiment is an optional way of using a scheduling value to obtain a grouping scheme corresponding to a grouping task set.
[0174] Method 1: If the scheduling value meets the optimization requirements within the number of iterations, the update scheme is determined to be the grouping scheme corresponding to the grouped task set.
[0175] Exemplarily, assume that the number of iterations is 100. At this time, within the number of iterations, assume that the optimization requirement is that the calculated scheduling value is greater than or equal to the preset optimization value. In this step, if the calculated scheduling value meets the optimization requirement, the scheduling device determines that the update plan is the grouping plan corresponding to its grouping task set.
[0176] Method 2: If the scheduling value does not meet the optimization requirements within the number of iterations, continue to determine the operator and adopt the operator evolution plan to output the scheduling value until the output scheduling value meets the optimization requirements. The corresponding update plan when the optimization requirements are met is determined as the grouping plan corresponding to the grouped task set.
[0177] Exemplarily, assuming that the number of iterations is 100, if the calculated scheduling value is less than the preset optimization value, it is determined that the scheduling value does not meet the optimization requirements within the number of iterations, and the scheduling device continues to execute the determination operator and adopts the operator evolution plan to obtain an updated plan again, and then inputs the updated plan into the scheduling evaluation function to obtain a new scheduling value. Then, it is determined whether the scheduling value meets the optimization requirements. If it still does not meet the requirements, continue to execute the determination operator and optimize the plan, and re-obtain the update plan step until the group task set can obtain a scheduling value that meets the optimization requirements, and within the number of iterations, the corresponding update plan at this time is determined as the group plan corresponding to the group task set.
[0178] It should be noted that one iteration corresponds to one update plan and one scheduling value.
[0179] It should be noted that in this application, if the next scheduling value is better than the previous scheduling value, the previous scheduling value and its corresponding update plan can be deleted from the storage space, and the better scheduling value and its update plan are retained. If the next scheduling value is inferior to the previous scheduling value, the previous scheduling value and its corresponding update plan will continue to be retained.
[0180] Method three: If no scheduling value meets the optimization requirements within the number of iterations, after the last iteration, the update scheme corresponding to the optimal scheduling value is determined as the grouping scheme corresponding to the grouped task set.
[0181] In one approach, the scheduling device does not find a scheduling value that meets the optimization requirement within the number of iterations, so after the last iteration, the update scheme corresponding to the optimal scheduling value is determined as the grouping scheme.
[0182] This embodiment provides a scheduling method. In this embodiment, if the scheduling value meets the optimization requirements within the number of iterations, the update scheme is determined to be the grouping scheme of the corresponding grouping task set, or if the scheduling value does not meet the optimization requirements within the number of iterations, the scheduling device continues to execute the steps of determining the operator, adopting the above-mentioned operator optimization scheme, and outputting the corresponding scheduling value until the output scheduling value meets the optimization requirements, and the corresponding update scheme when the optimization requirements are met is determined as the grouping scheme corresponding to the grouping task set. Therefore, in this embodiment, the update scheme corresponding to the optimization requirements is determined as the grouping scheme within the number of iterations, and the grouping scheme at this time is more reasonable and accurate; this embodiment also includes if no scheduling value meets the optimization requirements within the number of iterations, after the last iteration, the scheduling device determines the update scheme corresponding to the optimal scheduling value as the grouping scheme corresponding to the grouping task set, so this also ensures that the grouping scheme is better within the number of iterations. In order to ensure the accuracy of the grouping scheme in this embodiment, a larger number of iterations can be set.
[0183] Embodiment 7
[0184] This embodiment is a further refinement of any of the above embodiments. This embodiment is an optional way of generating a scheduling plan corresponding to an order by using at least one grouping scheme and constraint conditions.
[0185] Figure 7 A schematic diagram of a process flow of an industrial Internet kernel scheduling method provided in Example 7. Figure 7 As shown, specifically including:
[0186] S701: If it is determined that the grouping scheme satisfies the constraint condition, the grouping scheme is determined to be a target sub-scheme of the grouping task set.
[0187] According to the above example, the two grouping task sets can respectively obtain corresponding grouping schemes, the two groups can be merged, and then it is determined whether the two merged grouping schemes meet the constraints. Assume that the first grouping task set obtains the first grouping scheme and the second grouping task set obtains the second grouping scheme. Further, the scheduling device determines whether the two grouping schemes meet the constraints. If both are satisfied, the two grouping schemes are determined to be target sub-schemes.
[0188] It should be noted that when the scheduling device determines whether the grouping scheme meets the constraint conditions, the scheduling device combines the two grouping schemes with the corresponding tasks, and then considers the constraint conditions and determines whether the grouping scheme is a target sub-scheme based on the constraint conditions.
[0189] Among them, the constraints may include the execution time sequence between tasks. For example, when the scheduling device considers whether the grouping scheme meets the constraints, the scheduling device needs to determine the grouping scheme for the execution time sequence of each task in all grouped tasks. If there is no conflict in the execution time when each task calls the corresponding scheduling resource in the grouping scheme, the scheduling device determines that the grouping scheme meets the constraints.
[0190] Exemplarily, the constraint condition may include uniform allocation of call resources for each task. For example, to evenly allocate the scheduling scheme, if the computing tasks in the two grouping schemes are each allocated one available computing resource, then it is evenly allocated, so the scheduling device determines that the grouping scheme meets the constraint condition.
[0191] S702: If it is determined that the grouping scheme does not satisfy the constraint conditions, then resolve the constraint conflicts based on the constraint conditions to obtain a constraint scheme that satisfies the constraints.
[0192] According to the above example, if the computing tasks in two grouping schemes are allocated the same computing resource, the computing resource may be busy, or a computing task may need to wait before it can be executed. Therefore, the scheduling device determines that one of the grouping schemes does not meet the constraint conditions, and then resolves the constraint conflicts of the grouping scheme based on the constraint conditions. Exemplarily, the scheduling device reallocates the corresponding computing resources for the centralized computing tasks of the grouping tasks. Specifically, the scheduling device can allocate an idle computing resource to the computing task from the list of available computing resources, or allocate a nearest computing resource.
[0193] For example, if the computing tasks in the two grouping schemes do not satisfy the constraints of the execution time sequence, the scheduling device needs to reallocate available computing resources to one or both of the computing tasks.
[0194] Exemplarily, if the tasks in the two grouping schemes do not satisfy the relationship between the computing tasks and the manufacturing tasks, the scheduling device re-constrains based on the constraint conditions to obtain a constrained constraint scheme.
[0195] S703: Output at least one target sub-plan and a constraint plan to generate a scheduling plan corresponding to the order.
[0196] Specifically, all target sub-plans and constraint plans are output to generate a scheduling plan corresponding to the order.
[0197] This embodiment provides a scheduling method. In this embodiment, if the scheduling device determines that the grouping scheme does not meet the constraint conditions, it continues to resolve constraint conflicts based on the constraint conditions to obtain a constraint scheme after the constraints. At the same time, if it is determined that the grouping scheme meets the constraint conditions, the grouping scheme is further determined to be the target sub-scheme of the grouping task set. Further, at least one target sub-scheme and the constraint scheme are output to generate a scheduling scheme for the order. Therefore, the scheduling scheme in this embodiment meets the constraint conditions and is more accurate.
[0198] Figure 8 This is an overall schematic diagram of an industrial Internet kernel scheduling method provided in Example 7. Figure 8 As shown, specifically including:
[0199] S801, a scheduling device receives an order package, where the order package includes scheduling information corresponding to at least one order.
[0200] S802: The scheduling device obtains at least one scheduling target from the scheduling information.
[0201] S803, the scheduling device obtains a basis function set; the basis function set includes a basic calculation basis function set and a target calculation basis function set.
[0202] S804, the scheduling device matches the functional description of the scheduling target with the functional description of at least one target computing basis function in the target computing basis function set. If the match is successful, S805 is executed; if the match is unsuccessful, S806 is executed.
[0203] S805: The scheduling device imports the target calculation basis function into the basis function combination list.
[0204] S806: The scheduling device locates a target computing basis function with a similar functional description from a target computing basis function set.
[0205] S807, the scheduling device determines whether the parameters in the target calculation basis function of the similar function description are transformable; if so, execute S808; if not, execute S809
[0206] S808, the scheduling device transforms the parameters therein to generate a target calculation basis function corresponding to the scheduling target, and executes S805.
[0207] S809, the scheduling device generates a target calculation basis function corresponding to the scheduling target based on the historical completed task information set, and executes S805.
[0208] S810, the scheduling device uses the basic computing basis function set and all target computing basis functions in the basis function combination list to generate a scheduling evaluation function corresponding to the order.
[0209] S811, the scheduling device generates a corresponding scheduling plan based on corresponding scheduling information, a corresponding scheduling evaluation function and constraint conditions.
[0210] Fig. 9 A schematic diagram of a scheduling scheme generation process provided in Example 7. Fig. 9 As shown, the specific steps of the scheduling device executing S811 include:
[0211] S901: The scheduling device groups at least one task in a task set for each order to obtain at least one grouped task set.
[0212] S902: The scheduling device allocates a corresponding process to at least one group task set.
[0213] S903: The scheduling device controls the corresponding process to randomly generate a corresponding initial plan for at least one task for each grouped task set.
[0214] S904, the scheduling device determines an operator for each initial solution and adopts an operator evolution solution to obtain an updated solution.
[0215] S905, the scheduling device inputs the update plan into the scheduling evaluation function to output a scheduling value.
[0216] S906: The scheduling device uses the scheduling value to obtain a grouping scheme corresponding to the grouping task set.
[0217] S907, the scheduling device determines whether the grouping scheme meets the constraint condition; if so, execute S908, if not, execute S909.
[0218] S908: The scheduling device determines the grouping scheme as a target sub-scheme of the grouping task set.
[0219] S909: The scheduling device resolves constraint conflicts based on the constraint conditions to obtain a constraint solution that satisfies the constraints.
[0220] S910, the scheduling device outputs at least one target sub-scheme and a constraint scheme to generate a scheduling scheme corresponding to the order.
[0221] The executing entity of this application is a scheduling device, which includes a scheduling system. The scheduling system is an industrial Internet core scheduling system, and the scheduling system is located in the scheduling device.
[0222] Embodiment 8
[0223] The following is an embodiment of the device of the present application. Fig.10 A schematic diagram of the structure of a scheduling device provided in Example 8. The scheduling device 1000 includes the following modules:
[0224] The demand import module 1001 is used to receive an order package; the order package includes scheduling information corresponding to at least one order;
[0225] A problem modeling module 1002 is used to generate a scheduling evaluation function corresponding to each order based on the corresponding scheduling information;
[0226] The scheduling solution module 1003 is used to generate a corresponding scheduling plan for each order based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraint conditions; the scheduling plan includes the corresponding scheduling resources when all tasks in the order meet the constraint conditions; the constraint conditions include the constraint relationship between tasks; the constraint relationship between tasks includes the relationship between computing tasks and manufacturing tasks;
[0227] The solution deployment module 1004 is used to schedule the corresponding tasks in each order based on the scheduling resources in the corresponding scheduling solution.
[0228] In one embodiment, when the problem modeling module 1002 generates a scheduling evaluation function corresponding to each order based on the corresponding scheduling information for each order, it is used to:
[0229] For each order, obtaining at least one scheduling target from the scheduling information;
[0230] A scheduling evaluation function for each order is generated based on at least one scheduling objective.
[0231] When generating a scheduling evaluation function for each order based on at least one scheduling target, the problem modeling module 1002 is used to:
[0232] Obtaining a basis function set; the basis function set includes a basic calculation basis function set and a target calculation basis function set;
[0233] For each scheduling target, matching the functional description of the scheduling target with the functional description of at least one target calculation basis function in the target calculation basis function set;
[0234] If the function description is matched successfully, the successfully matched target calculation basis function is imported into the basis function combination list;
[0235] If the function description is not successfully matched, the target calculation basis function corresponding to the scheduling target is generated and imported into the basis function combination list;
[0236] The scheduling evaluation function corresponding to the order is generated using the basic computing basis function set and all target computing basis functions in the basis function combination list.
[0237] In one embodiment, when generating the target calculation basis function corresponding to the scheduling target, the problem modeling module 1002 is specifically used to:
[0238] Locating target computation basis functions with similar functional description from a target computation basis function set;
[0239] If the parameters in the target calculation basis function described by similar functions are transformable, the parameters are transformed to generate the target calculation basis function corresponding to the scheduling target;
[0240] If the parameters in the target calculation basis function described by similar functions cannot be changed, the target calculation basis function corresponding to the scheduling target is generated based on the historical completed task information set.
[0241] In one embodiment, the scheduling information includes a task set; when the scheduling solution module 1003 generates a corresponding scheduling solution for each order based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraint conditions, it is specifically used to:
[0242] For each order, at least one task in the task set is grouped to obtain at least one grouped task set; the grouped task set includes at least one task;
[0243] Assigning a corresponding process to at least one grouped task set;
[0244] Control each process to perform parallel calculations for the corresponding grouping task set based on the scheduling evaluation function to obtain a grouping scheme corresponding to at least one grouping task set;
[0245] At least one grouping scheme and constraint conditions are used to generate a scheduling scheme corresponding to the order.
[0246] In one embodiment, the scheduling solution module 1003 is specifically used to control each process to perform parallel calculations for the corresponding grouping task set based on the scheduling evaluation function to obtain a grouping scheme corresponding to at least one grouping task set:
[0247] For each grouped task set, controlling the corresponding process to randomly generate a corresponding initial plan for at least one task;
[0248] Determine the operator for each initial solution and adopt the operator evolution solution to obtain the updated solution;
[0249] Input the update plan into the scheduling evaluation function to output the scheduling value;
[0250] The scheduling value is used to obtain the grouping scheme corresponding to the grouped task set.
[0251] In one embodiment, when the scheduling solution module 1003 uses the scheduling value to obtain the grouping scheme corresponding to the grouping task set, it is specifically used to:
[0252] If the scheduling value meets the optimization requirements within the number of iterations, the update scheme is determined to be the grouping scheme corresponding to the grouped task set;
[0253] If the scheduling value does not meet the optimization requirements within the number of iterations, continue to determine the operator and adopt the operator evolution scheme to output the scheduling value until the output scheduling value meets the optimization requirements, and determine the corresponding update scheme when the optimization requirements are met as the grouping scheme corresponding to the grouped task set;
[0254] If no scheduling value satisfies the optimization requirement within the number of iterations, after the last iteration, the update scheme corresponding to the optimal scheduling value is determined as the grouping scheme corresponding to the grouped task set.
[0255] In one embodiment, when the scheduling solution module 1003 uses at least one grouping scheme and constraint conditions to generate a scheduling scheme corresponding to an order, it is specifically used to:
[0256] If it is determined that the grouping scheme satisfies the constraint conditions, then the grouping scheme is determined to be the target sub-scheme of the grouping task set;
[0257] If it is determined that the grouping scheme does not satisfy the constraint conditions, then the constraint conflict is resolved based on the constraint conditions to obtain a constraint scheme that satisfies the constraints;
[0258] At least one target sub-plan and a constraint plan are output to generate a scheduling plan corresponding to the order.
[0259] The scheduling device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and this embodiment will not be described in detail here.
[0260] Fig.11 A schematic diagram of a scheduling device structure provided in Example 8. Fig.11 As shown, the scheduling device 1100 may include: a processor 1101, and a memory 1102 in communication with the processor 1101. The memory 1102 stores computer-executable instructions; the processor 1101 executes the computer-executable instructions stored in the memory 1102 to implement any one of the method embodiments in the above-mentioned embodiments 1 to 7, and the specific implementation methods and technical effects are similar, which will not be repeated here.
[0261] In this embodiment, the memory 1102 and the processor 1101 are connected via a bus. The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.11 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0262] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the invention may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0263] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (NVM), such as at least one disk storage.
[0264] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of this application is not limited to only one bus or one type of bus.
[0265] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.
[0266] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.
[0267] The above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0268] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.
[0269] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.
[0270] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0271] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0272] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.
[0273] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0274] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.
Claims
1. An industrial Internet kernel scheduling method, characterized in that: The method is applied to a scheduling system, comprising: receiving an order package; the order package including at least one scheduling information corresponding to the order, the scheduling information including at least one computing task and at least one manufacturing task in the order; For each order, a scheduling evaluation function corresponding to each order is generated based on the corresponding scheduling information; For each order, a corresponding scheduling plan is generated based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraint conditions; the scheduling plan includes the corresponding scheduling resources when all tasks in the order meet the constraint conditions; the constraint conditions include the constraint relationship between tasks; the constraint relationship between tasks includes the relationship between computing tasks and manufacturing tasks; For each order, scheduling the corresponding task in the order based on the scheduling resources in the corresponding scheduling scheme; For each order, generating a scheduling evaluation function corresponding to each order based on the corresponding scheduling information includes: For each order, obtaining at least one scheduling target corresponding to the order from the scheduling information; Acquire a basis function set; the basis function set includes a basic calculation basis function set and a target calculation basis function set; For each scheduling target, matching the functional description of the scheduling target with the functional description of at least one target calculation basis function in the target calculation basis function set; If the function description is matched successfully, the successfully matched target calculation basis function is imported into the basis function combination list; If the function description is not successfully matched, a target calculation basis function corresponding to the scheduling target is generated and imported into the basis function combination list; The scheduling evaluation function corresponding to the order is generated by using the basic computing basis function set and all target computing basis functions in the basis function combination list.
2. The method according to claim 1, characterized in that The generating of the target calculation basis function corresponding to the scheduling target includes: Locating target computation basis functions with similar functional descriptions from the target computation basis function set; If the parameters in the target calculation base function described by the similar function are transformable, transform the parameters therein to generate the target calculation base function corresponding to the scheduling target; If the parameters in the target calculation base function described by the similar function are not transformable, the target calculation base function corresponding to the scheduling target is generated based on the historical completed task information set.
3. The method according to claim 1, characterized in that The scheduling information includes a task set; for each order, generating a corresponding scheduling plan based on the corresponding scheduling information, the corresponding scheduling evaluation function and the constraint conditions includes: For each order, grouping at least one task in the task set to obtain at least one grouped task set; the grouped task set includes at least one task; Allocating a corresponding process to the at least one grouped task set; Control each process to perform parallel calculations for the corresponding grouping task set based on the scheduling evaluation function to obtain a grouping scheme corresponding to at least one grouping task set; At least one grouping scheme and constraint conditions are used to generate a scheduling scheme corresponding to the order.
4. The method according to claim 3, characterized in that The controlling each process to perform parallel calculation for the corresponding grouping task set based on the scheduling evaluation function to obtain a grouping scheme corresponding to at least one grouping task set includes: For each grouped task set, controlling the corresponding process to randomly generate a corresponding initial plan for at least one task; Determine the operator for each initial solution and adopt the operator evolution solution to obtain the updated solution; Inputting the update scheme into the scheduling evaluation function to output a scheduling value; The scheduling value is used to obtain a grouping scheme corresponding to the grouping task set.
5. The method according to claim 4, characterized in that The adopting the scheduling value to obtain a grouping scheme corresponding to the grouping task set includes: If the scheduling value meets the optimization requirement within the number of iterations, determining the update scheme as the grouping scheme corresponding to the grouping task set; If the scheduling value does not meet the optimization requirement within the number of iterations, continue to execute the steps of determining the operator and adopting the operator evolution scheme to output the scheduling value until the output scheduling value meets the optimization requirement, and determine the corresponding update scheme when the optimization requirement is met as the grouping scheme corresponding to the grouped task set; If no scheduling value satisfies the optimization requirement within the number of iterations, after the last iteration, the update scheme corresponding to the optimal scheduling value is determined as the grouping scheme corresponding to the grouped task set.
6. The method according to claim 3, characterized in that The step of using at least one grouping scheme and constraint conditions to generate a scheduling scheme corresponding to an order includes: If it is determined that the grouping scheme satisfies the constraint condition, then the grouping scheme is determined to be a target sub-scheme of the grouping task set; If it is determined that the grouping scheme does not satisfy the constraint condition, then performing constraint conflict resolution based on the constraint condition to obtain a constraint scheme that satisfies the constraint; At least one target sub-plan and a constraint plan are output to generate a scheduling plan corresponding to the order.
7. A scheduling device, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 6.
8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 6 when executed by a processor.
9. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 6 when being executed by a processor.