An operating system restoration method, a restoration device and a computing device

By using containers to run files from multiple restore points in the operating system, the target restore point is determined, solving the problem of inaccurate restore point selection in existing technologies. This enables fast and efficient operating system restoration, ensuring the system is restored to its original state.

CN114020531BActive Publication Date: 2025-11-28UNIONTECH SOFTWARE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111288545.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-02
Publication Date
2025-11-28
Estimated Expiration
2041-11-02

AI Technical Summary

Technical Problem

In existing operating system restore methods, users cannot directly know whether the restore point can solve the current problem, resulting in a time-consuming restore process and a poor user experience. Furthermore, the restore process may affect normal software and functions.

Method used

By deploying a restore device in the operating system, running files from multiple restore points in containers, judging the execution result of each container to determine the target restore point, and performing a restore based on the target restore point, the impact of overwrite restore on normal software and functions is avoided.

Benefits of technology

It enables rapid and effective repair of operating system problems, ensures the normal operation of all software and functions, improves restoration efficiency, avoids repeated restoration operations, and saves time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114020531B_ABST
    Figure CN114020531B_ABST
Patent Text Reader

Abstract

The application discloses an operating system restoring method, a restoring device and a computing device. The method comprises the following steps: releasing files of one or more restoration points into one or more predetermined directories, wherein each restoration point corresponds to a predetermined directory; running one or more containers corresponding to the one or more restoration points, and mounting the files released by each restoration point to form a root file system of the container, so that each container executes the files released by the corresponding restoration point based on the root file system; determining the execution result of each container, determining a target restoration point according to the execution result of each container; and restoring the operating system based on the files released by the target restoration point. According to the technical scheme of the application, the operating system can be restored to the original state through one-time restoration, so that the current problems of the operating system can be repaired quickly and efficiently.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer and operating system, in particular to an operating system restoration method, a restoration device and a computing device. BACKGROUND

[0002] A computer as a terminal device of an information system, there are usually a large number of file data on the operating system. In order to prevent the system file from being lost or modified accidentally, the operating system itself generally provides a backup and restoration function, or uses third-party software to realize system backup and system restoration.

[0003] System backup is usually performed automatically by the operating system according to the plan or started by the user, and the file stored after the system backup is completed is called a restoration point. Generally, when the system runs for a long time, there may be multiple restoration points in the computer, and when the system needs to be restored due to problems, the system will provide a list of restoration points, and then the user can select a restoration point in the list.

[0004] However, the above-mentioned system restoration point selection method has the following problems: before the user selects the restoration point, the user cannot directly know whether the restoration point has the same problem as the current system, and cannot determine whether the restoration point can solve the problem expected by the user. Once the system restoration is started after the restoration point is selected, a certain amount of time is required for system restoration, and only after the restoration is completed, the user can perform operation judgment. If it does not meet the user's restoration expectations, the user needs to select a new restoration point for system restoration. In this way, a large amount of time will be consumed, resulting in poor user experience.

[0005] In addition, some software or functions existing on the current operating system may not exist in the restoration point or may not run normally. At this time, the user is more expected to rely on the restoration point to repair the problems existing in the current system and avoid the impact of existing normal software and functions caused by the overlay restoration.

[0006] Therefore, an operating system restoration method is needed to solve the problems in the above technical solutions. SUMMARY

[0007] Therefore, the present application provides an operating system restoration method and device to try to solve or at least alleviate the above problems.

[0008] According to an aspect of the present application, there is provided a method for restoring an operating system, comprising the steps of: releasing files of one or more restore points into one or more predetermined directories, wherein each restore point corresponds to a predetermined directory; running one or more containers corresponding to the one or more restore points, and mounting the files released by each restore point to form a root file system of the container, so that each container executes the files released by the corresponding restore point based on the root file system; determining an execution result of each container, determining a target restore point according to the execution result of each container; and restoring the operating system based on the files released by the target restore point.

[0009] Optionally, in the method for restoring an operating system according to the present application, determining a target restore point according to the execution result of each container comprises judging whether the execution result of each container meets a predetermined condition, and if so, determining the restore point corresponding to the container as the target restore point.

