Dynamic battery power consumption optimization method based on machine learning

Through a dynamic battery power consumption optimization method based on machine learning, a decision tree algorithm is used to classify the functions of smartphone applications, and combined with real-time power and power consumption characteristics of the application, a personalized power consumption optimization strategy is formulated, which solves the problem of difficulty in targeted management of application power consumption in the existing technology, and achieves more efficient power management and user experience improvement.

CN120224352APending Publication Date: 2025-06-27SHENZHEN LIUXIN TECH CO LTD

Patent Information

Application Number
CN202510275095.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-10
Publication Date
2025-06-27

Smart Images

  • Figure CN120224352A_ABST
    Figure CN120224352A_ABST
Patent Text Reader

Abstract

The invention discloses a dynamic battery power consumption optimization method based on machine learning, relates to the technical field of energy consumption optimization, and solves the technical problem that power consumption characteristics of different functional applications cannot be effectively distinguished during power management due to the fact that a power consumption management strategy is difficult to formulate in a targeted manner. The power consumption of real-time working applications is analyzed in detail according to the low electric quantity condition, high-power-consumption applications and low-power-consumption applications are distinguished, management is further conducted by combining the commonly-used applications, when the electric quantity is low, the low-power-consumption applications and the high-power-consumption applications which are not commonly used are reasonably limited or closed, operation of the commonly-used applications is preferentially guaranteed, the use requirement of a user and battery endurance are effectively balanced, and the service life of the battery is prolonged. By calculating the effective use duration, the use frequency and the duration ratio of the application, comprehensively obtaining the priority value and comparing the priority value with the preset priority value, the universality of the application is intelligently judged, different priorities are given during power management, the resource allocation efficiency is improved, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of energy consumption optimization, and specifically to a dynamic battery power consumption optimization method based on machine learning. Background Art

[0002] With the increasing power of smart phones, the number of installed applications by users is constantly increasing, and the types of applications are rich and diverse. At the same time, the development of mobile phone battery technology lags behind relatively, and the battery life has become a key factor restricting the user experience. In daily use, the functional characteristics and operating modes of different applications vary greatly, resulting in different power consumption situations.

[0003] According to the patent application with the publication number CN118567464A, a device power consumption optimization method, device, device and readable storage medium are disclosed. The method includes: obtaining the power consumption distribution information of the target device; determining the device components with power consumption greater than the preset power consumption threshold according to the power consumption distribution information; when the device component is a battery terminal device component, performing power consumption optimization on the battery terminal device component by modifying the discharge configuration.

[0004] Traditional methods cannot accurately classify the numerous applications in smart phones according to their functions, making it difficult to formulate power consumption management strategies targeted. As a result, when managing the battery power, it is impossible to effectively distinguish the power consumption characteristics of different functional applications, cannot fully adjust the application running state according to the real-time battery power dynamically, and it is difficult to intelligently judge the commonness of applications. When the battery power is low, it is impossible to reasonably allocate system resources based on the commonness and power consumption of applications, affecting the normal use experience of users for commonly used applications, and at the same time, it may not effectively save power. Summary of the Invention

[0005] Aiming at the deficiencies of the prior art, the present invention provides a dynamic battery power consumption optimization method based on machine learning, which solves the problem that it is difficult to formulate a targeted power consumption management strategy, resulting in the inability to effectively distinguish the power consumption characteristics of different functional applications when managing the battery power.

[0006] To achieve the above objectives, the present invention is realized through the following technical solutions: A dynamic battery power consumption optimization method based on machine learning, which specifically includes the following steps:

[0007] Obtain all the applications in the smart phone, and at the same time use a classification algorithm to classify them according to the corresponding program functions to generate program classification information;

[0008] Obtain the real-time battery power of the smart phone, and compare it with a preset value to generate a signal indicating normal or low battery power;

[0009] Analyze the low battery signal, obtain the applications running in real time and their corresponding real-time power consumption, calculate the average power consumption of all applications, and mark the applications with real-time power consumption greater than the average power consumption as high-power-consuming applications, and vice versa as low-power-consuming applications;

