WO2015014267A1 - Data processing method, terminal and product for backing up and restoring data thereof - Google Patents

Data processing method, terminal and product for backing up and restoring data thereof Download PDF

Info

Publication number
WO2015014267A1
WO2015014267A1 PCT/CN2014/083199 CN2014083199W WO2015014267A1 WO 2015014267 A1 WO2015014267 A1 WO 2015014267A1 CN 2014083199 W CN2014083199 W CN 2014083199W WO 2015014267 A1 WO2015014267 A1 WO 2015014267A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
software program
specified software
data
specified
Prior art date
Application number
PCT/CN2014/083199
Other languages
French (fr)
Inventor
Danhua LI
Original Assignee
Tencent Technology (Shenzhen) Company Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology (Shenzhen) Company Limited filed Critical Tencent Technology (Shenzhen) Company Limited
Publication of WO2015014267A1 publication Critical patent/WO2015014267A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures

Definitions

  • the invention relates to data processing technology, particularly to method, terminal and product for data processing to backup and restore data.
  • a mirror image will back up a complete copy of all the installed software programs, files, and the personal data generated by the software program, such as the game progress and the chat history etc. So after reinstallation, when necessary, the complete mirror image may be used to recover the data and the software programs.
  • the examples of the present disclosure provide a data processing method, which only recovers the user-specified data so as to improve the efficiency of data recovery.
  • the examples of the present disclosure also provide the corresponding terminal and product.
  • the present disclosure provides a data processing method for backing up and restoring data in a processor that prepares for a system shutdown, the method comprising: receiving, by the processor, an instruction given by a user to backup a user-specified software program; finding, by the processor, the user-specified software program and data that are relevant to the user-specified software program, and creating, by the processor, a package including the user-specified software program and the data; backing up, by the processor, a package and adding a BACKUP tag to the package; obtaining, by the processor, the package with the added BACKUP tag; releasing, by the processor, the user-specified software program from the package with the BACKUP tag; and recovering, by the processor, the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • the method before obtaining a user-specified backup package with a BACKUP tag, the method further comprises: receiving, by the processor, an instruction given by a user to backup the user-specified software program; finding, by the processor, the user- specified software program and the data that are relevant to the user-specified software program, and creating, by the processor, a package including the user-specified software program and the data; backing up, by the processor, the package and adding the BACKUP tag to the package.
  • the step of finding the user-specified software program and the data relevant to the specified software program comprises: searching, by the processor, the user-specified software program and the data that are relevant to the user-specified software program based on a necessary relationship for running the user-specified software program according to a registry.
  • the method comprises: calculating, by the processor, a message digest value for the user-specified software program that runs normally; and sending, by the processor, the message digest value to a server so that the server can search the user-specific software program that matches the message digest value.
  • the method further comprises: obtaining, by the processor, a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected.
  • the present disclosure provides a data processing terminal for backing up and restoring data comprising:
  • One or more processor coupled with a memory; an obtaining unit having one or more processors coupled with the memory that is used for obtaining a user-specified backup package with a BACKUP tag; a releasing unit having one or more processors coupled with the memory that is used for releasing a user-specified software program from the user-specific backup package that is obtained by the obtaining unit; a detecting unit having one or more processors coupled with the memory that is used for detecting if the user-specified software program released by the releasing unit runs normally; and a recovering unit having one or more processors coupled with the memory that is used for recovering the data that are relevant to the user-specified software program after the detecting unit confirms the user-specified software program runs normally.
  • the terminal further comprises: a receiving unit having one or more processors coupled with the memory that is used for receiving an instruction given by a user to back up the user-specified software program; a searching unit having one or more processors coupled with the memory that is used for finding the user-specified software program and the data that are relevant to the user-specified software program according to the instruction received by the receiving unit; a packaging unit having one or more processors coupled with the memory that is used for creating a package including the user-specified software program and the data that are relevant to the user-specified software program found by the searching unit; and a backing-up unit having one or more processors coupled with the memory that is used for backing up the package created by the packaging unit and adding the BACKUP tag to the package.
  • the searching unit is used for searching the user-specified software program and the data that are relevant to the user-specified software program based on a necessary relationship for running the user-specified software program according to a registry.
  • the terminal further comprises: a calculating unit having one or more processors coupled with the memory that is used for calculating a message digest value for the user-specified software program that runs normally; and a sending unit having one or more processors coupled with the memory that is used for sending the message digest value to a server so that the server can search the user-specific software program that matches the message digest value.
  • the obtaining unit is used for obtaining a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected by the detecting unit, and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • the present disclosure provides a data processing product for backing and restoring data.
  • the produce comprises: a non-transitory computer readable medium with processor executable instructions stored thereon, wherein the instructions when executed by one or more processors cause the one or more processors to: obtain a user-specified backup package with a BACKUP tag; release a user-specified software program from the user-specific backup package; and recover the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • the examples of the present disclosure obtain a user-specified backup package with a BACKUP tag; release a user-specified software program from the backup package; recover the data relevant to the specified software program after the specified software program runs normally.
  • the data processing method of the present disclosure can recover the backup data selectively instead of a full recovery, and the efficiency of data recovery is thus improved.
  • Fig. 1 is a schematic diagram of a data process method according to one example of the present disclosure.
  • FIG. 2 is a schematic diagram of a data process method according to another example of the present disclosure.
  • FIG. 3 is a schematic diagram of a data process terminal according to one example of the present disclosure.
  • FIG. 4 is a schematic diagram of a data process terminal according to another example of the present disclosure.
  • FIG. 5 is a schematic diagram of a data process terminal according to another example of the present disclosure.
  • FIG. 6 is a schematic diagram of a data process terminal according to another example of the present disclosure.
  • module may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC); an electronic circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor (shared, dedicated, or group) that executes code; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.
  • ASIC Application Specific Integrated Circuit
  • FPGA field programmable gate array
  • processor shared, dedicated, or group
  • the term module may include memory (shared, dedicated, or group) that stores code executed by the processor.
  • the exemplary environment may include a server, a client, and a communication network.
  • the server and the client may be coupled through the communication network for information exchange, such as sending/receiving identification information, sending/receiving data files such as splash screen images, etc.
  • information exchange such as sending/receiving identification information, sending/receiving data files such as splash screen images, etc.
  • client and one server are shown in the environment, any number of terminals or servers may be included, and other devices may also be included.
  • the communication network may include any appropriate type of communication network for providing network connections to the server and client or among multiple servers or clients.
  • communication network may include the Internet or other types of computer networks or telecommunication networks, either wired or wireless.
  • the disclosed methods and apparatus may be implemented, for example, in a wireless network that includes at least one client.
  • the client may refer to any appropriate user terminal with certain computing capabilities, such as a personal computer (PC), a work station computer, a server computer, a hand-held computing device (tablet), a smart phone or mobile phone, or any other user-side computing device.
  • the client may include a network access device.
  • the client may be stationary or mobile.
  • a server may refer to one or more server computers configured to provide certain server functionalities, such as database management and search engines.
  • a server may also include one or more processors to execute computer programs in parallel.
  • the examples of the present disclosure provide a data processing method for backing up and restoring data, which may selectively recover the data so as to improve the efficiency of data recovery.
  • the examples of the present disclosure also provide a corresponding terminal and produce. The details are described respectively in the following.
  • the data processing method comprises the following steps. As shown in Fig. 1, Steps in Fig. 1 may be performed by one or more processors 1-10 to execute instructions stored in the memory 1-12.
  • Step 104 obtaining a user-specified backup package with a BACKUP tag.
  • the BACKUP tag could be a time-stamp.
  • a time-stamp is an encrypted certificate which comprises 3 parts: (1) a digest of the document requiring a BACKUP tag, (2) the date and time stamp (DTS) when the document is received, (3) a digital signature of DTS.
  • the backup package in the examples of the present disclosure includes the user-specified software program and all the data relevant to the software program.
  • Step 105 releasing a user-specified software program from the user-specific backup package.
  • the user-specified software program in the examples of the present disclosure includes the operation data corresponding to the software program.
  • the operation data includes data and data files that are required for the operation of the software program.
  • the operation data may be data the software program needs to run or may be data generated as a result of running the software program.
  • the operation data may also be part of the software program or external programs to support the running of the software programs.
  • the document directory data may be generated during and after the installation of the software program.
  • Step 106 recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • the data relevant to the specified software program in the examples of the present disclosure refers to the user data generated while a user runs the software program, for example, the game progress and the chat history etc.
  • the examples of the present disclosure obtain a user-specified backup package with a BACKUP tag; release a user-specified software program from the backup package; recover the data relevant to the specified software program after the specified software program runs normally.
  • the data processing method provided by the examples of the present disclosure may selectively recover the backup data, so as to improve the efficiency of data recovery.
  • the method may also comprise:
  • Step 101 receiving an instruction given by a user to backup the user-specified software program
  • Step 102 finding the user-specified software program and the data that are relevant to the user-specified software program, and creating, by the processor, a package including the user-specified software program and the data;
  • Step 103 backing up the package and adding the BACKUP tag to the package.
  • the terminal during backing up, the terminal doesn't need to back up all the software program and data, but just backup according to user's instructions. After receiving the instruction inputted by a user indicating to back up a specified software program, the terminal finds the specified software program and the data relevant to the software program, and creates a package which includes the specified software program and the data relevant to the specified software program, and backs up the package, then adds a BACKUP tag to the backup package.
  • said finding the specified software program and the data relevant to the specified software program may comprise: searching the user-specified software program and the data that are relevant to the user-specified software program based on a necessary relationship for running the user-specified software program according to a registry.
  • the specified software program comprises the necessary driver such as driver or drivers that are required to run the program, and program data, and, the document directory data generated during and after the installation of the software program, such as the game progress and the chat history, etc.
  • the method may also comprise: calculating a message digest value for the user-specified software program that runs normally; and sending the message digest value to a server so that the server may search the user-specific software program that matches the message digest value.
  • MD5 Message Digest Algorithm
  • MD5 Message Digest Algorithm
  • the directory data relevant to the specified software program may be sent along with the message digest value, in this way, the server may choose the operational data that match the message digest value according to the directory data.
  • the method further comprises: obtaining a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected, recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • the terminal may obtain a normal software program from the server, wherein the normal software program is supposed to match the message digest value corresponding to the specified software program, and recover the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • the method ensures the good recovery of the software program.
  • Step 200 a terminal receives an instruction given by a user to back up the user-specified software program.
  • Step 205 the terminal finds the user-specified software and the data that are relevant to the user-specified software, and creates a package including the user-specified software and the data.
  • Step 210 the terminal backups the package and adds the BACKUP tag to the package.
  • Step 215 the terminal calculates a message digest value for the user-specified software that runs normally.
  • Step 220 the terminal sends the message digest value to a server.
  • Step 225 the server searches the user-specific software program that matches the message digest value.
  • Step 230 the terminal obtains a user-specified backup package with a BACKUP tag.
  • Step 235 the terminal releases a user-specified software from the user-specific backup package.
  • Step 240 the terminal recovers the data that are relevant to the user-specified software after the user-specified software runs normally.
  • Step 245 the terminal obtains a normal software which matches the message digest value corresponding to the user-specified software from the server when an abnormal behavior of the user-specified software is detected, and recovers the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • Step 205 when the terminal finds the user-specified software and the data, the terminal may find documents to support the running of the user-specified software program according to the registry and the relevance of the documents for running the user-specified software program; and add the documents to the package for backing up.
  • Step 205 the terminal may search a document directory that stores files generated from the running of user-specified software program and add the files as the part of the data for backing up.
  • the terminal may include various units.
  • the units have structures with one or more processors 2-10 that execute instructions stored in memory 2-12.
  • the terminal comprises:
  • An obtaining unit 301 having one or more processors coupled with the memory that is used for obtaining a user-specified backup package with a BACKUP tag;
  • a releasing unit 302 having one or more processors coupled with the memory that is used for releasing a user-specified software program from the user-specific backup package that is obtained by the obtaining unit 301 ;
  • a detecting unit 303 having one or more processors coupled with the memory that is used for detecting if the user-specified software program released by the releasing unit 302 runs normally;
  • a recovering unit 304 having one or more processors coupled with the memory that is used for recovering the data that are relevant to the user-specified software program after the detecting unit 303 confirms the user-specified software program runs normally.
  • the obtaining unit 301 obtains a user-specified backup package with a BACKUP tag; the releasing unit 302 releases a user-specified software program from the backup package obtained by the obtaining unit 301 ; the detecting unit 303 detects if the specified software program released by the releasing unit 302 runs normally, the recovering unit 304 recovers the data relevant to the specified software program after the detecting unit 303 confirms the specified software program runs normally.
  • the data processing method of the present disclosure may recover the backup data selectively instead of full recovery, so as to improve the efficiency of data recovery.
  • the terminal also comprises:
  • a receiving unit 305 having one or more processors coupled with the memory that is used for receiving an instruction given by a user to back up the user-specified software program;
  • a searching unit 306 having one or more processors coupled with the memory that is used for finding the user-specified software program and the data that are relevant to the user-specified software program according to the instruction received by the receiving unit 305;
  • the searching unit may find documents to support the running of the user-specified software program according to the registry and the relevance of the documents for running the user-specified software program, and add the documents to the package for backing up. Also, the searching unit may according a system log and the registry, search a document directory that stores files generated from the running of user-specified software program and add the files as the part of the data for backing up.
  • a packaging unit 307 having one or more processors coupled with the memory that is used for creating a package including the user-specified software program and the data that are relevant to the user-specified software program found by the searching unit 306;
  • a backing-up unit 308 having one or more processors coupled with the memory that is used for backing up the package created by the packaging unit 307 and adding the BACKUP tag to the package.
  • All units in Fig. 4 have structures with one or more processors 4-10 that execute instructions stored in memory 4-12.
  • the searching unit 306 is used for searching the user-specified software program and the data that are relevant to the user-specified software program based on a necessary relationship for running the user-specified software program according to a registry.
  • the terminal 30 further comprises:
  • a calculating unit 309 having one or more processors coupled with the memory that is used for calculating a message digest value for the user-specified software program that runs normally;
  • a sending unit 310 having one or more processors coupled with the memory that is used for sending the message digest value to a server so that the server may search the user-specific software program that matches the message digest value.
  • All units in Fig. 5 have structures with one or more processors 5-10 that execute instructions stored in memory 5-12.
  • the obtaining unit 301 is used for obtaining a normal software program to execute, which matches the message digest value corresponding to the specified software program from the server when an abnormal behavior is detected by the detecting unit 303, and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • the terminal may be used to implement any data process method mentioned above.
  • the terminal 1200 may comprise a RF (Radio Frequency) circuit 110, a storage device 120 including one or more computer readable storage medium which may be either transitory or non-transitory, an input unit 130, a display unit 140, a sensor 150, an audio circuit 160, a Wifi (wireless fidelity) module 170, a single core or multi-core processor 180, a power supply 190 etc.
  • RF Radio Frequency
  • a storage device 120 including one or more computer readable storage medium which may be either transitory or non-transitory
  • an input unit 130 a display unit 140
  • a sensor 150 an audio circuit 160
  • a Wifi (wireless fidelity) module 170 a single core or multi-core processor 180
  • a power supply 190 etc.
  • the terminal may have more or fewer components, or a combination of some the components, or a different arrangement of the components.
  • the RF circuit 110 may be used to send and receive signals when send and receive messages or during a phone call, in particular, after receiving the downlink signal of a base station, it transfers the signal to one or more processors 180; in addition, it sends the data related to the uplink to a base station.
  • the RF circuit 110 includes but not limited to an antenna, at least one amplifier, a tuner, one or more oscillator, a SIM card, a transceiver, a coupler, LNA (Low Noise Amplifier), a duplexer, etc.
  • the RF circuit 110 may also connect to other devices via wireless communication network.
  • the wireless communication network includes but is not limited to GSM (Global System of Mobile communication), GPRS (General Packet Radio Service), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), LTE (Long Term Evolution), email, SMS (Short Messaging Service), etc.
  • GSM Global System of Mobile communication
  • GPRS General Packet Radio Service
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • email Short Messaging Service
  • the storage device 120 may be either transitory or non-transitory.
  • the storage device 120 may be used to store software programs and modules, the processor 180 performs all kinds of functions and processes data by executing the software program and module stored in the storage device 120.
  • the storage device 120 mainly comprises an area for programs and an area for data. Wherein the area for programs may store the operating system, and application programs having at least one function (such as audio playback or image playback, etc); the area for data may store the data created while using the terminal 1200 (such as audio data, phone book, etc).
  • the storage device 120 may include high speed random access memory, and nonvolatile memory as well, such as at least one disk storage device, flash memory device, or other volatile solid-state memory.
  • the storage device 120 may also include a memory controller, so that the processor 180 and the input unit may visit the storage device 120.
  • a product may be formed based on the storage device 120.
  • the product may comprise: a non-transitory computer readable medium with processor executable instructions stored thereon, wherein the instructions when executed by one or more processors cause the one or more processors to: obtain a user-specified backup package with a BACKUP tag; release a user-specified software program from the user-specific backup package; and recover the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • the product before the instructions to be executed to obtain the user-specified backup package, may further comprises instructions when executed by the one or more processors cause the one or more processors to: receive an instruction given by a user to backup the user-specified software program; find the user-specified software program and the data that are relevant to the user-specified software program, and create a package including the user-specified software program and the data; and backup the package and add the BACKUP tag to the package.
  • the input unit 130 may be used to receive inputted number or character information, and generate the input of keyboard, mouse, joystick, track ball or optical input, which is relevant to user settings and function control.
  • the input unit 130 may comprise a touch-sensitive surface 131 and other input device 132.
  • the touch-sensitive surface 131 also known as a touchscreen or a touchpad, which may collect the touch on or near it (for example, the touch of a finger, a touch pen, or any other appropriate objects or accessories on the touch-sensitive surface 131 or near the touch-sensitive surface 131), and drive corresponding connecting device based on a preset program.
  • the touch-sensitive surface 131 may comprise a touch detection means and a touch controller.
  • the touch detection means detects the position of the user's touch, and detects the signal caused by the touch, sends the signal to the touch controller.
  • the touch controller receives touch information from the touch detection means, and converts it to touch coordinates, and then send it to the processor 180, the touch controller may also receive and execute the instructions from the processor 180.
  • the touch-sensitive surface 131 may be made a TS Resistive, CTS Capacitive, infrared, or surface acoustic wave touch screen etc.
  • the input unit 130 may also comprises other input device 132.
  • the other input device 132 includes but is not limited to one or more selections from the group of physically keyboard, function keys (such as volume control buttons, power button etc), track ball, mouse, joystick etc.
  • the display unit 140 may be used to display the information inputted by a user or provided to a user, and all kinds of the user interfaces of the terminal 1200.
  • the user interface may be any combination of graph, text, icon and video.
  • the display unit 140 may comprise a display panel 141, optionally, the display panel 141may be LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), etc.
  • the touch-sensitive surface 131 may cover the display panel 141.
  • the touch-sensitive surface 131 detects a touch on or near it, it sends the touch to the processor 180 to determine the type of this touch. Then the processor 180 provides corresponding visual output to the display panel 141 based on the touch's type.
  • the touch-sensitive surface 131 and the display panel 141 realize input and output as two independent components, in some examples, the touch-sensitive surface 131 and the display panel 141 could be integrated together to realize input and output.
  • the terminal 1200 may further comprise at least a sort of sensor 150, such as a light sensor, a motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein, the ambient light sensor may adjust the brightness of the display panel 141 according to the ambient light, the proximity sensor may shut down the display panel 141 and/or backlight when the terminal 1200 is getting close to an ear.
  • a gravity sensor may detect the acceleration in all directions (typically in 3 axes), and may detect the magnitude and direction of gravity, which may be applied to direction-detection applications (such as change the screen orientation, some games, magnetometer calibration), vibration recognition related functions (such as pedometer, knock) etc.
  • the terminal 1200 may also comprises a gyroscope, a barometer, a hygrometer, an infrared sensor and other sensors, but no more details will be given here.
  • the audio circuit 160, loudspeaker 161 and microphone 162 may provide the audio interface between the user and the terminal 1200. After the received audio data are converted to electrical signals, the audio circuit 160 transfers the electrical signals to the loudspeaker 161 where the electrical signals are converted to audio signals and outputted. On the other hand, the microphone 162 converts the received audio signals to electrical signals, then the audio circuit 160 receives and converts the electrical signals to audio data, after being processed by the processor 180, the audio data are sent to, for example, another terminal via the RF circuit 110, or the audio data are sent to the storage device 120 for future processing.
  • the audio circuit 160 may also comprise a headset jack so as to allow the communication between the peripheral headset and the terminal 1200.
  • WiFi is a short-range wireless technology.
  • the terminal 1200 allows the user to email, browse the web, and acquire streaming media etc. and it also provides the user with wireless broadband internet access.
  • the WiFi module 170 is not an indispensable component of terminal 1200, if necessary, it may definitely be omitted within the scope of the present disclosure.
  • the processor 180 is the control center of terminal 1200. It connects all the parts of a mobile phone with different kinds of interfaces and wirings, and it executes or performs the software programs and/or module stored in the storage device 120, also it retrieves data from storage device 120, performs the terminal 1200's functions and processes the data, so as to control the mobile phone.
  • the processor 180 may have one or more cores.
  • the processor 180 may be integrated with an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface and application programs, etc. the modem processor mainly processes the wireless communication. It is to be understood that the modem processor may not be integrated in the processor 180.
  • the terminal 1200 also comprises a power supply 190 (such as a battery) providing power to each component, preferably, the power supply logically connects to the processor 180 by a power management system, so as to realize the control of charge, discharge, and power management.
  • the power supply 190 may also comprise one or more AC or DC power, recharging system, circuit fault detection circuit, power converter, inverter, power state indicator and any other components.
  • the terminal 1200 may also comprise a camera, a Bluetooth module etc., but no more details will be given here.
  • the display unit of the terminal is a touch screen monitor
  • the terminal also comprises a storage device, and one or more programs, wherein, one or more programs are stored in the storage device.
  • one or more processors execute the one or more programs which contain the instructions for performing the following operations: obtaining a user-specified backup package with a BACKUP tag; releasing a user-specified software program from the backup package; recovering the data relevant to the specified software program after the specified software program runs normally.
  • the storage device of the terminal also stores the instructions used to perform the following operations: receiving an instruction given by a user to back up the specified software program; finding the specified software program and the data relevant to the specified software program, and create a package including the specified software program and the data relevant to the specified software program; backing up the package and add a BACKUP tag to the backup package.
  • the storage device of the terminal further stores the instruction used to perform the following operations: searching the specified software program and the data relevant to the specified software program based on the necessary relationships for running the specified software program according to registry.
  • the storage device of the terminal further stores the instructions used to perform the following operations: calculating a message digest value for the specified software program running normally; sending the message digest value to a server so that the server may search the software program matching said message digest value.
  • the storage device of the terminal further stores the instructions used to perform the following operations: obtaining a normal software program which matches the message digest value corresponding to the specified software program from the server when an abnormal behavior of the specified software is detected, and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • the examples of the present disclosure obtain a user-specified backup package with a BACKUP tag; release a user-specified software program from the backup package; recover the data relevant to the specified software program after the specified software program runs normally.
  • the data processing method provided by the examples of the present disclosure may recover the backup data selectively, so as to improve the efficiency of data recovery.
  • a further example of the present disclosure provides a computer readable storage medium which may be either the computer readable storage medium contained in the storage device as described in the above example, or an independent computer readable storage medium that is not assembled in a terminal.
  • the non-transitory computer readable storage medium stores one or more programs which are executed by one or more processor to perform a data processing method which comprises the steps of: obtaining a user-specified backup package with a BACKUP tag; releasing a user-specified software program from the user-specific backup package; and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
  • the method further comprises: receiving an instruction given by a user to backup the user-specified software program; finding the user-specified software program and the data that are relevant to the user-specified software program, and create a package including the user-specified software program and the data; and backing up the package and add the BACKUP tag to the package.
  • said finding the specified software program and the data relevant to the specified software program comprises: searching the user-specified software program and the data that are relevant to the user-specified software program based on a necessary relationship for running the user-specified software program according to a registry.
  • the method comprises: calculating a message digest value for the user-specified software program that runs normally; and sending the message digest value to a server so that the server can search the user-specific software program that matches the message digest value.
  • the method further comprises: obtaining a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected, and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally .
  • the foregoing program may be stored in a computer readable storage medium. When the program is run, the steps of the foregoing method examples are performed.
  • the foregoing storage medium may be any medium capable of storing program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Abstract

