Numerical model operation method and device, storage medium and electronic equipment

By dividing the simulation tasks of the numerical model into multiple simulation periods and allocating them according to the computing resource requirements of each period, the problem of low operation efficiency of the numerical model is solved, and more efficient resource utilization and simulation speed are achieved.

CN120371530AInactive Publication Date: 2025-07-253CLEAR SCI & TECH CO LTD +1

Patent Information

Application Number
CN202510838399.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-23
Publication Date
2025-07-25
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

In the prior art, the operation of numerical models is limited by the number of pre-designed resources, resulting in low operating efficiency.

Method used

The simulation task in the target time range is divided into multiple simulation periods, and the kth simulation period is simulated by the number of allocated computing resources under the kth simulation subtask, and the computing resources are flexibly utilized.

Benefits of technology

It improves the operating efficiency of numerical models, achieves more full utilization of computing resources, and reduces simulation time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120371530A_ABST
    Figure CN120371530A_ABST
Patent Text Reader

Abstract

The invention provides a numerical model operation method and device, a storage medium and electronic equipment, and the method comprises the steps: determining a simulation result under a (k-1) th simulation subtask based on numerical model operation data; determining initial field data under the kth simulation sub-task based on the simulation result under the (k-1) th simulation sub-task; simulating the kth simulation time period according to the quantity of the allocated computing resources under the kth simulation sub-task and the initial field data to obtain a simulation result under the kth simulation sub-task; adding 1 to k, and iteratively executing and determining the quantity of allocated computing resources under the kth simulation sub-task to complete simulation of the kth simulation time period until the end moment of the kth simulation time period is the end moment of the target time range, so as to determine a target simulation result based on the simulation result under each simulation sub-task in the plurality of simulation sub-tasks. The embodiment of the invention can improve the operation efficiency of the numerical model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of numerical simulation, and particularly to a method, device, storage medium and electronic device for running a numerical model. Background Art

[0002] Currently, during the operation of a numerical model (such as a meteorological numerical model, an air quality numerical model, etc.), it is necessary to complete the simulation within a predetermined time range (that is, to complete the simulation from the start time (which can also be called the starting moment) to the end time within a predetermined time period); in this regard, the related art usually uses a preset number of computing resources to complete the operation of the numerical model, resulting in the operation process of the numerical model being restricted by the preset number of computing resources, thereby making the operation efficiency of the numerical model relatively low. Based on this, there is currently no good solution to how to improve the operation efficiency of the numerical model. Summary of the Invention

[0003] In view of this, embodiments of the present invention provide a method, device, storage medium and electronic device for running a numerical model to solve problems such as the relatively low operation efficiency of the numerical model caused by the related art. That is to say, the embodiments of the present invention can divide the simulation task within the target time range into simulation subtasks for multiple simulation time periods, and simulate the k-th simulation time period through the allocated number of computing resources under the k-th simulation subtask, so as to achieve the effect of more flexible and more sufficient utilization of the current computing resources at different time periods to improve the operation efficiency, and effectively improve the operation efficiency of the numerical model.

[0004] According to one aspect of the present invention, there is provided a method for running a numerical model, the method comprising: Obtaining the numerical model operation data within the target time range, and determining the simulation result under the (k - 1)-th simulation subtask based on the numerical model operation data, where k is an integer greater than 1; Determining the allocated number of computing resources under the k-th simulation subtask, and determining the initial field data under the k-th simulation subtask based on the simulation result under the (k - 1)-th simulation subtask; Determining the k-th simulation time period from within the target time range, and simulating the k-th simulation time period according to the allocated number of computing resources and the initial field data under the k-th simulation subtask to obtain the simulation result under the k-th simulation subtask; Increasing k by 1, and iteratively executing the determination of the allocated number of computing resources under the k-th simulation subtask to complete the simulation of the k-th simulation time period until the end moment of the k-th simulation time period is the end moment of the target time range, so as to determine the target simulation result based on the simulation results under each simulation subtask among multiple simulation subtasks.

[0005] According to another aspect of the present invention, there is provided a numerical model running device, the device comprising: an acquisition unit, configured to acquire numerical model running data within a target time range; a processing unit, configured to determine a simulation result under the (k - 1)-th simulation subtask based on the numerical model running data, where k is an integer greater than 1; the processing unit is further configured to determine the number of allocated computing resources under the k-th simulation subtask, and determine the initial field data under the k-th simulation subtask based on the simulation result under the (k - 1)-th simulation subtask; the processing unit is further configured to determine the k-th simulation period from within the target time range, and perform a simulation on the k-th simulation period according to the number of allocated computing resources and the initial field data under the k-th simulation subtask, to obtain a simulation result under the k-th simulation subtask; the processing unit is further configured to increment k by 1, and iteratively execute the determination of the number of allocated computing resources under the k-th simulation subtask to complete the simulation of the k-th simulation period until the end time of the k-th simulation period is the end time of the target time range, so as to determine a target simulation result based on the simulation results under each simulation subtask among multiple simulation subtasks.

[0006] According to another aspect of the present invention, there is provided an electronic device, the electronic device comprising a processor and a memory storing a program, wherein the program includes instructions that, when executed by the processor, cause the processor to execute the method mentioned above.

[0007] According to another aspect of the present invention, there is provided a non-transitory computer-readable storage medium storing computer instructions, the computer instructions being used to cause a computer to execute the method mentioned above.

[0008] In an embodiment of the present invention, operation data of a numerical model within a target time range can be obtained, and based on the operation data of the numerical model, a simulation result under the (k - 1)-th simulation subtask can be determined, where k is an integer greater than 1. Then, the number of allocated computing resources under the k-th simulation subtask can be determined, and based on the simulation result under the (k - 1)-th simulation subtask, the initial field data under the k-th simulation subtask can be determined. Based on this, the k-th simulation period can be determined from the target time range, and the k-th simulation period can be simulated according to the number of allocated computing resources and the initial field data under the k-th simulation subtask to obtain the simulation result under the k-th simulation subtask. Further, k can be incremented by 1, and the process of determining the number of allocated computing resources under the k-th simulation subtask can be iteratively executed to complete the simulation of the k-th simulation period until the end time of the k-th simulation period is the end time of the target time range, so as to determine the target simulation result based on the simulation results under each simulation subtask among multiple simulation subtasks. It can be seen that the embodiment of the present invention can divide the simulation task of the target time range into simulation subtasks of multiple simulation periods, and simulate the k-th simulation period by the number of allocated computing resources under the k-th simulation subtask, so as to achieve the effect of more flexible and more sufficient utilization of the current computing resources at different time periods to improve the operation efficiency, thereby effectively improving the operation efficiency of the numerical model. Description of the Drawings

