Software Management Method, System, Electronic Device and Storage Medium
By obtaining and analyzing the size and historical data of the software running in the terminal memory, determining priority and closing unnecessary software, the unreasonable memory utilization problem caused by software management in the prior art is solved, and the terminal's operating efficiency is improved.
Patent Information
- Application Number
- CN202210582870.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-26
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2042-05-26
AI Technical Summary
In the prior art, software management leads to unreasonable terminal memory utilization, resulting in slowing down the running speed, and even lag and crashes, which in turn affects the use of other software.
By obtaining multiple software running in the current memory, determining their priority information based on the size and historical data of the software, and closing software with lower priority to reduce memory consumption.
It realizes reducing memory consumption, improving terminal operation efficiency, and avoiding lag and crashes caused by insufficient memory.
Smart Images

Figure CN114860546B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a software management method, system, electronic equipment and storage medium. Background Art
[0002] Nowadays, there are more and more software applications on terminal products such as computers and mobile phones. When more software is used, if the terminal memory is not large, the terminal's running speed will slow down, and even cause the entire terminal to freeze or crash, which will make other software unusable. It is necessary to wait for the terminal to slowly load, which not only wastes time but also reduces work efficiency. Therefore, software management in the existing technology will lead to unreasonable memory utilization, which is not conducive to improving the terminal's operating efficiency. Summary of the invention
[0003] The main purpose of the embodiments of the present invention is to provide a software management method, system, electronic device and storage medium, which can reduce memory consumption and improve the operating efficiency of the terminal.
[0004] To achieve the above object, a first aspect of an embodiment of the present invention provides a software management method, the method comprising:
[0005] Obtain multiple first target software running in the memory at the current moment;
[0006] According to the software name of each of the first target software, corresponding software information is respectively obtained, wherein each of the software information includes software size and historical data;
[0007] Determining the priority information of each corresponding first target software according to the software size and historical data in the software information;
[0008] Determining a second target software from a plurality of the first target software according to the priority information;
[0009] Close the second target software.
[0010] In some embodiments, the obtaining of multiple first target software running in the memory at the current moment includes:
[0011] Get the memory usage information at the current moment;
[0012] When the memory usage information indicates that the current memory value is greater than a preset memory critical value, a plurality of first target software running in the memory at the current moment is obtained.
[0013] In some embodiments, the obtaining corresponding software information according to the software name of each of the first target software includes:
[0014] Determine the software size of each corresponding first target software according to the software name of the first target software;
[0015] Determine the number of times each of the first target software is used within a target time period, the time interval between uses and no longer used, and the idle time period each day according to the software name of the first target software, and obtain historical data from the number of times used, the time interval between uses and the idle time period;
[0016] The software information is obtained according to the software size and the historical data.
[0017] In some embodiments, determining the priority information of each corresponding first target software according to the software size and historical data in the software information includes:
[0018] sorting the closing priorities of the first target software respectively according to the software size and historical data in the software information, and obtaining sorting results of the first target software with respect to different software information;
[0019] The priority information of each first target software is determined according to the sorting result.
[0020] In some embodiments, the sorting result includes a first sorting result, a second sorting result, a third sorting result and a fourth sorting result, and the shutting priority of each first target software is sorted according to the software size and historical data in the software information, and the sorting results of different software information between each first target software are obtained, including:
[0021] sorting the closing priorities of the first target software according to the software sizes to obtain the first sorting result;
[0022] sorting the closing priorities of the first target software according to the usage times to obtain the second sorting result;
[0023] sorting the closing priorities of the first target software according to the usage time interval to obtain the third sorting result;
[0024] The first target software are sorted by closing priority according to the number of days of the idle time period corresponding to the current moment to obtain the fourth sorting result.
[0025] In some embodiments, determining the priority information of each first target software according to the sorting result includes:
[0026] According to the sorting result, the number of each first target software that meets the shutdown priority is obtained;
[0027] The priority information of each first target software is determined according to the number of software that meets the shutdown priority.
[0028] In some embodiments, shutting down the second target software includes:
[0029] Sending a shutdown request message based on the second target software to the user terminal;
[0030] If a confirmation closing message fed back from the user terminal is received, the second target software is closed.
[0031] To achieve the above object, a second aspect of an embodiment of the present invention provides a software management system, the system comprising:
[0032] A memory acquisition module, used to acquire a plurality of first target software running in the memory at the current moment;
[0033] A data acquisition module, used to acquire corresponding software information according to the software name of each of the first target software, each of the software information includes software size and historical data;
[0034] A priority determination module, used to determine the priority information of each corresponding first target software according to the software size and historical data in the software information;
[0035] A closing decision module is used to determine a second target software from a plurality of the first target software according to the priority information;
[0036] The software closing module is used to close the second target software.
[0037] To achieve the above-mentioned purpose, the third aspect of an embodiment of the present invention proposes an electronic device, which includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory, and the program, when executed by the processor, implements the method described in the first aspect above.
[0038] To achieve the above-mentioned purpose, the fourth aspect of an embodiment of the present invention proposes a storage medium, which is a computer-readable storage medium used for computer-readable storage, and the storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the method described in the first aspect above.
[0039] The software management method, system, electronic device and storage medium proposed in the embodiment of the present invention can be applied in a terminal. By executing the software management method, multiple first target software running in the memory at the current moment are obtained. The first target software is running in the memory at the current moment and occupies a certain space in the memory. Then the terminal obtains corresponding software information according to the software name of each first target software. The software information includes the software size and historical data of the first target software. When performing software management control, the priority information of each first target software is determined according to the software size and historical data at the current moment. The obtained priority information is obtained in combination with the current moment, realizing the time characteristics of management control. Priority judgment is performed according to the software size and historical data. Intelligent selection can be performed according to the occupied size and historical usage habits, and the second target software is determined from the multiple first target software according to the priority information. The second target software is the software that meets the priority information and is the software that needs to be closed. Then the terminal closes the determined second target software. The embodiment of the present invention can reduce memory consumption and improve the operation efficiency of the terminal.
[0040] Other features and advantages of the present invention will be described in the following description, and partly become apparent from the description, or understood by practicing the present invention. The purpose and other advantages of the present invention can be realized and obtained by the structures particularly pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The accompanying drawings are used to provide a further understanding of the technical solution of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the technical solution of the present invention and do not constitute a limitation on the technical solution of the present invention.
[0042] Figure 1 is a flow chart of a software management method provided by an embodiment of the present invention;
[0043] Figure 2 yes Figure 1 Flow chart of step S101 in FIG.
[0044] Figure 3 yes Figure 1 Flow chart of step S102 in FIG.
[0045] Figure 4 yes Figure 1 Flow chart of step S103 in FIG.
[0046] Figure 5 yes Figure 4 Flow chart of step S401 in FIG.
[0047] Figure 6 yes Figure 4Flow chart of step S402 in FIG.
[0048] Figure 7 yes Figure 1 Flow chart of step S104 in FIG.
[0049] Figure 8 is a schematic diagram of the structure of a software management system provided by an embodiment of the present invention;
[0050] Fig. 9 It is a schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0051] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0052] It should be noted that, although the functional modules are divided in the system schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the system or the order in the flowchart. The terms "first", "second", etc. in the specification, claims and the above drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0053] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which the present invention belongs. The terms used herein are only for the purpose of describing the embodiments of the present invention and are not intended to limit the present invention.
[0054] First, several nouns involved in the embodiments of the present invention are analyzed:
[0055] Artificial intelligence (AI) is a new technical science that studies and develops theories, methods, technologies and application systems for simulating, extending and expanding human intelligence. AI is a branch of computer science that attempts to understand the essence of intelligence and produce a new type of intelligent machine that can respond in a similar way to human intelligence. Research in this field includes robotics, speech recognition, image recognition, natural language processing and expert systems. AI can simulate the information process of human consciousness and thinking. AI is also a theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.
[0056] Memory is an important component in terminal products such as computers. It is also called internal memory and main memory. It is used to temporarily store the calculation data in the processor (CPU) and the data exchanged with external memory such as hard disk. It is a bridge for communication between external memory and CPU. All programs in the computer run in the memory. The strength of the memory performance affects the overall performance of the computer. As long as the computer starts running, the operating system will transfer the data to be calculated from the memory to the CPU for calculation. When the calculation is completed, the CPU will transmit the result.
[0057] For many current users, due to work needs or usage habits, they usually need to open a lot of software. When the memory of computers and other terminals is not large, the computer runs very slowly or even the whole computer will freeze, resulting in other software being unable to be used. It is necessary to wait for the computer to slowly load, which not only wastes time but also reduces work efficiency. For most users, only a small part of the software currently occupied in the memory is currently needed. Most of the software still occupies memory because they forget to close it or run in the background but are not needed. This causes the terminal to occupy too much memory and run slowly. How to improve the management capabilities of the software has become a problem that plagues users.
[0058] Based on this, the embodiments of the present invention provide a software management method, system, electronic device and storage medium, aiming to reduce memory consumption and improve the operation efficiency of the terminal.
[0059] The software management method, system, electronic device and storage medium provided in the embodiments of the present invention are specifically described through the following embodiments. First, the software management method in the embodiments of the present invention is described.
[0060] The embodiments of the present invention can acquire and process relevant data based on artificial intelligence technology. Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.
[0061] AI basic technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics, etc. AI software technologies mainly include computer vision technology, robotics technology, biometrics technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0062] The software management method provided by the embodiment of the present invention relates to the field of computer technology. The software management method provided by the embodiment of the present invention can be applied to a terminal, can be applied to a server side, and can also be software running in a terminal or a server side. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, etc.; the server side can be configured as an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms; the software can be an application that implements the software management method, etc., but is not limited to the above forms.
[0063] Embodiments of the present invention can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like. Embodiments of the present invention can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. Embodiments of the present invention can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.
[0064] Figure 1 is an optional flowchart of the software management method provided by an embodiment of the present invention. Figure 1 The software management method may include but is not limited to steps S101 to S105.
[0065] Step S101, obtaining a plurality of first target software currently running in the memory.
[0066] It should be noted that the software management method in the embodiment of the present invention can be applied in a terminal. The terminal can be a computer (including a personal computer / computer), a mobile phone, a tablet computer, a server, and other devices that need to set up memory to run the system or software. The software can be various applications (APPs), scripts or caches running in the terminal. The embodiment of the present invention does not make specific restrictions on this. Here, the embodiment of the present invention takes the terminal as a computer as an example.
[0067] When the terminal executes the software management method in the embodiment of the present invention, it first obtains multiple first target software running in the memory at the current moment, and realizes a more intelligent and reasonable software management method by obtaining the data in the memory at the current moment so as to perform further operations in combination with the current moment. The first target software is the software stored in the memory at the current moment, indicating that it is the software running at the current moment. Among the multiple first target software, there may be software that the user does not need to use, but because it is not closed, it occupies the memory. When the memory occupied by multiple first target software reaches a certain proportion, it will cause memory congestion, which will eventually cause the computer to run slowly, and even freeze. For this reason, the embodiment of the present invention needs to process and judge the first target software in the memory through the software management method.
[0068] It should be noted that the first target software in the embodiment of the present invention is software running in the memory but not in use at the current moment. For example, at the current moment, software A, B, C and D are running in the memory, the user is using software D, and software A, B and C are running in the background and are not in use, then software A, B and C are determined to be the first target software.
[0069] It can be understood that by obtaining multiple first target software running in the memory at the current moment, the software management method in the embodiment of the present invention obtains the data in the memory in real time, that is, the software management method makes judgments in real time based on the situation in the memory, and the current moment is the time corresponding to the execution of the software management method.
[0070] Step S102, obtaining corresponding software information according to the software name of each first target software, each piece of software information includes software size and historical data.
[0071] It should be noted that after the terminal obtains multiple first target software in the memory, it obtains the corresponding software information from the data stored in the terminal according to the software name of each first target software, where the software information includes the software size information of the first target software and the historical data of each first target software. The software size can indicate the size of the space occupied by the first target software in the memory, and the historical data can indicate the historical usage habits of the first target software in the terminal. By obtaining the software information of the first target software, further processing can be performed based on the software size and historical data.
[0072] It can be understood that the software information in the embodiment of the present invention may also include other information. The software size and historical data are taken as examples in the embodiment of the present invention, which does not constitute a limitation on the embodiment of the present invention.
[0073] Step S103, determining the priority information of each corresponding first target software according to the software size and historical data in the software information.
[0074] It should be noted that the terminal can determine the shutdown priority of the first target software based on the software information. Specifically, the terminal determines the priority information of each first target software according to the software size and historical data at the current moment. The priority information can represent the shutdown priority order of the first target software. The obtained priority information is obtained in combination with the current moment, which realizes the time characteristics of management control, and makes priority judgment based on the software size and historical data, and can make intelligent selections based on the occupied size and historical usage habits.
[0075] It can be understood that in the embodiment of the present invention, priority information is obtained based on the software size and historical data at the current moment, which can reflect the decision-making advantage in time. It can be understood that when users use computers, they will have different usage habits in different time periods every day. Historical data can show the user's usage habits of the first target software at the current moment. Therefore, the embodiment of the present invention determines the priority information of each first target software in combination with the current moment, thereby realizing the time characteristics of management control and further improving the level of intelligent management of software.
[0076] It can be understood that by obtaining multiple first target software running in the memory at the current moment, and determining the priority information of each first target software according to the software size and historical data at the current moment, the software management method in the embodiment of the present invention makes a priority judgment on the data in the memory in real time, that is, the software management method makes a priority judgment according to the situation in the memory in real time, and obtains the priority information of the first target software according to the software size and historical data at the current moment. The current moment is the time corresponding to the execution of the software management method.
[0077] Step S104: determining the second target software from the plurality of first target software according to the priority information.
[0078] It should be noted that, the software management method in the embodiment of the present invention, after obtaining the priority information of the first target software, can obtain the software with a higher priority as the second target software according to the shutdown priority order among multiple first target software represented by the priority information. The second target software is the software that most needs to be closed among the multiple first target software. The second target software can be one or more and can be determined according to the shutdown priority order represented by the priority information and the user's choice, and there is no specific limitation on this.
[0079] Step S105, closing the second target software.
[0080] It should be noted that, in the software management method in the embodiment of the present invention, the terminal determines the second target software from multiple first target software, and then closes the determined second target software. The software management method in the embodiment of the present invention can record the user's usual use of software through software information, and flexibly close temporarily unused software according to the use record, so as to save terminal usage space, improve the terminal's operating speed, and ultimately reduce memory consumption and improve the terminal's operating efficiency.
[0081] Reference Figure 2 As shown, in some embodiments, step S101 in the software management method may include but is not limited to steps S201 to S202.
[0082] Step S201, obtaining memory usage information at the current moment.
[0083] Step S202: when the memory usage information indicates that the current memory value is greater than a preset memory critical value, a plurality of first target software running in the memory at the current moment is obtained.
[0084] It should be noted that when the software management method in the embodiment of the present invention is executed, it is necessary to judge the occupancy of the software in the memory. When the software occupies a certain proportion of the memory, the subsequent closing steps are performed. Specifically, the terminal first obtains the memory usage information at the current moment. The memory usage information can characterize the memory usage, which is the proportion of the set memory that needs to be closed. For example, the memory usage information can characterize how much space has been used in the current memory. When the memory usage information characterizes that the current memory value is greater than the preset memory critical value, it means that the memory space occupancy ratio for closing the software has been reached. Then, multiple first target software running in the memory at the current moment is obtained, so as to perform further processing according to the first target software. It can be understood that the memory value is a numerical expression of the size of the space occupied by the software in the memory.
[0085] It should be noted that the preset memory critical value is a threshold value set in advance by the terminal. The memory critical value can obtain the user's input information through the terminal and obtain a threshold value that meets the user's needs based on the user's selection. In one embodiment, the memory critical value is a percentage numerical threshold, and the percentage of the first target software currently running in the memory can be obtained based on the memory usage information. For example, when the user selects 75% as the memory critical value, the terminal parses the memory usage information. If the current memory value exceeds 75%, it starts to obtain the information of the first target software running in the memory. The embodiment of the present invention can flexibly shut down the software based on the percentage of the total memory space occupied by the software.
[0086] It can be understood that step S201 and step S202 in the above embodiment can be periodically or non-periodically executed by the terminal. The terminal can periodically or non-periodically obtain the corresponding memory usage information at the current moment and judge the memory occupancy. If the memory value is less than the preset memory critical value, no subsequent processing is performed, and the memory usage information continues to be obtained for judgment. If the memory critical value exceeds the memory critical value, the subsequent steps in the above embodiment are started.
[0087] Reference Figure 3 As shown, in some embodiments, step S102 in the software management method may include but is not limited to steps S301 to S303.
[0088] Step S301: determining the software sizes of the corresponding first target software respectively according to the software names of the first target software.
[0089] Step S302, according to the software name of the first target software, determine the number of times each corresponding first target software is used within the target time period, the time interval between uses after one use, and the idle time period every day when it is not used, and obtain historical data of the number of uses, time intervals and idle time periods.
[0090] Step S303, obtaining software information according to software size and historical data.
[0091] It should be noted that the software information in the embodiment of the present invention can represent the user's usual software usage. Specifically, the historical data in the software information can record the user's usual software usage. In the above step S102, it can also specifically include determining the software size of each corresponding first target software according to the software name of the first target software. In addition, the number of times each corresponding first target software is used within the target time period, the time interval for use after one use, and the idle time period every day are determined according to the software name of the first target software. The number of uses, the time interval for use and the idle time period are obtained to obtain historical data, and the software information is obtained according to the software size and the historical data.
[0092] Under the premise of meeting the requirements of the embodiment of the present invention, the historical data may also include other data. For example, the historical data may also include which software was opened before and after the software. The embodiment of the present invention does not impose any specific limitation on this.
[0093] It should be noted that the terminal can obtain the corresponding software size according to the various software stored in the terminal in advance. When executing the software management method, the software size of the first target software can be obtained by querying the background or looking up the table according to the software name of the first target software.
[0094] Historical data can record how users usually use the software:
[0095] In one embodiment, the number of uses is the number of times the software is used within a period of time. The target time period can be set according to the needs of the user or set by default. The target time period can be one month, that is, the number of uses in the historical data is the number of times the software is used within a month. By obtaining the number of times the software is used within a period of time (such as one month or 30 days), the software with fewer uses will be closed first. The number of uses in the embodiment of the present invention can also be understood as the frequency of use.
[0096] In another embodiment, the usage time interval is the number of days that the software is not used again after being used once in a day, which can indicate the user's usage habits for the software and the importance of the software. It should be noted that the usage time interval can also be obtained over a period of time. For example, by obtaining the number of days that the software is not used again after being used once a day in a month as the usage time interval, the more days represented by the usage time interval, the less important the software is, and it is preferred to close it.
[0097] In another embodiment, the idle time period is the number of days that the software is not used in the current time period. It is understandable that the terminal can obtain the number of days that the software is not used in each time period within a period of time (such as one month or 30 days). The more days, the priority is closed. The priority can be determined in combination with the current time through the idle time period. For example, the terminal obtains the same time period when the software stops being used. If the first target software A is used from 8:00 to 9:00, the number of days that it is not used in other time periods is 10 days, and it is used from 9:00 to 11:00, the number of days that it is not used in other time periods is 15 days, Another first target software B is used from 8:00 to 9:00, and is not used for 15 days in other time periods; it is used from 9:00 to 11:00, and is not used for 10 days in other time periods. If the current time is 10:00, when executing the priority judgment, software A is used for 15 days at 10:00, and the idle time period is 15 days; software B is used for 10 days at 10:00, and the idle time period is 20 days. Combining the idle time periods and the current time can further improve the time characteristics of software management and further improve the level of intelligent control.
[0098] Reference Figure 4 As shown, in some embodiments, step S103 in the software management method may include but is not limited to steps S401 to S402.
[0099] Step S401 , sorting the closing priorities of the first target software according to the software sizes and historical data in the software information, and obtaining sorting results of the first target software with respect to different software information.
[0100] Step S402: determining the priority information of each first target software according to the sorting result.
[0101] It should be noted that the embodiment of the present invention sorts the closing priority of each first target software according to the software size and historical data, and obtains the sorting results of different software information among the first target software. There are multiple software information. The embodiment of the present invention takes the software information including the software size and historical data as an example, and the historical data can include multiple. Therefore, when performing closing priority sorting, the sorting results of different software information among the first target software can be obtained, and then the priority information of each first target software is determined according to the multiple sorting results obtained.
[0102] It can be understood that since there are multiple software information and multiple historical data therein, the sorting result is obtained by closing priority sorting based on the software size and multiple different historical data. Among the multiple sorting results, the terminal can finally determine the corresponding priority information according to the sorting result of the first target software about the unused software information.
[0103] Reference Figure 5 As shown, in some embodiments, the sorting results include a first sorting result, a second sorting result, a third sorting result and a fourth sorting result, and step S401 in the software management method may include but is not limited to steps S501 to S504.
[0104] Step S501 , sorting the closing priorities of the first target software according to the software sizes to obtain a first sorting result.
[0105] Step S502 , sorting the closing priorities of the first target software according to the number of times of use to obtain a second sorting result.
[0106] Step S503: sorting the closing priorities of the first target software according to the usage time interval to obtain a third sorting result.
[0107] Step S504 , sorting the closing priorities of the first target software according to the number of days of the corresponding idle time period at the current moment, to obtain a fourth sorting result.
[0108] It should be noted that there are multiple sorting results in the embodiments of the present invention, and the historical data include the number of uses, the time interval of use, and the idle time period in the above embodiments. The historical data will not be repeated here. When performing closing priority sorting, the terminal sorts the closing priority of each first target software according to the software size to obtain a first sorting result, sorts the closing priority of each first target software according to the number of uses to obtain a second sorting result, sorts the closing priority of each first target software according to the time interval of use to obtain a third sorting result, and sorts the closing priority of each first target software according to the number of days of the idle time period corresponding to the current moment to obtain a fourth sorting result.
[0109] For example, the first target software includes software A, B and C. The software sizes of software A, B and C are obtained respectively, and the space occupied by software A, B and C in the memory is obtained to be 10%, 8% and 19% respectively; the number of times used in the historical data is obtained, and the number of times software A, B and C are used in a month is obtained to be 18 times / month, 23 times / month and 28 times / month respectively; the usage time interval in the historical data is obtained, and the number of days that software A, B and C are not used after being used once a day in a month is obtained to be 10 days / month, 17 days / month and 7 days / month respectively; the idle time period in the historical data is obtained, and the same time period that is stopped from being used every day is obtained: software A is used from 8:00 to 9:00 and is not used in other time periods, and the number of days used in this period is 10 days / month; software B is used from 9:00 to 11:00 and is not used in other time periods, and the number of days used in this period is 15 days / month; software C is used from 11:00 to 11:30 and is not used in other time periods, and the number of days used in this period is 17 days / month.
[0110] According to the software information obtained above, the closing priority is sorted. The closing priority of each first target software is sorted according to the software size, and the first sorting result is C, A, B. The closing priority of each first target software is sorted according to the number of times it is used, and the second sorting result is A, B, C. The closing priority of each first target software is sorted according to the usage time interval, and the third sorting result is B, A, C. If the current time is 12:00, the closing priority of each first target software is sorted according to the number of days of the corresponding idle time period at the current time, and the fourth sorting result is C, B, A. According to the sorting results obtained under the different software information, the required priority information can be obtained later.
[0111] Reference Figure 6 As shown, in some embodiments, step S402 in the software management method may include but is not limited to steps S601 to S602.
[0112] Step S601, obtaining the number of first target software satisfying the shutdown priority according to the sorting result.
[0113] Step S602: determining the priority information of each first target software according to the number of software that meets the shutdown priority.
[0114] It should be noted that after sorting the closing priorities according to the software information and obtaining different sorting results, the terminal obtains the number of first target software that meet the closing priorities according to the sorting results, and determines the priority information of each first target software according to the number of software that meet the closing priorities. The software with the larger number of software that meet the closing priorities is determined to need to be closed first, and the priority information indicates that the first target software needs to be closed.
[0115] For example, according to the first sorting result, the second sorting result, the third sorting result and the fourth sorting result described in the above embodiments, it can be obtained that software C meets the most shutdown priorities and ranks first in the first sorting result and the fourth sorting result respectively. The obtained priority information indicates that software C needs to be shut down first.
[0116] In addition, if there are multiple first target software that meet the same number of shutdown priorities, a selection is made based on the important sorting result, which can be a pre-set one or a user-selected one, and the embodiment of the present invention does not impose specific restrictions on it. For example, software A and software B meet the priority shutdown requirement once in multiple sorting results. If the important sorting result is the first sorting result corresponding to the software size, and the priority is the same, the software that occupies a larger space is closed first. Then, according to the first sorting result, it is determined that software A needs to be closed first. Finally, the priority information in the embodiment of the present invention represents the order of the first target software to be closed first as C, A, and B.
[0117] It can be understood that the order of priority closing in the first target priority is C, A, and B. The terminal determines the second target software from the first target software according to the order of priority closing. Software C needs to be closed first, and software C is the second target software. After closing software C, which has the highest priority, the memory usage information indicates that the current memory value is still greater than the preset memory critical value, then software A is determined to be the second target software, and software A is closed. It should be noted that when the proportion of space occupied by the software in use is less than the proportion of the software that needs to be closed, there is no need to close the software.
[0118] It should be noted that, in one embodiment, if the historical data includes which software was opened before and after the software was opened, the second target software can also be selected based on the historical data. For example, the historical data shows that after software C is closed, the number of times software A is used is greater than the number of times software B is used. According to the above embodiment, although the software size of software A is larger than that of software B, the terminal still selects software B as the second target software and keeps software A running in the memory. Therefore, the software management system in the embodiment of the present invention can record the user's usual use of software through software information, and flexibly close temporarily unused software according to the use record to save terminal usage space, increase the terminal's operating speed, and ultimately reduce memory consumption and improve the terminal's operating efficiency.
[0119] Reference Figure 7 As shown, in some embodiments, step S104 in the software management method may include but is not limited to steps S701 to S702.
[0120] Step S701: Send a closing request message based on the second target software to the user terminal.
[0121] Step S702: If a confirmation closing message is received from the user terminal, the second target software is closed.
[0122] It should be noted that when the terminal closes the second target software according to the software management method, it can ask the user whether it needs to be closed. In the embodiment of the present invention, the user can choose whether to ask when closing. If the user chooses to ask the user when closing, the user needs to be asked first and asked to confirm before closing. If the user chooses not to ask, the software can be closed directly.
[0123] Specifically, when the user chooses to be asked when closing, the second target software is determined from multiple first target software according to the priority information, and a closing request information based on the second target software is sent to the user terminal. If a confirmed closing information is received from the user terminal, the second target software is closed. It can be understood that the user terminal can be a terminal device after a communication connection is established with the terminal in the above embodiment, and the user terminal can also be a part of the terminal in the above embodiment, indicating the part of the terminal that interacts with the user. In one embodiment, the user terminal can be a display screen on the terminal. By asking the user whether to close the second target software, the user's customized closing requirements are met, avoiding closing software that the user needs to use or is more important, and improving the intelligence level of the software management method.
[0124] Reference Figure 8 As shown, the embodiment of the present invention further provides a software management system, which can implement the software management method in the above embodiment. The software management system includes multiple modules, specifically including:
[0125] The memory acquisition module 801 is used to acquire multiple first target software running in the memory at the current moment.
[0126] The data acquisition module 802 is used to acquire corresponding software information according to the software name of each first target software, and each software information includes software size and historical data.
[0127] The priority determination module 803 is used to determine the priority information of each first target software according to the software size and historical data in the software information.
[0128] The closing decision module 804 is used to determine the second target software from the plurality of first target software according to the priority information.
[0129] The software closing module 805 is used to close the second target software.
[0130] It should be noted that the software management system in the embodiment of the present invention can execute the software management method in the above embodiment. By executing the software management method, multiple first target software running in the memory at the current moment are obtained. The first target software is running in the memory at the current moment and occupies a certain space in the memory. Then the terminal obtains the corresponding software information according to the software name of each first target software. The software information includes the software size and historical data of the first target software. When performing software management and control, the priority information of each first target software is determined according to the software size and historical data at the current moment. The obtained priority information is obtained in combination with the current moment, realizing the time characteristics of management and control. Priority judgment is performed based on the software size and historical data. Intelligent selection can be made based on the occupied size and historical usage habits, and the second target software is determined from the multiple first target software according to the priority information. The second target software is the software that meets the priority information and is the software that needs to be closed. Then the terminal closes the determined second target software. The embodiment of the present invention can reduce memory consumption and improve the operating efficiency of the terminal.
[0131] It should be noted that the software management system can be a computer (including a personal computer / computer), a mobile phone, a tablet computer, a server, or other equipment that needs to set up memory to run the system or software. The software can be various applications (APPs), scripts, or caches running in the terminal. The embodiment of the present invention does not make specific restrictions on this. Here, the embodiment of the present invention takes the software management system as a computer as an example. It can be understood that the software management system in the embodiment of the present invention can be the terminal described in the above embodiment, and the terminal is provided with the above memory acquisition module 801, data acquisition module 802, priority judgment module 803, shutdown decision module 804, and software shutdown module 805. The software management method in the embodiment of the present invention can be executed through the above modules.
[0132] The software management system may also be provided with other modules to implement corresponding functions, which is not specifically limited in the embodiment of the present invention.
[0133] The specific implementation of the software management system is basically the same as the specific implementation of the above-mentioned software management method, and will not be repeated here.
[0134] The embodiment of the present invention further provides an electronic device, the electronic device comprising: a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory, wherein the above-mentioned software management method is realized when the program is executed by the processor. The electronic device may be any intelligent terminal including a tablet computer, a vehicle-mounted computer, etc.
[0135] Reference Fig. 9 As shown, Fig. 9 The hardware structure of an electronic device of another embodiment is illustrated, and the electronic device includes:
[0136] The processor 901 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present invention;
[0137] The memory 902 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 902 can store an operating system and other application programs. When the technical solution provided in the embodiment of this specification is implemented by software or firmware, the relevant program code is stored in the memory 902, and the processor 901 calls and executes the software management method of the embodiment of the present invention;
[0138] Input / output interface 903, used to implement information input and output;
[0139] Communication interface 904, used to realize communication interaction between the device and other devices, which can be realized through wired mode (such as USB, network cable, etc.) or wireless mode (such as mobile network, WIFI, Bluetooth, etc.);
[0140] A bus 905 that transmits information between various components of the device (e.g., the processor 901, the memory 902, the input / output interface 903, and the communication interface 904);
[0141] The processor 901 , the memory 902 , the input / output interface 903 and the communication interface 904 are connected to each other in communication within the device via a bus 905 .
[0142] An embodiment of the present invention further provides a storage medium, which is a computer-readable storage medium used for computer-readable storage. The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the above-mentioned software management method.
[0143] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0144] The embodiments described in the embodiments of the present invention are intended to more clearly illustrate the technical solutions of the embodiments of the present invention, and do not constitute a limitation on the technical solutions provided by the embodiments of the present invention. Those skilled in the art can appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of the present invention are also applicable to similar technical problems.
[0145] It can be understood by those skilled in the art that Figure 1-7 The technical solutions shown in the figure do not constitute a limitation on the embodiments of the present invention, and may include more or fewer steps than those shown in the figure, or a combination of certain steps, or different steps.
[0146] The system embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment.
[0147] Those skilled in the art will appreciate that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices may be implemented as software, firmware, hardware, or a suitable combination thereof.
[0148] The terms "first", "second", "third", "fourth", etc. (if any) in the description of the embodiments of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0149] It should be understood that in the embodiments of the present invention, "at least one (item)" refers to one or more, and "plurality" refers to two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can represent: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0150] In the several embodiments provided by the present invention, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are only schematic. For example, the division of the above units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of systems or units, which can be electrical, mechanical or other forms.
[0151] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple 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.
[0152] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0153] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including multiple instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), disk or optical disk and other media that can store programs.
[0154] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but the scope of the rights of the embodiments of the present invention is not limited thereby. Any modification, equivalent substitution and improvement made by those skilled in the art without departing from the scope and essence of the embodiments of the present invention shall be within the scope of the rights of the embodiments of the present invention.
Claims
1. A software management method, characterized in that, the method includes: Obtain multiple first target software running in memory at the current moment; Obtain corresponding software information according to the software names of each of the first target software, and each software information includes software size and historical data; Determine the priority information of each corresponding first target software respectively according to the software size and historical data in the software information; Determine a second target software from the multiple first target software according to the priority information; Close the second target software; The step of determining the priority information of each corresponding first target software respectively according to the software size and historical data in the software information includes: Perform shutdown priority sorting on each of the first target software according to the software size and historical data in the software information respectively, and obtain sorting results of each of the first target software regarding different software information; Determine the priority information of each first target software according to the sorting results; The sorting results include a first sorting result, a second sorting result, a third sorting result and a fourth sorting result. The step of performing shutdown priority sorting on each of the first target software according to the software size and historical data in the software information respectively, and obtaining sorting results of each of the first target software regarding different software information includes: Perform shutdown priority sorting on each of the first target software according to the software size, and obtain the first sorting result; Perform shutdown priority sorting on each of the first target software according to the number of uses, and obtain the second sorting result; Perform shutdown priority sorting on each of the first target software according to the usage time interval, and obtain the third sorting result; Perform shutdown priority sorting on each of the first target software according to the number of days of the corresponding idle time period at the current moment, and obtain the fourth sorting result; The step of determining the priority information of each first target software according to the sorting results includes: Obtain the number of each first target software that meets the shutdown priority according to the sorting results; Determine the priority information of each first target software according to the number of those that meet the shutdown priority.
2. The software management method according to claim 1, characterized in that, the step of obtaining multiple first target software running in memory at the current moment includes: Obtain the memory usage information at the current moment; When the memory usage information indicates that the current memory value is greater than a preset memory critical value, obtain multiple first target software running in the memory at the current moment.
3. The software management method according to claim 1, characterized in that, the step of obtaining corresponding software information according to the software names of each of the first target software includes: Determine the software size of each corresponding first target software respectively according to the software name of the first target software; Determine the usage times of each of the first target software within the target time period, the usage time interval after which it is no longer used after being used once, and the idle time period when it stops being used every day, respectively, according to the software names of the first target software, and obtain historical data from the usage times, the usage time interval, and the idle time period; Obtain the software information based on the software size and the historical data.
4. The software management method according to claim 1, characterized in that, the closing of the second target software includes: sending a closing request message based on the second target software to the user terminal; if receiving the confirmed closing message fed back from the user terminal, closing the second target software.
5. A software management system, characterized in that, the system includes: a memory acquisition module for acquiring a plurality of first target software running in the memory at the current moment; a data acquisition module for respectively acquiring corresponding software information according to the software names of each of the first target software, and each of the software information includes software size and historical data; a priority judgment module for respectively determining the priority information of each of the first target software according to the software size and the historical data in the software information; a closing decision module for determining a second target software from the plurality of first target software according to the priority information; a software closing module for closing the second target software; the respectively determining the priority information of each of the first target software according to the software size and the historical data in the software information includes: respectively performing a closing priority sorting on each of the first target software according to the software size and the historical data in the software information to obtain sorting results of each of the first target software with respect to different software information; determining the priority information of each of the first target software according to the sorting results; the sorting results include a first sorting result, a second sorting result, a third sorting result, and a fourth sorting result, and the respectively performing a closing priority sorting on each of the first target software according to the software size and the historical data in the software information to obtain sorting results of each of the first target software with respect to different software information includes: performing a closing priority sorting on each of the first target software according to the software size to obtain the first sorting result; performing a closing priority sorting on each of the first target software according to the usage times to obtain the second sorting result; performing a closing priority sorting on each of the first target software according to the usage time interval to obtain the third sorting result; performing a closing priority sorting on each of the first target software according to the number of days of the corresponding idle time period at the current moment to obtain the fourth sorting result; the determining the priority information of each of the first target software according to the sorting results includes: obtaining the number of each of the first target software that meets the closing priority according to the sorting results; determining the priority information of each of the first target software according to the number of those that meet the closing priority.
6. An electronic device, characterized in that, The electronic device includes a memory, a processor, a program stored on the memory and executable on the processor, and a data bus for implementing connection communication between the processor and the memory. When the program is executed by the processor, the steps of the software management method according to any one of claims 1 to 4 are implemented.
7. A storage medium, which is a computer-readable storage medium for computer-readable storage, characterized in that the storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps of the software management method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Memory management method and mobile terminal
CN105354093A