The invention relates to a data processing method, server and product for backing up and restoring data in a processor that prepares for a system shutdown, the method comprising receiving an instruction given by a user to backup a user-specified software program; finding the user-specified software program and data that are relevant to the user-specified software program, and creating a package including the user-specified software program and the data; backing up a package and adding a BACKUP tag to the package; obtaining the user-specified backup package with the BACKUP tag; the user-specified software program from the user-specific backup package; and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.

Description

Description
DATA PROCESSING METHOD, TERMINAL AND PRODUCT FOR
BACKING UP AND RESTORING DATA THEREOF
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The application claims priority to Chinese Patent Application No. 201310323836.0, filed on July 29, 2013, which is incorporated by reference in its entirety.
FIELD OF THE TECHNOLOGY
[0002] The invention relates to data processing technology, particularly to method, terminal and product for data processing to backup and restore data.
BACKGROUND OF THE TECHNOLOGY
[0003] When a system failure occurs, we need to reinstall the system. In this case, if we don't backup the installed software programs, the reinstalled the system will miss information. If we back up the software programs individually, the software programs will be fully recovered after the reinstallation.
[0004] In the prior art, a mirror image will back up a complete copy of all the installed software programs, files, and the personal data generated by the software program, such as the game progress and the chat history etc. So after reinstallation, when necessary, the complete mirror image may be used to recover the data and the software programs.
[0005] However, in practice, an individual backup cannot recover the personal data that are generated during the runtime of the software program. In addition, because a mirror image recovers the software programs and data all at once, the mirror image cannot perform data recovery selectively.
SUMMARY OF THE TECHNOLOGY
[0006] The examples of the present disclosure provide a data processing method, which only recovers the user-specified data so as to improve the efficiency of data recovery. The examples of the present disclosure also provide the corresponding terminal and product.
[0007] In a first aspect, the present disclosure provides a data processing method for backing up and restoring data in a processor that prepares for a system shutdown, the method comprising: receiving, by the processor, an instruction given by a user to backup a user-specified software program; finding, by the processor, the user-specified software program and data that are relevant to the user-specified software program, and creating, by the processor, a package including the user-specified software program and the data; backing up, by the processor, a package and adding a BACKUP tag to the package; obtaining, by the processor, the package with the added BACKUP tag; releasing, by the processor, the user-specified software program from the package with the BACKUP tag; and recovering, by the processor, the data that are relevant to the user-specified software program after the user-specified software program runs normally.
[0008] According to the first aspect, in a first possible example, before obtaining a user-specified backup package with a BACKUP tag, the method further comprises: receiving, by the processor, an instruction given by a user to backup the user-specified software program; finding, by the processor, the user- specified software program and the data that are relevant to the user-specified software program, and creating, by the processor, a package including the user-specified software program and the data; backing up, by the processor, the package and adding the BACKUP tag to the package.
[0009] Based on the first possible example of the first aspect, the step of finding the user-specified software program and the data relevant to the specified software program comprises: searching, by the processor, the user-specified software program and the data that are relevant to the user-specified software program based on a necessary relationship for running the user-specified software program according to a registry.
[0010] Based on the first example of the first aspect, after backing up the package and adding a BACKUP tag to the package, the method comprises: calculating, by the processor, a message digest value for the user-specified software program that runs normally; and sending, by the processor, the message digest value to a server so that the server can search the user-specific software program that matches the message digest value.
[0011] Base on the third possible example of the first aspect, the method further comprises: obtaining, by the processor, a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected.
[0012] In a second aspect, the present disclosure provides a data processing terminal for backing up and restoring data comprising:
[0013] One or more processor coupled with a memory; an obtaining unit having one or more processors coupled with the memory that is used for obtaining a user-specified backup package with a BACKUP tag; a releasing unit having one or more processors coupled with the memory that is used for releasing a user-specified software program from the user-specific backup package that is obtained by the obtaining unit; a detecting unit having one or more processors coupled with the memory that is used for detecting if the user-specified software program released by the releasing unit runs normally; and a recovering unit having one or more processors coupled with the memory that is used for recovering the data that are relevant to the user-specified software program after the detecting unit confirms the user-specified software program runs normally.
[0014] According to the second aspect, in a first possible example of the terminal of the invention, the terminal further comprises: a receiving unit having one or more processors coupled with the memory that is used for receiving an instruction given by a user to back up the user-specified software program; a searching unit having one or more processors coupled with the memory that is used for finding the user-specified software program and the data that are relevant to the user-specified software program according to the instruction received by the receiving unit; a packaging unit having one or more processors coupled with the memory that is used for creating a package including the user-specified software program and the data that are relevant to the user-specified software program found by the searching unit; and a backing-up unit having one or more processors coupled with the memory that is used for backing up the package created by the packaging unit and adding the BACKUP tag to the package.
[0015] Based on the first example of the second aspect, in a second possible example, the searching unit is used for searching the user-specified software program and the data that are relevant to the user-specified software program based on a necessary relationship for running the user-specified software program according to a registry.
[0016] Based on the first or second possible example of the second aspect, in a third possible implementation, the terminal further comprises: a calculating unit having one or more processors coupled with the memory that is used for calculating a message digest value for the user-specified software program that runs normally; and a sending unit having one or more processors coupled with the memory that is used for sending the message digest value to a server so that the server can search the user-specific software program that matches the message digest value.
[0017] Based on the third possible example of the second aspect, in a fourth possible example, the obtaining unit is used for obtaining a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected by the detecting unit, and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
[0018] In a third aspect, the present disclosure provides a data processing product for backing and restoring data. The produce comprises: a non-transitory computer readable medium with processor executable instructions stored thereon, wherein the instructions when executed by one or more processors cause the one or more processors to: obtain a user-specified backup package with a BACKUP tag; release a user-specified software program from the user-specific backup package; and recover the data that are relevant to the user-specified software program after the user-specified software program runs normally.
[0019] The examples of the present disclosure obtain a user-specified backup package with a BACKUP tag; release a user-specified software program from the backup package; recover the data relevant to the specified software program after the specified software program runs normally. Compared with the prior art, the data processing method of the present disclosure can recover the backup data selectively instead of a full recovery, and the efficiency of data recovery is thus improved.
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] To describe the technical solutions in the examples of the present disclosure more clearly, the following briefly introduces the accompanying drawings needed for describing the examples or the prior art. Apparently, the accompanying drawings in the following description show some examples of the present disclosure, and persons of ordinary skill in the art can still derive other drawings from these accompanying drawings without creative efforts.
[0021] The system and/or method may be better understood with reference to the following drawings and description. Non-limiting and non-exhaustive descriptions are described with reference to the following drawings. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating principles. In the figures, like referenced numerals may refer to like parts throughout the different figures unless otherwise specified.
[0022] Fig. 1 is a schematic diagram of a data process method according to one example of the present disclosure.
[0023] Fig. 2 is a schematic diagram of a data process method according to another example of the present disclosure.
[0024] Fig. 3 is a schematic diagram of a data process terminal according to one example of the present disclosure.
[0025] Fig. 4 is a schematic diagram of a data process terminal according to another example of the present disclosure.
[0026] Fig. 5 is a schematic diagram of a data process terminal according to another example of the present disclosure.
[0027] Fig. 6 is a schematic diagram of a data process terminal according to another example of the present disclosure.
DETAILED DESCRIPTION OF ILLUSTRATED EXAMPLES
[0028] The principles described herein may be embodied in many different forms. Not all of the depicted components may be required, however, and some implementations may include additional components. Variations in the arrangement and type of the components may be made without departing from the spirit or scope of the claims as set forth herein. Additional, different or fewer components may be provided.
[0029] Reference throughout this specification to "one example," "an example," "examples," "one embodiment," "an embodiment," "example embodiment," or the like in the singular or plural means that one or more particular features, structures, or characteristics described in connection with an embodiment or an example is included in at least one embodiment or one example of the present disclosure. Thus, the appearances of the phrases "in one embodiment," "in an embodiment," "in an example embodiment," "in one example," "in an example," or the like in the singular or plural in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments or examples.
[0030] The terminology used in the description of the invention herein is for the purpose of describing particular examples only and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of "in" includes "in" and "on" unless the context clearly dictates otherwise. It will also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "may include," "including," "comprises," and/or "comprising," when used in this specification, specify the presence of stated features, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, operations, elements, components, and/or groups thereof.
[0031] As used herein, the terms "module," "unit" may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC); an electronic circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor (shared, dedicated, or group) that executes code; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip. The term module may include memory (shared, dedicated, or group) that stores code executed by the processor.
[0032] The exemplary environment may include a server, a client, and a communication network. The server and the client may be coupled through the communication network for information exchange, such as sending/receiving identification information, sending/receiving data files such as splash screen images, etc. Although only one client and one server are shown in the environment, any number of terminals or servers may be included, and other devices may also be included.
[0033] The communication network may include any appropriate type of communication network for providing network connections to the server and client or among multiple servers or clients. For example, communication network may include the Internet or other types of computer networks or telecommunication networks, either wired or wireless. In a certain embodiment, the disclosed methods and apparatus may be implemented, for example, in a wireless network that includes at least one client.
[0034] In some cases, the client may refer to any appropriate user terminal with certain computing capabilities, such as a personal computer (PC), a work station computer, a server computer, a hand-held computing device (tablet), a smart phone or mobile phone, or any other user-side computing device. In various embodiments, the client may include a network access device. The client may be stationary or mobile.
[0035] A server, as used herein, may refer to one or more server computers configured to provide certain server functionalities, such as database management and search engines. A server may also include one or more processors to execute computer programs in parallel.
[0036] It should be noticed that, the embodiments/examples and the features in the embodiments/examples may be combined with each other in a no conflict condition. This invention will become apparent from the following detailed description when taken in conjunction with the accompanying drawings.
[0037] It should be noticed that, the steps illustrated in the flowchart of the drawings may be performed in a set of computer device with executable program codes. And the order of the steps may be different from that in the drawings under some status, although a logic order is shown in the flowchart.
[0038] The examples of the present disclosure provide a data processing method for backing up and restoring data, which may selectively recover the data so as to improve the efficiency of data recovery. The examples of the present disclosure also provide a corresponding terminal and produce. The details are described respectively in the following.
[0039] The technical solutions in the examples of the present disclosure are clearly and completely described in the following with reference to the accompanying drawings in the examples of the present disclosure. Apparently, the examples to be described are merely a part rather than all of the examples of the present disclosure. All other examples obtained by persons of ordinary skill in the art based on the examples of the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.
[0040] Referring to Fig. 1 , according to one example of the present disclosure, the data processing method comprises the following steps. As shown in Fig. 1, Steps in Fig. 1 may be performed by one or more processors 1-10 to execute instructions stored in the memory 1-12.
[0041] Step 104: obtaining a user-specified backup package with a BACKUP tag.
[0042] The BACKUP tag could be a time-stamp. A time-stamp is an encrypted certificate which comprises 3 parts: (1) a digest of the document requiring a BACKUP tag, (2) the date and time stamp (DTS) when the document is received, (3) a digital signature of DTS.
[0043] The backup package in the examples of the present disclosure includes the user-specified software program and all the data relevant to the software program.
[0044] Step 105: releasing a user-specified software program from the user-specific backup package.
[0045] The user-specified software program in the examples of the present disclosure includes the operation data corresponding to the software program. The operation data includes data and data files that are required for the operation of the software program. The operation data may be data the software program needs to run or may be data generated as a result of running the software program. The operation data may also be part of the software program or external programs to support the running of the software programs. The document directory data may be generated during and after the installation of the software program.
[0046] Step 106: recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
[0047] The data relevant to the specified software program in the examples of the present disclosure refers to the user data generated while a user runs the software program, for example, the game progress and the chat history etc.
[0048] Since not all the backup software programs may run normally, it should detect the condition of the specified software program first. If the software program runs normally, then it's allowed to recover the data relevant to the specified software program based on the data included in the backup package.
[0049] The examples of the present disclosure obtain a user-specified backup package with a BACKUP tag; release a user-specified software program from the backup package; recover the data relevant to the specified software program after the specified software program runs normally.
[0050] Compared with the prior art that may only make a full recovery, the data processing method provided by the examples of the present disclosure may selectively recover the backup data, so as to improve the efficiency of data recovery. [0051] Alternatively, based on the example illustrated in Fig. l, in an optional example of the method provided by the examples of the present disclosure, before said obtaining a user-specified backup package with a BACKUP tag, the method may also comprise:
[0052] Step 101 : receiving an instruction given by a user to backup the user-specified software program;
[0053] Step 102: finding the user-specified software program and the data that are relevant to the user-specified software program, and creating, by the processor, a package including the user-specified software program and the data; and
[0054] Step 103 backing up the package and adding the BACKUP tag to the package.
[0055] In the examples of the present disclosure, during backing up, the terminal doesn't need to back up all the software program and data, but just backup according to user's instructions. After receiving the instruction inputted by a user indicating to back up a specified software program, the terminal finds the specified software program and the data relevant to the software program, and creates a package which includes the specified software program and the data relevant to the specified software program, and backs up the package, then adds a BACKUP tag to the backup package.
Alternatively, based on the optional example illustrated in Fig. l, in another optional example of the data process method provided by the examples of the present disclosure, said finding the specified software program and the data relevant to the specified software program may comprise: searching the user-specified software program and the data that are relevant to the user-specified software program based on a necessary relationship for running the user-specified software program according to a registry.
[0056] In the examples of the present disclosure, the specified software program comprises the necessary driver such as driver or drivers that are required to run the program, and program data, and, the document directory data generated during and after the installation of the software program, such as the game progress and the chat history, etc. [0057] Alternatively, based on the optional example described above, in another optional example of the data processing method provided by the examples of the present disclosure, after said backing up the package and adding a BACKUP tag to the backup package, the method may also comprise: calculating a message digest value for the user-specified software program that runs normally; and sending the message digest value to a server so that the server may search the user-specific software program that matches the message digest value.
[0058] In the examples of the present disclosure, MD5( Message Digest Algorithm) could be used to calculate the message digest value of the data of the software program which runs normally. And send the message digest value to a server so that the server then searches the software program that matches the message digest value.
[0059] Actually, the directory data relevant to the specified software program may be sent along with the message digest value, in this way, the server may choose the operational data that match the message digest value according to the directory data.
[0060] Alternatively, based on the optional example described above, in another optional example of the data processing method provided by the examples of present disclosure, the method further comprises: obtaining a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected, recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
[0061] In the examples of the present disclosure, when an abnormal behavior of the specified software program is detected, the terminal may obtain a normal software program from the server, wherein the normal software program is supposed to match the message digest value corresponding to the specified software program, and recover the data that are relevant to the user-specified software program after the user-specified software program runs normally. By this way, the method ensures the good recovery of the software program.
[0062] All steps of the method disclosed above are performed by using one or more processors 1-10 as shown in Fig. 1. [0063] For ease of understanding, referring to Fig. 2, an application scenario is provided as an example of the present disclosure to describe the process of the data processing method of the present disclosure. All steps shown in Fig. 2 are performed by one or more processors 2-10 to execute instructions stored in memory 2-12.
[0064] Step 200, a terminal receives an instruction given by a user to back up the user-specified software program.
[0065] Step 205, the terminal finds the user-specified software and the data that are relevant to the user-specified software, and creates a package including the user-specified software and the data.
[0066] Step 210, the terminal backups the package and adds the BACKUP tag to the package.
[0067] Step 215, the terminal calculates a message digest value for the user-specified software that runs normally.
[0068] Step 220, the terminal sends the message digest value to a server.
[0069] Step 225, the server searches the user-specific software program that matches the message digest value.
[0070] Step 230, the terminal obtains a user-specified backup package with a BACKUP tag.
[0071] Step 235, the terminal releases a user-specified software from the user-specific backup package.
[0072] Step 240, the terminal recovers the data that are relevant to the user-specified software after the user-specified software runs normally.
[0073] Step 245, the terminal obtains a normal software which matches the message digest value corresponding to the user-specified software from the server when an abnormal behavior of the user-specified software is detected, and recovers the data that are relevant to the user-specified software program after the user-specified software program runs normally.
[0074] Further, In Step 205, when the terminal finds the user-specified software and the data, the terminal may find documents to support the running of the user-specified software program according to the registry and the relevance of the documents for running the user-specified software program; and add the documents to the package for backing up.
[0075] In addition, Step 205, according a system log and the registry, the terminal may search a document directory that stores files generated from the running of user-specified software program and add the files as the part of the data for backing up.
[0076] Referring to Fig.3, the terminal may include various units. The units have structures with one or more processors 2-10 that execute instructions stored in memory 2-12. In an example of the present disclosure, the terminal comprises:
[0077] An obtaining unit 301 having one or more processors coupled with the memory that is used for obtaining a user-specified backup package with a BACKUP tag;
[0078] A releasing unit 302 having one or more processors coupled with the memory that is used for releasing a user-specified software program from the user-specific backup package that is obtained by the obtaining unit 301 ;
[0079] A detecting unit 303 having one or more processors coupled with the memory that is used for detecting if the user-specified software program released by the releasing unit 302 runs normally; and
A recovering unit 304 having one or more processors coupled with the memory that is used for recovering the data that are relevant to the user-specified software program after the detecting unit 303 confirms the user-specified software program runs normally.
[0080] In the example of the present disclosure, the obtaining unit 301 obtains a user-specified backup package with a BACKUP tag; the releasing unit 302 releases a user-specified software program from the backup package obtained by the obtaining unit 301 ; the detecting unit 303 detects if the specified software program released by the releasing unit 302 runs normally, the recovering unit 304 recovers the data relevant to the specified software program after the detecting unit 303 confirms the specified software program runs normally.
[0081] Compared with the prior art, the data processing method of the present disclosure may recover the backup data selectively instead of full recovery, so as to improve the efficiency of data recovery.
[0082] Based on the example illustrated in Fig.3, referring to Fig.4, in another example of the present disclosure, the terminal also comprises:
[0083] A receiving unit 305 having one or more processors coupled with the memory that is used for receiving an instruction given by a user to back up the user-specified software program;
[0084] A searching unit 306 having one or more processors coupled with the memory that is used for finding the user-specified software program and the data that are relevant to the user-specified software program according to the instruction received by the receiving unit 305;
[0085] The searching unit may find documents to support the running of the user-specified software program according to the registry and the relevance of the documents for running the user-specified software program, and add the documents to the package for backing up. Also, the searching unit may according a system log and the registry, search a document directory that stores files generated from the running of user-specified software program and add the files as the part of the data for backing up.
[0086] A packaging unit 307 having one or more processors coupled with the memory that is used for creating a package including the user-specified software program and the data that are relevant to the user-specified software program found by the searching unit 306; and
[0087] A backing-up unit 308 having one or more processors coupled with the memory that is used for backing up the package created by the packaging unit 307 and adding the BACKUP tag to the package.
[0088] All units in Fig. 4 have structures with one or more processors 4-10 that execute instructions stored in memory 4-12.
[0089] Based on the example illustrated in Fig. 4, in another example of the terminal of the present disclosure, the searching unit 306 is used for searching the user-specified software program and the data that are relevant to the user-specified software program based on a necessary relationship for running the user-specified software program according to a registry. [0090] Based on the example illustrated in Fig. 4, referring to Fig. 5, in another example of the terminal provided by the examples of the present disclosure, the terminal 30 further comprises:
[0091] A calculating unit 309 having one or more processors coupled with the memory that is used for calculating a message digest value for the user-specified software program that runs normally; and
[0092] A sending unit 310 having one or more processors coupled with the memory that is used for sending the message digest value to a server so that the server may search the user-specific software program that matches the message digest value.
[0093] All units in Fig. 5 have structures with one or more processors 5-10 that execute instructions stored in memory 5-12.
[0094] Based on the example illustrated in Fig.5, in another example of the terminal of the present disclosure, the obtaining unit 301 is used for obtaining a normal software program to execute, which matches the message digest value corresponding to the specified software program from the server when an abnormal behavior is detected by the detecting unit 303, and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
[0095] Referring to Fig. 6, it shows a schematic diagram of the structure of the terminal according to one example of the present disclosure. The terminal may be used to implement any data process method mentioned above. Specifically, the terminal 1200 may comprise a RF (Radio Frequency) circuit 110, a storage device 120 including one or more computer readable storage medium which may be either transitory or non-transitory, an input unit 130, a display unit 140, a sensor 150, an audio circuit 160, a Wifi (wireless fidelity) module 170, a single core or multi-core processor 180, a power supply 190 etc. One skilled in the art may understand that the structure illustrated in Fig 6 doesn't make any limitation to the terminal. The terminal may have more or fewer components, or a combination of some the components, or a different arrangement of the components.
[0096] In an example, the RF circuit 110 may be used to send and receive signals when send and receive messages or during a phone call, in particular, after receiving the downlink signal of a base station, it transfers the signal to one or more processors 180; in addition, it sends the data related to the uplink to a base station. Generally, the RF circuit 110 includes but not limited to an antenna, at least one amplifier, a tuner, one or more oscillator, a SIM card, a transceiver, a coupler, LNA (Low Noise Amplifier), a duplexer, etc. Besides, the RF circuit 110 may also connect to other devices via wireless communication network. The wireless communication network includes but is not limited to GSM (Global System of Mobile communication), GPRS (General Packet Radio Service), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), LTE (Long Term Evolution), email, SMS (Short Messaging Service), etc.
[0097] The storage device 120 may be either transitory or non-transitory. The storage device 120 may be used to store software programs and modules, the processor 180 performs all kinds of functions and processes data by executing the software program and module stored in the storage device 120. The storage device 120 mainly comprises an area for programs and an area for data. Wherein the area for programs may store the operating system, and application programs having at least one function (such as audio playback or image playback, etc); the area for data may store the data created while using the terminal 1200 (such as audio data, phone book, etc). Besides, the storage device 120 may include high speed random access memory, and nonvolatile memory as well, such as at least one disk storage device, flash memory device, or other volatile solid-state memory. Correspondingly, the storage device 120 may also include a memory controller, so that the processor 180 and the input unit may visit the storage device 120.
[0098] A product may be formed based on the storage device 120. The product may comprise: a non-transitory computer readable medium with processor executable instructions stored thereon, wherein the instructions when executed by one or more processors cause the one or more processors to: obtain a user-specified backup package with a BACKUP tag; release a user-specified software program from the user-specific backup package; and recover the data that are relevant to the user-specified software program after the user-specified software program runs normally.
[0099] Further, the product, before the instructions to be executed to obtain the user-specified backup package, may further comprises instructions when executed by the one or more processors cause the one or more processors to: receive an instruction given by a user to backup the user-specified software program; find the user-specified software program and the data that are relevant to the user-specified software program, and create a package including the user-specified software program and the data; and backup the package and add the BACKUP tag to the package.
[00100] The input unit 130 may be used to receive inputted number or character information, and generate the input of keyboard, mouse, joystick, track ball or optical input, which is relevant to user settings and function control. Specifically, the input unit 130 may comprise a touch-sensitive surface 131 and other input device 132. The touch-sensitive surface 131, also known as a touchscreen or a touchpad, which may collect the touch on or near it (for example, the touch of a finger, a touch pen, or any other appropriate objects or accessories on the touch-sensitive surface 131 or near the touch-sensitive surface 131), and drive corresponding connecting device based on a preset program.
[00101] Optionally, the touch-sensitive surface 131 may comprise a touch detection means and a touch controller. Wherein, the touch detection means detects the position of the user's touch, and detects the signal caused by the touch, sends the signal to the touch controller. The touch controller receives touch information from the touch detection means, and converts it to touch coordinates, and then send it to the processor 180, the touch controller may also receive and execute the instructions from the processor 180.
[00102] In addition, the touch-sensitive surface 131 may be made a TS Resistive, CTS Capacitive, infrared, or surface acoustic wave touch screen etc. Besides the touch-sensitive surface 131, the input unit 130 may also comprises other input device 132. Specifically, the other input device 132 includes but is not limited to one or more selections from the group of physically keyboard, function keys (such as volume control buttons, power button etc), track ball, mouse, joystick etc. [00103] The display unit 140 may be used to display the information inputted by a user or provided to a user, and all kinds of the user interfaces of the terminal 1200. The user interface may be any combination of graph, text, icon and video. The display unit 140 may comprise a display panel 141, optionally, the display panel 141may be LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), etc.
[00104] Moreover, the touch-sensitive surface 131 may cover the display panel 141. When the touch-sensitive surface 131 detects a touch on or near it, it sends the touch to the processor 180 to determine the type of this touch. Then the processor 180 provides corresponding visual output to the display panel 141 based on the touch's type. The touch-sensitive surface 131 and the display panel 141 realize input and output as two independent components, in some examples, the touch-sensitive surface 131 and the display panel 141 could be integrated together to realize input and output.
[00105] The terminal 1200 may further comprise at least a sort of sensor 150, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein, the ambient light sensor may adjust the brightness of the display panel 141 according to the ambient light, the proximity sensor may shut down the display panel 141 and/or backlight when the terminal 1200 is getting close to an ear.
[00106] As a movement sensor, a gravity sensor may detect the acceleration in all directions (typically in 3 axes), and may detect the magnitude and direction of gravity, which may be applied to direction-detection applications (such as change the screen orientation, some games, magnetometer calibration), vibration recognition related functions (such as pedometer, knock) etc. The terminal 1200 may also comprises a gyroscope, a barometer, a hygrometer, an infrared sensor and other sensors, but no more details will be given here.
[00107] The audio circuit 160, loudspeaker 161 and microphone 162 may provide the audio interface between the user and the terminal 1200. After the received audio data are converted to electrical signals, the audio circuit 160 transfers the electrical signals to the loudspeaker 161 where the electrical signals are converted to audio signals and outputted. On the other hand, the microphone 162 converts the received audio signals to electrical signals, then the audio circuit 160 receives and converts the electrical signals to audio data, after being processed by the processor 180, the audio data are sent to, for example, another terminal via the RF circuit 110, or the audio data are sent to the storage device 120 for future processing. The audio circuit 160 may also comprise a headset jack so as to allow the communication between the peripheral headset and the terminal 1200.
[00108] WiFi is a short-range wireless technology. With the WiFi module 170, the terminal 1200 allows the user to email, browse the web, and acquire streaming media etc. and it also provides the user with wireless broadband internet access. Although it is shown in Fig. l, persons of ordinary skill in the art should understand that the WiFi module 170 is not an indispensable component of terminal 1200, if necessary, it may definitely be omitted within the scope of the present disclosure.
[00109] The processor 180 is the control center of terminal 1200. It connects all the parts of a mobile phone with different kinds of interfaces and wirings, and it executes or performs the software programs and/or module stored in the storage device 120, also it retrieves data from storage device 120, performs the terminal 1200's functions and processes the data, so as to control the mobile phone. Optionally, the processor 180 may have one or more cores. Preferably, the processor 180 may be integrated with an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface and application programs, etc. the modem processor mainly processes the wireless communication. It is to be understood that the modem processor may not be integrated in the processor 180.
[00110] The terminal 1200 also comprises a power supply 190 (such as a battery) providing power to each component, preferably, the power supply logically connects to the processor 180 by a power management system, so as to realize the control of charge, discharge, and power management. The power supply 190 may also comprise one or more AC or DC power, recharging system, circuit fault detection circuit, power converter, inverter, power state indicator and any other components.
[00111] Although it's not shown in the Figures, the terminal 1200 may also comprise a camera, a Bluetooth module etc., but no more details will be given here. In this specific example, the display unit of the terminal is a touch screen monitor, the terminal also comprises a storage device, and one or more programs, wherein, one or more programs are stored in the storage device. After configuration, one or more processors execute the one or more programs which contain the instructions for performing the following operations: obtaining a user-specified backup package with a BACKUP tag; releasing a user-specified software program from the backup package; recovering the data relevant to the specified software program after the specified software program runs normally.
[00112] Suppose the above example is a first possible example. Based on the first possible example, in a second possible example, the storage device of the terminal also stores the instructions used to perform the following operations: receiving an instruction given by a user to back up the specified software program; finding the specified software program and the data relevant to the specified software program, and create a package including the specified software program and the data relevant to the specified software program; backing up the package and add a BACKUP tag to the backup package.
[00113] Based on the second possible example, in a third possible example, the storage device of the terminal further stores the instruction used to perform the following operations: searching the specified software program and the data relevant to the specified software program based on the necessary relationships for running the specified software program according to registry.
[00114] Based on the second or the third possible example, in a fourth possible example, the storage device of the terminal further stores the instructions used to perform the following operations: calculating a message digest value for the specified software program running normally; sending the message digest value to a server so that the server may search the software program matching said message digest value.
[00115] Based on the fourth possible example, in a fifth possible example, the storage device of the terminal further stores the instructions used to perform the following operations: obtaining a normal software program which matches the message digest value corresponding to the specified software program from the server when an abnormal behavior of the specified software is detected, and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
[00116] In summary, the examples of the present disclosure obtain a user-specified backup package with a BACKUP tag; release a user-specified software program from the backup package; recover the data relevant to the specified software program after the specified software program runs normally. Compared with the prior art that may only make a full recovery, the data processing method provided by the examples of the present disclosure may recover the backup data selectively, so as to improve the efficiency of data recovery.
[00117] As another aspect, a further example of the present disclosure provides a computer readable storage medium which may be either the computer readable storage medium contained in the storage device as described in the above example, or an independent computer readable storage medium that is not assembled in a terminal.
[00118] The non-transitory computer readable storage medium stores one or more programs which are executed by one or more processor to perform a data processing method which comprises the steps of: obtaining a user-specified backup package with a BACKUP tag; releasing a user-specified software program from the user-specific backup package; and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally.
[00119] Suppose the above example is a first possible example. Based on the first possible example, in a second possible example, before said obtaining a user-specified backup package with a BACKUP tag, the method further comprises: receiving an instruction given by a user to backup the user-specified software program; finding the user-specified software program and the data that are relevant to the user-specified software program, and create a package including the user-specified software program and the data; and backing up the package and add the BACKUP tag to the package.
[00120] Based on the second possible example, in a third possible example, said finding the specified software program and the data relevant to the specified software program comprises: searching the user-specified software program and the data that are relevant to the user-specified software program based on a necessary relationship for running the user-specified software program according to a registry.
[00121] Based on the second or the third possible example, in a fourth possible example, after said backing up the package and adding a BACKUP tag to the backup package, the method comprises: calculating a message digest value for the user-specified software program that runs normally; and sending the message digest value to a server so that the server can search the user-specific software program that matches the message digest value.
[00122] Based on the fourth possible example, in a fifth possible example, the method further comprises: obtaining a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected, and recovering the data that are relevant to the user-specified software program after the user-specified software program runs normally .
[00123] One skill in the art may understand that all or part of the steps of the foregoing method examples may be implemented by a program instructing relevant hardware. The foregoing program may be stored in a computer readable storage medium. When the program is run, the steps of the foregoing method examples are performed. The foregoing storage medium may be any medium capable of storing program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
[00124] The foregoing descriptions are merely specific examples of the present disclosure, but are not intended to limit the protection scope of the present disclosure. Any variation or replacement readily figured out by persons skilled in the art within the technical scope disclosed in the present disclosure shall all fall within the protection scope of the present disclosure.