[0009] In the following description of exemplary embodiments with reference to the accompanying drawings, more details, features, and advantages of the present invention are disclosed. In the drawings: Figure 1 A flowchart showing a method for operating a numerical model according to an exemplary embodiment of the present invention is shown; Figure 2 A flowchart showing another method for operating a numerical model according to an exemplary embodiment of the present invention is shown; Figure 3 A flowchart showing yet another method for operating a numerical model according to an exemplary embodiment of the present invention is shown; Figure 4 A schematic block diagram showing a device for operating a numerical model according to an exemplary embodiment of the present invention is shown; Figure 5 A block diagram showing the structure of an exemplary electronic device capable of implementing the embodiments of the present invention is shown. Detailed Embodiments

[0010] Embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Instead, these embodiments are provided to more thoroughly and completely understand the present invention. It should be understood that the drawings and embodiments of the present invention are only for illustrative purposes and are not used to limit the protection scope of the present invention.

[0011] It should be understood that the various steps recited in the method embodiments of the present invention can be executed in a different order and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present invention is not limited in this regard.

[0012] The term "comprising" and its variations used herein are open-ended, that is, "including but not limited to". The term "based on" is "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description. It should be noted that the concepts such as "first", "second", etc. mentioned in the present invention are only used to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependent relationships.

[0013] It should be noted that the modifications of "one" and "a plurality" mentioned in the present invention are illustrative rather than restrictive. Those skilled in the art should understand that, unless otherwise clearly specified in the context, it should be understood as "one or more".

[0014] The names of the messages or information exchanged between multiple devices in the embodiments of the present invention are only for illustrative purposes and are not used to limit the scope of these messages or information.

[0015] It should be noted that the execution subject of the numerical model operation method provided by the embodiments of the present invention can be one or more electronic devices, and the present invention does not limit this; among them, the electronic device can be a terminal (i.e., a client) or a server. Then, when the execution subject includes multiple electronic devices, and at least one terminal and at least one server are included in the multiple electronic devices, the numerical model operation method provided by the embodiments of the present invention can be jointly executed by the terminal and the server. Correspondingly, the terminal mentioned here can include, but is not limited to: smart phones, tablet computers, laptop computers, desktop computers, smart watches, intelligent voice interaction devices, smart home appliances, vehicle-mounted terminals, aircraft, and so on. The server mentioned here can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms, and so on.

[0016] Based on the above description, the embodiments of the present invention propose a numerical model operation method, which can be executed by the above-mentioned electronic devices (terminals or servers); or, this numerical model operation method can be jointly executed by the terminal and the server. For the convenience of description, in the following, it is taken as an example that the electronic device executes this numerical model operation method; as Figure 1 shown, this numerical model operation method may include the following steps S101-S104: S101, obtain the numerical model operation data within the target time range, and determine the simulation result under the (k-1)-th simulation subtask based on the numerical model operation data, where k is an integer greater than 1.

[0017] Optionally, the target time range can be any time range, and the embodiments of the present invention do not limit this. Optionally, the embodiments of the present invention can call the target numerical model and perform numerical simulation (which can be simply referred to as simulation, such as meteorological simulation or air quality simulation, etc.) on the target time range based on the numerical model operation data, so as to obtain the target simulation result within the target time range; specifically, the embodiments of the present invention can divide the target time range into multiple simulation time periods, and then call the target numerical model to perform simulations on the multiple simulation time periods within the target time range in sequence based on the numerical model operation data, so as to realize the simulation of the target time range and obtain the target simulation result, that is, the simulation support of the target time range is divided into simulations of multiple simulation sub-tasks for multiple simulation time periods. One simulation sub-task can be used to complete the simulation of one simulation time period, and so on. Optionally, the target numerical model can be any meteorological model (such as the WRF (Weather Research Forecast) model (a mesoscale weather forecasting model), etc.), or any air quality model (such as the NAQPMS (Nested Air Quality Prediction Modeling System), CMAQ (an air quality forecasting and assessment system), CAMx (an air pollutant calculation model based on atmospheric chemistry for ozone, particulate matter, etc.), WRFChem (an online coupled atmospheric chemistry model), etc.); the embodiments of the present invention do not limit this. Optionally, simulating a time range can refer to simulating the target simulation object within the corresponding time range, that is, one simulation result can be the corresponding simulation result of the target simulation object; optionally, the target simulation object can be any meteorological factor or any pollutant, etc., and the embodiments of the present invention do not limit this. Optionally, the number of target numerical models can be one or more, and the number of target simulation objects can be one or more, and the embodiments of the present invention do not limit this. For the convenience of description, hereinafter, calling the target numerical model to perform simulation on any time period will be briefly described as performing simulation on any time period, and simulating the target simulation object within any time period will be briefly described as performing simulation on any time period. That is to say, calling the target numerical model to simulate the target simulation object within any time period can be briefly described as performing simulation on any time period, that is, the description of the target numerical model and the target simulation object can be omitted hereinafter, and so on.

[0018] Optionally, the numerical model operation data may include, but is not limited to, the initial field data (also referred to as the initial field file) at the start time of the target time range and the boundary field data (also referred to as the boundary field file) within the target time range, and so on; the embodiments of the present invention do not limit this. Optionally, the initial field data may include, but is not limited to, at least one of the following: the initial meteorological data and the initial pollutant concentration of each grid in the target area (when the target simulation object is a certain pollutant, the initial pollutant concentration may be the initial pollutant concentration of the target simulation object), that is, the initial field data may include, but is not limited to, at least one of the following: the initial meteorological field data (which may include the initial meteorological data of each grid) and the initial pollutant concentration data (which may include the initial pollutant concentration of each grid) of the target area, and so on, the embodiments of the present invention do not limit this; Optionally, the boundary field data may include, but is not limited to, at least one of the following: the meteorological boundary field data and the pollutant concentration boundary field data of the target area, and so on, the embodiments of the present invention do not limit this. Optionally, the target area may be any area, and the embodiments of the present invention do not limit this.

[0019] In the embodiments of the present invention, the acquisition methods of the numerical model operation data may include, but are not limited to, the following several types: The first acquisition method: The numerical model operation data is stored in the own storage space of the electronic device. In this case, the numerical model operation data can be acquired from the own storage space.

[0020] The second acquisition method: The electronic device can obtain the download link of the numerical model operation data and download the numerical model operation data based on the download link of the numerical model operation data to achieve the acquisition of the numerical model operation data, and so on.

