Method, electronic device and computer program product for identifying memory snapshots

CN116466869BActive Publication Date: 2026-09-15DELL PROD LP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210030424.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-12
Publication Date
2026-09-15
Estimated Expiration
2042-01-12

Smart Images

  • Figure CN116466869B_ABST
    Figure CN116466869B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a method, an electronic device and a computer program product for identifying memory snapshots. The method comprises determining, based on historical information about operations for a plurality of memory snapshots, a probability of operating the plurality of memory snapshots within a first time period. The method further comprises identifying the plurality of memory snapshots for deletion if the determined probability is less than a threshold associated with a length of the first time period. With the method, memory snapshots that are less likely to be operated in a future time period can be identified, and thus deleting such memory snapshots can reduce the occupation of storage resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this disclosure relate to the field of computer technology, and more specifically, to methods, electronic devices, apparatuses, media, and computer program products for identifying memory snapshots. Background Technology

[0002] Memory snapshots saved at different times help improve data processing speed, ensure data security, and facilitate system rollback to the required version. However, the increasing number of memory snapshots consumes significant memory resources. Deleting memory snapshots that are unlikely to be operated on again, based on the probability of future operations on them (e.g., queries, accesses, backups), would improve the overall performance of computing devices and save limited storage resources. Therefore, a method is needed to identify memory snapshots where the probability of future operations is low. Summary of the Invention

[0003] Embodiments of this disclosure provide a method, electronic device, apparatus, medium, and computer program product for identifying memory snapshots.

[0004] In a first aspect of this disclosure, a method for identifying memory snapshots is provided. The method includes determining the probability of operating on multiple memory snapshots within a first time period based on historical information about operations on multiple memory snapshots. The method further includes identifying multiple memory snapshots for deletion if the determined probability is less than a threshold associated with the length of the first time period.

[0005] In a second aspect of this disclosure, an electronic device is provided. The electronic device includes a processor and a memory coupled to the processor, the memory having instructions stored therein, the instructions causing the device to perform actions when executed by the processor. The actions include determining a probability of operating on multiple memory snapshots within a first time period based on historical information about operations on multiple memory snapshots. The actions also include identifying the multiple memory snapshots for deletion if the determined probability is less than the threshold associated with the length of the first time period.

[0006] In a third aspect of this disclosure, an apparatus for identifying memory snapshots is provided. The apparatus includes a probability determination module configured to determine, based on historical information about operations on multiple memory snapshots, the probability of operating on multiple memory snapshots within a first time period. The apparatus also includes a snapshot identification module configured to identify multiple memory snapshots for deletion if the determined probability is less than a threshold associated with the length of the first time period.

[0007] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores one or more computer instructions, wherein the one or more computer instructions are executed by a processor to implement the method according to the first aspect.

[0008] In a fifth aspect of this disclosure, a computer program product is provided. The computer program product includes one or more computer instructions, wherein the one or more computer instructions are executed by a processor to implement the method according to the first aspect.

[0009] The summary section is provided to present the chosen concepts in a simplified form, which will be further described in the detailed description below. The summary section is not intended to identify key or principal features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Attached Figure Description

[0010] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0011] Figure 1 A schematic diagram of an example environment in which embodiments of the present disclosure can be implemented is shown;

[0012] Figure 2 A flowchart of a method for identifying memory snapshots according to certain embodiments of the present disclosure is shown;

[0013] Figure 3 A schematic diagram of a probability density function according to certain embodiments of the present disclosure is shown;

[0014] Figure 4 A schematic diagram illustrating trend patterns according to certain embodiments of the present disclosure is shown;

[0015] Figure 5 A schematic diagram of a periodic pattern according to certain embodiments of the present disclosure is shown;

[0016] Figure 6 A schematic diagram illustrating an irregular pattern according to certain embodiments of the present disclosure is shown;

[0017] Figure 7 A block diagram of an apparatus for identifying memory snapshots according to certain embodiments of the present disclosure is shown; and

[0018] Figure 8 A schematic block diagram is shown that can be used to implement an example device according to certain embodiments of the present disclosure.

[0019] In all the accompanying figures, the same or similar reference numerals denote the same or similar elements. Detailed Implementation