Claims

Claims
1. A data processing method for backing up and restoring data in a processor that prepares for a system shutdown, the method comprising:
receiving, by the processor, an instruction given by a user to backup a user-specified software program;
finding, by the processor, the user-specified software program and data that are relevant to the user-specified software program, and creating, by the processor, a package including the user-specified software program and the data;
backing up, by the processor, the package and adding a BACKUP tag to the package;
obtaining, by the processor, the package with the added BACKUP tag;
releasing, by the processor, the user-specified software program from the package with the BACKUP tag; and
recovering, by the processor, the data that are relevant to the user-specified software program after the user-specified software program runs normally.
2. The method as claimed in claim 1, wherein finding the user-specified software program and the data comprises:
searching, by the processor, the user-specified software program and the data that are relevant to the user-specified software program based on a relationship for running the user-specified software program recorded in a registry.
3. The method as claimed in claim 1 , after backing up the package and adding the BACKUP tag to the package, the method comprising:
calculating, by the processor, a message digest value for the user-specified software program that runs normally; and sending, by the processor, the message digest value to a server so that the server can search the user-specific software program that matches the message digest value.
4. The method as claimed in claim 3, the method further comprising:
obtaining, by the processor, a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected; and
recovering, by the processor, the data that are relevant to the user-specified software program after the user-specified software program runs normally.
5. The method as claimed in claim 2, wherein finding the user-specified program and data further comprises: finding documents to support the running of the user-specified software program according to the registry and the relevance of the documents for running the user-specified software program; and adding the documents to the package for backing up.
6. The method as claimed in claim 2, wherein finding the user-specified software program and data comprises:
according a system log and the registry, searching a document directory that stores files generated from the running of user-specified software program and adding the files as the part of the data for backing up.
7. A data processing terminal backing up and restoring data, the terminal comprising: one or more processor coupled with a memory; an obtaining unit having one or more processors coupled with the memory that is used for obtaining a user-specified backup package with a BACKUP tag; a releasing unit having one or more processors coupled with the memory that is used for releasing a user-specified software program from the user-specific backup package that is obtained by the obtaining unit;
a detecting unit having one or more processors coupled with the memory that is used for detecting if the user-specified software program released by the releasing unit runs normally; and
a recovering unit having one or more processors coupled with the memory that is used for recovering the data that are relevant to the user-specified software program after the detecting unit confirms the user-specified software program runs normally.
8. The data processing terminal as claimed in claim 7, the terminal further comprising:
a receiving unit having one or more processors coupled with the memory that is used for receiving an instruction given by a user to back up the user-specified software program;
a searching unit having one or more processors coupled with the memory that is used for finding the user-specified software program and the data that are relevant to the user-specified software program according to the instruction received by the receiving unit;
a packaging unit having one or more processors coupled with the memory that is used for creating a package including the user-specified software program and the data that are relevant to the user-specified software program found by the searching unit; and
a backing-up unit having one or more processors coupled with the memory that is used for backing up the package created by the packaging unit and adding the BACKUP tag to the package.
9. The data processing terminal as claimed in claim 8, wherein the searching unit is used for searching the user-specified software program and the data that are relevant to the user-specified software program based on a relationship for running the user-specified software program recorded in a registry.
10. The data processing terminal as claimed in claim 8 or 9, the terminal further comprising:
a calculating unit having one or more processors coupled with the memory that is used for calculating a message digest value for the user-specified software program that runs normally; and
a sending unit having one or more processors coupled with the memory that is used for sending the message digest value to a server so that the server can search the user-specific software program that matches the message digest value.
11. The data processing terminal as claimed in claim 10, wherein the obtaining unit is used for
obtaining a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected by the detecting unit; and recovering, by the processor, the data that are relevant to the user-specified software program after the user-specified software program runs normally.
12. The data processing terminal as claimed in claim 8, wherein the searching unit is further used for: finding documents to support the running of the user-specified software program according to the registry and the relevance of the documents for running the user-specified software program; and adding the documents to the package for backing up.
13. The data processing terminal as claimed in claim 8, wherein the searching unit is further used for:
according a system log and the registry, searching a document directory that stores files generated from the running of user-specified software program and adding the files as the part of the data for backing up.
14. A data processing product for backing up and restore data, the produce comprising:
a non-transitory computer readable medium with processor executable instructions stored thereon, wherein the instructions when executed by one or more processors cause the one or more processors to:
obtain a user-specified backup package with a BACKUP tag;
release a user-specified software program from the user-specific backup package; and
recover the data that are relevant to the user-specified software program after the user-specified software program runs normally.
15. The product of claim 14, before the instructions to be executed to obtain the user-specified backup package, the product further comprising instructions when executed by the one or more processors cause the one or more processors to:
receive an instruction given by a user to backup the user-specified software program; find the user-specified software program and the data that are relevant to the user-specified software program, and create a package including the user-specified software program and the data; and backup the package and add the BACKUP tag to the package.
16. The product of claim 15, wherein the instructions to find the user-specified software program and the data when executed by the one or more processors further cause the one or more processors to: search the user-specified software program and the data that are relevant to the user-specified software program based on a relationship for running the user-specified software program recorded in a registry.
17. The product of either claim 15 or 16, after executing the instructions by the one or more processor to backup the package and add the BACKUP tag to the package, the product comprising instructions to be executed by the one or more processors further cause the one or more processors to: calculate a message digest value for the user-specified software program that runs normally; and send the message digest value to a server so that the server can search the user-specific software program that matches the message digest value.
18. The product of claim 17, further comprising instructions to be executed by the one or more processors further cause the one or more processors to:
obtain a normal software program which matches the message digest value corresponding to the user-specified software program from the server when an abnormal behavior of the user-specified software is detected; and recover the data that are relevant to the user-specified software program after the user-specified software program runs normally.
19. The product of claim 15, wherein the instructions to find the user-specified software program and the data further include instructions to:
find documents to support the running of the user-specified software program according to the registry and the relevance of the documents for running the user-specified software program; and add the documents to the package for backing up.
20. The product of claim 15, wherein the instructions to find the user-specified software program and the data further include instructions to:
according a system log and the registry, search a document directory that stores files generated from the running of user-specified software program and add the files as the part of the data for backing up.
PCT/CN2014/083199 2013-07-29 2014-07-29 Data processing method, terminal and product for backing up and restoring data thereof WO2015014267A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310323836.0 2013-07-29
CN201310323836.0A CN104216798A (en) 2013-07-29 2013-07-29 Data processing method and terminal

