Method, electronic device and computer program product for processing data
Patent Information
- Application Number
- CN202311414615.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-04-30
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2040-04-30
Smart Images

Figure CN117270790B_ABST
Abstract
Description
[0001] Related application citation
[0002] This application is a divisional application of the invention patent application with application number 202010365019.1, application date of April 30, 2020, and invention title "Method for Processing Data, Electronic Device and Computer Program Product". Technical Field
[0003] Embodiments of this disclosure relate to the field of data processing, and more specifically, to methods, electronic devices, and computer program products for processing data. Background Technology
[0004] With the development of computer technology, more and more data needs to be stored. Typically, users store or manage this data using dedicated storage devices or systems. To facilitate the storage and management of user data, various storage technologies are constantly being improved to achieve more efficient processing.
[0005] With advancements in storage technology, many storage systems and platforms have begun to utilize these improved technologies, such as clustered storage. These enhanced storage systems enable better data management. However, many challenges remain in managing these storage systems. Summary of the Invention
[0006] Embodiments of this disclosure provide a method, electronic device, and computer program product for processing data.
[0007] According to a first aspect of this disclosure, a method for processing data is provided. The method includes receiving a message relating to the performance of a storage device, the message including a first indication value regarding the performance of the storage device during a first time period and a timestamp associated with the first time period. The method further includes determining a status record of the storage device based on the timestamp, the status record including a number of received indication values during a second time period, the second time period including the first time period, the number of received indication values being less than a threshold number. The method further includes updating the number of received indication values in the status record based on the first indication value. The method further includes determining the performance of the storage device during the second time period based on the first indication value and the received indication values, based on determining that the updated number of received indication values reaches the threshold number.
[0008] According to a second aspect of this disclosure, an electronic device is provided. The electronic device includes a processor; and a memory storing computer program instructions, the processor executing the computer program instructions in the memory to control the electronic device to perform actions including: receiving a message relating to the performance of a storage device, the message including a first indication value regarding the performance of the storage device in a first time period and a timestamp associated with the first time period; determining a state record of the storage device based on the timestamp, the state record including a number of received indication values in a second time period, the second time period including the first time period, the number of received indication values being less than a threshold number; updating the number of received indication values in the state record based on the first indication value; and determining the performance of the storage device in the second time period based on the first indication value and the received indication values, based on determining that the updated number of received indication values has reached a threshold number.
[0009] According to a third aspect of this disclosure, a computer program product is provided, which is tangibly stored on a non-volatile computer-readable medium and includes machine-executable instructions that, when executed, cause a machine to perform the steps of the method in the first aspect of this disclosure. Attached Figure Description
[0010] The above and other objects, features and advantages of this disclosure will become more apparent from the accompanying drawings, in which like reference numerals generally denote like parts.
[0011] Figure 1 The illustration shows a schematic diagram of an example environment 100 in which the devices and / or methods according to embodiments of the present disclosure may be implemented;
[0012] Figure 2 A flowchart of a method 200 for processing data according to an embodiment of the present disclosure is illustrated;
[0013] Figure 3 A flowchart of a method 300 for determining performance according to an embodiment of the present disclosure is illustrated;
[0014] Figure 4 The illustration shows a schematic diagram of a message statistics table 400 according to an embodiment of the present disclosure;
[0015] Figure 5 A schematic block diagram of an example device 500 suitable for implementing embodiments of the present disclosure is shown.
[0016] In the various figures, the same or corresponding reference numerals indicate the same or corresponding parts. Detailed Implementation
[0017] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0018] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0019] The principles of this disclosure will now be described with reference to several exemplary embodiments illustrated in the accompanying drawings. While preferred embodiments of this disclosure are shown in the drawings, it should be understood that these embodiments are described only to enable those skilled in the art to better understand and implement this disclosure, and are not intended to limit the scope of this disclosure in any way.
[0020] To facilitate the management of storage devices or platforms, the storage system or platform sends its performance data to the server over a first time period, such as performance indicators over a 5-minute period. Therefore, the server can analyze the storage device's performance over a second, longer time period. For example, the server can determine the storage device's performance over a one-hour period based on 12 indicators sent by the storage device within that hour. Furthermore, the server can use this performance data to obtain the storage device's performance over even longer time periods.
[0021] When determining performance within a second time period, a traditional approach is to recalculate the storage device's performance for that period each time a message from that period is received. While this approach may be faster or more accurate, it consumes significant computational resources.
[0022] To reduce computational resource consumption, another traditional approach is to calculate the storage device's performance within a second time period only upon receiving the last message in that period. The last message is determined by its included timestamp. For example, if the storage device sends a performance indicator every 5 minutes, the server could calculate the storage device's performance for one hour by receiving the message with timestamp *:55:00. However, sometimes various problems during message transmission prevent the server from receiving the *:55:00 message in a timely manner, making it impossible to calculate the storage system's performance for that time period and thus unable to provide users with real-time information. If the message is lost, no information can be provided to the user at all. Alternatively, if messages from other time points are received before the *:55:00 message, even if information from other time points is received later, it cannot be used to calculate the storage device's performance. This makes the determined performance within the second time period inaccurate.
[0023] To address the aforementioned and other potential problems, this disclosure proposes a method for processing data. In this method, when a server receives a message related to the performance of a storage device, it determines a status record of the storage device based on a timestamp in the message. The status record includes the number of received indication values within a second time period. The server then updates the number of received indication values in the status record based on a first indication value in the message. The server further determines the performance of the storage device within the second time period based on the first indication value and the received indication values, after determining that the updated number of received indication values has reached a threshold number. This method allows for faster and more accurate determination of the storage device's performance while reducing the consumption of computational resources.
[0024] The following is passed Figures 1 to 5 A detailed description of embodiments according to this disclosure is provided. Figure 1 The illustration shows a schematic diagram of an example environment 100 in which the devices and / or methods according to embodiments of the present disclosure may be implemented.
[0025] like Figure 1 As shown, example environment 100 includes storage device 102. Storage device 102 is used to store user data. Storage device 102 determines a performance indicator value once for each time period of a first duration. In some embodiments, the first duration is 5 minutes, then storage device 102 determines its performance indicator value every 5 minutes. In some embodiments, the first duration is 10 minutes, then storage device 102 determines its performance indicator value every 10 minutes. The above examples are merely for describing this disclosure and are not intended to specifically limit this disclosure. Those skilled in the art can set the size of the first duration as needed.
[0026] The performance of storage device 102 can be the processor utilization of storage device 102, the throughput of storage device 102, the number of operations performed by storage device 102 per second, or the number of clients connected to storage device 102, or any combination thereof.
[0027] Storage device 102 sends its performance indicator values for each time period to computing device 106 after obtaining them. Figure 1 In this process, after obtaining a performance indication value for a first time period, storage device 102 generates a message 104 to be sent to computing device 106. In some embodiments, message 104 includes the identifier and type of storage device 102, a first performance indication value for the first time period, and a timestamp indicating that first indication value. In some embodiments, the timestamp is the last moment of the first time period. Figure 1 The figure shows a storage device 102, which is only an example and not a limitation of this invention. The number of storage devices connected to the computing device 106 can be set as needed.
[0028] The computing device 106 uses the received message 104 to determine the performance of the storage device 102. The computing device 106 includes, but is not limited to, personal computers, server computers, handheld or laptop devices, mobile devices such as mobile phones, personal digital assistants (PDAs), media players, etc., multiprocessor systems, consumer electronics, minicomputers, mainframe computers, and distributed computing environments that include any of the above systems or devices.
[0029] The computing device 106 can be used to determine the performance of the storage device 102 for a second duration that is longer than the first duration. For example, after obtaining an indication of the performance of the storage device 102 for a duration of 5 minutes, the computing device 106 can be used to determine an indication of the performance of the storage device 102 for a duration of one hour.
[0030] To facilitate the determination of the performance of storage device 102 during a second time period of a second duration, computing device 106 has a set of state records related to storage device 102, such as a state record table. The state record table in the state record set can be used to determine the performance of the storage device during the second time period. Therefore, computing device 106 searches for the corresponding state record 108 in the state record set based on the received message 104.
[0031] In some embodiments, if the computing device 106 has received other messages from the storage device 102 within the second time period before receiving message 104, a record state 108 exists. The state record 108 includes the identifier of the storage device 102, a first duration, the start and end times of the second time period, the number of received indication values, and the acquisition time for acquiring the performance of the storage device 102 within the second time period. The acquisition time is determined by adding a predetermined duration to the time when the indication value within the second time period was previously received. This predetermined duration is the time interval for receiving messages related to the performance of the storage device 102, representing the maximum waiting time after the previous indication value was received. If no new indication value is received after waiting for the predetermined duration since the last indication value was received, the performance of the storage device 102 within the second time period is calculated using the received indication values, without waiting for a new indication value.
[0032] In some embodiments, the predetermined time length is greater than the first duration but less than twice the first duration. For example, when the first duration is 5 minutes, the predetermined time length can be 8 minutes. In some embodiments, the predetermined time length can be set to any suitable duration.
[0033] When status record 108 exists, the number of received indication values in status record 108 is updated. Then, computing device 106 compares the updated number of received indication values with a threshold number, where the threshold number is determined by the duration of the second time period and the duration of the first time period. For example, the threshold number is determined by dividing the second duration by the first duration. For instance, if the second duration is 1 hour and the first duration is 5 minutes, then the threshold number is 12.
[0034] When the number reaches a threshold, the performance of storage device 102 in the second time period is determined using a first indication value and a received indication value. After determining the performance in the second time period, the status record 108 is deleted. If the threshold is not reached, in addition to updating the number of received indication values in status record 108, the acquisition time in status record 108 is also adjusted. For example, the acquisition time is updated based on the time when message 104 was received and a predetermined duration.
[0035] If the computing device 106 does not find the status record 108, it will generate the status record 108 in the status record set. The number of received indication values in the status record 108 will be set to 1, and the acquisition time will be set to the sum of the time when the message 104 was received and the predetermined duration.
[0036] In some embodiments, the computing device 106 also periodically describes a set of state records. If the current time has passed since the acquisition time in state record 108 of the state record set, the performance 110 of the storage device in the second time period is determined using the received indication value. Then, the state record 108 is deleted.
[0037] In some embodiments, upon receiving a message 104 from storage device 102, computing device 106 generates a performance record and then stores the performance record in a performance record set. For example, the performance record generated by message 104 includes the identifier of storage device 102, a first duration, a timestamp, and a performance indicator value. Computing device 106 can retrieve the indicator value of storage device 102 within the second time period from this performance information record set. Alternatively or additionally, a corresponding performance record may also be generated based on information about the determined performance of storage device 102 within the second time period. This performance record includes the identifier of storage device 102, a second duration, the time at which the performance of storage device 102 within the second time period is determined, and the indicator value of the performance of storage device 102 within the second time period.
[0038] The computing device 106 can also determine the performance of the storage device 102 in a third time period based on the performance 110 of the storage device during the second time period. For example, the performance for a day can be determined using the performance for each hour. The status record of the storage device 102's performance for a day can also exist in the status record set of the computing device 106 or be stored in another status record set. The use of the status record for the third time period is similar to the use of the status record for the second time period. The above examples are only for describing this disclosure and are not intended to specifically limit this disclosure. Those skilled in the art can set the correspondence between different levels of time periods as needed.
[0039] When a user wants to obtain the performance of storage device 102 at different times through computing device 106, performance indicators of different durations can be provided to the user as information. For example, if a user wants to view the specific performance of storage device 102 within a day, the performance indicators for each hour can be displayed to the user. If a user wants to view the performance indicators for a month or a year, the daily performance indicators can be returned to the user.
[0040] The above combination Figure 1 A schematic diagram of an environment 100 in which the apparatus and / or methods according to embodiments of the present disclosure may be implemented is described below. Figure 2 A flowchart describing a method 200 for processing data according to embodiments of the present disclosure is provided. Method 200 can be performed in... Figure 1 It is executed at computing device 106 or any other suitable device.
[0041] At box 202, computing device 106 receives message 104 relating to the performance of storage device 102. Message 104 includes a first indication value regarding the performance of storage device 102 during a first time period and a timestamp associated with the first time period. In some embodiments, the timestamp is the last moment of the first time period. In some embodiments, the timestamp is the moment when message 104 was generated.
[0042] In some embodiments, the first indication value may be the average performance of the storage device 102 within a first segment. In some embodiments, the first indication value may be an indication value of the performance at a certain moment within a first time period. The above examples are merely for describing this disclosure and are not intended to specifically limit this disclosure.
[0043] At box 204, computing device 106 determines the status record 108 of storage device 102 based on timestamps. The status record 108 includes the number of received indication values during a second time period, which includes the first time period, and the number of received indication values is less than a threshold number.
[0044] In some embodiments, computing device 106 also obtains the identifier and type of storage device 102 from message 104. Computing device 106 then determines a first duration of a first time period based on the type. In one example, computing device 106 stores the duration of determined performance for each type of storage device. A second duration can also be set in computing device 106 to determine the performance of storage device 102 over a second longer time period. For example, if storage device 102 is an indication of performance over 5 minutes, the second duration can be set to 1 hour. Therefore, computing device 106 can obtain the performance of storage device 102 over 1 hour.
[0045] The computing device 106 uses timestamps to determine the start and end times of the second time period. For example, if the second time period is 1 hour and the timestamp in the received information is 2019-08-21 02:05:00, then the start time of the second time period is 2019-08-21 02:00:00 and the end time is 2019-08-21 02:55:00.
[0046] The computing device 106 uses the identifier, first duration, start time, and end time of the storage device 102 to look up the corresponding state record. If a corresponding previous state record is found, the acquired previous state record is used as the state record. In some embodiments, if it is determined that no previous state record exists in the state record set, the computing device 106 needs to determine the acquisition time for obtaining the performance of the storage device 102 in the second time period. Then, the computing device 106 generates the state record 108 based on the acquisition time, identifier, first duration, start time, and end time.
[0047] At box 206, computing device 106 updates the number of received indication values in the status record based on a first indication value. In some embodiments, computing device 106 increments the number of indication values in the status record. Thus, in a newly created record, the number is 1. If the number of previously received indication values was 2, the number of indication values is adjusted to 3.
[0048] At box 208, computing device 106 determines the performance of storage device 102 in a second time period based on a first indicator value and the received indicator values, according to the determination that the number of updated received indicator values has reached a threshold number. After computing device 106 determines that the number of updated indicator values has reached the threshold number, computing device 106 uses all received indicator values to calculate the indicator value of storage device 102 in that second time period.
[0049] In some embodiments, the computing device 106 determines the average of the first indication value and the received indication value as the performance of the storage device 102 during a second time period. In some embodiments, the indication value of the first indication value and the received indication value that is greater than a first threshold is determined as the performance of the storage device 102 during the second time period. For example, the maximum value of the first indication value and the received indication value is determined as the performance of the storage device 102 during the second time period. In some embodiments, the computing device 106 determines the indication value of the first indication value and the received indication value that is less than a second threshold as the performance of the storage device 102 during the second time period, where the second threshold is less than the first threshold. For example, the minimum value of the first indication value and the received indication value is determined as the performance of the storage device 102 during the second time period. The above examples are merely for describing this disclosure and are not intended to specifically limit this disclosure.
[0050] In some embodiments, the computing device 106 updates the acquisition time in the status record 108 for acquiring the performance of the storage device 102 in a second time period, based on the determination that the number of updated received indication values is less than a threshold number, using the time when the message 104 was received and a predetermined time length.
[0051] In some embodiments, if the performance of storage device 102 during a second time period has been determined and a status record has been deleted, and then another message from storage device 102 is received, with the timestamp of the other message falling within the second time period, then the status record 108 is regenerated. The performance record generated by this other message is then stored in a performance record set. If it already exists, the newly generated performance record replaces the previous one.
[0052] Since the acquisition timing for the performance of storage device 102 during the second time period is set in status record 108, computing device 106 can re-acquire the received indication value during the second time period when the current time is greater than the acquisition timing to redetermine the performance of storage device 102 during that second time period. Then, the record is deleted.
[0053] This method allows for the rapid (e.g., near real-time) and more accurate determination of storage device performance by using the storage device's state records, while reducing resource consumption.
[0054] The above combination Figure 2 A method 200 for processing data according to embodiments of the present disclosure is described below. The following will be combined with... Figure 3 This describes a method for determining the performance of storage device 102. Figure 3 A flowchart of a method 300 for determining performance according to an embodiment of the present disclosure is illustrated. Figure 3 Method 300 in the middle can be derived from Figure 1 The computing device 106 or any other suitable device in the system shall perform the operation.
[0055] The computing device 106 periodically scans the status record 108. After receiving the first indication value and updating the status record 108, the performance record set will include the received indication values and the first indication value received before receiving the first indication value.
[0056] At box 302, computing device 106 determines whether the current time is greater than the acquisition time in status record 108. If it determines that the current time is greater than the acquisition time in status record 108, computing device 106 acquires the received indication value for the second time period at box 304. In addition, computing device 106 also acquires a first indication value.
[0057] The computing device 106 can use the identifier of the storage device 102 and the first duration to retrieve performance records between the start and end times of the second time period from the performance record set. Then, it retrieves the received indication value from these performance records.
[0058] At box 306, computing device 106 determines the performance of storage device 102 during the second time period based on a first indication value and a received indication value. The process of determining the performance of storage device 102 during the second time period using the first indication value and the received indication value has been described previously and will not be detailed here.
[0059] In some embodiments, if the computing device 106 detects that the current time is greater than the acquisition time of the status record 108 before receiving the first indication value, it determines the performance of the storage device 102 in the second time period based on the previously acquired and received indication value.
[0060] By using the above method, it is possible to quickly (e.g., in near real-time) determine the performance of the storage device in the second time period, even if sufficient indication values are not received, thus providing a better user experience.
[0061] The above combination Figure 3 A method 300 for determining the performance of a task according to embodiments of the present disclosure is described below. Figure 4 To describe a specific example of determining performance. Figure 4 A schematic diagram of an information statistics table 400 according to an embodiment of the present disclosure is illustrated. The process of determining the performance of storage device 102 using information statistics table 400 may be performed by computing device 106 or any other suitable device.
[0062] Figure 4 The information log table shown includes message reception time, timestamps in the messages, and indication values. Computing device 106 receives messages from storage device 102 at 12 different message reception times. The received messages have different timestamps and indication values. Storage device 102 sends messages that are 5 minutes long. Computing device 106 determines the performance of storage device 102 over one hour and sets a predetermined message waiting time of 8 minutes.
[0063] At 02:00:00 on August 21, 2019, a message including the first indication value V1 is received from storage device 102, determining the second time period to be from 02:00:00 on August 21, 2019 to 02:55:00 on August 21, 2019. Since this is the first message, status record 108 is generated, with the number of received indication values being 1. The time for acquiring the performance of storage device 102 within one hour is set to 02:08:00 on August 21, 2019. Status record 108 is stored in the status record set, and the received performance value V1 is stored in the performance record. At 02:05:00 on August 21, 2019, a second message including the second indication value V2 is received. At this time, status record 108 exists, and the number of received indication values in status record 108 is updated to 2, and the acquisition time is updated to 02:13:00 on August 21, 2019. At the same time, the received performance V2 is saved in the performance record.
[0064] Due to network issues, computing device 106 did not receive any more messages at 02:13:00 on August 21, 2019. Since the acquisition time had expired, computing device 106 calculated the performance of storage device 102 at the second time based on the acquired V1 and V2. Then, it deleted state record 108. When computing device 106 received a message including indication values V3 and V4 at 02:15:00 on August 21, 2019, it regenerated state record 108, setting the number of received indication values to 2 and the acquisition time to 02:23:00 on August 21, 2019. Simultaneously, it saved the received performance values V3 and V4 in the performance record. Since V5, V6, V7, V8, V9, and V10 were subsequently received on time, and the number of received indication values did not exceed 12, the state record was continuously updated. Furthermore, the received performance values V5, V6, V7, V8, V9, and V10 were saved in the performance record. After receiving V10, the number of received indication values is 8, and the acquisition time is updated to 2019-08-21 02:53:00. Since no new indication value was received at 2019-08-21 02:53:00, computing device 106 acquires the received indication values V1-V10 between 2019-08-21 02:00:00 and 2019-08-21 02:55:00, and then uses V1-V10 to calculate the performance of storage device 102 in the second time period. The calculated performance value is then used to update the previously stored performance value, and then the status record 208 is deleted. Similarly, when V12 and V11 are received, status record 208 is regenerated, and then, after the acquisition time has passed, the performance of storage device 102 in the second time period is recalculated.
[0065] If the performance of the second time period has already been used to calculate the performance of storage device 102 over a longer time period, then the performance of storage device 102 over the longer time period will be updated after the performance of storage device 102 in the second time period is updated.
[0066] Figure 5 A schematic block diagram of an example device 500 that can be used to implement embodiments of the present disclosure is shown. For example, such as Figure 1 The storage device 102 and computing device 106 shown can be implemented by device 500. As shown, device 500 includes a central processing unit (CPU) 501, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 502 or loaded from storage unit 508 into random access memory (RAM) 503. RAM 503 can also store various programs and data required for the operation of device 500. CPU 501, ROM 502, and RAM 503 are interconnected via bus 504. Input / output (I / O) interface 505 is also connected to bus 504.
[0067] Multiple components in device 500 are connected to I / O interface 505, including: input unit 506, such as keyboard, mouse, etc.; output unit 507, such as various types of monitors, speakers, etc.; storage unit 508, such as disk, optical disk, etc.; and communication unit 509, such as network card, modem, wireless transceiver, etc. Communication unit 509 allows device 500 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0068] The various processes and procedures described above, such as methods 200 and 300, can be executed by processing unit 501. For example, in some embodiments, methods 200 and 300 can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed on device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by CPU 501, one or more actions of methods 200 and 300 described above can be performed.
[0069] Embodiments of this disclosure relate to methods, electronic devices, and / or computer program products. Embodiments of this disclosure may also include a computer-readable storage medium having computer-readable program instructions loaded thereon for performing various aspects of this disclosure.
[0070] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples, and an inexhaustible list, of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) or flash memory, static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media, such as light pulses through fiber optic cables, or electrical signals transmitted through wires.
[0071] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0072] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer, for example, via the Internet using an Internet service provider. In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions. This electronic circuitry can execute the computer-readable program instructions to implement various aspects of this disclosure.
[0073] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus / systems, and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0074] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0075] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0076] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0077] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical applications, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for processing data, comprising: A system including a processor determines a state record of the storage device based on receiving indication values regarding the performance of the storage device during a first time period, the first time period having a first duration and associated with a timestamp, including: Monitor the reception of indication values associated with other first time periods besides the first time period, wherein the second time period with a second duration includes all the first time periods; In response to determining that the count of the received data for all the indication values associated with the first time period has reached at least a threshold count, the system determines the performance of the storage device in the second time period based on the indication values associated with all the first time periods.
2. The method according to claim 1, wherein determining the state record comprises: The system obtains the identifier and type of the storage device; The system determines the first duration of the first time period based on the type; as well as The system determines the start time and end time of the second time period based on the timestamp.
3. The method according to claim 2, further comprising: The system determines the acquisition time configured to acquire the performance of the storage device during the second time period; as well as The system generates the status record based on the acquisition time, the identifier, the first duration, the start time, and the end time.
4. The method of claim 1, wherein determining the state record comprises: In response to determining the existence of a previous state record, the system uses the previous state record when determining the state record, the previous state record including the identifier of the storage device, the first duration of the first time period, the start time of the second time period, the end time of the second time period, and the acquisition time configured to acquire the performance of the storage device in the second time period.
5. The method of claim 1, wherein the performance of the storage device during the second time period is determined based on at least one of the following: The average value of the indicated values; The first indication value in the indication value is greater than the first threshold; or The second indication value is less than a second threshold value, wherein the second threshold value is less than the first threshold value.
6. The method according to claim 1, further comprising: In response to determining that the count of receipts of the indication values associated with all the first time periods has not reached the threshold count and the current time is greater than the acquisition time in the status record, the system determines the performance of the storage device in the second time period based on the indication values associated with all the first time periods, the acquisition time being configured to acquire the performance of the storage device in the second time period.
7. The method according to claim 1, further comprising: The system updates the acquisition time in the status record based on the time when the first indication value is received and the duration of the time interval after the first indication value is received, wherein the acquisition time is configured to acquire the performance of the storage device during the second time period.
8. An electronic device, comprising: processor; as well as A memory storing executable instructions that, when executed by the processor, facilitate the execution of operations, including: The state record of the storage device is determined based on the receipt of indication values regarding the performance of the storage device during a first time period, the first time period having a first duration and associated with a timestamp, including: Monitor the reception of indication values associated with other first time periods besides the first time period, wherein the second time period with a second duration includes all the first time periods; In response to determining that the count of the received data for all the indication values associated with the first time period has reached at least a threshold count, the performance of the storage device in the second time period is determined based on the indication values associated with all the first time periods.
9. The electronic device of claim 8, wherein determining the state record comprises: Obtain the identifier and type of the storage device; Based on the type, determine the first duration of the first time period; as well as Based on the timestamp, the start and end times of the second time period are determined.
10. The electronic device of claim 9, wherein the operation further comprises: Determine the acquisition time configured to acquire the performance of the storage device during the second time period; as well as A status record is generated based on the acquisition time, the identifier, the first duration, the start time, and the end time.
11. The electronic device of claim 8, wherein determining the state record comprises: In response to determining the existence of a previous state record, the previous state record is used when determining the state record, the previous state record including the identifier of the storage device, the first duration of the first time period, the start time of the second time period, the end time of the second time period, and the acquisition time configured to acquire the performance of the storage device in the second time period.
12. The electronic device of claim 8, wherein the performance of the storage device during the second time period is determined based on at least one of the following: The average value of the indicated values; The first indication value in the indication value is greater than the first threshold; or The second indication value is less than a second threshold value, wherein the second threshold value is less than the first threshold value.
13. The electronic device of claim 8, wherein the operation further comprises: In response to determining that the count of receipt of the indication value associated with all first time periods has not reached the threshold count and the current time is greater than the acquisition time in the status record, the performance of the storage device in the second time period is determined based on the indication value associated with all first time periods, the acquisition time being configured to acquire the performance of the storage device in the second time period.
14. The electronic device of claim 8, wherein the operation further comprises: Based on the time when the first indication value is received and a predefined duration representing the time interval after the first indication value is received, the acquisition time in the status record is updated, the acquisition time being configured to acquire the performance of the storage device during the second time period.
15. A non-transitory machine-readable medium comprising executable instructions, which, when executed by a processor, facilitate the execution of operations, said operations including: The state record of the storage device is determined based on the receipt of indication values regarding the performance of the storage device during a first time period, the first time period having a first duration and associated with a timestamp, including: Monitor the reception of indication values associated with other first time periods besides the first time period, wherein the second time period with a second duration includes all the first time periods; In response to determining that the count of the received values associated with all the first time periods has satisfied a function of a threshold count, the performance of the storage device in the second time period is determined based on the count of the received values associated with all the first time periods.
16. The non-transitory machine-readable medium of claim 15, wherein determining the state record comprises: Obtain the identifier and type of the storage device; Based on the type, determine the first duration of the first time period; as well as Based on the timestamp, the start and end times of the second time period are determined.
17. The non-transitory machine-readable medium of claim 16, wherein the operation further comprises: Determine the acquisition time configured to acquire the performance of the storage device during the second time period; as well as The status record is generated based on the acquisition time, the identifier, the first duration, the start time, and the end time.
18. The non-transitory machine-readable medium of claim 15, wherein determining the state record comprises: In response to determining the existence of a previous state record, the previous state record is used when determining the state record, the previous state record including the identifier of the storage device, the first duration of the first time period, the start time of the second time period, the end time of the second time period, and the acquisition time configured to acquire the performance of the storage device in the second time period.
19. The non-transitory machine-readable medium of claim 15, wherein the performance of the storage device during the second time period is determined based on at least one of the following: The average value of the indicated values; The first indication value in the indication value is greater than the first threshold; or The second indication value is less than a second threshold value, wherein the second threshold value is less than the first threshold value.
20. The non-transitory machine-readable medium of claim 15, wherein the operation further comprises: In response to determining that the count of receipts of the indication values associated with all the first time periods does not satisfy a function of the threshold count and the current time is greater than the acquisition time in the status record, the performance of the storage device in the second time period is determined based on the indication values, and the acquisition time is configured to acquire the performance of the storage device in the second time period.
Citation Information
Patent Citations
Detection method and device
CN106610883A
Systems and methods for enhancing performance of resource state polling
US20170093951A1
