CN110941436A - Data storage method and device of application program, storage medium and terminal equipment - Google Patents

Data storage method and device of application program, storage medium and terminal equipment Download PDF

Info

Publication number
CN110941436A
CN110941436A CN201911093101.7A CN201911093101A CN110941436A CN 110941436 A CN110941436 A CN 110941436A CN 201911093101 A CN201911093101 A CN 201911093101A CN 110941436 A CN110941436 A CN 110941436A
Authority
CN
China
Prior art keywords
application program
storage area
storage
data
capacity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911093101.7A
Other languages
Chinese (zh)
Other versions
CN110941436B (en
Inventor
张亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oppo Chongqing Intelligent Technology Co Ltd
Original Assignee
Oppo Chongqing Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo Chongqing Intelligent Technology Co Ltd filed Critical Oppo Chongqing Intelligent Technology Co Ltd
Priority to CN201911093101.7A priority Critical patent/CN110941436B/en
Publication of CN110941436A publication Critical patent/CN110941436A/en
Application granted granted Critical
Publication of CN110941436B publication Critical patent/CN110941436B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The disclosure provides a data storage method of an application program, a data storage device of the application program, a storage medium and a terminal device, and relates to the technical field of electronic devices. The method comprises the following steps: when an application program is installed, continuous free storage units are divided in a storage space to obtain a storage area of the application program; and storing data generated when the application program runs into the storage area. According to the method and the device, data reading and writing of each application program can be limited in the storage area of the application program, so that data isolation among the application programs is realized, data of other application programs are prevented from being tampered and deleted, and the safety of a system and the privacy of the data are improved.

Description

Data storage method and device of application program, storage medium and terminal equipment
Technical Field
The present disclosure relates to the field of electronic devices, and in particular, to a data storage method for an application program, a data storage device for an application program, a computer-readable storage medium, and a terminal device.
Background
At present, in terminal devices such as computers, smart phones and tablet computers, reading and writing of data on a memory by an application program is not restricted. Taking an Android system as an example, after an APP (Application) obtains an authority to read and write memory Data (usually, a user needs to agree to grant the authority when the APP is operated for the first time), a file can be created, read and written, and deleted in a Data partition (Data partition) of the whole memory. Therefore, data of other APPs can be tampered, and a security risk exists, especially when a mobile phone is provided with a malicious program and rogue software, system security and user privacy are greatly threatened.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The present disclosure provides a data storage method of an application program, a data storage apparatus of an application program, a computer-readable storage medium, and a terminal device, thereby at least to some extent improving the problem of security risk in the prior art that the read-write data of the application program exists.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to a first aspect of the present disclosure, there is provided a data storage method of an application program, including: when an application program is installed, continuous free storage units are divided in a storage space to obtain a storage area of the application program; and storing data generated when the application program runs into the storage area.
According to a second aspect of the present disclosure, there is provided a data storage device of an application program, comprising: the storage area dividing module is used for dividing continuous free storage units in a storage space to obtain a storage area of the application program when the application program is installed; and the operation data storage module is used for storing data generated when the application program operates to the storage area.
According to a third aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the data storage method of the above application program.
According to a fourth aspect of the present disclosure, there is provided a terminal device comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the data storage method of the application program via execution of the executable instructions.
The technical scheme of the disclosure has the following beneficial effects:
according to the data storage method of the application, the data storage device of the application, the storage medium, and the terminal device described above, when the application is installed, a continuous free storage unit is divided in a storage space as a storage area of the application, and data generated when the application is run is subsequently stored in the storage area. On one hand, the data reading and writing of each application program can be limited in the storage area of the application program, so that the data reading and writing of different application programs are isolated, the data of other application programs are prevented from being tampered and deleted, and the safety of the system and the privacy of the data are improved; on the other hand, the storage area of each application program is a continuous storage unit, so that the addressing process during data reading and writing is simplified, particularly when the read data volume is large, the data does not need to be searched from a plurality of addresses, the continuously stored data can be directly read, and the efficiency is high; on the other hand, by the data storage mode of the scheme, memory and data management can be conveniently realized, for example, the file size of each application program is counted, and a smaller data file is combined to perform fragmentation arrangement on a memory, so that the storage performance of the system is improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is apparent that the drawings in the following description are only some embodiments of the present disclosure, and that other drawings can be obtained from those drawings without inventive effort for a person skilled in the art.
FIG. 1 illustrates a file distribution diagram of an existing data partition;
fig. 2 is a flowchart illustrating a data storage method of an application program in the present exemplary embodiment;
FIG. 3 is a diagram illustrating a file distribution of data partitions in the exemplary embodiment;
fig. 4 is a block diagram showing a structure of a data storage device of an application program in the present exemplary embodiment;
FIG. 5 illustrates a computer-readable storage medium for implementing the above-described method in the present exemplary embodiment;
fig. 6 shows a terminal device for implementing the above method in the present exemplary embodiment.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and the like. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
A plurality of applications are usually installed in the terminal device, and data files of the applications are stored in a storage space of the terminal device. Fig. 1 shows a file distribution situation of a data partition in an android system, where the data partition is composed of basic storage units Block (data blocks), each grid in the drawing represents a Block, grids in different patterns represent blocks occupied by data of different APPs, and a grid without patterns is an idle Block. As can be seen, the data of APP1, APP2 and APP3 are discretely and alternately distributed on the blocks of different areas, which is messy. When the APP1 is running, data may need to be read and written from blocks in different areas, and the efficiency is low. Moreover, different APPs are mutually influenced, for example, data of other APPs are maliciously deleted by a certain APP, or data of other APPs are wrongly read and written when a certain APP is abnormal, and the safety is low.
In view of one or more of the above problems, exemplary embodiments of the present disclosure provide a data storage method of an application program, which may be applied to a terminal device having a memory, such as a computer, a smart phone, a tablet computer, and the like. Fig. 2 shows a flow of the method, which may include the following steps S210 and S220:
in step S210, when the application program is installed, continuous free storage units are divided in the storage space to obtain the storage area of the application program.
Step S220, storing the data generated when the application program runs into the storage area.
The storage space refers to an NVM (Non-Volatile Memory) in the Memory, and may be a Read-Only Memory (ROM), where the ROM may specifically be a hard disk in a computer or a Non-operating Memory in a smart phone. In the exemplary embodiment, the storage space mainly stores data of the application program, and therefore may be a data partition of an android system, a magnetic disk specified by a Windows system, or the like, for example, if the magnetic disk D is set in advance for storing data of the application program, the storage space is the magnetic disk D. The storage space is composed of individual storage units, such as blocks of an android system, sectors of a Windows system, and the like. The free memory units refer to units which do not store data, and the free memory units are continuous, namely the addresses of the units in the memory space are continuous.
The storage area is equivalent to reserving a continuous storage unit for the application program, and when the application program is operated, generated data, files and the like are stored in the storage area. It should be noted that the storage areas of different applications should be independent and have no overlapping portion. For example, when APP2 is installed, even if there are still a large number of consecutive free memory cells in the storage region of APP1, the storage region of APP2 should be completely set outside the storage region of APP 1. Referring to fig. 3, the storage areas of different applications may be referred to, where files of APP1, APP2, and APP3 are respectively located in respective storage areas (a row in the figure indicates a storage area), which do not affect each other, when APP1 is run, generated data is sequentially written into the storage unit of the storage area, and when data is read, data is also read from the storage area, that is, all activities may be limited in the storage area.
In an optional implementation manner, a storage area management table may be maintained to record and update storage area information of each APP, which may include, for example, APP names, start addresses, end addresses, used conditions, and the like; when a storage area is divided for a new application program, the area which is already allocated can be avoided by inquiring the table; when the application program is operated, the address of the data and the file of the application program can be determined by inquiring the table, so that the corresponding address is indexed for data reading and writing.
Based on the above description, in the exemplary embodiment, on one hand, data reading and writing of each application program may be limited in the storage area of the application program, so as to isolate data reading and writing of different application programs, prevent tampering and deletion of data of other application programs, and improve system security and data privacy; on the other hand, the storage area of each application program is a continuous storage unit, so that the addressing process during data reading and writing is simplified, particularly when the read data volume is large, the data does not need to be searched from a plurality of addresses, the continuously stored data can be directly read, and the efficiency is high; on the other hand, with the data storage method of the exemplary embodiment, it is very convenient to implement memory and data management, for example, statistics of the file size of each application program, merging of smaller data files to perform defragmentation of the memory, and the like, thereby improving the storage performance of the system.
Two exemplary embodiments are provided below regarding how many number of free memory cells are specifically divided when dividing the memory area, but the present disclosure is not limited thereto:
in the first embodiment, a fixed-size storage area may be reserved for each application when the application is installed. For example, in the android system, a 1GB memory region is reserved for each APP, and if 1Block is 4KB, 250,000 blocks are reserved for 1 GB; the data partition may be partitioned in advance, assuming that the necessary system data occupies 100,000 blocks, and the remaining portion of the data partition is divided into a plurality of regions: area 1 is Block 100,001-Block 350,000; when the APPs are installed subsequently in the region 2 from Block 350,001 to Block 600,000 … …, a region may be designated as a storage region for each APP according to the sequence of the regions. It should be noted that the size of each storage unit is related to the system and version, and also to the physical parameters of the memory, and the size of each storage unit is generally the same in a system of a device.
In the second embodiment, the required capacity of the storage area can be determined according to the application program, and a corresponding number of continuous free storage units can be divided in the storage space. For example, when installing a video APP, a storage area for caching video data needs to be reserved, which is generally large, for example, a capacity of 2GB is needed, and the number of storage units corresponding to 2GB can be calculated, for example, 2GB equals 500,000 blocks; and then dividing the number of continuous free storage units in the storage space to obtain a storage area of the video APP.
Further, the capacity of the storage area required by the application program may be determined based on the statistical result of the user usage data of the application program. The user usage data refers to the number and size of data and files stored in an application program by a user, the storage capacity occupied by the application program in user equipment, and the like, and the user usage data is counted on a general computer or a smart phone. The exemplary embodiment may obtain the big data statistics result of the user usage data from channels such as internet or APP store, which may include average storage capacity and storage capacity range occupied by the user using APP, storage capacity occupied by different types of users or different types of devices, and the like, for example, considering that the difference of usage habits of the user due to different device memory sizes may be considered, the statistics result may be divided into several levels, including: on a mobile phone with 64GB memory, a user uses the average storage capacity occupied by APP; and on a mobile phone with 128GB memory, the average storage capacity occupied by the APP is used by a user, and the like. According to the statistical result, in combination with the actual situation of the device, the capacity of the storage area required by the application program can be calculated, for example, if the device is a 128GB mobile phone, the statistical average storage capacity of APP corresponding to 128GB can be used as the result.
In order to manage the storage space more efficiently. In an alternative embodiment, after the application is installed, consecutive free memory units may be removed from the end of the memory region to reduce the capacity of the memory region when the following conditions are simultaneously met:
the method comprises the following steps that 1, in the latest preset time, the running times of an application program reach preset times;
and 2, counting the utilization rate of the storage area in the latest preset time, wherein the change amplitude of the utilization rate is lower than the preset amplitude.
In summary, if the data amount of the application program is stable during the running process, the storage area can be reduced appropriately if the storage area is still left. Wherein, the latest preset time can be the latest week, the latest month, etc., and the preset times can be 3 times, 5 times, 10 times, etc., and is related to the length of the preset time. Condition 1 is to ensure that the application has a certain frequency of operation in the near future. The usage rate of the storage area may include a usage size (i.e., how much capacity is used), a usage ratio (used capacity/total capacity), and the like, and a variation range of the usage rate may be a maximum value minus a minimum value of the preset time usage rate, or may be measured by an index such as a variance, and the disclosure does not limit this; the preset amplitude can be set according to experience and actual conditions and is used for measuring whether the utilization rate of the storage area is stable or not. And when the variation amplitude of the utilization rate is lower than the preset amplitude, the use condition is stable. By combining the conditions 1 and 2, it can be estimated that the usage rate of the storage area will not change greatly in the future use process, and thus the size of the storage area can be optimally adjusted.
Since the data in the storage area is written sequentially, the storage unit at the tail part of the storage area is generally free, and a certain number of free storage units can be removed from the tail part, so as to save more storage space for other application programs. Specifically, how many units are removed can be determined according to actual conditions, and the present disclosure provides the following two specific schemes:
(1) and multiplying the current utilization rate by a certain coefficient (the coefficient is more than 1) to serve as the size of the updated storage area, and removing the excess part. For example, the original size of the storage area is 1GB, the current usage rate is 500MB and is stable, and the storage area can be multiplied by a factor of 1.2, that is, 600MB of the storage area is reserved, and the tail 400MB of the storage area is removed to be opened to other applications.
(2) The number of removed memory units can be determined according to the requirements of other applications, and the removed parts can form the memory areas of other applications separately. For example, if the original size of the storage area is 1GB, the current usage rate is 500MB and is stable, and another application needs a storage area with a size of 300MB, the corresponding 300MB area can be removed from the tail.
In the actual operation process, there may be a case where the storage area is insufficient, and if the storage area is full, which means that all the storage units are occupied, or the usage reaches a higher threshold (e.g. 95%), etc., it may be detected whether consecutive storage units behind the storage area are occupied, and if the storage area is not occupied, the storage area may be extended backward, that is, the storage area is increased. Generally, the unoccupied storage area is less and is generally occupied by other applications, and based on this situation, in an alternative embodiment, the storage area may be used as a first storage area of the application, and a continuous free storage unit is additionally partitioned in the storage space to obtain a second storage area of the application. The other position of the storage space is equivalently divided into a region for additional use. Data generated during the running of the application program can be stored in the second storage area subsequently. The capacity of the second storage area may be smaller than the first storage area, e.g. may be half the capacity of the first storage area or 1/3, etc., which may save resources in view of the fact that in case the first storage area is already written full, usually no more space is needed.
In order to further improve the centralization of application program data, the program data of the application program and the operation data can be put together, the program data refers to data generated by installing the application program and comprises codes, variables, diagrams and the like required by program operation, and the operation data is data generated in the operation process and comprises user data, temporary data stored locally and the like. Specifically, in an alternative embodiment, the capacity of the storage area divided in step S210 may be larger than the storage capacity required for installing the application program; thus, after the storage area is obtained, the application program can be installed to the storage area.
The capacity of the storage area may be the storage capacity required for installation plus the storage capacity required for the estimated operation, for example, if the capacity required for installing PP1 is 500MB and the estimated operation requires 1GB, the storage area may be 1.5 GB. The application program is installed in the storage area, and the data generated in subsequent operation is also stored in the storage area, so that the intercommunication of the two parts of data can be better realized, for example, the initial setting data is generated in the process of installing the application program, and the user can modify the setting in the subsequent operation to cause the reading and writing of the initial setting data, so that the data reading and writing can be more conveniently realized, and the management is easier.
Exemplary embodiments of the present disclosure also provide a data storage device for an application, which may be configured in a terminal device with a memory, such as a computer, a smart phone, a tablet computer, and the like. As shown in fig. 4, the data storage device 400 may include:
a storage area dividing module 410, configured to divide a continuous free storage unit in a storage space to obtain a storage area of an application program when the application program is installed;
and the operation data storage module 420 is used for storing data generated when the application program operates in the storage area.
In an alternative embodiment, the storage area dividing module 410 may be configured to divide a corresponding number of consecutive free storage units in the storage space according to the capacity of the storage area determined by the application.
In an alternative embodiment, the storage area dividing module 410 may determine the capacity of the storage area required by the application by performing the following steps:
based on the statistical result of the user usage data of the application program, the capacity of the storage area required by the application program is determined.
In an alternative embodiment, the data storage device 400 may further include: a storage area updating module, configured to remove consecutive free storage units from a tail of the storage area after the application is installed, when the following conditions are simultaneously satisfied, so as to reduce the capacity of the storage area:
the method comprises the following steps that 1, in the latest preset time, the running times of an application program reach preset times;
and 2, counting the utilization rate of the storage area in the latest preset time, wherein the change amplitude of the utilization rate is lower than the preset amplitude.
In an optional implementation manner, the storage area dividing module 410 may be further configured to, when the storage area is full, use the storage area as a first storage area of the application program, and further divide a continuous free storage unit into a storage space to obtain a second storage area of the application program; the running data storage module 420 can store data generated by the running of the application program into the second storage area; wherein the capacity of the second storage area may be smaller than the first storage area.
In an alternative embodiment, the capacity of the storage area may be larger than the storage capacity required for installing the application program; the data storage device 400 may further include: and the application program installation module is used for installing the application program to the storage area after the storage area is obtained.
In an optional implementation manner, the storage space may be a data partition of the android system.
The specific details of each module in the above apparatus have been described in detail in the method section, and details that are not disclosed may refer to the method section, and thus are not described again.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the present disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
Exemplary embodiments of the present disclosure also provide a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, various aspects of the disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to perform the steps according to various exemplary embodiments of the disclosure described in the above-mentioned "exemplary methods" section of this specification, when the program product is run on the terminal device.
Referring to fig. 5, a program product 500 for implementing the above method according to an exemplary embodiment of the present disclosure is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
The exemplary embodiment of the present disclosure also provides a terminal device capable of implementing the method, which may be a computer, a smart phone, a tablet computer, or the like. A terminal device 600 according to this exemplary embodiment of the present disclosure is described below with reference to fig. 6. The terminal device 600 shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, the terminal device 600 may be embodied in the form of a general purpose computing device. The components of the terminal device 600 may include, but are not limited to: at least one processor 610, at least one memory 620, a bus 630 connecting the different system components (including the memory 620 and the processor 610), and a display 640, the memory space being located within the memory 620.
The memory 620 stores program code that may be executed by the processor 610 to cause the processor 610 to perform steps according to various exemplary embodiments of the present disclosure as described in the "exemplary methods" section above in this specification. For example, the processor 610 may perform the method steps shown in fig. 2.
Memory 620 may include readable media in the form of volatile memory, such as RAM (Random Access memory) 621 and/or cache memory 622, and non-volatile memory, such as ROM 623.
The memory 620 may also include a program/utility 624 having a set (at least one) of program modules 625, such program modules 625 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 630 may be a local bus representing one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or any other type of bus structure.
Terminal device 600 may also communicate with one or more external devices 700 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with terminal device 600, and/or with any devices (e.g., router, modem, etc.) that enable terminal device 600 to communicate with one or more other computing devices. Such communication may occur via an input/output (I/O) interface 650. Also, the terminal device 600 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet) through the network adapter 660. As shown, the network adapter 660 communicates with the other modules of the terminal device 600 via the bus 630. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with the terminal device 600, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the exemplary embodiments of the present disclosure.
Furthermore, the above-described figures are merely schematic illustrations of processes included in methods according to exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functions of two or more modules or units described above may be embodied in one module or unit, according to exemplary embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is to be limited only by the terms of the appended claims.

