Non-disruptive backup methods and systems for deleted datasets
A method for creating non-disruptive backup copies of deleted files by associating a deleted dataset record, freeing space, and writing to a temporary pool, addresses the inefficiencies of existing backup methods, ensuring immediate reuse and up-to-date backups.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- INTERNATIONAL BUSINESS MACHINE CORPORATION
- Filing Date
- 2024-03-27
- Publication Date
- 2026-06-02
AI Technical Summary
Existing methods for data backup and restore processes fail to effectively address the issues of existing data backup and restore processes fail to effectively address the issues of existing data backup and restore processes fail to effectively address the issues of existing data backup and restore processes.
A method and system for creating a backup copy of a deleted file by associating a deleted dataset record, removing the file from the catalog, freeing physical space, and writing the file to a temporary pool space, creating a file-level backup copy based on the deleted dataset record, and deleting the temporary file and record.
Enables non-disruptive backup of deleted files without occupying physical space, ensuring immediate availability for reuse and maintaining up-to-date backup copies.
Smart Images

Figure 2026517664000001_ABST
Abstract
Description
Background Art
[0001] The present invention relates to a deletion methodology. More specifically, the present invention relates to generating a non-stop backup copy of a deleted file without maintaining the physical space of the deleted dataset after deletion.
[0002] There are various soft deletion methodologies for saving files after deletion. For example, as one technique, the file and its contents are maintained as if stored on a physical medium, and the location in the catalog is moved from primary to secondary "trash can". The drawback of this solution is that the physical space is not immediately freed, and subsequent actions are required to actually free the physical space for reuse. For example, soft deletion does not immediately free space for reuse. In a mainframe environment, since users manage unused space very closely with consumed space, if users rely on soft deletion to finally free space, they will quickly run out of storage space.
[0003] Another technique is to hold the file and its contents for a sufficient period to create a backup copy. Currently, backup copies of data can be selected at a certain point at the file level, which is involved in backing up individual files. Alternatively, and / or additionally, the backup can occur at the volume level with a system that identifies datasets on the volume level backup. However, the drawback is that the space is not immediately freed for use before deletion. These techniques are particularly troublesome when deletion is performed to create free space immediately.
[0004] Another solution involves IBM Safeguarded Copy, which creates frequent, incremental, non-disruptive, enterprise-level backup copies of the entire environment. Safeguarded Copy allows for backup copies every one to two weeks. For example, a client can create enterprise-wide snapshots at any given interval, such as every two hours, three hours, four hours, or once a day. Thus, a duplication of backups between individual files and enterprise-wide backups (including individual files) can exist. Backups of individual files can be replaced by enterprise-wide backup copies (e.g., Safeguarded Copy).
[0005] However, one drawback of enterprise copies is that these backups are extremely expensive. The number of enterprise copies is limited to a period that can be extended indefinitely. This is because the cost of large enterprise copies in storage is too high. For example, in a typical setup, a client might store two weeks' worth of safeguard copies of the entire enterprise and then migrate the entire safeguard copy to tape, a lower-cost media cloud, etc. However, storing backup copies of the entire enterprise indefinitely is prohibitively expensive.
[0006] Therefore, since it's impossible to know what files might be deleted, ideally all file-level backups should be stored indefinitely. These copies can also be offloaded to tape for even longer storage. If a file is unintentionally deleted, it can be restored from one of these copies. However, because these copies are so large, even tape copies can only be maintained for a relatively short time. Maintaining these series for an "unlimited" period to ensure that all deleted files can be recovered is not practical. Also, the files may have been modified between the time the safeguard copy was created and the time the files were deleted. [Overview of the project]
[0007] A computer implementation method according to one embodiment for creating a backup copy of a deleted file based on a previous backup copy of the file to be deleted comprises the steps of creating a deleted dataset record associated with the file in relation to the deletion of the file, the file including a file dataset. The file dataset is removed from a catalog containing the file dataset. The method comprises the steps of freeing the physical space associated with the file dataset, extracting the file from the latest backup copy, and writing the file to a temporary file in a predefined pool space. The file-level backup copy is created in the temporary file based on the deleted dataset record, and the temporary file and the deleted dataset record are deleted.
[0008] A computer program product according to another embodiment includes a computer-readable storage medium on which program instructions are embodied. The program instructions are computer-readable and / or executable so as to cause the computer to perform the method described above.
[0009] A system according to another embodiment includes a processor and integrated logic that is executable by the processor or integrated with and executable by the processor. The logic is configured to perform the method described above.
[0010] Other aspects and embodiments of the present invention will become apparent from the following detailed description, which illustrates the principles of the present invention as an example, when interpreted in conjunction with the drawings. [Brief explanation of the drawing]
[0011] [Figure 1] This figure shows a diagram of a computing environment according to one embodiment of the present invention.
[0012] [Figure 2] This figure shows a diagram of a hierarchical data storage system according to one embodiment of the present invention.
[0013] [Figure 3] This figure shows a flowchart of the method according to one embodiment of the present invention. [Modes for carrying out the invention]
[0014] The following description is provided for illustrative purposes only to illustrate the general principles of the present invention and is not intended to limit the concepts of the invention claimed herein. Furthermore, certain features described herein can be used in combination with other described features in each of the various possible combinations and substitutions.
[0015] Unless otherwise specifically defined herein, all terms shall be given the broadest possible interpretation, including the meaning implied by the specification, the meaning understood by those skilled in the art, and / or the meaning defined in dictionaries, papers, etc.
[0016] When used herein and in the appended patent claims, it should be noted that the singular forms “a,” “an,” and “the” also include plural nouns unless otherwise specified. When used herein, the terms “comprises” and / or “comprising” specify the presence of the described features, integers, stages, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, stages, operations, elements, components, and / or groups thereof.
[0017] The following description discloses several preferred embodiments of systems, methods, and computer program products for deletion methodologies that generate non-disruptive backup copies of deleted files without maintaining the physical space of the deleted dataset after deletion.
[0018] In a typical embodiment, a computer implementation method for creating a backup copy of a deleted file based on a previous backup copy of the file to be deleted comprises the steps of creating a deleted dataset record associated with the file in relation to the deletion of the file, the file including a file dataset. The file dataset is removed from a catalog containing the file dataset. The method comprises the steps of freeing the physical space associated with the file dataset, extracting the file from the most recent backup copy, and writing the file to a temporary file in a predefined pool space. The file-level backup copy is created in the temporary file based on the deleted dataset record, and the temporary file and the deleted dataset record are deleted.
[0019] In another common embodiment, a computer program product includes a computer-readable storage medium on which program instructions are embodied. The program instructions are made computer-readable and / or executable so that the computer can perform the actions described above.
[0020] In another general embodiment, the system includes a processor and logic integrated with the processor, executable by the processor, or integrated with the processor and executable by the processor. The logic is configured to perform the methods described above.
[0021] Various aspects of this disclosure are described by explanatory text, flowcharts, block diagrams of computer systems, and / or block diagrams of mechanical logic included in embodiments of computer program products (CPPs). With respect to any flowchart, depending on the technology involved, operations may be performed in a different order than those shown in a given flowchart. For example, again depending on the technology involved, two operations shown in consecutive flowchart blocks may be performed in reverse order, as a single integrated stage, simultaneously, or with at least partial time overlap.
[0022] Embodiments of a computer program product ("CPP Embodiment" or "CPP") are terms used in this disclosure to describe any set of one or more storage media ("mediums") that are collectively comprised of one or more storage devices that collectively contain machine-readable code corresponding to instructions and / or data for performing computer operations specified in a given CPP claim. "Storage device" is any tangible device capable of holding and storing instructions for use by a computer processor. Computer-readable storage media may, but are not limited to, electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, mechanical storage media, or any preferred combination thereof. Some known types of storage devices, including these media, include diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices (such as pits / lands formed on the main surface of a punch card or disk), or any suitable combination of those described above. When the term "computer-readable storage medium" is used in this disclosure, it shall not be interpreted as storage in the form of a transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, optical pulses passing through optical fiber cables, electrical signals communicated through wires, and / or other transmission media.As those skilled in the art will understand, data is typically moved at several intermittent points during the normal operation of a storage device, such as during access, defragmentation, or garbage collection; however, data is not transient while it is stored, and therefore the storage device is not transient.
[0023] The computing environment 100 includes an example of an environment for executing at least a portion of the computer code involved in performing the method of the present invention, such as a migration plan generation module for block 150 for migrating write data between caches of different storage systems according to a data migration plan in order to prevent cache overdrive. In addition to block 150, the computing environment 100 includes, for example, a computer 101, a wide area network (WAN) 102, an end-user device (EUD) 103, a remote server 104, a public cloud 105, and a private cloud 106. In this embodiment, the computer 101 includes a processor set 110 (including processing circuits 120 and a cache 121), a communication fabric 111, volatile memory 112, persistent storage 113 (including an operating system 122 and block 150 as shown above), a peripheral device set 114 (including a user interface (UI) device set 123, storage 124, and an Internet of Things (IoT) sensor set 125), and a network module 115. The remote server 104 includes a remote database 130. The public cloud 105 includes a gateway 140, a cloud orchestration module 141, a host physical machine set 142, a virtual machine set 143, and a container set 144.
[0024] Computer 101 can take the form of a desktop computer, laptop computer, tablet computer, smartphone, smartwatch, or other wearable computer, mainframe computer, quantum computer, or any other form of computer or mobile device known currently or to be developed in the future that can execute a program, access a network, or query a database such as remote database 130. As is well understood in the field of computer technology and depending on the technology, the execution of a computer implementation method can be distributed among multiple computers and / or multiple locations. On the other hand, in this presentation regarding computing environment 100, for the sake of keeping the presentation as concise as possible, the detailed discussion focuses on a single computer, specifically computer 101. Computer 101 may be located within the cloud even if not shown in the cloud of FIG. 1. On the other hand, computer 101 is not required to exist within the cloud except within any range that can be affirmatively shown.
[0025] Processor set 110 includes one or more computer processors of any type known currently or to be developed in the future. Processing circuit 120 may be distributed across multiple packages, e.g., multiple coordinated integrated circuit chips. Processing circuit 120 may implement multiple processor threads and / or multiple processor cores. Cache 121 is a memory located within the processor chip package and is typically used for data or code that should be available for fast access by threads or cores executing on processor set 110. Cache memory is typically organized into multiple levels depending on its relative proximity to the processing circuit. Alternatively, some or all of the cache for the processor set may be located "off-chip". In some computing environments, processor set 110 may be designed to operate using qubits and execute quantum computing.
[0026] Computer-readable program instructions are typically loaded onto computer 101 and executed by a set of processors 110 of computer 101 through a series of operational steps, thereby enabling a computer-implemented method. As a result, the instructions thus executed will instantiate the method (collectively referred to as "the method of the present invention") specified in the flowchart and / or the description of the computer-implemented method included in this document. These computer-readable program instructions are stored in various types of computer-readable storage media, such as cache 121 and other storage media discussed below. The program instructions and associated data are accessed by the set of processors 110 to control and direct the execution of the method of the present invention. In computing environment 100, at least a portion of the instructions for executing the method of the present invention may be stored in block 150 of persistent storage 113.
[0027] Communication fabric 111 is a signal conduction path that enables various components of computer 101 to communicate with each other. Usually, this fabric is composed of switches and conductive paths, such as buses, bridges, physical input / output ports, and switches and conductive paths that make up similar components. Other types of signal communication paths, such as optical fiber communication paths and / or wireless communication paths, may be used.
[0028] Volatile memory 112 is any type of volatile memory, either currently known or to be developed in the future. Examples include dynamic type random access memory (RAM) or static type RAM. Typically, volatile memory 112 is characterized by random access, although this is not required unless affirmatively indicated. In computer 101, volatile memory 112 is located within a single package and exists inside computer 101. Alternatively or in addition, volatile memory may be distributed across multiple packages and / or located externally to computer 101.
[0029] The persistent storage 113 is any form of non-volatile storage for a computer, currently known or to be developed in the future. The non-volatility of this storage means that the stored data is maintained whether or not power is directly supplied to the computer 101 and / or the persistent storage 113. The persistent storage 113 may be read-only memory (ROM), but typically at least a portion of the persistent storage allows for writing, deleting, and rewriting of data. Some well-known forms of persistent storage include magnetic disks and solid-state storage devices. The operating system 122 may take several forms, such as various known proprietary operating systems or open-source portable operating system interface (CSI) type operating systems employing a kernel. The code contained in block 150 typically includes at least a portion of computer code involved in performing the method of the present invention.
[0030] The peripheral device set 114 includes a set of peripheral devices of the computer 101. Data communication connections between the peripheral devices of the computer 101 and other components may be implemented in various ways, such as Bluetooth connections, Near-Field Communication (NFC) connections, connections made by cables (such as universal serial bus (USB) type cables), insert-type connections (e.g., secure digital (SD) cards), connections made via local area communication networks, and even connections made via wide area networks such as the internet. In various embodiments, the UI device set 123 may include multiple components, such as a display screen, speaker, microphone, wearable devices (such as goggles and smartwatches), keyboard, mouse, printer, touchpad, game controller, and haptic device. Storage 124 is external storage such as an external hard drive, or insertable storage such as an SD card. Storage 124 may be persistent and / or volatile. In some embodiments, storage 124 may take the form of a quantum computing memory device for storing data in the form of qubits. In embodiments where computer 101 is required to have a large amount of storage (for example, computer 101 locally stores and manages a large database), this storage may be provided by peripheral storage devices designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. The IoT sensor set 125 consists of sensors that can be used in Internet of Things applications. For example, one sensor may be a thermometer and another may be a motion detector.
[0031] The network module 115 is a collection of computer software, hardware, and firmware that enables computer 101 to communicate with other computers via the WAN 102. The network module 115 may include hardware such as a modem or Wi-Fi signal transceiver, software for packetizing and / or depacketizing data for transmission over a communication network, and / or web browser software for communicating data over the internet. In some embodiments, the network control and network forwarding functions of the network module 115 are performed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing software-defined networking (SDN)), the control and forwarding functions of the network module 115 are performed on physically separate devices, such that the control function manages several different network hardware devices. Computer-readable program instructions for performing the method of the present invention can typically be downloaded from an external computer or external storage device to computer 101 through a network adapter card or network interface included in the network module 115.
[0032] WAN102 is any wide area network (e.g., the Internet) that can transmit computer data over non-local distances using any currently known or future-developed technology for transmitting computer data. In some embodiments, WAN102 may be replaced and / or supplemented by a local area network (LAN), such as a Wi-Fi network, designed to transmit data between devices located in a local area. WANs and / or LANs typically include computer hardware such as copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and edge servers.
[0033] The end-user device (EUD) 103 is any computer system used and controlled by an end-user (e.g., an enterprise customer operating computer 101) and can take any of the forms discussed above in relation to computer 101. Typically, EUD 103 receives useful and valuable data from the operation of computer 101. For example, in a hypothetical case where computer 101 is designed to provide recommendations to the end-user, these recommendations would typically be communicated from the network module 115 of computer 101 to EUD 103 via WAN 102. In this way, EUD 103 can display or otherwise present the recommendations to the end-user. In some embodiments, EUD 103 may be a client device such as a thin client, heavy client, mainframe computer, or desktop computer.
[0034] The remote server 104 is any computer system that provides at least some data and / or functions to computer 101. The remote server 104 may be controlled and used by the same entity that operates computer 101. The remote server 104 represents a machine that collects and stores useful and valuable data for use by other computers, such as computer 101. For example, in the hypothetical case where computer 101 is designed and programmed to provide recommendations based on historical data, this historical data may be provided to computer 101 from the remote database 130 of the remote server 104.
[0035] The public cloud 105 is any computer system available for use by multiple entities, providing on-demand availability of computer system resources and / or other computer functions, particularly data storage (cloud storage) and computing power, without direct active management by the user. Cloud computing typically leverages resource sharing to achieve coherence and economies of scale. Direct active management of the computing resources of the public cloud 105 is performed by the computer hardware and / or software of the cloud orchestration module 141. The computing resources provided by the public cloud 105 are typically implemented by virtual computing environments running on various computers that make up the computers of the host physical machine set 142, which is the universe of physical computers available in and / or to the public cloud 105. The virtual computing environment (VCE) typically takes the form of virtual machines from the virtual machine set 143 and / or containers from the container set 144. These VCEs may be stored as images and are understood to be transportable either as images or after instantiation of the VCEs, among and between various physical machine hosts. The cloud orchestration module 141 manages the transfer and storage of images, deploys new VCE instances, and manages active instances of the VCE deployment. The gateway 140 is a collection of computer software, hardware, and firmware that enables the public cloud 105 to communicate over the WAN 102.
[0036] Here, some further explanation of virtualized computing environments (VCEs) is provided. A VCE can be stored as an "image." A new active instance of a VCE can be instantiated from an image. Two well-known types of VCEs are virtual machines and containers. A container is a VCE that uses operating system-level virtualization. This refers to an operating system feature where the kernel allows for the existence of multiple isolated user-space instances called containers. These isolated user-space instances typically behave like actual computers in terms of the programs running within them. Computer programs running on a normal operating system can utilize all of that computer's resources, including connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running inside a container can only use the contents of the container and the devices allocated to the container; this feature is known as containerization.
[0037] The private cloud 106 is similar to the public cloud 105, except that its computing resources are available only for use by a single enterprise. While the private cloud 106 is shown as communicating with the WAN 102, in other embodiments, the private cloud may be completely isolated from the internet and accessible only via a local / private network. A hybrid cloud is a combination of multiple clouds of different types (e.g., private, community, or public cloud types), often implemented by different vendors. Each of the multiple clouds remains a separate discrete entity, but the larger hybrid cloud architecture is coupled by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between the multiple configuration clouds. In this embodiment, both the public cloud 105 and the private cloud 106 are part of a larger hybrid cloud.
[0038] In some embodiments, systems according to various embodiments may include a processor and logic integrated into and / or executable by the processor, the logic configured to perform one or more of the process stages mentioned herein. The processor may be any configuration as described herein, such as a discrete processor or processing circuit, including many components such as processing hardware, memory, I / O interfaces, etc. To be integrated means that the logic is embedded in the processor as hardware logic, such as an application-specific integrated circuit (ASIC), FPGA, etc. To be executable by the processor means that the logic is hardware logic, software logic such as firmware, parts of an operating system, parts of an application program, etc., or any combination of hardware and software logic that is accessible by the processor and configured to cause the processor to perform certain functions when executed by the processor. As known in the art, software logic may be stored in local and / or remote memory of any memory type. Software processor modules and / or any processor known in the art, such as hardware processors such as ASICs, FPGAs, central processing units (CPUs), integrated circuits (ICs), graphics processing units (GPUs), etc., may also be used.
[0039] Referring here to Figure 2, a storage system 200 according to one embodiment is shown. Note that some of the elements shown in Figure 2 can be implemented as hardware, software, or both in various embodiments. The storage system 200 may include a storage system manager 212 for communicating with multiple media and / or drives on at least one upper storage layer 202 and at least one lower storage layer 206. The upper storage layer 202 may preferably include one or more random access or direct access media 204, examples of which include hard disks in hard disk drives (HDDs), non-volatile memory (NVM), solid-state memory in solid-state drives (SSDs), flash memory, SSD arrays, flash memory arrays, or others described herein or known in the art, or combinations thereof. The lower storage layer 206 may preferably include one or more lower-performance storage media 208, which include sequential access media such as magnetic tape or optical media of tape drives or combinations thereof, slow access HDDs, slow access SSDs, or other such media described herein or known in the art, or combinations thereof. One or more additional storage layers 216 may include any combination of storage memory media as desired by the designer of the system 200. In addition, either the upper storage layer 202 or the lower storage layer 206 or any combination thereof may include any combination of storage devices and / or storage media.
[0040] The storage system manager 212 may communicate with drives and / or storage media 204, 208 on the upper storage layer 202 and lower storage layer 206 through a network 210 such as a storage area network (SAN) as shown in Figure 2, or any other suitable network type. The storage system manager 212 may also communicate with one or more host systems (not shown) via a host interface 214, which may or may not be part of the storage system manager 212. The storage system manager 212, or any other component of the storage system 200, or any combination thereof, may be implemented in hardware, software, or a combination thereof, and may use processors (not shown), such as a central processing unit (CPU), field-programmable gate array (FPGA), or application-specific integrated circuit (ASIC), to execute commands of the kind known in the art. Of course, any configuration of storage system may be used, as will be apparent to those skilled in the art by reading this specification.
[0041] In further embodiments, the storage system 200 may include any number of data storage layers, and each storage layer may include the same or different storage memory media. For example, each data storage layer may include the same type of storage memory media, such as HDDs, SSDs, sequential access media (tapes in tape drives, optical discs in optical disc drives, etc.), direct access media (CD-ROMs, DVD-ROMs, etc.), or any combination of media storage types. In one such configuration, the upper storage layer 202 may include most of the SSD storage media for storing data in a higher-performance storage environment, while the remaining storage layers, including the lower storage layer 206 and an additional storage layer 216, may include any combination of SSDs, HDDs, tape drives, etc., for storing data in a lower-performance storage environment. Thus, data that is accessed more frequently, data with higher priority, data that needs to be accessed more quickly, etc., may be stored in the upper storage layer 202, while data that does not possess any of these attributes may be stored in the additional storage layer 216 (including the lower storage layer 206). Naturally, those skilled in the art, upon reading this description, can devise many other combinations of storage medium types for implementation in different storage schemes using the embodiments described herein.
[0042] According to some embodiments, the storage system (such as 200) may include logic configured to receive requests to open a dataset, logic configured to determine whether the requested dataset is stored in the lower storage layer 206 of the hierarchical data storage system 200 in multiple associated parts, logic configured to move each associated part of the requested dataset to the upper storage layer 202 of the hierarchical data storage system 200, and logic configured to collect the requested dataset from its associated parts and consolidate them on the upper storage layer 202 of the hierarchical data storage system 200.
[0043] Naturally, this logic can be implemented in various embodiments as a method on any device or system, or both, or as a computer program product.
[0044] As described herein, the system and method overcome the problems of conventional backup and restore processes. The problem with enterprise-level backup copies is that deleted files are not captured in the backup, and the datasets associated with the files are removed upon deletion and are not included in the enterprise-level copy. What is desired is to explicitly create backups of deleted datasets without interruption. The methodology described herein makes it possible to create backups of deleted files in a non-disruptive (e.g., non-disruptive) manner.
[0045] Referring now to Figure 3, a flowchart of Method 300 according to one embodiment is shown. Method 300 can be carried out according to the present invention in various embodiments, particularly in any of the environments depicted in Figures 1 and 2. Naturally, as will be understood by those skilled in the art who read this specification, Method 300 may include more or fewer operations than those specifically described in Figure 3.
[0046] Each step of Method 300 may be performed by any suitable component of the operating environment. For example, in various embodiments, Method 300 may be performed in part or in whole by a computer, or several other devices having one or more processors therein. Processors, e.g., processing circuits, chips, and / or modules, implemented in hardware and / or software and preferably having at least one hardware component, may be used in any device to perform one or more steps of Method 300. Exemplary processors include, but are not limited to, central processing units (CPUs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), combinations thereof, or any other suitable computing devices known in the art.
[0047] Method 300 enables the creation of a backup copy of a deleted file dataset in response to the deletion of a dataset, where the backup copy of the deleted file dataset is based on a previous backup copy of the file to be deleted according to one embodiment. Method 300 begins with operation 302, which creates a deleted dataset record associated with the file deletion in response to the deletion of a file, for example, in response to the deletion of a file, such as in response to the receipt of a request to delete data. The file contains a file dataset. The selection of files to be deleted can be done with a soft delete command. The deleted dataset record includes metadata, including the name of the file and the logical volume in which the file was stored (e.g., existed) at the time the file was deleted.
[0048] Following the creation of a dataset record of the deleted files, operation 304 includes removing the file dataset from the catalog containing the file dataset. The catalog includes a historical inventory of the logical volumes where the file dataset was located. In some approaches, the location of the file dataset may have moved since the most recent enterprise-level backup. In response to the determination that the primary volume associated with the file and the secondary volume associated with the enterprise-level backup copy at the time the file was selected to be deleted are different, the historical inventory is accessed to determine the location of the deleted fileset on the enterprise-level backup copy.
[0049] In some approaches, a file may reside on different logical volumes from the time it was deleted to the time of the most recent enterprise-level backup copy. In this case, accessing the historical inventory of the logical volumes where the dataset resides over time is used to determine where the dataset is located at the time of the enterprise-level backup copy. For example, at the time the enterprise-level backup copy was created, the file was located on logical volume A, then reorganized and moved to logical volume B, and subsequently deleted. However, the file captured at the time of deletion indicates that the file is on logical volume B, but the most recent enterprise-level backup copy places the file on logical volume A, so the file is not on logical volume B in the enterprise-level backup copy. Therefore, the historical catalog is accessed to determine the location of the dataset at the time of the most recent enterprise-level backup copy.
[0050] Operation 306 includes freeing up the physical space associated with the file dataset. The space occupied by the previously deleted file is now available for data processing. However, in conventional processes where soft deletion of a file may involve creating an immediate backup, the space for this backup action is often limited, and storage for creating the backup is inaccessible. As described herein, method 300 preferably occurs asynchronously with the ongoing process and therefore does not require extra space and / or storage for the process of creating a backup of the deleted file. In various approaches, the backup of a deleted file can be performed non-disruptively. Non-disruptive means that the backup process does not affect the flow of production at all. The backup process is an asynchronous process that does not affect the primary flow of data processing. For example, the backup process of a deleted file runs independently of the main processing system of the ongoing process.
[0051] Operation 308 includes extracting files from the most recent backup copy and writing the files to temporary files in a predefined pool space. In one approach, the most recent backup copy may be an enterprise-level backup copy containing the files. The method can leverage the capabilities of the enterprise-level backup copy to generate non-disruptive backup copies of deleted files without requiring access to the physical space of the deleted dataset. After a file is deleted, the physical space of the deleted dataset is not maintained and becomes immediately available for reuse. For example, when a file is deleted, the method is triggered to access the system's enterprise-level copy to copy the deleted file that had been backed up within the most recent period. Thus, the space occupied by the deleted file is immediately freed and can be reused for another file. In one example, it should be noted that a method of creating backups of individual files using an enterprise-level backup copy may not capture the latest version of the dataset. Combining immediate copying with the methods described herein can ensure that backup copies are absolutely up-to-date and that free space is available when needed, thus ensuring a balance.
[0052] In some approaches, when a file is deleted, the system can immediately extract the file to a temporary file from the most recent enterprise-level backup copy, creating a dataset record. In other approaches, the system can extract the file to a temporary file from the most recent enterprise-level backup copy at a defined point in time, such as a backup window. For example, regularly checking for free space can determine when an immediate backup is needed. Alternatively, backups can be delayed to a specific time window. In one approach, the system could include instructions to create backup copies of deleted datasets, deleted files, etc., at a specific time, such as in the evening or at the end of the day, to satisfy a policy-based instruction for deleted files. For example, every night at midnight, deleted datasets are restored from the most recent enterprise-level backup copy, according to a file-related policy that includes an instruction to create a backup copy of the deleted dataset. These approaches can be used to strike a balance between the methods described and the ability to perform immediate backups that retain space for longer periods.
[0053] If there is a predefined pool space used for these temporary files, it is easiest to perform operation 308, which involves extracting files from the latest backup copy and writing the files to temporary files. The predefined pool space may be associated with multiple temporary files. A temporary buffer pool may be created for the purpose of creating temporary files from a specific dataset restored from an enterprise-level backup copy. The defined pool space (e.g., a dedicated cache, dedicated pool storage) may be created during the deletion process. As soon as a backup file is created from the temporary file, the temporary file is deleted. The defined pool space is sufficient to accommodate a certain number of processes, including creating temporary files from the restored dataset, creating backup copies from the temporary file, and deleting the temporary file and the restored dataset.
[0054] An enterprise-level backup copy is a physical copy of the enterprise, like a snapshot at the physical storage level, but it does not provide instructions on where files are located within the enterprise. Therefore, to pinpoint and restore a deleted dataset from an enterprise-level backup copy, it is necessary to provide the physical location on the physical storage and retrieve the data from that location. The data file record created for the deleted file includes metadata such as the file name and logical volume, which serve as instructions on where the file was stored at the time of deletion, allowing the data to be retrieved from the specified location on the enterprise-level backup copy. For example, the name and metadata enable the reconstruction of data from the enterprise-level backup copy for restoration, creating a backup copy of the file.
[0055] Operation 310 includes creating a file-level backup copy of a temporary file based on the deleted dataset record. The file-level backup copy is an explicit backup copy of the deleted dataset. Explicit backup copies may be stored indefinitely (e.g., permanently). Preferably, the file-level backup of the temporary file uses the original file name and is created at the same backup date / time as the most recent enterprise-level backup was created.
[0056] Individual file-level backup copies may have a unique policy defined for them. A policy can specify how long the backup copy should be kept, for example, two weeks, one month, or one year. A policy can also specify that the backup copy should be kept forever. For example, a subset of file backups might have a policy marked as "never expire."
[0057] A backup copy of a deleted file may be an explicit backup copy of the dataset after the enterprise copy was created. For example, if a file is unexpectedly deleted and the enterprise-level backup process has already taken a snapshot backup, the deleted file can be restored because a backup copy of the file was created at the time of deletion. The method involves restoring the dataset of the deleted file from the enterprise-level copy to a new temporary name. A backup copy of the restored dataset with a temporary name is created and assigned the original name of the file, the date and time of the enterprise-level copy (from which the dataset was taken). The backup copy is an explicit backup copy of the now deleted dataset, and the backup copy has the date and time of the enterprise-level copy that is the actual time the backup was created (for example, not the date and time of deletion, nor the date and time the temporary file was created, etc.).
[0058] Following the creation of a file-level backup copy of the deleted dataset record, operation 312 of method 300 includes deleting temporary files and the deleted dataset record. This process occurs in a predefined pool space to enable the creation of a file-level backup copy of the deleted dataset without affecting data processing on the system where the file dataset resides before deletion.
[0059] In some approaches, file-level backup copies may be sent off-premises. Off-premises can be defined as a file location outside the standard product site where the computing enterprise is located. This could be a private, public, third-party storage facility, or the cloud. In some approaches, file-level backup copies may remain on-premises. On-premises can be defined as a file location within the standard product site where the computing enterprise is located. This could be a private site, a public site, or a third-party site. Creating individual file-level backups of datasets deleted from enterprise-level backup copies ensures that these datasets can be restored even after all enterprise-level backup copies have expired. In other words, enterprise-level backup copies eventually expire because they have a limited amount of storage capacity available to store them. Backups of individual files of deleted data, on the other hand, can be stored indefinitely, according to the associated policy of the backup files.
[0060] Backup copies of deleted datasets, deleted files, etc., can typically be stored in the same way that system backup copies are stored. Newly created backup copies of deleted datasets preferably have similar backup characteristics to backup copies of individual files in the specified storage. The creation of backup datasets of deleted files can be carried out in parallel with ongoing processes, such as backing up individual files, so that backup datasets from deleted files are stored sequentially, according to policy, alongside backup copies of the individual files. Each newly created backup copy may be listed as an "additional" backup copy, identified by the date of the enterprise-level backup copy from which the dataset was taken.
[0061] One approach, the method described herein, provides cyber protection against adverse actions such as malicious attackers deleting datasets by identifying deleted datasets from the latest copy of an enterprise-level backup copy and backing up the deleted datasets.
[0062] When data is active, it is captured in an enterprise-level backup copy, but as soon as the data is deleted, it is no longer captured in an enterprise-level backup copy. Rather, the data is not present in the next enterprise-level backup copy captured after the data is deleted. The method described herein preferably includes a file-associated policy that, as soon as the file is deleted, points to a backup copy of the file from the most recent enterprise-level backup copy up to the point of deletion. The file backup policy can be mapped to the file, dataset, etc., when the file, dataset, etc., is created. The system creates an explicit policy-based backup copy of the deleted dataset, which is stored for the policy-based time.
[0063] In various approaches, a policy can be defined as a backup policy for any given dataset. For each file, a predefined policy associated with the file may include instructions to implement the methodology described herein to back up the deleted set of files in response to the file being selected for deletion. This method is executed in response to the determination that the file is associated with a predefined policy that defines which files are allowed to be backed up upon its deletion. In some approaches, the policy may include an identifier for each file name, file type, and file location. For example, a file may have a predefined policy that includes instructions to implement a method for creating backups of deleted files upon deletion. The predefined policy may also be a backup policy for any given dataset on a system that has enterprise-level backup copies.
[0064] In some approaches, a file may be open for updates when an enterprise-level backup copy is created. In this case, it is preferable to use the most recent enterprise-level backup copy in which the file was closed. Even then, it is possible to access a historical inventory that shows when the file was opened / closed during the enterprise-level backup.
[0065] It should be clear that the various features of the aforementioned systems or methods, or combinations thereof, can be combined in any way, while creating multiple combinations as described above.
[0066] Furthermore, embodiments of the present invention may be provided in the form of a service deployed on behalf of the customer to provide the service on demand.
[0067] The descriptions of various embodiments of the present invention are presented for illustrative purposes only and are not intended to be comprehensive or limitless to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terms used herein have been selected to best describe the principles of the embodiments, their practical applications, or any technical improvements beyond the technology available on the market, or to enable other those skilled in the art to understand the embodiments disclosed herein.
Claims
1. A computer implementation method for creating a backup copy of a deleted file based on a previous backup copy of the file to be deleted, wherein the computer implementation method is In relation to the deletion of a file, the step of creating a deleted dataset record associated with the file includes a file dataset; A step of removing the file dataset from a catalog that includes the aforementioned file dataset; The step of releasing the physical space associated with the aforementioned file dataset; The step of extracting the file from the latest backup copy and writing the file to a temporary file in a predefined pool space; The steps include creating a file-level backup copy of the temporary file based on the deleted dataset records; and Steps to delete the temporary files and the deleted dataset records. A computer implementation method comprising the following:
2. The computer implementation method according to claim 1, wherein the deleted dataset record has metadata including the name of the file and the logical volume in which the file was stored at the time the file was deleted.
3. The computer implementation method according to claim 2, wherein the method for backing up the deleted file is performed in response to the determination that the file is selected to be deleted and that the file is associated with a predefined policy that defines which files are permitted to be backed up when deleted.
4. The computer implementation method according to claim 3, wherein the predefined policy includes information selected from the group consisting of a file name, one or more file types, and one or more file locations.
5. The computer implementation method according to claim 1, wherein the most recent backup copy is an enterprise-level backup copy containing the files.
6. The computer implementation method according to claim 5, wherein the catalog includes a historical inventory of logical volumes on which the file dataset is located, and in response to determining that the first volume associated with the file and the second volume associated with the enterprise-level backup copy are different at the time the file is selected to be deleted, the computer implementation method accesses the historical inventory to determine the location of the deleted file set on the enterprise-level backup copy.
7. The computer implementation method according to claim 1, wherein the predefined pool space is associated with a plurality of temporary files.
8. The computer implementation method according to claim 1, wherein the method for backing up a deleted dataset does not affect the data processing of the system in which the file dataset exists before deletion.
9. A computer program product comprising a computer-readable storage medium in which program instructions are embodied, wherein the program instructions are readable and / or executable by a computer, The procedure by which the computer creates a deleted dataset record related to the file associated with the deletion of the file, the file includes a file dataset; A procedure by which the computer removes the file dataset from a catalog containing the file dataset; A procedure for the computer to release the physical space associated with the file dataset; A procedure by which the computer extracts the file from the latest backup copy and writes the file to a temporary file in a predefined pool space; A procedure for the computer to create a file-level backup copy of the temporary file based on the deleted dataset record; and Procedure for deleting the temporary files and the deleted dataset records using the aforementioned computer. A computer program product that causes something to happen.
10. The computer program product according to claim 9, wherein the deleted dataset record has metadata including the name of the file and the logical volume in which the file was stored at the time the file was deleted.
11. The computer program product according to claim 10, wherein the method for backing up the deleted file is performed in response to the file being selected to be deleted and the file being determined to be related to a predefined policy that defines which files are permitted to be backed up when deleted.
12. The computer program product according to claim 11, wherein the predefined policy includes information selected from the group consisting of a file name, one or more file types, and one or more file locations.
13. The computer program product according to claim 9, wherein the most recent backup copy is an enterprise-level backup copy containing the files.
14. The computer program product according to claim 13, wherein the catalog includes a historical inventory of logical volumes on which the file dataset is located, and in response to determining that the first volume associated with the file and the second volume associated with the enterprise-level backup copy are different at the time the file is selected to be deleted, accesses the historical inventory to determine the location of the deleted file dataset on the enterprise-level backup copy.
15. The computer program product according to claim 9, wherein the predefined pool space is associated with a plurality of temporary files.
16. The computer program product according to claim 9, wherein the method for backing up a deleted dataset does not affect the data processing of the system in which the file dataset exists before deletion.
17. Processor; and The system comprises logic integrated with the processor, wherein the logic is executable by the processor, or is integrated with the processor and executable by the processor, and the logic is In relation to the deletion of a file, a deleted dataset record associated with the file is created, the file includes a file dataset; Remove the file dataset from the catalog that includes the aforementioned file dataset; Release the physical space associated with the aforementioned file dataset; Extract the file from the latest backup copy and write the file to a temporary file in a predefined pool space; Based on the deleted dataset records, create a file-level backup copy of the temporary file; and Delete the temporary files and the deleted dataset records. It is configured in such a way. A system equipped with these features.
18. The system according to claim 17, wherein the deleted dataset record has metadata including the name of the file and the logical volume in which the file was stored at the time of deletion.
19. The system according to claim 17, wherein the method for backing up the deleted file is performed in response to the file being selected to be deleted and the file being determined to be related to a predefined policy that defines which files are allowed to be backed up when deleted.
20. The system according to claim 17, wherein the most recent backup copy is an enterprise-level backup copy.