[0021] Optionally, when determining the simulation result under the (k-1)-th simulation subtask based on the numerical model operation data, the electronic device can determine the initial field data under the 1st simulation subtask from the numerical model operation data. For example, the initial field data at the start time of the target time range can be used as the initial field data under the 1st simulation subtask. Then, based on the allocated computing resource quantity and the initial field data under the 1st simulation subtask, the 1st simulation period can be simulated to obtain the simulation result under the 1st simulation subtask. Then, based on the simulation result under the 1st simulation subtask, the 2nd simulation period can be simulated until the simulation result under the (k-1)-th simulation subtask is determined, and so on. Based on this, one simulation subtask can simulate one simulation period (i.e., the k-th simulation subtask can simulate the k-th simulation period). That is to say, the electronic device can start a simulation subtask to run, so as to complete the simulation of the corresponding simulation period of the corresponding simulation subtask. Optionally, the initial field data under one simulation subtask can also be referred to as the initial field at the start time of the corresponding simulation period of the corresponding simulation subtask, and the simulation result under one simulation subtask can also be referred to as the simulation result within one simulation period (i.e., the simulation result within the corresponding simulation period of the corresponding simulation subtask).

[0022] S102. Determine the allocated computing resource quantity under the k-th simulation subtask, and determine the initial field data under the k-th simulation subtask based on the simulation result under the (k-1)-th simulation subtask.

[0023] Optionally, the simulation result under one simulation subtask may include the simulation field data at each simulation time in the corresponding simulation period of the corresponding simulation subtask. Exemplarily, a simulation time (which can also be referred to as a simulation moment) can be determined at every preset interval duration (such as 30 seconds or 2 minutes, etc.) to simulate each simulation time in a simulation period, so as to realize the simulation of the corresponding simulation period. Optionally, the preset interval duration can be set according to experience or according to actual requirements, and the embodiments of the present invention do not limit this.

[0024] Based on this, when determining the initial field data for the k-th simulation subtask based on the simulation results of the (k - 1)-th simulation subtask, the electronic device can determine the simulation field data at the last simulation time from the simulation results of the (k - 1)-th simulation subtask; and add the determined simulation field data to the initial field data for the k-th simulation subtask (such as using the determined simulation field data as the initial field data for the k-th simulation subtask), so as to realize determining the initial field data for the k-th simulation subtask based on the simulation results of the (k - 1)-th simulation subtask. The initial field data for the k-th simulation subtask can be the initial field data at the start time of the k-th simulation period. Based on this, the initial field data for the k-th simulation subtask can include the determined simulation field data. Optionally, when the target simulation object is any pollutant and a simulation field data only includes pollutant concentration data, the initial field data for the k-th simulation subtask can also include the initial meteorological field data at the start time of the k-th simulation period (which can include the initial meteorological data of each grid in the target area at the start time of the k-th simulation period). For example, the initial meteorological field data at the start time of the k-th simulation period can be determined from the meteorological data within the target time range and added to the initial field data for the k-th simulation subtask, etc.; the embodiments of the present invention do not limit this. Exemplarily, when the initial field data for the k-th simulation subtask only includes the corresponding simulation field data (such as the simulation field data includes pollutant concentration data and meteorological data, or the initial field data only needs to include the initial meteorological field data, etc.), the determined simulation field data can be used as the initial field data for the k-th simulation subtask (to realize adding the determined simulation field data to the initial field data for the k-th simulation subtask), that is, the simulation field data at the last simulation time in the simulation results of the (k - 1)-th simulation subtask can be used as the initial field data for the k-th simulation subtask. That is to say, the last simulation field data in the simulation results of the (k - 1)-th simulation subtask can be used as the initial field data for the k-th simulation subtask, etc.

[0025] S103. Determine the k-th simulation period from the target time range, and simulate the k-th simulation period according to the allocated computing resource quantity and the initial field data for the k-th simulation subtask to obtain the simulation results for the k-th simulation subtask.

[0026] In an embodiment of the present invention, the electronic device may run the k-th simulation subtask according to the allocated computing resource quantity and the initial field data under the k-th simulation subtask, so as to complete the simulation of the k-th simulation period. Optionally, the electronic device may call a target numerical model to simulate the k-th simulation period according to the allocated computing resource quantity and the initial field data under the k-th simulation subtask, that is, to simulate the target simulation object within the k-th simulation period, so as to obtain the simulation result under the k-th simulation subtask (i.e., the simulation result of the target simulation object), and so on.

[0027] S104, increment k by 1, and iteratively execute to determine the allocated computing resource quantity under the k-th simulation subtask to complete the simulation of the k-th simulation period until the end time of the k-th simulation period is the end time of the target time range, so as to determine the target simulation result based on the simulation results of each simulation subtask among multiple simulation subtasks.

[0028] Based on this, after obtaining the simulation result under the k-th simulation subtask (which may also be referred to as the simulation result within the k-th simulation period), when the end time of the k-th simulation period is not the end time of the target time range, the electronic device may set k = k + 1, thereby realizing incrementing k by 1; in other words, after the electronic device completes the simulation of the current simulation period, if the end time of the current simulation period (i.e., the k-th simulation period) is not the end time of the target time range, it may continue to simulate the next simulation period, so as to complete the simulation of the next simulation period, that is, the next simulation period may be used as the current simulation period, and then continue to complete the simulation of the current simulation period until the end time of the current simulation period is the end time of the target time range, that is, until the target time range is completely simulated.

[0029] Among them, the target simulation result may refer to the simulation result within the target time range, that is, the electronic device may determine the target simulation result within the target time range based on the simulation results of each simulation subtask among multiple simulation subtasks, that is to say, the target simulation result may be determined based on the simulation results of each simulation period among multiple simulation periods.

[0030] In an embodiment of the present invention, the multiple simulation subtasks may include: k simulation subtasks from the 1st to the kth simulation subtasks after the simulation of the target time range is completed; correspondingly, the multiple simulation time periods may include: k simulation time periods from the 1st to the kth simulation time periods after the simulation of the target time range is completed. Among them, the multiple simulation subtasks run serially in chronological order and have a dependency relationship before and after. That is to say, the 1st simulation subtask, the 2nd simulation subtask, ……, and the kth simulation subtask can be run in sequence, so as to complete the simulation of the 1st simulation time period, the 2nd simulation time period, ……, and the kth simulation time period, etc.; in other words, the embodiment of the present invention can divide the simulation task of the entire time period (i.e., the target time range) into simulation subtasks of multiple small time periods (i.e., multiple simulation time periods), and the simulation time periods of adjacent simulation subtasks are connected end to end to form the time period of the entire simulation task. Optionally, completing the simulation of a simulation time period can also be expressed as completing the simulation subtask of the corresponding simulation time period, that is, the simulation subtask of a simulation time period is used to complete the simulation of the corresponding simulation time period.

[0031] Based on this, when determining the target simulation result based on the simulation results under each of the multiple simulation subtasks, the electronic device can splice the simulation results under each of the multiple simulation subtasks to obtain the target simulation result, and the target simulation result includes the simulation results under each simulation subtask. In other words, after the simulation subtask of the last simulation time period in the target time range (i.e., the simulation time period whose end time is the end time of the target time range) is completed, the electronic device can splice the simulation results under each simulation subtask, so as to obtain the simulation result of the entire time period, that is, the target simulation result within the target time range can be obtained; based on this, the embodiment of the present invention can quickly obtain the target simulation result, that is, effectively reduce the time consumed for simulating the entire time period (i.e., the target time range).