[0010] Obtain the periodic usage records corresponding to high-power-consuming applications and low-power-consuming applications, calculate the corresponding effective duration ratio and usage times, calculate the sum of the two values to obtain a priority value, and compare it with the preset priority value to classify and obtain frequently used programs and infrequently used programs;

[0011] Restrict and adjust the low-power-consuming applications classified as infrequently used programs to generate optimization adjustment information, close the high-power-consuming applications classified as infrequently used programs to generate optimization adjustment information, analyze the high-power-consuming applications corresponding to frequently used programs, and generate optimization adjustment information by comparing the usage frequency with the threshold value;

[0012] Analyze the high battery signal, compare the effective duration of the application with the judgment standard, screen out the applications to be adjusted, and optimize the applications to be adjusted to generate optimization adjustment information.

[0013] As a further solution of the present invention, the specific method for generating a normal battery or low battery signal is as follows:

[0014] Obtain the real-time battery power, and at the same time compare the real-time power with a preset value, and the specific value of the preset value is set by the operator. If the real-time power is greater than the preset value, it means that the overall battery power is normal and a normal battery signal is generated. Conversely, if the real-time power is less than the preset value, it means that the overall battery power is low and a low battery signal is generated.

[0015] As a further solution of the present invention, the specific method for analyzing the low battery signal is as follows:

[0016] Obtain the applications running in real time and denote them as i, where i = 1, 2,..., j, and j represents the number of applications running in real time, and obtain the real-time power consumption corresponding to the applications running in real time and denote it as Gi, calculate the average power consumption corresponding to all real-time power consumptions Gi and denote it as Gp, and at the same time compare the real-time power consumption Gi of the applications running in real time with the average power consumption Gp;

[0017] Mark the applications running in real time with real-time power consumption Gi greater than the average power consumption Gp as high-power-consuming applications, and vice versa, mark the applications running in real time with real-time power consumption Gi less than the average power consumption Gp as low-power-consuming applications.

[0018] As a further solution of the present invention, the specific method for classifying and obtaining frequently used programs and infrequently used programs is as follows:

[0019] Obtain the classified high-power consumption applications and low-power consumption applications, obtain the corresponding periodic usage records of the high-power consumption applications and low-power consumption applications, and at the same time obtain the effective usage duration and usage times of the high-power consumption application a and the low-power consumption applications according to the periodic usage records, and calculate the duration ratio corresponding to the effective usage duration;

[0020] Numerically sum the calculated duration ratio and the usage times to obtain the corresponding priority value, and at the same time compare the priority value with the preset priority value. If the priority value is greater than the preset priority value, it is recorded as a frequently used program, otherwise it is marked as an infrequently used program.

[0021] As a further solution of the present invention, the specific method for analyzing and generating optimization adjustment information for the low-power consumption applications classified as infrequently used programs is as follows:

[0022] Obtain the corresponding low-power consumption applications in the real-time working application programs, and at the same time obtain the classification situations corresponding to the low-power consumption applications, and obtain all the low-power consumption applications classified as infrequently used programs, and at the same time perform limit adjustment to generate optimization adjustment information. For the low-power consumption applications classified as frequently used programs, no processing is performed;

[0023] Obtain the corresponding high-power consumption applications in the real-time working application programs, and at the same time obtain the classification situations corresponding to the high-power consumption applications. For the infrequently used programs among the high-power consumption applications, directly close them and generate optimization adjustment information. On the contrary, for the frequently used programs among the high-power consumption applications, identify the real-time working state corresponding to the high-power consumption applications. If the real-time working state is background operation, generate a secondary analysis signal. On the contrary, if the real-time working state is running, no processing is performed, and then process the secondary analysis signal.

[0024] As a further solution of the present invention, the specific method for processing the secondary analysis signal is as follows:

[0025] Obtain the frequently used program corresponding to the secondary analysis signal and record it as the program to be analyzed. Then calculate the usage frequency corresponding to the program to be analyzed, and compare the usage frequency with the threshold. If the usage frequency is greater than the threshold, no processing is performed on the program to be analyzed. On the contrary, if the usage frequency is less than the threshold, perform limit adjustment on the program to be analyzed and generate optimization adjustment information.

[0026] As a further solution of the present invention, the specific method for analyzing and screening the high-battery signal to obtain the application to be adjusted is as follows:

[0027] Obtain high-power-consuming applications and low-power-consuming applications corresponding to real-time work, obtain the usage duration corresponding to the high-power-consuming applications and low-power-consuming applications, and at the same time obtain the corresponding effective duration based on the usage duration. Then compare the effective duration with the judgment criterion. If the effective duration is greater than the judgment criterion, no processing is performed. If the effective duration is less than the judgment criterion, mark the corresponding application program as an application to be adjusted, and at the same time analyze the application to be adjusted.

[0028] As a further solution of the present invention, the specific method for analyzing the application to be adjusted to generate optimization adjustment information is as follows:

[0029] Obtain the corresponding high-power-consuming application, and for the working state corresponding to the high-power-consuming application. If the working state of the high-power-consuming application is a non-working state, generate a secondary analysis signal, and process the secondary analysis signal to generate optimization adjustment information. On the contrary, if the working state of the high-power-consuming application is a working state, no processing is performed;

[0030] Obtain the corresponding low-power-consuming application, and at the same time obtain the working state corresponding to the low-power-consuming application. If the working state of the low-power-consuming application is a non-working state, directly close it and generate optimization adjustment information. On the contrary, if the working state of the low-power-consuming application is a working state, no processing is performed.

[0031] The present invention provides a dynamic battery power consumption optimization method based on machine learning. Compared with the prior art, it has the following beneficial effects:

[0032] The present invention classifies application programs by function using the decision tree algorithm in machine learning, generates detailed program classification information, provides a basis for subsequent accurate power consumption management, and can formulate personalized power consumption strategies for different functional applications more pertinently.

[0033] Compare the real-time battery power with the preset value to classify the battery state. For the low battery situation, analyze the power consumption of real-time working applications in detail, distinguish high-power-consuming applications and low-power-consuming applications, and further manage them in combination with the commonness of the applications. When the battery power is low, reasonably limit or close the infrequently used low-power-consuming applications and high-power-consuming applications, and give priority to ensuring the operation of common applications, effectively balancing the user's usage requirements and battery life.

[0034] By calculating the effective usage duration, usage times, and duration ratio of applications, and comprehensively obtaining the priority value and comparing it with the preset priority value, intelligently judge the commonness of applications. This method can more accurately identify the applications that users really often use, give different priorities during power management, improve the resource allocation efficiency, and enhance the user experience.

[0035] A comprehensive and detailed optimization and adjustment strategy has been formulated for different types of applications under different battery power states. For example, for infrequently used low-power applications, background processes are restricted or data synchronization frequencies are adjusted. For high-power applications, precise management is carried out according to their usage frequency and working status, effectively reducing the overall power consumption, extending the battery life, and at the same time ensuring the normal use of commonly used applications by users to the greatest extent. When the battery power is high, the actual working duration of the applications can also be analyzed to further optimize the application running status and improve the overall system performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Figure 1 This is a flowchart of the method steps of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0037] The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0038] Please refer to Figure 1 , this application provides a dynamic battery power consumption optimization method based on machine learning. The method specifically includes the following steps:

[0039] Step 1: Obtain all application programs in the smart phone, and at the same time use the classification algorithm in machine learning to classify the application programs according to their corresponding program functions to generate program classification information. The classification algorithms include decision tree and naive Bayes, and in this application, the decision tree algorithm is used for analysis.

[0040] Step 2: Obtain the real-time battery power of the smart phone, and classify the battery status according to the real-time battery power. Specifically, first obtain the real-time battery power of the battery, and at the same time compare the real-time battery power with a preset value. The specific value of the preset value is set by the operator. Generally, the specific value of the preset value is 20%. If the real-time battery power is greater than the preset value, it means that the overall battery power is normal, and a normal battery power signal is generated. On the contrary, if the real-time battery power is less than the preset value, and this includes the case of being equal to the preset value, it means that the overall battery power is low, and a low battery power signal is generated;

[0041] Step 3: Analyze the generated low battery signal. Obtain the applications that are working in real time, where real-time work includes all applications running in the background and currently working, and label them as i, where i = 1, 2, …, j, and j represents the number of real-time working applications. Then obtain the real-time power consumption corresponding to the real-time working applications, denoted as Gi, and the real-time power consumption is expressed as the power consumption corresponding to the normal operation of the application. Here, the real-time power consumption is the average value, calculated from the periodic power consumption obtained through multiple tests. Calculate the average power consumption of all real-time power consumptions Gi, denoted as Gp. Here, the average power consumption is calculated by taking the sum of all real-time power consumptions Gi and then calculating the average. At the same time, compare the real-time power consumption Gi of the real-time working applications with the average power consumption Gp. Mark the real-time working applications with real-time power consumption Gi greater than the average power consumption Gp as high-power consumption applications, and vice versa, mark the real-time working applications with real-time power consumption Gi less than the average power consumption Gp as low-power consumption applications;

[0042] Obtain the classified high-power consumption applications and low-power consumption applications, denoted as a and b respectively, where a = 1, 2, …, n, b = 1, 2, …, m, and n and m represent the number of high-power consumption applications and low-power consumption applications respectively, and n + m = j. Then obtain the periodic usage records corresponding to the high-power consumption applications a and low-power consumption applications b. At the same time, obtain the effective usage duration and usage times of the high-power consumption applications a and low-power consumption applications b based on the periodic usage records. Here, the effective duration refers to the duration when the application is not running in the background, and the usage times refer to the total number of times of use within the time period. Calculate the proportion of the effective usage duration, and the specific calculation method is: proportion of duration = effective usage duration ÷ total usage duration, and the total usage duration includes the duration of running in the background and not running in the background;

[0043] Then sum the calculated proportion of duration and the usage times to obtain the corresponding priority value. Here, only the numerical values of the two are calculated, and they are sorted from largest to smallest according to the obtained priority value. At the same time, compare the priority value with the preset priority value. The specific value of the preset priority value is set by the operator. If the priority value is greater than the preset priority value, mark the corresponding application as a frequently used application; otherwise, if the priority value is less than the preset priority value, mark the corresponding application as an infrequently used application. Here, the frequently used applications and infrequently used applications include high-power consumption applications and low-power consumption applications;

[0044] Step 4: Then obtain the low-power consumption applications b among the real-time working applications, and at the same time obtain the classification situation corresponding to the low-power consumption applications b. Obtain all low-power consumption applications classified as infrequently used applications, and perform limit adjustment to generate optimization adjustment information. For the low-power consumption applications classified as frequently used applications, no processing is performed;

[0045] For example, in low-power applications, there are several applications such as Weather Channel, Calendar Reminder, Mobile Business Hall, and Notes. After analysis, it is found that Weather Channel and Mobile Business Hall are infrequently used programs, while Calendar Reminder and Notes are frequently used programs. Weather Channel: Since it is an infrequently used low-power application and there is no need to run continuously in the background, the system directly terminates its background process and restricts its self-start permission in the low-battery state. The optimization adjustment information is recorded as "Terminate the background process of Weather Channel and prohibit self-start".

[0046] Mobile Business Hall: Considering that it may occasionally have some message pushes but does not require real-time data updates, the system adjusts its background data synchronization frequency to once every 24 hours and reduces its CPU occupancy rate. The optimization adjustment information is recorded as "Adjust the background data synchronization frequency of Mobile Business Hall to once every 24 hours and reduce the CPU occupancy rate".

[0047] Obtain the high-power application a corresponding to the real-time working application program, and at the same time obtain the classification situation corresponding to the high-power application b. For the infrequently used programs in the high-power application b, directly close them and generate optimization adjustment information. On the contrary, for the frequently used programs in the high-power application b, identify the real-time working state corresponding to the high-power application b. If the real-time working state is running in the background, generate a secondary analysis signal. On the contrary, if the real-time working state is running, do not process it, and then process the secondary analysis signal;

[0048] Obtain the frequently used program corresponding to the secondary analysis signal as the program to be analyzed. Then calculate the usage frequency corresponding to the program to be analyzed, and here the usage frequency is the usage frequency corresponding to the program to be analyzed in the current working state. Compare the usage frequency with the threshold, and the specific value of the threshold is set by the operator. If the usage frequency is greater than the threshold, do not process the program to be analyzed. On the contrary, if the usage frequency is less than the threshold, perform limit adjustment on the program to be analyzed and generate optimization adjustment information, and here the limit adjustment is the same as the limit adjustment method of the above low-power applications;