[0020] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0021] The term "comprising" and its variations as used herein are open-ended inclusion, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0022] The inventors noted that the widespread use of memory snapshots has improved access speed and data security to some extent, and allows the system to be rolled back to a required version when needed. However, as the number of memory snapshots increases, so does the consumption of storage resources, increasing the instability of the entire computing device. Some memory snapshots may require frequent operations (e.g., backups), while others are rarely operated on. Therefore, deleting these rarely operated and unimportant memory snapshots will improve the overall performance of the computing device and save limited storage resources.

[0023] In view of this, the method disclosed herein provides a method for identifying memory snapshots where the probability of the identified memory snapshot being operated on in the future is low. As will be understood from the following description, compared to known conventional schemes, the probability of operating on the memory snapshot in the future is determined (e.g., predicted) by using historical data on operations related to the memory snapshot. Based on the relationship between this probability and a threshold, the choice can be made to delete or continue maintaining the memory snapshot. This makes the deletion of the memory snapshot justified, thereby improving the correctness of the decision on whether to delete the memory snapshot. Therefore, the working principle and mechanism of this disclosure are significantly different from any known method.

[0024] In the following description, some embodiments are discussed with reference to the object as a single entity for memory management. However, it should be understood that this is merely for the purpose of better understanding the principles and ideas of the embodiments of this disclosure and is not intended to limit the scope of this disclosure in any way.

[0025] Figure 1 A schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented is shown.

[0026] At storage device 101 (or a cluster of storage devices), multiple objects (single entities constituting a memory snapshot) can be received for storage. For example, Figure 1 Object 102-1, object 102-2. Multiple objects can exist, such as the first object 102-1, the second object 102-2, ..., the Nth object 102-N (each may be referred to individually or collectively as object 102).

[0027] Depending on the corresponding memory management strategy, such memory snapshots (or objects) can be processed periodically or irregularly, automatically or manually (e.g., backup, re-storage, individual deletion, batch deletion). If these objects are unlikely to be used within a certain period and are not necessary, they can be considered for deletion. Therefore, it is necessary to provide information on such potentially removable memory snapshots (e.g., objects). For convenience, the following description does not intentionally distinguish between objects and memory snapshots.

[0028] It should be understood that Figure 1 The example environment 100 shown is merely illustrative and is not intended to limit the scope of this disclosure. Various additional devices, apparatuses, and / or modules may also be included in the example environment 100. Furthermore, Figure 1 The modules shown are merely illustrative and are not intended to limit the scope of this disclosure. In some embodiments, certain modules may be integrated onto a single physical entity or further broken down into more modules.

[0029] Figure 2 A flowchart of a method for identifying memory snapshots according to certain embodiments of the present disclosure is shown.

[0030] For ease of description, the process of identifying a memory snapshot implemented by method 200 will be described using an object as an example. However, as stated above, this is merely exemplary and is not intended to limit the scope of this disclosure in any way. The method 200 described herein can also be used for other processes of identifying memory snapshots.

[0031] At box 202, the probability of operating on multiple memory snapshots within a first time period is determined based on historical information about operations on multiple memory snapshots. In some embodiments, this historical information can be described using I / O accesses to object 102 as an example. The times corresponding to the occurrence of I / O accesses form time series, with each object having its own time series, and each time series recording the occurrence of an operation at different times.

[0032] In some embodiments, the method may further include classifying multiple memory snapshots into corresponding patterns based on historical information. The method may also include identifying one or more memory snapshots with the same pattern as a group of memory snapshots among the identified multiple memory snapshots. Furthermore, the method may include batch deleting a group of memory snapshots. As an example, multiple memory snapshots may be classified based on time series corresponding to historical operation information using at least one of the following algorithms: least squares method, autocorrelation method, or Fourier transform method, etc.

[0033] Operations on each memory snapshot can be recorded, forming a corresponding time series. Algorithms (e.g., curve fitting algorithms) can then be used to fit these time series, and the corresponding pattern of the memory snapshot can be determined based on the shape of the fitted curve (e.g., in an XY coordinate system).

[0034] For different time series, the least squares method can be used first to fit the curve of the time series in the XY coordinate system. If the fitted curve is found to conform to a trend pattern, the corresponding memory snapshot of the time series can be classified as a trend pattern. Secondly, if the fitted curve does not conform to a trend pattern, autocorrelation or discrete Fourier transform can be used to determine whether the time series conforms to a periodic pattern. If it also does not conform to a periodic pattern, the time series is considered irregular, and its future changes cannot be predicted. It is understood that these algorithms can also be used in different orders (e.g., simultaneously), not just in the order described above.

