CN116700982A - Multi-pressure management method and related device - Google Patents

Multi-pressure management method and related device Download PDF

Info

Publication number
CN116700982A
CN116700982A CN202310739676.1A CN202310739676A CN116700982A CN 116700982 A CN116700982 A CN 116700982A CN 202310739676 A CN202310739676 A CN 202310739676A CN 116700982 A CN116700982 A CN 116700982A
Authority
CN
China
Prior art keywords
requests
determining
pressure
request
electronic device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310739676.1A
Other languages
Chinese (zh)
Inventor
黎重
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202310739676.1A priority Critical patent/CN116700982A/en
Publication of CN116700982A publication Critical patent/CN116700982A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Telephone Function (AREA)

Abstract

The embodiment of the application discloses a multi-pressure pipe control method and a related device, wherein the method comprises the following steps: determining device pressures corresponding to the plurality of IO requests; determining PSI pressures corresponding to a plurality of IO requests; and when the device pressure is greater than or equal to a first preset threshold value and the PSI pressure is greater than or equal to a second preset threshold value, IO packet management and control are executed on the plurality of IO requests. By adopting the embodiment of the application, the device pressure and the PSI pressure can be combined to determine whether the IO grouping control needs to be executed, the IO pressure of the system can be perceived in advance, and the effective control of IO requests can be realized.

Description

