A cloud platform computing resource scheduling method and system for relay protection setting

By establishing dual waiting queues on the cloud platform and using the exponentially weighted moving average method, the execution order of relay protection setting calculation tasks is optimized, which solves the problems of underutilization of computing resources and unstable response speed on the cloud platform, and improves system stability and user experience.

CN114237866BActive Publication Date: 2026-01-23STATE GRID HENAN ELECTRIC POWER ELECTRIC POWER SCI RES INST +3
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202111306290.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-05
Publication Date
2026-01-23
Estimated Expiration
2041-11-05

AI Technical Summary

Technical Problem

Existing technologies for relay protection setting calculations on cloud platforms have failed to effectively address the issue of executing and sequencing a large number of computational tasks, resulting in insufficient utilization of computing resources and impacting response speed and system stability.

Method used

A cloud platform computing resource scheduling method for relay protection setting is adopted. By establishing a dual waiting queue and an exponentially weighted moving average method, the expected job duration of computing tasks is recorded, the waiting and execution order of computing tasks is optimized, and the orderly allocation of computing resources and the stability of task response are achieved.

Benefits of technology

This system achieves stability in the total response time from task submission to completion, improves the user experience and resource utilization efficiency of the relay protection setting calculation system, and reduces the uncertainty of system response time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114237866B_ABST
    Figure CN114237866B_ABST
Patent Text Reader

Abstract

A cloud platform computing resource scheduling method and system for relay protection setting, the method comprising: updating the expected computing task job duration and the computing resource state after system initialization; updating the state of the computing task double waiting queue; submitting the computing task to the relay protection setting computing cloud platform, and adding the computing task to the waiting queue according to the data dependency of the computing task by the computing resource scheduling service; allocating the computing resource and executing the computing according to the available computing resource and the execution priority of the computing task in the computing resource waiting queue by the computing resource scheduling service; and collecting the job duration of the computing task by the computing resource scheduling service after the computing task is executed. The application adjusts the waiting duration of different types of computing tasks on the basis of meeting the data dependency constraint, improves the use experience of the relay protection setting computing system, and is beneficial to improving the system operation efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of power system relay protection, and more particularly relates to a cloud platform computing resource scheduling method and system for relay protection setting. BACKGROUND

[0002] Relay protection devices are important guarantees for the safe and stable operation of power systems. In order to meet the sensitivity and selectivity requirements of power systems for relay protection devices, accurate and reasonable setting calculation of the setting value of the relay protection device is required. The expansion of the power grid, the large-scale grid connection of new energy, and the mixed connection of AC and DC power grids and other new features of the power grid have put forward higher requirements for relay protection setting calculation. The application of a relay protection setting calculation system based on a cloud platform has improved the digitalization and intelligentization level of the setting calculation work of the entire power system. The cloud computing platform carries all the data calculation loads of the users, and needs to control the orderly execution of the calculation tasks through a reasonable resource scheduling method.

[0003] In the prior art, there are calculation resource scheduling algorithms such as first-come-first-served scheduling algorithm, shortest job first scheduling algorithm, and priority scheduling algorithm. The first-come-first-served scheduling algorithm uses the order of submission of the calculation tasks as a priority reference factor for the allocation of calculation resources, and is the simplest scheduling strategy, which may result in a long response time for simple calculation tasks. The shortest job first scheduling algorithm always allocates calculation resources to the calculation task with the shortest execution time, so that the task with a longer calculation time may be in a waiting state for a long time. The priority scheduling algorithm allocates calculation resources according to the priority index set when the calculation task is submitted, and is divided into preemptive and non-preemptive, which is difficult to divide the priority of different users or different calculation tasks in the relay protection setting calculation system.

[0004] The setting parameter calculation in the relay protection setting calculation needs to consider various operating modes and maintenance states of the power grid, including a large amount of calculation work. At the same time, there is data dependency between different calculation tasks, such as the need for short-circuit current calculation results for calculating protection setting values, and the need for node impedance matrix for calculating short-circuit currents.

[0005] In recent years, cloud computing has become the key of modern information technology. It is the trend and necessity of the development of the current relay protection to introduce cloud computing into the relay protection setting calculation. The prior art 1 (CN112163734A) "Setting calculation resource dynamic adjustment method and device based on cloud platform" determines the calculation resource according to the current user task of the power grid, and judges whether the current calculation resource of the fog server meets the calculation resource; if the calculation resource is met, the user task is processed by using the fog server, otherwise the user task is processed by using the cloud server. By combining fog computing and cloud computing methods and applying them to the setting calculation cloud platform, the respective advantages of fog computing and cloud computing are utilized to dynamically call the cloud platform calculation resource and improve the setting calculation resource calling efficiency. However, the prior art 1 does not consider the execution sequencing problem when there are a large number of calculation tasks, so the cloud computing resources cannot be fully utilized, and even the response speed and running stability of the relay protection setting calculation system may be affected.

[0006] The prior art 2 (CN110633085A) "Relay protection setting calculation method and device based on micro-service architecture" detects the current running performance and current state of each micro-service of the micro-service architecture to monitor whether each service runs normally; if abnormal, the service running abnormally is found and restarted; if normal, the running parameters are determined according to the preset requirements, and the corresponding visual interface is provided for the user relying on the subscription management service and the permission management service, the granular service of each function is based on, and the corresponding function is configured according to the subscribed service to generate the setting calculation result. Based on the virtualized micro-service component and the unified micro-system platform, the logical independence of the relay protection setting calculation system function, the simplification of the operating system and the flexible subscription of each function module are realized; however, the prior art 2 focuses on solving the problems of decomposition and running supervision of the relay protection setting calculation service, and does not involve the resource scheduling problem of a large number of calculation tasks which are essential in the running process of the micro-service constituting the whole relay protection setting calculation service, so the system running efficiency and user experience are not improved.

[0007] Prior art 3 (CN111522869A) "Setting calculation cloud data management method and setting calculation system suitable for multi-tenant", create a tenant table; extract the public data part of each level of power grid tenant as a public database, and create a public tenant table data to form a shared database; the differentiated data part of each tenant is taken as an independent database, and the tenants in the independent database are selected to create a virtual tenant table according to the tenant ID; the data in the independent database is isolated according to the tenant ID. Therefore, not only can the full use of system resources be ensured, and the resource occupation cost be reduced, but also the security, shareability and relative independence of data between tenants can be ensured, effectively managing the large amount of data generated by multi-tenants in the cloud environment, and also meeting the personalized needs of tenants; however, prior art 3 does not consider the scheduling method of the large amount of computing tasks faced by the relay protection setting calculation system in the multi-tenant scenario, which may cause differences in the use experience of some users.

[0008] In summary, the relay protection setting calculation system based on the cloud platform includes various application modules such as model interaction, check and evaluation, setting calculation, and data management, and the consumption of computing resources between different applications is different; when the cloud computing resource load is high, the computing tasks submitted by the application need to wait for a certain time before execution, and the commonly used first-come-first-served scheduling algorithm has a large variation range in response time when facing the same computing task, which brings the subjective feeling of unstable system operation to the user. Therefore, a cloud platform computing resource scheduling method is researched, which records the time consumption of different types of computing tasks, so that the task waiting time is positively correlated with the expected value of the job time, so that the total response time of the computing task from submission to completion is more stable. SUMMARY

[0009] To solve the problems in the prior art, the purpose of the present application is to provide a cloud platform computing resource scheduling method and system for relay protection setting, which adjusts the waiting time of different types of computing tasks on the basis of meeting the data dependency constraints, and improves the user experience of the relay protection setting calculation system.

[0010] The application adopts the following technical solutions.

[0011] A cloud platform computing resource scheduling method for relay protection setting, comprising:

[0012] Step 1, system initialization;

[0013] Step 2, update the expected job time of the computing task and the state of the computing resource;

[0014] Step 3, update the state of the double waiting queue of the computing task; wherein the double waiting queue of the computing task includes a computing resource waiting queue and a computing data waiting queue;

[0015] Step 4, submitting a calculation task to the relay protection setting calculation cloud platform, and adding the calculation task to a waiting queue according to data dependency of the calculation task by a calculation resource scheduling service;

[0016] Step 5, performing calculation resource allocation and calculation according to available calculation resources and execution priority of the calculation task in the calculation resource waiting queue by the calculation resource scheduling service;

[0017] Step 6, collecting job duration of the calculation task after completion of the calculation task by the calculation resource scheduling service.

[0018] Preferably, in step 1, system initialization comprises setting an initial value of expected job duration of the calculation task.

[0019] Preferably, in step 2, based on historical job duration of each type of calculation task, an exponential weighted moving average method is used to update expected job duration E of the type of calculation task according to the following relationship: n :

[0020] E n = αE n-1 +(1-α)t n

[0021] In the formula, t n is job duration of the nth execution of the type of calculation task, E n-1 is expected job duration after the (n-1)th execution of the type of calculation task, E n is expected job duration after the nth execution of the type of calculation task, and α is a weighting coefficient and α ∈ (0, 1).