Claims (10)

1. A data storage method for an application program, comprising:
when an application program is installed, continuous free storage units are divided in a storage space to obtain a storage area of the application program;
and storing data generated when the application program runs into the storage area.
2. The method of claim 1, wherein the partitioning of the storage space into consecutive free storage units comprises:
and determining the capacity of the required storage area according to the application program, and dividing a corresponding number of continuous free storage units in the storage space.
3. The method of claim 2, wherein determining the required capacity of the storage area according to the application comprises:
determining the capacity of the storage area required by the application program based on the statistical result of the user usage data of the application program.
4. The method of claim 2, wherein after installing the application program, removing consecutive free memory locations from the end of the memory region to reduce the capacity of the memory region when the following conditions are simultaneously satisfied:
within the latest preset time, the running times of the application program reach preset times;
and counting the utilization rate of the storage area in the latest preset time, wherein the variation amplitude of the utilization rate is lower than the preset amplitude.
5. The method of claim 1, further comprising:
when the storage area is fully written, taking the storage area as a first storage area of the application program, and additionally dividing continuous free storage units in the storage space to obtain a second storage area of the application program;
storing data generated by the application program during running into the second storage area;
wherein the capacity of the second storage area is smaller than the first storage area.
6. The method of claim 1, wherein the capacity of the storage area is greater than a storage capacity required to install the application; after obtaining the storage area, the method further comprises:
installing the application program to the storage area.
7. The method of any of claims 1 to 6, wherein the storage space comprises a data partition of an android system.
8. A data storage device for an application program, comprising:
the storage area dividing module is used for dividing continuous free storage units in a storage space to obtain a storage area of the application program when the application program is installed;
and the operation data storage module is used for storing data generated when the application program operates to the storage area.
9. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method of any one of claims 1 to 7.
10. A terminal device, comprising:
a processor;
a memory for storing executable instructions of the processor; and
wherein the processor is configured to perform the method of any of claims 1 to 7 via execution of the executable instructions.
CN201911093101.7A 2019-11-11 2019-11-11 Data storage method and device for application program, storage medium and terminal equipment Active CN110941436B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911093101.7A CN110941436B (en) 2019-11-11 2019-11-11 Data storage method and device for application program, storage medium and terminal equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911093101.7A CN110941436B (en) 2019-11-11 2019-11-11 Data storage method and device for application program, storage medium and terminal equipment