Publications (1)

Publication Number Publication Date
WO2015014267A1 true WO2015014267A1 (en) 2015-02-05

Family

ID=52098317

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/083199 WO2015014267A1 (en) 2013-07-29 2014-07-29 Data processing method, terminal and product for backing up and restoring data thereof

Country Status (2)

Country Link
CN (1) CN104216798A (en)
WO (1) WO2015014267A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260269A (en) * 2015-11-02 2016-01-20 广东欧珀移动通信有限公司 Backup method and device as well as terminal for chatting records
CN110221756B (en) * 2019-06-18 2020-08-28 Oppo广东移动通信有限公司 Method, device, terminal and storage medium for processing application data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193953A1 (en) * 2003-02-21 2004-09-30 Sun Microsystems, Inc. Method, system, and program for maintaining application program configuration settings
US7546428B1 (en) * 2004-07-01 2009-06-09 Emc Corporation Computer architecture for managing replication of data in a data storage environment
US20120303583A1 (en) * 2011-05-27 2012-11-29 Empire Technology Development Llc Seamless application backup and recovery using metadata

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100391291C (en) * 2005-08-10 2008-05-28 华为技术有限公司 Data backing-up and recovering method and system
CN101403987B (en) * 2008-11-13 2012-08-29 上海第二工业大学 Method for one-key backup and PC software system recovery
CN101877651B (en) * 2010-05-20 2014-03-12 中兴通讯股份有限公司 Method and system for recovering system software in network terminating equipment
CN102508736A (en) * 2011-10-11 2012-06-20 宇龙计算机通信科技(深圳)有限公司 Backup method of application program in communication terminal and communication terminal
CN103186387B (en) * 2011-12-27 2016-07-13 宏碁股份有限公司 Electronic installation and its method for updating OS

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193953A1 (en) * 2003-02-21 2004-09-30 Sun Microsystems, Inc. Method, system, and program for maintaining application program configuration settings
US7546428B1 (en) * 2004-07-01 2009-06-09 Emc Corporation Computer architecture for managing replication of data in a data storage environment
US20120303583A1 (en) * 2011-05-27 2012-11-29 Empire Technology Development Llc Seamless application backup and recovery using metadata