[0022] Preferably, in step 2, the calculation resource state is an available state of all calculation units, including idle and busy; updating the calculation resource state, i.e. updating the available state of each calculation unit, when there is no calculation task or the calculation task has been executed in the calculation unit, the state of the calculation unit is set to idle; when there is an executing calculation task in the calculation unit, the state of the calculation unit is set to busy.

[0023] Preferably, in step 3, the calculation task double waiting queue is used for priority sorting of the submitted calculation task, wherein the calculation task with higher priority obtains the calculation resource first.

[0024] Updating the state of the calculation task double waiting queue comprises updating the calculation data waiting queue and the calculation resource waiting queue in terms of task increase and decrease and task waiting duration.

[0025] Preferably, updating the calculation data waiting queue comprises:

[0026] When all the required computing data of a computing task in the computing data waiting queue is ready, the task is removed from the computing data waiting queue;

[0027] When a new task with no unready computing data is submitted, the computing task is added to the computing data waiting queue;

[0028] When a period of time Δt has elapsed, the waiting time of all the computing tasks in the computing data waiting queue is increased by Δt.

[0029] Preferably, updating the resource waiting queue comprises:

[0030] When a new task with no computing data dependency is submitted, the computing task is placed in the computing resource waiting queue;

[0031] When all the required computing data of a computing task in the computing data waiting queue is ready, the computing task is added to the computing resource waiting queue;

[0032] When there is an idle computing resource, the computing task with the highest priority in the computing resource waiting queue is removed;

[0033] When a period of time Δt has elapsed, the waiting time of all the computing tasks in the computing resource waiting queue is increased by Δt.

[0034] Preferably, in step 4, the computing resource scheduling service judges the data dependency of the new computing task according to the criterion that if the data required by the new computing task is all ready, the new task is placed in the computing resource waiting queue, otherwise the new task is placed in the computing data waiting queue.

[0035] Preferably, in step 5, for a computing task x placed in the computing resource waiting queue, the computing process comprises:

[0036] Step 5.1.1, the computing resource scheduling service acquires the priority of each computing task in the computing resource waiting queue and the state of the computing resource;

[0037] Step 5.1.2, when there is an idle computing resource, the computing task with the highest priority in the computing resource waiting queue is assigned a computing resource and the job is started; when there is no idle computing resource, the computing task in the computing resource waiting queue needs to wait; the waiting time of the computing task x is recorded;

[0038] Step 5.1.3, the computing task x is executed and the job time of the computing task is recorded.

[0039] Preferably, in step 5, for a computing task x placed in the computing data waiting queue, the computing process comprises:

[0040] Step 5.2.1, the computing resource scheduling service acquires the completion status of all preceding computing tasks in the computing data waiting queue;

[0041] Step 5.2.2, when all preceding computing tasks have been completed, the computing task x is transferred from the computing data waiting queue to the computing resource waiting queue; when there are uncompleted preceding computing tasks, the waiting duration of the computing task x is recorded;

[0042] Step 5.2.3, after the computing task x enters the computing resource waiting queue, steps 5.1.1 to 5.1.3 are executed.

[0043] Preferably, in step 5.1.1, the priority of each computing task is determined by the following relationship:

[0044]

[0045] In the formula, k is the priority index of the computing task, τ is the waiting duration of the computing task, and E is the expected job duration of the computing task.

[0046] Preferably, in step 6, the job duration of the computing task x is recorded during the execution of the computing task x, and the job duration and the waiting duration of the computing task x are collected by the computing resource scheduling service after the execution of the computing task x is completed.

[0047] A cloud platform computing resource scheduling system for relay protection setting, comprising: a scheduling control module, a waiting queue module, and a job duration expectation module;

[0048] The waiting queue module is configured to place computing tasks according to the queue scheduling result of the scheduling control module; the waiting queue module comprises a computing resource waiting queue and a computing data waiting queue;

[0049] The scheduling control module is configured to perform queue scheduling on various computing tasks according to the current state of the computing resource waiting queue and the computing data waiting queue, and control the priority of various computing tasks to allocate computing resources, thereby controlling the waiting duration of the computing tasks;

[0050] The scheduling control module comprises a queue state query unit and a computing resource query unit; the queue state query unit is configured to query the current state of the computing resource waiting queue and the computing data waiting queue; and the computing resource query unit is configured to query the current state of the computing resources;

[0051] The job duration expectation module is configured to determine the expected job duration according to the job duration of various computing tasks, determine the priority of the computing tasks according to the expected job duration, and input the priority of the computing tasks into the scheduling control module.

[0052] The beneficial effects of the present application are that, compared with the prior art:

[0053] 1. The cloud platform computing resource scheduling method proposed records the time consumption of different types of computing tasks, so that the task waiting time is positively correlated with the expected value of the job time, thereby making the total response time of the computing task from submission to completion more stable.