Publications (2)

Publication Number Publication Date
CN110941436A true CN110941436A (en) 2020-03-31
CN110941436B CN110941436B (en) 2023-04-21

Family

ID=69906462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911093101.7A Active CN110941436B (en) 2019-11-11 2019-11-11 Data storage method and device for application program, storage medium and terminal equipment

Country Status (1)

Country Link
CN (1) CN110941436B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306411A (en) * 2020-10-29 2021-02-02 西安万像电子科技有限公司 Data storage method and device, nonvolatile storage medium and processor
CN112817526A (en) * 2021-01-19 2021-05-18 杭州和利时自动化有限公司 Data storage method, device and medium

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069305B2 (en) * 2000-06-08 2006-06-27 Hitachi, Ltd. Computer system and a data transfer method thereof using remote direct memory access
CN1992038A (en) * 2005-12-26 2007-07-04 上海乐金广电电子有限公司 Once recordable compact disk defect correcting device and method
CN106227563A (en) * 2016-07-22 2016-12-14 北京奇虎科技有限公司 The data processing method of a kind of application program and relevant device
CN106462510A (en) * 2014-03-06 2017-02-22 伊姆西公司 Multiprocessor system with independent direct access to bulk solid state memory resources
CN107943650A (en) * 2017-11-21 2018-04-20 广东欧珀移动通信有限公司 Control method, device, storage medium and the terminal of application program
CN108334541A (en) * 2017-12-18 2018-07-27 中兴通讯股份有限公司 A kind of date storage method, device, equipment and storage medium
CN109472157A (en) * 2018-10-29 2019-03-15 努比亚技术有限公司 Storage method, mobile terminal and the computer storage medium of application data
CA3070006A1 (en) * 2017-09-29 2019-04-04 Oracle International Corporation Method for reading data stored in a non-volatile cache using rdma
CN109656584A (en) * 2019-02-15 2019-04-19 京信通信系统(中国)有限公司 A kind of method for burn-recording and device of program
CN109933340A (en) * 2019-03-04 2019-06-25 北京空间飞行器总体设计部 A kind of spacecraft EEPROM in-orbit write-in and self checking method based on page mode
US20190306076A1 (en) * 2018-03-28 2019-10-03 Apple Inc. Methods and apparatus for active queue management in user space networking
CN110413291A (en) * 2019-07-18 2019-11-05 贵阳朗玛信息技术股份有限公司 Movable storage medium and preparation method thereof

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069305B2 (en) * 2000-06-08 2006-06-27 Hitachi, Ltd. Computer system and a data transfer method thereof using remote direct memory access
CN1992038A (en) * 2005-12-26 2007-07-04 上海乐金广电电子有限公司 Once recordable compact disk defect correcting device and method
CN106462510A (en) * 2014-03-06 2017-02-22 伊姆西公司 Multiprocessor system with independent direct access to bulk solid state memory resources
CN106227563A (en) * 2016-07-22 2016-12-14 北京奇虎科技有限公司 The data processing method of a kind of application program and relevant device
CA3070006A1 (en) * 2017-09-29 2019-04-04 Oracle International Corporation Method for reading data stored in a non-volatile cache using rdma
CN107943650A (en) * 2017-11-21 2018-04-20 广东欧珀移动通信有限公司 Control method, device, storage medium and the terminal of application program
CN108334541A (en) * 2017-12-18 2018-07-27 中兴通讯股份有限公司 A kind of date storage method, device, equipment and storage medium
US20190306076A1 (en) * 2018-03-28 2019-10-03 Apple Inc. Methods and apparatus for active queue management in user space networking
CN109472157A (en) * 2018-10-29 2019-03-15 努比亚技术有限公司 Storage method, mobile terminal and the computer storage medium of application data
CN109656584A (en) * 2019-02-15 2019-04-19 京信通信系统(中国)有限公司 A kind of method for burn-recording and device of program
CN109933340A (en) * 2019-03-04 2019-06-25 北京空间飞行器总体设计部 A kind of spacecraft EEPROM in-orbit write-in and self checking method based on page mode
CN110413291A (en) * 2019-07-18 2019-11-05 贵阳朗玛信息技术股份有限公司 Movable storage medium and preparation method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MANISH GUPTA 等: ""Reliability-Aware Data Placement for Heterogeneous Memory Architecture"" *
李林阳 等: ""海量连续运行参考站网数据云存储模型"" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306411A (en) * 2020-10-29 2021-02-02 西安万像电子科技有限公司 Data storage method and device, nonvolatile storage medium and processor
CN112306411B (en) * 2020-10-29 2023-08-25 西安万像电子科技有限公司 Data storage method and device, nonvolatile storage medium and processor
CN112817526A (en) * 2021-01-19 2021-05-18 杭州和利时自动化有限公司 Data storage method, device and medium