[0010] Optionally, in the method for restoring an operating system according to the present application, determining a target restore point according to the execution result of each container comprises determining an optimal execution result by comparing the execution results of the one or more containers, and determining the restore point corresponding to the optimal execution result as the target restore point.

[0011] Optionally, in the method for restoring an operating system according to the present application, judging whether the execution result of each container meets a predetermined condition comprises judging whether the container is started normally, and if so, determining that the execution result of the container meets the predetermined condition.

[0012] Optionally, in the method for restoring an operating system according to the present application, after determining the target restore point, the method further comprises the steps of: exiting the container corresponding to the target restore point, and retaining the files released by the target restore point, so as to restore the operating system based on the files released by the target restore point.

[0013] Optionally, in the method for restoring an operating system according to the present application, before releasing the files of one or more restore points into one or more predetermined directories, the method further comprises the steps of: selecting one or more restore points, and respectively assigning a corresponding predetermined directory to each selected restore point.

[0014] Optionally, in the method for restoring an operating system according to the present application, before releasing the files of one or more restore points into one or more predetermined directories, the method further comprises the steps of: creating one or more restore points during the running of the operating system.

[0015] Optionally, in the operating system restoring method according to the present application, the step of creating one or more restore points comprises: detecting whether a system file is changed, if the system file is changed, storing the changed system file, and creating a corresponding restore point based on the changed system file.

[0016] According to an aspect of the present application, there is provided a restoring apparatus residing in an operating system, comprising: a releasing unit adapted to release files of one or more restore points into one or more predetermined directories, wherein each restore point corresponds to a predetermined directory; a running unit adapted to run one or more containers, and mount the files released by each restore point into a corresponding container respectively, so that each container executes the files released by the corresponding restore point based on the root file system; a determining unit adapted to determine an execution result of each container, and judge whether the execution result of each container meets a predetermined condition, if the execution result meets the predetermined condition, determining the restore point corresponding to the container as a target restore point; and a restoring unit adapted to restore the operating system based on the files released by the target restore point.

[0017] According to an aspect of the present application, there is provided a computing device, comprising: at least one processor; and a memory storing program instructions configured to be executed by the at least one processor, the program instructions comprising instructions for performing the operating system restoring method as described above.

[0018] According to an aspect of the present application, there is provided a readable storage medium storing program instructions, which, when read and executed by a computing device, cause the computing device to perform the method as described above.

[0019] According to the technical scheme of the present application, a method for restoring an operating system is provided, wherein when the operating system cannot normally run due to system file damage during running, a recovery point is run through a container to detect whether the recovery point meets a predetermined condition for restoring the operating system. Specifically, files of one or more recovery points are executed through one or more containers respectively, a target recovery point meeting the condition is determined according to an execution result of each container on the recovery point, and the operating system is restored based on the target recovery point. It should be pointed out that the present application restores the operating system based on the target recovery point, which not only avoids the influence of the covering restoration on normal software and functions, repairs the current problems of the operating system, and makes all software and functions of the operating system run normally. Moreover, the target recovery point obtained by screening according to the execution result of the one or more containers running the one or more recovery points can smoothly restore the operating system, so that the operating system can be restored to the original state through one restoration process, thereby realizing fast and efficient repair of the current problems of the operating system, avoiding the repeated operation of reselecting a recovery point to restore the operating system again in the prior art, and improving the restoration efficiency of the operating system and saving time.

[0020] The above description is only a summary of the technical scheme of the present application, in order to more clearly understand the technical means of the present application, and the present application can be implemented according to the content of the specification, and in order to make the above and other purposes, characteristics and advantages of the present application more obvious and easy to understand, the following specific embodiments of the present application are described. BRIEF DESCRIPTION OF DRAWINGS

[0021] To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings. These aspects are indicative of various ways in which the principles disclosed herein can be practiced and all aspects and equivalents thereof are intended to be within the scope of the claimed subject matter. The foregoing and other objects, features, and advantages of the disclosure will be apparent from the following description of certain aspects as taken in connection with the accompanying drawings in which:

[0022] Figure 1 A schematic diagram of a computing device 100 according to one embodiment of the present application is shown;

[0023] Figure 2 A flowchart of a method for restoring an operating system 200 according to one embodiment of the present application is shown; and

[0024] Figure 3 A schematic diagram of a restoring device 300 according to one embodiment of the present application is shown. DETAILED DESCRIPTION

[0025] Exemplary embodiments of the present disclosure will be described below in greater detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it is to be understood that the present disclosure can be embodied in various forms without being limited by the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art.

[0026] Figure 1 is a schematic block diagram of an example computing device 100.

[0027] As shown in Figure 1 In a basic configuration 102, the computing device 100 typically includes a system memory 106 and one or more processors 104. A memory bus 108 can be used for communicating between the processor 104 and the system memory 106.

[0028] Depending on the desired configuration, the processor 104 can be of any type, including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. The processor 104 can include one or more levels of caching, such as a level one cache 110 and a level two cache 112, a processor core 114, and registers 116. The example processor core 114 can include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. An example memory controller 118 can also be used with the processor 104, or in some implementations, the memory controller 118 can be an internal part of the processor 104.

[0029] Depending on the desired configuration, the system memory 106 can be of any type, including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. The system memory 106 can include an operating system 120, one or more applications 122, and program data 124. In some embodiments, the applications 122 can be arranged to execute instructions from the operating system 120 using the program data 124 by the one or more processors 104.

[0030] The computing device 100 also includes storage 132, which can include removable storage 136 and non-removable storage 138.

[0031] The computing device 100 can also include a storage interface bus 134. The storage interface bus 134 enables communication between the storage devices 132 (e.g., removable storage 136 and non-removable storage 138) and the basic configuration 102 via the bus / interface controller 130. The operating system 120, the application programs 122, and the data 124 are likely stored on the removable storage 136 and / or the non-removable storage 138 during operation of the computing device 100 by a user. Such software components can be loaded into the system memory 106 via the storage interface bus 134, and executed by the one or more processors 104 as it is being loaded or is subsequently being executed.

[0032] The computing device 100 can also include a bus / interface bus 140 that facilitates communication from various interface devices (e.g., output devices 142, peripheral interfaces 144, and communication devices 146) to the basic configuration 102 via the bus / interface controller 130. Example output devices 142 include a graphics processing unit 148 and an audio processing unit 150, which can be configured to facilitate communication to various external devices such as a display or speakers via one or more A / V ports 152. Example peripheral interfaces 144 can include a serial interface controller 154 or a parallel interface controller 156, which can be configured to facilitate communication to various external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I / O ports 158. An example

[0033] The network communication link can be one example of a communication media. Communication media can typically be embodied by computer readable instructions, data structures, program modules, and / or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and can include any information delivery media. A "modulated data signal" can be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media can include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media. The term computer readable media as used herein can include both storage media and communication media.

[0034] The computing device 100 can be implemented as a personal computer including desktop and notebook configurations. Of course, the computing device 100 can also be implemented as part of a small form factor portable (or mobile) electronic device such as a cell phone, a digital camera, a personal digital assistant (PDA), a personal media player device, a wireless web browsing device, a personal headset, an application-specific device, or a hybrid device that can include any of the above functions. The computing device 100 can even be implemented as a server, such as a file server, a database server, an application server, and a web server, among others. Embodiments of the present application are not limited to any particular implementation of the computing device 100.

[0035] In an embodiment according to the present application, the computing device 100 is configured to perform the operating system restoration method 200 according to the present application. In this embodiment, the operating system 120 of the computing device 100 contains a plurality of program instructions for performing the operating system restoration method 200 according to the present application, which can instruct the processor to perform the operating system restoration method 200 according to the present application, so that the computing device 100 can perform the operating system restoration method 200 according to the present application to restore the operating system.

[0036] According to an embodiment of the present application, the operating system 120 is deployed with a restoration apparatus 300, which contains a plurality of program instructions for performing the operating system restoration method 200 according to the present application, so that the operating system restoration method 200 according to the present application can be performed in the restoration apparatus 300, so that the restoration apparatus 300 can perform the operating system restoration method according to the present application to restore the operating system, and restore the operating system to the original state and make it run normally.

