Device and method for maintaining digest consistency in cache
By assigning increasing identifiers to cache dump operations and utilizing these identifiers to maintain summary consistency, the cache maintains high performance and prevents inconsistent summaries, addressing the cache's performance degradation issue.
Patent Information
- Application Number
- CN201980085764.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-07-03
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2039-07-03
AI Technical Summary
Caches face performance degradation when memory allocation is exhausted, necessitating disk access, particularly during metadata caching and deduplication processes, leading to inconsistent summaries and reduced performance.
Assigning increasing identifiers to cache dump operations and using these identifiers to maintain summary consistency by ensuring only consistent summaries are updated, employing methods like transaction logging, double buffering, and background merging.
Maintains high performance while ensuring digest consistency by preventing inconsistent summaries, thus enhancing cache efficiency.
Smart Images

Figure CN113227988B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to information processing devices and methods, and more specifically, to devices and methods for maintaining digest consistency in a high-performance cache. To this end, the present invention provides a device including one or more caches. The device is used to allocate increasing different identifiers each time the cache is dumped, and use the different identifiers to maintain digest consistency in the cache. Background Art
[0002] Generally, a cache is a structure that improves the performance of an object by storing it in memory. However, the problem with caches is that they cannot maintain high performance when the memory allocated for the cache runs out (for example, a large number of objects need to be accessed) and must switch to disk. In random access mode, almost every access must switch to disk, which is a critical issue. For example, when caching the metadata (Metadata, MD) of a data container, there are a large number of containers (millions, each with 10KB of metadata). In addition, during the deduplication process, these container metadata structures need to be accessed in random read mode.
[0003] There are several traditional methods that can help solve the switching problem:
[0004] • Keep the object's digest (for reads) and the object's actions (for updates, ie, transaction log) in the cache.
[0005] For example, the actions can be operations on the object, such as adding a reference to a container MD, adding or removing data for a container, and other operations that actually change the container or its MD. The transaction log is a list of all operations written in the order in which they were executed. In addition, summaries can be container read-only information such as the total used size of the container, and other information that requires a very small size and can be kept in memory for all objects without taking up too much memory.
[0006] Double buffering, allowing toggling updates to disk and applying updates to objects in the background.
[0007] For example, double buffering is a method of using two cache objects, where one cache object is in the active state, and certain operations are performed on the other cache in the background without delaying the active cache.
[0008] However, the disadvantage of the conventional apparatus and method is that when saving the object operation in the cache for updating and saving the summary of the object in the cache for reading, the complete object on the disk needs to be accessed to ensure the consistency of the summary, thus having a significant impact on performance, i.e., reducing the performance of the cache. Summary of the invention
[0009] In view of the above problems and shortcomings, the purpose of the embodiments of the present invention is to improve the traditional device and method. The purpose is to solve the consistency problem by allocating more and more identifiers (IDs) to the dumped cache (i.e., transaction log) and using the identifiers to prevent inconsistent summaries.
[0010] The objects are achieved by the embodiments provided in the attached independent claims. Advantageous implementations of the embodiments are further defined in the dependent claims.
[0011] According to a first aspect of the present invention, there is provided a device, comprising: a memory, the memory comprising one or more caches and a summary structure, the one or more caches being used to store information related to at least one object among a plurality of objects, the summary structure being used to store at least one summary of at least one object among the plurality of objects; a storage device, the storage device comprising a volume, the volume being used to store at least one merged file including the plurality of objects and a dump file set, each dump file being associated with a specific cache dump operation of the one or more caches. The device also comprises a processor, the processor being used to: assign a first identifier to a cache among the one or more caches; perform a cache dump operation, generate a dump file associated with the first identifier, and store information related to the at least one object in the cache to the generated dump file; and then assign a second identifier to a cache among the one or more caches, wherein the second identifier is greater than the first identifier.
[0012] The device described in the first aspect can maintain the high performance advantage of traditional devices in updating objects and summary queries, while advantageously ensuring the consistency of the summary. This can be achieved by assigning different identifiers (for example, by adding increasingly larger identifiers) to each dumped cache (hereinafter also referred to as a cache dump operation) and the current main cache, and using the identifiers to maintain summary consistency when applying transactions to the objects.
[0013] For example, the device may include one or more caches. In addition, the device may assign the first identifier to a cache and may also perform a cache dump operation. A cache dump operation may be an operation performed by the device, in which the information of the cache is dumped (stored) into a file. For example, the device may generate a file that can be defined as a dump file, that is, a file generated for a specific cache dump operation. The device may assign the first identifier to the cache and may also perform the cache dump operation, for example, by storing the information of the cache in the generated dump file and assigning the first identifier to the generated dump file. Thereafter, the device may assign the second identifier to the cache. Furthermore, the second identifier is greater than the first identifier. The device assigns identifiers, and the identifiers are continuously increasing.
[0014] For example, in some embodiments, the identifier may be incremented by adding an increment (eg, adding 1 to the previous identifier), a specific number, a system time, or any other number that always increases.
[0015] In addition, each of the plurality of objects may have its own ID and may be identified, as is generally known to the skilled person. In the following, the identification of an object is referred to as an object ID.
[0016] In some embodiments, the device may use several performance enhancing operations, such as performing transaction logging to reduce cache size, saving all object summaries in the cache (ie, first memory), double caching, switching to disk, and merging in the background.
[0017] In an implementation manner of the first aspect, the device is further configured to add the generated dump file to the dump file set.
[0018] In another implementation of the first aspect, the device is further configured to merge the dump file set into the at least one merged file.
[0019] This is beneficial because the performance of the cache may be improved.
[0020] In another implementation of the first aspect, the cache dump operation is performed periodically at a time interval of N seconds; and / or the cache dump operation is performed when the storage capacity of the cache reaches a predetermined threshold.
[0021] In another implementation of the first aspect, the merging is performed periodically at a time interval of M seconds, where M is equal to or greater than N.
[0022] In another implementation of the first aspect, the device is further used to: if a given dump file storing information related to a determined object is merged from the dump file set to the at least one merged file, update the at least one digest for the determined object; and associate the updated at least one digest with the identifier of the given dump file.
[0023] This is beneficial because the critical consistency of the digest (preventing data loss) can be maintained while ensuring high performance of operations (both updates and digest queries).
[0024] In another implementation of the first aspect, the device is also used to: update at least one summary of a determined object if a given cache dump operation assigned a given identifier changes information related to the determined object; and associate the at least one summary with the assigned identifier of the given cache dump operation.
[0025] In another implementation of the first aspect, each summary of the at least one object includes:
[0026] - summary information related to said at least one object;
[0027] - ID-1 information indicating the identification of the dump file that updates the digest;
[0028] - ID-2 information indicating an identification of a cache dump operation that changes the at least one object.
[0029] In another implementation of the first aspect, the device is further used to: assign each summary in the summary structure to a regular summary group representing a type of summary that causes a non-critical error when the summary is inconsistent; or to a critical summary group representing a type of summary that causes a critical error when the summary is inconsistent.
[0030] For example, in some embodiments, the device may classify the summary into two types, including a regular summary and a critical summary, wherein the regular summary may be a summary that affects user behavior but does not cause a critical error if it is inconsistent, and the critical summary may cause a critical error if it is inconsistent. For example, the reference count of an object is queried to determine the type of summary by checking whether the reference count is 0 (whether the object can be deleted). In this example, a critical summary is when the reference count is 0.
[0031] In another implementation of the first aspect, the device is further used to: for the determined summary, compare the identifier indicated in ID-1 with the identifier indicated in ID-2; when it is determined that the identifier indicated in ID-1 is greater than or equal to the identifier indicated in ID-2, when performing the merging operation, assign the determined summary to the key summary group.
[0032] For example, in some embodiments, when an operation performed on an object changes the object in a manner that prevents the digest from becoming a critical digest (e.g., inc-ref-count), the device may mark the digest of the object in the digest structure (stored in memory) with the dump file identifier. In addition, the merge operation (e.g., a dump file with id=K) changes the digest to a critical digest only after checking the digest structure to indicate that the operation on the object with a smaller identifier (i.e., id<=K) is completed.
[0033] For example, in some embodiments, when merging dump files whose IDs reach K, the device may only change the digests of objects whose dump file IDs are equal to and not greater than K in the digest structure of the memory.
[0034] In another implementation of the first aspect, the device is based on a double buffer device.
[0035] The second aspect of the present invention provides a method, comprising: storing information related to at least one of a plurality of objects in one or more caches of a memory; storing at least one summary of at least one of the plurality of objects in a summary structure of the memory; storing at least one merged file and a dump file set including the plurality of objects in a volume of a storage device, each dump file being associated with a specific cache dump operation of the one or more caches. The method also comprises: a processor assigning a first identifier to a cache of the one or more caches; the processor performing a cache dump operation, generating a dump file associated with the first identifier, and storing information related to the at least one object in the cache to the generated dump file; the processor then assigning a second identifier to a cache of the one or more caches, wherein the second identifier is greater than the first identifier.
[0036] In an implementation manner of the second aspect, the method further includes adding the generated dump file to the dump file set.
[0037] In another implementation of the second aspect, the method further includes merging the dump file set into the at least one merged file.
[0038] In another implementation of the second aspect, the cache dump operation is performed periodically at a time interval of N seconds; and / or the cache dump operation is performed when the storage capacity of the cache reaches a predetermined threshold.
[0039] In another implementation of the second aspect, the merging is performed periodically at a time interval of M seconds, where M is equal to or greater than N.
[0040] In another implementation of the second aspect, the method further includes: if a given dump file storing information related to a determined object is merged from the dump file set to the at least one merged file, updating the at least one digest for the determined object; and associating the updated at least one digest with the identifier of the given dump file.
[0041] In another implementation of the second aspect, the method further includes: updating at least one digest of a determined object if a given cache dump operation assigned a given identifier changes information related to the determined object; and associating the at least one digest with the assigned identifier of the given cache dump operation.
[0042] In another implementation of the second aspect, each summary of the at least one object includes:
[0043] - summary information related to said at least one object;
[0044] - ID-1 information indicating the identification of the dump file that updates the digest;
[0045] - ID-2 information indicating an identification of a cache dump operation that changes the at least one object.
[0046] In another implementation of the second aspect, the method further includes assigning each summary in the summary structure to a regular summary group representing a type of summary that causes a non-critical error when the summary is inconsistent; or a critical summary group representing a type of summary that causes a critical error when the summary is inconsistent.
[0047] In another implementation of the second aspect, the method further includes: for the determined summary, comparing the identifier indicated in ID-1 with the identifier indicated in ID-2; when it is determined that the identifier indicated in ID-1 is greater than or equal to the identifier indicated in ID-2, when performing the merging operation, assigning the determined summary to the key summary group.
[0048] In another implementation of the second aspect, the method is used in a double buffer device.
[0049] The method and implementation manner of the second aspect realize all the advantages and effects described above for the device and corresponding implementation manner of the first aspect.
[0050] A third aspect of the present invention provides a computer program product comprising computer program code, and when a processor executes the computer program code, the method described in the second aspect or the implementation manner of the second aspect is performed.
[0051] A fourth aspect of the present invention provides a non-transitory computer-readable recording medium storing a computer program product. When a processor executes the computer program product, the method according to the second aspect or the implementation manner of the second aspect is performed.
[0052] It must be noted that all devices, elements, units and devices described in this application can be implemented by software elements or hardware elements or any combination thereof. All steps performed by various entities described in this application and the functions described to be performed by various entities are intended to indicate that each entity is suitable for or used to perform respective steps and functions. Although in the description of the following specific embodiments, the specific functions or steps performed by external entities are not reflected in the description of the specific elements of the entity that performs the specific steps or functions, it should be clear to the technician that these methods and functions can be implemented in respective hardware or software elements or any combination thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] The following description of specific embodiments in conjunction with the accompanying drawings will illustrate the various aspects of the present invention and their implementation methods.
[0054] Figure 1 A schematic diagram of a device provided in an embodiment of the present invention.
[0055] Figure 2 Another schematic diagram of a device for maintaining summary consistency provided by an embodiment of the present invention.
[0056] Figure 3 A flow chart of a method for performing a cache dump operation on a double cache provided by an embodiment of the present invention.
[0057] Figure 4 A flowchart of a method for merging dump files provided by an embodiment of the present invention.
[0058] Figure 5 A flowchart of a method for merging and dumping K to K+n provided in an embodiment of the present invention.
[0059] Figure 6 A flowchart of a method provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0060] Figure 1 A schematic diagram of a device 100 provided in an embodiment of the present invention.
[0061] The apparatus 100 comprises a memory 110 and a storage device 114. The memory 110 comprises one or more caches (111, 112) for storing information related to at least one object of a plurality of objects and a summary structure 113 for storing at least one summary of at least one object of the plurality of objects. The storage device 114 comprises a volume for storing at least one merged file 115 comprising the plurality of objects and a set of dump files 116, each dump file being associated with a specific cache dump operation of the one or more caches (111, 112).
[0062] The device 100 also includes a processor 117, which is used to: assign a first identifier K1 to a cache 111 in the one or more caches (111, 112); perform a cache dump operation to generate a dump file 118 associated with the first identifier K1, and store information related to the at least one object in the cache 111 to the generated dump file 118; and then assign a second identifier K2 to the cache 111 in the one or more caches (111, 112), wherein the second identifier K2 is greater than the first identifier K1.
[0063] For example, the first identifier K1 may be a number (e.g., K1=1), and the second identifier K2 may be a second number, such as K2=K1+1 (K2=1+1=2). Therefore, the first identifier K1 may be 1, and the second identifier K2 may be 2, which is different from the first identifier. Therefore, different cache dump operations and / or dump files may be identified based on their identifiers.
[0064] The device 100 may include a circuit system ( Figure 1 ), the circuit system may include hardware and software. The hardware may include analog circuits, digital circuits, or both analog circuits and digital circuits. In some embodiments, the circuit includes one or more processors (e.g., the processor 117) and a non-volatile memory (e.g., the memory 110) connected to the one or more processors (e.g., the processor 117). The non-volatile memory may carry executable program code, and when the one or more processors execute the executable program code, the device performs the operations or methods described herein.
[0065] refer to Figure 2 , Figure 2 Another schematic diagram of the device 100 for maintaining summary consistency provided by an embodiment of the present invention.
[0066] Figure 2The device 100 is based on a double cache, that is, the device 100 includes two caches: a primary cache 111 and a backup cache 112 , which can be defined as two object caches in the memory 110 .
[0067] The device 100 also includes a digest of all objects in the memory 110 (eg, a digest structure 113 ).
[0068] Furthermore, the apparatus 100 comprises a storage device 114 (disk). The storage device 114 comprises a series of dump files 116, each dump file 116 representing a cache dump operation, and a single merged file 115 comprising the plurality of objects.
[0069] exist Figure 2 In the embodiment of the present invention, it is assumed that the first unmerged cache dump identifier is K+1, for example, K can be a number. In addition, it is assumed that the second identifier is K+2. Figure 2 As can be seen from the figure, the device 100 continuously increases the identifier by adding 1 to the previous identifier, that is, K+1, K+2, K+3, K+4, K+5, K+6, etc.
[0070] The device 100 may maintain summary consistency by using several performance-enhancing methods, including one or more of the following:
[0071] Transaction logs, executed sequentially to reduce caching;
[0072] · storing all object summaries in the memory 110;
[0073] Double buffering;
[0074] • Switch to storage device 114 and merge in the background.
[0075] In addition, the device 100 may classify the summaries into two categories, including:
[0076] General summaries that affect user behavior but where inconsistencies do not lead to critical errors.
[0077] · Critical summaries, which when inconsistent may lead to critical errors.
[0078] The device 100 can solve the consistency problem by assigning an identifier to the dumped cache (transaction log) and using this identifier to prevent digest inconsistencies in the memory. For example, each cache dump has a (unique) identifier (for example, the ID can be continuously increased).
[0079] In addition, the summary structure (at least one summary for each object) stored in the memory 110 for each object may include the following three fields:
[0080] 1. Actual summary information (e.g., object state, reference counts);
[0081] 2. ID-1 information indicating the identification of the dump file that updates the digest;
[0082] 3. ID-2 information indicating an identification of a cache dump operation that changes the at least one object.
[0083] Furthermore, when merging the cache into the disk structure, the at least one summary is updated to the key summary information only when the last cache dump ID-2 of this object is less than or equal to the cache dump ID-1.
[0084] refer to Figure 3 , Figure 3 A schematic diagram of a method 300 for performing a cache dump operation on a double cache according to an embodiment of the present invention.
[0085] The device 100 may execute the method 300. The method 300 may be called at every time period (e.g., n seconds) or when the cache is full. The device 100 may switch between the caches (111, 112), assign a second identifier (e.g., the first identifier+1) to the new primary cache, and may also store the previous primary cache to a disk (while continuing normal operations and using the new primary cache). For example, the following operations may be performed.
[0086] Step 301 : The device 100 starts the method 300 .
[0087] Step 302: The device 100 determines whether the cache 111 is empty.
[0088] Step 303: When the determination is "yes", that is, when the cache 111 is empty, the device 100 sleeps for N seconds.
[0089] Step 304: When the determination is "No", that is, when the cache 111 is not empty, the device 100 switches the cache.
[0090] Step 305: the device 100 adds the new primary cache ID (ie, allocates a second identifier).
[0091] Step 306: The device 100 dumps the previous master 111 to a dump file set.
[0092] refer to Figure 4 , Figure 4 A schematic diagram of a method 400 for merging dump files provided in an embodiment of the present invention.
[0093] The device 100 may perform the method 400 as described above. The method 400 may be called at every time period (e.g., m seconds, m>>n), and when there are enough dump files, they may be merged. The merging process (merging dump files K to K+n) may be merging all dump files 116 on the storage device 114 into a single file 115 including all objects, and updating the summary of the object in the memory 110. For example, the following operations may be performed.
[0094] Step 401 : The device 100 starts to execute the method 400 .
[0095] Step 402: The device 100 determines whether the cache (e.g., cache 111) has been dumped X times. Furthermore, when the determination is "yes", that is, there are X cache dump files, the device 100 proceeds to step 403. However, when the determination is "no", that is, X caches have not been dumped, the device 100 proceeds to step 404.
[0096] Step 403 : The device 100 merges the dump file 116 and proceeds to step 405 .
[0097] Step 404: When the determination is "No", that is, the X caches are not dumped, the device 100 determines whether 3*N seconds have passed since the last merge. In addition, when the determination is "Yes", that is, 3*N seconds have passed since the last merge, the device 100 proceeds to step 403. When the determination is "No", that is, 3*N seconds have not passed since the last merge, the device 100 proceeds to step 405.
[0098] Step 405: The device 100 sleeps for M seconds and then enters step 402.
[0099] refer to Figure 5 , Figure 5 A flowchart of a method for merging dump files with IDs from K to K+n is provided in an embodiment of the present invention.
[0100] The device 100 may perform the method 500 as described above. For example, the following operations may be performed.
[0101] Step 501 : The device 100 starts the method 500 .
[0102] Step 502: For each dump file opened, the device 100 loads a first object. For example, each object can be identified by an identifier (eg, object ID).
[0103] Step 503: The device 100 finds the object with the smallest object ID (min1).
[0104] Step 504: Load another object from the same dump file as min1.
[0105] Step 505 : The device 100 determines whether there is any object left. In addition, when the determination is “yes”, the device 100 proceeds to step 507 , and when the determination is “no”, the device 100 proceeds to step 506 .
[0106] Step 506: The device 100 deletes all merged dump files.
[0107] Step 507: The device 100 finds the object with the smallest object ID (min2).
[0108] Step 508: The device 100 loads another object from the same dump file as min2.
[0109] Step 509 : The device 100 determines whether “ID(min1)=ID(min2)” holds. Furthermore, when the determination is “yes”, the device 100 proceeds to step 510 , and when the determination is “no”, the device 100 proceeds to step 511 .
[0110] Step 510 : the device 100 performs merging based on “min1=merge(min1, min2)”. In addition, the device 100 proceeds to step 505 .
[0111] Step 511: The device 100 saves min1 into a new merged file.
[0112] Step 512: The device 100 determines whether “Abstract (min1) = Key Abstract” holds. Furthermore, when the determination is “Yes”, the device 100 proceeds to step 513, and when the determination is “No”, the device 100 proceeds to step 514.
[0113] Step 513: The device 100 determines whether “min1's last updated ID>K+n” holds. Furthermore, when the determination is “yes”, the device 100 proceeds to step 515, and when the determination is “no”, the device 100 proceeds to step 514.
[0114] Step 514: The device 100 updates the digest (min1).
[0115] Step 515: Determine min1=min2.
[0116] Figure 6 The method 600 provided by the embodiment of the present invention is shown. The device 100 may execute the method 600 as described above.
[0117] The method 600 comprises step 601 : the processor 117 assigns a first identifier K1 to a cache 111 of one or more caches ( 111 , 112 ) of the memory 110 .
[0118] The method 600 further includes step 602 : storing information related to at least one object of the plurality of objects in the one or more caches ( 111 , 112 ) of the memory 110 .
[0119] The method 600 further comprises step 603 of storing at least one summary of at least one object of the plurality of objects in a summary structure 113 of the memory 110 .
[0120] The method 600 further comprises step 604 of storing at least one merged file 115 and a dump file set 116 including the plurality of objects in a volume of the storage device 114, each dump file being associated with a specific cache dump operation of the one or more caches (111, 112).
[0121] The method 600 further includes step 605 : the processor 117 executes 605 a cache dump operation to generate a dump file 118 associated with the first identifier K1 , and stores information related to the at least one object in the cache 111 into the generated dump file 118 .
[0122] The method 600 further comprises step 606: the processor 117 then assigns 606 a second identifier K2 to the cache 111 of the one or more caches ( 111 , 112 ), wherein the second identifier K2 is greater than the first identifier K1 .
[0123] Although the invention has been described in conjunction with various embodiments and implementations as examples. However, it will be appreciated by those skilled in the art and those who practice the invention that other variations may be achieved by studying the drawings, the disclosure and the independent claims. In the claims and the specification, the word "comprising" does not exclude other elements or steps, and "a" does not exclude a plurality. A single element or other unit may fulfil the functions of several entities or items recited in the claims. The listing of certain measures in mutually different dependent claims does not imply that a combination of these measures cannot be used in a beneficial implementation.
Claims
1. A device (100), It is characterized in that The device (100) comprises: A memory (110), the memory (110) comprising: One or more caches (111, 112), the one or more caches (111, 112) for storing information related to at least one object of the plurality of objects; and a summary structure (113), the summary structure (113) being used to store at least one summary of at least one object of the plurality of objects; A storage device (114), the storage device (114) comprising: a volume for storing at least one merged file (115) including the plurality of objects and a set of dump files (116), each dump file being associated with a particular cache dump operation of the one or more caches (111, 112); The device (100) further comprises a processor (117), wherein the processor (117) is configured to: Assigning a first identifier (K1) to a cache (111) of the one or more caches (111, 112); Performing a cache dump operation to generate a dump file (118) associated with the first identifier (K1), and storing information related to the at least one object in the cache (111) in the generated dump file (118); Then, a second identifier (K2) is assigned to a cache (111) of the one or more caches (111, 112), wherein the second identifier (K2) is greater than the first identifier (K1).
2. The device (100) according to claim 1, It is characterized in that The device (100) is also used for: The generated dump file (118) is added to the dump file set (116).
3. The device (100) according to any one of claims 1 to 2, It is characterized in that The device (100) is also used for: The dump file set (116) is merged into the at least one merged file (115).
4. The device (100) according to any one of claims 1 to 3, Features: Periodically performing the cache dump operation at a time interval of N seconds; and / or When the storage capacity of the cache (111, 112) reaches a predetermined threshold, the cache dump operation is performed.
5. The device (100) according to claim 4, It is characterized in that The merging is performed periodically at time intervals of M seconds, where M is equal to or greater than N.
6. The device (100) according to claim 3 or 5, It is characterized in that The device (100) is also used for: updating the at least one summary (113) of the determined object if a given dump file storing information related to the determined object is merged from the dump file set (116) to the at least one merged file (115); The at least one updated digest (113) is associated with the identification of the given dump file.
7. The device (100) according to any one of claims 1 to 6, It is characterized in that The device (100) is also used for: If a given cache dump operation assigned a given identifier changes information associated with a determined object, updating the at least one digest of the determined object (113); The at least one digest (113) is associated with the assigned identification of the given cache dump operation.
8. The device (100) according to any one of claims 1 to 7, Features: Each summary of the at least one object comprises: summary information associated with the at least one object; ID-1 information indicating the identity of the dump file for which the summary is updated; ID-2 information indicating an identification of a cache dump operation that changes the at least one object.
9. The device (100) according to any one of claims 1 to 8, It is characterized in that The device (100) is also used for: Assign each digest in the digest structure to: A general summary group representing a class of summaries that results in a non-critical error if the summaries are inconsistent; or A critical summary group representing a class of summaries that results in a critical error if the summaries are inconsistent.
10. The device (100) according to claim 9, It is characterized in that The device (100) is also used for: To determine the digest, the identification indicated by ID-1 is compared with the identification indicated by ID-2; When it is determined that the identifier indicated by ID-1 is equal to or greater than the identifier indicated by ID-2, the determined summary is allocated to the key summary group when performing the merging operation.
11. The device (100) according to any one of claims 1 to 10, Features: The device (100) is based on a double buffer device.
12. A method (600), It is characterized in that The method (600) comprises: The processor (117) assigns (601) the first identifier (K1) to a cache (111) in one or more caches (111, 112) of the memory (110); storing (602) information associated with at least one of a plurality of objects in the one or more caches (111, 112) of the memory (110); storing (603) at least one summary of at least one object of the plurality of objects in a summary structure (113) of the memory (110); storing (604) at least one merged file (115) and a set of dump files (116) including the plurality of objects in a volume of a storage device (114), each dump file being associated with a particular cache dump operation of the one or more caches (111, 112); The method (600) further comprises: The processor (117) performs (605) a cache dump operation, generates a dump file (118) associated with the first identifier (K1), and stores information related to the at least one object in the cache (111) into the generated dump file (118); The processor (117) then assigns (606) a second identifier (K2) to a cache (111) of the one or more caches (111, 112), wherein the second identifier (K2) is greater than the first identifier (K1).
13. A computer program product comprising computer program code, It is characterized in that When a processor executes the computer program code, the method (600) according to claim 12 is performed.
14. A non-transitory computer-readable recording medium, It is characterized in that The non-transitory computer-readable recording medium stores a computer program product, and when a processor executes the computer program product, the method (600) according to claim 12 is performed.
