Methods, electronic devices, and computer program products for storage management
By storing user-specific access information in the nodes of the data protection system, the problems of decreased search speed due to an increase in the number of users and inconsistent experience caused by geographical differences are solved, achieving efficient storage management and a consistent user experience.
Patent Information
- Application Number
- CN202010790766.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-07
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2041-04-19
AI Technical Summary
In decentralized metadata search and management data protection systems, search speed decreases as the number of users increases, and it is difficult to guarantee a consistent search experience when users log in from different geographical locations.
The system stores user-specific access information across multiple nodes of the data protection system, retrieves target access information based on the identifier of the access request, determines target metadata based on the target access information, and supports searching based on user search preferences.
It significantly improves storage efficiency and user experience, ensuring a consistent search experience for users logging in from different geographical locations.
Smart Images

Figure CN114064668B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of this disclosure generally relate to storage management, and more specifically to methods, electronic devices, and computer program products for storage management. Background Technology
[0002] In data protection systems that utilize decentralized metadata search management, search speeds decrease significantly as the number of users and their metadata grows. Furthermore, users may log into the data protection system from different geographical locations to manage their backups stored there. Ensuring a consistent experience for users across different geographical locations during the backup search process is challenging. Summary of the Invention
[0003] Embodiments of this disclosure provide methods, electronic devices, and computer program products for storage management.
[0004] In a first aspect of this disclosure, a method for storage management is provided. The method includes: receiving, at a node of a plurality of nodes included in a data protection system, an access request from a user for target metadata, the access request including an identifier of the target metadata; based on the identifier, obtaining target access information corresponding to the identifier from a set of access information for the user, the target access information recording information related to access to the target metadata; and if the target access information is obtained, determining the target metadata based on the target access information.
[0005] In a second aspect of this disclosure, an electronic device is provided. The device includes at least one processing unit and at least one memory. The at least one memory is coupled to the at least one processing unit and stores instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform an action including: receiving, at a node of a plurality of nodes included in a data protection system, an access request from a user for target metadata, the access request including an identifier of the target metadata; based on the identifier, obtaining target access information corresponding to the identifier from a set of access information for the user, the target access information recording information related to access to the target metadata; and if the target access information is obtained, determining the target metadata based on the target access information.
[0006] In a third aspect of this disclosure, a computer program product is provided. The computer program product is tangibly stored on a non-transitory computer-readable medium and includes machine-executable instructions that, when executed, cause a machine to perform any step of the method described in the first aspect of this disclosure.
[0007] The summary section is provided to present the chosen concepts in a simplified form, which will be further described in the detailed description below. The summary section is not intended to identify key or essential features of this disclosure, nor is it intended to limit the scope of this disclosure. Attached Figure Description
[0008] 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.
[0009] Figure 1 A schematic diagram illustrating examples of storage management environments in which some embodiments of the present disclosure can be implemented;
[0010] Figure 2 A flowchart of a method for storage management according to some embodiments of the present disclosure is shown;
[0011] Figure 3 A schematic diagram illustrating an example of access information according to some embodiments of the present disclosure is shown;
[0012] Figure 4 A schematic diagram illustrating an example of a storage management process in the event of expired target access information, according to some embodiments of the present disclosure;
[0013] Figure 5 A schematic diagram illustrating an example of a storage management process in the case where target access information has not expired, according to some embodiments of the present disclosure;
[0014] Figure 6 A schematic diagram illustrating an example of a storage management process in the event that target access information has not been obtained, according to some embodiments of the present disclosure; and
[0015] Figure 7 A schematic block diagram of an example device that can be used to implement 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] Preferred embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While preferred embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art.
[0018] The term "comprising" and its variations as used herein signify open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "at least partially based 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", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0019] As mentioned above, in traditional data protection systems that utilize decentralized metadata search management, an increase in the number of users leads to an increase in metadata, which in turn reduces search speed, thus limiting the scalability of traditional data protection systems.
[0020] Furthermore, users are mobile and may log into the data protection system at different times and from different geographical locations to manage their backups stored in the system through a search. For example, a user might log into the data protection system in the UK on Monday and in China on Wednesday. In such cases, it is difficult to ensure a consistent user experience when searching for backups across different times and geographical locations.
[0021] Furthermore, different users may have different search preferences. For example, a data protection system might grant more search functionality to advanced users, while offering only limited search functionality to ordinary users. However, traditional data protection systems do not support searches based on user preferences.
[0022] According to an example embodiment of this disclosure, an improved scheme for storage management is proposed. In this scheme, at a node of a plurality of nodes included in a data protection system, an access request from a user for target metadata is received, the access request including an identifier of the target metadata; based on the identifier, target access information corresponding to the identifier is obtained from a set of access information for the user, the target access information recording information related to access to the target metadata; and if the target access information is obtained, the target metadata is determined based on the target access information.
[0023] In this way, this solution stores access information in the local node where the user logs in, allowing the local node to quickly provide the user with the metadata content within the access information as target metadata. Furthermore, since the access information is user-specific, it supports searches based on the user's search preferences. Therefore, it can significantly improve storage efficiency and user experience.
[0024] In the following text, we will combine Figures 1-7 A more detailed description of specific examples of this solution is provided. Figure 1A schematic diagram of an example of a storage management environment 100 according to some embodiments of the present disclosure is shown. The storage management environment 100 includes a data protection system 110 and a user 120.
[0025] Data protection system 110 includes multiple nodes, such as nodes 130-1 to 130-3 (hereinafter collectively referred to as "nodes 130"). Nodes 130 store access information, such as access information 140-1 to 140-3 (hereinafter collectively referred to as "access information 140"). Access information 140 records information related to access to metadata. It should be understood that the number of nodes 130 and access information 140 is merely exemplary, and data protection system 110 may include any suitable number of nodes 130, and nodes 130 may store any suitable number of access information 140.
[0026] In some embodiments, the access information is user-specific to 120. In this case, node 130 can group access information from multiple different users into multiple corresponding groups of access information. For example, node 130 can use multiple access information lists to store the access information, each access information list being specific to a user.
[0027] User 120 may send an access request for metadata (hereinafter referred to as "target metadata") to node 130 (such as node 130-1) in data protection system 110. In some embodiments, user 120 may log in to node 130-1 and send an access request to node 130-1. User 120 may be any computing device, such as, but not limited to, a distributed computing system, mainframe, server, personal computer, desktop computer, laptop computer, tablet computer, wearable device, etc.
[0028] Access requests may include identifiers for target metadata, such as the name, hash value, or any other appropriate information that can uniquely identify the target metadata. Node 130-1 can determine, based on the identifier of the target metadata, whether it stores access information corresponding to that identifier (hereinafter referred to as "target access information"), such as access information 140-1. For example, node 130-1 can determine whether its stored list of access information for user 120 contains target access information corresponding to that identifier.
[0029] If node 130-1 stores target access information and the target access information has not expired, node 130-1 can send the metadata content in the target access information it stores as target metadata to user 120, thereby significantly improving the speed at which user 120 obtains target metadata.
[0030] If the target access information is not stored on node 130-1, or the target access information has expired, node 130-1 will send the identifier of the target metadata to other nodes in the data protection system 110 (such as nodes 130-2 and 130-3) and receive the target metadata from other nodes, thereby still ensuring that user 120 can obtain the target metadata.
[0031] In this way, this solution stores access information in the local node where the user logs in, allowing the local node to quickly provide the user with the metadata content within the access information as target metadata. Furthermore, since the access information is user-specific, it supports searches based on the user's search preferences. Therefore, it can significantly improve storage efficiency and user experience.
[0032] The following will combine Figures 2-6 The operations performed on node 130-1 are described in detail. Figure 2 A flowchart of a method 200 for storage management according to some embodiments of the present disclosure is shown. For example, method 200 may be performed by, for example... Figure 1 The method is executed using node 130-1 as shown. It should be understood that method 200 may also include additional steps not shown and / or the steps shown may be omitted, and the scope of this disclosure is not limited in this respect. For ease of understanding, reference will be made to… Figures 3-6 Method 200 is described.
[0033] At 210, node 130-1 receives an access request from a user for target metadata. The access request includes an identifier for the target metadata. At 220, based on the identifier of the target metadata, node 130-1 retrieves target access information (such as access information 140-1) corresponding to that identifier from a set of access information for the user. The target access information records information related to access to the target metadata.
[0034] Figure 3 A schematic diagram illustrating an example of access information 140 according to some embodiments of the present disclosure is shown. Figure 3 As shown, access information 140 may include metadata identifier 310, metadata content 320, access information update time 330 and / or access information acquisition count 340.
[0035] For example, metadata identifier 310 can be any appropriate information that can uniquely identify the metadata, such as the name or hash value of the metadata. Metadata content 320 can be index information used to address the metadata, descriptive information of the metadata, etc. The update time of the accessed information 330 is the time when the accessed information was last updated. The access count of the accessed information 340 is the number of times the accessed information has been retrieved or searched.
[0036] The update time 330 of the access information can be used to determine whether the metadata content stored in node 130 has expired, thereby determining whether to return the target metadata from the local node or to obtain the updated target metadata from other nodes.
[0037] Furthermore, in some embodiments, to save storage space on node 130, the number of access messages that node 130 can provide for each user may be limited. In this case, replacement algorithms such as Least Recently Used (LRU) or First In First Out (FIFO) can be used to manage the access messages stored in node 130 for each user. For this purpose, the replacement can be implemented using the access message update time 330 and / or the access message acquisition count 340.
[0038] Return to reference Figure 2 At node 230, if the target access information is obtained, node 130-1 determines the target metadata based on the target access information. Specifically, the target access information is divided into two cases: expired and not expired. In some embodiments, the access request may include the initiation time of the access request. In this case, the target access information is expired when the initiation time of the access request and the update time in the target access information exceed a predetermined threshold difference. The target access information is not expired when the initiation time and the update time are less than the threshold difference.
[0039] To this end, node 130-1 determines the difference between the initiation time and the update time, and performs different storage management processes based on whether the difference exceeds a threshold difference. It should be understood that in some embodiments, the access request does not include the initiation time. In this case, the difference can also be determined based on the time when node 130-1 receives the access request. The following will combine... Figure 4 Describe in detail the storage management process in the event that the target access information has expired, and combine it with Figure 5 Describe in detail the storage management process when the target access information has not expired.
[0040] Figure 4 A schematic diagram illustrating an example of a storage management process 400 according to some embodiments of the present disclosure in the event of expired target access information. Since the target access information 140-1 in node 130-1 has expired, node 130-1 does not return the metadata content of the expired target access information 140-1 as target metadata, but instead searches for unexpired target metadata in other nodes. To this end, at 420, node 130-1 can send an identifier of the target metadata to other nodes among multiple nodes. At 430, node 130-1 can receive the target metadata from other nodes. Then, at 440, node 130-1 can provide the target metadata to user 120.
[0041] In some embodiments, node 130-1 can also update its stored target access information 140-1. Specifically, node 130-1 can update the metadata content in target access information 140-1 based on non-expired target metadata received from other nodes. Furthermore, node 130-1 can update the update time in target access information 140-1 based on the time the access request was initiated. Alternatively, node 130-1 can also update the update time in target access information 140-1 based on the time the target metadata was received. Further, since target access information 140-1 is acquired, node 130-1 can increment the acquisition count in target access information 140-1.
[0042] Figure 5 A schematic diagram illustrating an example of a storage management process 500 according to some embodiments of the present disclosure when the target access information has not expired is shown. Since the target access information 140-1 in node 130-1 has not expired, node 130-1 can determine the metadata content in the target access information as target metadata, and at 520, node 130-1 can provide the target metadata to user 120.
[0043] In some embodiments, although the target access information 140-1 in node 130-1 has not expired, it may not be the latest target metadata. In this case, node 130-1 can also update its stored target access information 140-1. Specifically, at 530, node 130-1 can send the identifier of the target metadata to other nodes among multiple nodes. At 540, node 130-1 can receive updated target metadata from other nodes. Node 130-1 can update the metadata content in target access information 140-1 based on the updated target metadata. In addition, node 130-1 can update the update time in target access information 140-1 based on the time the access request was initiated. Alternatively, node 130-1 can also update the update time in target access information 140-1 based on the time the updated target metadata was received. Further, since target access information 140-1 has been acquired, node 130-1 can increment the acquisition count in target access information 140-1.
[0044] The above describes the scenario where the target access information exists in node 130-1. However, in some cases, the target access information does not exist in node 130-1. In this case, the target access information cannot be obtained from the set of access information for user 102. Figure 6 A schematic diagram illustrates an example of a storage management process 600 in the event that target access information has not been obtained, according to some embodiments of the present disclosure.
[0045] like Figure 6As shown, if the target access information is not obtained from the set of access information for user 102, then at 620, node 130-1 can send the identifier of the target metadata to other nodes among the multiple nodes. At 630, node 130-1 can receive the target metadata from other nodes. Then, at 640, node 130-1 can provide the target metadata to user 120.
[0046] In some embodiments, node 130-1 can create and store target access information, for example, by adding the target access information to a user-specific access information list. In some embodiments, node 130-1 can create target access information based on the identifier of the target metadata, target metadata received from other nodes, the initiation time of the access request, and a predetermined initial value for the acquisition count.
[0047] In some embodiments, the number of user-120-specific access information that node 130-1 can store may be limited. In this case, replacement algorithms such as Least Recently Used (LRU) or First-In-First-Out (FIFO) can be used to manage a set of user-120-specific access information stored in node 130. For example, node 130-1 can determine access information to be replaced from this set of access information. The access information to be replaced may satisfy the following conditions: the update time of the access information to be replaced exceeds a predetermined threshold time, and / or the acquisition count of the access information to be replaced exceeds a predetermined threshold count. For example, node 130-1 can replace the access information with the oldest update time, or replace the access information with the fewest acquisition counts. Alternatively, node 130-1 can also perform the replacement by considering both update time and acquisition count. After determining the access information to be replaced, node 130-1 can replace the access information to be replaced with target access information.
[0048] Furthermore, in some embodiments, when user 120 logs into node 130-1, a set of access information specific to user 120 may not exist on node 130-1. Therefore, when user 120 logs into data protection system 110 via node 130-1, node 130-1 can determine whether it stores a set of access information for user 120. If node 130-1 does not yet store this access information, it can retrieve it from other nodes among multiple nodes. In this way, even if a user logs into data protection system 110 at different times and from different geographical locations, a consistent user experience during the backup search process can be ensured.
[0049] Additionally, if user 120 logs out of data protection system 110 via node 130-1, node 130-1 can also notify other nodes among multiple nodes of the updated access information in a set of access information for user 120. In this way, other nodes can know to obtain the updated access information from node 130-1.
[0050] Figure 7 A schematic block diagram of an example device 700 that can be used to implement embodiments of the present disclosure is shown. For example, such as Figure 1 The computing device 110 shown can be implemented by device 700. As shown, device 700 includes a central processing unit (CPU) 710, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 720 or loaded from storage unit 780 into random access memory (RAM) 730. The RAM 730 may also store various programs and data required for the operation of device 700. The CPU 710, ROM 720, and RAM 730 are interconnected via bus 740. Input / output (I / O) interface 750 is also connected to bus 740.
[0051] Multiple components in device 700 are connected to I / O interface 750, including: input unit 760, such as keyboard, mouse, etc.; output unit 770, such as various types of monitors, speakers, etc.; storage unit 780, such as disk, optical disk, etc.; and communication unit 790, such as network card, modem, wireless transceiver, etc. Communication unit 790 allows device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0052] The various processes and handling described above, such as methods 200, 400-600, can be executed by processing unit 710. For example, in some embodiments, methods 200, 400-600 can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 780. In some embodiments, part or all of the computer program can be loaded and / or installed on device 700 via ROM 720 and / or communication unit 790. When the computer program is loaded into RAM 730 and executed by CPU 710, one or more actions of methods 200, 400-600 described above can be performed.
[0053] This disclosure can be a method, apparatus, system, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for performing various aspects of this disclosure.
[0054] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0055] 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.
[0056] 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 Java, 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 (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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 storage management, comprising: At a node in the data protection system, which comprises multiple nodes, an access request for target metadata from a user is received. The access request includes the identifier of the target metadata and the time when the access request was initiated. Based on the identifier, target access information corresponding to the identifier is obtained from a set of access information for the user, wherein the target access information records information related to access to the target metadata; If the target access information is obtained, the target metadata is determined based on the target access information; as well as Obtaining the target metadata, wherein obtaining the target metadata includes: Determine the difference between the initiation time and the update time of the target access information; If the difference exceeds the threshold difference Send the identifier to the other nodes among the plurality of nodes, and Receive the target metadata from the other nodes; If the difference is lower than the threshold difference The metadata content in the target access information is determined as the target metadata. Send the identifier to the other nodes among the plurality of nodes; Receive updated target metadata from the other nodes; Based on the updated target metadata, update the metadata content in the target access information; and Based on the initiation time, update the update time in the target access information.
2. The method according to claim 1, wherein the target access information includes at least one of the following: Metadata identification, Metadata content, The update time of the target access information, and The acquisition count of the target access information.
3. The method according to claim 1, further comprising: Based on the target metadata, update the metadata content in the target access information; as well as Based on the initiation time, update the update time in the target access information.
4. The method according to claim 1, further comprising: Provide the target metadata to the user.
5. The method according to claim 2, further comprising: In response to the acquisition of the target access information, the acquisition count in the target access information is incremented.
6. The method according to claim 1, further comprising: If the target access information is not obtained from the set of access information, the identifier is sent to the other nodes among the plurality of nodes; as well as Receive the target metadata from the other nodes.
7. The method according to claim 6, further comprising: The target access information is created based on the identifier, the target metadata, the initiation time of the access request, and the initial value of the acquisition count.
8. The method according to claim 7, further comprising: The access information to be replaced is determined from the set of access information, wherein the access information to be replaced satisfies at least one of the following: The update time of the access information to be replaced exceeds the threshold time, and The acquisition count of the access information to be replaced exceeds the threshold count; and the access information to be replaced is replaced with the target access information.
9. The method according to claim 1, further comprising: If the user logs into the data protection system via the node, determine whether the node stores the set of access information; as well as If the access information is not already stored in the node, the access information is obtained from other nodes among the plurality of nodes.
10. The method according to claim 1, further comprising: If the user logs out of the data protection system via the node, the updated access information in the set of access information is notified to the other nodes among the plurality of nodes.
11. An electronic device, comprising: At least one processing unit; At least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform an action, the action including: At a node in the data protection system, which comprises multiple nodes, an access request for target metadata from a user is received. The access request includes the identifier of the target metadata and the time when the access request was initiated. Based on the identifier, target access information corresponding to the identifier is obtained from a set of access information for the user, wherein the target access information records information related to access to the target metadata; If the target access information is obtained, the target metadata is determined based on the target access information; and Obtaining the target metadata, wherein obtaining the target metadata includes: Determine the difference between the initiation time and the update time of the target access information; If the difference exceeds the threshold difference Send the identifier to the other nodes among the plurality of nodes, and Receive the target metadata from the other nodes; If the difference is lower than the threshold difference The metadata content in the target access information is determined as the target metadata. Send the identifier to the other nodes among the plurality of nodes; Receive updated target metadata from the other nodes; Based on the updated target metadata, update the metadata content in the target access information; and Based on the initiation time, update the update time in the target access information.
12. The device of claim 11, wherein the target access information includes at least one of the following: Metadata identification, Metadata content, The update time of the target access information, and The acquisition count of the target access information.
13. The device according to claim 11, wherein the action further includes: Based on the target metadata, update the metadata content in the target access information; as well as Based on the initiation time, update the update time in the target access information.
14. The device according to claim 11, wherein the action further includes: Provide the target metadata to the user.
15. The device according to claim 12, wherein the action further includes: In response to the acquisition of the target access information, the acquisition count in the target access information is incremented.
16. The device according to claim 11, wherein the action further includes: If the target access information is not obtained from the set of access information, the identifier is sent to the other nodes among the plurality of nodes; as well as Receive the target metadata from the other nodes.
17. The device according to claim 16, further comprising: The target access information is created based on the identifier, the target metadata, the initiation time of the access request, and the initial value of the acquisition count.
18. The device according to claim 17, wherein the action further includes: The access information to be replaced is determined from the set of access information, wherein the access information to be replaced satisfies at least one of the following: The update time of the access information to be replaced exceeds the threshold time, and The acquisition count of the access information to be replaced exceeds the threshold count; and the access information to be replaced is replaced with the target access information.
19. The device according to claim 11, wherein the action further includes: If the user logs into the data protection system via the node, determine whether the node stores the set of access information; as well as If the access information is not already stored in the node, the access information is obtained from other nodes among the plurality of nodes.
20. The device according to claim 11, wherein the action further includes: If the user logs out of the data protection system via the node, the updated access information in the set of access information is notified to the other nodes among the plurality of nodes.
21. A computer program product tangibly stored on a non-transient computer-readable medium and comprising machine-executable instructions that, when executed, cause a machine to perform the steps of the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Remote desktop and data management system
US20130060842A1
Systems and methods for storage recovery
US20160188219A1
Methods and systems for identifying changed data in an expandable storage volume
US9015123B1