CN112148551A - Method, apparatus and computer program product for determining a rate of change of use of a storage system - Google Patents

Method, apparatus and computer program product for determining a rate of change of use of a storage system Download PDF

Info

Publication number
CN112148551A
CN112148551A CN201910576642.9A CN201910576642A CN112148551A CN 112148551 A CN112148551 A CN 112148551A CN 201910576642 A CN201910576642 A CN 201910576642A CN 112148551 A CN112148551 A CN 112148551A
Authority
CN
China
Prior art keywords
usage
rate
storage system
change
time
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
CN201910576642.9A
Other languages
Chinese (zh)
Other versions
CN112148551B (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201910576642.9A priority Critical patent/CN112148551B/en
Publication of CN112148551A publication Critical patent/CN112148551A/en
Application granted granted Critical
Publication of CN112148551B publication Critical patent/CN112148551B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Embodiments of the present disclosure relate to a method, apparatus, and computer program product for determining a rate of change of use of a storage system. The method includes determining a first weighted moving average of a plurality of usage rates of the storage system during a first time window, and determining a second weighted moving average of the plurality of usage rates of the storage system during a second time window, wherein the first time window is a later portion of the second time window. The method also includes obtaining a third weighted moving average based on the first weighted moving average and the second weighted moving average, and then determining a rate of change of use of the storage system based on the third weighted moving average. The embodiment of the disclosure can enable the usage change rate to have lower lag and better sensitivity aiming at a specified time window by carrying out multiple weighted moving averages on multiple usage change rates of the storage system in a past period, so that the residual usage time of the storage space in the storage system can be predicted more accurately.

Description

Method, apparatus and computer program product for determining a rate of change of use of a storage system
Technical Field
Embodiments of the present disclosure relate generally to the field of data storage, and more particularly, to methods, apparatuses, and computer program products for determining a rate of change of use of a storage system.
Background
The storage system is a system including various storage devices for storing programs and data, a control unit, hardware for managing information scheduling, and various software, and is generally capable of storing a large amount of data. In order to ensure the security of data storage, data backup technology is generally used in a storage system. Redundant arrays of independent disks are a data backup technique that can combine multiple independent physical disks in different ways to form an array of disks (i.e., logical disks) to provide higher storage performance and higher reliability performance than a single disk. Replication is also a way to provide redundancy for data and services in a storage system.
Storage systems typically have a certain storage capacity, and new storage devices need to be added or replaced to store data before the storage capacity is exhausted, and typically, the storage systems may store data centrally or store data distributively. Distributed storage is a storage technology for storing data dispersedly on a plurality of nodes, and a distributed storage system generally adopts an expandable architecture, shares a storage load with a plurality of nodes, and can effectively improve the reliability and storage efficiency of the storage system by locating storage information.
Disclosure of Invention
Embodiments of the present disclosure provide a method, apparatus, and computer program product for determining a rate of change of usage of a storage system that enables the rate of change of usage to have a lower lag and a higher sensitivity for a specified time window, thereby more accurately predicting a remaining usage time of storage space in the storage system.
In one aspect of the present disclosure, a method for determining a rate of change of use of a storage system is provided. The method comprises the following steps: determining a first weighted moving average of a plurality of usage rates of change of the storage system during a first time window; determining a second weighted moving average of a plurality of usage rates of change of the storage system during a second time window, wherein the first time window is a subset of the second time window; obtaining a third weighted moving average based on the first weighted moving average and the second weighted moving average; and determining a usage change rate of the storage system based on the third weighted moving average.
In another aspect of the present disclosure, an apparatus for determining a rate of change of use of a storage system is provided. The apparatus includes a processing unit and a memory coupled to the processing unit and storing instructions. The instructions, when executed by a processing unit, perform the following acts: determining a first weighted moving average of a plurality of usage rates of change of the storage system during a first time window; determining a second weighted moving average of a plurality of usage rates of change of the storage system during a second time window, the first time window being a subset of the second time window; obtaining a third weighted moving average based on the first weighted moving average and the second weighted moving average; and determining a usage change rate of the storage system based on the third weighted moving average.
In yet another aspect of the disclosure, a computer program product is provided. The computer program product is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions that, when executed, cause a computer to perform a method or process in accordance with embodiments of the present disclosure.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the disclosure, nor is it intended to limit the scope of various embodiments of the disclosure.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be apparent from the following more particular descriptions of exemplary embodiments of the disclosure as illustrated in the accompanying drawings wherein like reference numbers generally represent like elements throughout the exemplary embodiments of the disclosure.
FIG. 1 shows a schematic diagram of an example architecture of a storage system according to an embodiment of the present disclosure;
FIG. 2 illustrates a flow chart of a method for determining a rate of change of use of a storage system according to an embodiment of the present disclosure;
FIG. 3 illustrates a schematic diagram of usage of a storage system over a period of time, according to an embodiment of the disclosure;
FIG. 4 shows a schematic diagram of a rate of change of usage of a storage system over a period of time, in accordance with an embodiment of the present disclosure;
FIG. 5 illustrates a schematic diagram for presenting predicted remaining usage time of a storage system, in accordance with an embodiment of the present disclosure;
FIG. 6 shows a flow diagram of a method for updating usage change rates by removing low frequency noise in accordance with an embodiment of the present disclosure; and
FIG. 7 shows a schematic block diagram of a device that may be used to implement embodiments of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENT (S) OF INVENTION
Preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain specific embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The term "include" and variations thereof as used herein is meant to be inclusive in an open-ended manner, i.e., "including but not limited to". Unless specifically stated otherwise, the term "or" means "and/or". The term "based on" means "based at least in part on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first," "second," and the like may refer to different or the same items unless explicitly indicated to be different. The term "weighted moving average" refers to a method of giving different weights to observed values, respectively, obtaining a moving average value according to the different weights, and determining a predicted value based on the final moving average value.
Capacity prediction for a storage system is an important function in the use of a storage system by a user who must purchase a new storage device before capacity is exhausted to ensure efficient storage of new data. Conventionally, the remaining usage time of the remaining space of the storage system is usually predicted by a simple averaging method. For example, one conventional approach uses simple averaging to calculate an average usage change rate over a specified time window.
Table 1: example usage rates and usage Change rates
Point in time 1 2 T/2 T/2+1 T/2+2 T
Rate of use U1 U2 UT/2 UT/2+1 UT/2+2 UT
Using rate of change C1 C2 CT/2 CT/2+1 CT/2+2 CT
Wherein, aiming at the time point t, the storage system records the utilization rate as UtRecord the rate of change of usage as Ct=Ut-Ut-1
With reference to superscript 1, a conventional simple averaging method will typically average C1、C2…CTThe usage change rate at time point T is calculated by simple averaging. However, what this simple averaging calculates is actually the average rate of change at time T/2, not the average rate of change at time T. Therefore, the usage change rate calculated by this conventional method has a severe lag and low sensitivity, resulting in inaccurate predicted remaining usage time of the remaining space of the storage system. In addition, the conventional calculation method using the change rate does not consider the relevant parameters and attributes of the storage system, so that the accuracy is poor.
To this end, embodiments of the present disclosure propose a new scheme for calculating a usage change rate of a storage system. Embodiments of the present disclosure can enable usage change rates with lower lag and better sensitivity for a given time window by performing a multiple weighted moving average of multiple usage change rates of a storage system over a past period of time, thereby more accurately predicting the remaining usage time of the remaining space in the storage system. Embodiments of the present disclosure are able to more accurately calculate a weighted average usage rate of change in a past time window, and then more accurately predict the time that the storage system will be able to continue to be used through the remaining space of the storage system.
The basic principles and several example implementations of the present disclosure are explained below with reference to fig. 1-7. It should be understood that these exemplary embodiments are given solely for the purpose of enabling those skilled in the art to better understand and thereby implement the embodiments of the present disclosure, and are not intended to limit the scope of the present disclosure in any way.
In some embodiments, the storage system may have backup functionality, which may be a backup system, and fig. 1 illustrates a schematic diagram of an example architecture of a backup system 100, in accordance with embodiments of the present disclosure. As shown in fig. 1, backup system 100 includes backup server 110, backup client 120, and management console 130, where backup server 110 includes data server 111 and management console server 112.
The data server 111 is used to store data, and the backup client 120 communicates directly with the data server 111 when performing backup, restore, or authentication, wherein all scheduled backups are initiated by a scheduling program of the management console server 112, and the management console server 112 provides centralized management, such as scheduling, monitoring, and management, of the data server 110. The backup client 120 may be various computing devices, such as a desktop computer, a notebook computer, a smart terminal, etc., and the backup client 120 may run client software that provides a variety of computing platforms, and each client software may include a client agent and one or more plug-ins. Client agents are platform-specific software processes that run on the client software and communicate with the management console server 112 and any plug-ins installed on the client. Plug-ins may include file system plug-ins for browsing, backing up, and restoring files or directories on a particular client file system, and application plug-ins that support backing up and restoring databases or other special applications.
FIG. 2 illustrates a flow diagram of a method 200 for determining a rate of change of use of a storage system in accordance with an embodiment of the present disclosure.
At 202, a first weighted moving average of a plurality of usage rates of change of the storage system during a first time window is determined. For example, assuming that the rate of change of usage during the time window [1,2,3, …, T ] needs to be predicted, the first time window may be the second half of the time window, i.e., [ T/2, T/2+1, T/2+2, …, T ]. Of course, in some embodiments, the first time window may also be selected to be the last third of the full time window, a quarter window, and so on. In the example where the first time window is the second half, a first weighted moving average of time windows [ T/2, T/2+1, T/2+2, …, T ] is calculated, resulting in MA 1. For convenience of description, it is assumed that the time window value T is divisible by 2, and those skilled in the art will also understand that a similar effect can be achieved by rounding or the like when the division cannot be performed. Such suitable modifications and adaptations are well known to those skilled in the art.
At 204, a second weighted moving average of a plurality of usage rates of change of the storage system during a second time window is determined. For example, the second time window is time window [1,2,3, …, T ], and the second weighted moving average of time window [1,2,3, …, T ] is calculated to obtain result MA 2.
At 206, a third weighted moving average is obtained based on the first weighted moving average and the second weighted moving average. For example, the third weighted moving average may be set to MA3 ═ (MA 1-MA 2) + MA 1.
At 208, a rate of change of use of the storage system is determined based on the third weighted moving average. For example, in some embodiments, MA3 may be calculated for all time points to yield a sequence of MA3 values. Then, the weighted moving average of the MA3 value sequence in the time window [ sqrt (T), sqrt (T) +1, …, T-1, T ] is calculated, so as to obtain the result of the usage change rate at the time point T. If sqrt (T) is not an integer, it may be rounded up to get an integer.
Thus, one example of a process of calculating a weighted average of usage rates of change (CR-HMA) for time point T of method 200 can be represented by the following equation (1).
CR-HMA=WMA(sqrt(TimeWindow T),[2*WMA(TimeWindow T/2,ChangeRateCT/2)-WMA(TimeWindow T,ChangeRate CT)]) (1)
Where TimeWindow represents the time window and ChangeRate represents the usage change rate.
And wherein WMA of the time point T can be represented by the following formula (2).
WMA=(CT*T+CT-1*(T-1)+CT-2*(T-2)+…+C2*2++C1*1)/(T+(T-1)+(T-2)+...+2+1) (2)
Thus, the method 200 of embodiments of the present disclosure enables usage rates to have lower lag and better sensitivity for a given time window by performing a multiple weighted moving average of multiple usage rates of the storage system over a past period of time, thereby more accurately predicting the remaining usage time of the remaining space in the storage system.
In some embodiments, the storage device capacity prediction may depend on a variety of factors, such as the context of the prediction, the relevance and availability of historical data, the accuracy required, the time period of the prediction, the cost/benefit (or value) of the prediction, and the time available to perform the analysis, among others. In addition, the rate of change of usage may be affected by many factors, such as the amount of backup clients, backup task scheduling, rate of change of backup data, deduplication rate, backup data expiration policy, and so forth.
FIG. 3 shows a diagram 300 of usage of a storage system over a period of time, with the horizontal axis representing date and the vertical axis representing usage, according to an embodiment of the disclosure. For example, the storage usage may be collected on a daily basis over a past period of time for the storage system, alternatively, the storage usage may be recorded every predetermined time.
FIG. 4 shows a graph 400 of usage change rate over a period of time for a storage system according to an embodiment of the disclosure, where the horizontal axis represents date and the vertical axis represents usage change rate. For example, the storage usage rate of the storage system may be collected every day for a past period of time, or the storage usage rate may be recorded every predetermined time, and then the usage change rate, i.e., the difference in usage between the current recording time and the last recording, may be obtained based on the usage rate. As shown in fig. 4, the usage change rate per day is dynamically changed, and if the usage change rate is negative, it indicates that the available space is increasing.
In some embodiments, the method may further include predicting a remaining usage time of the storage capacity in the storage system based on a rate of change of usage of the storage system, and then presenting the predicted remaining usage time to a user of the storage system. For example, the predicted remaining usage time may be displayed to the user in real time via a storage system graphical user interface, or a reminder, such as a message reminder, may be sent to the user when the predicted remaining usage time is short.
FIG. 5 illustrates a diagram 500 for presenting predicted remaining usage time of a storage system, in accordance with an embodiment of the present disclosure. As shown in fig. 5, a menu 510 of capacity information of a certain storage system, a network IP address 520, and specific capacity information 530 are shown, which includes a total capacity, a used capacity, a remaining capacity, and a predicted remaining time according to an embodiment of the present disclosure of the storage system. The user can accurately know the estimated time when the capacity of the storage system will be used up through the predicted remaining time according to the embodiment of the disclosure, so that prevention, such as purchasing a new storage device, can be performed in advance.
Fig. 6 shows a flow diagram of a method 600 for updating a usage rate of change by removing low frequency noise according to an embodiment of the present disclosure. In a specific example, the respective backup tasks and related information at the time point t are shown in table 2 below.
Table 2: task information at time t
Figure BDA0002112211220000071
The time point can be every day, the scheduled task is triggered through a schedule, the sequential tasks are triggered by one-time operation of an administrator and belong to non-scheduled tasks, the size of scanning original data is the size of data on a backup target machine, the size of new data is the size of the data after duplication removal on a storage system, and the validity period is the time for keeping backup data in the storage system.
In some embodiments, one or more predetermined tasks and one or more sequential tasks in the backup system over a predetermined time may be obtained, and the time window calculated based on the expiration of the one or more predetermined tasks. For example, the time window may be an average of the expiration dates of all predetermined tasks over the past 30 days. In this way, a more suitable time window can be obtained.
In some embodiments, the rate of change of usage may be updated by removing low frequency noise. As shown in fig. 6, at 602, a usage change rate is determined for each time point. At 604, it is determined whether each time point relates to an on-demand (OnDemand) task, which belongs to a one-time non-scheduled task, is noisy data, and needs to be culled. If on-demand tasks are not involved, then the usage change rate is kept unchanged at 606, i.e., the usage change rate need not be updated. If on-demand tasks are involved, then at 608, the new data size for the predetermined task and the new data for all tasks at each point in time are obtained, and then at 610 the usage change rate is updated, i.e., the noise of the disposable on-demand tasks is rejected.
The predetermined tasks will contribute to the trend of the long-term usage change rate, but the on-demand tasks will generate disposable noise, so if there is an on-demand task at the time point t, the embodiments of the present disclosure will eliminate its effect by recalculating the usage change rate. For example, the usage change rate c can be recalculated by the following expression (3)t
CtSum (new data size for all predetermined tasks)/Sum (new data size for all tasks) × Ct (3)
Accordingly, embodiments of the present disclosure can enhance the usage change rate by culling low frequency noise, thereby further improving the accuracy of the predicted remaining usage time of the storage system. Therefore, the embodiment of the disclosure can more accurately predict the future storage space use condition through the past historical data. That is, embodiments of the present disclosure may adjust the time window and usage change rate for prediction and filter out the impact of a one-time on-demand task using backup task parameters and task types. Accordingly, embodiments of the present disclosure can enable a lower hysteresis and higher sensitivity of usage change rates for a given time window, thereby more accurately predicting the remaining usage time of the remaining space in the storage system, which helps to obtain more accurate prediction results.
Fig. 7 shows a schematic block diagram of a device 700 that may be used to implement embodiments of the present disclosure, the device 700 may be a device or apparatus as described by embodiments of the present disclosure. As shown in fig. 7, device 700 includes a Central Processing Unit (CPU)701 that may perform various appropriate actions and processes in accordance with computer program instructions stored in a Read Only Memory (ROM)702 or computer program instructions loaded from a storage unit 708 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The CPU 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Various components in the device 700 are connected to the I/O interface 705, including: an input unit 706 such as a keyboard, a mouse, or the like; an output unit 707 such as various types of displays, speakers, and the like; a storage unit 708 such as a magnetic disk, optical disk, or the like; and a communication unit 709 such as a network card, modem, wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
Various methods or processes described above may be performed by the processing unit 701. For example, in some embodiments, the methods may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of a computer program may be loaded onto and/or installed onto device 700 via ROM 702 and/or communications unit 709. When loaded into RAM 703 and executed by CPU 701, may perform one or more steps or actions of the methods or processes described above.
In some embodiments, the methods and processes described above may be implemented as a computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied thereon for carrying out various aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present disclosure may be assembly instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including an object oriented programming language, as well as conventional procedural programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry that can execute the computer-readable program instructions implements aspects of the present disclosure by utilizing the state information of the computer-readable program instructions to personalize the electronic circuitry, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA).
These computer-readable program instructions may be provided to a processing unit of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement various aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or technical improvements to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (17)

1. A method for determining a rate of change of use of a storage system, comprising:
determining a first weighted moving average of a plurality of usage rates of change of the storage system during a first time window;
determining a second weighted moving average of a plurality of usage rates of the storage system during a second time window, the first time window being a later portion of the second time window;
obtaining a third weighted moving average based on the first weighted moving average and the second weighted moving average; and
determining a rate of change of use of the storage system based on the third weighted moving average.
2. The method of claim 1, wherein determining a rate of change of usage of the storage system comprises:
obtaining a sequence of values based on the third weighted moving average for each time point; and
determining a fourth weighted moving average of the sequence of values during a third time window, the third time window being a subset of the second time window.
3. The method of claim 2, wherein the endpoints of the first time window, the second time window, and the third time window are all the same given point in time, and determining the rate of change of use of the storage system further comprises:
determining the fourth weighted moving average as the weighted average usage rate of change at the given point in time.
4. The method of claim 1, wherein the storage system is a backup system, the method further comprising:
obtaining one or more predetermined tasks and one or more non-predetermined tasks in the backup system within a predetermined time; and
determining the second time window based on an expiration date of the one or more predetermined tasks.
5. The method of claim 1, further comprising:
determining a first usage change rate at a first time point based on a first usage rate at the first time point and a second usage rate at a second time point, the second time point being a previous time point to the first time point; and
updating the first rate of change of usage by removing low frequency noise.
6. The method of claim 5, wherein updating the first rate of change of usage comprises:
in response to the backup of data at the first point in time involving both a predetermined task and a non-predetermined task, updating the first usage change rate based on a new data size of the predetermined task.
7. The method of claim 6, wherein updating the first usage change rate further comprises:
updating the first usage change rate based on a ratio between a new data size of the predetermined task and new data sizes of all tasks at the first time point.
8. The method of claim 1, further comprising:
predicting a remaining usage time of a storage capacity in the storage system based on a usage change rate of the storage system; and
presenting the predicted remaining usage time to a user of the storage system.
9. An apparatus for determining a rate of change of use of a storage system, comprising:
a processing unit; and
a memory coupled to the processing unit and storing instructions that, when executed by the processing unit, perform the following:
determining a first weighted moving average of a plurality of usage rates of change of the storage system during a first time window;
determining a second weighted moving average of a plurality of usage rates of the storage system during a second time window, the first time window being a later portion of the second time window;
obtaining a third weighted moving average based on the first weighted moving average and the second weighted moving average; and
determining a rate of change of use of the storage system based on the third weighted moving average.
10. The apparatus of claim 9, wherein determining a rate of change of usage of the storage system comprises:
obtaining a sequence of values based on the third weighted moving average for each time point; and
determining a fourth weighted moving average of the sequence of values during a third time window, the third time window being a subset of the second time window.
11. The apparatus of claim 10, wherein the endpoints of the first time window, the second time window, and the third time window are all the same given point in time, and determining the rate of change of use of the storage system further comprises:
determining the fourth weighted moving average as the weighted average usage rate of change at the given point in time.
12. The apparatus of claim 9, wherein the storage system is a backup system, the acts further comprising:
obtaining one or more predetermined tasks and one or more non-predetermined tasks in the backup system within a predetermined time; and
determining the second time window based on an expiration date of the one or more predetermined tasks.
13. The apparatus of claim 9, the acts further comprising:
determining a first usage change rate at a first time point based on a first usage rate at the first time point and a second usage rate at a second time point, the second time point being a previous time point to the first time point; and
updating the first rate of change of usage by removing low frequency noise.
14. The apparatus of claim 13, wherein updating the first rate of change of usage comprises:
in response to the backup of data at the first point in time involving both a predetermined task and a non-predetermined task, updating the first usage change rate based on a new data size of the predetermined task.
15. The apparatus of claim 14, wherein updating the first rate of change of usage further comprises:
updating the first usage change rate based on a ratio between a new data size of the predetermined task and new data sizes of all tasks at the first time point.
16. The apparatus of claim 9, further comprising:
predicting a remaining usage time of a storage capacity in the storage system based on a usage change rate of the storage system; and
presenting the predicted remaining usage time to a user of the storage system.
17. A computer program product tangibly stored on a non-transitory computer-readable medium and comprising computer-executable instructions that, when executed, cause a computer to perform the method of any of claims 1 to 8.
CN201910576642.9A 2019-06-28 2019-06-28 Method, apparatus and computer program product for determining a rate of change of usage of a storage system Active CN112148551B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910576642.9A CN112148551B (en) 2019-06-28 2019-06-28 Method, apparatus and computer program product for determining a rate of change of usage of a storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910576642.9A CN112148551B (en) 2019-06-28 2019-06-28 Method, apparatus and computer program product for determining a rate of change of usage of a storage system

Publications (2)

Publication Number Publication Date
CN112148551A true CN112148551A (en) 2020-12-29
CN112148551B CN112148551B (en) 2024-05-17

Family

ID=73869445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910576642.9A Active CN112148551B (en) 2019-06-28 2019-06-28 Method, apparatus and computer program product for determining a rate of change of usage of a storage system

Country Status (1)

Country Link
CN (1) CN112148551B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024087617A1 (en) * 2022-10-27 2024-05-02 天地伟业技术有限公司 Storage space prediction method and apparatus, and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160011979A1 (en) * 2014-07-08 2016-01-14 International Business Machines Corporation Multi-tier file storage management using file access and cache profile information
CN105323111A (en) * 2015-11-17 2016-02-10 南京南瑞集团公司 Operation and maintenance automation system and method
CN107870916A (en) * 2016-09-23 2018-04-03 伊姆西Ip控股有限责任公司 Memory management method and equipment
CN109766244A (en) * 2019-01-04 2019-05-17 中国银行股份有限公司 A kind of distributed system CPU method for detecting abnormality, device and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160011979A1 (en) * 2014-07-08 2016-01-14 International Business Machines Corporation Multi-tier file storage management using file access and cache profile information
CN105323111A (en) * 2015-11-17 2016-02-10 南京南瑞集团公司 Operation and maintenance automation system and method
CN107870916A (en) * 2016-09-23 2018-04-03 伊姆西Ip控股有限责任公司 Memory management method and equipment
CN109766244A (en) * 2019-01-04 2019-05-17 中国银行股份有限公司 A kind of distributed system CPU method for detecting abnormality, device and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024087617A1 (en) * 2022-10-27 2024-05-02 天地伟业技术有限公司 Storage space prediction method and apparatus, and computer readable storage medium

Also Published As

Publication number Publication date
CN112148551B (en) 2024-05-17

Similar Documents

Publication Publication Date Title
JP6949878B2 (en) Correlation of stack segment strength in emerging relationships
US9971777B2 (en) Smart archiving of real-time performance monitoring data
US11314553B2 (en) Method, apparatus, and computer program product for determining usage change rate of storage system
CN109120463B (en) Flow prediction method and device
US20220075770A1 (en) Dynamic selection of synchronization update path
US20180352020A1 (en) Perfect application capacity analysis for elastic capacity management of cloud-based applications
AU2021227744B2 (en) Providing customized integration flow templates
CN112685224A (en) Method, apparatus and computer program product for task management
AU2014302051B2 (en) Method and apparatus for automating network data analysis of user's activities
CN112748847A (en) Method, apparatus and program product for managing storage space in a storage system
CN112835740A (en) Method, electronic device and computer program product for managing data backup
CN112148551B (en) Method, apparatus and computer program product for determining a rate of change of usage of a storage system
US11093292B2 (en) Identifying recurring actions in a hybrid integration platform to control resource usage
US11212162B2 (en) Bayesian-based event grouping
US11294917B2 (en) Data attribution using frequent pattern analysis
US10895985B1 (en) Real-time estimation of working sets
CN112988455A (en) Method, apparatus and computer program product for data backup
CN113220501A (en) Method, apparatus and computer program product for data backup
CN112667434A (en) Method, apparatus and computer program product for recovering data
US11526499B2 (en) Adaptively updating databases of publish and subscribe systems using optimistic updates
CN113138877B (en) Method, apparatus and computer program product for managing backup systems
CN111767437B (en) Enterprise science and technology project management method and system
CN111858146B (en) Method, apparatus and computer program product for recovering data
US11520667B1 (en) Information technology resource forecasting based on time series analysis
US10353887B1 (en) Concurrent record updating with mitigation of contention

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