Resource management method and device, storage medium and program product
By introducing coordination mechanisms such as energy consumption configuration modules and application management modules in the digital system, dynamically adjusting the configuration of application programs and hardware resources, the problem of low power saving efficiency in the existing technology is solved, and high-efficiency energy consumption management in remote areas is achieved.
Patent Information
- Application Number
- CN202411653163.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-19
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2044-11-19
AI Technical Summary
The resource management method used in the prior art for digital systems leads to low power saving efficiency and is difficult to meet the energy consumption reduction needs in the case of difficulties in power supply and networks in remote or remote areas.
By coordinating between the energy consumption configuration module, application management module, operating system management module and hardware management module, dynamically adjust the configuration of application and hardware resources, and optimize the allocation of computing resources and hardware resources according to the real-time operating status of the application.
It realizes that while ensuring application performance, resource configuration is dynamically adjusted to reduce unnecessary energy consumption and improve power saving efficiency. It is suitable for digital systems in remote or remote areas.
Smart Images

Figure CN119149256B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a resource management method and device, a storage medium, and a program product. Background Art
[0002] As various industries carry out information, digital and intelligent construction, information and digital systems and equipment have been applied in the industry's business. Compared with traditional equipment, digital equipment has stronger computing power, higher intelligence level, higher power, and significantly higher power requirements than before.
[0003] However, in some industries and scenarios, it is difficult to supply electricity and networks. For example, fire detection equipment in mountainous areas and forests requires digital systems to complete related work, but it is difficult to set up electricity and networks in the mountains; for example, hydrological and meteorological detection stations in remote areas are uninhabited, so electricity and networks cannot reach them; and remote areas such as deserts and grasslands also face extremely high costs in setting up electricity and networks.
[0004] In this scenario, reducing the energy consumption of the digital system has become a necessary condition. In order to reduce the energy consumption of digital equipment in related technologies, the method usually adopted is to directly turn on the power saving mode for the digital system to achieve the purpose of using resources for the digital system, thereby reducing the energy consumption of the digital equipment.
[0005] However, the power saving efficiency of the resource management method provided in the above-mentioned related technologies is still low. Summary of the invention
[0006] The embodiments of the present application provide a resource management method and device, a storage medium, and a program product to at least solve the technical problem of low node efficiency.
[0007] According to an embodiment of the present application, a resource management method is provided, including: an energy consumption configuration module sends application management information to the application management module, and the application management module controls the startup of N applications in the application layer or controls the shutdown of N applications according to the application management information, wherein the application management information is used to assist the application management module in controlling the startup or shutdown of the N applications; when the energy consumption configuration module receives resource information of computing resources required for the application layer and resource information of first hardware resources sent by the application management module, the resource information of computing resources and resource information of first hardware resources are sent to an operating system OS management module, and the OS management module adjusts the resource configuration of computing resources in the OS layer according to the resource information of computing resources, and determines the resource information of second hardware resources required for the OS layer; when the energy consumption configuration module receives resource information of the first hardware resources and resource information of the second hardware resources sent by the OS management module, the resource information of the first hardware resources and resource information of the second hardware resources are sent to the hardware management module, and the hardware management module adjusts the hardware resources of the hardware layer according to the resource information of the first hardware resources and resource information of the second hardware resources.
[0008] According to another embodiment of the present application, a resource management system is provided, including: an energy consumption configuration module, which is used to send application management information to the application management module; and is also used to send the resource information of the computing resources and the resource information of the first hardware resources to the operating system OS management module when receiving the resource information of the computing resources required for the application layer and the resource information of the first hardware resources sent by the application management module; and is also used to send the resource information of the first hardware resources and the resource information of the second hardware resources to the hardware management module when receiving the resource information of the first hardware resources and the resource information of the second hardware resources sent by the OS management module; wherein the application management information is used to assist the application management module in controlling the startup or shutdown of N applications in the application layer; the application management module is used to control the startup of N applications in the application layer or control the shutdown of N applications according to the application management information; the OS management module is used to adjust the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources, and determine the resource information of the second hardware resources required by the OS layer; the hardware management module is used to adjust the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources.
[0009] According to another embodiment of the present application, a resource management device is provided, comprising: a control unit, configured to send application management information to the application management module using an energy consumption configuration module, and to control the startup of N applications in the application layer or control the shutdown of N applications using the application management module according to the application management information, wherein the application management information is used to assist the application management module in controlling the startup or shutdown of the N applications; a first adjustment unit, configured to send the resource information of the computing resources and the resource information of the first hardware resources to the operating system OS management module when the energy consumption configuration module receives the resource information of the computing resources required for the application layer and the resource information of the first hardware resources sent by the application management module, and to adjust the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources using the OS management module, and to determine the resource information of the second hardware resources required for the OS layer; and a second adjustment unit, configured to send the resource information of the first hardware resources and the resource information of the second hardware resources to the hardware management module when the energy consumption configuration module receives the resource information of the first hardware resources and the resource information of the second hardware resources sent by the OS management module, and to adjust the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources using the hardware management module.
[0010] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.
[0011] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0012] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.
[0013] In an embodiment of the present application, the energy consumption configuration module sends application management information to the application management module, and the application management module controls the startup of N applications in the application layer or controls the shutdown of N applications according to the application management information, wherein the application management information is used to assist the application management module in controlling the startup or shutdown of N applications; when the energy consumption configuration module receives the resource information of the computing resources required for the application layer and the resource information of the first hardware resources sent by the application management module, the resource information of the computing resources and the resource information of the first hardware resources are sent to the operating system OS management module, and the OS management module adjusts the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources, and determines the resource information of the second hardware resources required for the OS layer; when the energy consumption configuration module receives the resource information of the first hardware resources and the resource information of the second hardware resources sent by the OS management module, the resource information of the first hardware resources and the resource information of the second hardware resources are sent to the hardware management module, and the hardware management module adjusts the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources. In other words, by using the embodiment of the present application, the energy consumption configuration module, the application management module, the OS management module and the hardware management module are coordinated with each other, so as to achieve the purpose of dynamically adjusting the configuration of the required computing resources and hardware resources according to the real-time running status of the application. When the resource demand of the application changes (such as the load increases or decreases), the system can respond in time, increase or decrease resource allocation, thereby reducing unnecessary energy consumption while ensuring the performance of the application, thereby solving the technical problem of low power saving efficiency in the resource management method provided in the related art. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 is a flow chart of a resource management method according to an embodiment of the present application;
[0015] Figure 2 is a schematic diagram of a resource management method according to an embodiment of the present application;
[0016] Figure 3 is a flow chart of a resource management method according to an embodiment of the present application;
[0017] Figure 4 It is a structural block diagram of a resource management device according to an embodiment of the present application. DETAILED DESCRIPTION
[0018] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0019] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0020] As an optional solution, the above resource management method has the following specific steps: Figure 1 Shown include:
[0021] S102, the energy consumption configuration module sends the application management information to the application management module, and the application management module controls the startup of N application programs of the application layer or controls the shutdown of N application programs according to the application management information, wherein the application management information is used to assist the application management module in controlling the startup or shutdown of the N application programs;
[0022] S104, when the energy consumption configuration module receives the resource information of the computing resources required by the application layer and the resource information of the first hardware resources sent by the application management module, the resource information of the computing resources and the resource information of the first hardware resources are sent to the operating system OS management module, and the OS management module adjusts the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources, and determines the resource information of the second hardware resources required by the OS layer;
[0023] S106, when the energy consumption configuration module receives the resource information of the first hardware resources and the resource information of the second hardware resources sent by the OS management module, the resource information of the first hardware resources and the resource information of the second hardware resources are sent to the hardware management module, and the hardware management module adjusts the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources.
[0024] It should be noted that the above resource management method can be applied to at least the following scenarios but is not limited to:
[0025] 1) Internet of Things (IoT) devices deployed in remote areas or outdoors: such as fire detection equipment, hydrological and meteorological detection stations in mountainous areas, woodlands, grasslands, deserts, etc. In these scenarios, the equipment usually relies on solar power, and the network connection relies on 4G / 5G or satellite communication. The power supply is unstable and the capacity is limited, so it is necessary to reduce power consumption to ensure long-term operation.
[0026] 2) Edge computing nodes (ECs) operate in resource-limited environments, such as smart cities and detection and data processing equipment in the industrial Internet. These devices need to minimize energy consumption while ensuring functionality, especially in remote and unattended scenarios.
[0027] 3) Intelligent transportation systems: such as smart traffic lights, traffic detection cameras, etc. These devices need to operate outdoors for a long time and usually require low power consumption to adapt to unstable power supply conditions, such as solar power supply systems.
[0028] It should be noted that the application layer is the highest layer in the computer network protocol hierarchy and is also the part of the software architecture that interacts directly with users. In computer networks, the application layer is responsible for providing the interfaces and protocols required for communication between applications, such as HTTP, FTP, SMTP, etc. These are common protocols used in the Internet, which make web browsing, file transfer, email sending and other operations possible.
[0029] Further, in some embodiments, the above-mentioned application management module controls the startup of N applications in the application layer or controls the shutdown of N applications according to the application management information, which may include but is not limited to: when the application management information includes the startup time of N applications and the operating cycle of N applications, controlling the startup of N applications or controlling the shutdown of N applications according to the startup time of N applications and the operating cycle of N applications; when the application management information includes the startup conditions of N applications and the shutdown conditions of N applications, controlling the startup of N applications according to the startup conditions of N applications, or controlling the shutdown of N applications according to the shutdown conditions of N applications.
[0030] Optionally, in some embodiments, the computing resources may include network resources, storage resources, etc. in addition to CPU resources and GPU resources, which are not limited in this embodiment. The hardware objects may include, but are not limited to: display devices, audio devices, buses and interfaces, power batteries, wireless communication modules, sensors and actuators, thermal management hardware, etc., which are not limited in this embodiment.
[0031] It should be noted that the OS layer is the operating system layer, which is the core component of the computer system architecture, located above the hardware layer and below the application layer. The operating system (OS for short) is a system software that manages and controls computer hardware and software resources, provides basic services for applications, and creates a platform that enables users and applications to use hardware resources efficiently and securely.
[0032] Optionally, in some embodiments, the above-mentioned OS management module adjusts the resource configuration of computing resources in the OS layer according to the resource information of the computing resources, which may include but is not limited to: when the OS management module determines that the resource amount of computing resources required by the application layer is less than a first threshold, the OS management module reduces the computing resources of the OS layer; when the OS management module determines that the resource amount of computing resources required by the application layer is greater than a second threshold, the OS management module increases the computing resources of the OS layer; wherein the resource information of the computing resources includes the resource amount.
[0033] Furthermore, the resource information of the second hardware resources required by the above-mentioned OS layer may include, but is not limited to: central processing unit (CPU), memory (RAM), persistent storage (such as hard disk, SSD, etc.), input / output device (I / O device), network interface (such as Ethernet card, wireless network card), graphics adapter (GPU), BIOS / UEFI, bus, clock and timer, power management hardware, interrupt controller, serial / parallel communication port, audio and video hardware, etc. It should be noted that the interaction between the OS layer and the hardware layer is realized through the driver. As the software interface of the hardware, the driver is responsible for converting the commands of the operating system into instructions that the hardware can understand, and also feeds back the status and data of the hardware to the operating system. When the hardware resources are insufficient or incompatible, the operating system may not be able to operate normally, or its performance may be limited. Therefore, ensuring the compatibility and adequacy of hardware resources is the key to the stable operation of the operating system.
[0034] It should be noted that the hardware layer is a collection of all devices and components that form the physical basis of a computer system. It is the part of a computer system that directly interacts with the electronic and physical worlds. The hardware layer provides the basic physical resources required for the operation of a computer system, including processors, memory, input and output devices, storage devices, network interfaces, etc. It is the bottom layer that software and users can perceive and use.
[0035] Optionally, as an optional example, the above steps may be explained by, but not limited to, the following examples:
[0036] For example, taking an environmental monitoring station in a remote area as an example, it explains in detail how to dynamically adjust the operating status of specific hardware according to the computing resource requirements of the application:
[0037] Target scenario: Environmental monitoring station, responsible for collecting and analyzing environmental data such as weather, soil moisture, and water quality, which will be used for disaster warning.
[0038] N applications: The system contains multiple applications, one of which is a data collection program responsible for collecting data from various sensors; another is a data analysis program used to process and analyze the collected data, which may involve complex mathematical models and algorithms, so it has a high demand for computing resources; and another is a data transmission program used to send the analyzed data to a remote server via a wireless network.
[0039] Target hardware object: In the hardware layer, the target hardware object can be a high-performance GPU (graphics processing unit) to accelerate complex calculations in data analysis programs; or a wireless communication module, such as a satellite communication device or a LoRa module, to ensure network connectivity for data transmission programs.
[0040] Steps explained:
[0041] Identify hardware-dependent applications: When a data analysis program needs to be run, the system analyzes its computing resource requirements. Considering that data analysis may involve complex pattern recognition and machine learning algorithms, the system determines that running this program is highly dependent on the acceleration capabilities of the GPU.
[0042] Obtain computing resource information: The system obtains the load information of all current computing resources from the OS layer, including the usage of CPU, GPU, and memory.
[0043] Adjust the state of the target hardware object: Based on the computing resource information, the intelligent system determines the current GPU usage status. Assuming that the GPU is idle or is only used to process some low-priority image display tasks, the system adjusts the GPU's operating state to an enabled state to support the operation of the data analysis program. After the GPU is enabled, the data analysis program can use its powerful parallel computing capabilities to quickly process and analyze environmental data and improve overall data processing efficiency.
[0044] Network resource management: Data transmission programs require wireless communication modules to send data. Assuming that the current wireless communication module (such as satellite communication equipment) is in sleep mode to save power, the system will adjust the wireless communication module to the enabled state according to the startup requirements of the data transmission program to ensure that data can be transmitted to the remote server in a timely and stable manner.
[0045] Example of enabling state adjustment: In the environmental monitoring station, the data analysis program needs to process a large amount of meteorological and soil moisture data in the past 24 hours to predict future weather trends. The system detects that the demand for computing resources (especially GPU) of the data analysis program has increased significantly, while the current GPU load is low. The system automatically adjusts and switches the GPU from energy-saving mode to high-performance mode to ensure that the GPU can provide sufficient accelerated computing power for the data analysis program. At the same time, the data transmission program is started, and the system detects that a stable network connection is required to send the analysis results, so it automatically activates the satellite communication equipment to ensure smooth data transmission.
[0046] It should be noted that the above example is an optional example provided to facilitate explanation of the above steps, and there is no limitation on the management method of the above resources.
[0047] In an embodiment of the present application, the energy consumption configuration module sends application management information to the application management module, and the application management module controls the startup of N applications in the application layer or controls the shutdown of N applications according to the application management information, wherein the application management information is used to assist the application management module in controlling the startup or shutdown of N applications; when the energy consumption configuration module receives the resource information of the computing resources required for the application layer and the resource information of the first hardware resources sent by the application management module, the resource information of the computing resources and the resource information of the first hardware resources are sent to the operating system OS management module, and the OS management module adjusts the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources, and determines the resource information of the second hardware resources required for the OS layer; when the energy consumption configuration module receives the resource information of the first hardware resources and the resource information of the second hardware resources sent by the OS management module, the resource information of the first hardware resources and the resource information of the second hardware resources are sent to the hardware management module, and the hardware management module adjusts the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources. In other words, by using the embodiment of the present application, the energy consumption configuration module, the application management module, the OS management module and the hardware management module are coordinated with each other, so as to achieve the purpose of dynamically adjusting the configuration of the required computing resources and hardware resources according to the real-time running status of the application. When the resource demand of the application changes (such as the load increases or decreases), the system can respond in time, increase or decrease resource allocation, thereby reducing unnecessary energy consumption while ensuring the performance of the application, thereby solving the technical problem of low power saving efficiency in the resource management method provided in the related art.
[0048] As an optional solution, the application management module controls the startup of N application programs of the application layer or controls the shutdown of N application programs according to the application management information, including:
[0049] In a case where the application management information includes the start time of N applications and the operation cycle of the N applications, controlling the start of the N applications or controlling the close of the N applications according to the start time of the N applications and the operation cycle of the N applications;
[0050] When the application management information includes start-up conditions and shutdown conditions of N applications, the start-up of the N applications is controlled according to the start-up conditions of the N applications, or the shutdown of the N applications is controlled according to the shutdown conditions of the N applications.
[0051] In an embodiment of the present application, on the one hand, periodic application management information allows a system administrator or user to set the startup time and operating cycle of each application. During the non-working period, the application will not run, which greatly reduces unnecessary computing resource consumption, such as the operation of the CPU and GPU, thereby significantly reducing system power consumption. On the other hand, conditional application management information allows applications to automatically start or shut down based on specific conditions, such as conditions based on network connection status, device location, power level, or other sensor data. This intelligent scheduling can dynamically optimize resource usage and reduce waste.
[0052] As an optional solution, controlling the startup of N applications or controlling the shutdown of N applications according to the startup time of the N applications and the operation cycle of the N applications includes:
[0053] The application management module controls starting the i-th application when it is determined that the current time reaches the i-th starting time of the i-th application among the N applications; the application management module controls closing the i-th application when it is determined that the i-th application completes the first task;
[0054] It should be noted that, in some embodiments, the above-mentioned i-th startup time can be but is not limited to being used to indicate the startup time customized for the i-th application. Specifically, the startup time is used to indicate the time when the i-th application is started each time the system starts.
[0055] Optionally, the first task is related to the type of the i-th application. For example, if the application is an identity authentication program, the first task may be, but is not limited to, a task for verifying the identity of the target object; if the application is a data collection program, the first task may be, but is not limited to, collecting the data to be collected. And so on, no further description will be given in this embodiment.
[0056] For example, the above steps may be explained based on, but not limited to, the following examples:
[0057] The i-th startup time of the application is set at 12:00 every day, in order to run during the most sunny hours to take advantage of the abundant solar energy. Then, at 12:00, the operating system adjusts the application to enter the normal running state, including starting the program for meteorological data collection and analysis, and activating the necessary hardware resources (such as sensors, network communication modules). Next, the application collects and analyzes the meteorological data, and then prepares to upload the data to the central server via satellite communication. Assume that this task is completed at 12:30. After the data upload is completed, that is, at 12:30, the running state of the application is adjusted to the stopped running state, and the system shuts down all non-essential hardware resources (such as sensors, network communication modules), and reduces the CPU frequency to the minimum, entering low power consumption mode.
[0058] It should be noted that the above example is an optional example provided to facilitate explanation of the above steps, and there is no limitation on the management method of the above resources.
[0059] The application management module controls starting the i-th application program when it is determined that the time interval between the first time when the i-th application program was last started and the second time corresponding to the current time reaches the i-th operation cycle length; the application management module controls closing the i-th application program when it is determined that the i-th application program completes the second task;
[0060] Here, i is an integer and i is greater than or equal to 1.
[0061] It should be noted that the duration of the above-mentioned i-th operation cycle is an operation cycle customized for the above-mentioned i-th application, and the above-mentioned i-th application needs to be started once every period of time according to the operation cycle. Correspondingly, the above-mentioned second task is also related to the type of the i-th application, and the second task is not repeated in this embodiment.
[0062] For example, the above steps may be explained based on, but not limited to, the following examples:
[0063] Taking the i-th application as an application responsible for collecting temperature data as an example, it is assumed that the operation cycle of the application is set to start once every 6 hours, that is, the duration of the i-th operation cycle is 6 hours.
[0064] Assuming that the last time the i-th application was launched was at 12:00 (first time), when the interval between the current time (second time) and the last launch time reaches 6 hours, that is, 18:00, the application will be awakened to perform its "second task".
[0065] At 18:00, when the time interval reaches the set i-th operation cycle length (6 hours), the application's operation state is adjusted to normal operation. The system will activate the necessary sensors and communication modules, start collecting temperature data in real time, and prepare to upload the data to the central server through the network.
[0066] The "second task" performed by the application is to collect and upload temperature data. This task may include data preprocessing, encryption, packaging, and uploading to a remote server via a wireless network (such as LoRa, satellite communication).
[0067] After completing the "second task", for example, assuming that the data upload is completed at 18:10, the running state of the application is adjusted to the stopped state. The system automatically shuts down sensors, communication modules and unnecessary hardware resources, and reduces the CPU frequency to the minimum to reduce power consumption. Then, the application enters the sleep or low-power state again until the start time of the next cycle.
[0068] It should be noted that the above example is an optional example provided to facilitate explanation of the above steps, and there is no limitation on the management method of the above resources.
[0069] The periodic operation strategy includes the i-th start time and the i-th operation cycle duration, where i is an integer and i is greater than or equal to 1.
[0070] In the embodiment of the present application, the application management module controls the startup of the i-th application when it is determined that the current time reaches the i-th startup time of the i-th application among N applications; the application management module controls the shutdown of the i-th application when it is determined that the i-th application completes the first task; the application management module controls the startup of the i-th application when it is determined that the time interval between the first time when the i-th application was last started and the current corresponding second time reaches the length of the i-th operation cycle; the application management module controls the shutdown of the i-th application when it is determined that the i-th application completes the second task; wherein, i is an integer, and i is greater than or equal to 1. In other words, using the embodiment of the present application, within the operation cycle, the system can allocate resources in a targeted manner to ensure that resources are efficiently used in processing tasks. In the non-operation cycle, resources can be released or used for other tasks, avoiding idleness and waste of resources.
[0071] As an optional solution, controlling the startup of N applications according to the startup conditions of the N applications, or controlling the shutdown of N applications according to the shutdown conditions of the N applications includes:
[0072] The application management module controls the starting of the jth application when it is determined that the jth application among the N applications meets the jth starting condition, wherein, when the jth application is used to manage the target area in the target scene, the jth starting condition is used to indicate that the target object exists in the target area; when the jth application is used to process the third task, the jth starting condition is used to indicate that the nth application associated with the jth application has successfully completed the nth task and output the nth task processing result, and the nth task processing result is used to assist the jth application in processing the third task;
[0073] It should be noted that the jth start condition may be, but is not limited to, a start condition customized for the jth application. The target scene may be, but is not limited to, a scene used by the target system, and the target area may be, but is not limited to, an area in the target scene. The third task is related to the type of the jth application, and there is a dependency relationship between the third task and the nth task, and the execution of the third task depends on the task execution result of the nth task. For example, assuming that the nth task is visitor identity verification and the third task is to open the door, the jth application can only execute the third task after the task result of the nth task is successful verification.
[0074] The application management module controls the closure of the j-th application program among the N applications when it is determined that the j-th application program among the N applications has reached the j-th closure condition, wherein, when the j-th application program is used to manage the target area in the target scene, the j-th closure condition is used to indicate that the target object does not exist in the target area; when the j-th application program is used to process the third task, the j-th closure condition is used to indicate that the n-th application program associated with the j-th application program has not outputted the n-th task processing result of the n-th task, and the n-th task processing result is used to assist the j-th application program in processing the third task;
[0075] Wherein, j is an integer, and j is greater than or equal to 1.
[0076] It should be noted that the jth closing condition may be, but is not limited to, a closing condition customized for the jth application. For example, the above steps may be explained in detail by, but not limited to, using an example of an intelligent agricultural irrigation control system:
[0077] Target scenario: Smart agricultural irrigation system, used to automatically manage the irrigation of farmland, ensuring that crops receive appropriate water while avoiding waste of water resources.
[0078] N applications: The system includes multiple applications, such as soil moisture detection program, meteorological information analysis program, irrigation plan generation program, and irrigation execution program.
[0079] The jth application: the irrigation executive (jth application), is responsible for controlling the operation of the irrigation equipment and providing water to the farmland according to the irrigation plan.
[0080] The jth starting condition: When used to manage the target area (i.e., farmland), the jth starting condition is that the soil moisture detection program (nth application) detects that the soil moisture is lower than the preset threshold and outputs a signal that irrigation is required.
[0081] The nth application and the nth task: The soil moisture detection program, whose task is to periodically measure the soil moisture and compare it with the preset threshold.
[0082] The result of task n processing: When the soil moisture detection program detects that the soil moisture is lower than the threshold, it outputs an "irrigation demand signal". This signal is used to assist the irrigation execution program in determining whether to start irrigation.
[0083] The third task: After the irrigation execution program receives the "irrigation demand signal", its third task is to control the irrigation equipment to carry out appropriate irrigation according to the current soil moisture, weather forecast information (obtained from the meteorological information analysis program) and irrigation plan.
[0084] The jth shutdown condition: When the jth application is used to manage farmland irrigation, the jth shutdown condition is that the soil moisture detection program does not detect that the soil moisture is lower than the preset threshold, that is, the farmland does not need irrigation.
[0085] When the farmland does not need irrigation, the running state of the irrigation execution program will be adjusted to the closed state to avoid unnecessary energy consumption.
[0086] Example of the operation status adjustment process:
[0087] Initial state: The irrigation executive is in a low-power shutdown state, and all non-essential irrigation equipment is turned off.
[0088] The jth start condition is triggered: the soil moisture detection program detects that the soil moisture in a certain area of the farmland is lower than the preset threshold and outputs an "irrigation demand signal". At this time, the jth start condition is met, the irrigation execution program is awakened, and enters the normal operation state.
[0089] Processing the third task: The irrigation execution program starts running, calculates the irrigation amount and time according to the meteorological information and irrigation plan, and then activates the irrigation equipment to provide the necessary water for the farmland area.
[0090] Task completion: After the irrigation execution program completes irrigation, it checks the output of the soil moisture detection program again. If the soil moisture reaches or exceeds the preset threshold, it indicates that the irrigation task has been successfully completed.
[0091] The jth shutdown condition is triggered: the irrigation execution program checks the output of the soil moisture detection program again. If the soil moisture in the farmland area does not reach the state requiring irrigation (that is, the soil moisture is not lower than the preset threshold), the jth shutdown condition is met, and the running state of the irrigation execution program is automatically adjusted to the shutdown state. All irrigation equipment is turned off and the system enters low power consumption mode.
[0092] In this way, the smart agricultural irrigation system can automatically start and stop the irrigation execution program according to the actual needs of the farmland, which not only ensures the water demand of crops, but also saves energy and water resources to the greatest extent. This collaborative management of the application layer, OS layer and hardware driver layer reflects the fine control of power consumption, so that the system consumes resources only when performing necessary tasks, and remains in low power consumption or sleep state for the rest of the time, thereby ensuring the system functions while achieving efficient resource utilization and sustainable environmental management.
[0093] It should be noted that the above example is an optional example provided to facilitate explanation of the above steps, and there is no limitation on the management method of the above resources.
[0094] In an embodiment of the present application, the application management module controls the startup of the jth application when it is determined that the jth application among N applications meets the jth startup condition, wherein, when the jth application is used to manage the target area in the target scene, the jth startup condition is used to indicate that there is a target object in the target area; when the jth application is used to process the third task, the jth startup condition is used to indicate that the nth application associated with the jth application has successfully completed the nth task and output the nth task processing result, and the nth task processing result is used to assist the jth application in processing the third task; when the application management module determines that the jth application among N applications meets the jth shutdown condition, the application management module controls the shutdown of the jth application, wherein, when the jth application is used to manage the target area in the target scene, the jth shutdown condition is used to indicate that there is no target object in the target area; when the jth application is used to process the third task, the jth shutdown condition is used to indicate that the nth application associated with the jth application has not output the nth task processing result of the nth task, and the nth task processing result is used to assist the jth application in processing the third task; wherein, j is an integer, and j is greater than or equal to 1. That is to say, by adopting the embodiment of the present application, the system can reduce or shut down applications when not necessary through conditional operation, thereby significantly reducing power consumption. At the same time, precise control of target scenarios and task requirements ensures efficient use of resources and avoids over-configuration and waste.
[0095] As an optional solution, after the energy consumption configuration module sends the application management information to the application management module, the following further includes:
[0096] The application management module determines the computing resources and the first hardware resources required by the application layer according to the running states of the N application programs.
[0097] By adopting the embodiment of the present application, by determining that the application programs are in normal running state, the system can prioritize ensuring that these applications have sufficient computing and hardware resources, thereby improving the performance of the running applications and avoiding performance degradation or task failure caused by insufficient resources.
[0098] As an optional solution, the application management module determines the computing resources and the first hardware resources required by the application layer according to the running status of the N application programs, including:
[0099] S1, the application management module obtains the running status of each application program among N applications, and determines M applications that have been started among the N applications according to the running status of each application program, where M is an integer and M is less than or equal to N;
[0100] S2, the application management module determines the computing resources required to run the M application programs and the hardware objects used to assist in running the M application programs.
[0101] For example, these two steps can be explained in detail through an example of a smart edge computing device in an IoT scenario:
[0102] Target scenario: Intelligent edge computing devices are deployed at airports to monitor and manage airport safety, operational efficiency, and passenger experience in real time.
[0103] N applications: Multiple applications are running on the device, including facial recognition security checks, flight information updates, passenger flow detection, weather forecast services, etc.
[0104] S1, obtaining the running status of each application program among N applications, and determining M applications that have been started among the N applications according to the running status of each application program;
[0105] Detect application running status: The system continuously detects the running status of all applications (N applications), including whether they are running, running time, CPU and memory usage, network connection status, etc.
[0106] Determine the applications in normal operation: Assume that there are five applications currently running (M=5), namely facial recognition security check, flight information update, passenger flow detection and weather forecast service. The system confirms that these applications are in normal operation without any failure or abnormality by analyzing their operation status.
[0107] S2, determining the computing resources required to run the M applications and the hardware objects used to assist in running the M applications;
[0108] Determination of computing resource requirements: The system calculates the number of CPU cores, GPU usage, memory usage and other computing resources required for the five applications currently running normally. For example, facial recognition security checks may require higher-performance CPUs and GPUs for image processing, flight information updates may rely more on network resources for data exchange, and weather forecast services may require larger memory spaces for data storage and calculations.
[0109] Hardware object requirement determination: The system determines which hardware resources need to be activated and configured to support the normal operation of these five applications, such as image acquisition devices (for facial recognition), network interfaces (for data transmission), and hard disks or SSDs (for data storage). For example, to support facial recognition security checks, the system ensures that image acquisition devices and related image processing hardware (such as GPUs) are activated; for flight information updates, high-bandwidth network interfaces are activated to ensure fast data transmission; for weather forecast services, additional storage devices may be activated to store large amounts of meteorological data.
[0110] It should be noted that the above example is an optional example provided to facilitate explanation of the above steps, and there is no limitation on the management method of the above resources.
[0111] In the embodiment of the present application, the application management module obtains the running status of each application in N applications, and determines M applications that have been started among the N applications according to the running status of each application, where M is an integer and M is less than or equal to N; the application management module determines the computing resources required to run the M applications, and the hardware objects used to assist in running the M applications. In other words, by using the embodiment of the present application, by determining the applications whose running status is in a normal running state, the system can give priority to ensuring that these applications have sufficient computing and hardware resources, thereby improving the performance of the running applications and avoiding performance degradation or task failure caused by insufficient resources.
[0112] As an optional solution, according to the resource information of the computing resources, the OS management module adjusts the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources, including:
[0113] When the OS management module determines that the amount of computing resources required by the application layer is less than the first threshold, the OS management module reduces the computing resources of the OS layer;
[0114] It should be noted that, when the above-mentioned OS management module determines that the amount of computing resources required by the application layer is less than the first threshold, reducing the computing resources of the OS layer may include but is not limited to the following: when the OS management module determines that the amount of computing resources required by the application layer is less than the first threshold, reducing the computing resources of the OS layer includes: when the OS management module determines that the amount of CPU resources required by the application layer is less than the first CPU resource threshold, reducing the CPU resources of the OS layer; when the OS management module determines that the amount of GPU resources required by the application layer is less than the first GPU resource threshold, reducing the GPU resources of the OS layer.
[0115] When determining that the amount of computing resources required by the application layer is greater than the second threshold, the OS management module increases the computing resources of the OS layer.
[0116] The resource information of the computing resources includes the resource quantity.
[0117] Optionally, when the above-mentioned OS management module determines that the amount of computing resources required by the application layer is greater than a second threshold, increasing the computing resources of the OS layer may include but is not limited to: when the OS management module determines that the amount of computing resources required by the application layer is greater than the second threshold, increasing the computing resources of the OS layer includes: when the OS management module determines that the amount of CPU resources required by the application layer is greater than the second CPU resource threshold, increasing the CPU resources of the OS layer; when the OS management module determines that the amount of GPU resources required by the application layer is greater than the second GPU resource threshold, increasing the GPU resources of the OS layer.
[0118] In the embodiment of the present application, when the OS management module determines that the amount of computing resources required by the application layer is less than the first threshold, the OS management module reduces the computing resources of the OS layer; when the OS management module determines that the amount of computing resources required by the application layer is greater than the second threshold, the OS management module increases the computing resources of the OS layer. In other words, by adopting the embodiment of the present application, by dynamically adjusting the computing resources of the OS layer, not only can resource utilization be optimized and the energy efficiency of the system be improved, but also the performance and stability of the application program can be guaranteed, providing users with more efficient and energy-saving services, while reducing operating costs and improving the intelligent management level of the system.
[0119] As an optional solution, when the OS management module determines that the amount of computing resources required by the application layer is less than the first threshold, reducing the computing resources of the OS layer includes: when the OS management module determines that the amount of CPU resources required by the application layer is less than the first CPU resource threshold, reducing the CPU resources of the OS layer; when the OS management module determines that the amount of GPU resources required by the application layer is less than the first GPU resource threshold, reducing the GPU resources of the OS layer;
[0120] Optionally, the above-mentioned reduction of CPU resources may include, but is not limited to: reducing the number of CPU cores, reducing the CPU operating frequency, reducing CPU cache usage, etc., and no limitation is made to this in this embodiment.
[0121] Optionally, the above-mentioned reduction of GPU resources may include but is not limited to: reducing GPU core frequency, reducing the number of GPU cores, turning off GPU acceleration technology, dynamically adjusting the number of GPU shaders, etc., and no limitation is made to this in this embodiment.
[0122] When the OS management module determines that the amount of computing resources required by the application layer is greater than a second threshold, increasing the computing resources of the OS layer includes: when the OS management module determines that the amount of CPU resources required by the application layer is greater than the second CPU resource threshold, increasing the CPU resources of the OS layer; when the OS management module determines that the amount of GPU resources required by the application layer is greater than the second GPU resource threshold, increasing the GPU resources of the OS layer.
[0123] Optionally, increasing CPU resources may include, but is not limited to: increasing the number of CPU cores, increasing the CPU operating frequency, optimizing the CPU scheduling strategy, increasing CPU cache usage, etc., which is not limited in this embodiment.
[0124] Optionally, increasing GPU resources may include, but is not limited to: increasing GPU core frequency, increasing the number of GPU cores, optimizing GPU memory allocation, enabling GPU acceleration technology, dynamically adjusting the number of GPU shaders, etc., and this is not limited in any way in this embodiment.
[0125] In the embodiment of the present application, when the OS management module determines that the amount of CPU resources required by the application layer is less than the first CPU resource threshold, the OS management module reduces the CPU resources of the OS layer; when the OS management module determines that the amount of GPU resources required by the application layer is less than the first GPU resource threshold, the OS management module reduces the GPU resources of the OS layer; when the OS management module determines that the amount of CPU resources required by the application layer is greater than the second CPU resource threshold, the OS management module increases the CPU resources of the OS layer; when the OS management module determines that the amount of GPU resources required by the application layer is greater than the second GPU resource threshold, the OS management module increases the GPU resources of the OS layer. In other words, by adopting the embodiment of the present application, by dynamically adjusting the computing resources of the OS layer, not only can resource utilization be optimized and the energy efficiency of the system be improved, but also the performance and stability of the application can be guaranteed, providing users with more efficient and energy-saving services, while reducing operating costs and improving the intelligent management level of the system.
[0126] As an optional solution, the resource management method also includes:
[0127] The application management module obtains the resource load of the computing resources in the OS layer;
[0128] The application management module increases computing resources in the OS layer when the resource load is greater than a first load threshold;
[0129] The application management module reduces computing resources in the OS layer when the resource load is less than a second load threshold.
[0130] It should be noted that the load of the above-mentioned computing resources may include but is not limited to: CPU resource load, GPU resource load, network load, disk I / O load, memory (RAM) load, thread and process load, other auxiliary computing unit load, etc., and no limitation is made to this in this embodiment.
[0131] In an embodiment of the present application, the application management module obtains the resource load of the computing resources in the OS layer; when the resource load is greater than a first load threshold, the application management module increases the computing resources in the OS layer; when the resource load is less than a second load threshold, the application management module reduces the computing resources in the OS layer. In other words, by adopting an embodiment of the present application, over-configuration or under-configuration of resources is avoided through dynamic adjustment of computing resources, and resource utilization efficiency is improved. When resource demand increases, the system can automatically increase computing resources, such as the number and frequency of CPU cores, to ensure the normal operation of the application; on the contrary, when resource demand decreases, the system can automatically reduce computing resources to reduce unnecessary power consumption and resource occupation.
[0132] As an optional solution, the resource management method also includes:
[0133] The hardware management module adjusts the target system to a sleep state when all hardware objects included in the hardware layer are closed, wherein the operation of the target system depends on the application layer, the OS layer and the hardware layer. When the target system is in a sleep state, the target system will stop running and the historical running state of the target system before being stopped will be saved to the target storage area.
[0134] In an embodiment of the present application, when all hardware objects included in the hardware layer are closed, the hardware management module adjusts the target system to a dormant state, wherein the operation of the target system depends on the application layer, the OS layer, and the hardware layer. When the target system is in a dormant state, the target system will stop running and the historical operating state of the target system before being stopped will be saved to the target storage area. In other words, using an embodiment of the present application, the dormant state will greatly reduce the power consumption of the system, especially when all hardware resources of the hardware layer do not need to run, the overall energy efficiency of the system is significantly improved. This is particularly important for remote devices, edge computing nodes, etc. that rely on solar or battery power, and helps to extend the device operating time or battery life. By combining dynamic resource adjustment and dormant mode, a double consumption reduction effect is achieved.
[0135] As an optional solution, the hardware management module adjusts the resource configuration of the hardware resources of the hardware layer according to the resource information of the first hardware resource and the resource information of the second hardware resource, including:
[0136] The hardware management module determines a first hardware object required by the application layer according to the resource information of the first hardware resource, and determines a second hardware object required by the OS layer according to the resource information of the second hardware resource;
[0137] The hardware management module controls starting the first hardware object and the second hardware object in the hardware layer, and controls closing other hardware objects in the hardware layer except the first hardware object and the second hardware object.
[0138] By using the embodiment of the present application, the hardware management module can significantly reduce the power consumption of the system by controlling the startup and shutdown of specific hardware objects. When non-essential hardware components are shut down, the power consumption of the system is greatly reduced.
[0139] As an optional solution, the energy consumption configuration module sends the application management information to the application management module including:
[0140] The cycle configurator in the energy consumption configuration module sends the application management information to the executor in the energy consumption configuration module, wherein the cycle configurator is used to generate the startup time and the operation cycle of N application programs; when the executor receives the application management information, it sends the application management information to the application management module; or
[0141] The conditional configurator in the energy consumption configuration module sends application management information to the executor in the energy consumption configuration module, wherein the conditional configurator is used to generate startup condition information of N applications and shutdown condition information of N applications; when the executor receives the application management information, it sends the application management information to the application management module.
[0142] As an optional solution, after the energy consumption configuration module sends the application management information to the application management module, it also includes:
[0143] The application management module sends the resource information of the computing resources and the resource information of the hardware resources to the executor;
[0144] When receiving the resource information of the computing resources and the resource information of the hardware resources, the executor sends the resource information of the computing resources and the resource information of the hardware resources to the OS management module.
[0145] As an optional solution, after sending the resource information of the computing resource and the resource information of the first hardware resource to the operating system OS management module, the method further includes:
[0146] The OS management module sends resource information of the first hardware resource and resource information of the second hardware resource to the executor;
[0147] When receiving the resource information of the first hardware resource and the resource information of the second hardware resource, the executor sends the resource information of the first hardware resource and the resource information of the second hardware resource to the hardware management module.
[0148] As an optional solution, the management system of the above resources includes:
[0149] The energy consumption configuration module is used to send the application management information to the application management module; and is also used to send the resource information of the computing resources and the resource information of the first hardware resources to the operating system OS management module when receiving the resource information of the computing resources and the resource information of the first hardware resources required by the application layer sent by the application management module; and is also used to send the resource information of the first hardware resources and the resource information of the second hardware resources to the hardware management module when receiving the resource information of the first hardware resources and the resource information of the second hardware resources sent by the OS management module; wherein the application management information is used to assist the application management module in controlling the startup or shutdown of N application programs of the application layer;
[0150] An application management module, used for controlling the startup of N application programs of the application layer or controlling the shutdown of N application programs according to the application management information;
[0151] The OS management module is used to adjust the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources, and determine the resource information of the second hardware resources required by the OS layer;
[0152] The hardware management module is used to adjust the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources.
[0153] Optionally, the resource management system may be, but is not limited to, Figure 2 As shown, including:
[0154] Energy consumption configuration module 202, the energy configuration module is the configuration center of the entire system, and is used to set, issue, detect and manage the energy-saving configuration of the entire machine and system.
[0155] The module is mainly divided into two functional units. The configurator is the configuration center for the energy-saving strategy of the entire system (used to represent the above-mentioned application management information) and is responsible for the formulation of energy-saving strategies;
[0156] The executor is the executor of the energy-saving strategy. It is responsible for sending the energy-saving strategy to the application layer, OS layer and hardware driver layer. At the same time, it performs detection tasks, detects the execution status of each module, and performs dynamic regulation according to the software operation status.
[0157] The configurator functional unit can be divided into four components: cycle configurator, timer, condition configurator and determiner. The cycle configurator and timer are mainly used to configure periodic policies and tasks. The cycle configurator can set the operating cycle of the application software, OS and the entire system, the operating time of each cycle and the sleep time. Different times can be set for different applications; the timer is responsible for timing the operating cycle and sleep cycle. The condition configurator and determiner are two functional components of personalized configuration, which are mainly used when customized policies are required, such as setting the priority of multiple applications, scheduling applications according to the system operating status and input and output conditions, and setting the dependencies of multiple applications. The determiner is a functional unit that determines these customized conditions. Once the judgment is passed, it can trigger the issuance and execution of energy policies.
[0158] The actuator has two main functions. On the one hand, it accepts the configuration strategy of the configurator and then sends it to other modules; on the other hand, it detects the operating status of each module and makes real-time adjustments based on the operating status. Dynamic regulation based on application load is mainly completed through the actuator. When it detects that the system load is too high or too low, it triggers the expansion of each component's resources, increases the frequency to improve performance, or reversely reduces performance, so that the system is always in a state that meets demand.
[0159] The application management module 204, the application configuration module is the energy management module of the application software, which is connected to each application software upward to realize the activation, deactivation and operation management of each software, and is connected to the OS layer management module downward to allocate and manage core and component resources.
[0160] This module is mainly divided into three functional units. The APP activator is used to connect to the startup program or startup file of each application to activate the application for use; the APP inhibitor is the opposite operation, linking to the shutdown program or file of the application, and terminating the program process after the operation ends. The APP configurator is a unit that configures each APP. It can configure the number of CPUs, main frequency size, peripheral requirements, whether to use GPU, etc. required by each APP. The peripheral requirements include many types, including whether to use USB, network, wireless communication (mobile network, WIFI, satellite network, serial port), etc. When the application is started, the corresponding configuration requirements will be sent down to the OS management module, and the OS management module will declare and occupy resources according to this configuration. The activator and inhibitor communicate horizontally with the energy consumption configuration module, accept the instructions issued by the configuration module, and complete the execution.
[0161] OS management module 206: The OS management module is a module that performs energy management on the OS layer core and various components. It accepts and executes policies issued by the energy configuration module, and communicates with the application management module to configure, activate and shut down the CPU, GPU and various components according to the resource requirements of each application software.
[0162] The CPU manager is responsible for executing CPU-related operations. According to the energy consumption strategy and application software requirements, it sets the CPU's work quantity and CPU's main frequency range, detects the CPU's resource load in real time, and feeds back to the executor of the energy configuration module; it receives instructions from the executor and dynamically adjusts the CPU frequency and quantity.
[0163] The GPU manager is responsible for activating, deactivating, setting the main frequency and quantity of the GPU, and starting and stopping the GPU and adjusting the main frequency according to the energy management strategy and application software requirements; it detects the resource load of the GPU in real time and feeds back to the executor of the energy configuration module; it receives instructions from the executor and dynamically adjusts the GPU frequency and quantity.
[0164] The component configurator is a management module for other components, and is mainly responsible for the activation and shutdown of various modules. Since the system has many types of peripherals, but the energy consumption is relatively low, they are managed uniformly by the component configurator. The components that the configurator can manage include network, wireless (mobile communication network, WIFI, satellite, Bluetooth, Zigbee, Lora, etc.) modules, HDMI, USB, DIO, GPIO, CAN and other components. The configurator receives the application software running requirements from the APP configurator in the application management module, activates the corresponding components before the corresponding software is started, and shuts down the corresponding components after the software stops running.
[0165] The hardware management module 208 is the lowest layer of the system and is the direct operator of the underlying hardware and drivers. It accepts activation and shutdown instructions from the OS management module and performs hardware shutdown and activation operations from the driver layer.
[0166] The system energy consumption management function module of this module reuses the OS's own sleep and sleep modes to achieve a double energy saving effect.
[0167] When stopping the system, the component driver manager first shuts down all types of hardware, and then the system energy consumption management function unit puts the entire system into hibernation or sleep mode; when the system needs to resume operation, the system energy consumption management function unit first restores the system to the pre-hibernation state, and then the component driver manager activates the relevant hardware.
[0168] Through the coordination of the above four modules, the overall energy consumption of the system can be reduced to the minimum energy consumption range that meets the resource requirements, and the underlying resources can be dynamically allocated during operation to always meet the system's power requirements.
[0169] As an optional example, it is possible but not limited to Figure 3 The following example is used to explain the overall management method of the above resources:
[0170] Step S302, the energy consumption configuration module sends the application management information to the application management module;
[0171] Step S304, when the application management module obtains the application management information sent by the energy consumption configuration module, the application management module controls the startup of N application programs or controls the shutdown of N application programs according to the application management information;
[0172] Step S306, the application management module determines the computing resources and hardware objects required by the application layer according to the running status of the N application programs;
[0173] Step S308, the application management module sends the resource amount of the computing resource and the object identifier of the hardware object to the operating system OS management module through the energy consumption configuration module;
[0174] Step S310, when the OS management module receives the resource amount of the computing resource and the object identifier of the hardware object, it adjusts the resource configuration of the computing resource in the OS layer according to the resource amount of the computing resource;
[0175] Step S312, the OS management module sends the object identifier of the hardware object to the hardware management module through the energy consumption configuration module;
[0176] Step S314, when the hardware management module receives the object identifier of the hardware object, it controls starting the hardware object identified by the object identifier in the hardware layer, and controls closing other hardware objects in the hardware layer except the hardware object identified by the object identifier;
[0177] Step S316, when all hardware objects included in the hardware layer are closed, adjust the target system to a dormant state, wherein the operation of the target system depends on the application layer, OS layer and hardware layer. When the target system is in a dormant state, the target system will stop running, but the historical running state of the target system before being stopped is saved to the target storage area.
[0178] As another optional example, the resource management method described above may be explained as a whole by way of the following example but is not limited thereto:
[0179] The implementation steps for system startup are as follows:
[0180] Step 1: Configure the energy consumption management strategy and energy consumption mode of the whole machine according to business needs.
[0181] Step 2.1: If you use the periodic performance consumption management mode, configure the APP operation cycle and configure the timer.
[0182] Step 2.2: If the conditional energy consumption management mode is used, it is necessary to limit the operating conditions of the entire machine and each APP, trigger related operations when the conditions are met, and configure the determiner.
[0183] Step 3: Production energy consumption configuration strategy and execution conditions.
[0184] Step 4.1: The executor receives the execution conditions sent by the configurator.
[0185] Step 4.2: Connect and configure each APP in the application management module, connect the activator and inhibitor, and complete the relevant configuration of the configurator for each APP; the configurator summarizes and generates the overall configuration requirements and sends them to the executor. Then start the APP through the executor.
[0186] Step 5: The executor integrates energy consumption configuration strategy and resource requirements, and sends resource execution strategy to the OS management module.
[0187] Step 6: The OS management module accepts the resource execution policy, decomposes the policy, decomposes it into each component according to the component type, and sends it to the component manager.
[0188] Step 7.1: The CPU manager accepts the CPU adjustment strategy, schedules the hardware driver management module to complete CPU-related operations, and triggers Step 8.1.
[0189] Step 7.2: The GPU configurator receives the GPU adjustment strategy, schedules the hardware driver management module to complete GPU related operations, and triggers Step 8.2.
[0190] Step 7.3: The component configurator receives the component-related policies, schedules the relevant functions of the hardware driver management module, completes the activation and deactivation operations of the components, and triggers Step 8.3. Since there are many types of components, including network ports, wireless communications, IO interfaces, etc., they are all managed by the component configurator.
[0191] Step 8.1: The system energy consumption management unit manages the CPU, mainly adjusting the CPU's work quantity and main frequency range. Then enter Step 9.
[0192] Step 8.2: GPU management is completed by the component driver scheduler, which activates, calls, limits the number and frequency of GPUs by calling the GPU driver. After completion, enter Step 9.
[0193] Step 8.3: The management of various components is completed by the component scheduler, which mainly completes the related activation and deactivation operations by calling the component driver function. After completion, enter Step 9.
[0194] Step 9: After completing Step 8, the system energy consumption management functional unit modifies the energy consumption strategy of the entire machine and completes the startup configuration, and the actuator continues to perform system operation detection.
[0195] The steps for system detection, dynamic adjustment, and disabling are as follows:
[0196] Step 10: After the system enters normal operation, the actuator continues to perform system operation detection work, and at the same time detects the operation of the timer and condition determiner.
[0197] Step 11: If the corresponding situation is detected, call to generate related operations:
[0198] Step 11.1: If it is detected that the system resources are insufficient or redundant, a dynamic allocation instruction is generated to trigger the dynamic resource adjustment process and enter Step 12.
[0199] Step 11.2: If the triggering condition of the timer or the determiner is detected, resource disabling, periodic sleep or system sleep is started, and the process goes to Step 13.
[0200] Step 12: After the dynamic resource allocation process is triggered, the executor evaluates the resource type, adjustment direction (increase or decrease) and resource quantity to be adjusted, generates dynamic resource configuration instructions, and enters the process of Step 5 to Step 9.
[0201] Step 13: The timer or determiner is triggered, and the actuator calls each component to perform the closing operation:
[0202] Step 14: The executor triggers the shutdown termination instruction to the inhibitor, and the inhibitor calls the APP application shutdown program to shut down the running of the APP application.
[0203] Step 15: The executor triggers the system sleep command and sends it to the hardware driver management module.
[0204] Step 15.1: The component-driven scheduler first operates to shut down all related components to minimize the energy consumption at the system level.
[0205] Step 15.2: The system energy consumption management function calls the system sleep function, sets the sleep time, and puts the entire system into sleep mode.
[0206] Step 16: After the system hibernation ends, resume from hibernation and enter Step 1 to start normally.
[0207] It should be noted that in some embodiments, the system can adjust the hardware configuration in real time according to the needs of the running application, not only limited to CPU and GPU, but also including hardware resources such as memory, storage, network interface, etc. For example, in a smart agriculture scenario, the system dynamically increases GPU resources for image processing and pattern recognition according to the needs of irrigation plan analysis software, and automatically adjusts the power and bandwidth of the network interface according to the data transmission requirements to ensure efficient data transmission without excessive power consumption.
[0208] Furthermore, in some embodiments, the system can intelligently determine the power management strategy by combining, but not limited to, hardware status and environmental conditions. For example, when the system detects that the application has completed running and the current ambient light is sufficient (the solar panel can provide enough power), the system can temporarily keep the hardware in standby mode to quickly respond to the next application startup; conversely, if insufficient power is detected, the system will take more stringent power consumption control measures, or even enter a deep sleep state, to protect limited power resources.
[0209] Furthermore, in some embodiments, the system may, but is not limited to, support fast switching of multiple operating modes, including low power mode, performance mode, and balanced mode. In low power mode, all unnecessary hardware components will be disabled or adjusted to the lowest power consumption state; in performance mode, the system will prioritize high performance operation of applications, allowing hardware components to work at maximum power consumption; and in balanced mode, the system will intelligently adjust hardware configuration and power consumption according to current application load and environmental conditions to achieve the best balance between performance and energy saving.
[0210] In the present embodiment, a resource management device is also provided, and the device is used to implement the above-mentioned embodiment and preferred implementation mode, and the description has been made no further. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the device described in the following embodiments is preferably implemented with software, the implementation of hardware, or a combination of software and hardware is also possible and conceived.
[0211] Figure 4 is a structural block diagram of a resource management device according to an embodiment of the present application, such as Figure 4 As shown, the device comprises:
[0212] The control unit 402 is used to use the energy consumption configuration module to send the application management information to the application management module, and use the application management module to control the startup of N applications in the application layer or control the shutdown of N applications according to the application management information, wherein the application management information is used to assist the application management module in controlling the startup or shutdown of the N applications;
[0213] The first adjustment unit 404 is used to send the resource information of the computing resources and the resource information of the first hardware resources to the operating system OS management module when the energy consumption configuration module receives the resource information of the computing resources required by the application layer and the resource information of the first hardware resources sent by the application management module, and use the OS management module to adjust the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources, and determine the resource information of the second hardware resources required by the OS layer;
[0214] The second adjustment unit 406 is used to send the resource information of the first hardware resources and the resource information of the second hardware resources to the hardware management module when the energy consumption configuration module receives the resource information of the first hardware resources and the resource information of the second hardware resources sent by the OS management module, and use the hardware management module to adjust the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources.
[0215] Optionally, in this embodiment, the control unit includes: a first control module, which is used to control the startup of N applications or control the shutdown of N applications according to the startup time of N applications and the running cycle of N applications when the application management information includes the startup time of N applications and the running cycle of N applications; a second control module, which is used to control the startup of N applications according to the startup conditions of N applications or control the shutdown of N applications according to the shutdown conditions of N applications when the application management information includes the startup conditions of N applications and the shutdown conditions of N applications.
[0216] Optionally, in this embodiment, the above-mentioned first control module is also used to control the startup of the i-th application when it is determined by the application management module that the current time reaches the i-th startup time of the i-th application among N applications; control the shutdown of the i-th application when it is determined by the application management module that the i-th application completes the first task; control the startup of the i-th application when it is determined by the application management module that the time interval between the first time when the i-th application was last started and the current corresponding second time reaches the length of the i-th operating cycle; control the shutdown of the i-th application when it is determined by the application management module that the i-th application completes the second task; wherein i is an integer, and i is greater than or equal to 1.
[0217] Optionally, in this embodiment, the second control module is further used to control the startup of the jth application when it is determined that the jth application among the N applications meets the jth startup condition using the application management module, wherein, when the jth application is used to manage the target area in the target scene, the jth startup condition is used to indicate that there is a target object in the target area; when the jth application is used to process the third task, the jth startup condition is used to indicate that the nth application associated with the jth application has successfully completed the nth task and output the nth task processing result, and the nth task processing result is used to assist the jth application in processing the third task; and when it is determined that the jth application among the N applications meets the jth shutdown condition using the application management module, control the shutdown of the jth application, wherein, when the jth application is used to manage the target area in the target scene, the jth shutdown condition is used to indicate that there is no target object in the target area; when the jth application is used to process the third task, the jth shutdown condition is used to indicate that the nth application associated with the jth application has not output the nth task processing result of the nth task, and the nth task processing result is used to assist the jth application in processing the third task; wherein, j is an integer, and j is greater than or equal to 1.
[0218] Optionally, in this embodiment, the above-mentioned device also includes: a first determination unit: used to use the application management module to determine the computing resources and the first hardware resources required by the application layer according to the running status of the N application programs.
[0219] Optionally, in this embodiment, the above-mentioned first determination unit includes: a first determination module, used to use the application management module to obtain the running status of each application among N applications, and determine the M applications that have been started among the N applications based on the running status of each application, where M is an integer and M is less than or equal to N; use the application management module to determine the computing resources required to run the M applications, and the hardware objects used to assist in running the M applications.
[0220] Optionally, in this embodiment, the first adjustment unit includes: a first adjustment module, used to reduce the computing resources of the OS layer when the OS management module determines that the amount of computing resources required by the application layer is less than a first threshold; a second adjustment module, used to increase the computing resources of the OS layer when the OS management module determines that the amount of computing resources required by the application layer is greater than a second threshold; wherein the resource information of the computing resources includes the resource amount.
[0221] Optionally, in this embodiment, the first adjustment module is also used to reduce the CPU resources of the OS layer when the OS management module determines that the amount of CPU resources required by the application layer is less than a first CPU resource threshold; reduce the GPU resources of the OS layer when the OS management module determines that the amount of GPU resources required by the application layer is less than a first GPU resource threshold; the second adjustment module is also used to increase the CPU resources of the OS layer when the OS management module determines that the amount of CPU resources required by the application layer is greater than a second CPU resource threshold; and increase the GPU resources of the OS layer when the OS management module determines that the amount of GPU resources required by the application layer is greater than the second GPU resource threshold.
[0222] Optionally, in this embodiment, the above-mentioned device also includes: a first acquisition unit, used to use the OS management module to obtain the resource load of the computing resources in the OS layer; a third adjustment unit, used to use the OS management module to increase the computing resources in the OS layer when the resource load is greater than the first load threshold; a fourth adjustment unit, used to use the OS management module to reduce the computing resources in the OS layer when the resource load is less than the second load threshold.
[0223] Optionally, in this embodiment, the above-mentioned device also includes: a fifth adjustment unit, used to adjust the target system to a sleep state by utilizing the hardware management module when all hardware objects included in the hardware layer are turned off, wherein the operation of the target system depends on the application layer, the OS layer and the hardware layer, and when the target system is in a sleep state, the target system will stop running and the historical operating state of the target system before being stopped will be saved to the target storage area.
[0224] Optionally, in this embodiment, the second adjustment unit includes: a second determination module, used to use the hardware management module to determine the first hardware object required by the application layer according to the resource information of the first hardware resource, and determine the second hardware object required by the OS layer according to the resource information of the second hardware resource; a third control module, used to use the hardware management module to control the startup of the first hardware object and the second hardware object in the hardware layer, and control the shutdown of other hardware objects in the hardware layer except the first hardware object and the second hardware object.
[0225] Optionally, in this embodiment, the above-mentioned device also includes: a first sending unit, used to use the cycle configurator in the energy consumption configuration module to send application management information to the executor in the energy consumption configuration module, wherein the cycle configurator is used to generate the startup time and operation cycle of N applications; when the executor receives the application management information, the executor sends the application management information to the application management module; a second sending unit, used to use the condition configurator in the energy consumption configuration module to send the application management information to the executor in the energy consumption configuration module, wherein the condition configurator is used to generate the startup condition information of N applications and the shutdown condition information of N applications; when the executor receives the application management information, the executor sends the application management information to the application management module.
[0226] Optionally, in this embodiment, the above-mentioned device also includes: a third sending unit, used to use the application management module to send the resource information of computing resources and the resource information of hardware resources to the executor; a fourth sending unit, used to use the executor to send the resource information of computing resources and the resource information of hardware resources to the OS management module when receiving the resource information of computing resources and the resource information of hardware resources.
[0227] Optionally, in this embodiment, the above-mentioned device also includes: a fifth sending unit, which is used for the OS management module to send the resource information of the first hardware resource and the resource information of the second hardware resource to the executor; a sixth sending unit, which is used for the executor to send the resource information of the first hardware resource and the resource information of the second hardware resource to the hardware management module when receiving the resource information of the first hardware resource and the resource information of the second hardware resource.
[0228] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0229] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0230] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0231] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0232] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0233] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0234] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0235] An embodiment of the present application further provides a computer program product, comprising a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program product, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.
[0236] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0237] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0238] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A resource management method, characterized in that: include: The energy consumption configuration module sends the application management information to the application management module, and the application management module controls the startup of N application programs of the application layer or controls the shutdown of the N application programs according to the application management information, wherein the application management information is used to assist the application management module in controlling the startup or shutdown of the N application programs; When the energy consumption configuration module receives the resource information of the computing resources required by the application layer and the resource information of the first hardware resources sent by the application management module, the resource information of the computing resources and the resource information of the first hardware resources are sent to the operating system OS management module, and the OS management module adjusts the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources, and determines the resource information of the second hardware resources required by the OS layer; When the energy consumption configuration module receives the resource information of the first hardware resources and the resource information of the second hardware resources sent by the OS management module, the resource information of the first hardware resources and the resource information of the second hardware resources are sent to the hardware management module, and the hardware management module adjusts the resource configuration of the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources.
2. The resource management method according to claim 1, characterized in that: The application management module controls starting the N application programs of the application layer or controls closing the N application programs according to the application management information, including: In a case where the application management information includes the start time of the N applications and the operation cycle of the N applications, controlling the start of the N applications or controlling the close of the N applications according to the start time of the N applications and the operation cycle of the N applications; When the application management information includes the start conditions of the N applications and the shut down conditions of the N applications, the start conditions of the N applications are controlled to start the N applications, or the shut down conditions of the N applications are controlled to shut down the N applications.
3. The resource management method according to claim 2, characterized in that: The controlling the starting of the N applications or the closing of the N applications according to the starting time of the N applications and the operation cycle of the N applications includes: The application management module controls starting the i-th application when it is determined that the current time reaches the i-th starting time of the i-th application among the N applications; the application management module controls closing the i-th application when it is determined that the i-th application completes the first task; The application management module controls starting the i-th application when it is determined that the time interval between the first time when the i-th application was last started and the second time corresponding to the current time reaches the i-th operation cycle length; the application management module controls closing the i-th application when it is determined that the i-th application completes the second task; Here, i is an integer and i is greater than or equal to 1.
4. The resource management method according to claim 2, characterized in that: The controlling the starting of the N applications according to the starting conditions of the N applications, or controlling the closing of the N applications according to the closing conditions of the N applications includes: The application management module controls the starting of the jth application when it is determined that the jth application among the N applications meets the jth starting condition, wherein, when the jth application is used to manage the target area in the target scene, the jth starting condition is used to indicate that the target object exists in the target area; when the jth application is used to process the third task, the jth starting condition is used to indicate that the nth application associated with the jth application has successfully completed the nth task and output the nth task processing result, and the nth task processing result is used to assist the jth application in processing the third task; The application management module controls closing the j-th application among the N applications when it is determined that the j-th application among the N applications meets the j-th closing condition, wherein, when the j-th application is used to manage a target area in a target scene, the j-th closing condition is used to indicate that the target object does not exist in the target area; when the j-th application is used to process a third task, the j-th closing condition is used to indicate that the n-th application associated with the j-th application has not outputted an n-th task processing result of the n-th task, and the n-th task processing result is used to assist the j-th application in processing the third task; Wherein, j is an integer, and j is greater than or equal to 1.
5. The resource management method according to claim 1, characterized in that: After the energy consumption configuration module sends the application management information to the application management module, the method further includes: The application management module determines the computing resources and the first hardware resources required by the application layer according to the running status of the N application programs.
6. The resource management method according to claim 5, characterized in that: The application management module determines the computing resources and the first hardware resources required by the application layer according to the running status of the N application programs, including: The application management module obtains the running status of each application program among the N applications, and determines M applications that have been started among the N applications according to the running status of each application program, where M is an integer and M is less than or equal to N; The application management module determines the computing resources required to run the M application programs and the hardware objects used to assist in running the M application programs.
7. The resource management method according to claim 1, characterized in that: The OS management module adjusts the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources, including: The OS management module reduces the computing resources of the OS layer when determining that the amount of the computing resources required by the application layer is less than a first threshold; The OS management module increases the computing resources of the OS layer when determining that the amount of the computing resources required by the application layer is greater than a second threshold; The resource information of the computing resources includes the resource quantity.
8. The resource management method according to claim 7, characterized in that: When the OS management module determines that the amount of the computing resources required by the application layer is less than a first threshold, reducing the computing resources of the OS layer includes: when the OS management module determines that the amount of CPU resources required by the application layer is less than a first CPU resource threshold, reducing the CPU resources of the OS layer; when the OS management module determines that the amount of GPU resources required by the application layer is less than a first GPU resource threshold, reducing the GPU resources of the OS layer; When the OS management module determines that the amount of computing resources required by the application layer is greater than a second threshold, increasing the computing resources of the OS layer includes: when the OS management module determines that the amount of CPU resources required by the application layer is greater than a second CPU resource threshold, increasing the CPU resources of the OS layer; when the OS management module determines that the amount of GPU resources required by the application layer is greater than a second GPU resource threshold, increasing the GPU resources of the OS layer.
9. The resource management method according to any one of claims 1 to 8, characterized in that: The resource management method also includes: The OS management module obtains the resource load of the computing resources in the OS layer; The OS management module increases computing resources in the OS layer when the resource load is greater than a first load threshold; The OS management module reduces computing resources in the OS layer when the resource load is less than a second load threshold.
10. The resource management method according to any one of claims 1 to 8, characterized in that: The resource management method also includes: The hardware management module adjusts the target system to a sleep state when all hardware objects included in the hardware layer are closed, wherein the operation of the target system depends on the application layer, the OS layer and the hardware layer. When the target system is in the sleep state, the target system will stop running and the historical running state of the target system before being stopped will be saved to the target storage area.
11. The resource management method according to any one of claims 1 to 8, characterized in that: The hardware management module adjusting the resource configuration of the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources includes: The hardware management module determines the first hardware object required by the application layer according to the resource information of the first hardware resource, and determines the second hardware object required by the OS layer according to the resource information of the second hardware resource; The hardware management module controls starting the first hardware object and the second hardware object in the hardware layer, and controls closing other hardware objects in the hardware layer except the first hardware object and the second hardware object.
12. The resource management method according to any one of claims 1 to 8, characterized in that: The energy consumption configuration module sends the application management information to the application management module, including: The cycle configurator in the energy consumption configuration module sends the application management information to the executor in the energy consumption configuration module, wherein the cycle configurator is used to generate the startup time and the operation cycle of the N application programs; the executor sends the application management information to the application management module when receiving the application management information; or The condition configurator in the energy consumption configuration module sends the application management information to the executor in the energy consumption configuration module, wherein the condition configurator is used to generate the startup condition information of the N applications and the shutdown condition information of the N applications; when the executor receives the application management information, it sends the application management information to the application management module.
13. The resource management method according to claim 12, characterized in that: After the energy consumption configuration module sends the application management information to the application management module, the method further includes: The application management module sends the resource information of the computing resources and the resource information of the hardware resources to the executor; Upon receiving the resource information of the computing resources and the resource information of the hardware resources, the executor sends the resource information of the computing resources and the resource information of the hardware resources to the OS management module.
14. The resource management method according to claim 13, characterized in that: After sending the resource information of the computing resource and the resource information of the first hardware resource to the operating system OS management module, the method further includes: The OS management module sends the resource information of the first hardware resource and the resource information of the second hardware resource to the executor; Upon receiving the resource information of the first hardware resource and the resource information of the second hardware resource, the executor sends the resource information of the first hardware resource and the resource information of the second hardware resource to the hardware management module.
15. A resource management system, characterized in that: include: An energy consumption configuration module, used to send application management information to the application management module; further configured to send the resource information of the computing resources and the resource information of the first hardware resources to the operating system OS management module upon receiving the resource information of the computing resources required by the application layer and the resource information of the first hardware resources sent by the application management module; further configured to send the resource information of the first hardware resource and the resource information of the second hardware resource to the hardware management module upon receiving the resource information of the first hardware resource and the resource information of the second hardware resource sent by the OS management module; wherein the application management information is used to assist the application management module in controlling the startup or shutdown of N application programs at the application layer; An application management module, used for controlling the startup of N application programs of the application layer or controlling the shutdown of the N application programs according to the application management information; An OS management module, configured to adjust resource configuration of computing resources in the OS layer according to resource information of the computing resources, and determine resource information of a second hardware resource required by the OS layer; The hardware management module is used to adjust the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources.
16. A resource management device, characterized in that: include: A control unit, configured to use the energy consumption configuration module to send application management information to the application management module, and use the application management module to control the startup of N application programs of the application layer or control the shutdown of the N application programs according to the application management information, wherein the application management information is used to assist the application management module in controlling the startup or shutdown of the N application programs; a first adjustment unit, configured to, when receiving resource information of the computing resources and the first hardware resources required by the application layer sent by the application management module using the energy consumption configuration module, send the resource information of the computing resources and the first hardware resources to the operating system OS management module, and use the OS management module to adjust the resource configuration of the computing resources in the OS layer according to the resource information of the computing resources, and determine the resource information of the second hardware resources required by the OS layer; The second adjustment unit is used to send the resource information of the first hardware resources and the resource information of the second hardware resources to the hardware management module when the energy consumption configuration module receives the resource information of the first hardware resources and the resource information of the second hardware resources sent by the OS management module, and use the hardware management module to adjust the hardware resources of the hardware layer according to the resource information of the first hardware resources and the resource information of the second hardware resources.
17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method according to any one of claims 1 to 14 when executed by a processor.
18. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 14 are implemented.
19. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 14 are implemented.
Citation Information
Patent Citations
Resource scheduling method, device and terminal equipment
CN103019837A
Apparatus and method for reducing energy consumption of hardware based on application state
CN110383241A