[0049] Step Five: Analyze the generated high-battery signal, and at the same time obtain the high-power applications and low-power applications corresponding to the real-time work, and obtain the usage duration corresponding to the high-power application a and the low-power application b. At the same time, obtain the corresponding effective duration based on the usage duration, and the effective duration represents the actual real-time working duration corresponding to the application program. Then compare the effective duration with the judgment criterion, and the specific value of the judgment criterion is set by the operator. If the effective duration is greater than the judgment criterion, do not process it. If the effective duration is less than the judgment criterion, mark the corresponding application program as the application to be adjusted;

[0050] Obtain all the applications to be adjusted, where the applications to be adjusted include high-power-consuming applications and low-power-consuming applications. At the same time, obtain the high-power-consuming applications and low-power-consuming applications among the applications to be adjusted, and then analyze the two types of application programs respectively;

[0051] Obtain the corresponding high-power-consuming application and its working state. If the working state of the high-power-consuming application is a non-working state, generate a secondary analysis signal and process the secondary analysis signal to generate optimization adjustment information. Conversely, if the working state of the high-power-consuming application is a working state, do not process it;

[0052] Obtain the corresponding low-power-consuming application and its working state. If the working state of the low-power-consuming application is a non-working state, directly close it and generate optimization adjustment information. Conversely, if the working state of the low-power-consuming application is a working state, do not process it.

[0053] For some data in the above formula, only their numerical values are taken for calculation, and the parameter units are not substituted for calculation. At the same time, the content not described in detail in this specification belongs to the prior art well-known to those skilled in the art.

[0054] The above embodiments are only used to illustrate the technical method of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those of ordinary skill in the art should understand that the technical method of the present invention can be modified or equivalently replaced without departing from the spirit and scope of the technical method of the present invention.

Claims

1. A dynamic battery power consumption optimization method based on machine learning, characterized in that: The method specifically comprises the following steps: Obtain all applications in the smartphone, and classify them according to corresponding program functions using a classification algorithm to generate program classification information; Obtain the real-time power level of the smartphone and compare it with the preset value to generate a normal or low power signal; Analyze the low-power signal, obtain the real-time working applications and the corresponding real-time power consumption, and calculate the average power consumption of all applications. Record the applications whose real-time power consumption is greater than the average power consumption as high-power applications, and vice versa as low-power applications. Obtain the periodic usage records corresponding to high-power consumption applications and low-power consumption applications, and obtain and calculate the corresponding effective duration ratio and usage times, and calculate the sum of the two values ​​to obtain the priority value, and compare it with the preset priority value to obtain the commonly used programs and infrequently used programs; Limit and adjust low-power applications classified as infrequently used programs to generate optimization adjustment information, close high-power applications classified as infrequently used programs to generate optimization adjustment information, analyze high-power applications corresponding to frequently used programs, and generate optimization adjustment information by comparing the usage frequency with the threshold; Analyze the high-power signal, compare the effective duration of the application with the judgment standard, screen the application to be adjusted, optimize the application to be adjusted, and generate optimization adjustment information.

2. The method for dynamic battery power consumption optimization based on machine learning according to claim 1, characterized in that: The specific method of generating the normal or low power signal is: The real-time power level of the battery is obtained, and the real-time power level is compared with the preset value. The specific value of the preset value is set by the operator. If the real-time power level is greater than the preset value, it means that the overall power level of the battery is normal, and a normal power signal is generated. Conversely, if the real-time power level is less than the preset value, it means that the overall power level of the battery is low, and a low power signal is generated.