[0035] In some embodiments, the memory snapshot pattern may include a trend pattern, wherein the number of times memory snapshots are operated on increases or decreases. The pattern may also include a periodic pattern, wherein memory snapshots are operated on periodically. Furthermore, the pattern may include an irregular pattern, wherein the timing of memory snapshot operations is irregular.

[0036] This article will also combine the following descriptions. Figures 4 to 6 This section explains the meaning of these three modes.

[0037] In some embodiments, the probability of operating on multiple memory snapshots within a first time period is associated with a probability density function of the probability of the operation occurring at different times. As an example, this probability can be determined by integrating the probability density function indicating the probability of the operation occurring at different times.

[0038] Figure 3 A schematic diagram of a probability density function according to certain embodiments of the present disclosure is shown.

[0039] As an example, the general-purpose toolkit Kernel Density Estimation (KDE) can be used to estimate the probability density function y = f(x). This probability density function indicates the density of the probability of an operation occurring at a given time and the probability of that operation occurring at that time, and this time can be a future time, i.e., a prediction of the probability of the operation occurring again in the future. As shown in the graph, the probability of the operation occurring between times a and b (representing the time interval between time a and time b) is represented by the size of the shaded area (i.e., the integral value).

[0040] Now return to Figure 2 In some embodiments, the length of the first time period associated with the threshold can be determined based on a probability density function. Since the probability density function is already known, integrating the probability density function over a time interval yields the corresponding probability. For example, if a user wants a specific probability that a memory snapshot will be operated on within the next 10 days, that value can be used as the target to calculate the length of the corresponding time period (referred to herein as the first time period for ease of description).

[0041] In some embodiments, the threshold can be determined based on the distribution of time series corresponding to historical information, or it can be specified by the user. In some cases, the threshold size can be determined based on the distribution of the time series of operations. For example, the region where the distribution of operations corresponding to the time series is most concentrated represents the time when the memory snapshot is most likely to be operated on, and the corresponding threshold size can be determined based on that time. In other cases, the user can specify the threshold size according to the actual usage.

[0042] At box 204, if the determined probability is less than a threshold associated with the length of the first time period, multiple memory snapshots are identified for deletion. The identified memory snapshots represent those with a low probability of being manipulated again in the future. Therefore, in some embodiments, these memory snapshots may be presented to the user in a list format, allowing the user to confirm whether to delete them.

[0043] Method 200 allows for the inference of the probability that a memory snapshot will be operated on again within a reasonable timeframe based on its historical operation information. Therefore, this probability is relatively accurate. Furthermore, this probability can, to some extent, intuitively reflect the value of the memory snapshot. For memory snapshots that are unlikely to be operated on again, the user can be prompted to delete them. Considering some special cases, important but infrequently operated memory snapshots can be backed up by the user at their discretion.

[0044] In some embodiments, method 200 may further include identifying multiple memory snapshots for backup or restorage if the determined probability is greater than a threshold associated with the length of a first time period.

[0045] Considering certain special circumstances, some important but infrequently accessed memory snapshots can be backed up instead of being deleted simply because the probability of access is low. This fully incorporates the user's actual situation, allowing method 200 to satisfy the following conditions: due to the characteristics of the data, memory snapshots that still have value for continued storage, even if the probability of operation on the memory snapshot is low, will not be mistakenly deleted.

[0046] The following is combined with Figures 4 to 6 This section explains the meaning of the memory snapshot modes described above.

[0047] Figure 4 A schematic diagram of a trend pattern according to certain embodiments of the present disclosure is shown.

[0048] like Figure 4 As shown, the horizontal axis represents time, and the vertical axis represents the number of operations. From Figure 4 As can be clearly seen, curve 401 shows an upward trend, indicating that the number of operations on this memory snapshot increases over time. Therefore, the memory snapshots corresponding to this time series shape belong to a trend pattern. Furthermore, it can be observed that curve 402 shows a downward trend, indicating that the number of operations on this memory snapshot decreases over time. Therefore, the memory snapshots corresponding to this time series shape also belong to a trend pattern. It is worth noting that... Figure 4 The timeline (horizontal axis) in the figure represents the period from August 1 to August 12, but this disclosure is not intended to limit the length of the time. The length of the time can be longer or shorter, and the granularity of the time can be seconds, minutes, hours, months, etc., depending on the actual needs.