[0037] Figure 2 A flowchart of the operating system restoration method 200 according to an embodiment of the present application is shown. The operating system restoration method 200 can be performed in the operating system of a computing device (such as the aforementioned computing device 100). The operating system can be implemented as a Linux operating system, a Windows operating system, etc., and it should be noted that the present application is not limited to the specific type of operating system.

[0038] It should be noted that before the operating system restoration method 200 is performed, one or more restoration points can be created during the operation of the operating system. Specifically, the operating system can detect in real time whether the system files (such as some key files of the system) have changed, and when it is detected that the system files have changed, the system can be backed up by copying and storing the changed system files. And based on the backed up changed system files, the corresponding restoration points are created. In this way, when the operating system cannot run normally due to system file damage later, the operating system can be restored based on the pre-created restoration points.

[0039] Figure 2 As shown, the system restoration method 200 starts from step S210.

[0040] In step S210, the files of one or more restoration points are released into one or more predetermined directories. Wherein, each restoration point corresponds to a predetermined directory respectively.

[0041] Here, before performing step S210, one or more restoration points can be selected from the previously created restoration points, and then for each selected restoration point, a corresponding directory is specified as the predetermined directory for releasing the files of the restoration point, so that each restoration point releases files based on different paths. In this way, each selected restoration point corresponds to a predetermined directory respectively. For example, the predetermined directory corresponding to the restoration point 1 is IMG1_PATH, the predetermined directory corresponding to the restoration point 2 is IMG2_PATH, and the predetermined directory corresponding to the restoration point n is IMGn_PATH.

[0042] In this way, after performing step S210, each predetermined directory contains the files released by the corresponding restoration point.

[0043] It should be noted that one or more containers are also deployed on the operating system of the computing device, each container corresponding to a restoration point, and each container is used to run the corresponding restoration point. Here, the container is an independent virtual operating system running on the operating system, with an independently isolated running environment.

[0044] Subsequently, in step S220, one or more containers corresponding to one or more restoration points are run on the operating system. Wherein, each restoration point corresponds to a container respectively. Further, the files released by each restoration point in the predetermined directory are mounted to form the root file system of the container corresponding to the restoration point (i.e., the predetermined directory released by the restoration point is taken as the root directory of the corresponding container), so that each container can execute the files released by the corresponding restoration point based on the root file system of the container. It should be pointed out that by running each container to run the corresponding restoration point, it can be detected whether the files of the restoration point can meet the predetermined conditions for restoring the operating system.

[0045] Subsequently, in step S230, the execution results of each container are determined, and the target restoration point that can successfully restore the operating system is determined according to the execution results of each container.

[0046] It should be noted that the files released by the target restoration point are the files that meet the expected conditions and can successfully restore the operating system, and the operating system can be successfully restored based on the files released by the target restoration point.

[0047] According to one embodiment, when determining the target restore point according to the execution result of each container, it is determined whether the execution result of each container meets a predetermined condition, and if the execution result of the container on the file released by the restore point meets the predetermined condition, the restore point corresponding to the container is determined as the target restore point which can smoothly restore the operating system.

[0048] In one implementation, when determining whether the execution result of each container meets a predetermined condition, it is determined whether the container can normally execute the file of the restore point and whether the container can normally start after executing the file released by the restore point, and if the container can normally start, it is determined that the execution result of the container meets the predetermined condition, and the restore point corresponding to the container is determined as the target restore point. Conversely, if the container cannot normally start, it is determined that the execution result of the container does not meet the predetermined condition. In addition, if the file of the restore point cannot be executed in the container, it is also determined that the execution result of the container does not meet the predetermined condition, and the restore point cannot be used as the target restore point for restoring the operating system.

[0049] In addition, in other embodiments, it can also be determined whether the execution result of the container meets the predetermined condition according to the operation experience of the user to determine whether the restore point running through the container can be used as the target restore point.

