Search

KR-20260067032-A - Method for data recovery and computing apparatus using the same

KR20260067032AKR 20260067032 AKR20260067032 AKR 20260067032AKR-20260067032-A

Abstract

The present invention relates to a data recovery method and a computing device utilizing the same. A data recovery method for an application, performed by a processor within a computing device according to one embodiment of the present invention, may include: a step of generating history information by recording data at the time of detection when a change in data resulting from the execution of the application is detected; a step of generating a recovery function to obtain the target data from the target data by comparing the target data with the target data at the time when the recovery request is received, when a recovery request to return the state of the application to a specific time is received; and a step of returning the state of the application to the specific time by applying the recovery function to the target data.

Inventors

  • 김성원
  • 송효종

Assignees

  • 네이버 주식회사

Dates

Publication Date
20260512
Application Date
20241105

Claims (10)

  1. In a method for recovering data of an application performed by a processor within a computing device, When a change in data resulting from the execution of the above application is detected, a step of generating history information by recording the data at the time of detection when the change was detected; When a recovery request to restore the state of the above application to a specific point in time is received, a step of extracting target data corresponding to the specific point in time from the history information, comparing the target data with the target data at the time when the recovery request was received, and generating a recovery function to obtain the target data from the target data; and A data recovery method comprising the step of applying the recovery function to the target data to restore the state of the application to the specific point in time.
  2. In claim 1, the step of generating the history information A data recovery method that checks whether duplicate data exists by comparing with history information from the previous detection point, and if the duplicate data exists, generates the history information by recording reference information corresponding to the storage location of the duplicate data in place of the duplicate data.
  3. In claim 1, the step of generating the recovery function A step of generating a target tree and a target tree in the form of a corresponding tree structure from the above target data and target data; A step of extracting change information by comparing the above target tree and goal tree; and A data recovery method further comprising the step of generating the recovery function corresponding to the change information using at least one of the types of predefined operations.
  4. In paragraph 3, the step of generating the recovery function A data recovery method comprising generating the recovery function by including at least one of an insert operation to add new data to the target data, a delete operation to remove deleted data from the target data, and a replace operation to replace the data to be modified within the target data with the modified data.
  5. In paragraph 3, The above application is a document editor, and The above tree structure is A data recovery method in which documents generated in the above document editor are classified and generated according to a pre-set hierarchical structure.
  6. In paragraph 3, the above change information A data recovery method comprising hierarchical location information within the target tree where a difference exists between the target tree and the target tree, and change target data within the target tree corresponding to the difference.
  7. In paragraph 6, the step of generating the above recovery function A data recovery method comprising: a type of operation applied to the target tree; hierarchical location information within the target tree to which the operation is applied; and specifying the target data to be changed applied in the target tree through the operation to generate the recovery function.
  8. In paragraph 7, the above-mentioned reversing step A data recovery method comprising applying the recovery function to the target tree to change it to match the target tree, and using the data transformed from the changed target tree to restore the state of the application to the specific point in time.
  9. A computer program stored on a medium to perform a data recovery method of any one of claims 1 to 8 in combination with hardware.
  10. The invention relates to a computing device comprising a processor and performing data recovery of an application, The above processor is, When a change in data resulting from the execution of the above application is detected, the data at the time of detection when the change is detected is recorded to generate history information; When a recovery request to restore the state of the above application to a specific point in time is received, the target data corresponding to the specific point in time is extracted from the history information, and the target data is compared with the target data at the time when the recovery request was received, and a recovery function is generated to obtain the target data from the target data; and A computing device that performs the following, including applying the recovery function to the target data to restore the state of the application to the specific point in time.

Description

Data recovery method and computing apparatus using the same The present invention relates to a data recovery method capable of recovering or reverting data of an application running within a computing device to a specific point in time, and a computing device utilizing the same. Applications such as document editors can support undo and redo functions to reverse user input. In other words, by saving data whenever a change occurs in the application's data, the application's state can be restored to a desired point in time. Conventionally, a snapshot method that stores all data at each point in time, or an event sourcing method that stores each operation applied to each data instead of storing all data, was utilized. However, the snapshot method can lead to significant memory consumption because it requires saving the entire application's data at each point in time. Additionally, since a large amount of data processing is required when performing undo or redo operations, there are issues such as long processing times. Furthermore, in the case of event sourcing, it is necessary to perform the inverse operation of a stored operation relative to the current point in time, or to re-execute all operations from the beginning up to a desired point in time. However, this presents the inconvenience of having to pre-define the inverse operation for every operation, and re-executing operations from the beginning up to a desired point in time leads to problems such as increased computational load and consequently longer processing times. FIG. 1 is a block diagram showing a computing device according to one embodiment of the present invention. FIG. 2 is an exemplary diagram showing history information according to one embodiment of the present invention. FIG. 3 is a schematic diagram illustrating the generation of a recovery function of a computing device according to one embodiment of the present invention. FIG. 4 is an exemplary diagram showing a document editor executed on a computing device according to one embodiment of the present invention. FIG. 5 is source code representing target data according to one embodiment of the present invention. FIG. 6 is source code representing a target tree in which target data is converted into a tree structure according to an embodiment of the present invention. FIGS. 7 and 8 are exemplary diagrams illustrating the creation of a recovery function that performs an insertion operation according to an embodiment of the present invention. FIGS. 9 and FIGS. 10 are exemplary diagrams illustrating the creation of a recovery function that performs a deletion operation according to an embodiment of the present invention. FIG. 11 is an exemplary diagram illustrating the creation of a recovery function that performs a substitution operation according to an embodiment of the present invention. FIG. 12 is a block diagram illustrating a computing environment suitable for use in exemplary embodiments of the present invention. FIGS. 13 and FIGS. 14 are flowcharts illustrating a data recovery method according to an embodiment of the present invention. Hereinafter, embodiments disclosed in this specification will be described in detail with reference to the attached drawings. Identical or similar components regardless of drawing symbols will be assigned the same reference number, and redundant descriptions thereof will be omitted. The suffixes "module" and "part" for components used in the following description are assigned or used interchangeably solely for the ease of drafting the specification and do not inherently possess distinct meanings or roles. That is, the term "part" used in this invention refers to a hardware component such as software, FPGA, or ASIC, and the "part" performs certain roles. However, the meaning of "part" is not limited to software or hardware. The "part" may be configured to reside in an addressable storage medium or may be configured to run one or more processors. Accordingly, as an example, a 'part' includes components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or further separated into additional components and 'parts'. In addition, when describing the embodiments disclosed in this specification, if it is determined that a detailed description of related prior art may obscure the essence of the embodiments disclosed in this specification, such detailed description is omitted. Furthermore, the attached drawings are intended only to facilitate understanding of the embodiments disclosed in this specification, and the technical concept disclosed in this specification is not limited by the atta