[0049] Figure 5 A schematic diagram of a periodic pattern according to certain embodiments of the present disclosure is shown.

[0050] like Figure 5 As shown, similarly, the horizontal axis represents time, and the vertical axis represents the number of operations. From Figure 5 It is clear that curve 501 can be divided into three segments by split points A and B, each showing a downward trend. The number of operations is lowest at split points A and B. However, at the first time point A1 and time point B1 after split points A and B respectively, the number of operations rises to its highest point. Thus, curve 501 can be considered regular and periodic, with each period representing the process from the highest point to the lowest point. Therefore, the memory snapshot corresponding to this shape of time series belongs to a periodic pattern. Similarly, Figure 5 The timeline (horizontal axis) in the figure represents the period from August 1 to August 12, but this disclosure is not intended to limit the length of the time. The length of the time can be longer or shorter, and the granularity of the time can be seconds, minutes, hours, months, etc., depending on the actual needs.

[0051] Figure 6 A schematic diagram illustrating an irregular pattern according to certain embodiments of the present disclosure is shown.

[0052] like Figure 6 As shown, the time series described by curve 601 is chaotic, and an equation describing the curve cannot be obtained using curve fitting algorithms. Therefore, it is impossible to predict the probability density (or probability) of the number of operations in the future based on the historical data of this curve.

[0053] Figure 7 A block diagram of an apparatus 700 for identifying memory snapshots according to certain embodiments of the present disclosure is shown.

[0054] The apparatus 700 includes a probability determination module 702 configured to determine the probability of operating multiple memory snapshots within a first time period based on historical information about operations for multiple memory snapshots.

[0055] The device 700 also includes a snapshot identification module 704, configured to identify multiple memory snapshots for deletion if the determined probability is less than a threshold associated with the length of a first time period.

[0056] In some embodiments, the probability determination module 702 may also be configured to classify multiple memory snapshots into corresponding patterns based on historical information; identify one or more memory snapshots with the same pattern as a group of memory snapshots among the identified multiple memory snapshots; and batch delete a group of memory snapshots.

[0057] In some embodiments, the memory snapshot pattern includes a trend pattern, where the number of times memory snapshots are operated on increases or decreases. The pattern also includes a periodic pattern, where memory snapshots are operated on periodically. The pattern further includes an irregular pattern, where memory snapshots are operated on at irregular intervals.

[0058] In some embodiments, the probability of operating multiple memory snapshots within a first time period is associated with a probability density function of the probability of the operation occurring at different times.

[0059] In some embodiments, the probability determination module 702 may also be configured to determine the length of a first time period associated with a threshold based on a probability density function.

[0060] In some embodiments, the threshold is determined based on the distribution of a time series corresponding to historical information, or is specified by the user.

[0061] In some embodiments, the snapshot identification module 704 may also be configured to identify multiple memory snapshots for backup or restorage if the determined probability is greater than a threshold associated with the length of a first time period.

[0062] It is understood that the memory snapshots identified by the apparatus 700 described above are memory snapshots with a low probability of use in the near future. Therefore, it is safe and secure to delete these memory snapshots manually by the user or in batches according to pre-set rules (e.g., user preferences), providing a reliable basis for interpretable decision-making. Thus, apparatus 700 can also provide at least one of the aforementioned advantages of method 200.

[0063] Figure 8 A schematic block diagram of a device 800 that can be used to implement embodiments of the present disclosure is shown. Device 800 may be the device or apparatus described in the embodiments of the present disclosure. Figure 8 As shown, device 800 includes a central processing unit (CPU) 801, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 802 or loaded from storage unit 808 into random access memory (RAM) 803. The RAM 803 may also store various programs and data required for the operation of device 800. The CPU 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804. Although not shown in... Figure 8 As shown, device 800 may also include a coprocessor.

[0064] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0065] The various methods or processes described above can be executed by processing unit 801. For example, in some embodiments, the methods can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by CPU 801, one or more steps or actions in the methods or processes described above can be performed.

[0066] In some embodiments, the methods and processes described above can be implemented as a computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for performing various aspects of this disclosure.

[0067] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.

[0068] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper cables, fiber optic cables, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to computer-readable storage media within the respective computing / processing device.

[0069] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​and conventional procedural programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.

[0070] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0071] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0072] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0073] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical applications, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

[0074] The following are some example implementations of this disclosure.