[0050] After the target restore point is determined, the container running the target restore point can be exited, and the file released by the target restore point in the predetermined directory can be retained, so as to restore the operating system based on the file released by the target restore point.

[0051] As for the restore point which is not determined as the target restore point, the file released by the restore point in the predetermined directory can be deleted. Alternatively, after it is determined that the execution result of the container does not meet the predetermined condition, it is indicated that the restore point cannot be used for restoring the operating system, and in this case, the file released by the restore point corresponding to the container can be deleted.

[0052] It can be understood that after it is determined whether the execution result of each container meets the predetermined condition, one or more target restore points can be finally obtained. If the execution result of each container does not meet the predetermined condition, one or more restore points can be reselected, and steps S210-S230 are executed based on the reselected one or more restore points. Until one or more target restore points are finally obtained.

[0053] Finally, in step S240, the operating system is restored based on the file released by the target restore point, so that the operating system returns to the original state. Specifically, all the files released by the target restore point in the predetermined directory are used to overwrite, restore, etc. the corresponding files in the current system, so that the operating system returns to the original normal running state, and the repair of the operating system is realized.

[0054] Thus, according to the technical solution of the present application, when the operating system cannot normally run due to system file damage during running, the files of one or more restore points are executed by one or more containers respectively, the target restore point meeting the expectation is determined according to the execution result of each container on the restore point, and the operating system is restored based on the target restore point, so that the operating system can be restored to the original state by executing a restore process once, thereby realizing the quick repair of the current problem of the operating system.

[0055] According to still another embodiment, when the target restore point is determined according to the execution result of each container, the optimal execution result can also be determined by comparing the execution results of one or more containers, and the restore point corresponding to the optimal execution result is determined as the target restore point. It should be understood that the optimal execution result is obtained by comparison, and the most suitable restore point meeting the current running condition of the operating system is screened from multiple restore points, so that the operating system is restored based on the restore point as the target restore point, thereby ensuring that the operating system is smoothly restored to the original normal running state.

[0056] In one embodiment, the structure of OverlayFS file system can be used to mount the files released by each restore point in the predetermined directory to form the root file system of the container in step S220. Thus, when the system is backed up before the operating system restore method 200 of the present application is executed, full backup or incremental backup can be flexibly selected.

[0057] It should be understood that full backup means that the key system files and directories are all copied and compressed for system backup. When the operating system is restored based on the restore point (full restore point) created based on full backup, all the files released by the full restore point in the predetermined directory are used to perform operations such as covering and restoring on the corresponding files in the current system.

[0058] Incremental backup is to select a certain restore point that has been created as a reference restore point, and only the system files and directories that are different from the reference restore point are backed up when the operating system is backed up, i.e., only the differential system files are copied and compressed. Thus, when the operating system is restored based on the restore point (incremental restore point) created based on incremental backup, the files of the reference restore point are first released in the predetermined directory, and then the files of the incremental restore point are released in the predetermined directory, and then all the files released by the reference restore point and the incremental restore point are used to perform operations such as covering and restoring on the corresponding files in the current system, so that the operating system is restored to the original normal running state, thereby realizing the repair of the operating system.

[0059] Figure 3A diagram of a restoring device 300 according to an embodiment of the present application is shown. The restoring device 300 resides in an operating system of a computing device (e.g., the aforementioned computing device 100) and is adapted to perform the operating system restoring method 200 of the present application.

[0060] The restoring device 300 includes, in sequence, a releasing unit 310, a running unit 320, a determining unit 330, and a restoring unit 340. The releasing unit 310 is adapted to release the files of one or more restore points into one or more predetermined directories, wherein each restore point corresponds to a predetermined directory. The running unit 320 is adapted to run one or more containers corresponding to the one or more restore points and mount the files released by each restore point to form a root file system of the container, so that each container executes the files released by the corresponding restore point based on the root file system. The determining unit 330 is adapted to determine the execution result of each container and determine a target restore point based on the execution result of each container. The restoring unit 340 is adapted to restore the operating system based on the files released by the target restore point.