[0032] An embodiment of the present invention can obtain the numerical model operation data within a target time range, and determine the simulation result under the (k - 1)-th simulation subtask based on the numerical model operation data, where k is an integer greater than 1; then, it can determine the number of allocated computing resources under the k-th simulation subtask, and determine the initial field data under the k-th simulation subtask based on the simulation result under the (k - 1)-th simulation subtask. Based on this, it can determine the k-th simulation period from within the target time range, and simulate the k-th simulation period according to the number of allocated computing resources and the initial field data under the k-th simulation subtask to obtain the simulation result under the k-th simulation subtask. Further, k can be incremented by 1, and the determination of the number of allocated computing resources under the k-th simulation subtask can be iteratively executed to complete the simulation of the k-th simulation period until the end time of the k-th simulation period is the end time of the target time range, so as to determine the target simulation result based on the simulation results under each simulation subtask among multiple simulation subtasks. It can be seen that the embodiment of the present invention can divide the simulation task of the target time range into simulation subtasks of multiple simulation periods, and simulate the k-th simulation period by the number of allocated computing resources under the k-th simulation subtask, so as to achieve the effect of more flexible and more sufficient utilization of the current computing resources in different time periods to improve the operation efficiency, and effectively improve the numerical model operation efficiency.

[0033] Based on the above description, an embodiment of the present invention further proposes a more specific numerical model operation method. Correspondingly, this numerical model operation method can be executed by the above-mentioned electronic device (terminal or server); alternatively, this numerical model operation method can be jointly executed by the terminal and the server. For the sake of elaboration, hereinafter, it will be described by taking the electronic device executing this numerical model operation method as an example; please refer to Figure 2 , this numerical model operation method may include the following steps S201 - S205: S201, obtain the numerical model operation data within a target time range, and determine the simulation result under the (k - 1)-th simulation subtask based on the numerical model operation data, where k is an integer greater than 1.

[0034] In an embodiment of the present invention, the start time of the target time range can be the start time of the simulation, and the end time of the target time range can be the end time of the simulation, so as to determine the start time and end time of the simulation as a full simulation cycle. That is to say, the target time range can be a full simulation cycle.

[0035] S202, determine the current idle computing resource quantity under the k-th simulation subtask, and determine the upper limit quantity of computing resources.

[0036] Optionally, when determining the current number of idle computing resources under the k-th simulation subtask, the electronic device can query the current number of idle computing resources in the high-performance computing cluster through the job scheduling system, and use the queried current number of idle computing resources as the current number of idle computing resources under the k-th simulation subtask, so as to determine the current number of idle computing resources under the k-th simulation subtask; in this case, the electronic device can query the current number of idle computing resources through the job scheduling system before starting each simulation subtask, so as to respectively determine the current number of idle computing resources under the upcoming running simulation subtask. Based on this, the current number of idle computing resources under each simulation subtask can be obtained by real-time query when determining the current number of idle computing resources under the corresponding simulation subtask.

[0037] Optionally, the upper limit number of computing resources can be set according to experience or according to actual requirements, and the embodiments of the present invention do not limit this.

[0038] S203. Based on the current number of idle computing resources and the upper limit number of computing resources under the k-th simulation subtask, determine the allocated computing resources under the k-th simulation subtask, and determine the initial field data under the k-th simulation subtask based on the simulation result under the (k - 1)-th simulation subtask.

[0039] Optionally, when determining the allocated computing resources under the k-th simulation subtask based on the current number of idle computing resources and the upper limit number of computing resources under the k-th simulation subtask, if the current number of idle computing resources under the k-th simulation subtask is less than the upper limit number of computing resources, the electronic device can use the current number of idle computing resources under the k-th simulation subtask as the allocated computing resources under the k-th simulation subtask; if the current number of idle computing resources under the k-th simulation subtask is greater than or equal to the upper limit number of computing resources, the upper limit number of computing resources can be used as the allocated computing resources under the k-th simulation subtask. It should be understood that the determination method of the allocated computing resources under the first simulation subtask is the same as that of the allocated computing resources under the k-th simulation subtask, and the embodiments of the present invention will not elaborate on the determination method of the allocated computing resources under the first simulation subtask.

[0040] Exemplarily, assume that the current number of idle computing resources under the k-th simulation subtask is N, and the upper limit number of computing resources is M. If N is less than M, then N computing nodes are allocated to the k-th simulation subtask; if N is greater than or equal to M, then M computing nodes are allocated to the k-th simulation subtask. Based on this, the embodiments of the present invention can maximize the utilization of the current idle computing resources through the upper limit number of computing resources, without occupying too many computing resources to effectively avoid resource waste. That is to say, the embodiments of the present invention can maximize the utilization of the current idle computing resources while avoiding resource waste, thereby effectively improving the operation efficiency.

[0041] Optionally, the electronic device can also determine the lower limit number of computing resources. If the current number of idle computing resources under the k-th simulation subtask is less than the lower limit number of computing resources, then the current number of idle computing resources under the k-th simulation subtask can be re-determined every preset waiting duration, that is, wait for the preset waiting duration to re-query the current idle computing resources, and use the currently queried current idle computing resources as the current number of idle computing resources under the k-th simulation subtask until the current number of idle computing resources under the k-th simulation subtask is greater than or equal to the lower limit number of computing resources, and then trigger the execution of determining the allocated computing resource quantity under the k-th simulation subtask based on the current number of idle computing resources and the upper limit number of computing resources under the k-th simulation subtask. Optionally, the lower limit number of computing resources can be set according to experience or according to actual requirements, and the embodiments of the present invention do not limit this.

[0042] S204, determine the k-th simulation period from the target time range, and simulate the k-th simulation period according to the allocated computing resource quantity and the initial field data under the k-th simulation subtask to obtain the simulation result under the k-th simulation subtask.

[0043] In one embodiment, the electronic device may divide the target time range (i.e., the full simulation period) into multiple simulation periods; optionally, the electronic device may divide the target time range into multiple simulation periods according to a preset period duration, and at this time, the duration of one simulation period may be the preset period duration. Optionally, the preset period duration may be set according to experience or according to actual requirements, and the embodiments of the present invention do not limit this. Exemplarily, assume that the target time range T is from 00:00 on January 1, 2025 to 23:00 on January 15, 2025 (15 days), and assume that the preset period duration is 1 day. Then, at this time, the target time range can be divided into 15 simulation periods with a length (i.e., duration) of 1 day, and the multiple simulation periods can be respectively simulation period T1: from 00:00 on January 1, 2025 to 23:00 on January 1, 2025, simulation period T2: from 00:00 on January 2, 2025 to 23:00 on January 2, 2025, simulation period T3: from 00:00 on January 3, 2025 to 23:00 on January 3, 2025,..., and simulation period T15: from 00:00 on January 15, 2025 to 23:00 on January 15, 2025.

