A resource scheduling management system and method, a computer device and a storage medium
By introducing a resource reservation module on the container cloud platform for simulated scheduling, the problem of deployment failure caused by insufficient resources was solved, achieving efficient resource reservation and scheduling, and improving the deployment success rate and system efficiency of the big data platform.
Patent Information
- Application Number
- CN202210967868.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-12
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2042-08-12
AI Technical Summary
When deploying big data platform components on a container cloud platform, insufficient resources can lead to deployment failures, affecting the normal operation of the system. Furthermore, existing static reservation methods are difficult to accurately define resource quantities and are costly to adjust, lacking a dynamic resource reservation mechanism.
A resource reservation module is introduced to simulate scheduling and store the simulation scheduling results. By performing resource pre-checks and reservations on components before actual deployment, sufficient resources are ensured before actual scheduling.
It saves actual deployment time, improves component deployment success rate, enhances system and platform efficiency, and reduces resource deadlock and unnecessary overhead.
Smart Images

Figure CN115309558B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of resource scheduling, and particularly relates to a resource scheduling management system and method, computer equipment and a storage medium. BACKGROUND
[0002] A complex big data platform usually contains a plurality of components, and the components have a dependency relationship. Only when all the components are normally running, the distributed system can normally function. With the development of distributed technology, the components in the big data platform can be deployed on a container cloud platform (such as Kubernetes), and the container cloud platform schedules resources to each component to ensure the normal deployment of the components on the container cloud platform.
[0003] Due to the dependency relationship between the components, only when all the components of the big data platform are successfully deployed on the container cloud platform, the components can normally run. If a component fails to be deployed due to insufficient resources on the container cloud platform, the normal running of the components on the big data platform cannot be guaranteed. SUMMARY
[0004] The present application provides a resource scheduling management system and method, computer equipment and a storage medium to realize the management of resource scheduling.
[0005] According to a first aspect of the present application, a resource scheduling management system integrated on a container cloud platform is provided, comprising a service access module and a resource reservation module.
[0006] The service access module is configured to receive a resource pre-check request submitted by a front end through a provided service external interface, and pass the resource pre-check request to the resource reservation module.
[0007] The resource reservation module is configured to simulate scheduling of a target component corresponding to the resource pre-check request, perform resource pre-check determination according to the obtained simulation scheduling result, and perform resource reservation and storage of simulation scheduling result information corresponding to the simulation scheduling result after passing the resource pre-check.
[0008] The stored simulation scheduling result is used for real resource scheduling of the target component.
[0009] According to a second aspect of the present application, a resource scheduling management method is provided, comprising:
[0010] The service access module receives a resource pre-check request submitted by a front end through a provided service external interface, and passes the resource pre-check request to the resource reservation module.
[0011] The resource reservation module simulates scheduling of the target component corresponding to the resource pre-check request, performs resource pre-check judgment according to the obtained simulation scheduling result, and performs resource reservation and storage of the simulation scheduling result information corresponding to the simulation scheduling result after passing the resource pre-check.
[0012] The stored simulation scheduling result is used for real resource scheduling of the target component.
[0013] According to a third aspect of the present application, a computer device is provided, which comprises:
[0014] one or more processors;
[0015] a memory in communication connection with the at least one processor; wherein,
[0016] the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the resource scheduling management method according to any one of the embodiments of the present application.
[0017] According to another aspect of the present application, a computer readable storage medium is provided, which stores computer instructions for enabling a processor to perform the resource scheduling management method according to any one of the embodiments of the present application when executed.
[0018] The technical solution of the embodiments of the present application adds a resource reservation module to simulate scheduling of the component to be deployed before real deployment, forms simulation scheduling result information and stores it in a database, and the stored simulation scheduling result information can be called when real deployment is performed. The time for creating real deployment is saved, the success rate of overall deployment of the product is improved, and the use efficiency of the system and platform is improved.
[0019] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present application, nor is it used to limit the scope of the present application. Other features of the present application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0021] Figure 1 An example diagram of component deployment failure in a conventional system;
[0022] Figure 2 is an example diagram of component failure for multi-tenant deployment under a conventional system;
[0023] Figure 3 is a structural block diagram of a resource scheduling management system according to an embodiment of the present application;
[0024] Figure 4 is an example flowchart of a resource scheduling management system according to an embodiment of the present application;
[0025] Figure 5 is a flowchart of a resource scheduling management method according to an embodiment of the present application;
[0026] Figure 6 is a structural schematic diagram of a computer device implementing a resource scheduling management system according to an embodiment of the present application. DETAILED DESCRIPTION
[0027] In order to make the personnel in the technical field better understand the present application scheme, the technical scheme in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor should belong to the scope of protection of the present application.
[0028] It should be noted that the terms "first", "second" and the like in the specification and claims of the present application and the above-described drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or a chronological sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0029] It can be known that a complex distributed system usually contains several components, for example, an open source big data platform Hadoop, which is usually composed of many big data components. Since there is a dependent relationship between the components, the big data platform can only work normally when all the components are running normally.
[0030] Figure 1 is an example diagram of component deployment failure under a conventional system, such as Figure 1As shown in the deployment process, components 1, components 2, and components 3 have been successfully created and occupy resources, but component 4 fails to be scheduled due to some reasons (for example, insufficient resources, not meeting affinity conditions, etc.). At this time, the successfully created components cannot function and are in an empty waiting state, resulting in waste of cluster resources during this period. In addition, after the user deploys big data components on the container cloud platform, the user needs to wait for all components to be successfully scheduled and created before obtaining the result information, which is time-consuming.
[0031] Figure 2 A schematic diagram of a component failure in a multi-tenant deployment in a conventional system is shown in FIG. 1. Figure 2 As shown in the deployment process, components 1, components 2, and components 3 have been successfully created and occupy resources, but component 4 fails to be scheduled due to some reasons (for example, insufficient resources, not meeting affinity conditions, etc.). At this time, the successfully created components cannot function and are in an empty waiting state, resulting in waste of cluster resources during this period. In addition, after the user deploys big data components on the container cloud platform, the user needs to wait for all components to be successfully scheduled and created before obtaining the result information, which is time-consuming.
[0032] When the above situation occurs, the tenant generally needs to manually delete a certain component to release resources, and then perform multiple repeated attempts to modify the configuration. When the product size is large and the number of components is large, frequent deletion and retry will bring a lot of unnecessary overhead and affect the effective throughput of the scheduler. Generally, a static reservation method is also used, which requires specifying the amount of reserved resources before starting. Using this method, on the one hand, it is difficult to define the amount of resources that need to be reserved, and on the other hand, adjusting the reserved amount requires restarting the system, which is costly. In addition, the system reservation is only for system services, and the business Pod cannot use this part of the resources. Therefore, there is a lack of an active and dynamic reservation method.
[0033] Embodiment one
[0034] Figure 3 A structural block diagram of a resource scheduling management system provided by the first embodiment of the application is shown in FIG. 2. The embodiment can be applied to the case of managing resource scheduling, as shown in FIG. 1. Figure 3 The system comprises a service access module 11 and a resource reservation module 12.
[0035] The service access module 11 is configured to receive a resource pre-check request submitted by a front end through a provided service external interface, and pass the resource pre-check request to the resource reservation module 12.
[0036] It can be understood that it is impossible to determine whether the current resources are sufficient to support the running of the target component when the target component is actually running. Therefore, simulation scheduling can be performed before the component is actually run to determine whether the target component can be run at the present stage.
[0037] In the embodiment, the front end can be understood as an end including a plurality of components, and target component selection is performed according to requirements. The resource pre-check request can be understood as a request for pre-checking resources according to information such as required resources and required resource sizes of a target component to be simulated and run.
[0038] Specifically, the system can provide services in the form of providing external access portals. When there is a target component simulation running requirement, the user can send a pre-check instruction according to the target component with a simulation running requirement. The front end can generate a resource pre-check request related to the target component according to the pre-check instruction. The pre-check requirement can include information such as resources required by the target component and resource amounts. When the service access module 11 in the system receives the resource pre-check requirement, the resource pre-check requirement is transmitted to the resource reservation module 12.
[0039] The resource reservation module 12 is configured to simulate scheduling of a target component corresponding to a resource pre-check request, to perform resource pre-checking determination according to obtained simulation scheduling results, and to perform resource reservation and storage of simulation scheduling result information corresponding to the simulation scheduling results after passing the resource pre-checking. The stored simulation scheduling result information is used for real resource scheduling of the target component.
[0040] In the embodiment, the simulation scheduling result can be understood as a scheduling result formed after simulation scheduling of a corresponding component. The simulation scheduling result information can be understood as conversion of the simulation scheduling result into simulation scheduling result information. The simulation scheduling result information can include: a reserved resource type, which can include CPU, Memory, Storage, and the like; a constraint condition, such as affinity, tolerance, label, annotation, and the like; a priority order processed during simulation scheduling; a number of copies required by the simulation scheduling result; a time limit for reservation, and the corresponding resources will be released when the reservation expires; a state of the reservation, which is divided into unreserved, reserved, and timeout; a result of the reservation, and a mapping table of several copies of resources reserved on which container nodes.
[0041] Specifically, the resource reservation module 12 simulates scheduling according to a target component corresponding to the resource pre-check request, obtains the resource type, resource amount and the like required when using the target component by simulating the use of the target component, and performs resource pre-check judgment on the scheduling result. Whether there is a container node that meets the scheduling result in all container nodes, that is, whether the resource type and resource amount of a container node meet the scheduling result required by the target component. If yes, it is considered that the resource pre-check is passed, the information of the container node meeting the condition is extracted and resource reservation is performed according to the scheduling result, the simulation scheduling result information is formed according to the simulation scheduling result and the corresponding container node information, and the simulation scheduling result information is stored to provide a basis for subsequent real scheduling of the target component; if no, there is no container node that meets the condition required by the target component scheduling, and it can be considered that the resources in the container node are insufficient to support the operation of the target component, so the scheduling result does not pass the resource judgment. A resource pre-check failure instruction can be fed back to the front end to prompt the front end that the target component cannot run under the current condition.
[0042] The resource scheduling management system provided in the first embodiment of the present embodiment performs simulation scheduling on the components to be deployed by adding a resource reservation module before real deployment, forms simulation scheduling result information and stores it in a database, and can call the stored simulation scheduling result information when real deployment. The time for real deployment is saved, the success rate of overall deployment of the product is improved, and the efficiency of the system and platform is improved.
[0043] Further, the resource reservation module 12 is specifically configured to:
[0044] The received resource pre-check request is format-verified, and if the verification is successful, the target component corresponding to the resource pre-check request is determined.
[0045] Specifically, after the resource reservation module 12 receives the resource pre-check request, the format of the resource pre-check request is compared with the pre-set format requirement. If the format of the resource pre-check request is the same as the pre-set format requirement, it is considered that the verification is successful. When the verification is successful, the target component information in the resource pre-check request can be obtained to determine the target component corresponding to the resource pre-check request. If the format of the resource pre-check request is different from the pre-set format requirement, it is considered that the verification fails, and a verification failure instruction can be sent to the front end to remind the front end that the verification of the target component fails.
[0046] The pre-set simulation scheduling function is called to simulate scheduling of the target component to obtain the simulation scheduling result of the target component.
[0047] In the present embodiment, the simulation scheduling function can be understood as a function required for simulation scheduling. It can include: a resource calculation function, a container node selection function, a data volume information detection function, a storage resource simulation function, etc.
[0048] Specifically, the resource reservation module 12 can query the stored resource data information required for running the target component, and pass it through the simulation scheduling function, wherein the resource calculation function is used to simulate the calculation of the resources required by the target component; the container node selection function is used to select the most suitable container node; the data volume information detection function is used to detect the data volume information; and the storage resource simulation function is used to simulate the storage resource. After simulation scheduling through the simulation scheduling function, the simulation scheduling result is output, which can include resource reservation information, such as the resource type required by the target component can be CPU, the best container node can be container node 2, and the required resource amount can be 50M, etc.
[0049] The resource reservation information in the simulation scheduling result is analyzed, and when it is determined that the resource reservation information is successful, it is determined that the resource pre-check is passed and the reserved resources corresponding to the resource reservation information are reserved by the control container node.
[0050] In this embodiment, the resource reservation information can be understood as the basis for resource reservation.
[0051] Specifically, the corresponding container node is found according to the resource reservation information, and the current situation of the corresponding container node is judged according to the resource reservation information, such as whether the remaining resource amount of the corresponding resource type of the container node meets the required resource amount in the resource reservation information, etc. If the corresponding container node meets the resource reservation information, it is considered that the resource reservation information is successful, it is determined that the resource pre-check is passed, and the reserved resources corresponding to the resource reservation information are reserved by the control container node. The resource amount under the corresponding resource type of the container node can be locked according to the resource reservation information, and the reservation of the resources is realized, such as the reservation of 50M resources of CPU in the container node 2.
[0052] After passing the resource pre-check, the simulation scheduling result information is recorded in the form of simulation scheduling result information according to the set first data structure, and the simulation scheduling result information is stored in the database in association with the target component.
[0053] In this embodiment, the first data structure can be understood as the configuration information of the simulation scheduling result information, which can include the reserved resource types such as CPU, Memory, Storage, etc.; constraint conditions such as affinity, tolerance, label, annotation, etc.; the priority order processed during simulation scheduling; the number of copies required by the simulation scheduling result; the time limit for reservation, which will be released when the reservation expires; the state of the reservation, which is divided into unreserved, reserved, and timeout; the result of the reservation, which is a mapping table of the number of copies of resources reserved on which container nodes, etc. Among them, the resource type, the time limit for reservation, the priority order processed during simulation scheduling, etc. can be pre-set by the system or the front end for different target components.
[0054] Specifically, after the resource pre-check, the first data structure is called to identify and record the simulation scheduling result according to the first data structure, so as to form the simulation scheduling result information, and the simulation scheduling result information is associated with the target component, so as to facilitate mutual determination between the simulation scheduling result information and the target component, and the simulation scheduling result information is stored in the database, so as to facilitate subsequent retrieval. For example, the association can be established in the form of a serial number, the serial number of the simulation scheduling result information and the target component are both set as A, the corresponding simulation scheduling result information and the corresponding target component can be obtained through the serial number A, and the simulation scheduling result information and the target component are stored in the database in the form of the serial number A with the time stamp of the storage time in the database.
[0055] For example, the simulation scheduling result information A of the target component A can be: the reserved resource type can be CPU; the constraint condition can be affinity; the priority order of the target component 1 processed in the simulation scheduling can be the first; the number of copies required by the simulation scheduling result can be 1; the reserved time limit can be 20s; the current reserved state can be reserved; the reserved result can be a mapping table of 1 reserved resource on the container node 2.
[0056] Further, the resource scheduling management system further comprises a reserved resource control module.
[0057] The reserved resource control module is configured to:
[0058] Obtain the simulation scheduling result information list stored in the database, and monitor the time limit of the simulation scheduling result information in the simulation scheduling result information list.
[0059] In this embodiment, the simulation scheduling result information list can be understood as storing multiple simulation scheduling result information in the form of a list.
[0060] Specifically, the reserved resource control module can obtain the simulation scheduling result information list stored in the database at a set period. Since each simulation scheduling result information includes a set reserved time, the reserved resource control module can call the time stamp of the simulation scheduling result information, can obtain the reserved time length by subtracting the current time from the time stamp, and can compare the reserved time length with the set reserved time, so as to monitor the time limit of the simulation scheduling result information in the simulation scheduling result information list.
[0061] When it is monitored that there is a timeout simulation scheduling result information satisfying the reserved timeout condition, the timeout simulation scheduling result information is deleted, and the reserved resource information in the timeout simulation scheduling result information corresponding to the reserved resource on the container node is released.
[0062] In the embodiment, the reservation timeout condition can be understood as a condition for judging whether the reserved time length exceeds the set reservation time.
[0063] Specifically, when it is monitored that the reserved time length of the simulation scheduling result information exceeds the set reservation time, i.e., the reservation timeout condition is met, the simulation scheduling result information is identified as timeout simulation scheduling result information, the corresponding container node is searched according to the reserved resource information in the timeout simulation scheduling result information, and the reserved resource of the container node is released, and an instruction for deleting the timeout simulation scheduling result information is sent, and the timeout simulation scheduling result information is deleted.
[0064] For example, the simulation scheduling result information B can be: the reserved resource type is CPU; the constraint condition can be affinity; the priority order of the target component 1 processed in the simulation scheduling can be the first; the required number of the simulation scheduling result is one; the reserved time limit can be 10s; the current reserved state can be reserved; the reserved result can be a mapping table of one reserved resource on the container node 2 and the corresponding 50M resource. The set reservation time in the simulation scheduling result information B is 10s, the reserved time length is 10.01s, the reserved time length is greater than the set reservation time, the simulation scheduling result information B is determined as timeout simulation scheduling result information, the reserved resource amount of 50M CPU resource is released, and the simulation scheduling result information B is deleted.
[0065] Further, the resource scheduling management system further comprises a reservation binding module.
[0066] Correspondingly, the service access module is further configured to receive a resource scheduling request submitted by a front end relative to a target component through a service external access portal, and feed back the resource scheduling request to the reservation binding module.
[0067] In the embodiment, the resource scheduling request can be understood as a request for real scheduling.
[0068] Specifically, when there is a component running demand, a user can send a resource scheduling instruction according to a target component with a running demand, a front end can generate a resource scheduling request relative to the target component according to the resource scheduling instruction and send the resource scheduling request to the reservation binding module, and the reservation binding module feeds back the resource scheduling request to the reservation binding module when the reservation binding module receives the resource scheduling request sent by the front end.
[0069] The reservation binding module is configured to determine and store the reservation binding relationship information of the target component by analyzing the resource scheduling request.
[0070] In the embodiment, the reservation binding relationship information can be understood as a form of converting the resource scheduling request into the reservation binding relationship information.
[0071] Specifically, the reservation binding module analyzes the resource scheduling request, determines the reservation binding relationship information of the target component according to the analysis result, and stores the reservation binding relationship information into the database.
[0072] Further, the reservation binding module is specifically configured to:
[0073] analyze the resource scheduling request, and obtain the reservation binding configuration information of the target component in the resource scheduling request.
[0074] In the embodiment, the reservation binding configuration information can be understood as information used to obtain the specified resource reserved in advance and used in real scheduling, and can include the reservation name, the number of reserved resources used in this binding, the component information, the state of the binding, the result of the binding, and the like.
[0075] Specifically, the reservation binding module first determines the target component corresponding to the resource scheduling request, finds the reservation binding configuration information corresponding to the target component, and thus obtains the reservation binding configuration information of the target component.
[0076] The reservation binding configuration information is recorded according to the second data structure, the reservation binding relationship information is formed, and the reservation binding relationship information associated with the target component is stored into the database.
[0077] In the embodiment, the second data structure can be understood as configuration information of the reservation binding relationship information, and can include the reservation name, the number of reserved resources used in this binding, the component information, the state of the binding (unbound, partially bound, completely bound), the result of the binding, and the like.
[0078] Specifically, the second data structure is called, the reservation binding configuration information is identified and recorded according to the second data structure, the reservation binding relationship information is formed, the reservation binding relationship information is associated with the target component, the mutual determination between the reservation binding relationship information and the target component is facilitated, and the reservation binding relationship information and the target component are stored into the database, so as to be called in subsequent use. For example, the association can be established in the form of a serial number, the serial number of the reservation binding relationship information and the target component is set as Y1, the corresponding reservation binding relationship information and the corresponding target component can be obtained through the serial number Y1, and the reservation binding relationship information and the target component are stored into the database in the form of the serial number Y1 with a time stamp of the storage time into the database.
[0079] Further, the resource scheduling management system further includes a resource scheduling module.
[0080] The resource scheduling module is configured to, after receiving the resource scheduling request sent by the service access module 11 relative to the target component, determine whether the target container node of the reserved resource corresponding to the target component meets the reserved resource scheduling condition, and deploy the target component to the determined target container node when the reserved resource scheduling condition is met.
[0081] Specifically, after receiving the resource scheduling request sent by the service access module 11 relative to the target component, the resource scheduling module determines whether the target container node of the reserved resource corresponding to the target component meets the reserved resource scheduling condition according to the scheduling request, and deploys the target component to the determined target container node when the reserved resource scheduling condition is met.
[0082] Further, the resource scheduling module is specifically configured to:
[0083] After receiving the resource scheduling request sent by the service access module 11 relative to the target component, determine the deployment process type set in the resource scheduling request.
[0084] In this embodiment, the deployment process type can be understood as a processing method for distinguishing different processes, such as setting three types of deployment process types: normal type, reserved type and simulation type, wherein the normal type can be understood as not using reserved resources; the reserved type can be understood as needing to use reserved resources; the simulation type can be understood as a deployment process that does not exist in reality, i.e., a simulation process that needs to use actual resources.
[0085] Specifically, each target component can set the deployment process type in advance and store it in the information of the target component, and when receiving the resource scheduling request, the corresponding deployment process type of the target component is found in the information corresponding to the target component to determine the deployment process type set in the resource scheduling request.
[0086] When the deployment process type is the reserved type, it is determined that the reserved resource scheduling condition is met, and the target container node matched with the target component is determined according to the simulation scheduling result information and the reserved binding relationship information of the target component.
[0087] Specifically, when the resource scheduling module determines that the deployment process type set by the target component is the reserved type, it obtains the associated simulation scheduling result information and reserved binding relationship information. According to the simulation scheduling result information and the reserved binding relationship information, the target container node of the reserved resource that establishes a binding relationship with the target component is determined.
[0088] The target component is deployed to the target container node of the container cloud platform through the deployment process.
[0089] Specifically, the resource scheduling module deploys the target component to the target container node of the container cloud platform through the deployment process according to the deployment process corresponding to the target component and the target container node matched with the target component.
[0090] Further, the binding control module can also be used for:
[0091] acquiring a reserved binding relationship information list stored in a database, and monitoring a reserved resource usage associated with the reserved binding relationship information in the reserved binding relationship information list.
[0092] In the embodiment, the reserved binding relationship information list can be understood as storing a plurality of reserved binding relationship information in the form of a list.
[0093] Specifically, the binding control module can acquire a reserved binding relationship information list stored in a database, and since each reserved binding relationship information includes a set reserved resource, the usage of the reserved resource can be determined by checking the remaining amount or scheduling situation of the reserved resource at the current time, compared with the set reserved resource, and the reserved binding relationship information is updated according to the usage, so as to achieve the purpose of monitoring.
[0094] When it is monitored that the reserved resource is scheduled, the reserved binding relationship information associated with the scheduled reserved resource is determined, which is recorded as scheduled associated information.
[0095] In the embodiment, the scheduled associated information can be understood as information generated for indicating that the reserved resource is scheduled.
[0096] Specifically, when it is monitored that the reserved resource is being used, such as the reserved resource is reduced, that is, the reserved resource is scheduled, the reserved resource has been used by the target component, a search instruction can be sent to search for the reserved binding relationship information associated with the scheduled reserved resource, which is recorded as scheduled associated information, indicating that the reserved resource is being used.
[0097] The scheduled associated information is deleted from the reserved binding relationship information list, and the binding between the scheduled reserved resource on the container node and the component corresponding to the scheduled associated information is released.
[0098] Specifically, since the reserved binding relationship information list contains unscheduled reserved binding relationship information, when the reserved resource has been scheduled, the scheduled associated information is deleted, the corresponding container node, the component bound with the container node, and the scheduled reserved resource are obtained according to the scheduled associated information, and the binding between the scheduled reserved resource on the container node and the component corresponding to the scheduled associated information is released.
[0099] For the first time, the service access module 11 of the embodiment can also be used for:
[0100] receiving a resource pre-inspection update request or a resource pre-inspection deletion request submitted by a front end through a service access interface provided by the service access module;
[0101] Correspondingly, the resource reservation module is further configured to re-perform simulation scheduling on the target component according to the received resource pre-inspection update request, and update the database with the simulation scheduling result obtained after the re-simulation scheduling, i.e., update the stored simulation scheduling result information; or delete the simulation scheduling result information corresponding to the target component in the database according to the received resource pre-inspection deletion request.
[0102] It can be understood that the required resources and resource amounts of the same target component can change at different times. When the required resources and resource amounts of the target component change, the simulation scheduling has been performed and the simulation scheduling result information has been formed, but the real scheduling has not been performed according to the scheduling priority in the simulation scheduling result information, and therefore the simulation scheduling result information of the target component needs to be updated. If the simulation scheduling result information of the target component has been formed and the resources have been reserved according to the simulation scheduling result information, the real scheduling has not been performed according to the scheduling priority in the simulation scheduling result information, but the target component does not need to be scheduled at present, and therefore the simulation scheduling result information is deleted.
[0103] In this embodiment, the resource pre-inspection update request can be understood as a request for re-performing simulation scheduling on a component that has been subjected to simulation scheduling. The resource pre-inspection deletion request can be understood as a request for deleting a component that has been subjected to simulation scheduling and has reserved resources to form simulation scheduling result information.
[0104] Specifically, when the demand for the target component changes, the front end can generate a resource pre-inspection update request corresponding to the target component and send it to the resource reservation module. The resource reservation module receives the resource pre-inspection update request, re-performs simulation scheduling on the target component, obtains the scheduling result of the target component at this time, searches for the simulation scheduling result information corresponding to the target component in the stored simulation scheduling result information, updates the simulation scheduling result information corresponding to the target component according to the scheduling result, and replaces the content in the simulation scheduling result information with the scheduling result this time. Or, when the target component no longer needs to be run, the front end can generate a resource pre-inspection deletion request corresponding to the target component and send it to the resource reservation module. The resource reservation module receives the resource pre-inspection deletion request, searches for the simulation scheduling result information corresponding to the target component in the stored simulation scheduling result information, and deletes the simulation scheduling result information.
[0105] Again, the service access module 11 of this embodiment can also be configured to:
[0106] receiving a resource scheduling update request or a resource scheduling deletion request submitted by a front end through a service access interface provided by the service access module;
[0107] Correspondingly, the reservation binding module is configured to re-determine the reservation binding configuration information of the target component according to the received resource scheduling update request, and update the stored reservation binding relationship information with the re-obtained reservation binding configuration information; or delete the reservation binding relationship information corresponding to the target component according to the received resource scheduling deletion request.
[0108] It can be known that the required resources and resource amounts of the same target component can change at different times, and the reservation binding information and the reservation binding relationship information generated according to the reservation binding information should also change accordingly, so the reservation binding relationship information needs to be updated. If the target component has formed the reservation binding relationship information, but the target component is not needed to be scheduled at present, the reservation binding relationship information needs to be deleted.
[0109] In the embodiment, the resource scheduling update request can be understood as updating the reservation binding relationship information of the component that has been resimulated and scheduled. The resource scheduling deletion request can be understood as a request for deleting the target component that has reserved resources and formed the reservation binding relationship information.
[0110] Specifically, when the demand for the target component changes, the front end can generate a resource scheduling update request corresponding to the target component and send it to the reservation binding module. The reservation binding module receives the resource scheduling update request, re-determines the reservation binding configuration information according to the resource scheduling update request, finds the reservation binding relationship information corresponding to the target component in the stored reservation binding relationship information, and updates the content in the reservation binding relationship information corresponding to the target component according to the reservation binding configuration information. Or, when the target component is no longer needed to be run, the front end can generate a resource scheduling deletion request corresponding to the target component and send it to the reservation binding module. The reservation binding module receives the resource scheduling deletion request, finds the reservation binding relationship information corresponding to the target component in the stored reservation binding relationship information, and deletes the reservation binding relationship information.
[0111] The resource scheduling management system provided by the preferred embodiment of the first embodiment of the present application can check whether the components can be successfully simulated as a whole before the real deployment of the service, and form simulation scheduling result information for subsequent use in the case of successful pre-checking, so as to ensure the accuracy of the pre-checking result and reserve resources in advance according to the simulation scheduling result information. When the real deployment is performed, the resources are bound to the created components according to the reserved binding relationship information and the simulation scheduling result information. The corresponding components are ensured to only consume the reserved resources, that is, the "integrity" of the reserved resources. By distinguishing the deployment process types, it is ensured that the reserved resources will not be occupied, that is, the "exclusivity" of the reserved resources. By setting the time limit monitoring, the two types of update and deletion requests, the state of the reserved resources is monitored in real time, and it is ensured that the reserved resources can be successfully scheduled, that is, the "availability" of the reserved resources. By ensuring the integrity, exclusivity and availability of the reserved resources, the utilization rate of the resources is improved, the efficiency and success rate of the deployment of the system and platform are improved, and the resource deadlock situation is reduced.
[0112] Figure 4 An example flowchart of the resource scheduling management system provided by the first embodiment of the present application is given, as shown in Figure 4 The resource scheduling management system can deploy the components according to the following steps:
[0113] 1. The service access module receives the resource pre-check request, the resource scheduling deletion request, the resource pre-check deletion request, the resource scheduling update request or the resource pre-check update request sent by the front end; 2. The resource reservation module calls the simulation scheduling function to simulate the scheduling of the resource pre-check request or the resource pre-check update request; 3. Forming simulation scheduling result information, or forming reservation binding relationship information according to reservation configuration information, controlling the corresponding container node to reserve the reserved resource corresponding to the resource reservation information according to the simulation scheduling result information, and storing the simulation scheduling result information and the associated target component in the database; 4. The reserved resource control module obtains the simulation scheduling result information list from the database, and monitors the time limit of the simulation scheduling result information in the simulation scheduling result information list; 5. The reserved resource control module deletes the timeout simulation scheduling result information and releases the reserved resource corresponding to the reserved resource information in the container node in the timeout simulation scheduling result information; 6. The binding control module obtains the reserved binding relationship information list from the database, and monitors the reserved resource usage associated with the reserved binding relationship information in the list; 7. Update the reserved resource usage, delete the scheduled associated information and release the binding of the scheduled reserved resource on the container node and the corresponding component of the scheduled associated information; 8. Receive the resource scheduling request; 9. Obtain the simulation scheduling result information and the reserved binding relationship information according to the resource scheduling request; 10. The resource scheduling module determines the target container node matched with the target component according to the simulation scheduling result information and the reserved binding relationship information, and deploys the target component to the node of the cloud platform through the deployment process.
[0114] Embodiment two
[0115] Figure 5 A flowchart of a resource scheduling management method provided by the second embodiment of the application is given, which is suitable for the case of managing resource scheduling and can be applied to the resource scheduling management system provided by the above-mentioned embodiments of the application. The resource scheduling management system can be integrated on a computer device, which can serve as a node of a container cloud platform. As shown in the figure, the method comprises the following steps. Figure 5
[0116] S110, the service access module receives the resource pre-check request submitted by the front end through the provided service external interface, and transmits the resource pre-check request to the resource reservation module.
[0117] S120, the resource reservation module simulates the scheduling of the target component corresponding to the resource pre-check request, makes a resource pre-check decision according to the obtained simulation scheduling result, and stores the simulation scheduling result information corresponding to the simulation scheduling result after passing the resource pre-check and reserving the resource.
[0118] The resource scheduling management method provided in the second embodiment can simulate scheduling of components to be deployed by adding a resource reservation module before actual deployment, form simulation scheduling result information and store the information in a database, and call the stored simulation scheduling result information when actual deployment is performed. The simulation scheduling result information stored saves the time of actual deployment, improves the success rate of overall deployment of products, and improves the efficiency of system and platform use.
[0119] Embodiment three
[0120] Figure 6 A structural diagram of a computer device 20 that can be used to implement the embodiments of the present application is shown. The computer device is used as a node of a container cloud platform, on which the resource scheduling management system provided in the first embodiment is run. The computer device is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The computer device can also represent various forms of mobile devices, such as personal digital processors, cellular telephones, smart phones, wearable devices (such as headsets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not intended to limit the implementations of the present application described and / or claimed in this document.
[0121] As shown in Figure 6 The computer device 20 includes at least one processor 21, and a memory, such as a read-only memory (ROM) 22, a random access memory (RAM) 23, etc., which is communicatively connected to the at least one processor 21, wherein the memory stores a computer program that can be executed by the at least one processor. The processor 21 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 22 or loaded from the storage unit 28 into the random access memory (RAM) 23. In the RAM 23, various programs and data required for the operation of the computer device 20 can also be stored. The processor 21, the ROM 22, and the RAM 23 are connected to each other through a bus 24. An input / output (I / O) interface 25 is also connected to the bus 24.
[0122] A plurality of components in the computer device 20 are connected to the I / O interface 25, including an input unit 26, such as a keyboard, a mouse, etc.; an output unit 27, such as various types of displays, speakers, etc.; a storage unit 28, such as a magnetic disk, an optical disk, etc.; and a communication unit 29, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 29 allows the computer device 20 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.
[0123] The processor 21 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the processor 21 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, and the like. The processor 21 performs various methods and processes described above, such as the resource scheduling management method.
[0124] In some embodiments, the resource scheduling management method can be implemented as a computer program tangibly embodied in a computer readable storage medium, such as the storage unit 28. In some embodiments, part or all of the computer program can be loaded and / or installed onto the computer device 20 via the ROM 12 and / or the communication unit 29. When the computer program is loaded onto the RAM 23 and executed by the processor 21, one or more steps of the resource scheduling management method described above can be performed. Alternatively, in other embodiments, the processor 21 can be configured to perform the resource scheduling management method by any other suitable means, such as by means of firmware.
[0125] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a programmable logic device (PLD), a computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0126] Computer programs used to implement the methods of the application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program, when executed by the processor of the machine, implements the functions / acts specified in the flowcharts and / or block diagrams. The computer program can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, partially on a machine and partially on a remote machine or entirely on a remote machine or server.
[0127] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. A computer-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of a machine-readable storage medium will include one or more lines of a program of instructions in a transitory signal, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0128] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer device having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer device. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0129] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0130] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.
[0131] It should be understood that the various forms of flow shown above can be reordered, added to, or have steps deleted. For example, the steps described in the present application can be performed in parallel, in series, or in a different order, as long as the desired results of the technical solutions of the present application can be achieved, which are not limited herein.
[0132] The above detailed description does not constitute a limitation on the protection scope of the present application. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A resource scheduling management system, characterized by, Integrated on a container cloud platform, comprising: a service access module, a resource reservation module, a reserved resource control module, a reserved binding module and a resource scheduling module; The service access module is configured to receive a resource pre-check request submitted by a front end through a provided service external interface, and pass the resource pre-check request to the resource reservation module; The resource reservation module is configured to simulate scheduling on a target component corresponding to the resource pre-check request, perform resource pre-check judgment according to an obtained simulation scheduling result, and perform resource reservation and storage of simulation scheduling result information corresponding to the simulation scheduling result after passing the resource pre-check; The stored simulation scheduling result dataset is used for real resource scheduling of the target component; The service access module is further configured to receive a resource pre-check update request, a resource pre-check deletion request, a resource scheduling update request or a resource scheduling deletion request submitted by the front end through the provided service external interface; The resource reservation module is further configured to re-perform simulation scheduling on the target component according to the received resource pre-check update request, and update the stored simulation scheduling result information using the simulation scheduling result obtained after the re-simulation scheduling; or delete the simulation scheduling result information corresponding to the target component according to the received resource pre-check deletion request; wherein the resource pre-check update request is a request for re-simulation scheduling on a component that has been simulated and scheduled, and the resource pre-check deletion request is a request for deleting a component that has been simulated and scheduled and reserved resources to form simulation scheduling result information; The reserved resource control module is configured to obtain a simulation scheduling result information list stored in a database, and perform time limit monitoring on the simulation scheduling result information in the simulation scheduling result information list; when it is monitored that there is a timeout simulation scheduling result information that meets a reservation timeout condition, the timeout simulation scheduling result information is deleted and the reserved resource information corresponding to the timeout simulation scheduling result information in a container node is released; The reserved binding module is configured to determine reserved binding relationship information of the target component and store the reserved binding relationship information by analyzing a resource scheduling request received by the service access module; the reserved binding module is further configured to re-determine reserved binding configuration information of the target component according to a received resource scheduling update request, and update the stored reserved binding relationship information using the re-obtained reserved binding configuration information; or delete the reserved binding relationship information corresponding to the target component according to a received resource scheduling deletion request; wherein the reserved binding configuration information includes a reserved name, a number of reserved resources used in this binding, component information, a state in which the binding is located, and a result of the binding; The resource scheduling module is configured to, after receiving a resource scheduling request sent by the service access module with respect to the target component, deploy the target component to a determined target container node when it is determined that a reserved resource scheduling condition is met; wherein the target container node has reserved the reserved resources required for deploying the target component through a deployment process.
2. The system of claim 1, wherein, The resource reservation module is specifically configured to: The received resource pre-check request is format-verified, and if the verification is successful, the target component corresponding to the resource pre-check request is determined; A pre-set simulation scheduling function is called to simulate scheduling of the target component, and a simulation scheduling result of the target component is obtained; The resource reservation information in the simulation scheduling result is analyzed, and when it is determined that the resource reservation information is successful, the reserved resources corresponding to the resource reservation information are reserved by resource pre-check and control container node; After passing the resource pre-check, the simulation scheduling result information is recorded according to the set first data structure, and the simulation scheduling result information associated with the target component is stored in the database.
3. The system of claim 1, wherein, The reservation binding module is specifically configured to: analyze the resource scheduling request, obtain the reservation binding configuration information of the corresponding target component in the resource scheduling request; According to the second data structure, the reservation binding configuration information is recorded to form the reservation binding relationship information, and the reservation binding relationship information associated with the target component is stored in the database.
4. The system of claim 1, wherein, The resource scheduling module is specifically configured to: After receiving the resource scheduling request sent by the service access module relative to the target component, the deployment process type set in the resource scheduling request is determined; When the deployment process type is a reservation type, it is determined that the reserved resource scheduling condition is met, the target container node matched with the target component is determined according to the simulation scheduling result information and the reservation binding relationship information of the target component; The target component is deployed to the target container node of the container cloud platform through the deployment process.
5. The system of claim 1, wherein, Further comprising: The binding control module is configured to: Obtain the reservation binding relationship information list stored in the database, and monitor the use of the reserved resources associated with the reservation binding relationship information in the reservation binding relationship information list; When it is monitored that there is a reserved resource being scheduled, the reserved binding relationship information associated with the scheduled reserved resource is determined as the scheduled associated information; The scheduled associated information is deleted from the reservation binding relationship information list, and the binding between the scheduled reserved resource on the container node and the component corresponding to the scheduled associated information is released.
6. A resource scheduling management method, characterized by, The method is executed by the resource scheduling management system integrated on the container cloud platform, such as any one of claims 1-5, and the method comprises: The service access module receives the resource pre-check request submitted by the front end through the provided service external interface, and transmits the resource pre-check request to the resource reservation module; The resource reservation module simulates scheduling of the target component corresponding to the resource pre-check request, determines the resource pre-check according to the obtained simulation scheduling result, and stores the simulation scheduling result information corresponding to the simulation scheduling result after passing the resource pre-check; The stored simulation scheduling result is used for real resource scheduling of the target component.
7. A computer device, comprising: As a node of the container cloud platform, comprising: One or more processors; The memory is in communication connection with the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the method of claim 6.
Citation Information
Patent Citations
Resource processing method and resource scheduling method
CN114598666A