[0054] 2. The relay protection setting calculation system based on the cloud platform combines cloud computing technology with relay protection setting calculation technology, fully utilizes the super computing and elastic expansion technology of the cloud, designs the setting calculation system as a micro service and carries it on the cloud, and realizes dynamic and flexible subscription of services.

[0055] 3. On the basis of meeting the data dependency constraint, the waiting time of different types of computing tasks is adjusted to improve the user experience of the relay protection setting calculation system.

[0056] 4. A double-waiting queue cloud platform computing resource scheduling model is established to realize the orderly execution of computing tasks.

[0057] 5. The priority index of job time is introduced to make the response speed of various tasks more stable.

[0058] 6. The expected value of the job time is calculated based on the exponential weighted moving average method, and the result meets the changes of the power grid model and parameters, as well as the changes of the cloud platform load and configuration upgrade.

[0059] 7. The execution sequencing problem when there are a large number of computing tasks is fully considered, and through the application of the present application, the cloud computing resources can be fully utilized while the response speed of the relay protection setting calculation system is more stable.

[0060] 8. The present application focuses on solving the resource scheduling problem of a large number of computing tasks essential in the operation process of the relay protection setting calculation service or the micro services constituting the whole system, and through the application of the present application, the system operation efficiency and user experience can be further improved while the relay protection setting calculation function is decoupled.

[0061] 9. In the existing micro service and multi-user scenario, the present application can reduce the uncertainty of the system response time through orderly resource scheduling, and improve the user experience. BRIEF DESCRIPTION OF DRAWINGS

[0062] Figure 1 It is a structure diagram of the relay protection setting calculation system based on the cloud platform in an embodiment of the present application.

[0063] Figure 2 It is a schematic diagram of the cloud platform computing resource scheduling method in an embodiment of the present application.

[0064] Figure 3A step block diagram of a cloud platform computing resource scheduling method for relay protection setting of the application;

[0065] Figure 4 A flowchart of a single computing task from submission to completion in an embodiment of the application;

[0066] Figure 5 A running flowchart of a computing service in an embodiment of the application. DETAILED DESCRIPTION

[0067] The application will be further described below with reference to the drawings. The following examples are only used to more clearly illustrate the technical solutions of the application, and cannot be used to limit the protection scope of the application.

[0068] The relay protection setting calculation system based on the cloud platform combines cloud computing technology and relay protection setting calculation technology, fully utilizes supercomputing and elastic expansion technology of the cloud, designs the setting calculation system as micro services, and carries the setting calculation system to the cloud to realize dynamic and flexible subscription of services.

[0069] The platform user indirectly calls the cloud computing resource through a business application, as shown in Figure 1 . For the cloud computing resource dedicated to relay protection setting calculation, the computing tasks undertaken by the cloud computing resource are concentrated in impedance matrix generation, node voltage calculation, branch current calculation, model parameter preprocessing, etc. For a relatively stable power grid model, the time consumption of the above computing tasks is also relatively stable.

[0070] The application proposes a cloud platform computing resource scheduling method for relay protection setting calculation, considering data dependency constraints and job time expectations between computing tasks, as shown in Figure 2 . By applying the application, the waiting time of different types of computing tasks is adjusted on the basis of meeting the data dependency constraints, and the use experience of the relay protection setting calculation system is improved.

[0071] The application proposes a cloud platform computing resource scheduling method for relay protection setting, as shown in Figure 3 . The method includes steps 1 to 6, and the details are as follows:

[0072] Step 1, system initialization.

[0073] Specifically, in step 1, the system initialization includes setting an initial value of the computing task job time expectation.

[0074] In the preferred embodiment of the application, the initial value of the computing task job time expectation is determined according to experience, and when the determination basis is insufficient, the same job time expectation is set for all tasks, i.e. 0.

[0075] Step 2, update the computing task job time expectation and the computing resource state.

[0076] Specifically, in step 2, based on the historical job duration of each type of computing task, the exponential weighted moving average method is used to update the job duration expectation E of the type of computing task according to the following relationship n :

[0077] E n =αE n-1 +(1-α)t n

[0078] In the formula, t n is the job duration of the nth execution of a type of computing task, E n-1 is the job duration expectation after the (n-1)th execution of the type of computing task, E n is the job duration expectation after the nth execution of the type of computing task, and α is a weighting coefficient, and α∈(0,1).