Also Published As

Publication number Publication date
CN104216798A (en) 2014-12-17

Similar Documents

Publication Publication Date Title
US10853437B2 (en) Method and apparatus for invoking application programming interface
US10956280B2 (en) Data backup method, electronic device, and storage medium
WO2015158300A1 (en) Methods and terminals for generating and reading 2d barcode and servers
CN108040159B (en) Restart positioning method based on hardware drive, mobile terminal and readable storage medium
CN108039963B (en) Container configuration method and device and storage medium
CN106502703B (en) Function calling method and device
US10956653B2 (en) Method and apparatus for displaying page and a computer storage medium
US10621259B2 (en) URL error-correcting method, server, terminal and system
WO2015078342A1 (en) Method for acquiring memory information, and terminal
WO2014194713A1 (en) Method,apparatus and computer readable storage medium for displaying video preview picture
CN106156097B (en) Method and device for processing browser input records
TWI494755B (en) Method,device and computer readable storage component for software repair
WO2014166307A1 (en) Method for determining performance of process of application and computer system
EP3687118A1 (en) Information search method, terminal, network device, and system
EP3129883B1 (en) Method and apparatus for repairing dynamic link library file
CN108090345B (en) Linux system external command execution method and device
EP2869233B1 (en) Method, device and terminal for protecting application program
CN107861827B (en) Card screen detection method, mobile terminal and computer readable storage medium
WO2015070718A1 (en) Communication number notification method and communication device
US10073957B2 (en) Method and terminal device for protecting application program
WO2015014267A1 (en) Data processing method, terminal and product for backing up and restoring data thereof
CN106339402B (en) Method, device and system for pushing recommended content
CN110196662B (en) Method, device, terminal and storage medium for displaying synchronization state
US11327845B2 (en) Image synchronization method and device, and server
CN107423077A (en) Mobile terminal and its Application Backup and installation method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14831448

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 02.08.2016)

122 Ep: pct application non-entry in european phase

Ref document number: 14831448

Country of ref document: EP

Kind code of ref document: A1