A data recovery method and device supporting data fusion
By generating a fused directory view on the second terminal and combining it with the directory views of the first and second terminals to perform data fusion, the problem of the inability to achieve data fusion between old and new versions in the existing technology is solved, thereby improving data recovery efficiency and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2022-11-17
- Publication Date
- 2026-06-16
AI Technical Summary
Existing smart terminal data recovery technologies cannot integrate old and new versions of data, resulting in a poor user experience.
By integrating a backup plugin on the second terminal, a fused directory view is generated. This view is then combined with the directory views of the first and second terminals to perform data fusion and recovery, supporting multi-version data recovery.
It enables the fusion and recovery of data from both old and new versions, improving data recovery efficiency and user experience.
Smart Images

Figure CN118051377B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of data backup and data recovery, and in particular to a data recovery method and apparatus that supports data fusion. Background Technology
[0002] With the diversification of smart terminal functions, the types of data that can be stored in smart terminals are becoming increasingly diverse, and the amount of data stored is also increasing. Therefore, when end users need to transfer or back up data—for example, when a user changes terminals and needs to migrate user data (such as pictures, files, videos, audio, contacts, settings, and application data) stored on the old terminal to the new terminal—or when a user's terminal malfunctions and needs repair or an operating system reinstallation, they need to back up and migrate the data stored on the old terminal to storage media or the new terminal.
[0003] Currently, smart terminals are typically equipped with application data backup and recovery functions. Specifically, the operating system may include a backup system to store user data and restore it when needed. For example, when a user replaces their smart terminal, they can use this backup system to back up the user data from the old terminal, either by saving it to the old terminal or to the cloud; then, the backed-up user data can be restored to the new terminal, thus preserving the user's application data or settings from the old terminal.
[0004] However, existing backup functions can usually only restore one version of user data. For example, they can delete application data on a new device and retain the user data backed up on the old device; or, if a user has backed up multiple versions of user data, only one version of user data can be restored (such as the latest version of the backup data). It is impossible to retain multiple versions of backup data to achieve the fusion of old and new data, resulting in a poor user experience. Summary of the Invention
[0005] This application provides a data recovery method and apparatus that supports data fusion, which solves the problem that user data of existing devices cannot be retained during data recovery in the prior art.
[0006] To achieve the above objectives, this application adopts the following technical solution:
[0007] In a first aspect, a data recovery method supporting data fusion is provided, the method comprising: a second terminal launching a first application, the first application integrating a backup plugin provided by an application framework layer; the second terminal generating a fused directory view of the first application through the backup plugin, the fused directory view being obtained by data fusion based on the directory view of the first application on the first terminal and the directory view of the first application on the second terminal; and the second terminal recovering the data of the first application on the second terminal based on the fused directory view.
[0008] In the above implementation, the terminal device can use data fusion technology to merge new and old versions of user data through a backup system and achieve multi-version data recovery. For example, it can merge and restore user data from a new device (second terminal) and an old device (first terminal), or merge and restore backup data from different versions of the old device, effectively improving data recovery efficiency and enhancing the user experience.
[0009] In one implementation, the second terminal generates a merged catalog view of the first application through a backup plugin. Specifically, the second terminal obtains the backup configuration provided by the developer of the first application through the backup plugin to determine the merged catalog view of the first application. The terminal device can provide an interface for the application developer, allowing the developer to customize data recovery modes and extend them through backup configuration. Therefore, when the second terminal performs data recovery on the first application, it can determine and generate the corresponding merged catalog view based on the backup configuration provided by the application developer, enabling data recovery across multiple versions.
[0010] In one implementation, the second terminal generates a merged directory view of the first application through the backup plugin, specifically including at least two of the following: when the backup configuration is used to indicate data recovery using a first strategy, the second terminal uses the directory view of the first application on the first terminal as the merged directory view; when the backup configuration is used to indicate data recovery using a second strategy, the second terminal obtains the merged directory view based on the directory view of the first application on the first terminal and the directory view of the first application on the second terminal; when the backup configuration is used to indicate data recovery using a third strategy, the second terminal uses the directory view of the first application on the second terminal as the merged directory view.
[0011] In a second aspect, an electronic device is provided, comprising: a memory and one or more processors; the memory and the processors are coupled; the memory is used to store computer program code, the computer program code including computer instructions, and when the processor executes the computer instructions, the electronic device performs the following operations: launching a first application, the first application integrating a backup plugin, the backup plugin being provided by an application framework layer; generating a fused directory view of the first application through the backup plugin, the fused directory view being obtained by data fusion based on a directory view of the first application on a first terminal and a directory view of the first application on a second terminal; and restoring the data of the first application on the second terminal based on the fused directory view.
[0012] In one implementation, the electronic device further performs the following step: obtaining the backup configuration provided by the developer of the first application through the backup plugin to determine the fusion catalog view of the first application.
[0013] In one embodiment, the electronic device is further configured to perform at least two of the following: when the backup configuration is configured to indicate data recovery using a first strategy, the electronic device uses the directory view of the first application on the first terminal as the merged directory view; when the backup configuration is configured to indicate data recovery using a second strategy, the electronic device obtains the merged directory view based on the directory view of the first application on the first terminal and the directory view of the first application on the second terminal; when the backup configuration is configured to indicate data recovery using a third strategy, the electronic device uses the directory view of the first application on the second terminal as the merged directory view.
[0014] Thirdly, a chip system is provided, the chip system being applied to an electronic device; the chip system includes one or more interface circuits and one or more processors; the interface circuits and the processors are interconnected via lines; the interface circuits are used to receive signals from the memory of the electronic device and send the signals to the processors, the signals including computer instructions stored in the memory; when the processor executes the computer instructions, the electronic device performs a data recovery method supporting data fusion as described in any one of the first aspects above.
[0015] Fourthly, a computer-readable storage medium is provided, wherein instructions are stored therein, which, when the storage medium is operated on an electronic device, cause the electronic device to perform a data recovery method supporting data fusion as described in any one of the first aspects above.
[0016] Fifthly, a computer program product is provided that, when the computer program product is run on a computer, causes the computer to perform a data recovery method supporting data fusion as described in any one of the first aspects above.
[0017] It is understood that any of the electronic devices, chip systems, computer-readable media, or computer program products provided above are used to perform the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods, and will not be repeated here. Attached Figure Description
[0018] Figure 1a A system architecture diagram of a communication system provided in this application embodiment;
[0019] Figure 1b This is a schematic diagram of the hardware structure of a terminal device provided in an embodiment of this application;
[0020] Figure 2 This is a schematic diagram of the software structure of a terminal device provided in an embodiment of this application;
[0021] Figure 3 A flowchart illustrating a data recovery method supporting data fusion provided in an embodiment of this application;
[0022] Figures 4 to 7 A schematic diagram of a directory tree supporting data fusion for data recovery provided in an embodiment of this application;
[0023] Figure 8 A schematic diagram of the structure of a backup system provided in an embodiment of this application;
[0024] Figure 9 A schematic diagram of a data recovery interface provided in an embodiment of this application;
[0025] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0026] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.
[0027] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0028] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0029] First, a brief introduction will be given to the implementation environment and application scenarios of the embodiments of this application.
[0030] This application provides a data recovery method supporting data fusion. The first and second terminals involved in this method can be smartphones, tablets, smart TV boxes, or other desktop, laptop, or handheld devices, such as Ultra-mobile Personal Computers (UMPCs), netbooks, Personal Digital Assistants (PDAs), Portable Multimedia Players (PMPs), dedicated media players, consumer electronics devices, wearable devices, Augmented Reality (AR) and Virtual Reality (VR) devices, customer-premises equipment (CPEs), point-of-sale (POS) machines, wireless terminals in industrial control, self-driving, remote medical, smart grid, transportation safety, smart city, smart home, or in-vehicle devices, etc. The first terminal and the second terminal can be the same type of device or different types of devices; this application embodiment does not limit this.
[0031] Taking a scenario where both the first and second terminals are smartphones as an example, such as Figure 1a The diagram illustrates an implementation scenario of the data recovery method supporting data fusion according to an embodiment of this application. This implementation scenario may include a first terminal 100 and a second terminal 110. Due to reasons such as a user replacing their smartphone, multiple smart devices running the same application simultaneously, phone malfunction, or system reinstallation, it is necessary to back up and restore user data (including pictures, videos, office files, audio, contacts, settings, and application data) from the first terminal 100 to the second terminal 110; or, it is necessary to back up and restore user data corresponding to some applications in the first terminal 100 to the second terminal 110. For example, the second terminal 110 can synchronize user data of application 1 on the first terminal 100 through data recovery. In other words, this embodiment can be applied to the backup and recovery of data from the entire device, as well as the backup and recovery of user data for a single application.
[0032] In the embodiments of this application, the first terminal 100 can be a terminal that performs data backup, and the second terminal 110 can be a terminal that performs data recovery.
[0033] In one implementation, the backed-up user data (referred to as backup data) of the first terminal 100 can be stored in the local storage device of the first terminal 100, or the user data can be uploaded to the cloud, such as... Figure 1a As shown. For example, when a user backs up the entire device data or certain applications (such as application 1) on the first terminal 100, the backup data can be uploaded to the cloud. Then, the user can access the corresponding backup data of the first terminal 100 on the second terminal 110 by accessing the user's cloud storage area.
[0034] Data recovery can be achieved through data transmission lines, near-field communication (NFC), Bluetooth, infrared, Wi-Fi, cellular link D2D, Li-fi (Light Fidelity), etc. The specific implementation method of data backup is not limited in the embodiments of this application.
[0035] Figure 1b A schematic diagram of the terminal device 100 is shown. The structures of the first terminal and the second terminal can also be referred to as follows. Figure 1b The structure shown is illustrated. It is understood that the structure illustrated in the embodiments of the present invention does not constitute a specific limitation on the first terminal or the second terminal. In other embodiments of this application, the first terminal 100 (or the second terminal 110) may include more than... Figure 1b The diagram shows more or fewer components, or combinations of components, or separate components, or different arrangements of components. The components shown can be implemented in hardware, software, or a combination of both.
[0036] Terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0037] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0038] The controller can serve as the central nervous system and command center of the terminal device 100. The controller can generate operation control signals based on the instruction opcode and timing signals to control the fetching and execution of instructions.
[0039] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0040] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0041] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C buses. The processor 110 can couple to the touch sensor 180K, charger, flash, camera 193, etc., through different I2C bus interfaces. For example, the processor 110 can couple to the touch sensor 180K through the I2C interface, enabling the processor 110 and the touch sensor 180K to communicate through the I2C bus interface, thereby realizing the touch function of the terminal device 100.
[0042] The I2S interface can be used for audio communication. In some embodiments, the processor 110 may include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface to enable the function of answering phone calls through a Bluetooth headset.
[0043] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via the PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering phone calls through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0044] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface to enable music playback through Bluetooth headphones.
[0045] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI) and a display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to enable the shooting function of the terminal device 100. The processor 110 and the display screen 194 communicate via the DSI interface to enable the display function of the terminal device 100.
[0046] The GPIO interface can be configured via software. It can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to a camera 193, a display screen 194, a wireless communication module 160, an audio module 170, a sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0047] USB port 130 is a USB standard compliant interface, specifically a Mini USB port, Micro USB port, or USB Type-C port. USB port 130 can be used to connect a charger to charge terminal device 100, and can also be used for data transfer between terminal device 100 and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other electronic devices, such as AR devices.
[0048] It is understood that the interface connection relationships between the modules illustrated in the embodiments of the present invention are merely illustrative and do not constitute a structural limitation on the terminal device 100. In other embodiments of this application, the terminal device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.
[0049] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the terminal device 100. While charging the battery 142, the charging management module 140 can also supply power to the electronic device via the power management module 141.
[0050] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, external memory, display screen 194, camera 193, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.
[0051] The wireless communication function of the terminal device 100 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0052] Antennas 1 and 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.
[0053] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the terminal device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0054] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.
[0055] The wireless communication module 160 can provide solutions for wireless communication applications on the terminal device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0056] In some embodiments, antenna 1 of terminal device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling terminal device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0057] Terminal device 100 implements display functions through a GPU, display screen 194, and application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0058] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, terminal device 100 may include one or N displays 194, where N is a positive integer greater than 1.
[0059] Terminal device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0060] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.
[0061] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, the terminal device 100 may include one or N cameras 193, where N is a positive integer greater than 1.
[0062] A digital signal processor (DSP) is used to process digital signals. Besides digital image signals, it can also process other digital signals. For example, when terminal device 100 selects a frequency, the DSP can perform Fourier transforms on the frequency energy.
[0063] Video codecs are used to compress or decompress digital video. Terminal device 100 may support one or more video codecs. Thus, terminal device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG 2, MPEG 3, MPEG 4, etc.
[0064] NPU stands for Neural Network (NN) Computing Processor. By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs enable intelligent cognitive applications in terminal devices, such as image recognition, facial recognition, speech recognition, and text understanding.
[0065] The external storage interface 120 can be used to connect an external storage card, such as a Micro SD card, to expand the storage capacity of the terminal device 100. The external storage card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external storage card.
[0066] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of terminal device 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of terminal device 100 (such as audio data, phonebook, etc.). Furthermore, internal memory 121 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0067] Terminal device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0068] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0069] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The terminal device 100 can listen to music or make hands-free calls through the speaker 170A.
[0070] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the terminal device 100 answers a phone call or voice message, the receiver 170B can be brought close to the listener's ear to hear the voice.
[0071] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Terminal device 100 may be equipped with at least one microphone 170C. In some embodiments, terminal device 100 may be equipped with two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, terminal device 100 may be equipped with three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.
[0072] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.
[0073] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Terminal device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, terminal device 100 detects the intensity of the touch operation based on pressure sensor 180A. Terminal device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation commands. For example: when a touch operation with an intensity less than a first pressure threshold is applied to the SMS application icon, a command to view an SMS is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to the SMS application icon, a command to create a new SMS is executed.
[0074] The gyroscope sensor 180B can be used to determine the motion attitude of the terminal device 100. In some embodiments, the gyroscope sensor 180B can determine the angular velocity of the terminal device 100 around three axes (i.e., the x, y, and z axes). The gyroscope sensor 180B can be used for image stabilization. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the terminal device 100's shake, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to counteract the shake of the terminal device 100 through reverse movement, thus achieving image stabilization. The gyroscope sensor 180B can also be used in navigation and motion-sensing game scenarios.
[0075] The barometric pressure sensor 180C is used to measure air pressure. In some embodiments, the terminal device 100 calculates altitude using the air pressure value measured by the barometric pressure sensor 180C to assist in positioning and navigation.
[0076] The magnetic sensor 180D includes a Hall sensor. The terminal device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip cover. In some embodiments, when the terminal device 100 is a flip phone, the terminal device 100 can detect the opening and closing of the flip cover using the magnetic sensor 180D. Then, based on the detected opening and closing state of the cover or the flip cover, features such as automatic flip unlocking can be set.
[0077] The 180E accelerometer can detect the magnitude of acceleration in various directions (typically three axes) of the terminal device 100. When the terminal device 100 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the posture of electronic devices and applied to applications such as screen orientation switching and pedometers.
[0078] A distance sensor 180F is used to measure distance. The terminal device 100 can measure distance via infrared or laser. In some embodiments, during a shooting scene, the terminal device 100 can utilize the distance sensor 180F to measure distance for rapid focusing.
[0079] The proximity sensor 180G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The LED may be an infrared LED. The terminal device 100 emits infrared light outward through the LED. The terminal device 100 uses the photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the terminal device 100. When insufficient reflected light is detected, the terminal device 100 can determine that there is no object near the terminal device 100. The terminal device 100 may use the proximity sensor 180G to detect when a user holds the terminal device 100 close to their ear for a call, so as to automatically turn off the screen to save power. The proximity sensor 180G can also be used in holster mode and pocket mode for automatic unlocking and screen locking.
[0080] The ambient light sensor 180L is used to sense the ambient light intensity. The terminal device 100 can adaptively adjust the brightness of the display screen 194 based on the sensed ambient light intensity. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also work with the proximity sensor 180G to detect whether the terminal device 100 is in a pocket to prevent accidental touches.
[0081] The fingerprint sensor 180H is used to collect fingerprints. The terminal device 100 can use the characteristics of the collected fingerprints to achieve fingerprint unlocking, accessing application locks, taking photos with fingerprints, answering calls with fingerprints, etc.
[0082] Temperature sensor 180J is used to detect temperature. In some embodiments, terminal device 100 uses the temperature detected by temperature sensor 180J to execute a temperature handling strategy. For example, when the temperature reported by temperature sensor 180J exceeds a threshold, terminal device 100 reduces the performance of the processor located near temperature sensor 180J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is below another threshold, terminal device 100 heats battery 142 to prevent abnormal shutdown of terminal device 100 due to low temperature. In still other embodiments, when the temperature is below yet another threshold, terminal device 100 boosts the output voltage of battery 142 to prevent abnormal shutdown due to low temperature.
[0083] Touch sensor 180K, also known as a "touch panel," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touch screen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K may also be located on the surface of terminal device 100, in a different position than display screen 194.
[0084] The bone conduction sensor 180M can acquire vibration signals. In some embodiments, the bone conduction sensor 180M can acquire vibration signals from the vibrating bone segments of the human vocal cords. The bone conduction sensor 180M can also contact the human pulse to receive blood pressure signals. In some embodiments, the bone conduction sensor 180M can also be incorporated into headphones to form bone conduction headphones. The audio module 170 can parse the voice signals from the vibrating bone segments of the vocal cords acquired by the bone conduction sensor 180M to realize voice functionality. The application processor can parse heart rate information from the blood pressure signals acquired by the bone conduction sensor 180M to realize heart rate detection functionality.
[0085] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Terminal device 100 can receive button input and generate key signal inputs related to user settings and function control of terminal device 100.
[0086] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. For example, different vibration feedback effects can correspond to touch operations performed on different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations performed on different areas of the display screen 194. Different application scenarios (such as time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also be customized.
[0087] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.
[0088] The SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to make contact with and separate from the terminal device 100. The terminal device 100 can support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 195 simultaneously. The multiple cards can be of the same or different types. The SIM card interface 195 is also compatible with different types of SIM cards. The SIM card interface 195 is also compatible with external memory cards. The terminal device 100 interacts with the network through the SIM card to realize functions such as calls and data communication. In some embodiments, the terminal device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the terminal device 100 and cannot be separated from the terminal device 100.
[0089] Figure 2 A software structure block diagram of the terminal device 100 in an embodiment of this application is shown.
[0090] The software system of terminal device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment uses the layered architecture Android system as an example to exemplify the software structure of terminal device 100.
[0091] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0092] The application layer can include a series of application packages.
[0093] like Figure 2 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and SMS.
[0094] In one implementation, the application package may include applications such as data backup, data recovery, or "phone cloning" to achieve user data backup and recovery. This will be described in detail later with reference to specific embodiments, and will not be repeated here.
[0095] In another embodiment, the operating system of the terminal device 100 may further include a backup system for data backup and data recovery. This will be described in detail later with reference to specific embodiments, and will not be repeated here.
[0096] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.
[0097] like Figure 2 As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.
[0098] The window manager is used to manage windowed applications. It can retrieve screen size, determine the presence of a status bar, lock the screen, and capture screenshots, among other things.
[0099] Content providers store and retrieve data, making that data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.
[0100] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text notification icon could include views for displaying text and views for displaying images.
[0101] The phone manager is used to provide communication functions for terminal device 100. For example, it manages call status (including connection, hang-up, etc.).
[0102] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.
[0103] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. For example, the notification manager can be used to notify users of completed downloads or message alerts. The notification manager can also display notifications as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting sounds, vibrating electronic devices, and flashing indicator lights.
[0104] The Android runtime consists of core libraries and a virtual machine. The Android runtime is responsible for scheduling and managing the Android system.
[0105] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.
[0106] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.
[0107] System libraries can include multiple functional modules. For example: surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), etc.
[0108] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.
[0109] The media library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
[0110] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0111] A 2D graphics engine is a graphics engine for 2D drawing.
[0112] The kernel layer is the layer between hardware and software. The kernel layer contains at least the display driver, camera driver, audio driver, and sensor driver.
[0113] The following example, using a scene of capturing a photograph, illustrates the workflow of the software and hardware of the terminal device 100.
[0114] When touch sensor 180K receives a touch operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, timestamp of the touch operation, etc.). The raw input event is stored in the kernel layer. The application framework layer retrieves the raw input event from the kernel layer and identifies the control corresponding to the input event. Taking a touch click as an example, where the corresponding control is the camera application icon, the camera application calls the application framework layer's interface to launch the camera application, and then calls the kernel layer to launch the camera driver, capturing still images or videos through camera 193.
[0115] Based on the aforementioned existing backup technologies, the problem is that existing backup functions can only restore a single version of backup data and cannot restore multiple versions of backup data. These multiple versions of backup data may include data from new devices, data from old devices, or multiple different versions of data from old devices.
[0116] For example, in combination Figure 1a In the scenario shown, the second terminal 110 can delete existing user data on the second terminal 110 and then restore the data based on the user data backed up by the first terminal 100. For example, the first terminal 100 is the user's old mobile phone, and the second terminal 110 is the user's newly purchased mobile phone. Before the user backs up the application data on the old phone and restores it to the new phone, the user may have already used the new phone for a period of time, resulting in some user data already existing on the new phone, i.e., the second terminal 110. For example, taking the first application as an example, before the user backs up and restores the relevant data of the first application from the old phone to the new phone, the user has already installed the first application on the new phone and generated some user data related to the first application during use. At this time, if the existing data recovery scheme is used to restore the user data of the first application from the old phone to the new phone, it will result in the loss of the existing user data of the first application on the new phone. In the embodiments of this application, the user data of the first application on the second terminal 110 to be restored can be referred to as backup data - version 0, or simply V0; the user data of the first application on the first terminal 100 can be referred to as backup data - version 1, or simply V1. In other words, based on the fixed design of the current data backup function, the existing data on the current device will be overwritten / deleted when the data is restored. Therefore, the current backup function cannot adaptively retain the backup data V0 and V1 on the second terminal 110 at the same time to achieve the integration of the old and new user data, resulting in a poor user experience.
[0117] It should be noted that the user data mentioned in the embodiments of this application mainly refers to the data generated by the user during the use of the application, including multimedia data, configuration data or log files, etc. This application does not limit the specific data format of user data.
[0118] Alternatively, in another implementation scenario, the first terminal 100 backs up at least two versions of user data. For example, the first terminal 100 has at least two versions of backup data, such as backup data V1 and backup data V2. Backup data V1 is stored locally on the first terminal 100, and backup data V2 is stored in the cloud. When a user purchases a new mobile phone, such as a second terminal, and needs to restore data based on the backup data from the first terminal, according to the inherent implementation of the current data backup function, the second terminal 110 can only restore data based on one version of the backup data, such as V1 or V2. It cannot adaptively adjust or customize which versions of backup data to restore or retain simultaneously, thus failing to achieve the fusion of multiple versions of backup data, resulting in a poor user experience.
[0119] Therefore, the implementation scenarios of this application embodiment may include:
[0120] Scenario 1: The new device, i.e., the second terminal 110, contains user data (e.g., V0), while the old device, i.e., the first terminal 100, only contains backup data of one version (e.g., V1).
[0121] Through the embodiments of this application, the fusion of old and new data is realized on the second terminal 110, that is, while retaining the user data V0 existing on the second terminal 110, the backup data V1 on the first terminal 100 is restored.
[0122] Scenario 2: The old device, i.e., the first terminal 100, includes backup data of at least two versions (such as V1 and V2), and is not limited to local or cloud storage of backup data.
[0123] Through the embodiments of this application, the fusion of multiple versions of backup data is realized on the second terminal 110. For example, backup data V1 and V2 on the first terminal 100 can be restored simultaneously on the second terminal 110. The new device, i.e., the second terminal 110, may or may not contain user data.
[0124] Scenario 3: The new device, i.e., the second terminal 110, contains user data (such as V0), while the old device, i.e., the first terminal 100, contains backup data of at least two versions (such as V1 and V2).
[0125] Through the embodiments of this application, the fusion of new and old data and multiple version backup data is realized on the second terminal 110. That is, while retaining the user data V0 existing on the second terminal 110, the backup data V1 and / or V2 on the first terminal 100 are restored, and the data is restored to V0+V1+V2, or the data is restored to V0+V1 or V0+V2.
[0126] Next, the data recovery method supporting data fusion provided in the embodiments of this application will be described in detail with reference to the corresponding accompanying drawings. In general, this application can fuse user data on a new device with at least one version of user data backed up from an old device through data fusion, thereby achieving data backup for the user on the old device while retaining the user data on the new device, thus improving the user experience. Furthermore, the implementation methods provided in this application can also retain different versions of backup data for the user, improving the flexibility of data backup and the efficiency of data recovery.
[0127] like Figure 3 The diagram shown is a flowchart of a data recovery method supporting data fusion provided in an embodiment of this application. The method is applied to a first terminal 100 and a second terminal 110, and may include the following steps.
[0128] 301: The first terminal performs data backup.
[0129] In one implementation, when a user needs to perform data backup and data recovery on the first terminal, the user can perform a first operation on the first terminal, thereby the first terminal responding to the first operation can execute the data backup function.
[0130] Specifically, the first operation can be instructing the terminal to perform a data backup. For example, if the first terminal is a smartphone, the user can select full device data backup by clicking on the smartphone's backup application, or select a specific application on the smartphone to perform data backup.
[0131] Then, the first terminal can respond to the user's data backup operation by performing a data backup, that is, saving the user data requested by the user to obtain the corresponding backup data. For example, the backup data can be the entire machine's data, or it can be the backup data of at least one application.
[0132] The user data may include one or more of the following from the terminal device: images, files, documents, videos, audio, contacts, settings parameters, and application data. The settings parameters may include parameters generated from user-defined settings. Additionally, the user data may include other data related to user operations, which are not illustrated in detail in this embodiment.
[0133] For example, a user can request a data backup operation on the first terminal through applications such as "data backup", "data recovery" or "phone cloning".
[0134] Specifically, user data backup operations can be system-wide backups, meaning the first terminal can back up and save all user data on the device. Alternatively, user data backup operations can be triggered by a single application or multiple applications. For example, the first terminal can back up the user data corresponding to the first application specified by the user, obtaining backup data for that application.
[0135] In another implementation, when the terminal device is powered on or during the setup phase of daily use, the user can set the automatic data backup function of the terminal device to "on", or set the automatic data backup function of a certain application to "on", that is, when the terminal device detects that the user's data has been updated, it will automatically back up the data and save the backup data.
[0136] It's important to note that different applications may have different default backup modes due to varying user needs. For example, in a gallery application, when a user takes a photo using the camera app, the gallery application can automatically back up the new image and update its backup data accordingly. Similarly, in a document editing application, after a user edits and saves document 1, the document editing application can back up the updated document 1. Specifically, the user can update the backup data for document 1 in the document editing application, or it can generate a new version of the backup data based on document 1, such as document 1-v1 before editing and document 1-v2 after editing. Likewise, the backup mode set by the user may differ depending on the application.
[0137] Optionally, the backup data obtained by the first terminal can be stored in the local storage area of the first terminal, or the backup data can be uploaded to the cloud.
[0138] Based on the aforementioned data backup scenarios, such as scenario 1, scenario 2, or scenario 3, the backup data on the first terminal may include at least one version. For example, Figure 4 The directory view of a certain application on the first terminal shown includes files f1 and f2. The backup data stored locally on the first terminal includes files f1-V1. The backup data stored in the cloud includes files f1-V1 (which are the same as the files f1-V1 stored locally on the first terminal) and files f1-V2 (different versions of the same file f1).
[0139] 302: The second terminal performs data recovery.
[0140] In one implementation, a user can trigger a data recovery operation on a second terminal via either a first terminal or a second terminal. For example, a user can perform a second operation on either the first or second terminal to trigger the second terminal to perform data recovery.
[0141] In one implementation, the user can perform a second operation on the second terminal; thereby, in response to the user's second operation, the second terminal can perform a data recovery function, that is, perform data recovery based on the backup data of the first terminal.
[0142] Specifically, the second operation can be an instruction to the second terminal to perform data recovery. For example, a user can use applications such as "Data Backup," "Data Recovery," or "Phone Cloning" on the second terminal to request the recovery of user data corresponding to the first terminal to the second terminal.
[0143] Then, the second terminal can perform data recovery based on the backup data of the first terminal to obtain the user data of the first terminal. Through the embodiments of this application, the second terminal can perform data recovery by fusing backup data from multiple versions corresponding to the first terminal; or, the second terminal can perform data recovery by fusing backup data from at least one version corresponding to the first terminal with existing user data of the second terminal.
[0144] Optionally, the data recovery method provided in this application embodiment can support users to configure the data recovery strategy for terminal devices or developers to configure the application. The following will describe different backup configurations separately.
[0145] In one implementation, if the second terminal is configured to a data recovery mode that does not support data fusion, the second terminal does not perform fusion of multiple version backup data and can directly perform data recovery based on the backup data of the first terminal.
[0146] If the second terminal already has some user data locally, it can first clear this local user data before performing data recovery, and then recover the data based on the backup data from the first terminal. For example, combining... Figure 4As shown, the backup data of application 1 stored locally on the first terminal includes file f1-V1, and the backup data of application 1 stored in the cloud includes files f1-V1 and f1-V2. The second terminal's local storage contains file f1-V0 of application 1. If the second terminal is configured not to support data fusion, the data recovery based on file f1 can be as follows: the second terminal can replace file f1-V0 on the second terminal with the backup data file f1-V1 and / or file f1-V2 from the first terminal. Specifically, the second terminal can first delete file f1-V0 from its local storage, and then recover the data based on the corresponding backup data f1-V1 or f1-V2 from the first terminal.
[0147] Optionally, if multiple versions of backup data exist for the first terminal, the second terminal can perform data recovery based on the latest version of the backup data. For example, the second terminal can perform data recovery based on the backup data from the multiple versions of backup data of the first terminal, where the backup time is closest to the current time. For example, combining... Figure 4 As shown, the second terminal can restore data based on the newer version number f1-V2 in the backup data corresponding to the first terminal. That is, the second terminal can copy the backup data f1-V2 of application 1 corresponding to the first terminal and save it to the application 1 directory corresponding to the backup directory of the second terminal.
[0148] In another implementation, if the second terminal can be configured to support a data recovery mode that integrates data, then the second terminal can integrate multiple versions of backup data, thereby enabling the second terminal to perform data recovery based on the integrated backup data and retain multiple versions of backup data.
[0149] In scenario 1, the old device (first terminal) contains backup data, and the new device (second terminal) also contains user data. After data recovery on the second terminal based on data fusion, the backup data from the old and new devices can be merged and restored on the second terminal. For example, ... Figure 5 As shown, the user data for file f1 on the second terminal (application 1) includes f1-V0, and the backup data for file f1 on the first terminal (application 1) includes f1-V1. Therefore, the second terminal can recover data based on f1-V1 from the first terminal and f1-V0 from the second terminal. Figure 5 As shown, after the second terminal performs data recovery, the file f1 of application 1 can be recovered, which may include user data from two versions, f1-V1 and f1-V0.
[0150] Corresponding to scenario 2 above, if the first terminal has multiple versions of backup data, including backup data stored locally on the first terminal or stored in the cloud, the second terminal can perform data fusion based on the multiple versions of backup data, and save the multiple versions of backup data on the second terminal side for data recovery. For example, combined with... Figure 6 As shown, the backup data corresponding to file f1 of application 1 stored locally on the first terminal includes f1-V1, and the backup data corresponding to file f1 of application 1 stored in the cloud includes file f1-V2. Therefore, the second terminal can restore data based on the multiple versions of backup data f1-V1 and f1-V2 corresponding to the first terminal, such as... Figure 6 As shown, after the second terminal performs data recovery, it can recover the file f1 of application 1, which may include user data for two versions, f1-V1 and f1-V2.
[0151] In this implementation, the second terminal can display multiple versions of backup data to the user simultaneously, allowing the user to choose which version of backup data to restore; or, the backup data after multiple versions have been merged and processed can be restored.
[0152] Alternatively, corresponding to scenario 3 above, if the second terminal currently stores some user data, the second terminal can retain the local user data on the second terminal while simultaneously performing data fusion based on at least one version of the backup data from the first terminal, and restoring the backup data from the first terminal. For example, combined with... Figure 7 As shown, the second terminal can retain the locally stored file f1-V0 and perform data recovery based on the backup data f1-V1 and / or f1-V2 of the corresponding backup data of the first terminal, such as... Figure 7 As shown, after the second terminal performs data recovery, the file f1 of application 1 can be recovered. It may include user data of two versions, f1-V0 and f1-V1, or it may include user data of three versions, f1-V0, f1-V1 and f1-V2.
[0153] In one specific implementation, the second terminal can use data fusion technology to merge new and old versions of user data through a backup system and achieve multi-version data recovery. For example, it can merge and restore user data from new and old devices, or merge and restore backup data from different versions. The backup method is flexible and configurable, improving the user experience.
[0154] In one implementation, embodiments of this application can achieve data recovery by generating a fused directory view. Specifically, the second terminal can fuse the application directory trees on the first and second terminals, or the second terminal can fuse multiple versions of the application directory trees on the first terminal to obtain a new application directory view on the second terminal, referred to as a fused directory view. The second terminal can then perform data recovery based on the fused directory view.
[0155] The directory tree, also known as a folder tree, tree-structured folder, folder list, or tree-structured directory view (or simply directory view), can include a root directory and subdirectories for a specific application's user data or backup data. Subdirectories can be further subdivided into first-level subdirectories, second-level subdirectories, and so on. This application does not impose specific limitations on the directory tree construction format for application data. Figures 4-7 The image shown is merely an example of one possible catalog view for application data.
[0156] Data fusion refers to the data processing procedure of merging multiple directory trees into a single directory tree. For example, a second terminal can generate a merged directory view based on multiple directory views, and then use this merged directory view to recover data. For instance, Figures 4-7 The image shows a merged catalog view generated by the second terminal during data recovery.
[0157] The following will use a specific embodiment as an example to illustrate the implementation process of the data recovery method supporting data fusion provided in this application, which involves data backup and data recovery of user data of the first application by a second terminal.
[0158] In one implementation, the second terminal can perform data recovery functionality through an operating system or backup system. For example, such as... Figure 8 The diagram illustrates the software system architecture of a terminal device, which may include a system service layer, an application framework layer, and an application layer.
[0159] The system service layer can be used to run the backup service process. The backup service is an independent process that can provide data backup and recovery services for multiple applications to be backed up. The backup service may include a packaged file sending module and a task scheduling module.
[0160] Packaged File Sending Module: Used to send backup data to the backup plugin. The backup data is provided by a backup tool, such as an application like "Data Backup," "Data Recovery," or "Phone Cloning." Users can obtain backup data (e.g., backup data from an older device) through these applications and then send it to the backup plugin via the packaged file sending module. To improve file transfer efficiency and reduce storage space usage, the received backup data is typically a packaged file.
[0161] Task scheduling module: When a terminal device executes data recovery tasks from multiple applications simultaneously, the task scheduling module can schedule these tasks to allocate computing resources appropriately.
[0162] In addition, the application framework layer may include backup plugins, which may include a packaged file receiving module, a packaged file unpacking module, a directory tree configuration module, a backup configuration module, and a backup and recovery extension module, etc.
[0163] The directory tree configuration module is used to configure different versions of application files into an application directory view during data recovery and present this view to the developer. Different applications may employ different backup strategies, resulting in different configuration results for the application directory view; details are provided below and will not be elaborated here.
[0164] File receiving module: Used to receive packaged files from the backup service.
[0165] File unpacking module: Used to unpack the packaged file when it is received from the backup service.
[0166] The backup configuration module is used to configure whether multi-version data fusion is supported, as well as the specific backup strategy. This allows the application directory view to be displayed during data recovery based on the backup configuration. Specifically, the backup configuration instructs the current terminal device on the strategy for data backup and recovery of the first application. For example, the backup configuration for the first application can indicate that it uses a backup strategy that does not support data fusion. Alternatively, it can indicate that it uses a backup strategy that supports data fusion and allows for the fusion of backup data from different versions on both new and old devices. The following section will describe the data recovery process and results of the second terminal using different backup configurations; these details will not be elaborated upon here.
[0167] In one implementation, the backup configuration can be customized by the application developer, or the application developer can provide a settings interface for users to customize data backup strategies.
[0168] Backup and Restore Extension Module: This module executes developer-defined code for the application after the directory tree configuration is complete. Developers typically implement code here to parse directory views, load recovery files from different versions, or restore application data.
[0169] The first application to be restored can be equipped with a backup plugin. The developer of the first application can customize and develop the configuration module or backup and recovery extension module in the backup plugin according to design needs. The behavior of other modules in the backup plugin is customized by the operating system and cannot be customized and developed based on the application.
[0170] In one implementation, combined with Figure 3 As shown, in step 301 above, the first terminal can back up the user data corresponding to the first application, and then execute step 302. Specifically, the second terminal restores the data of the first application, which may include the following steps.
[0171] Step 1: The second terminal launches the first application to obtain the backup data.
[0172] The first application can be the application to be restored.
[0173] In one implementation, the first application may integrate a backup plugin, which may be provided by the application framework layer to support the data backup and recovery process.
[0174] Before triggering data recovery for the first application via the backup tool, the user can first back up the user data of the first application using the first terminal, generating backup data. Then, the second terminal obtains the backup data and sends it to the backup plugin via the packaged file sending module.
[0175] For example, the process of the second terminal obtaining backup data of the first application on the first terminal will be described below with reference to an example.
[0176] Combination Figure 8 As shown, the backup plugin on the first terminal can select the file specified by the application developer according to the rules configured by the application developer to obtain the backup data package file of the first application; after being relayed by the backup service of the first terminal, the backup data package file can be transferred to the second terminal through backup tools such as "data backup", "data recovery" or "phone cloning" applications.
[0177] Then, the backup tool on the second terminal can send the received backup data package file to the backup service with zero copy. The backup service then sends the backup data package file to the backup plugin's package file receiving module with zero copy through the package file sending module.
[0178] Step 2: The second terminal generates a merged directory view of the first application through the backup plugin.
[0179] The fused directory view is obtained by fusing data from the directory view of the first application on the first terminal and the directory view of the first application on the second terminal.
[0180] Combination Figure 8 As shown, after the file unpacking module of the second terminal unpacks the backup data, it can obtain the directory view corresponding to application 1 of the first terminal.
[0181] For example, the backup data package generated by the first terminal stores the metadata (including file paths) and data of all application data files. After the second terminal obtains the backup data package, it can decompress it to restore all the application's data files, and these files can still maintain the original data and storage paths of the application, presenting a file directory view consistent with the original. For example, application 1 on the first terminal includes the file f1.txt. Through data backup, this file can be added to the backup data package foo.zip (package file). Subsequently, the second terminal obtains the backup data package and decompresses it through the file unpacking module, thus restoring f1.txt.
[0182] Specifically, the second terminal can obtain the backup configuration provided by the developer of the first application through the backup plugin, and determine the fusion catalog view of the first application based on the backup configuration.
[0183] Next, this application embodiment describes the fused directory view of the first application generated by the backup plugin on the second terminal through several different backup configurations, i.e., based on different backup strategies. Exemplary embodiments of this application illustrate the following three methods.
[0184] Method 1: When the backup configuration is used to instruct the second terminal to use the directory view of the first application on the first terminal as the merged directory view.
[0185] For example, the backup configuration is used to instruct data recovery to be performed using a first strategy, where the first strategy refers to restoring backup data based on the older device, i.e., the first terminal. The first terminal corresponds to at least one version of user data.
[0186] Method 2: When the backup configuration is used to instruct the second terminal to obtain a merged directory view based on the directory view of the first application on the first terminal and the directory view of the first application on the second terminal.
[0187] For example, a backup configuration is used to instruct data recovery to be performed using a second strategy, where the second strategy refers to merging and restoring backup data based on the old and new devices.
[0188] For example, such as Figure 7 As shown, the second terminal can create two independent backup directories, such as Backup Directory 1 and Backup Directory 2, based on the above backup configuration. Then, it can copy the file directory views of the old and new devices to these two backup directories respectively, thus achieving data fusion. Specifically, for the backup data of the old device (i.e., the first terminal), the second terminal can directly unpack the backup data into Backup Directory 1. For the backup data of the new device (i.e., the second terminal), all files and folders can be renamed to Backup Directory 2, while retaining the original directory hierarchy.
[0189] Method 3: When the backup configuration is used to indicate data recovery using the third strategy, the second terminal uses the directory view of the first application on the second terminal as the merged directory view.
[0190] For example, a backup configuration is used to instruct data recovery to be performed using a third strategy, where the third strategy refers to restoring the backup data based on a new device, i.e., a second terminal. This second terminal corresponds to at least one version of user data.
[0191] Step 3: The second terminal restores the user data of the first application based on the merged catalog view.
[0192] Specifically, the second terminal can restore the user data of the first application to the file directory corresponding to the first application based on the merged directory view of the backup directory.
[0193] In one implementation, when there are multiple different versions of the same file in the backup directory, the developer of the first application can perceive the differences between the different data versions and customize the specific data recovery implementation method.
[0194] For example, specific implementation methods for data recovery may include: 1. retaining multiple versions of data simultaneously; 2. retaining some versions of data; 3. merging multiple versions of data for recovery.
[0195] 1. The second terminal can retain multiple versions of data simultaneously, which can be achieved by renaming duplicate files. For example, if the same file f1 has multiple different versions, such as f1-V1 and f1-V2, f1-V2 can be renamed to f1-1 or another name, thus retaining multiple different versions of the file at the same time.
[0196] 2. The second terminal retains only a portion of the data. This can be achieved by overwriting older versions of the file with newer versions. For example, if the same file f1 has multiple different versions, such as f1-V1 and f1-V2, f1-V2 can be used to overwrite f1-V1, effectively retaining only version f1-V2.
[0197] 3. Merge multiple versions of data for recovery. For example, file f1 is a memo file. For the same file f1, there are multiple different versions, f1-V1 and f1-V2. By merging the contents of file f1-V2 with the contents of file f1-V1, a new memo file can be obtained, with the file name retained as f1. This memo file f1 can include all the contents of f1-V2 and file f1-V1.
[0198] Through the above implementation methods, in implementation scenarios where there are multiple versions of backup data, application developers can obtain multiple versions of the data to be backed up. They can then determine and select a suitable data recovery implementation scheme through a fusion directory view. Furthermore, application developers can customize or decide on the specific implementation method of data recovery. The implementation method is flexible and customizable, which can improve the user experience.
[0199] In one implementation, to ensure that the data recovery process is not interfered with by other programs, the operating system of the second terminal can only execute operations related to data recovery during the data recovery process. For example, it can only run program code related to data recovery, avoiding the simultaneous editing of user data by other programs, which could affect the data recovery results. For instance, if the data sending module sends the compressed file of file f1-V1 to the backup plugin, and application 1 on the second terminal runs and updates file f1, such as generating a new file f1-V2, it will affect the aforementioned data recovery results, causing file f1 to not be fully recovered or to be restored to the latest version. Therefore, interference with data recovery can be avoided by disabling the launch of other applications during the data recovery process. For example, the second terminal can avoid interference by disabling application launch.
[0200] In this embodiment, by improving the data backup and recovery program of the terminal device's operating system or backup system, the terminal device is able to achieve the data recovery function based on data fusion as described in the aforementioned embodiment.
[0201] Furthermore, in the embodiments of this application, application developers are allowed to simultaneously obtain a directory view containing the current user data and backup data of the terminal device, and can perform customized data recovery operations on the files and directories therein. For example, if the data recovery function of application 1 configured on the terminal device supports data fusion mode, the application developer can fuse the backup data of the old and new versions of application 1 and perform data recovery based on the fused directory view.
[0202] Optionally, the operating system or backup system in this application embodiment may also provide an interface to help application developers obtain the version corresponding to the backup data. As described above... Figure 7Taking the above implementation as an example, application 1 can simultaneously present multiple versions of application 1's file f1, such as f1-V1 version on the first terminal, f1-V2 version on the cloud, and f1-V0 version on the second terminal.
[0203] This allows the application to customize the data backup mode according to the actual usage needs of the application. For example, application 1 can default to restoring the latest version of the backup data, or default to restoring the data after merging all backup data (identifying the same file with different names or comments), or provide a user selection interface to restore data according to the user-indicated mode or specified version, etc. For example, Figure 9 As shown, when a user triggers data recovery for the first application, they can choose to restore to the latest version, such as V2, or choose to view the differences in user data between different versions, or choose to restore a specific version, such as V1, to achieve a user-customized data recovery effect.
[0204] Based on the aforementioned improvements to the application's data recovery functionality, terminal device manufacturers can provide developer documentation to application developers using interfaces provided by the operating system or backup system. This documentation should detail the implementation of the directory view for data fusion-based backup functionality, the storage location of the backup directory, and how different version numbers of backup data are represented. Application developers can then customize their development based on this documentation and the application's data recovery requirements. For example, they can implement one-time multi-version data recovery, multi-round data recovery where each round recovers the corresponding version of the backup data, or each round only recovers backup data that differs from the previous round.
[0205] In addition, terminal device manufacturers can provide application developers with an interface to access version information of backup data. This interface allows developers to retrieve the corresponding directory containing the data to be recovered based on the backup data's version information. Consequently, application developers can become aware of specific backup data versions and customize the application's data recovery mode, achieving data recovery based on data fusion.
[0206] In one implementation, the application developer can customize the data recovery process. This application uses the following data recovery methods as examples to introduce different implementation methods for data recovery by a second terminal device.
[0207] Option 1: The second terminal performs a round of data recovery and provides file directory views of multiple versions of backup data.
[0208] In other words, the second terminal enables one-time data recovery while providing file directory views of multiple backup versions, allowing it to recover data from multiple backup versions simultaneously. Referring to the previous example, such as... Figure 7 As shown, based on file f1 of application 1, file directory views of f1-V0 and f1-V1 are provided simultaneously, or file directory views of f1-V0, f1-V1 and f1-V2 are provided simultaneously.
[0209] In the specific implementation process, application 1 on the second terminal can obtain the root directory of the directory view of all available versions of backup data. This can be achieved by application 1 querying through the query interface provided by the backup plugin, or by obtaining the data through a pre-defined method. For example, application 1 can query the backup directory 1 and backup directory 2 through the operating system's file interface, thereby finding the two versions of backup data 1 and 2 for application 1. After obtaining the root directory of the directory view, application 1 can perform data recovery based on the files within it, achieving the effect of method 1.
[0210] For example, application 1 includes file f1, the content of which is "hello". In the second version of the backup data, the content of file f1 is modified to "hello,world". In the third version of the backup data, file f1 remains unchanged. Therefore, the application directory view for the first version includes files f1-V1 with the content "hello"; the application directory view for the second version includes files f1-V2 with the content "hello,world"; and the application directory view for the third version includes files f1-V0 with the content "hello,world". The application can retrieve backup data from all versions simultaneously, thus enabling it to retrieve all three files at the same time and maintain the same storage path.
[0211] Option 2: Perform multiple rounds of data recovery, providing a corresponding version of the file directory view for each round of data recovery.
[0212] In other words, the second terminal performs multiple rounds of data recovery, with each round providing only a file directory view of the corresponding version. This allows users to select specific data recovery results from these rounds. Referring to the previous example, such as... Figure 7 As shown, based on file f1 in Application 1, the first round of data recovery can provide file directory views of f1-V0 and f1-V1, and the second round of data recovery can provide file directory views of f1-V0 and f1-V2. Optionally, a third round of data recovery can also be included, providing file directory views of f1-V0, f1-V1, and f1-V2.
[0213] In the specific implementation process, application 1 on the second terminal can only obtain the version information of the current version and the root directory of the current version's directory view. Similar to the acquisition method described in Scheme 1 above, it can be obtained by calling the interface provided by the backup plugin or through an agreed-upon method.
[0214] Option 3: Perform multiple rounds of data recovery, with each round providing the differences between the current version of the backup data and the previous round of backup data.
[0215] In other words, each round of data recovery only presents files that show differences between the current version of the backup data and the previous version. Users can then select the desired data recovery result from multiple rounds based on these differences. Referring to the previous example, such as... Figure 7 As shown, based on file f1 in Application 1, the first round of data recovery can provide file directory views of f1-V0 and f1-V1, and the second round of data recovery can provide the differences between f1-V1 and f1-V2.
[0216] Optionally, the manufacturer of the second terminal can provide a specified interface to the application developer, indicating which files differ between different versions of backup data. Alternatively, it can directly store the files that differ between multiple versions of backup data in a fixed directory, or store the incremental or updated portions of files from multiple versions of backup data. The application can then retrieve the differing files by calling this specified interface during the data recovery process and provide them to the user.
[0217] In the specific implementation, application 1 on the second terminal can only obtain the version information of the current version and the root directory of the current version's directory view. For versions other than the backup data of the first version, the content of each file in the application directory view is the difference between that file in the current version and the previous version. When a file has not changed, it is not included in the application directory view. For example, application 1 includes file f1, whose content is "hello". In the backup data of the second version, the content of file f1 is modified to "hello,world". In the backup data of the third version, file f1 remains unchanged. Therefore, the application directory view of the first version includes files f1-V1 with the content "hello"; the application directory view of the second version includes files f1-V2 with the difference information "world"; and the application directory view of the third version does not include file f1.
[0218] The above implementation method realizes a data recovery method based on data fusion by flexibly configuring the data recovery mode of the terminal device. Application developers can realize personalized extensions according to different needs, or flexibly configure it to allow users to customize the data recovery mode, thereby enriching the flexibility of data backup and data recovery and improving the user experience.
[0219] Additionally, this application provides an electronic device comprising: a memory and one or more processors; the memory and processors are coupled; the memory stores computer program code, which includes computer instructions. See details for further information. Figure 10 As shown. When the processor executes computer instructions, the electronic device can perform the operations performed by the terminal device in the embodiments of this application.
[0220] This application also provides an electronic device, such as... Figure 10 As shown, the electronic device 1000 may include at least one processor 1001, a communication line 1002, and a memory 1003.
[0221] The processor 1001 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of programs according to the present disclosure.
[0222] The communication line 1002 may include a path for transmitting information between the aforementioned components, such as a bus.
[0223] The memory 1003 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or it may be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor via communication line 1002. The memory may also be integrated with the processor. The memory provided in this disclosure embodiment is generally non-volatile. The memory 1003 is used to store computer execution instructions involved in the present disclosure and is controlled by the processor 1001 for execution. The processor 1001 is used to execute computer execution instructions stored in the memory 1003, thereby implementing the method provided in the embodiments of this disclosure.
[0224] Optionally, the computer execution instructions in this embodiment may also be referred to as application code, and this embodiment does not specifically limit this.
[0225] In a specific implementation, as one example, the processor 1001 may include one or more CPUs, for example... Figure 10 CPU0 and CPU1 in the CPU.
[0226] In a specific implementation, as one example, the electronic device 1000 may include multiple processors, for example... Figure 10 Processors 1001 and 1007 are mentioned. Each of these processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).
[0227] In a specific implementation, as one embodiment, the electronic device 1000 may further include a communication interface 1004. The communication interface 1004 uses any transceiver-like device for communicating with other devices or communication networks, such as an Ethernet interface, a radio access network (RAN) interface, a wireless local area network (WLAN) interface, etc.
[0228] In a specific implementation, as one embodiment, the electronic device 1000 may further include an output device 1005 and an input device 1006. The output device 1005 communicates with the processor 1001 and can display information in various ways. For example, the output device 1005 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 1006 communicates with the processor 1001 and can receive user input in various ways. For example, the input device 1006 may be a mouse, keyboard, touchscreen device, or sensing device, etc.
[0229] In specific implementations, the electronic device 1000 can be a desktop computer, portable computer, network server, handheld computer (personal digital assistant, PDA), mobile phone, tablet computer, in-vehicle computer, wireless terminal device, embedded device, wearable device, home smart terminal, or other similar device. Figure 10 Devices with similar structures, etc. This disclosure does not limit the type of the electronic device 1000.
[0230] In some embodiments, Figure 3 The execution of each step can be achieved by the processor 1001 of the electronic device 1000 calling the computer execution instructions stored in the memory 1003, so that the electronic device 1000 executes the method in the above method embodiment.
[0231] In an exemplary embodiment, a storage medium including instructions is also provided, such as a memory 1003 including instructions, which can be executed by the processor 1001 of the electronic device 1000 to complete the above method.
[0232] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, it can be implemented, in whole or in part, as a computer program product. This computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions according to the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
[0233] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0234] Finally, it should be noted that the above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A data recovery method supporting data fusion, characterized in that, The method includes: The second terminal starts the first application, which integrates a backup plugin. The backup plugin is used to receive the backup data package file of the first application generated by the first terminal. The backup data package file generated by the first terminal stores the storage path and data of the data file of the first application. The second terminal decompresses the backup data package file using the backup plugin, restoring the storage path and data of the first application's data file; The second terminal displays a directory view of the first application on the first terminal; The second terminal generates a fused directory view of the first application through the backup plugin. The fused directory view is obtained by fusing data from the directory view of the first application on the first terminal and the directory view of the first application on the second terminal. The second terminal restores the data of the first application on the second terminal according to the fused catalog view.
2. The method according to claim 1, characterized in that, The second terminal generates a merged directory view of the first application through the backup plugin, specifically including: The second terminal obtains the backup configuration provided by the developer of the first application through the backup plugin to determine the fusion catalog view of the first application.
3. The method according to claim 2, characterized in that, The second terminal generates a merged directory view of the first application through the backup plugin, specifically including at least one of the following: When the backup configuration is used to indicate data recovery using a first strategy, the second terminal uses the directory view of the first application on the first terminal as the merged directory view; When the backup configuration is used to indicate data recovery using the second strategy, the second terminal obtains the fused directory view based on the directory view of the first application on the first terminal and the directory view of the first application on the second terminal. When the backup configuration is used to indicate data recovery using a third strategy, the second terminal uses the directory view of the first application on the second terminal as the merged directory view.
4. The method according to any one of claims 1-3, characterized in that, The backup plugin is provided by the application framework layer.
5. An electronic device, characterized in that, The electronic device includes: a memory and one or more processors; the memory and the processors are coupled; the memory is used to store computer program code, the computer program code including computer instructions, and when the processor executes the computer instructions, the electronic device performs the following operations: Launch the first application, which integrates a backup plugin. The backup plugin is used to receive the backup data package file of the first application generated by the first terminal. The backup data package file generated by the first terminal stores the storage path and data of the data file of the first application. The backup plugin decompresses the backup data package file, restoring the storage path and data of the first application's data file; Present a directory view of the first application on the first terminal; The backup plugin generates a fused directory view of the first application, which is obtained by fusing data from the directory view of the first application on the first terminal and the directory view of the first application on the second terminal. The data of the first application is restored on the second terminal based on the fused catalog view.
6. The electronic device according to claim 5, characterized in that, The electronic device also performs the following steps: The backup configuration provided by the developer of the first application is obtained through the backup plugin to determine the merged catalog view of the first application.
7. The electronic device according to claim 6, characterized in that, The electronic device is also used to perform at least two of the following: When the backup configuration is used to indicate data recovery using a first strategy, the electronic device uses the directory view of the first application on the first terminal as the merged directory view; When the backup configuration is used to indicate data recovery using the second strategy, the electronic device obtains the fused directory view based on the directory view of the first application on the first terminal and the directory view of the first application on the second terminal; When the backup configuration is used to indicate data recovery using a third strategy, the electronic device uses the directory view of the first application on the second terminal as the merged directory view.
8. The electronic device according to any one of claims 5-7, characterized in that, The backup plugin is provided by the application framework layer.
9. A chip system, characterized in that, The chip system is applied to an electronic device; the chip system includes one or more interface circuits and one or more processors; the interface circuits and the processors are interconnected via lines; the interface circuits are used to receive signals from the memory of the electronic device and send the signals to the processors, the signals including computer instructions stored in the memory; when the processor executes the computer instructions, the electronic device performs a data recovery method supporting data fusion as described in any one of claims 1-4.
10. A computer-readable storage medium, characterized in that, The readable storage medium stores instructions that, when the readable storage medium is operated on an electronic device, cause the electronic device to perform the data recovery method supporting data fusion as described in any one of claims 1-4.
11. A computer program product, characterized in that, When the computer program product is run on a computer, the computer performs the data recovery method supporting data fusion as described in any one of claims 1-4.