3. The method for dynamic battery power consumption optimization based on machine learning according to claim 1, characterized in that: The specific method of analyzing the low battery signal is as follows: Obtain a real-time working application, denoted as i, where i=1, 2, ..., j, where j represents the number of real-time working applications, obtain the real-time power consumption corresponding to the real-time working application, denoted as Gi, calculate the average power consumption corresponding to all real-time power consumption Gi, denoted as Gp, and compare the real-time power consumption Gi of the real-time working application with the average power consumption Gp; A real-time working application whose real-time power consumption Gi is greater than the average power consumption Gp is ​​recorded as a high-power consumption application, and conversely, a real-time working application whose real-time power consumption Gi is less than the average power consumption Gp is ​​recorded as a low-power consumption application.

4. The method for dynamic battery power consumption optimization based on machine learning according to claim 1, characterized in that: The specific method of classifying commonly used programs and infrequently used programs is as follows: Obtain the classified high-power applications and low-power applications, obtain the periodic usage records corresponding to the high-power applications and the low-power applications, and obtain the effective usage time and usage times of the high-power application a and the low-power application according to the periodic usage records, and calculate the duration ratio corresponding to the effective usage time; The calculated duration ratio and the number of times used are numerically summed to obtain the corresponding priority value, and the priority value is compared with the preset priority value. If the priority value is greater than the preset priority value, it is recorded as a frequently used program, otherwise it is marked as an infrequently used program.

5. The method for dynamic battery power consumption optimization based on machine learning according to claim 1, characterized in that: The specific method of analyzing and generating optimization adjustment information for low-power applications classified as infrequently used programs is as follows: Obtain the corresponding low-power applications in the real-time working applications, obtain the classification of the low-power applications, and obtain all low-power applications classified as infrequently used applications, perform restriction adjustments, and generate optimization adjustment information. Low-power applications classified as frequently used applications will not be processed. Obtain the corresponding high-power applications in the real-time working applications, and at the same time obtain the corresponding classification of the high-power applications. For infrequently used programs in the high-power applications, they are directly closed and optimization adjustment information is generated. Conversely, for frequently used programs in the high-power applications, the real-time working status corresponding to the high-power applications is identified. If the real-time working status is background running, a secondary analysis signal is generated. Conversely, if the real-time working status is running, it is not processed and the secondary analysis signal is then processed.

6. The method for dynamic battery power consumption optimization based on machine learning according to claim 5, characterized in that: The specific method of processing the secondary analysis signal is as follows: The commonly used program corresponding to the secondary analysis signal is recorded as the program to be analyzed, and then the usage frequency corresponding to the program to be analyzed is calculated, and the usage frequency is compared with the threshold. If the usage frequency is greater than the threshold, the program to be analyzed will not be processed. On the contrary, if the usage frequency is less than the threshold, the program to be analyzed will be restricted and adjusted, and optimization adjustment information will be generated.

7. The method for dynamic battery power consumption optimization based on machine learning according to claim 1, characterized in that: The specific method of analyzing and screening the high-power signal to obtain the application to be adjusted is: Obtain high-power applications and low-power applications corresponding to real-time work, and obtain the corresponding usage time of high-power applications and low-power applications, and obtain the corresponding effective time based on the usage time, and then compare the effective time with the judgment standard. If the effective time is greater than the judgment standard, no processing is performed; if the effective time is less than the judgment standard, the corresponding application is marked as an application to be adjusted, and the application to be adjusted is analyzed.

8. The method for dynamic battery power consumption optimization based on machine learning according to claim 7, characterized in that: The specific method of analyzing the application to be adjusted to generate the optimization adjustment information is: Obtain the corresponding high-power application, and for the working state corresponding to the high-power application, if the working state of the high-power application is a non-working state, generate a secondary analysis signal, and process the secondary analysis signal to generate optimization adjustment information; otherwise, if the working state of the high-power application is a working state, do not process it; Get the corresponding low-power application and the corresponding working state of the low-power application. If the working state of the low-power application is a non-working state, it is directly closed and the optimization adjustment information is generated. Otherwise, if the working state of the low-power application is a working state, it is not processed.

Citation Information

Patent Citations

  • Equipment power consumption optimization method and device, equipment and readable storage medium

    CN118567464A

Cited By

  • Standby power consumption optimization method and device based on mobile operating system

    CN121300607A

  • A standby power consumption optimization method and device based on a mobile operating system

    CN121300607B

  • Portable device with low-power-consumption management function

    CN121680596A