[0079] The historical record of the job duration of each type of computing task can reflect its complexity and is suitable for estimating the job duration expectation of the type of computing task. On the other hand, with the change of the power grid model and parameters, as well as the change of the cloud platform load and configuration upgrade, the job duration of the computing task can present a certain change trend. Therefore, in the preferred embodiment of the present application, the exponential weighted moving average method is used to calculate the job duration expectation of each type of computing task according to the execution record thereof.

[0080] Specifically, in step 2, the computing resource state is the available state of all computing units, including idle and busy; the computing resource state is updated, that is, the available state of each computing unit is updated, and when there is no computing task in the computing unit or the computing task has been executed and completed, the state of the computing unit is set to idle; when there is a computing task being executed in the computing unit, the state of the computing unit is set to busy.

[0081] In step 3, the state of the computing task double waiting queue is updated; wherein the computing task double waiting queue includes a computing resource waiting queue and a computing data waiting queue.

[0082] In the preferred embodiment of the present application, a double waiting queue scheduling model is also proposed.

[0083] For any computing task, two conditions need to be met for starting execution: condition one is that the data required by the task is ready, that is, all the preceding tasks of the task have been completed and the results have been returned; condition two is that the cloud platform computing resource is idle and there is no task with higher execution priority than the task in the waiting state.

[0084] In order to realize the ordered execution of the computing task, a cloud platform computing resource scheduling model of double waiting queues is established. The first queue is the computing resource waiting queue RWQ, and the second queue is the computing data waiting queue DWQ. After the computing task is submitted, the scheduling service first checks whether there is unready underlying data, and if all the required data is ready, the computing task is placed in the RWQ, otherwise it is placed in the DWQ. At the same time, the scheduling service continuously monitors the task state in the double queues and the occupation state of the computing resources. When the computing resources are idle, the computing task with the highest priority in the RWQ is allocated to the computing resources; when the task in the DWQ is executed, the task is transferred from the DWQ to the RWQ.

[0085] Specifically, in step 3, the computing task double waiting queue is used to prioritize the submitted computing tasks, and the computing task with higher priority obtains the computing resources first.

[0086] Updating the state of the computing task double waiting queue includes updating the tasks and the waiting time of the computing data waiting queue and the computing resource waiting queue.

[0087] Specifically, updating the computing data waiting queue includes:

[0088] When all the required computing data of the computing task in the computing data waiting queue is ready, the task is removed from the computing data waiting queue;

[0089] When a new task with unready computing data is submitted, the computing task is added to the computing data waiting queue;

[0090] After a period of time Δt, the waiting time of all computing tasks in the computing data waiting queue is increased by Δt.

[0091] Specifically, updating the resource waiting queue includes:

[0092] When a new task without computing data dependency is submitted, the computing task is placed in the computing resource waiting queue;

[0093] When all the required computing data of the computing task in the computing data waiting queue is ready, the computing task is added to the computing resource waiting queue;

[0094] When there is idle computing resource, the computing task with the highest priority in the computing resource waiting queue is removed;

[0095] After a period of time Δt, the waiting time of all computing tasks in the computing resource waiting queue is increased by Δt.

[0096] Step 4, submit the calculation task to the relay protection setting calculation cloud platform, and the calculation resource scheduling service adds the calculation task to a waiting queue according to data dependency of the calculation task.

[0097] Specifically, in step 4, the calculation resource scheduling service judges the data dependency of the new calculation task, and the criterion is that if the data required by the new calculation task is all ready, the new task is placed in the calculation resource waiting queue, otherwise the new task is placed in the calculation data waiting queue.

[0098] Step 5, the calculation resource scheduling service performs calculation resource allocation and calculation according to the available situation of the calculation resource and the execution priority of the calculation task in the calculation resource waiting queue.

[0099] Specifically, in step 5, for the calculation task x placed in the calculation resource waiting queue, the calculation process includes:

[0100] Step 5.1.1, the calculation resource scheduling service acquires the priority of each calculation task in the calculation resource waiting queue and the state of the calculation resource;

[0101] Further, in step 5.1.1, in order to make the task with shorter job duration respond more quickly, the priority index is introduced, and the priority of each calculation task is determined by the following relationship:

[0102]

[0103] In the formula, k is the priority index of the calculation task, τ is the waiting duration of the calculation task, and E is the job duration expectation of the calculation task.

[0104] In the preferred embodiment of the application, for a simple calculation task, the job duration expectation E is small, and only a short waiting time is needed to obtain a high calculation resource allocation priority; for a complex calculation task, the job duration expectation E is large, and a long waiting time is needed to obtain a high allocation priority. Using k as the resource allocation priority index can make the response speed of various tasks more stable.

[0105] Step 5.1.2, when there is an idle calculation resource, the calculation resource is allocated to the calculation task with the highest priority in the calculation resource waiting queue, and the job is started; when there is no idle calculation resource, the calculation task in the calculation resource waiting queue needs to wait; the waiting duration of the calculation task x is recorded;

[0106] Step 5.1.3, execute the calculation task x, and record the job duration of the calculation task.

[0107] Specifically, in step 5, for the calculation task x placed in the calculation data waiting queue, the calculation process includes:

[0108] Step 5.2.1, the computing resource scheduling service acquires the completion status of all preceding computing tasks in the computing data waiting queue;

[0109] Step 5.2.2, when all preceding computing tasks have been completed, the computing task x is transferred from the computing data waiting queue to the computing resource waiting queue; when there are uncompleted preceding computing tasks, the waiting duration of the computing task x is recorded;

[0110] Step 5.2.3, after the computing task x enters the computing resource waiting queue, steps 5.1.1 to 5.1.3 are executed.

[0111] Step 6, after the execution of the computing task is completed, the job duration of the computing task is collected by the computing resource scheduling service.

[0112] Specifically, in step 6, the duration of the job of the computing task x is recorded when the computing task x is continuously executed; and after the execution of the computing task x is completed, the job duration and the waiting duration of the computing task are collected by the computing resource scheduling service.

[0113] A cloud platform computing resource scheduling system for relay protection setting, comprising: a scheduling control module, a waiting queue module, and a job duration expectation module;

[0114] The waiting queue module is configured to place computing tasks according to the queue scheduling result of the scheduling control module; the waiting queue module comprises a computing resource waiting queue and a computing data waiting queue;

[0115] The scheduling control module is configured to perform queue scheduling on various computing tasks according to the current state of the computing resource waiting queue and the computing data waiting queue, and control the priority of various computing tasks to allocate computing resources, thereby controlling the waiting duration of the computing tasks;

[0116] The scheduling control module comprises a queue state query unit and a computing resource query unit; the queue state query unit is configured to query the current state of the computing resource waiting queue and the computing data waiting queue; and the computing resource query unit is configured to query the current state of the computing resources;

[0117] The job duration expectation module is configured to determine the job duration expectation according to the job duration of various computing tasks, and determine the priority of the computing tasks according to the job duration expectation, and input the priority of the computing tasks into the scheduling control module.

[0118] The operation flow of a single computing task from submission to completion is shown in FIG. 1, which comprises: Figure 4

[0119] Step S1, a task x is submitted to the computing resource scheduling service.

[0120] ​Step S2, judging whether the task x has pre-task not completed, if yes, the task x enters DWQ waiting, executing step S3, otherwise, entering RWQ, executing step S4.

[0121] Step S3, the task x waits for its pre-task to complete, and records the waiting duration, until all pre-tasks of the task x are completed, the task x is transferred from DWQ to RWQ.

[0122] Step S4, the task x waits for the scheduling service to allocate computing resources for it, and records the waiting duration, when there is idle computing resource, and the RWQ has no higher priority task, the scheduling service allocates computing resources for the task x, and starts the job.

[0123] Step S5, the task x continues to execute and records the continuous duration, until the task is completed, the task execution duration is reported to the computing service.

[0124] Suppose that the computing tasks required to be called by the business application of the relay protection setting calculation can be summarized into 10 categories, a cloud platform computing resource scheduling method for relay protection setting is proposed, Figure 5 The running flowchart of the computing service in an embodiment of the present application is shown in FIG. 1, the duration consumption and data dependency required for the setting calculation are shown in Table 1.

[0125] Table 1 Duration consumption and data dependency

[0126] Type A B C D E F G H I J Minimum job duration 5 10 20 40 80 120 180 270 350 500 Maximum job duration 25 30 40 60 100 140 200 300 400 600 Preceding task No No B C No No No G G No

[0127] Let the cloud platform computing resource be 10 identical computing units, each unit can only execute one computing task at each moment. 10000 computing tasks are submitted in 3 minutes, and each type of task is evenly distributed. Using the first-come-first-served scheduling algorithm, the total response duration of each type of task from submission to return result is shown in Table 2.

[0128] Table 2 Total response duration of each type of task from submission to return result

[0129]

[0130] It can be seen that the task type A with the shortest job duration has an average response duration of 183ms, the longest response duration reaches 1086ms, and the response duration variance is 30930.

[0131] Under the same computing load, the total response duration of each type of task is shown in Table 3 when the computing resource scheduling method proposed in the present application is used.

[0132] Table 3 Total response duration of each type of task

[0133] Type A B C D E F G H I J Minimum response duration (ms) 5 10 30 70 80 120 180 450 530 500 Maximum response duration (ms) 214 192 180 269 358 512 730 1187 1367 1538 Mean response duration (ms) 36 45 69 120 149 208 289 597 697 720 Response duration variance 526 623 823 1575 3557 5803 11252 20996 32228 32847

[0134] It can be seen that the task response duration is positively correlated with the task job duration, the average response duration of the task type A is 36ms, the maximum response duration is 214ms, and the response duration variance is 526. The response durations of other task types B, C, D and the like are relatively shorter and more stable.

[0135] The beneficial effects of the present application are that, compared with the prior art:

[0136] 1. The cloud platform computing resource scheduling method proposed records the time consumption of different types of computing tasks, so that the task waiting duration is positively correlated with the job duration expectation value, thereby making the total response duration of the computing task from submission to completion more stable;

[0137] 2. The relay protection setting calculation system based on the cloud platform combines cloud computing technology and relay protection setting calculation technology, fully utilizes the super computing and elastic expansion technology of the cloud, designs the setting calculation system as a micro service and carries it on the cloud, and realizes dynamic and flexible subscription of services;

[0138] 3. On the basis of meeting the data dependency constraint, the waiting duration of different types of computing tasks is adjusted to improve the use experience of the relay protection setting calculation system;

[0139] 4. A double waiting queue cloud platform computing resource scheduling model is established to realize the orderly execution of computing tasks;

[0140] 5. The priority index of job duration is introduced to make the response speed of various tasks more stable;

[0141] 6. The job duration expectation is calculated based on the exponential weighted moving average method, and the results meet the changes of power grid model and parameters, as well as the changes of cloud platform load and configuration upgrade.

[0142] 7. The execution sequencing problem when there are a large number of computing tasks is fully considered, and through the application of the present application, the cloud computing resources can be fully utilized while the response speed of the relay protection setting calculation system is more stable.

[0143] 8. The present application focuses on solving the resource scheduling problem of a large number of computing tasks essential in the operation process of the relay protection setting calculation service or the micro services constituting the whole, and through the application of the present application, the system operation efficiency and user use can be further improved while the relay protection setting calculation function is decoupled.

[0144] 9. In the existing micro service and multi-user scene, the present application can reduce the uncertainty of system response duration through orderly resource scheduling, and improve user experience.

[0145] The applicant of the present application has made detailed description and illustration on the embodiments of the present application in combination with the drawings of the present application. However, those skilled in the art should understand that the above embodiments are only the preferred embodiments of the present application, and the detailed description is only for helping the readers to better understand the spirit of the present application, and is not intended to limit the protection scope of the present application. On the contrary, any improvement or modification based on the spirit of the present application should fall within the protection scope of the present application.

Claims

1. A cloud platform computing resource scheduling method for relay protection setting, characterized in that, The method includes: Step 1, System initialization; Step 2: Update the expected duration of the computation task and the status of computational resources; Step 3: Update the status of the dual waiting queues for computing tasks; wherein, the dual waiting queues for computing tasks include a computing resource waiting queue and a computing data waiting queue; updating the status of the dual waiting queues for computing tasks includes: adding or removing tasks from the computing data waiting queue and the computing resource waiting queue, and updating the task waiting time. Step 4: Submit the calculation task to the relay protection setting calculation cloud platform. The calculation resource scheduling service will add the task to the waiting queue according to its data dependencies. Step 5: The computing resource scheduling service allocates computing resources and executes the computation based on the availability of computing resources and the execution priority of computing tasks in the computing resource waiting queue. The priority of each computation task is determined by the following relationship: In the formula, k is the priority of the computation task, τ is the waiting time of the computation task, and E is the expected job duration of this type of computation task. Step 6: After the computing task is completed, the computing resource scheduling service collects the job duration of the computing task.

2. The cloud platform computing resource scheduling method for relay protection setting according to claim 1, characterized in that, In step 1, system initialization includes setting the initial value of the expected duration of the computation task.

3. The cloud platform computing resource scheduling method for relay protection setting according to claim 1, characterized in that, In step 2, based on the historical job durations of various computing tasks, an exponentially weighted moving average method is used to update the expected job duration En for that type of computing task using the following formula: E n =αE n-1 +(1-a)t n In the formula, t n Let E be the execution time of a certain type of computational task in its nth execution. n-1 Let E be the expected job duration after the (n-1)th execution of a certain type of computational task. n Let α be the expected duration of a certain type of computational task after the nth execution, where α is a weighting coefficient and α∈(0,1).

4. The cloud platform computing resource scheduling method for relay protection setting according to claim 1, characterized in that, In step 2, the computing resource status is the availability status of all computing units, including idle and busy; updating the computing resource status means updating the availability status of each computing unit. When there are no computing tasks in a computing unit or the computing tasks have been completed, the status of that computing unit is set to idle. When there is a computing task being executed in a computing unit, the status of that computing unit is set to busy.