[0061] It should be noted that the releasing unit 310 is used to perform the aforementioned step S210, the running unit 320 is used to perform the aforementioned step S220, the determining unit 330 is used to perform the aforementioned step S230, and the restoring unit 340 is used to perform the aforementioned step S240. Here, the specific execution logic of the releasing unit 310, the running unit 320, the determining unit 330, and the restoring unit 340 can be found in the aforementioned description of steps S210-S240 of the method 200, and will not be repeated here.

[0062] According to the operating system restoring scheme of the present application, when the operating system cannot normally run due to system file damage during operation, the restore points are run through containers to detect whether the restore points meet the predetermined conditions for restoring the operating system. Specifically, the files of one or more restore points are executed through one or more containers, a target restore point that meets the conditions is determined based on the execution result of each container on the restore points, and the operating system is restored based on the target restore point. It should be noted that the present application restores the operating system based on the target restore point, which not only avoids the influence of the cover restoration on normal software and functions, repairs the current problems of the operating system, and makes all software and functions of the operating system run normally. Moreover, the target restore point obtained based on the execution result of one or more containers running one or more restore points can smoothly restore the operating system, so that the operating system can be restored to the original state after one restoration process, thereby realizing fast and efficient repair of the current problems of the operating system, avoiding the repeated operation of reselecting a restore point to restore the operating system again in the prior art, and thus improving the restoration efficiency of the operating system and saving time.

[0063] The various techniques described herein can be implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the present application, or certain aspects or portions thereof, can take the form of program code (i.e., instructions) embodied in tangible media, such as removable hard disks, USB flash drives, optical tapes, CD-ROMs, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the subject application.