[0044] Optionally, when determining the kth simulation period from the target time range, the electronic device may determine the kth simulation period from multiple simulation periods and use the kth simulation period as the kth simulation period. At this time, one simulation period can be used as one simulation period respectively, and each simulation period is connected in series in chronological order to form the target time range (i.e., form the entire time period), so as to complete the simulation of each simulation period through each simulation subtask in turn, as Figure 3 shown. In this case, the first simulation period can be the first simulation period, that is, when determining the first simulation period, the first simulation period can be used as the first simulation period. Based on this, the current idle nodes corresponding to each simulation period can be queried respectively (to obtain the current number of idle computing resources, which can also be called the current number of idle nodes), and the initial field of the T2 period (i.e., the initial field data) can be generated by simulating the T1 period in turn, the initial field of the T3 period can be generated by simulating the T2 period,..., until the T15 period is simulated, so as to obtain the simulation results of 15 simulation periods and integrate them to obtain the target simulation result (i.e., the simulation result of the full period T).

[0045] Alternatively, the electronic device may determine the earliest to-be-completed simulation cycle from multiple simulation cycles, and determine the k-th simulation period from the determined to-be-completed simulation cycles based on the allocated computing resource quantity under the k-th simulation subtask. A to-be-completed simulation cycle is a simulation cycle for which simulation has not been completed, and so on. Among them, the earliest to-be-completed simulation cycle among multiple simulation cycles may refer to the to-be-completed simulation cycle with the earliest time among all to-be-completed simulation cycles included in the multiple simulation cycles; Exemplarily, assume that the multiple simulation cycles include the above-mentioned simulation cycle T1, simulation cycle T2, simulation cycle T3, ……, and simulation cycle T15, and both simulation cycle T1 and simulation cycle T2 have been completed (i.e., both are completed simulation cycles. A completed simulation cycle may refer to a simulation cycle for which simulation has been completed. That is, after obtaining the simulation field data at each simulation time in a simulation cycle, the corresponding simulation cycle may be regarded as a completed simulation cycle), and the remaining simulation cycles are all to-be-completed simulation cycles. Then, the earliest to-be-completed simulation cycle at this time may be simulation cycle T3. Correspondingly, the earliest to-be-completed simulation cycle is earlier than any to-be-completed simulation cycle other than the earliest to-be-completed simulation cycle among all to-be-completed simulation cycles included in the multiple simulation cycles. That is to say, in chronological order, the first to-be-completed simulation cycle among all to-be-completed simulation cycles may be used as the earliest to-be-completed simulation cycle. That is, the earliest to-be-completed simulation cycle may be the first to-be-completed simulation cycle among all to-be-completed simulation cycles.

[0046] Optionally, when determining the k-th simulation period from the determined simulation periods to be completed based on the number of allocated computing resources for the k-th simulation subtask, if the number of allocated computing resources for the k-th simulation subtask is greater than or equal to the preset expected computing resources, the electronic device can determine the first simulation period from the determined simulation periods to be completed and use the first simulation period as the k-th simulation period. The first simulation period is a simulation period whose start time is the end time of the (k - 1)-th simulation period and whose end time is the end time of the determined simulation periods to be completed. That is, the start time of the first simulation period can be the end time of the (k - 1)-th simulation period, and the end time of the first simulation period can be the end time of the determined simulation periods to be completed. If the number of allocated computing resources for the k-th simulation subtask is less than the preset expected computing resources, the second simulation period can be determined from the determined simulation periods to be completed and the second simulation period can be used as the k-th simulation period. The second simulation period is a simulation period whose start time is the end time of the (k - 1)-th simulation period and whose end time is separated from the end time of the (k - 1)-th simulation period by a preset simulation duration. That is, the start time of the second simulation period can be the end time of the (k - 1)-th simulation period, and the end time of the second simulation period can be a time separated from the end time of the (k - 1)-th simulation period by a preset simulation duration. That is to say, the duration of the second simulation period can be the preset simulation duration, and the time interval between the end time and the start time of the second simulation period is the preset simulation duration. Optionally, both the preset expected computing resources and the preset simulation duration can be set according to experience or according to actual requirements, and the embodiments of the present invention do not limit this. In this case, the start time of the first simulation period can be the start time of the target time range. And, if the number of allocated computing resources for the first simulation subtask is greater than or equal to the preset expected computing resources, the end time of the first simulation period can be the end time of the determined simulation periods to be completed (in this case, the determined simulation periods to be completed are the first simulation period), that is, at this time the first simulation period can be the first simulation period, or if the number of allocated computing resources for the first simulation subtask is less than the preset expected computing resources, the end time of the first simulation period can be a time separated from the start time of the target time range by a preset simulation duration, that is, at this time the first simulation period can be a simulation period whose start time is the start time of the target time range and whose end time is separated from the start time of the target time range by a preset simulation duration, and so on.Optionally, if the duration between the end time of the (k-1)th simulation period and the end time of the determined simulation period to be completed is less than or equal to the preset simulation duration, the period between the end time of the (k-1)th simulation period and the end time of the determined simulation period to be completed can be directly used as the kth simulation period. That is, in this case, the first simulation period can also be used as the kth simulation period, and so on.

[0047] In another implementation, the electronic device can determine a preset cycle duration and a preset simulation duration, where the preset cycle duration is greater than the preset simulation duration. Based on this, when the number of allocated computing resources under the kth simulation subtask is greater than or equal to the preset expected computing resource number, a third simulation period can be determined from the target time range based on the preset cycle duration, and the third simulation period is used as the kth simulation period, and the duration of the third simulation period is the preset cycle duration. Among them, when the un-simulated duration in the target time range is greater than the preset cycle duration (that is, the duration between the end time of the (k-1)th simulation period and the end time of the target time range is greater than the preset cycle duration), the third simulation period can be a simulation period with a start time being the end time of the (k-1)th simulation period and an end time separated from the end time of the (k-1)th simulation period by the preset cycle duration. When the un-simulated duration in the target time range is less than or equal to the preset cycle duration, the third simulation period can be a simulation period with a start time being the end time of the (k-1)th simulation period and an end time being the end time of the target time range.

[0048] Correspondingly, when the number of allocated computing resources under the kth simulation subtask is less than the preset expected computing resource number, a fourth simulation period can be determined from the target time range based on the preset simulation duration, and the fourth simulation period is used as the kth simulation period, and the duration of the fourth simulation period is the preset simulation duration. Among them, when the un-simulated duration in the target time range is greater than the preset simulation duration, the fourth simulation period can be a simulation period with a start time being the end time of the (k-1)th simulation period and an end time separated from the end time of the (k-1)th simulation period by the preset simulation duration. When the un-simulated duration in the target time range is less than or equal to the preset simulation duration, the fourth simulation period can be a simulation period with a start time being the end time of the (k-1)th simulation period and an end time being the end time of the target time range.