[0075] In a first aspect of this disclosure, a method for identifying memory snapshots is provided. The method includes determining the probability of operating on multiple memory snapshots within a first time period based on historical information about operations on multiple memory snapshots. The method further includes identifying multiple memory snapshots for deletion if the determined probability is less than a threshold associated with the length of the first time period.

[0076] In some embodiments, the method further includes classifying multiple memory snapshots into corresponding patterns based on historical information. The method also includes identifying one or more memory snapshots with the same pattern as a group of memory snapshots among the identified multiple memory snapshots. The method further includes batch deleting a group of memory snapshots.

[0077] In some embodiments, the memory snapshot pattern includes a trend pattern, where the number of times memory snapshots are operated on increases or decreases. The pattern also includes a periodic pattern, where memory snapshots are operated on periodically. The pattern further includes an irregular pattern, where memory snapshots are operated on at irregular intervals.

[0078] In some embodiments, the probability of operating on multiple memory snapshots within a first time period is associated with a probability density function of the probability of the operation occurring at different times.

[0079] In some embodiments, the method further includes determining the length of a first time period associated with a threshold based on a probability density function.

[0080] In some embodiments, the threshold is determined based on the distribution of time series corresponding to historical information, or is specified by the user.

[0081] In some embodiments, the method further includes identifying multiple memory snapshots for backup or restorage if the determined probability is greater than a threshold associated with the length of a first time period.

[0082] In a second aspect of this disclosure, an electronic device is provided. The electronic device includes a processor and a memory coupled to the processor, the memory having instructions stored therein, the instructions causing the device to perform actions when executed by the processor. The actions include determining a probability of operating on multiple memory snapshots within a first time period based on historical information about operations on multiple memory snapshots. The actions also include identifying the multiple memory snapshots for deletion if the determined probability is less than the threshold associated with the length of the first time period.

[0083] In some embodiments, the action further includes classifying multiple memory snapshots into corresponding patterns based on historical information. The action also includes identifying one or more memory snapshots with the same pattern as a group of memory snapshots among the identified multiple memory snapshots. The action further includes batch deleting a group of memory snapshots.

[0084] In some embodiments, the memory snapshot pattern includes a trend pattern, where the number of times memory snapshots are operated on increases or decreases. The pattern also includes a periodic pattern, where memory snapshots are operated on periodically. The pattern further includes an irregular pattern, where memory snapshots are operated on at irregular intervals.

[0085] In some embodiments, the probability of operating on multiple memory snapshots within a first time period is associated with a probability density function of the probability of the operation occurring at different times.

[0086] In some embodiments, the action also includes determining the length of a first time period associated with the threshold based on a probability density function.

[0087] In some embodiments, the threshold is determined based on the distribution of time series corresponding to historical information, or is specified by the user.

[0088] In some embodiments, the action further includes identifying multiple memory snapshots for backup or restorage if the determined probability is greater than a threshold associated with the length of the first time period.

[0089] In a third aspect embodiment, an apparatus for identifying memory snapshots is provided. The apparatus includes a probability determination module configured to determine, based on historical information about operations on multiple memory snapshots, the probability of operating on multiple memory snapshots within a first time period. The apparatus also includes a snapshot identification module configured to identify multiple memory snapshots for deletion if the determined probability is less than a threshold associated with the length of the first time period.

[0090] In an embodiment of the fourth aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores one or more computer instructions, wherein the one or more computer instructions are executed by a processor to implement the method according to the first aspect.

[0091] In a fifth aspect embodiment, a computer program product is provided. The computer program product includes one or more computer instructions, wherein the one or more computer instructions, when executed by a processor, implement the method according to the first aspect.

[0092] Although this disclosure has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A method for identifying a memory snapshot, comprising: Based on the probability density associated with the operation history associated with the memory snapshot set, the probability that the memory snapshot will be operated on during a first time period is determined, wherein the operation history includes at least one of query, access or backup, and wherein the integral value of the probability density over the time period indicates the probability that the operation will occur during the time period. In response to determining that the probability of the memory snapshot being operated on during the first time period is less than a threshold probability, the memory snapshot is marked for deletion; and Delete the memory snapshot.

2. The method according to claim 1, further comprising: Based on the operation history, the memory snapshot set is grouped by pattern; Identify a set of memory snapshots in the memory snapshot set, the set of memory snapshots having the same pattern; as well as Batch delete the set of memory snapshots.