Also Published As

Publication number Publication date
CN110941436B (en) 2023-04-21

Similar Documents

Publication Publication Date Title
CN109756230B (en) Data compression storage method, data compression method, device, equipment and medium
CN110753131A (en) Microservice distributed current limiting method and device, storage medium and electronic equipment
CN109213696B (en) Method and apparatus for cache management
EP4020153A1 (en) Cache space management method and device
CN109491606B (en) Full flash memory space management method, system, equipment and computer medium
CN112667405B (en) Information processing method, device, equipment and storage medium
CN107835986B (en) Data operation method of electronic equipment and electronic equipment
CN110941436B (en) Data storage method and device for application program, storage medium and terminal equipment
CN108255989A (en) Picture storage method, device, terminal device and computer storage media
CN112748867A (en) Method, electronic device and computer program product for storage management
CN114996173A (en) Method and device for managing write operation of storage equipment
CN111475100B (en) Method, apparatus and computer readable medium for managing a storage system
CN112748862A (en) Method, electronic device and computer program product for managing disc
CN112748849A (en) Method, apparatus and computer program product for storing data
CN108646987B (en) File volume management method and device, storage medium and terminal
US20170124129A1 (en) Data processing in distributed computing
US11341055B2 (en) Method, electronic device, and computer program product for storage management
CN107229421B (en) Method and device for creating video data storage system, method and device for writing file into video data storage system and method and device for reading video data storage system
CN111158595B (en) Enterprise-level heterogeneous storage resource scheduling method and system
CN114995770B (en) Data processing method, device, equipment, system and readable storage medium
CN114442910A (en) Method, electronic device and computer program product for managing storage system
JP7431490B2 (en) Data migration in hierarchical storage management systems
CN110032340A (en) A kind of data in magnetic disk management method and relevant apparatus
CN107077420B9 (en) Overlay Erase Block mapping
CN113132241B (en) ACL template dynamic configuration method and device

Legal Events

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