[0064] Where a program code is executed on a programmable computer, the computing device generally includes a processor, a processor readable storage medium (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. The storage medium is configured to store program code which is readable by the processor; the processor is configured to execute instructions in the program code stored in the storage medium to perform the operating system restoration method of the present application.

[0065] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application can be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been described in detail in order to avoid obscuring the understanding of this description.

[0066] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application can be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been described in detail in order to avoid obscuring the understanding of this description.

[0067] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application can be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been described in detail in order to avoid obscuring the understanding of this description.

[0068] Similarly, it is to be understood that the embodiments of the present application can be alternately practiced by a single processing circuit, device, article of manufacture, or apparatus rather than as a combination of multiple devices or modules. Any processing circuit described as several separate components in the examples described herein can be implemented as a single unit and / or a single processing circuit. To clearly illustrate this interchangeability of hardware and software, various components will be described herein as separate components or multiple parts. Reference throughout this document to a "device" refers to any one of the devices described herein or any one of the components of any one of the devices described herein. Similarly, it is to be understood that, for brevity's sake, the description herein has not described all possible combinations of features that can be employed to implement the various aspects of the present application. It is to be understood that the various features of the present application can be employed in any combination or sub-combination to implement the various aspects of the present application. Accordingly, the description of the exemplary embodiments of the present application as set forth above is not intended to be exhaustive or to be construed as limiting the application to the precise steps or group of steps disclosed. While specific embodiments of, and examples for, the application are described herein for illustrative purposes only, various equivalent modifications are possible within the scope of the application, as those skilled in the relevant art will recognize.

[0069] Those skilled in the art will understand that the modules, or units, or components of the devices in the examples disclosed herein can be arranged in a device as described in the examples, or alternatively can be located in one or more devices different from the devices in the examples. The modules in the foregoing examples can be combined into one module or further divided into multiple sub-modules.

[0070] Those skilled in the art will understand that the modules in the devices in the examples can be adaptively changed and disposed in one or more devices different from the examples. The modules or units or components in the examples can be combined into one module or unit or component, and further can be divided into multiple sub-modules or sub-units or sub-components. All the features disclosed in this specification (including the claims, abstract, and drawings) and all the processes or units of any method or apparatus so disclosed can be combined in any combination, except where such features or processes exclude each other. Each feature disclosed in this specification (including the claims, abstract, and drawings) can also be replaced by alternative features providing the same, equivalent, or similar functionality, unless the context explicitly indicates otherwise.

[0071] Further, those skilled in the art will understand that the combination of features of different embodiments implies that the combination is within the scope of the application and forms a different embodiment.

[0072] Further, some of the embodiments described herein are combination of methods or method elements which can be implemented by a processor of a computer system or by other means of carrying out the function during the execution of the programs of the computer system. A processor of a computer system that executes the programs that implement the method or method elements is therefore a means for implementing the method or method elements. Further, an element of a method or process disclosed herein that is not performed by a processor of a computer system is an element that is performed by other means of carrying out the function during the execution of the programs of the computer system.

[0073] As used herein, unless otherwise indicated, the use of the ordinal adjectives "first", "second", "third", etc., are to add specificity and difference to a term, and are not intended to indicate a temporal or chronological order or sequence. Except to the extent necessary or implicit from the discussion herein, as readily apparent to those of ordinary skill in the art, no portion of the specification is indicative of an ordering.

[0074] While the present application has been described in connection with limited number of embodiments, those skilled in the art will appreciate that numerous modifications and variations therefrom can be made without departing from the scope of the present application as set forth in the limitations to follow. Moreover, the language used in this specification has been chosen for readability and instructional purposes and can not have been selected to delineate or circumscribe the subject application. Accordingly, the disclosure of the present application is intended to be illustrative, but not limiting, of the scope of the application, which is set forth with particularity in the appended claims.

Claims

1. An operating system restore method, comprising the following steps: Extract files from multiple restore points to multiple predefined directories, with each restore point corresponding to one predefined directory; Multiple containers corresponding to multiple restore points are run, and files released by each restore point in a corresponding predetermined directory are mounted to form the root file system of the container corresponding to the restore point. Each container then executes the release of files from the corresponding restore point based on this root file system. The container is an independent virtual operating system running on an operating system, with an independent and isolated running environment; The execution result of each container is determined, and it is judged whether the execution result of each container meets predetermined conditions. Judging whether the execution result of each container meets predetermined conditions includes: determining whether the container starts normally after executing the files released from the restore point; if so, the execution result of the container is determined to meet predetermined conditions; if the execution result of the container meets predetermined conditions, the restore point corresponding to the container is determined as the target restore point; and The operating system is restored based on the files released from the target restore point.

2. The method as described in claim 1, wherein, After determining the target restoration point, the following steps are also included: Exit the container corresponding to the target restore point, but retain the files released by the target restore point so that the operating system can be restored based on the files released by the target restore point.

3. The method as described in claim 1, wherein, Before extracting files from multiple restore points to multiple predefined directories, the following steps are included: Select multiple restore points and specify a corresponding predefined directory for each selected restore point.

4. The method according to any one of claims 1-3, wherein, Before extracting files from multiple restore points to multiple predefined directories, the following steps are also included: Multiple restore points are created during the operation of the operating system.

5. The method of claim 4, wherein, The steps to create multiple restore points include: The system detects whether system files have changed. If they have changed, the system files are stored and corresponding restore points are created based on the changed system files.

6. A restore device, residing in an operating system, comprising: The release unit is suitable for releasing files from multiple restore points to multiple predefined directories, where each restore point corresponds to a predefined directory; The running unit is suitable for running multiple containers. It mounts the files released by each restore point in the corresponding predetermined directory to the corresponding container to form the root file system of the container. This allows each container to execute the release of the corresponding restore point based on the root file system. The container is an independent virtual operating system running on an operating system and has an independent and isolated running environment. The determining unit is adapted to determine the execution result of each container, and to determine whether the execution result of each container meets predetermined conditions. Determining whether the execution result of each container meets predetermined conditions includes: determining whether the container starts normally after executing the files released from the restore point; if so, determining that the execution result of the container meets predetermined conditions; if the execution result of the container meets predetermined conditions, determining the restore point corresponding to the container as the target restore point; and... The restoration unit is adapted to restore the operating system based on the files released from the target restore point.

7. A computing device, comprising: At least one processor; as well as A memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions including instructions for performing the method as described in any one of claims 1-5.

8. A readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • System restore method, virtual machine managing device and system based on client operating system

    CN101770410A

  • Data source reducing method and packet transmission platform

    CN105323097A