3. The method according to claim 2, wherein the mode includes: Trend pattern, wherein the time series set of the memory snapshots being operated on is fitted to a curve in the XY coordinate system; Periodic mode, wherein the memory snapshots are operated on periodically; as well as Irregular pattern, where the timing of the memory snapshot operation is irregular.

4. The method of claim 1, wherein the probability of the memory snapshot being operated on during the first time period is associated with a probability density function of the corresponding probability of the memory snapshot being operated on at different times.

5. The method according to claim 4, further comprising: The length of the first time period is determined based on the probability density function.

6. The method of claim 5, wherein the threshold probability is determined based on the distribution of a time series set corresponding to the operation history, or is specified by the user.

7. The method according to claim 1, further comprising: In response to determining that the probability is greater than the threshold probability associated with the first time period, the memory snapshot is marked for at least one of backup or re-storage.

8. An electronic device, comprising: processor; as well as A memory coupled to the processor, the memory having instructions stored therein, the instructions which, when executed by the processor, cause the electronic device to perform actions, the actions including: Based on the probability density associated with the operation history associated with the memory snapshot set, the probability that the memory snapshot will be operated on during a first time period is determined, wherein the operation history includes at least one of query, access or backup, and wherein the integral value of the probability density over the time period indicates the probability that the operation will occur during the time period. In response to determining that the probability of the memory snapshot being operated on during the first time period is less than a threshold probability, the memory snapshot is marked for deletion; and Delete the memory snapshot.

9. The electronic device according to claim 8, wherein the action further includes: Based on the operation history, the memory snapshot set is grouped by pattern; Identify a set of memory snapshots in the memory snapshot set, the set of memory snapshots having the same pattern; as well as Batch delete the set of memory snapshots.

10. The electronic device of claim 9, wherein the mode includes: Trend pattern, wherein the time series set of the memory snapshots being operated on is fitted to a curve in the XY coordinate system; Periodic mode, wherein the memory snapshots are operated on periodically; as well as Irregular pattern, where the timing of the memory snapshot operation is irregular.

11. The electronic device of claim 8, wherein the probability of the memory snapshot being operated during the first time period is associated with a probability density function of the corresponding probability of the memory snapshot being operated at different times.

12. The electronic device according to claim 11, wherein the action further includes: The length of the first time period is determined based on the probability density function.

13. The electronic device of claim 12, wherein the threshold probability is determined based on the distribution of a time series set corresponding to the operation history, or is specified by the user.

14. The electronic device according to claim 8, wherein the action further comprises: In response to determining that the probability is greater than the threshold probability associated with the first time period, the memory snapshot is marked for at least one of backup or re-storage.

15. A non-transient computer-readable medium storing instructions that, when executed, cause a processor to perform operations, said operations including: Based on the probability density associated with the operation history associated with the memory snapshot set, the probability that the memory snapshot will be operated on during a first time period is determined, wherein the operation history includes at least one of query, access or backup, and wherein the integral value of the probability density over the time period indicates the probability that the operation will occur during the time period. In response to determining that the probability of the memory snapshot being operated on during the first time period is less than a threshold probability, the memory snapshot is marked for deletion; and Delete the memory snapshot.

16. The non-transient computer-readable medium of claim 15, further comprising: Based on the operation history, the memory snapshot set is grouped by pattern; Identify a set of memory snapshots in the memory snapshot set, the set of memory snapshots having the same pattern; as well as Batch delete the set of memory snapshots.

17. The non-transient computer-readable medium of claim 16, wherein the mode comprises: Trend pattern, wherein the time series set of the memory snapshots being operated on is fitted to a curve in the XY coordinate system; Periodic mode, wherein the memory snapshots are operated on periodically; as well as Irregular pattern, where the timing of the memory snapshot operation is irregular.

18. The non-transient computer-readable medium of claim 15, wherein the probability of the memory snapshot being operated on during the first time period is associated with a probability density function of the corresponding probability of the memory snapshot being operated on at different times.

19. The non-transient computer-readable medium of claim 18, further comprising: The length of the first time period is determined based on the probability density function.

20. The non-transient computer-readable medium of claim 19, wherein the threshold probability is determined based on the distribution of a time series set corresponding to the operation history, or is specified by the user.

Citation Information

Patent Citations

  • Method and equipment for managing backup data and computer program product

    CN112685222A