Multi-pressure management method and related device
Technical Field
The application relates to the technical field of electronic equipment, in particular to a multi-pressure management method and a related device.
Background
The read-write scheduling module of the electronic equipment such as the mobile phone, the tablet personal computer and the like can receive a plurality of read operation requests or write operation requests aiming at a plurality of application programs, namely input and output requests (namely IO requests), which are issued by the system.
When the electronic equipment processes IO requests corresponding to a plurality of application programs, the IO requests can be managed and controlled in groups, and when the application programs are started, the IO requests running in the background are subjected to speed limiting processing in the first seconds. The method is only suitable for application starting scenes, and the generated IO pressure cannot be perceived in advance.
Disclosure of Invention
The embodiment of the application provides a multi-pressure management and control method and a related device, which can combine device pressure and PSI pressure to determine whether IO grouping management and control is needed to be executed, can sense IO pressure of a system in advance, is beneficial to realizing effective management and control of IO requests, can be adapted to various application scenes, is not limited to the scenes of application starting, and is beneficial to improving scheme applicability.
In a first aspect, an embodiment of the present application provides a multi-pressure management method, applied to an electronic device, where the method includes:
determining device pressures corresponding to the plurality of IO requests;
determining PSI pressures corresponding to the IO requests;
and when the device pressure is greater than or equal to a first preset threshold value and the PSI pressure is greater than or equal to a second preset threshold value, IO packet control is executed on the plurality of IO requests.
In a second aspect, embodiments of the present application provide a multi-pressure management apparatus, the apparatus being applied to an electronic device, the apparatus comprising: a determining unit and a grouping control unit, wherein,
the determining unit is used for determining device pressures corresponding to the IO requests;
the determining unit is further configured to determine PSI pressures corresponding to the plurality of IO requests;
The grouping control unit is further configured to perform IO grouping control on the plurality of IO requests when the device pressure is greater than or equal to a first preset threshold and the PSI pressure is greater than or equal to a second preset threshold.
In a third aspect, an embodiment of the present application provides an electronic device, including a processor, a memory, a communication interface, and one or more programs, where the one or more programs are stored in the memory and configured to be executed by the processor, the programs including instructions for performing steps in any of the methods of the first aspect of the embodiments of the present application.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program for electronic data exchange, wherein the computer program causes a computer to perform part or all of the steps as described in any of the methods of the first aspect of the embodiments of the present application.
In a fifth aspect, embodiments of the present application provide a computer program product, wherein the computer program product comprises a non-transitory computer readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps described in any of the methods of the first aspect of the embodiments of the present application. The computer program product may be a software installation package.
It can be seen that, in the embodiment of the present application, device pressures corresponding to a plurality of IO requests are determined; determining PSI pressures corresponding to the IO requests; and when the device pressure is greater than or equal to a first preset threshold value and the PSI pressure is greater than or equal to a second preset threshold value, IO packet control is executed on the plurality of IO requests. Therefore, the device pressure and the PSI pressure can be combined to determine whether IO grouping control needs to be executed, so that the IO request effective control is facilitated, the IO request effective control can be adapted to various application scenes, the application starting scene is not limited, and the scheme applicability is facilitated to be improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments or the description of the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 2 is a schematic software structure of an electronic device according to an embodiment of the present application;
FIG. 3A is a schematic diagram of a multi-pressure management system according to an embodiment of the present application;
FIG. 3B is a schematic diagram of a multi-pressure management system according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a multi-pressure management system according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 6 is a functional unit block diagram of a multi-pressure management and control device according to an embodiment of the present application.
Detailed Description
In order that those skilled in the art will better understand the present application, a technical solution in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The terms first, second and the like in the description and in the claims and in the above-described figures are used for distinguishing between different objects and not necessarily for describing a sequential or chronological order. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the application. The appearances of such phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those of skill in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments.
The electronic device may be a portable electronic device that also contains other functions such as personal digital assistant and/or music player functions, such as a cell phone, tablet computer, terminal device, wearable electronic device with wireless communication functions (e.g., smart watch, smart glasses), vehicle-mounted device, etc. Exemplary embodiments of portable electronic devices include, but are not limited to, portable electronic devices that are equipped with IOS systems, android systems, microsoft systems, or other operating systems. The portable electronic device may also be other portable electronic devices such as a Laptop computer (Laptop) or the like. It should also be appreciated that in other embodiments, the electronic device described above may not be a portable electronic device, but rather a desktop computer. In some embodiments, the electronic device includes a display screen; in some embodiments, the electronic device may further comprise a virtual reality device.
The software and hardware operation environment of the technical scheme disclosed by the application is introduced as follows.
By way of example, fig. 1 shows a schematic diagram of an electronic device 100. Electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (universal serial bus, USB) interface 130, a charge management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a compass 190, a motor 191, an indicator 192, a camera 193, a display 194, a subscriber identity module (subscriber identification module, SIM) card interface 195, and the like.
It should be understood that the illustrated structure of the embodiment of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the application, electronic device 100 may include more or fewer components than shown, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
The processor 110 may include one or more processing units, such as: the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate components or may be integrated in one or more processors. In some embodiments, the electronic device 100 may also include one or more processors 110. The controller can generate operation control signals according to the instruction operation codes and the time sequence signals to finish the control of instruction fetching and instruction execution. In other embodiments, memory may also be provided in the processor 110 for storing instructions and data. Illustratively, the memory in the processor 110 may be a cache memory. The memory may hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to reuse the instruction or data, it can be called directly from the memory. This avoids repeated accesses and reduces the latency of the processor 110, thereby improving the efficiency of the electronic device 100 in processing data or executing instructions.
In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include inter-integrated circuit (inter-integrated circuit, I2C) interfaces, inter-integrated circuit audio (inter-integrated circuit sound, I2S) interfaces, pulse code modulation (pulse code modulation, PCM) interfaces, universal asynchronous receiver transmitter (universal asynchronous receiver/transmitter, UART) interfaces, mobile industry processor interfaces (mobile industry processor interface, MIPI), general-purpose input/output (GPIO) interfaces, SIM card interfaces, and/or USB interfaces, among others. The USB interface 130 is an interface conforming to the USB standard, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. The USB interface 130 may be used to connect a charger to charge the electronic device 100, and may also be used to transfer data between the electronic device 100 and a peripheral device. The USB interface 130 may also be used to connect headphones through which audio is played.
It should be understood that the interfacing relationship between the modules illustrated in the embodiments of the present application is only illustrative, and is not meant to limit the structure of the electronic device 100. In other embodiments of the present application, the electronic device 100 may also employ different interfacing manners in the above embodiments, or a combination of multiple interfacing manners.
The charge management module 140 is configured to receive a charge input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charge management module 140 may receive a charging input of a wired charger through the USB interface 130. In some wireless charging embodiments, the charge management module 140 may receive wireless charging input through a wireless charging coil of the electronic device 100. The charging management module 140 may also supply power to the electronic device through the power management module 141 while charging the battery 142.
The power management module 141 is used for connecting the battery 142, and the charge management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and/or the charge management module 140 and provides power to the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, the wireless communication module 160, and the like. The power management module 141 may also be configured to monitor battery capacity, battery cycle times, battery health (leakage, impedance), and other parameters. In other embodiments, the power management module 141 may also be provided in the processor 110. In other embodiments, the power management module 141 and the charge management module 140 may be disposed in the same device.
The wireless communication function of the electronic device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in the electronic device 100 may be used to cover a single or multiple communication bands. Different antennas may also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed into a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution for wireless communication including 2G/3G/4G/5G, etc., applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA), etc. The mobile communication module 150 may receive electromagnetic waves from the antenna 1, perform processes such as filtering, amplifying, and the like on the received electromagnetic waves, and transmit the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 150 can amplify the signal modulated by the modem processor, and convert the signal into electromagnetic waves through the antenna 1 to radiate. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be provided in the same device as at least some of the modules of the processor 110.
The wireless communication module 160 may provide solutions for wireless communication including wireless local area network (wireless local area networks, WLAN) (e.g., wireless fidelity (wireless fidelity, wi-Fi) network), bluetooth (BT), global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field wireless communication technology (near field communication, NFC), infrared technology (IR), UWB, etc., applied to the electronic device 100. The wireless communication module 160 may be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the electromagnetic wave signals, filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, frequency modulate it, amplify it, and convert it to electromagnetic waves for radiation via the antenna 2.
The electronic device 100 implements display functions through a GPU, a display screen 194, an application processor, and the like. The GPU is a microprocessor for relational analysis, and is connected to the display 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
The display screen 194 is used to display images, videos, and the like. The display 194 includes a display panel. The display panel may employ a liquid crystal display (liquid crystal display, LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED) or an active-matrix organic light-emitting diode (matrix organic light emitting diode), a flexible light-emitting diode (FLED), a mini light-emitting diode (mini light-emitting diode), microLed, micro-OLED, a quantum dot light-emitting diode (quantum dot light emitting diodes, QLED), or the like. In some embodiments, the electronic device 100 may include 1 or more display screens 194.
The electronic device 100 may implement a photographing function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, an application processor, and the like.
The ISP is used to process data fed back by the camera 193. For example, when photographing, the shutter is opened, light is transmitted to the camera photosensitive element through the lens, the optical signal is converted into an electric signal, and the camera photosensitive element transmits the electric signal to the ISP for processing and is converted into an image visible to naked eyes. ISP can also perform algorithm optimization on noise, brightness and skin color of the image. The ISP can also optimize parameters such as exposure, color temperature, etc. of the photographed scene. In some embodiments, the ISP may be provided in the camera 193.
The camera 193 is used to capture still images or video. The object generates an optical image through the lens and projects the optical image onto the photosensitive element. The photosensitive element may be a charge coupled device (charge coupled device, CCD) or a Complementary Metal Oxide Semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, which is then transferred to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV, or the like format. In some embodiments, electronic device 100 may include 1 or more cameras 193.
The digital signal processor is used for processing digital signals, and can process other digital signals besides digital image signals. For example, when the electronic device 100 selects a frequency bin, the digital signal processor is used to fourier transform the frequency bin energy, or the like.
Video codecs are used to compress or decompress digital video. The electronic device 100 may support one or more video codecs. In this way, the electronic device 100 may play or record video in a variety of encoding formats, such as: moving picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
The NPU is a neural-network (NN) computing processor, and can rapidly process input information by referencing a biological neural network structure, for example, referencing a transmission mode between human brain neurons, and can also continuously perform self-learning. Applications such as intelligent awareness of the electronic device 100 may be implemented through the NPU, for example: image recognition, face recognition, speech recognition, text understanding, etc.
The external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to enable expansion of the memory capabilities of the electronic device 100. The external memory card communicates with the processor 110 through an external memory interface 120 to implement data storage functions. For example, files such as music, video, etc. are stored in an external memory card.
The internal memory 121 may be used to store one or more computer programs, including instructions. The processor 110 may cause the electronic device 100 to execute the method of displaying page elements provided in some embodiments of the present application, as well as various applications, data processing, and the like, by executing the above-described instructions stored in the internal memory 121. The internal memory 121 may include a storage program area and a storage data area. The storage program area can store an operating system; the storage program area may also store one or more applications (such as gallery, contacts, etc.), etc. The storage data area may store data created during use of the electronic device 100 (e.g., photos, contacts, etc.), and so on. In addition, the internal memory 121 may include high-speed random access memory, and may also include nonvolatile memory, such as one or more disk storage units, flash memory units, universal flash memory (universal flash storage, UFS), and the like. In some embodiments, processor 110 may cause electronic device 100 to perform the methods of displaying page elements provided in embodiments of the present application, as well as other applications and data processing, by executing instructions stored in internal memory 121, and/or instructions stored in a memory provided in processor 110. The electronic device 100 may implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, an application processor, and the like. Such as music playing, recording, etc.
The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, and the like.
The pressure sensor 180A is used for sensing a pressure signal, and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display screen 194. The pressure sensor 180A is of various types, such as a resistive pressure sensor, an inductive pressure sensor, a capacitive pressure sensor, and the like. The capacitive pressure sensor may be a capacitive pressure sensor comprising at least two parallel plates with conductive material. The capacitance between the electrodes changes when a force is applied to the pressure sensor 180A. The electronic device 100 determines the strength of the pressure from the change in capacitance. When a touch operation is applied to the display screen 194, the electronic apparatus 100 detects the touch operation intensity according to the pressure sensor 180A. The electronic device 100 may also calculate the location of the touch based on the detection signal of the pressure sensor 180A. In some embodiments, touch operations that act on the same touch location, but at different touch operation strengths, may correspond to different operation instructions. For example: and executing an instruction for checking the short message when the touch operation with the touch operation intensity smaller than the first pressure threshold acts on the short message application icon. And executing an instruction for newly creating the short message when the touch operation with the touch operation intensity being greater than or equal to the first pressure threshold acts on the short message application icon.
The gyro sensor 180B may be used to determine a motion gesture of the electronic device 100. In some embodiments, the angular velocity of electronic device 100 about three axes (i.e., X, Y and Z axis) may be determined by gyro sensor 180B. The gyro sensor 180B may be used for photographing anti-shake. For example, when the shutter is pressed, the gyro sensor 180B detects the shake angle of the electronic device 100, calculates the distance to be compensated by the lens module according to the angle, and makes the lens counteract the shake of the electronic device 100 through the reverse motion, so as to realize anti-shake. The gyro sensor 180B may also be used for navigating, somatosensory game scenes.
The acceleration sensor 180E may detect the magnitude of acceleration of the electronic device 100 in various directions (typically three axes). The magnitude and direction of gravity may be detected when the electronic device 100 is stationary. The electronic equipment gesture recognition method can also be used for recognizing the gesture of the electronic equipment, and is applied to horizontal and vertical screen switching, pedometers and other applications.
The ambient light sensor 180L is used to sense ambient light level. The electronic device 100 may adaptively adjust the brightness of the display 194 based on the perceived ambient light level. The ambient light sensor 180L may also be used to automatically adjust white balance when taking a photograph. Ambient light sensor 180L may also cooperate with proximity light sensor 180G to detect whether electronic device 100 is in a pocket to prevent false touches.
The fingerprint sensor 180H is used to collect a fingerprint. The electronic device 100 may utilize the collected fingerprint feature to unlock the fingerprint, access the application lock, photograph the fingerprint, answer the incoming call, etc.
The temperature sensor 180J is for detecting temperature. In some embodiments, the electronic device 100 performs a temperature processing strategy using the temperature detected by the temperature sensor 180J. For example, when the temperature reported by temperature sensor 180J exceeds a threshold, electronic device 100 performs a reduction in the performance of a processor located in the vicinity of temperature sensor 180J in order to reduce power consumption to implement thermal protection. In other embodiments, when the temperature is below another threshold, the electronic device 100 heats the battery 142 to avoid the low temperature causing the electronic device 100 to be abnormally shut down. In other embodiments, when the temperature is below a further threshold, the electronic device 100 performs boosting of the output voltage of the battery 142 to avoid abnormal shutdown caused by low temperatures.
The touch sensor 180K, also referred to as a "touch panel". The touch sensor 180K may be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, which is also called a "touch screen". The touch sensor 180K is for detecting a touch operation acting thereon or thereabout. The touch sensor may communicate the detected touch operation to the application processor to determine the touch event type. Visual output related to touch operations may be provided through the display 194. In other embodiments, the touch sensor 180K may also be disposed on the surface of the electronic device 100 at a different location than the display 194.
By way of example, fig. 2 shows a block diagram of the software architecture of the electronic device 100. The layered architecture divides the software into several layers, each with distinct roles and branches. The layers communicate with each other through a software interface. In some embodiments, the Android system is divided into four layers, from top to bottom, an application layer, an application framework layer, an Zhuoyun row (Android run) and system libraries, and a kernel layer, respectively. The application layer may include a series of application packages.
As shown in fig. 2, the application package may include applications for cameras, gallery, calendar, phone calls, maps, navigation, WLAN, bluetooth, music, video, short messages, etc.
The application framework layer provides an application programming interface (application programming interface, API) and programming framework for application programs of the application layer. The application framework layer includes a number of predefined functions.
As shown in FIG. 2, the application framework layer may include a window manager, a content provider, a view system, a telephony manager, a resource manager, a notification manager, and the like.
The window manager is used for managing window programs. The window manager can acquire the size of the display screen, judge whether a status bar exists, lock the screen, intercept the screen and the like.
The content provider is used to store and retrieve data and make such data accessible to applications. The data may include video, images, audio, calls made and received, browsing history and bookmarks, phonebooks, etc.
The view system includes visual controls, such as controls to display text, controls to display pictures, and the like. The view system may be used to build applications. The display interface may be composed of one or more views. For example, a display interface including a text message notification icon may include a view displaying text and a view displaying a picture.
The telephony manager is used to provide the communication functions of the electronic device 100. Such as the management of call status (including on, hung-up, etc.).
The resource manager provides various resources for the application program, such as localization strings, icons, pictures, layout files, video files, and the like.
The notification manager allows the application to display notification information in a status bar, can be used to communicate notification type messages, can automatically disappear after a short dwell, and does not require user interaction. Such as notification manager is used to inform that the download is complete, message alerts, etc. The notification manager may also be a notification in the form of a chart or scroll bar text that appears on the system top status bar, such as a notification of a background running application, or a notification that appears on the screen in the form of a dialog window. For example, a text message is prompted in a status bar, a prompt tone is emitted, the electronic device vibrates, and an indicator light blinks, etc.
Android run time includes a core library and virtual machines. Android run time is responsible for scheduling and management of the Android system.
The core library consists of two parts: one part is a function which needs to be called by java language, and the other part is a core library of android.
The application layer and the application framework layer run in a virtual machine. The virtual machine executes java files of the application program layer and the application program framework layer as binary files. The virtual machine is used for executing the functions of object life cycle management, stack management, thread management, security and exception management, garbage collection and the like.
The system library may include a plurality of functional modules. For example: surface manager (surface manager), media library (media library), three-dimensional graphics processing library (e.g., openGL ES), 2D graphics engine (e.g., SGL), etc.
The surface manager is used to manage the display subsystem and provides a fusion of 2D and 3D layers for multiple applications.
Media libraries support a variety of commonly used audio, video format playback and recording, still image files, and the like. The media library may support a variety of audio video encoding formats, such as: MPEG4, h.264, MP3, AAC, AMR, JPG, PNG, etc.
The three-dimensional graphic processing library is used for realizing three-dimensional graphic drawing, image rendering, synthesis, layer processing and the like.
The 2D graphics engine is a drawing engine for 2D drawing.
The kernel layer is a layer between hardware and software. The inner core layer at least comprises a display driver, a camera driver, an audio driver and a sensor driver.
Referring to fig. 3A, fig. 3A is a schematic structural diagram of a multi-pressure management system according to an embodiment of the present application, which is applied to an electronic device, and the multi-pressure management system may include: the device pressure sensing calculation unit, the IO pressure decision and control unit and the PSI (pressure information ) pressure sensing unit.
The IO pressure decision and control unit is respectively connected with the PSI pressure sensing unit and the device pressure sensing calculation unit.
As illustrated in fig. 3B, the multi-pressure management system further includes, based on fig. 3A: an originating device, a Kenel PSI unit, and a kernel system unit, wherein the kernel system unit may include, but is not limited to, at least one of: virtual file system (Virtual File System, VFS) modules, block layer (block layer) and scsi subsystem (SCSI MID LAYER), and the like.
Wherein, the block layer is encapsulated with a distributed storage (Qos) speed limiting design unit, which can be expressed as Qos-threttle, and the unit is connected with the IO pressure decision and control unit.
The initiating device can be connected with a device pressure sensing and calculating unit, and the Kenel (kernel) -PSI unit is connected with a PSI pressure sensing unit.
Wherein an initiating device may be used to represent a device (e.g., an application or storage medium (e.g., eMMc, UFS, etc.)) that initiated the IO request.
The device pressure sensing calculation unit can acquire buried point data corresponding to the initiating device through interaction with the initiating device, and further determine device pressures corresponding to a plurality of IO requests.
The PSI pressure sensing unit can schedule and sense PSI pressures corresponding to a plurality of IO requests processed by a system for the electronic equipment, wherein the system is determined by the Kenel-PSI unit.
The device pressure and/or PSI pressure may refer to specific pressure values, or may refer to pressure degrees, which are not limited herein.
The qos-bypass may be used to perform IO packet management on a plurality of IO requests, and may be used to manage a plurality of IO requests.
In the present application, a plurality may refer to two or more, and will not be described in detail later.
Referring to fig. 4, fig. 4 is a schematic flow chart of a multi-pressure management method according to an embodiment of the application, which is applied to an electronic device, and as shown in the drawings, the multi-pressure management method includes the following operations.
S401, determining device pressures corresponding to a plurality of IO requests.
S402, determining PSI pressures corresponding to the IO requests.
S403, executing IO group management and control on the plurality of IO requests when the device pressure is greater than or equal to a first preset threshold value and the PSI pressure is greater than or equal to a second preset threshold value.
The electronic device may receive a plurality of IO requests issued by a plurality of applications within a certain period of time, where each IO request may correspond to an application.
The device pressure can be used for describing the pressure condition born by the memory device under a plurality of IO requests, and can refer to the degree of the pressure; consistent with fig. 3A and 3B, device pressures corresponding to a plurality of IO requests may be determined by the IO pressure decision and control unit.
The PSI pressure may be used to describe how tight the electronic device system is handling resources of multiple IO requests, where the PSI pressure is described from a dimension that supports IO memory monitoring, and is different from the device pressure, and is consistent with fig. 3A and 3B, and may be determined by a PSI pressure sensing unit through sensing.
The first preset threshold and/or the second preset threshold may be set by the user or default by the system, which is not limited herein; and the first preset threshold and the second preset threshold are different.
For example, the first preset threshold may be a percentage, and may be used to represent the degree of pressure of the devices requested by the plurality of IOs, and when the device pressure is greater than or equal to the first preset threshold, it indicates that the pressure of the real-time device level reaches the degree to be controlled; the second device pressure may be a value that indicates that the real-time PSI pressure is to the extent that control is required when the PSI pressure is greater than or equal to a second preset threshold.
It should be noted that when the device pressure is smaller than the first preset threshold value and/or the PSI pressure is smaller than the second preset threshold value, that is, any one of the two parameter indexes (the device pressure and the PSI pressure) does not reach the threshold value, the IO packet control may not be performed on the plurality of IO requests immediately, a period may be set, and the IO packets may be controlled periodically.
The IO packet management and control can be used for effectively managing IO operation behaviors corresponding to the background abnormal IO requests.
It can be seen that, in the multi-pressure management method described in the embodiment of the present application, device pressures corresponding to a plurality of IO requests are determined; determining PSI pressures corresponding to the IO requests; and when the device pressure is greater than or equal to a first preset threshold value and the PSI pressure is greater than or equal to a second preset threshold value, IO packet control is executed on the plurality of IO requests. Therefore, the device pressure and the PSI pressure can be combined to determine whether IO grouping control needs to be executed, so that the IO request effective control is facilitated, the IO request effective control can be adapted to various application scenes, the application starting scene is not limited, and the scheme applicability is facilitated to be improved.
In one possible example, the determining device pressure aspects corresponding to the plurality of IO requests may include the following steps: for each IO request, obtaining buried point data corresponding to an initiating device initiating the IO request and index parameters, wherein the index parameters are used for determining the completion time of the IO request when the IO request is completed, and the buried point data comprises at least one of the following components: the initiation time corresponding to the IO request and the completion time corresponding to the IO request; determining a device pressure condition corresponding to the initiating device according to the buried point data and the size of the IO block corresponding to the IO request; and determining the device pressure corresponding to the IO requests according to the device pressure condition corresponding to each IO request in the IO requests.
Each IO request may correspond to one IO block, where the size of the IO block is some 32M, some 1M, some 4K, and not limited herein.
In a specific implementation, consistent with fig. 3A and fig. 3B, the electronic device may perform embedded point processing on the initiating device, so as to obtain, by using the device pressure sensing calculation unit, an initiating time corresponding to the IO request; index parameters (which can be expressed as rq_qos_done) can be assembled in the electronic equipment, point embedding processing is carried out on the index parameters, and when the IO request is executed, the index parameters can be triggered so as to obtain the completion time of the corresponding IO request through the device pressure sensing calculation unit.
The device pressure condition described above may be used to indicate whether the corresponding IO request is causing device pressure or device pressure present or not.
In this example, the electronic device may determine the initiation time and the completion time corresponding to each IO request by using a buried point manner, which is favorable to help the device pressure sensing calculation unit in the electronic device accurately sense the buried point data, and is favorable to determine the device pressure condition corresponding to each IO request by using the buried point data and the size of the IO block, thereby being favorable to determine the device pressures corresponding to a plurality of IO requests; the method is also beneficial to perceiving IO pressure in advance, not only can be used for scenes started by application programs, but also can be suitable for various scenes.
In one possible example, in determining the device pressure condition corresponding to the initiating device according to the buried point data and the size of the IO block corresponding to the IO request, the method may further include the following steps: determining delay corresponding to the IO block according to the initiation time and the completion time of the IO request corresponding to the buried data; determining a target threshold corresponding to the IO block according to the size of the IO block; and determining the device pressure condition corresponding to the initiating device according to the target threshold and the delay.
In one possible example, the target thresholds corresponding to the IO blocks of different sizes are different.
The target threshold may be set by the user or default by the system, which is not limited herein; because the IO blocks are not uniform in size, their impact on the delay of IO request completion is different, and therefore, target thresholds may be set for IO blocks of different sizes. The target threshold may be used to evaluate device pressure conditions corresponding to the IO blocks based on delay conditions of the IO requests.
The size of the IO block may refer to how many consecutive read sectors are given in the instruction of the controller, and if the number is large, such as 128, 64, etc., it may be understood as a large IO block, and if it is small, such as 1,4,8, etc., it may be understood as a small IO block, with no clear demarcation between the large and small blocks.
For example, the target threshold corresponding to the larger IO block may be set to be greater than the target threshold of the smaller IO block, which may be set as an empirical threshold.
The electronic equipment can obtain delay by subtracting the initiation time from the completion time; the specific delay algorithm is not limited herein.
It can be seen that, in this example, considering the difference of the size of each IO block, setting a different target threshold is beneficial to improving the accuracy of evaluating the device pressure condition of each IO request.
In one possible example, the determining the device pressure condition aspect corresponding to the initiating device according to the target threshold and the delay may include the following steps: determining a preset delay of the IO block under normal processing capacity; calculating a comparison value of the delay and the preset delay; if the comparison value is greater than or equal to the target threshold value, determining that the IO request has device pressure; and if the comparison value is smaller than the target threshold value, determining that the IO request has no device pressure.
The electronic device may evaluate the processing capability of each size of the IO block (which may be determined by the response time, the load capability, the IO request waiting time, etc. of the IO block), and evaluate the processing time of the device corresponding to the IO block to be a preset delay under the normal processing capability.
The method for calculating the comparison value of the delay and the preset duration can be preset by the electronic equipment, and the method is not particularly limited; for example, a ratio of the delay to a preset time period may be used as the comparison value.
For example, if the normal processing capability of one IO block is used to characterize that the speed of sequential reading and writing is 500M/s under normal conditions, it can be understood that for an IO request of 500M, the device processing time is 1000ms (preset delay); if one second of data issued by 1G (1024M) exceeds the normal processing capability of the IO block, that is, for 1G of IO request, the device will generate delay of processing the 1G of data, which is about 2048ms, exceeding the normal processing duration, a preset target threshold value of 1, 2048/1000>1 will indicate that the IO request has device pressure, and when the processed data is larger, the comparison value is larger, which indicates that the device pressure is larger.
Note that, when the IO block is larger, the device pressure with respect to the smaller IO block is smaller for the request of IO of the same data amount. For example, under the normal condition of a larger IO block, the speed of sequential reading and writing is 800M/s, under the normal condition of a smaller IO block, the speed of sequential reading and writing is 500M/s, the IO request of 1G is processed, the delay of the larger IO block is 1028ms, the delay of the smaller IO block is 2048ms, comparison values are calculated respectively, the comparison value of the larger IO block is 1.028, the comparison value of the smaller IO block is 2, if the target threshold value is set to be 1, but the device pressure corresponding to the smaller IO block in the actual condition is larger than the device pressure of the larger IO block, the influence of the IO blocks with different sizes on the device pressure cannot be balanced or accurately described, and thus, the device for calculating the pressure of a plurality of IO blocks is inaccurate in the follow-up process; in order to balance the device pressure conditions of the two IO blocks, the target threshold value of the larger IO block can be set to be larger than that of the smaller IO block, so that the accuracy of determining the device pressure of a plurality of IO requests in the follow-up process is improved.
Thus, an empirical threshold, i.e., a target threshold, may be set, and when the comparison of the estimated delay to the predetermined duration exceeds (is greater than or equal to) the target threshold, the amount of processing data corresponding to the IO request is deemed to exceed the expected device pressure, i.e., the device pressure is present.
The electronic device may set that the target threshold of the larger IO block is greater than the target threshold corresponding to the smaller IO block.
It can be seen that, in this example, considering the difference of the size of each IO block, setting a different target threshold is beneficial to improving the accuracy of evaluating the device pressure condition of each IO request.
In one possible example, the determining the device pressure aspect corresponding to the plurality of IO requests according to the device pressure condition corresponding to each of the plurality of IO requests may include the following steps: counting the number value of at least one IO request with device pressure according to the device pressure conditions corresponding to the IO requests; calculating a total number magnitude of the plurality of IO requests; and calculating a proportion value of the quantity value and the total quantity value, and determining the proportion value as the device pressure corresponding to the IO requests.
For example, assuming 1000 IO requests, where the comparison value of the delays corresponding to 50 IO requests exceeds the target threshold corresponding to each of the two IO requests, that is, there are 50 IO requests having device pressures, the ratio value may be calculated as: 50/1000, i.e. 5%. If the first threshold is set to be 2%,5% and more than 2%, determining or evaluating that the device pressure exists in the plurality of IO requests, and immediately executing IO control; if the first threshold is set to 10%,5% <10%, then it may be determined or evaluated that the plurality of IO requests have no device pressure, no IO throttling may need to be performed, or IO throttling may be performed periodically.
Alternatively, the period during which the IO management is periodically performed may be evaluated by comparing the first preset threshold value with the device pressures of the plurality of IO requests.
In this example, the electronic device may sense whether the device pressure exists in the plurality of IO requests, and jointly evaluate whether the IO pressure exists in the system or the electronic device in combination with the subsequent PSI pressure, which is beneficial to adapting to various scenes and timely managing and controlling the IO pressure of the system.
In one possible example, the performing IO packet management on the plurality of IO requests may include the steps of: grouping the plurality of IO requests to obtain a group of IO requests corresponding to a foreground application scene and a group of IO requests corresponding to a background application scene; and carrying out speed limiting management on a group of IO requests corresponding to the background application scene, and not carrying out speed limiting management on a group of IO requests corresponding to the foreground application program.
In the application, after IO grouping is executed, abnormal IO behaviors of the background can be effectively managed and controlled through speed limiting management of the background application scene.
For example, when an application program of a current application scene is downloading an installation package, an IO request is issued; when the application program of the background application scene has abnormal conditions, the method can pause or limit the speed so as to ensure the normal downloading flow of the application program of the foreground application scene and ensure the normal experience of the user.
In this example, the IO request may be divided into a foreground application scenario and a background application scenario, and the speed limit is performed on the background application scenario, which is in favor of guaranteeing the basic capability of the IO request of the foreground application scenario, and in favor of problems of unsmooth foreground application caused by card IO or no response (Application Not responding, ANR) of application, and the like.
Referring to fig. 5, fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application, as shown in the drawing, the electronic device includes a processor, a memory, a communication interface, and one or more programs, and is applied to the electronic device, where the one or more programs are stored in the memory, and the one or more programs are configured by the processor to execute instructions for:
determining device pressures corresponding to the plurality of IO requests;
determining PSI pressures corresponding to the IO requests;
and when the device pressure is greater than or equal to a first preset threshold value and the PSI pressure is greater than or equal to a second preset threshold value, IO packet control is executed on the plurality of IO requests.
It can be seen that, in the electronic device described in the embodiment of the present application, device pressures corresponding to a plurality of IO requests are determined; determining PSI pressures corresponding to the IO requests; and when the device pressure is greater than or equal to a first preset threshold value and the PSI pressure is greater than or equal to a second preset threshold value, IO packet control is executed on the plurality of IO requests. Therefore, whether IO grouping management and control are needed to be executed can be determined by combining the device pressure and the PSI pressure, the IO pressure of the system can be perceived in advance, effective management and control of IO requests can be realized, the IO grouping management and control method is applicable to various application scenes, is not limited to the application starting scenes, and accordingly scheme applicability is improved.
In one possible example, in determining device pressures corresponding to the plurality of IO requests, the program includes instructions for:
for each IO request, obtaining buried point data corresponding to an initiating device initiating the IO request and index parameters, wherein the index parameters are used for determining the completion time of the IO request when the IO request is completed, and the buried point data comprises at least one of the following components: the initiation time corresponding to the IO request and the completion time corresponding to the IO request; the method comprises the steps of,
determining a device pressure condition corresponding to the initiating device according to the buried point data and the size of the IO block corresponding to the IO request;
and determining the device pressure corresponding to the IO requests according to the device pressure condition corresponding to each IO request in the IO requests.
In one possible example, in determining the device pressure condition corresponding to the initiating device according to the buried point data and the size of the IO block corresponding to the IO request, the program includes instructions for performing the following steps:
determining delay corresponding to the IO block according to the initiation time and the completion time of the IO request corresponding to the buried data;
Determining a target threshold corresponding to the IO block according to the size of the IO block;
and determining the device pressure condition corresponding to the initiating device according to the target threshold and the delay.
In one possible example, in said determining a device pressure condition corresponding to said initiating device based on said target threshold and said delay, the above-described program comprises instructions for:
determining a preset delay of the IO block under normal processing capacity;
calculating a comparison value of the delay and the preset delay;
if the comparison value is greater than or equal to the target threshold value, determining that the IO request has device pressure;
and if the comparison value is smaller than the target threshold value, determining that the IO request has no device pressure.
In one possible example, in determining the device pressure corresponding to each of the IO requests according to the device pressure condition corresponding to the IO requests, the program includes instructions for:
counting the number value of at least one IO request with device pressure according to the device pressure conditions corresponding to the IO requests;
calculating a total number magnitude of the plurality of IO requests;
And calculating a proportion value of the quantity value and the total quantity value, and determining the proportion value as the device pressure corresponding to the IO requests.
In one possible example, the target thresholds corresponding to the IO blocks of different sizes are different.
In one possible example, in said performing IO packet policing on said plurality of IO requests, said program comprises instructions for:
grouping the plurality of IO requests to obtain a group of IO requests corresponding to a foreground application scene and a group of IO requests corresponding to a background application scene;
and carrying out speed limiting management on a group of IO requests corresponding to the background application scene, and not carrying out speed limiting management on a group of IO requests corresponding to the foreground application program.
The foregoing description of the embodiments of the present application has been presented primarily in terms of a method-side implementation. It will be appreciated that the electronic device, in order to achieve the above-described functions, includes corresponding hardware structures and/or software modules that perform the respective functions. Those of skill in the art will readily appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The embodiment of the application can divide the functional units of the electronic device according to the method example, for example, each functional unit can be divided corresponding to each function, and two or more functions can be integrated in one processing unit. The integrated units may be implemented in hardware or in software functional units. It should be noted that, in the embodiment of the present application, the division of the units is schematic, which is merely a logic function division, and other division manners may be implemented in actual practice.
In the case of dividing the respective functional modules by the respective functions, fig. 6 shows a schematic diagram of a multi-pressure management apparatus, as shown in fig. 6, which is applied to an electronic device, the multi-pressure management apparatus 600 may include: a determination unit 601 and a packet management unit 602, wherein,
the determining unit 601 is configured to determine device pressures corresponding to the plurality of IO requests;
the determining unit 601 is further configured to determine PSI pressures corresponding to the plurality of IO requests;
the packet control unit 602 is further configured to perform IO packet control on the plurality of IO requests when the device pressure is greater than or equal to a first preset threshold and the PSI pressure is greater than or equal to a second preset threshold.
It can be seen that the multi-pressure management and control device provided by the embodiment of the application determines the device pressures corresponding to a plurality of IO requests; determining PSI pressures corresponding to the IO requests; and when the device pressure is greater than or equal to a first preset threshold value and the PSI pressure is greater than or equal to a second preset threshold value, IO packet control is executed on the plurality of IO requests. Therefore, whether IO grouping management and control are needed to be executed can be determined by combining the device pressure and the PSI pressure, the IO pressure of the system can be perceived in advance, effective management and control of IO requests can be realized, the IO grouping management and control method is applicable to various application scenes, is not limited to the application starting scenes, and accordingly scheme applicability is improved.
In one possible example, in the aspect of determining device pressures corresponding to the plurality of IO requests, the determining unit 601 is specifically configured to:
for each IO request, obtaining buried point data corresponding to an initiating device initiating the IO request and index parameters, wherein the index parameters are used for determining the completion time of the IO request when the IO request is completed, and the buried point data comprises at least one of the following components: the initiation time corresponding to the IO request and the completion time corresponding to the IO request; the method comprises the steps of,
Determining a device pressure condition corresponding to the initiating device according to the buried point data and the size of the IO block corresponding to the IO request;
and determining the device pressure corresponding to the IO requests according to the device pressure condition corresponding to each IO request in the IO requests.
In one possible example, in determining the device pressure condition corresponding to the initiating device according to the buried point data and the size of the IO block corresponding to the IO request, the determining unit 601 is specifically configured to:
determining delay corresponding to the IO block according to the initiation time and the completion time of the IO request corresponding to the buried data;
determining a target threshold corresponding to the IO block according to the size of the IO block;
and determining the device pressure condition corresponding to the initiating device according to the target threshold and the delay.
In one possible example, the determining unit 601 is specifically configured to, in determining, according to the target threshold and the delay, a device pressure condition corresponding to the initiating device:
determining a preset delay of the IO block under normal processing capacity;
calculating a comparison value of the delay and the preset delay;
If the comparison value is greater than or equal to the target threshold value, determining that the IO request has device pressure;
and if the comparison value is smaller than the target threshold value, determining that the IO request has no device pressure.
In one possible example, in the aspect of determining the device pressure corresponding to each of the IO requests according to the device pressure condition corresponding to each of the IO requests, the determining unit 601 is specifically configured to:
counting the number value of at least one IO request with device pressure according to the device pressure conditions corresponding to the IO requests;
calculating a total number magnitude of the plurality of IO requests;
and calculating a proportion value of the quantity value and the total quantity value, and determining the proportion value as the device pressure corresponding to the IO requests.
In one possible example, the target thresholds corresponding to the IO blocks of different sizes are different.
In one possible example, in the aspect of performing IO packet control on the plurality of IO requests, the packet control unit 602 is specifically configured to:
grouping the plurality of IO requests to obtain a group of IO requests corresponding to a foreground application scene and a group of IO requests corresponding to a background application scene;
And carrying out speed limiting management on a group of IO requests corresponding to the background application scene, and not carrying out speed limiting management on a group of IO requests corresponding to the foreground application program.
It should be noted that, all relevant contents of each step related to the above method embodiment may be cited to the functional description of the corresponding functional module, which is not described herein.
The electronic device provided in this embodiment is configured to perform the multi-pressure management method, so that the same effects as those of the implementation method can be achieved.
In case an integrated unit is employed, the electronic device may comprise a processing module, a storage module and a communication module. The processing module may be configured to control and manage actions of the electronic device, for example, may be configured to support the electronic device to perform the steps performed by the determining unit 601 and the packet managing unit 602. The memory module may be used to support the electronic device to execute stored program code, data, etc. And the communication module can be used for supporting the communication between the electronic device and other devices.
Wherein the processing module may be a processor or a controller. Which may implement or perform the various exemplary logic blocks, modules and circuits described in connection with this disclosure. A processor may also be a combination that performs computing functions, e.g., including one or more microprocessors, digital signal processing (digital signal processing, DSP) and microprocessor combinations, and the like. The memory module may be a memory. The communication module can be a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip and other equipment which interact with other electronic equipment.
The embodiment of the application also provides a computer storage medium, wherein the computer storage medium stores a computer program for electronic data exchange, and the computer program makes a computer execute part or all of the steps of any one of the above method embodiments, and the computer includes an electronic device.
Embodiments of the present application also provide a computer program product comprising a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform part or all of the steps of any one of the methods described in the method embodiments above. The computer program product may be a software installation package, said computer comprising an electronic device.
It should be noted that, for simplicity of description, the foregoing method embodiments are all described as a series of acts, but it should be understood by those skilled in the art that the present application is not limited by the order of acts described, as some steps may be performed in other orders or concurrently in accordance with the present application. Further, those skilled in the art will also appreciate that the embodiments described in the specification are all preferred embodiments, and that the acts and modules referred to are not necessarily required for the present application.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and for parts of one embodiment that are not described in detail, reference may be made to related descriptions of other embodiments.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, such as the above-described division of units, merely a division of logic functions, and there may be additional manners of dividing in actual implementation, such as multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, or may be in electrical or other forms.
The units described above as separate components may or may not be physically separate, and components shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units described above, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable memory. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a memory, comprising several instructions for causing a computer device (which may be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the above-mentioned method of the various embodiments of the present application. And the aforementioned memory includes: a U-disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Those of ordinary skill in the art will appreciate that all or a portion of the steps in the various methods of the above embodiments may be implemented by a program that instructs associated hardware, and the program may be stored in a computer readable memory, which may include: flash disk, read-only memory, random access memory, magnetic or optical disk, etc.
The foregoing has outlined rather broadly the more detailed description of embodiments of the application, wherein the principles and embodiments of the application are explained in detail using specific examples, the above examples being provided solely to facilitate the understanding of the method and core concepts of the application; meanwhile, as those skilled in the art will have variations in the specific embodiments and application scope in accordance with the ideas of the present application, the present description should not be construed as limiting the present application in view of the above.

Claims (10)

1. A multi-pressure management method for an electronic device, comprising:
determining device pressures corresponding to the plurality of IO requests;
determining PSI pressures corresponding to the IO requests;
and when the device pressure is greater than or equal to a first preset threshold value and the PSI pressure is greater than or equal to a second preset threshold value, IO packet control is executed on the plurality of IO requests.
2. The method of claim 1, wherein determining device pressures for a plurality of IO requests comprises:
for each IO request, obtaining buried point data corresponding to an initiating device initiating the IO request and index parameters, wherein the index parameters are used for determining the completion time of the IO request when the IO request is completed, and the buried point data comprises at least one of the following components: the initiation time corresponding to the IO request and the completion time corresponding to the IO request; the method comprises the steps of,
determining a device pressure condition corresponding to the initiating device according to the buried point data and the size of the IO block corresponding to the IO request;
and determining the device pressure corresponding to the IO requests according to the device pressure condition corresponding to each IO request in the IO requests.
3. The method according to claim 2, wherein the determining the device pressure condition corresponding to the initiating device according to the buried point data and the size of the IO block corresponding to the IO request includes:
determining delay corresponding to the IO block according to the initiation time and the completion time of the IO request corresponding to the buried data;
Determining a target threshold corresponding to the IO block according to the size of the IO block;
and determining the device pressure condition corresponding to the initiating device according to the target threshold and the delay.
4. A method according to claim 3, wherein said determining a device pressure condition corresponding to said initiating device based on said target threshold and said delay comprises:
determining a preset delay of the IO block under normal processing capacity;
calculating a comparison value of the delay and the preset delay;
if the comparison value is greater than or equal to the target threshold value, determining that the IO request has device pressure;
and if the comparison value is smaller than the target threshold value, determining that the IO request has no device pressure.
5. The method according to any one of claims 2-4, wherein determining the device pressure corresponding to the plurality of IO requests according to the device pressure condition corresponding to each of the plurality of IO requests comprises:
counting the number value of at least one IO request with device pressure according to the device pressure conditions corresponding to the IO requests;
calculating a total number magnitude of the plurality of IO requests;
and calculating a proportion value of the quantity value and the total quantity value, and determining the proportion value as the device pressure corresponding to the IO requests.
6. The method of any of claims 2-4, wherein the target thresholds for different sizes of the IO blocks are different.
7. The method of claim 1, wherein performing IO packet policing on the plurality of IO requests comprises:
grouping the plurality of IO requests to obtain a group of IO requests corresponding to a foreground application scene and a group of IO requests corresponding to a background application scene;
and carrying out speed limiting management on a group of IO requests corresponding to the background application scene, and not carrying out speed limiting management on a group of IO requests corresponding to the foreground application program.
8. A multi-pressure management apparatus for use with an electronic device, the apparatus comprising: a determining unit and a grouping control unit, wherein,
the determining unit is used for determining device pressures corresponding to the IO requests;
the determining unit is further configured to determine PSI pressures corresponding to the plurality of IO requests;
the grouping control unit is further configured to perform IO grouping control on the plurality of IO requests when the device pressure is greater than or equal to a first preset threshold and the PSI pressure is greater than or equal to a second preset threshold.
9. An electronic device comprising a processor, a memory, a communication interface, and one or more programs stored in the memory and configured to be executed by the processor, the programs comprising instructions for performing the steps in the method of any of claims 1-7.
10. A computer-readable storage medium, characterized in that a computer program for electronic data exchange is stored, wherein the computer program causes a computer to perform the method according to any one of claims 1-7.
CN202310739676.1A 2023-06-20 2023-06-20 Multi-pressure management method and related device Pending CN116700982A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310739676.1A CN116700982A (en) 2023-06-20 2023-06-20 Multi-pressure management method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310739676.1A CN116700982A (en) 2023-06-20 2023-06-20 Multi-pressure management method and related device

Publications (1)

Publication Number Publication Date
CN116700982A true CN116700982A (en) 2023-09-05

Family

ID=87838964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310739676.1A Pending CN116700982A (en) 2023-06-20 2023-06-20 Multi-pressure management method and related device

Country Status (1)

Country Link
CN (1) CN116700982A (en)

Similar Documents

Publication Publication Date Title
CN111553846B (en) Super-resolution processing method and device
CN111738122B (en) Image processing method and related device
CN111768416B (en) Photo cropping method and device
CN111555825B (en) Radio frequency resource allocation method and device
CN111882642B (en) Texture filling method and device for three-dimensional model
CN111400605A (en) Recommendation method and device based on eyeball tracking
WO2022078105A1 (en) Memory management method, electronic device, and computer-readable storage medium
CN111768352B (en) Image processing method and device
CN117234398B (en) Screen brightness adjusting method and electronic equipment
CN114237646A (en) Game trial playing method and related device
CN111381996B (en) Memory exception handling method and device
CN111524528B (en) Voice awakening method and device for preventing recording detection
CN111767016B (en) Display processing method and device
CN114244655B (en) Signal processing method and related device
CN111581119B (en) Page recovery method and device
CN115390738A (en) Scroll screen opening and closing method and related product
CN111836226B (en) Data transmission control method, device and storage medium
CN116700982A (en) Multi-pressure management method and related device
CN111459271B (en) Gaze offset error determination method and device
CN114422686B (en) Parameter adjustment method and related device
CN114596819B (en) Brightness adjusting method and related device
CN115175164B (en) Communication control method and related device
CN113542315B (en) Communication framework, business event processing method and device
CN113311380B (en) Calibration method, device and storage medium
CN116048681B (en) Icon display method, electronic device, and computer-readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination