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

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

Info

Publication number
CN112148551B
CN112148551B CN201910576642.9A CN201910576642A CN112148551B CN 112148551 B CN112148551 B CN 112148551B CN 201910576642 A CN201910576642 A CN 201910576642A CN 112148551 B CN112148551 B CN 112148551B
Authority
CN
China
Prior art keywords
usage
change
rate
time
storage system
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.)
Active
Application number
CN201910576642.9A
Other languages
Chinese (zh)
Other versions
CN112148551A (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

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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (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 usage of a storage system. The method includes determining a first weighted moving average of a plurality of rates of change of usage of the storage system during a first time window, and determining a second weighted moving average of the plurality of rates of change of usage 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 further 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 usage of the storage system based on the third weighted moving average. Embodiments of the present disclosure enable a lower hysteresis and better sensitivity of the rate of change of usage for a specified time window by performing a multiple weighted moving average of the rate of change of usage of a storage system over a period of time, thereby enabling a more accurate prediction of the remaining time of use of storage space in the storage system.

Description

Method, apparatus and computer program product for determining a rate of change of usage of a storage system
Technical Field
Embodiments of the present disclosure relate generally to the field of data storage and, more particularly, relate to a method, apparatus, and computer program product for determining a rate of change of usage of a storage system.
Background
A storage system is a system composed of various storage devices storing programs and data, a control unit, a hard device 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, a data backup technology is generally adopted in a storage system. A redundant array of independent disks is a data backup technique that enables multiple independent physical disks to be combined 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. Copies are also one way to provide redundancy for data and services in a storage system.
Storage systems typically have a certain storage capacity and require the addition or replacement of new storage devices to store data before the storage capacity is exhausted, and typically, the storage systems may store data centrally or in a distributed manner. Distributed storage is a storage technology for storing data on a plurality of nodes in a distributed manner, and a distributed storage system generally adopts an extensible architecture, which shares a storage load by using the plurality of nodes, and can effectively improve the reliability and storage efficiency of the storage system by positioning 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 a lower hysteresis and higher sensitivity of the rate of change of usage for a specified time window, thereby more accurately predicting the remaining time of use of storage space in the storage system.
In one aspect of the present disclosure, a method for determining a rate of change of usage of a storage system is provided. The method comprises the following steps: determining a first weighted moving average of a plurality of rates of change of usage of the storage system during a first time window; determining a second weighted moving average of the plurality of rates of change of use 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 rate of change of usage 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 usage of a storage system is provided. The device includes a processing unit and a memory, wherein the memory is coupled to the processing unit and stores instructions. The instructions, when executed by the processing unit, perform the actions of: determining a first weighted moving average of a plurality of rates of change of usage of the storage system during a first time window; determining a second weighted moving average of the plurality of rates of change of use 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 rate of change of usage of the storage system based on the third weighted moving average.
In yet another aspect of the present 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 according to embodiments of the present disclosure.
The 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 be used to limit the scope of the 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 illustrates 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 usage 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 present disclosure;
FIG. 4 illustrates a schematic diagram of a rate of change of usage of a storage system over a period of time, according to 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 illustrates a flow chart of a method for updating usage change rate by removing low frequency noise in accordance with an embodiment of the present disclosure; and
Fig. 7 shows a schematic block diagram of an apparatus 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 the present disclosure has been illustrated in the drawings and described in connection with certain specific embodiments thereof, 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 "comprising" and variations thereof as used herein means open ended, i.e., "including but not limited to. The term "or" means "and/or" unless specifically stated otherwise. 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 object unless explicitly indicated to be different. The term "weighted moving average" refers to a method in which observations are given different weights, a moving average is obtained for each weight, and a predicted value is determined based on the last moving average.
Capacity prediction of a storage system is an important function of a user in using the storage system, who must purchase a new storage device before the capacity is exhausted to ensure efficient storage of new data. Traditionally, 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 the average rate of change of usage over a specified time window.
Table 1: example usage rate and usage rate of change
Time point 1 2 T/2 T/2+1 T/2+2 T
Utilization rate 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, for time point t, the storage system records the usage rate as U t and the usage rate of change as C t=Ut-Ut-1.
Referring to the superscript 1, the conventional simple averaging method typically simply averages C 1、C2…CT to calculate the rate of change of usage at time point T. However, this simple averaging calculates the average rate of change at time point T/2 in effect, rather than at time point T. Thus, the rate of change of usage calculated by this conventional method has a significant 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 has poor accuracy because of considering whether the related parameters and attributes of the storage system.
To this end, embodiments of the present disclosure propose a new approach to calculating the rate of change of usage of a storage system. Embodiments of the present disclosure enable a lower hysteresis and better sensitivity of the rate of change of usage for a specified time window by multiple weighted moving averages of multiple rates of change of usage of a storage system over a 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 over 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 of the present disclosure and several example implementations are described below with reference to fig. 1-7. It should be understood that these exemplary embodiments are presented merely to enable one skilled in the art to better understand and practice 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 a backup function, which may be a backup system, fig. 1 shows a schematic diagram of an example architecture of a backup system 100 according to an embodiment of the present disclosure. As shown in fig. 1, the backup system 100 includes a backup server 110, a backup client 120, and a management console 130, wherein the backup server 110 includes a data server 111 and a 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 validation, wherein all planned backups are initiated by the planning procedure of the management console server 112, and the management console server 112 provides centralized management, such as planning, monitoring and management, of the data server 110. The backup client 120 may be a variety of 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 functionality for a variety of computing platforms, each of which 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. The 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 to databases or other special applications.
FIG. 2 illustrates a flowchart of a method 200 for determining a rate of change of usage of a storage system, according to 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 time window [1,2,3, …, T ] is 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 a last third, quarter, etc. window selected as the full time window. In the example where the first time window is the second half, a first weighted moving average of the time windows [ T/2, T/2+1, T/2+2, …, T ] is calculated, resulting in a result MA1. For convenience of description, it is assumed here that the time window value T is divisible by 2, and those skilled in the art will also appreciate that a similar effect can be achieved by rounding or the like when divisibility is impossible. Such suitable modifications and adaptations are well known to those skilled in the art.
At 204, a second weighted moving average of the 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 a second weighted moving average of time window [1,2,3, …, T ] is calculated to obtain result MA2.
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) +ma1.
At 208, a rate of change of usage of the storage system is determined based on the third weighted moving average. For example, in some embodiments, MA3 may be calculated for all points in time to obtain a sequence of MA3 values. Then, a weighted moving average of the MA3 value sequence in a time window [ sqrt (T), sqrt (T) +1, …, T-1, T ] is calculated, so that a use change rate result of the time point T is obtained. 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 the rate of change of usage (CR-HMA) at a point in time T of method 200 may 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)
Wherein TimeWindow denotes a time window, CHANGERATE denotes a rate of change of usage.
And wherein WMA at 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 a lower hysteresis and better sensitivity of the rate of change of usage for a specified time window by multiple weighted moving averages of multiple rates of change of usage of the storage system over a period of time, thereby more accurately predicting the remaining time of use of the remaining space in the storage system.
In some embodiments, storage device capacity prediction may depend on a variety of factors, such as the predicted context, the relevance and availability of historical data, the accuracy required, the predicted time period, the predicted cost/benefit (or value), and the time available for analysis, among others. Furthermore, the rate of change of usage may be affected by many factors, such as the number of backup clients, backup task schedule, rate of change of backup data, de-duplication rate, backup data expiration policy, and so forth.
FIG. 3 illustrates a schematic diagram 300 of usage of a storage system over a period of time, where the horizontal axis represents date and the vertical axis represents usage, according to an embodiment of the present disclosure. For example, the storage usage per day of the storage system over a period of time may be collected, alternatively, the storage usage may be recorded once every predetermined time.
FIG. 4 illustrates a schematic diagram 400 of a rate of change in usage of a storage system over a period of time, where the horizontal axis represents date and the vertical axis represents rate of change in usage, according to an embodiment of the present disclosure. For example, the storage usage rate per day in the past period of time of the storage system may be collected, or the storage usage rate may be recorded once every predetermined time, and then the usage rate of change, that is, the usage difference value between the current recording time and the last recording, may be obtained based on the usage rate. As illustrated in fig. 4, the daily usage rate of change is dynamically changing, indicating that the available space is increasing if the usage rate of change is negative.
In some embodiments, the method may further include predicting a remaining usage time of the storage capacity in the storage system based on the 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 through a storage system graphical user interface or, when the predicted remaining usage time is short, a reminder may be sent to the user, such as a message reminder.
FIG. 5 illustrates a schematic diagram 500 for presenting predicted remaining usage time of a storage system, in accordance with an embodiment of the 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, including the total capacity of the storage system, the used capacity, the remaining capacity, and the predicted remaining time according to an embodiment of the present disclosure. The user can precisely know the estimated time when the capacity of the storage system will run out through the predicted remaining time according to the embodiments of the present disclosure, so that prevention, such as purchase of a new storage device, can be performed in advance.
Fig. 6 illustrates a flow chart of a method 600 for updating usage rate of change by removing low frequency noise in accordance with an embodiment of the present disclosure. In one specific example, the respective backup tasks at time point t and related information are shown in table 2 below.
Table 2: task information at time t
The time point can be daily, the scheduled task is triggered through a schedule, the sequential task is triggered by one-time operation of an administrator, the scheduled task belongs to a non-scheduled task, the size of scanned original data is the size of data on a backup target machine, the new data size is the size of the data after duplication removal on a storage system, and the validity period is the time for which backup data is kept in the storage system.
In some embodiments, one or more predetermined tasks and one or more in-order tasks in the backup system may be obtained for a predetermined time and a time window calculated based on the validity period of the one or more predetermined tasks. For example, the time window may be an average of the validity periods 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 rate of change of usage at each point in time is determined. At 604, it is determined whether each point in time relates to an on demand (OnDemand) task, which is a one-time, non-scheduled task, noise data that needs to be culled. If no on-demand tasks are involved, the usage rate of change is maintained at 606, i.e., without updating the usage rate of change. If on-demand tasks are involved, then at 608, new data sizes for the scheduled tasks and new data for all tasks for each point in time are obtained, and then the usage rate of change is updated at 610, i.e., noise for the one-time on-demand tasks is removed.
The scheduled tasks will contribute to the trend of long-term usage rate of change, but the on-demand tasks will produce one-time noise, so if there is an on-demand task at time t, embodiments of the present disclosure will eliminate its effect by recalculating the usage rate of change. For example, the usage change rate c t can be recalculated by the following expression (3).
C t =sum (new data size for all scheduled tasks)/Sum (new data size for all tasks) ×c t (3)
Accordingly, embodiments of the present disclosure can enhance the rate of change of usage by rejecting low frequency noise, thereby further improving the accuracy of the predicted remaining usage time of the storage system. Thus, embodiments of the present disclosure are able to more accurately predict future storage usage from past historical data. That is, embodiments of the present disclosure utilize backup task parameters and task types to adjust the time window and rate of change of usage for prediction and filter out the impact of disposable on-demand tasks. Thus, embodiments of the present disclosure can enable a lower hysteresis and higher sensitivity of the rate of change of usage for a specified 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 an apparatus 700 that may be used to implement embodiments of the present disclosure, the apparatus 700 may be an apparatus or device described by embodiments of the present disclosure. As shown in fig. 7, the apparatus 700 includes a Central Processing Unit (CPU) 701, which may perform various suitable actions and processes according to 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 may also be stored. The CPU 701, ROM 702, and RAM 703 are connected to each other through a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Various components in device 700 are connected to I/O interface 705, including: an input unit 706 such as a keyboard, a mouse, etc.; an output unit 707 such as various types of displays, speakers, and the like; a storage unit 708 such as a magnetic disk, an 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.
The various methods or processes described above may be performed by the processing unit 701. For example, in some embodiments, the method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 708. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 700 via ROM 702 and/or communication unit 709. When the computer program is loaded into RAM 703 and executed by CPU 701, one or more steps or actions in the method or process described above may be performed.
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 performing aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage 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: 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 disk read-only memory (CD-ROM), digital Versatile Disks (DVD), memory sticks, floppy disks, mechanical coding devices, punch cards or in-groove structures such as punch cards or grooves having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media, as used herein, are not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through 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 transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network interface 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 performing the operations of the present disclosure can be assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object-oriented programming language and conventional procedural programming languages. The computer readable program instructions may be executed 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 kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present disclosure are implemented by personalizing electronic circuitry, such as programmable logic circuitry, field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), with state information of computer readable program instructions, which can execute the computer readable program instructions.
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 having the instructions stored therein includes an article of manufacture including instructions which implement 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 flowcharts and block diagrams in the figures 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 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 consecutive blocks may in fact be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the function 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.
The foregoing description of the embodiments of the present disclosure has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the technical improvement of 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 usage of a storage system, comprising:
Determining a first weighted moving average of a plurality of rates of change of usage of the storage system during a first time window;
Determining a second weighted moving average of a plurality of rates of change of use 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 by adding a difference obtained by subtracting the second weighted moving average from the first weighted moving average to the first weighted moving average based on the first weighted moving average and the second weighted moving average; and
A rate of change of usage of the storage system is determined 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 a third weighted moving average of the respective time points; and
A fourth weighted moving average of the sequence of values during a third time window is determined, the third time window being a subset of the second time window.
3. The method of claim 2, wherein 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 a rate of change of usage of the storage system further comprises:
Determining the fourth weighted moving average as a 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 scheduled tasks and one or more non-scheduled tasks in the backup system within a predetermined time; and
The second time window is determined based on the validity period of the one or more predetermined tasks.
5. The method of claim 1, further comprising:
Determining a first rate of change in usage at a first point in time based on the first rate of usage at the first point in time and a second rate of usage at a second point in time that is a previous point in time to the first point in time; and
The first rate of change of usage is updated 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 scheduled and unscheduled tasks, the first rate of change of usage is updated based on a new data size for the scheduled task.
7. The method of claim 6, wherein updating the first rate of change of usage further comprises:
The first usage change rate is updated based on a ratio between a new data size of the predetermined task and new data sizes of all tasks at the first point in time.
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 rate of change 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 usage 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 actions of:
Determining a first weighted moving average of a plurality of rates of change of usage of the storage system during a first time window;
Determining a second weighted moving average of a plurality of rates of change of use 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 by adding a difference obtained by subtracting the second weighted moving average from the first weighted moving average to the first weighted moving average based on the first weighted moving average and the second weighted moving average; and
A rate of change of usage of the storage system is determined 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 a third weighted moving average of the respective time points; and
A fourth weighted moving average of the sequence of values during a third time window is determined, the third time window being a subset of the second time window.
11. The apparatus of claim 10, wherein 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 a rate of change of usage of the storage system further comprises:
Determining the fourth weighted moving average as a 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 scheduled tasks and one or more non-scheduled tasks in the backup system within a predetermined time; and
The second time window is determined based on the validity period of the one or more predetermined tasks.
13. The apparatus of claim 9, the acts further comprising:
Determining a first rate of change in usage at a first point in time based on the first rate of usage at the first point in time and a second rate of usage at a second point in time that is a previous point in time to the first point in time; and
The first rate of change of usage is updated 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 scheduled and unscheduled tasks, the first rate of change of usage is updated based on a new data size for the scheduled task.
15. The apparatus of claim 14, wherein updating the first rate of change of usage further comprises:
The first usage change rate is updated based on a ratio between a new data size of the predetermined task and new data sizes of all tasks at the first point in time.
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 rate of change 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 one 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 CN112148551A (en) 2020-12-29
CN112148551B true 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)

Families Citing this family (1)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9612964B2 (en) * 2014-07-08 2017-04-04 International Business Machines Corporation Multi-tier file storage management using file access and cache profile information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
CN112148551A (en) 2020-12-29

Similar Documents

Publication Publication Date Title
JP6949878B2 (en) Correlation of stack segment strength in emerging relationships
US8056082B2 (en) Capacity management and predictive planning systems based on trended rate change of monitored factors and methods thereof
CN109120463B (en) Flow prediction method and device
CN108156236A (en) Service request processing method, device, computer equipment and storage medium
US20170124481A1 (en) System for fully integrated capture, and analysis of business information resulting in predictive decision making and simulation
US20200379670A1 (en) Method, apparatus, and computer program product for determining usage change rate of storage system
US20180352020A1 (en) Perfect application capacity analysis for elastic capacity management of cloud-based applications
CN110753112A (en) Elastic expansion method and device of cloud service
CN112748847B (en) Method, apparatus and program product for managing storage space in a storage system
US20060287738A1 (en) Optimized performance counter monitoring
US20210160142A1 (en) Generalized correlation of network resources and associated data records in dynamic network environments
AU2021227744B2 (en) Providing customized integration flow templates
CN112685224A (en) Method, apparatus and computer program product for task management
CN111160793A (en) Method, device and equipment for configuring number of self-service equipment of service network point
CN112148551B (en) Method, apparatus and computer program product for determining a rate of change of usage of a storage system
CN110727563A (en) Cloud service alarm method and device for preset customer
US11212162B2 (en) Bayesian-based event grouping
US20180026852A1 (en) Service availability risk
US20210034495A1 (en) Dynamically updating device health scores and weighting factors
US11295224B1 (en) Metrics prediction using dynamic confidence coefficients
US11755831B2 (en) Detection of a topic
CN115878018A (en) Method, electronic device and computer program product for managing storage device
US10895985B1 (en) Real-time estimation of working sets
CN114064262A (en) Method, apparatus and program product for managing computing resources in a storage system
JP2023538941A (en) Intelligent backup and restore of containerized environments

Legal Events

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