[0049] In this case, when determining the first simulation period, when the allocated computing resource quantity under the first simulation subtask is greater than or equal to the preset expected computing resource quantity, the first simulation period can be a simulation period with the start time being the start time of the target time range and the end time being separated from the start time of the target time range by a preset cycle duration; when the allocated computing resource quantity under the first simulation subtask is less than the preset expected computing resource quantity, the first simulation period can be a simulation period with the start time being the start time of the target time range and the end time being separated from the start time of the target time range by a preset simulation duration, and so on.

[0050] Optionally, the preset expected computing resource quantity is greater than the lower limit of computing resources and less than the upper limit of computing resources, and the computing node with the upper limit of computing resources has the highest efficiency in running the target numerical model (i.e., meets the maximum expected efficiency); based on this, through the preset expected computing resource quantity, a simulation period with a longer simulation duration can be simulated by a computing node with an allocated computing resource quantity between the preset expected computing resource quantity and the upper limit of computing resources, while a simulation period with a shorter simulation duration can be simulated by a computing node with an allocated computing resource quantity between the lower limit of computing resources and the preset expected computing resource quantity, thus avoiding fewer computing nodes from simulating simulation periods with longer simulation durations for a long time, and further improving the operation efficiency of the numerical model.

[0051] In summary, the embodiments of the present invention do not limit the determination method for any simulation period. Optionally, in other embodiments, the first simulation cycle can also be used as the first simulation period, and the determination method for the kth simulation period is not limited. For example, the kth simulation cycle can be used as the kth simulation period, or the kth simulation period can be determined from the determined simulation cycles to be completed based on the allocated computing resource quantity under the kth simulation subtask, and so on; the present invention does not limit this.

[0052] S205, increment k by 1, and iteratively execute to determine the allocated computing resource quantity under the kth simulation subtask to complete the simulation of the kth simulation period until the end time of the kth simulation period is the end time of the target time range, so as to determine the target simulation result based on the simulation results under each simulation subtask in multiple simulation subtasks.

[0053] In summary, the embodiments of the present invention can be applied in meteorological forecasting and air quality forecasting scenarios based on numerical models; based on this, when there are many model tasks deployed in the entire forecasting system and the computing timeliness of a certain numerical model does not meet the requirements, the numerical model operation scheme proposed by the embodiments of the present invention can be enabled to improve the operation efficiency of the corresponding numerical model business module and shorten the operation time.

[0054] In an embodiment of the present invention, the operation data of the numerical model within a target time range can be obtained, and the simulation result under the (k - 1)-th simulation subtask can be determined based on the operation data of the numerical model. Then, the current number of idle computing resources under the k-th simulation subtask can be determined, and the upper limit number of computing resources can be determined; and based on the current number of idle computing resources and the upper limit number of computing resources under the k-th simulation subtask, the allocated computing resources under the k-th simulation subtask can be determined, and the initial field data under the k-th simulation subtask can be determined based on the simulation result under the (k - 1)-th simulation subtask. Based on this, the k-th simulation period can be determined from the target time range, and the k-th simulation period can be simulated according to the allocated computing resources and the initial field data under the k-th simulation subtask to obtain the simulation result under the k-th simulation subtask. Further, k can be incremented by 1, and the determination of the allocated computing resources under the k-th simulation subtask can be iteratively executed to complete the simulation of the k-th simulation period until the end time of the k-th simulation period is the end time of the target time range, so as to determine the target simulation result based on the simulation results under each simulation subtask among multiple simulation subtasks. It can be seen that the embodiments of the present invention can achieve the simulation of the target time range through each simulation subtask. When each simulation subtask is independently started and run, the allocated computing resources can be determined respectively according to the current number of idle computing resources under the corresponding simulation subtask, so as to configure computing resources for the upcoming started simulation subtask, and the effect of more flexible and more fully utilizing the current idle computing resources to improve the operation efficiency in different time periods can be achieved; that is to say, the embodiments of the present invention can dynamically increase the number of computing nodes when there are more idle resources in the system through each simulation subtask, which can effectively improve the overall operation efficiency and shorten the operation time, and can effectively improve the operation rate of the numerical model.

[0055] Based on the description of the related embodiments of the above numerical model operation method, an embodiment of the present invention also proposes a numerical model operation device. This numerical model operation device can be a computer program (including program code) running in an electronic device; as Figure 4 shown, the numerical model operation device can include an acquisition unit 401 and a processing unit 402. This numerical model operation device can execute Figure 1 or Figure 2 the numerical model operation method shown, that is, this numerical model operation device can run the above units: The acquisition unit 401 is used to acquire the operation data of the numerical model within a target time range; The processing unit 402 is used to determine the simulation result under the (k - 1)-th simulation subtask based on the operation data of the numerical model, where k is an integer greater than 1; The processing unit 402 is further configured to determine the number of allocated computing resources for the k-th simulation subtask, and determine the initial field data for the k-th simulation subtask based on the simulation results of the (k - 1)-th simulation subtask; The processing unit 402 is further configured to determine the k-th simulation period from the target time range, and perform a simulation on the k-th simulation period according to the number of allocated computing resources and the initial field data for the k-th simulation subtask, so as to obtain the simulation results for the k-th simulation subtask; The processing unit 402 is further configured to increment k by 1, and iteratively execute the determination of the number of allocated computing resources for the k-th simulation subtask to complete the simulation of the k-th simulation period until the end time of the k-th simulation period is the end time of the target time range, so as to determine the target simulation results based on the simulation results of each simulation subtask among multiple simulation subtasks.

[0056] In one implementation, when determining the number of allocated computing resources for the k-th simulation subtask, the processing unit 402 may specifically be configured to: Determine the current idle computing resource quantity for the k-th simulation subtask, and determine the upper limit quantity of computing resources; Based on the current idle computing resource quantity and the upper limit quantity of computing resources for the k-th simulation subtask, determine the number of allocated computing resources for the k-th simulation subtask.

[0057] In another implementation, when determining the number of allocated computing resources for the k-th simulation subtask based on the current idle computing resource quantity and the upper limit quantity of computing resources for the k-th simulation subtask, the processing unit 402 may specifically be configured to: If the current idle computing resource quantity for the k-th simulation subtask is less than the upper limit quantity of computing resources, use the current idle computing resource quantity for the k-th simulation subtask as the number of allocated computing resources for the k-th simulation subtask; If the current idle computing resource quantity for the k-th simulation subtask is greater than or equal to the upper limit quantity of computing resources, use the upper limit quantity of computing resources as the number of allocated computing resources for the k-th simulation subtask.