5. A cloud platform computing resource scheduling method for relay protection setting according to claim 1, characterized in that, In step 3, a dual waiting queue for computation tasks is used to prioritize submitted computation tasks, with higher-priority tasks receiving computation resources first.

6. A cloud platform computing resource scheduling method for relay protection setting according to claim 5, characterized in that, The data update waiting queue includes: When all the computational data required by a computational task in the computational data waiting queue is ready, remove the task from the computational data waiting queue. When a new task with unready computation data is submitted, the computation task is added to the computation data waiting queue. After a period of time Δt, the waiting time of all computation tasks in the computation data waiting queue increases by Δt.

7. A cloud platform computing resource scheduling method for relay protection setting according to claim 5, characterized in that, The resource update waiting queue includes: When a new task that does not have any computational data dependencies is submitted, the computational task is placed in the computational resource waiting queue; When all the computational data required by a computational task in the computational data waiting queue is ready, add the computational task to the computational resource waiting queue. When there are available computing resources, remove the highest priority computing task from the computing resource waiting queue; After a period of time Δt, the waiting time of all computing tasks in the computing resource waiting queue increases by Δt.

8. A cloud platform computing resource scheduling method for relay protection setting according to claim 1, characterized in that, In step 4, the computing resource scheduling service determines the data dependencies of the new computing task. The criterion is: if the new computing task... If all the required data is ready, the new task is placed in the computing resource waiting queue; otherwise, the new task is placed in the computing data waiting queue.

9. A cloud platform computing resource scheduling method for relay protection setting according to claim 8, characterized in that, In step 5, for computation task x placed in the computation resource waiting queue, the computation process includes: Step 5.1.1: The computing resource scheduling service obtains the priority of each computing task in the computing resource waiting queue and the status of the computing resources; Step 5.1.2: When there are available computing resources, allocate computing resources to the highest priority computing task in the computing resource waiting queue and start the job; when there are no available computing resources, the computing tasks in the computing resource waiting queue need to wait; record the waiting time of computing task x. Step 5.1.3: Execute calculation task x and record the calculation task duration.

10. A cloud platform computing resource scheduling method for relay protection setting according to claim 8, characterized in that, In step 5, for computation task x placed in the computation data waiting queue, the computation process includes: Step 5.2.1: The computing resource scheduling service obtains the completion status of all preceding computing tasks in the computing data waiting queue; Step 5.2.2: When all prerequisite computation tasks have been completed, transfer computation task x from the computation data waiting queue to the computation resource waiting queue; if there are unfinished prerequisite computation tasks, record the waiting time of computation task x. Step 5.2.3: After computation task x enters the computation resource waiting queue, execute steps 5.1.1 to 5.1.

3.

11. A cloud platform computing resource scheduling method for relay protection setting according to claim 9 or 10, characterized in that, Step 6 also includes recording the continuous job duration while the computing task x is continuously executing; and collecting the job duration and waiting time of the computing task by the computing resource scheduling service after the computing task x is completed.

12. A cloud platform computing resource scheduling system for relay protection setting, implemented using the cloud platform computing resource scheduling method for relay protection setting as described in any one of claims 1 to 11, characterized in that, The system includes: a scheduling control module, a waiting queue module, and a job duration expectation module; The waiting queue module is used to place computing tasks according to the queue scheduling results of the scheduling control module; the waiting queue module includes a computing resource waiting queue and a computing data waiting queue. The scheduling control module is used to schedule various computing tasks according to the current status of the computing resource waiting queue and the computing data waiting queue, and to control the waiting time of the computing task by controlling the priority of various computing tasks in order to allocate computing resources. The scheduling control module includes a built-in queue status query unit and a computing resource query unit. The queue status query unit is used to query the current status of the computing resource waiting queue and the computing data waiting queue. The computing resource query unit is used to query the current status of the computing resources. The job duration expectation module is used to determine the job duration expectation based on the job duration of various computing tasks, and to determine the priority of computing tasks based on the job duration expectation, and input the priority of computing tasks into the scheduling control module.

Citation Information

Patent Citations

  • Relay protection setting calculation method and device based on micro-service architecture

    CN110633085A

  • Setting calculation cloud data management method and setting calculation system suitable for multiple tenants

    CN111522869A

  • Computing resource dynamic scheduling method and device based on cloud platform

    CN112163734A

  • Relay protection setting value setting calculation architecture and method based on cloud computing technology

    CN107391256A

  • Task scheduling method, apparatus and system

    CN107766144A