[0058] In another implementation, the processing unit 402 may further be configured to: Perform a simulation period division on the target time range to obtain multiple simulation periods; When the processing unit 402 determines the k-th simulation period from the target time range, it may specifically be configured to: Determine the k-th simulation period from the multiple simulation periods, and use the k-th simulation period as the k-th simulation time period; or, Determine the earliest to-be-completed simulation period from the multiple simulation periods, and determine the k-th simulation time period from the determined to-be-completed simulation periods based on the allocated computing resource quantity under the k-th simulation subtask. A to-be-completed simulation period is a simulation period for which the simulation has not been completed.

[0059] In another implementation manner, when the processing unit 402 determines the k-th simulation time period from the determined to-be-completed simulation periods based on the allocated computing resource quantity under the k-th simulation subtask, it may specifically be used for: If the allocated computing resource quantity under the k-th simulation subtask is greater than or equal to the preset expected computing resource quantity, determine a first simulation time period from the determined to-be-completed simulation periods, and use the first simulation time period as the k-th simulation time period. The first simulation time period is a simulation time period whose start time is the end time of the (k - 1)-th simulation time period and whose end time is the end time of the determined to-be-completed simulation period; If the allocated computing resource quantity under the k-th simulation subtask is less than the preset expected computing resource quantity, determine a second simulation time period from the determined to-be-completed simulation periods, and use the second simulation time period as the k-th simulation time period. The second simulation time period is a simulation time period whose start time is the end time of the (k - 1)-th simulation time period and whose end time is separated from the end time of the (k - 1)-th simulation time period by a preset simulation duration.

[0060] In another implementation manner, the simulation result under one simulation subtask includes simulation field data at each simulation time in the simulation time period corresponding to the corresponding simulation subtask. When the processing unit 402 determines the initial field data under the k-th simulation subtask based on the simulation result under the (k - 1)-th simulation subtask, it may specifically be used for: Determine the simulation field data at the last simulation time from the simulation result under the (k - 1)-th simulation subtask; Add the determined simulation field data to the initial field data under the k-th simulation subtask, so as to determine the initial field data under the k-th simulation subtask based on the simulation result under the (k - 1)-th simulation subtask.

[0061] In another implementation manner, the multiple simulation subtasks include: k simulation subtasks from the 1st simulation subtask to the k-th simulation subtask after the simulation of the target time range is completed. When the processing unit 402 determines the target simulation result based on the simulation results under each simulation subtask among the multiple simulation subtasks, it may specifically be used for: Stitch the simulation results under each of the multiple simulation subtasks to obtain a target simulation result, where the target simulation result includes the simulation results under each of the simulation subtasks.

[0062] According to an embodiment of the present invention, Figure 4 Each unit in the numerical model running device shown can be respectively or wholly combined into one or several other units to form, or some of the units can be further split into multiple smaller units in terms of function to form, which can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present invention. The above units are divided based on logical functions. In practical applications, the function of one unit can also be realized by multiple units, or the functions of multiple units are realized by one unit. In other embodiments of the present invention, any numerical model running device can also include other units. In practical applications, these functions can also be assisted by other units and can be realized by the cooperation of multiple units.

[0063] According to another embodiment of the present invention, it can be achieved by running a computer program (including program code) capable of executing the steps involved in the corresponding method shown in Figure 1 or Figure 2 on a general-purpose electronic device such as a computer including processing elements and storage elements such as a central processing unit (CPU), a random access storage medium (RAM), and a read-only storage medium (ROM), to construct a numerical model running device as shown in Figure 4 and to implement the numerical model running method of the embodiments of the present invention. The computer program can be recorded on, for example, a computer storage medium, loaded into the above-mentioned electronic device through the computer storage medium, and run therein.

[0064] Embodiments of the present invention can obtain the numerical model operation data within a target time range, and determine the simulation result under the (k - 1)-th simulation subtask based on the numerical model operation data, where k is an integer greater than 1. Then, the number of allocated computing resources under the k-th simulation subtask can be determined, and the initial field data under the k-th simulation subtask can be determined based on the simulation result under the (k - 1)-th simulation subtask. Based on this, the k-th simulation period can be determined from the target time range, and the k-th simulation period can be simulated according to the number of allocated computing resources and the initial field data under the k-th simulation subtask to obtain the simulation result under the k-th simulation subtask. Further, k can be incremented by 1, and the process of determining the number of allocated computing resources under the k-th simulation subtask can be iteratively executed to complete the simulation of the k-th simulation period until the end time of the k-th simulation period is the end time of the target time range, so as to determine the target simulation result based on the simulation results under each simulation subtask in multiple simulation subtasks. It can be seen that the embodiments of the present invention can divide the simulation task of the target time range into simulation subtasks of multiple simulation periods, and simulate the k-th simulation period by the number of allocated computing resources under the k-th simulation subtask, so as to achieve the effect of more flexible and more sufficient utilization of the current computing resources in different time periods to improve the operation efficiency, and effectively improve the numerical model operation efficiency.

[0065] Based on the descriptions of the above method embodiments and apparatus embodiments, an exemplary embodiment of the present invention further provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor. The memory stores a computer program capable of being executed by the at least one processor, and when the computer program is executed by the at least one processor, it is used to cause the electronic device to execute the method according to the embodiments of the present invention.

[0066] An exemplary embodiment of the present invention further provides a non-transitory computer-readable storage medium storing a computer program, where when the computer program is executed by a processor of a computer, it is used to cause the computer to execute the method according to the embodiments of the present invention.

[0067] An exemplary embodiment of the present invention further provides a computer program product, including a computer program, where when the computer program is executed by a processor of a computer, it is used to cause the computer to execute the method according to the embodiments of the present invention.

[0068] Reference Figure 5, a block diagram of an electronic device 500 that can be a server or a client of the present invention will now be described. It is an example of a hardware device that can be applied to various aspects of the present invention. The electronic device is intended to represent various forms of digital electronic computer devices, such as, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, personal digital processors, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or claimed herein.

[0069] As Figure 5 shown, the electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0070] A plurality of components in the electronic device 500 are connected to the I / O interface 505, including: an input unit 506, an output unit 507, a storage unit 508, and a communication unit 509. The input unit 506 can be any type of device that can input information into the electronic device 500. The input unit 506 can receive input digital or character information, and generate key signal inputs related to the user settings and / or function controls of the electronic device. The output unit 507 can be any type of device that can present information, and can include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 508 can include, but is not limited to, magnetic disks, optical disks. The communication unit 509 allows the electronic device 500 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks, and can include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth™ device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0071] The computing unit 501 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 executes the various methods and processes described above. For example, in some embodiments, the numerical model running method can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as the storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 500 via the ROM 502 and / or the communication unit 509. In some embodiments, the computing unit 501 can be configured to execute the numerical model running method by any other suitable means (e.g., by means of firmware).

[0072] The program code for implementing the method of the present invention can be written in any combination of one or more programming languages. These program codes can be provided to the processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowchart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as an independent software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0073] In the context of the present invention, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable 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. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, 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.

[0074] As used in this invention, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and / or device (e.g., magnetic disks, optical disks, memory, programmable logic devices (PLDs)) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0075] For purposes of providing an interaction with a user, the systems and techniques described herein can be implemented on a computer 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. Other kinds of devices can also be used to provide for interaction with the user; 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).

[0076] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, 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), and the Internet.

[0077] A computer system can include clients and servers. The clients and servers 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.

[0078] Also, it should be understood that what is disclosed above are only the preferred embodiments of the present invention, and of course cannot be used to limit the scope of the rights of the present invention. Therefore, equivalent changes made in accordance with the claims of the present invention are still within the scope covered by the present invention.

Claims

1. A method for running a numerical model, characterized in that, Including: Obtain the numerical model operation data within the target time range, and determine the simulation result under the (k - 1)-th simulation subtask based on the numerical model operation data, where k is an integer greater than 1; Determine the allocated computing resource quantity under the k-th simulation subtask, and determine the initial field data under the k-th simulation subtask based on the simulation result under the (k - 1)-th simulation subtask; Determine the k-th simulation period from the target time range, and simulate the k-th simulation period according to the allocated computing resource quantity and the initial field data under the k-th simulation subtask to obtain the simulation result under the k-th simulation subtask; Increment k by 1, and iteratively execute the determination of the allocated computing resource quantity under the k-th simulation subtask to complete the simulation of the k-th simulation period until the end time of the k-th simulation period is the end time of the target time range, so as to determine the target simulation result based on the simulation results under each simulation subtask in multiple simulation subtasks.

2. The method according to claim 1, characterized in that, The determination of the allocated computing resource quantity under the k-th simulation subtask includes: Determine the current idle computing resource quantity under the k-th simulation subtask, and determine the upper limit quantity of computing resources; Based on the current idle computing resource quantity and the upper limit quantity of computing resources under the k-th simulation subtask, determine the allocated computing resource quantity under the k-th simulation subtask.

3. The method according to claim 2, wherein The determination of the allocated computing resource quantity under the k-th simulation subtask based on the current idle computing resource quantity and the upper limit quantity of computing resources under the k-th simulation subtask includes: If the current idle computing resource quantity under the k-th simulation subtask is less than the upper limit quantity of computing resources, then use the current idle computing resource quantity under the k-th simulation subtask as the allocated computing resource quantity under the k-th simulation subtask; If the current idle computing resource quantity under the k-th simulation subtask is greater than or equal to the upper limit quantity of computing resources, then use the upper limit quantity of computing resources as the allocated computing resource quantity under the k-th simulation subtask.

4. The method according to any one of claims 1-3, characterized in that, The method further includes: Perform simulation cycle segmentation on the target time range to obtain multiple simulation cycles; The determination of the k-th simulation period from the target time range includes: Determine the k-th simulation cycle from the multiple simulation cycles, and use the k-th simulation cycle as the k-th simulation period; or, Determine the earliest to-be-completed simulation cycle from the multiple simulation cycles, and determine the k-th simulation period from the determined to-be-completed simulation cycles based on the allocated computing resource quantity under the k-th simulation subtask, where a to-be-completed simulation cycle is a simulation cycle that has not been completed.

5. The method according to claim 4, characterized in that, The determination of the k-th simulation period from the determined to-be-completed simulation cycles based on the allocated computing resource quantity under the k-th simulation subtask includes: If the allocated computing resource quantity under the k-th simulation subtask is greater than or equal to the preset expected computing resource quantity, determine a first simulation period from the determined to-be-completed simulation cycles, and use the first simulation period as the k-th simulation period. The first simulation period is a simulation period with the start time being the end time of the (k - 1)-th simulation period and the end time being the end time of the determined to-be-completed simulation cycle; If the allocated computing resource quantity under the k-th simulation subtask is less than the preset expected computing resource quantity, determine a second simulation period from the determined to-be-completed simulation cycles, and use the second simulation period as the k-th simulation period. The second simulation period is a simulation period with the start time being the end time of the (k - 1)-th simulation period and the end time having a preset simulation duration interval from the end time of the (k - 1)-th simulation period.

6. The method according to any one of claims 1 to 3, characterized in that, The simulation result under one simulation subtask includes simulation field data at each simulation time in the simulation period corresponding to the corresponding simulation subtask; determining the initial field data under the k-th simulation subtask based on the simulation result under the (k - 1)-th simulation subtask includes: Determine the simulation field data at the last simulation time from the simulation result under the (k - 1)-th simulation subtask; Add the determined simulation field data to the initial field data under the k-th simulation subtask to implement determining the initial field data under the k-th simulation subtask based on the simulation result under the (k - 1)-th simulation subtask.

7. The method according to any one of claims 1 to 3, characterized in that The multiple simulation subtasks include: k simulation subtasks from the 1st simulation subtask to the k-th simulation subtask after completing the simulation in the target time range; determining the target simulation result based on the simulation results under each simulation subtask among the multiple simulation subtasks includes: Stitch the simulation results under each simulation subtask among the multiple simulation subtasks to obtain the target simulation result, and the target simulation result includes the simulation results under each simulation subtask.

8. A numerical model running device, characterized in that, The device includes: An acquisition unit, configured to acquire numerical model operation data within a target time range; A processing unit, configured to determine the simulation result under the (k - 1)-th simulation subtask based on the numerical model operation data, where k is an integer greater than 1; The processing unit is further configured to determine the allocated computing resource quantity under the k-th simulation subtask, and determine the initial field data under the k-th simulation subtask based on the simulation result under the (k - 1)-th simulation subtask; The processing unit is further configured to determine the k-th simulation period from the target time range, and simulate the k-th simulation period according to the allocated computing resource quantity and the initial field data under the k-th simulation subtask to obtain the simulation result under the k-th simulation subtask; The processing unit is further configured to increment k by 1 and iteratively execute the determination of the allocated computing resources for the k-th simulation subtask to complete the simulation of the k-th simulation period until the end time of the k-th simulation period is the end time of the target time range, so as to determine the target simulation result based on the simulation results of each simulation subtask among multiple simulation subtasks.

9. An electronic device, characterized in that, Comprising: a processor; and a memory storing a program, wherein the program includes instructions that, when executed by the processor, cause the processor to execute the method according to any one of claims 1-7.

10. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause a computer to execute the method according to any one of claims 1-7.

Citation Information

Patent Citations

  • Dynamic resource allocation for computational simulation

    CN114254531A

  • Server resource allocation method and device

    CN114780245A

  • Virtual resource processing method and device and electronic equipment

    CN116688520A

  • Numerical mode rolling operation method and device, storage medium and electronic equipment

    CN117873737A

  • Dynamic resource allocation for computational simulation

    US11210138B1

Cited By

  • Numerical mode operation method and device, storage medium and electronic equipment

    CN120832781A