Data backup method, electronic device, data backup system and chip system

By dividing the data to be backed up into multiple data sets and allocating them to multiple backup devices for backup, the problem of inefficiency of existing cloud backup methods is solved, and a faster and more efficient data backup process is achieved.

CN114764377BActive Publication Date: 2025-04-29PETAL CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011643331.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-30
Publication Date
2025-04-29
Estimated Expiration
2040-12-30

AI Technical Summary

Technical Problem

The existing cloud backup methods can easily cause electronic devices to stutter, power consumption, traffic consumption and network blockage during the backup process, resulting in low backup efficiency.

Method used

By dividing the data to be backed up into multiple data sets and allocating them to multiple backup devices (including the primary device and its auxiliary device) for backup, data backup is performed simultaneously with multiple backup devices to shorten the backup time period.

Benefits of technology

It improves the efficiency of data backup, shortens the backup time period, and reduces the resource usage of electronic devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114764377B_ABST
    Figure CN114764377B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a data backup method, an electronic device, a data backup system, and a chip system, which relate to the field of cloud backup technology and can improve the efficiency of data backup. The method includes: a first device obtains an auxiliary device of the first device; the first device divides the data to be backed up into N data sets, N is the number of backup devices, and the backup device includes the first device and the auxiliary device of the first device; the first device sends backup information to the auxiliary device, the backup information includes a data set assigned to the auxiliary device, and the backup information is used to instruct the auxiliary device to send the received data set to a preset cloud platform; the first device sends the data set assigned to the first device to the preset cloud platform.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application relate to the field of cloud backup, and in particular to a data backup method, electronic device, data backup system, and chip system. Background Art

[0002] With the development of the mobile Internet era, mobile electronic devices are becoming more and more valuable to users. The portability of mobile electronic devices determines that mobile electronic devices are easy to lose. Once a personal mobile electronic device is lost, the data in the mobile electronic device will also be lost. To this end, a cloud backup method is proposed to back up the data in personal mobile electronic devices on a cloud platform through cloud storage.

[0003] The characteristics of cloud backup include large amounts of backed-up data; in order to avoid problems such as freezing, power consumption, data traffic consumption, and network congestion during the backup process, the backup process usually uses the idle time of electronic devices, such as when the electronic devices are charging, when the screen is off, or when connected to Wi-Fi. This results in a longer period of time for users' personal data to be uploaded to the cloud platform, and lower data backup efficiency. Summary of the invention

[0004] The embodiments of the present application provide a data backup method, an electronic device, a data backup system and a chip system to improve the efficiency of data backup.

[0005] In order to achieve the above objectives, this application adopts the following technical solutions:

[0006] In a first aspect, an embodiment of the present application provides a data backup method, including:

[0007] The first device acquires an auxiliary device of the first device;

[0008] The first device divides the data to be backed up into N data sets, where N is the number of backup devices, and the backup devices include the first device and an auxiliary device of the first device;

[0009] The first device sends backup information to the auxiliary device, where the backup information includes a data set assigned to the auxiliary device, and the backup information is used to instruct the auxiliary device to send the received data set to a preset cloud platform;

[0010] The first device sends the data set assigned to the first device to a preset cloud platform.

[0011] In the embodiment of the present application, the first device divides the data to be backed up into multiple data sets, which are respectively allocated to the first device and the auxiliary device of the first device, and the first device and the auxiliary device of the first device upload their corresponding data sets to the cloud platform respectively. This is equivalent to splitting the original cloud backup task into multiple backup subtasks for multiple backup devices (the first device and the auxiliary device of the first device) to perform data backup at the same time, thus shortening the data backup time cycle and improving the efficiency of data backup.

[0012] In a possible implementation manner of the first aspect, the first device acquiring the auxiliary device of the first device includes:

[0013] The first device acquires a candidate auxiliary device having a communication capability with the first device;

[0014] The first device uses a candidate auxiliary device that meets a first preset condition as an auxiliary device of the first device.

[0015] In a possible implementation manner of the first aspect, the first device acquiring a candidate auxiliary device having a communication capability with the first device includes:

[0016] The first device broadcasts first information via Bluetooth, where the first information is used to instruct a second device that has received the first information to feed back device information of the second device;

[0017] The first device uses the second device indicated by the received device information as a candidate auxiliary device of the first device.

[0018] In a possible implementation manner of the first aspect, the first device acquiring a candidate auxiliary device having a communication capability with the first device includes:

[0019] The first device transmits communication information of the first device to the third device through the NFC module, where the communication information is used to instruct the third device to establish a communication connection with the first device through the communication information of the first device;

[0020] The first device regards the third device with which the communication connection is successfully established as a candidate auxiliary device of the first device;

[0021] or,

[0022] The first device obtains the communication information of the third device through the NFC module, and the first device establishes a communication connection with the third device through the communication information of the third device;

[0023] The first device uses the third device that has successfully established a communication connection with the first device as a candidate auxiliary device of the first device.

[0024] In a possible implementation manner of the first aspect, the first device acquiring a candidate auxiliary device having a communication capability with the first device includes:

[0025] The first device is provided with code information carrying the communication information of the first device, and the code information is used to instruct the fourth device that scans the code information to establish a communication connection with the first device by scanning the communication information of the first device obtained;

[0026] The first device regards the fourth device which has successfully established a communication connection with the first device as a candidate auxiliary device of the first device;

[0027] or,

[0028] The first device scans the coding information including the communication information of the fourth device to obtain the communication information of the fourth device;

[0029] The first device establishes a communication connection with the fourth device through the communication information of the fourth device;

[0030] The first device uses the fourth device that has successfully established a communication connection with the first device as a candidate auxiliary device of the first device.

[0031] In a possible implementation manner of the first aspect, the first device using a candidate auxiliary device that meets a first preset condition as an auxiliary device of the first device includes:

[0032] The first device selects candidate auxiliary devices whose average charging time is greater than a first preset time, whose average load of the central processor is less than a first preset ratio, whose average uplink bandwidth is greater than a first preset value, and whose current remaining storage space is greater than a second preset value as auxiliary devices of the first device.

[0033] In a possible implementation manner of the first aspect, the first device using a candidate auxiliary device that meets a first preset condition as an auxiliary device of the first device includes:

[0034] The first device obtains a score and a weight corresponding to each item of device information of a candidate auxiliary device, where the device information of the candidate auxiliary device includes one or more of the following: average charging time, average load of a central processing unit, average uplink bandwidth, and current remaining storage space;

[0035] The first device calculates a weighted sum of the device information of the first device according to the score and weight respectively corresponding to each item of device information of the candidate auxiliary device;

[0036] The first device selects the candidate auxiliary devices whose device information weighted sum is greater than a third preset value as auxiliary devices of the first device.

[0037] In a possible implementation manner of the first aspect, the first device using a candidate auxiliary device that meets a first preset condition as an auxiliary device of the first device includes:

[0038] The first device obtains historical backup parameters of the candidate auxiliary device and historical device information corresponding to the historical backup parameters, the historical backup parameters including: historical backup speed and historical backup duration, and the historical device information including one or more of the following: average charging time corresponding to the historical backup parameters, average load of the central processor, average uplink bandwidth, and remaining storage space;

[0039] The first device trains a preset backup model according to the historical backup parameters and the historical device information corresponding to the historical backup parameters to obtain a trained backup model;

[0040] The first device inputs the device information of the candidate auxiliary device into the trained backup model to obtain the predicted backup parameters of the candidate auxiliary device, where the predicted backup parameters include: predicted backup speed and predicted backup duration;

[0041] The first device generates scores for candidate auxiliary devices according to the predicted backup parameters, and uses candidate auxiliary devices with scores greater than a fourth preset value as auxiliary devices of the first device.

[0042] In a possible implementation manner of the first aspect, the first device dividing the data to be backed up into N data sets includes:

[0043] The first device obtains predicted backup parameters of the backup device, where the predicted backup parameters include: predicted backup speed and predicted backup duration;

[0044] The first device obtains the amount of data allocated to each backup device according to the predicted backup parameters of the backup device and the total amount of data to be backed up;

[0045] The first device divides the data to be backed up into data sets matching the data amount of each backup device according to the data amount allocated to each backup device.

[0046] In a possible implementation manner of the first aspect, the first device dividing the to-be-backed up data into data sets matching the data amount of each backup device according to the data amount allocated to each backup device includes:

[0047] The first device scans the storage space where the data to be backed up is located to obtain a tree structure directory of the data to be backed up, where the tree structure directory information of the data to be backed up includes: a root node of the data to be backed up, the data volume of the root node, child nodes, the data volume of the child nodes, leaf nodes, and the data volume of the leaf nodes;

[0048] According to the tree structure directory of the data to be backed up and the amount of data allocated to each backup device, a leaf node allocated to each backup device is obtained, wherein the set of data represented by the leaf node allocated to each backup device is a data set of each backup device.

[0049] In a possible implementation manner of the first aspect, the method further includes:

[0050] The first device obtains the backup progress information of the auxiliary device at a preset time period;

[0051] When there is a backup anomaly in the backup progress information of the auxiliary device, the first device reallocates the unsuccessfully backed-up data in the data set allocated to the auxiliary device with the backup anomaly to the first device and / or the auxiliary device with the backup anomaly.

[0052] In a possible implementation manner of the first aspect, the first device acquiring the auxiliary device of the first device includes:

[0053] The first device broadcasts second information, where the second information carries an identifier of the sub-data in the data to be backed up, and the second information is used to instruct the fifth device that has received the second information to select the sub-data in the data to be backed up based on the device information of the fifth device and the information of the data to be backed up, and to send the identifier of the selected sub-data to the first device;

[0054] The first device uses the fifth device corresponding to the identifier of the received sub-data as an auxiliary device of the first device.

[0055] In a possible implementation manner of the first aspect, the first device dividing the data to be backed up into N data sets includes:

[0056] The first device divides the data to be backed up into data sets matching each backup device according to the identifier of the sub-data and the data volume of the sub-data sent by the auxiliary device.

[0057] In a second aspect, an embodiment of the present application provides an electronic device, including:

[0058] An auxiliary device acquisition module, used to acquire an auxiliary device of the first device;

[0059] A data splitting module, used to divide the data to be backed up into N data sets, where N is the number of backup devices, and the backup devices include a first device and an auxiliary device of the first device;

[0060] A backup information sending module, used to send backup information to the auxiliary device, the backup information includes a data set assigned to the auxiliary device, and the backup information is used to instruct the auxiliary device to send the received data set to a preset cloud platform;

[0061] The backup module is used to send the data set allocated to the first device to a preset cloud platform.

[0062] In a third aspect, an electronic device is provided, comprising a processor, wherein the processor is used to run a computer program stored in a memory to implement any method of the first aspect of the present application.

[0063] In a fourth aspect, a data backup system is provided, comprising the electronic device provided in the third aspect of the present application and at least one auxiliary device;

[0064] The auxiliary device is used to store the data set in the storage space of the auxiliary device after receiving the data set assigned to the auxiliary device, and send the data set stored in the storage space of the auxiliary device to the preset cloud platform when the auxiliary device meets the second preset condition.

[0065] In a fifth aspect, a chip system is provided, including a processor, wherein the processor is coupled to a memory, and the processor executes a computer program stored in the memory to implement any method of the first aspect of the present application.

[0066] In a sixth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by one or more processors, the method of any one of the first aspects of the present application is implemented.

[0067] In a seventh aspect, an embodiment of the present application provides a computer program product, which, when executed on a device, enables the device to execute any one of the methods in the first aspect.

[0068] It can be understood that the beneficial effects of the second to seventh aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0069] Figure 1 A schematic diagram of an application scenario of the data backup method provided in an embodiment of the present application;

[0070] Figure 2 A schematic diagram of the hardware structure of an electronic device for executing a data backup method provided in an embodiment of the present application;

[0071] Figure 3 A flowchart of a data backup method provided in an embodiment of the present application;

[0072] Figure 4 A timing diagram of a method for obtaining candidate auxiliary devices provided in an embodiment of the present application;

[0073] Figure 5 A schematic diagram of a method for scanning and obtaining a snapshot of data to be backed up provided in an embodiment of the present application;

[0074] Figure 6 A schematic diagram of a method for dividing data to be backed up provided in an embodiment of the present application;

[0075] Figure 7A schematic block diagram of a functional architecture module of a first device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0076] In the following description, specific details such as specific system structures and technologies are provided for illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application can also be implemented in other embodiments without these specific details.

[0077] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0078] It should also be understood that in the embodiments of the present application, "one or more" refers to one, two or more than two; "and / or" describes the association relationship of associated objects, indicating that three relationships may exist; for example, A and / or B may represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B may be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.

[0079] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0080] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0081] The data backup method provided in the embodiment of the present application can be applied to Figure 1 In the application scenario shown, Figure 1As shown, the data in the mobile phone 1 needs to be backed up to the cloud platform (referred to as cloud backup). The purpose of cloud backup is to prevent the data in the mobile phone 1 from being lost due to a malfunction or loss of the mobile phone 1. Therefore, when performing cloud backup, the data to be backed up is usually the entire data of the mobile phone 1. For example, photos, recordings, application-related data, and other files stored in the mobile phone 1.

[0082] Of course, in actual applications, users can also choose the data to be backed up independently. Regardless of the method adopted, the amount of data to be backed up is usually large, and the cloud backup process will occupy the uplink bandwidth, occupy the system memory, and increase power consumption. Therefore, the cloud backup process usually selects the charging state of mobile phone 1, the screen off state, and the connection to the wireless local area network (Wireless Fidelity, Wi-Fi). This results in a longer cloud backup time and lower cloud backup efficiency.

[0083] The embodiment of the present application can decompose the cloud backup task of mobile phone 1 to other devices.

[0084] like Figure 1 As shown in step 1 of FIG. 1 , mobile phone 1 discovers auxiliary devices of mobile phone 1. For example, mobile phone 1 in a home environment discovers other electronic devices around mobile phone 1 via Bluetooth. Figure 1 As shown, mobile phone 1 finds surrounding TV 1, TV 2, smart speakers, weight scales, smart watches, idle mobile phone 2, tablet computers, microwave ovens, etc. Mobile phone 1 can select some of the discovered electronic devices as auxiliary devices of mobile phone 1, for example, TV 1, TV 2, idle mobile phone 2, and tablet computers can be selected as auxiliary devices of mobile phone 1, that is, the number of auxiliary devices of mobile phone 1 is 4.

[0085] like Figure 1 As shown in step 2 in , mobile phone 1 divides the data to be backed up into 5 data sets, and sends 4 of them to the auxiliary devices respectively. Since mobile phone 1 itself can also perform the data backup process, it is equivalent to having 5 backup devices for data backup: mobile phone 1 itself and 4 auxiliary devices of mobile phone 1. Mobile phone 1 divides the data to be backed up into 5 data sets, and these 5 data sets are distributed to mobile phone 1 and the auxiliary devices of mobile phone 1 as 5 backup subtasks. Mobile phone 1 sends 4 of them to the 4 auxiliary devices respectively. In actual applications, mobile phone 1 can transmit the data sets corresponding to the backup subtasks to the auxiliary devices of mobile phone 1 through some high-speed transmission methods. As an example, 5G Wi-Fi, Wi-Fi direct connection and the like can be used. Since the transmission rate of this high-speed transmission method is relatively high, the data distribution process represented by step 2 is relatively fast.

[0086] like Figure 1As shown in step 3, the backup subtask corresponding to mobile phone 1 is backup data set 1, and the backup subtasks corresponding to the four auxiliary devices of mobile phone 1 are backup data sets 2 to 5. Mobile phone 1 selects its own idle time (for example, the time corresponding to the charging state, the screen off state, and the time corresponding to the wireless LAN connection) to upload data set 1 to the cloud platform. Similarly, the auxiliary devices of mobile phone 1 select their own idle time to upload their corresponding data sets to the cloud platform.

[0087] pass Figure 1 The application scenario shown in the figure can be understood that if the mobile phone 1 needs time T to perform the cloud backup task alone, Figure 1 In the data backup method provided by the application scenario shown, the time required for the mobile phone 1 and the auxiliary device of the mobile phone 1 to perform the cloud backup task at the same time is about 0.2T, which greatly improves the data backup efficiency.

[0088] In addition, it needs to be explained that Figure 1 The application scenario shown is a scenario of a user's home environment, and the auxiliary devices of the mobile phone 1 are all the user's devices. In actual applications, when the mobile phone 1 is in a public place, the auxiliary devices of the mobile phone 1 can also be public devices in the public place. The embodiment of the application does not limit the ownership of the auxiliary devices of the mobile phone 1.

[0089] Figure 1 The data backup method provided in the application scenario shown can be applied to Figure 1 In the electronic device provided by the application scenario shown. In practical applications, the electronic device that executes the data backup method can be: a mobile phone, a tablet computer, a wearable device, a vehicle-mounted device, a smart speaker, a smart screen, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), and other electronic devices that need to perform data backup. The specific type of electronic device is not limited in the embodiments of the present application.

[0090] Figure 2The electronic device 200 may include a processor 210, an external memory interface 220, an internal memory 221, a universal serial bus (USB) interface 230, a charging management module 240, a power management module 241, a battery 242, an antenna 1, an antenna 2, a mobile communication module 250, a wireless communication module 260, an audio module 270, a speaker 270A, a receiver 270B, a microphone 270C, an earphone interface 270D, a sensor module 280, a button 290, a motor 291, an indicator 292, a camera 293, a display screen 294, and a subscriber identification module (SIM) card interface 295. The sensor module 280 may include a pressure sensor 280A, a gyroscope sensor 280B, an acceleration sensor 280E, a distance sensor 280F, a proximity light sensor 280G, a fingerprint sensor 280H, a temperature sensor 280J, a touch sensor 280K, an ambient light sensor 280L, and the like.

[0091] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 200. In other embodiments of the present application, the electronic device 200 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0092] The processor 210 may include one or more processing units, for example: the processor 210 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and / or a neural-network processing unit (neural-network processing unit, NPU), etc. Among them, different processing units can be independent devices or integrated in one or more processors. For example, the processor 210 is used to execute the data backup method in the embodiment of the present application, for example, the following steps 301 to 304.

[0093] The controller may be the nerve center and command center of the electronic device 200. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0094] The processor 210 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 210 is a cache memory. The memory may store instructions or data that the processor 210 has just used or circulated. If the processor 210 needs to use the instruction or data again, it may be directly called from the memory.

[0095] In some embodiments, the processor 210 may include one or more interfaces. The interface 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.

[0096] The USB interface 230 is an interface that complies with the USB standard specification, and specifically can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 230 can be used to connect a charger to charge the electronic device 200, and can also be used to transfer data between the electronic device 200 and a peripheral device. It can also be used to connect headphones to play audio through the headphones. The interface can also be used to connect other electronic devices, such as AR devices, etc.

[0097] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is only a schematic illustration and does not constitute a structural limitation on the electronic device 200. In other embodiments of the present application, the electronic device 200 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0098] The charging management module 240 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 240 may receive charging input from a wired charger through the USB interface 230. In some wireless charging embodiments, the charging management module 240 may receive wireless charging input through a wireless charging coil of the electronic device 200. While the charging management module 240 is charging the battery 242, it may also power the electronic device through the power management module 241.

[0099] The power management module 241 is used to connect the battery 242, the charging management module 240 and the processor 210. The power management module 241 receives input from the battery 242 and / or the charging management module 240, and supplies power to the processor 210, the internal memory 221, the external memory, the display screen 294, the camera 293, and the wireless communication module 260. The power management module 241 can also be used to monitor parameters such as battery capacity, battery cycle number, and battery health status (leakage, impedance).

[0100] In some other embodiments, the power management module 241 may also be disposed in the processor 210. In some other embodiments, the power management module 241 and the charging management module 240 may also be disposed in the same device.

[0101] The wireless communication function of the electronic device 200 can be implemented through the antenna 1, the antenna 2, the mobile communication module 250, the wireless communication module 260, the modem processor and the baseband processor.

[0102] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device 200 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of the antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0103] The mobile communication module 250 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the electronic device 200. The mobile communication module 250 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 250 can receive electromagnetic waves from the antenna 1, and filter, amplify, etc. the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 250 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1.

[0104] In some embodiments, at least some functional modules of the mobile communication module 250 may be disposed in the processor 210. In some embodiments, at least some functional modules of the mobile communication module 250 and at least some modules of the processor 210 may be disposed in the same device.

[0105] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate 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 the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 270A, a receiver 270B, etc.), or displays an image or video through a display screen 294. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 210 and be set in the same device as the mobile communication module 250 or other functional modules.

[0106] The wireless communication module 260 can provide wireless communication solutions 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), infrared (IR), etc., which are applied to the electronic device 200. The wireless communication module 260 can be one or more devices integrating at least one communication processing module. The wireless communication module 260 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 210. The wireless communication module 260 can also receive the signal to be sent from the processor 210, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0107] In some embodiments, the antenna 1 of the electronic device 200 is coupled to the mobile communication module 250, and the antenna 2 is coupled to the wireless communication module 260, so that the electronic device 200 can communicate with the network and other devices through 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 technology, etc. 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 the satellite based augmentation system (SBAS).

[0108] The electronic device 200 implements the display function through a GPU, a display screen 294, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 294 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 210 may include one or more GPUs, which execute program instructions to generate or change display information.

[0109] The display screen 294 is used to display images, videos, etc. The display screen 294 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 200 may include 1 or N display screens 294, where N is a positive integer greater than 1.

[0110] The electronic device 200 can realize the shooting function through ISP, camera 293, video codec, GPU, display screen 294 and application processor.

[0111] The ISP is used to process the data fed back by the camera 293. For example, when taking a photo, the shutter is opened, and the light is transmitted to the camera photosensitive element through the lens. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converts it into an image visible to the naked eye. The ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. The ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, the ISP can be set in the camera 293.

[0112] The camera 293 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the electronic device 200 may include 1 or N cameras 293, where N is a positive integer greater than 1.

[0113] The digital signal processor is used to process digital signals, and can process not only digital image signals but also other digital signals. For example, when the electronic device 200 is selecting a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0114] Video codecs are used to compress or decompress digital videos. The electronic device 200 may support one or more video codecs. Thus, the electronic device 200 may play or record videos in a variety of coding formats, such as moving picture experts group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0115] NPU is a neural network (NN) computing processor, which can quickly process input information and continuously self-learn by drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain. NPU can realize applications such as intelligent cognition of electronic device 200.

[0116] The external memory interface 220 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 200. The external memory card communicates with the processor 210 through the external memory interface 220 to implement a data storage function, such as storing music, video and other files in the external memory card.

[0117] The internal memory 221 may be used to store computer executable program codes, which may include instructions. The processor 210 executes various functional applications and data processing of the electronic device 200 by running the instructions stored in the internal memory 221. The internal memory 221 may include a program storage area and a data storage area.

[0118] In addition, the internal memory 221 may include a high-speed random access memory and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0119] The electronic device 200 can implement audio functions such as music playing and recording through the audio module 270, the speaker 270A, the receiver 270B, the microphone 270C, the headphone jack 270D, and the application processor.

[0120] The audio module 270 is used to convert digital audio signals into analog audio signals for output, and is also used to convert analog audio inputs into digital audio signals. The audio module 270 can also be used to encode and decode audio signals. In some embodiments, the audio module 270 can be arranged in the processor 210, or some functional modules of the audio module 270 can be arranged in the processor 210.

[0121] The speaker 270A, also called a "speaker", is used to convert an audio electrical signal into a sound signal. The electronic device 200 can listen to music or listen to a hands-free call through the speaker 270A.

[0122] The receiver 270B, also called a "earpiece", is used to convert audio electrical signals into sound signals. When the electronic device 200 receives a call or voice message, the voice can be received by placing the receiver 270B close to the human ear.

[0123] Microphone 270C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 270C to input the sound signal into the microphone 270C. The electronic device 200 can be provided with at least one microphone 270C. In other embodiments, the electronic device 200 can be provided with two microphones 270C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the electronic device 200 can also be provided with three, four or more microphones 270C to collect sound signals, reduce noise, identify the sound source, realize directional recording function, etc.

[0124] The earphone interface 270D is used to connect a wired earphone and can be a USB interface 230 or a 3.5 mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.

[0125] The pressure sensor 280A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 280A can be set on the display screen 294. There are many types of pressure sensors 280A, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc. A capacitive pressure sensor can be a parallel plate including at least two conductive materials. When a force acts on the pressure sensor 280A, the capacitance between the electrodes changes. The electronic device 200 determines the intensity of the pressure based on the change in capacitance. When a touch operation acts on the display screen 294, the electronic device 200 detects the intensity of the touch operation based on the pressure sensor 280A. The electronic device 200 can also calculate the position of the touch based on the detection signal of the pressure sensor 280A.

[0126] The gyro sensor 280B can be used to determine the motion posture of the electronic device 200. In some embodiments, the angular velocity of the electronic device 200 around three axes (i.e., x, y, and z axes) can be determined by the gyro sensor 280B. The gyro sensor 280B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyro sensor 280B detects the angle of the electronic device 200 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the electronic device 200 through reverse movement to achieve anti-shake. The gyro sensor 280B can also be used for navigation and somatosensory game scenes.

[0127] The acceleration sensor 280E can detect the magnitude of the acceleration of the electronic device 200 in all directions (generally three axes). When the electronic device 200 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of the electronic device and is applied to applications such as horizontal and vertical screen switching and pedometers.

[0128] The distance sensor 280F is used to measure the distance. The electronic device 200 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the electronic device 200 can use the distance sensor 280F to measure the distance to achieve fast focusing.

[0129] The proximity light sensor 280G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The electronic device 200 emits infrared light outward through the light emitting diode. The electronic device 200 uses a 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 electronic device 200. When insufficient reflected light is detected, the electronic device 200 can determine that there is no object near the electronic device 200. The electronic device 200 can use the proximity light sensor 280G to detect that the user holds the electronic device 200 close to the ear to talk, so as to automatically turn off the screen to save power. The proximity light sensor 280G can also be used in leather case mode and pocket mode to automatically unlock and lock the screen.

[0130] The ambient light sensor 280L is used to sense the ambient light brightness. The electronic device 200 can adaptively adjust the brightness of the display screen 294 according to the perceived ambient light brightness. The ambient light sensor 280L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 280L can also cooperate with the proximity light sensor 280G to detect whether the electronic device 200 is in a pocket to prevent accidental touch.

[0131] The fingerprint sensor 280H is used to collect fingerprints. The electronic device 200 can use the collected fingerprint characteristics to achieve fingerprint unlocking, access application locks, fingerprint photography, fingerprint answering calls, etc.

[0132] The temperature sensor 280J is used to detect temperature. In some embodiments, the electronic device 200 uses the temperature detected by the temperature sensor 280J to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 280J exceeds a threshold, the electronic device 200 reduces the performance of the processor located near the temperature sensor 280J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the electronic device 200 heats the battery 242 to avoid abnormal shutdown of the electronic device 200 due to low temperature. In other embodiments, when the temperature is lower than another threshold, the electronic device 200 performs a boost on the output voltage of the battery 242 to avoid abnormal shutdown caused by low temperature.

[0133] The touch sensor 280K is also called a "touch panel". The touch sensor 280K can be set on the display screen 294, and the touch sensor 280K and the display screen 294 form a touch screen, also called a "touch screen". The touch sensor 280K is used to detect touch operations acting on or near it. The touch sensor can pass 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 the display screen 294. In other embodiments, the touch sensor 280K can also be set on the surface of the electronic device 200, which is different from the position of the display screen 294.

[0134] The key 290 includes a power key, a volume key, etc. The key 290 can be a mechanical key or a touch key. The electronic device 200 can receive key input and generate key signal input related to user settings and function control of the electronic device 200.

[0135] Motor 291 can generate vibration prompts. Motor 291 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 294, motor 291 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.

[0136] Indicator 292 may be an indicator light, which may be used to indicate charging status, power changes, messages, missed calls, notifications, etc.

[0137] The SIM card interface 295 is used to connect a SIM card. The SIM card can be connected to and separated from the electronic device 200 by inserting it into the SIM card interface 295 or pulling it out from the SIM card interface 295. The electronic device 200 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 295 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 295 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 295 can also be compatible with different types of SIM cards. The SIM card interface 295 can also be compatible with external memory cards. The electronic device 200 interacts with the network through the SIM card to implement functions such as calls and data communications. In some embodiments, the electronic device 200 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 200 and cannot be separated from the electronic device 200.

[0138] The embodiments of the present application do not particularly limit the specific structure of the execution subject of a data backup method, as long as it can communicate according to a data backup method provided by an embodiment of the present application by running a program that records a data backup method of the embodiment of the present application. For example, the execution subject of a data backup method provided by an embodiment of the present application can be a functional module in an electronic device that can call and execute a program, or a device applied to an electronic device, such as a chip. The following embodiments are described by taking the execution subject of a data backup method as a first device as an example.

[0139] See also Figure 3 , Figure 3 A flow chart of a data backup method provided in an embodiment of the present application is shown in the figure. As shown in the figure, the method includes:

[0140] Step 301: A first device obtains an auxiliary device of the first device.

[0141] In the embodiment of the present application, the first device first needs to discover a candidate auxiliary device that has the ability to communicate with the first device. Figure 1 As shown in the application scenario, some electronic devices discovered by the first device do not have cloud backup capabilities, such as microwave ovens; or even if they have cloud backup capabilities, they are of little help to the cloud backup task of the first device, such as weight scales, smart watches, etc. In this case, candidate auxiliary devices that meet preset conditions (for example, the remaining storage space must be sufficient to store the allocated data set, and the average daily uplink bandwidth is greater than the first preset value, etc.) can be used as auxiliary devices of the first device. For example, smart screen 1, smart screen 2, idle mobile phone 2, tablet computer, etc. can all be used as auxiliary devices of the first device.

[0142] Step 302: The first device divides the data to be backed up into N data sets, where N is the number of backup devices, and the backup devices include the first device and auxiliary devices of the first device.

[0143] In the embodiment of the present application, both the first device and the auxiliary device of the first device can participate in the cloud backup task, so the first device and the auxiliary device of the first device can be collectively referred to as backup devices. The first device can split the data to be backed up into data sets consistent with the number of backup devices according to the number of backup devices. Each backup device corresponds to a data set.

[0144] In actual applications, the data to be backed up can be equally divided into multiple data sets. It can also be divided into multiple data sets based on the expected backup cycle and the expected backup status of each backup device, so as to ensure that each backup device can upload its assigned data set to the cloud platform within the expected backup cycle.

[0145] Step 303: The first device sends backup information to the auxiliary device. The backup information includes a data set assigned to the auxiliary device. The backup information is used to instruct the auxiliary device to send the received data set to a preset cloud platform.

[0146] In an embodiment of the present application, the first device can send the data set assigned to each auxiliary device to the corresponding auxiliary device respectively. The first device can select a suitable communication method according to the situation of each auxiliary device to send the data set assigned to each auxiliary device to the auxiliary device. For example, for an auxiliary device in the same local area network as the first device, the first device can select the samba protocol to synchronize the corresponding data set to the auxiliary device; for an auxiliary device that supports Wi-Fi direct connection, the first device can send the corresponding data set to the auxiliary device via Wi-Fi direct connection. For an auxiliary device equipped with a Bluetooth module, the first device can send the corresponding data set to the auxiliary device via Bluetooth.

[0147] After each auxiliary device receives the assigned data set, it can store the data set in the local storage space first. The auxiliary device uploads the data set in the local storage space to the cloud platform during idle time. Among them, the idle time can be specifically set, for example, when the Wi-Fi is connected and the screen is off, it can be used as idle time. It can also be used as idle time when the Wi-Fi is connected and the uplink bandwidth is greater than the first preset value. It can also be used as idle time when the Wi-Fi is connected and the processor load is less than the first preset ratio. Of course, in actual applications, more or fewer conditions can be set as the judgment conditions for the idle time of the auxiliary device; the embodiments of the present application are not limited to this.

[0148] For the convenience of description, the time when the auxiliary device is in idle time may be recorded as the time when the auxiliary device satisfies the second preset condition.

[0149] Step 304: The first device sends the data set assigned to the first device to a preset cloud platform.

[0150] In the embodiment of the present application, since a data set is also allocated to the first device in advance, the first device also needs to send the data set allocated to the first device to the cloud platform during the idle time of the first device. The idle time of the first device can refer to the relevant description of the idle time of the auxiliary device, which will not be repeated here.

[0151] In practical applications, different electronic devices may also set different conditions to determine whether the electronic device is in idle time.

[0152] Figure 1 The application scenarios and Figure 3 The embodiments shown all briefly describe the data backup method provided by the embodiments of the present application. The specific implementation details of the data backup method provided by the embodiments of the present application will be described below.

[0153] like Figure 3 In step 301, the first device first needs to obtain a candidate auxiliary device that has a communication capability with the first device.

[0154] like Figure 4 As shown, it is a timing diagram of a method for obtaining a candidate auxiliary device having communication capability with a first device provided in an embodiment of the present application, such as Figure 4 As shown. The first device broadcasts the first information via Bluetooth, and the second device that can receive the first information can make feedback according to the first information after receiving the first information. For example, after receiving the first information, the second device 1 sends feedback information to the first device, and the feedback information is used to indicate that the second device 1 is within a certain distance range of the first device, and the first device and the second device are convenient to use a short-distance high-speed transmission method (for example, 5G Wi-Fi, Wi-Fi direct connection, etc.) for subsequent data set transmission. The feedback information can also indicate that the second device 1 can communicate with the first device via Bluetooth, and the first device and the second device are convenient to use Bluetooth for subsequent data set transmission. Of course, the feedback information can also be the device information of the second device 1, and the device information of the second device 1 can include: the average charging time of the second device 1 per day (in actual application, it can also be other unit values ​​for measuring the average, for example, every two days, every three days, etc.) in the first historical time period (for example, the previous week, the previous two weeks, the previous month), the average load of the central processor, the average uplink bandwidth, the current remaining storage space, etc. In actual application, the device information can be one or more of the above-listed information, and can also be other information other than the above-listed information. The embodiment of the present application is not limited to this. The embodiments of the present application will not go into details about other second devices that can receive the first information broadcast by the first device.

[0155] The feedback information of the second device obtained by the first device can be used as a candidate auxiliary device for the first device, whether it is feedback information indicating that the second device is within a certain distance range of the first device and can perform short-distance high-speed transmission with the first device; feedback information indicating that the second device can perform Bluetooth communication with the first device; or device information of the second device. As long as the second device corresponding to the received feedback information is used, it can be used as a candidate auxiliary device for the first device.

[0156] Reference Figure 3 As shown in step 301 of FIG. 1 , the first device needs to determine an auxiliary device of the first device. Therefore, the first device also needs to select an auxiliary device of the first device from the candidate auxiliary devices.

[0157] As before, the second device can feedback the device information of the second device to the first device. In actual applications, if the second device feedbacks other information instead of device information. For example, the feedback information used to indicate that the second device is within a certain distance range of the first device and can perform short-distance high-speed transmission with the first device; or the feedback information used to indicate that the second device can perform Bluetooth communication with the first device; then a communication connection can be established between the first device and the second device, and the second device sends the device information of the second device to the first device through the established communication connection. The first device determines the auxiliary device of the first device based on the device information of the second device.

[0158] After the first device obtains the device information of the second device, the first device may use the second device that meets the first preset condition as an auxiliary device of the first device in the manner of Table 1.

[0159] Table 1 Equipment parameter table for determining auxiliary equipment of the first equipment

[0160]

[0161] As shown in the notes in Table 1, the principle of selecting device parameters is to measure whether the second device can assist the first device in completing the cloud backup task without causing adverse effects on the second device. In practical applications, other device parameters can be selected as device information based on this principle. A second device whose each device parameter meets the corresponding conditions can be used as an auxiliary device for the first device. That is, a second device whose average daily charging time is greater than the first preset time, whose average daily load of the central processor is less than the first preset ratio, whose average daily uplink bandwidth is greater than the first preset value, and whose current remaining storage space is greater than the second preset value is an auxiliary device for the first device.

[0162] In practical applications, fewer or more device parameters than those in Table 1 may be selected as the device information of the second device.

[0163] Reference Figure 3 In step 302, after determining the auxiliary device of the first device, the first device needs to divide the data to be backed up into multiple data sets.

[0164] In an embodiment of the present application, the devices involved in data backup may be collectively referred to as backup devices, that is, the backup devices include: a first device and an auxiliary device of the first device. The first device needs to determine the backup capability of each backup device. In an embodiment of the present application, the backup capability of each backup device may be measured by predicting backup parameters. The predicted backup parameters include: a predicted backup speed and a predicted backup duration. Assuming that the preset backup cycle is two days, the predicted backup speed may be the predicted backup speed of the backup device within the backup cycle corresponding to this backup task. The predicted backup duration is the predicted duration of time that the backup device can perform the backup task within the backup cycle corresponding to this backup task.

[0165] After determining the total amount of data to be backed up and the predicted backup parameters of each backup device, the first device may calculate the amount of data allocated to each backup device in the manner shown in Table 2.

[0166] Table 2 is a table showing the process of allocating data volume to the backup device

[0167] Backup Device Predicted backup duration Predict backup speed Proportional relationship Amount of data allocated First Equipment 2 hours 1Mb / s 2 7GB Second device 1 30 hours 2Mb / s 60 210GB Second device 2 3 hours 1Mb / s 3 10.5GB Second device 3 1 hour 1Mb / s 1 3.5GB

[0168] As shown in Table 2, the proportional relationship between the predicted backup data volumes of each backup device can be obtained according to the predicted backup duration and predicted backup speed of each backup device, first device: second device 1: second device 2: second device 3 = 2:60:3:1. Then the total amount of data to be backed up is allocated according to the above proportional relationship to obtain the amount of data allocated to each backup device.

[0169] After determining the amount of data allocated to each backup device, the first device divides the data to be backed up into data sets matching the amount of data of each backup device according to the amount of data allocated to each backup device.

[0170] In a specific implementation process, the data to be backed up may be divided into four data sets in the following manner, and the four data sets are respectively allocated to the first device, the second device 1, the second device 2, and the second device 3.

[0171] Reference Figure 5 As shown, the first device scans the storage space where the data to be backed up is located to obtain a tree structure directory of the data to be backed up. The tree structure directory information of the data to be backed up includes: the root node of the data to be backed up, the data volume of the root node, the child node, the data volume of the child node, the leaf node and the data volume of the leaf node;

[0172] In actual applications, the root node can be set as a snapshot of the data to be backed up, and the data volume of the root node is the total data volume of the data to be backed up. The leaf nodes at the end are: file 1, file 2, file 3, file 4, file 5, file 6, file 7, file 8, file 9, file 10 and APP 3. The folders in the middle are child nodes.

[0173] You can also set APP1, APP2, and APP3 as root nodes, and the leaf nodes of APP1 are: file1, file2, file3, file4, file5, file6, file7. The leaf nodes of APP2 are: file8, file9, file10. APP3 does not have child nodes and leaf nodes. Or APP3 itself is both a root node and a leaf node.

[0174] Figure 5 The amount of data corresponding to the root node, the amount of data corresponding to the child node, and the amount of data corresponding to the leaf node in the tree structure directory are not shown.

[0175] Reference Figure 6 As shown, the first device can obtain the leaf nodes allocated to each backup device according to the tree structure directory and the amount of data allocated to each backup device. After obtaining the leaf nodes, the data represented by the leaf nodes allocated to each backup device constitute the data set allocated to each backup device. Figure 6 After obtaining the leaf node, the directory where the leaf node is located can also be obtained based on the tree structure directory, thereby obtaining the directory where the data in the dataset allocated to each backup device is located.

[0176] Reference Figure 3 In step 303, when the first device sends the data set assigned to each auxiliary device to the auxiliary device, Bluetooth communication as before may be used, or other high-speed transmission methods may be used, which is not limited in the embodiment of the present application.

[0177] As another embodiment of the present application, when the auxiliary device is executing the backup subtask, the first device can also obtain the backup progress information of the auxiliary device at a preset time period (for example, every 10 minutes, every 30 minutes, every 1 hour, every 2 hours, etc.), and the backup progress information can include the current backup progress of each auxiliary device (for example, the percentage that has been uploaded to the cloud platform), and can also include information indicating whether there is a backup abnormality; when the backup progress information of any auxiliary device includes information about the existence of a backup abnormality, the first device will reallocate the data that has not been successfully backed up in the data set allocated to the auxiliary device with the backup abnormality to the first device and / or the auxiliary device with normal backup.

[0178] It should be noted that the auxiliary device with backup abnormality in the embodiment of the present application means that the auxiliary device may not be able to continue to back up data. For example, the auxiliary device with backup abnormality may be damaged, resulting in the first device being unable to establish a communication connection with the auxiliary device to obtain backup progress information. The auxiliary device with backup abnormality may be unable to establish a connection with the cloud platform. The auxiliary device with backup abnormality may also be due to the loss of the data set stored in the storage space.

[0179] Of course, in actual applications, the auxiliary device can also feedback in real time the relevant information of the data that has been successfully backed up (such as the name of the data, the directory where the data is located) when feeding back the backup progress information. The first device obtains the data that has not been successfully backed up by the auxiliary device based on the relevant information of the data that has been successfully backed up fed back by the auxiliary device. When the first device allocates the data that has not been successfully backed up in the auxiliary device with backup abnormality to the first device and / or the auxiliary device with normal backup, the data that has not been successfully backed up can be re-split into Nn data sets as data to be backed up in accordance with the method of Table 2 (compared with the N data sets split previously, the split Nn data sets are recorded as secondary data sets), where n is the auxiliary device with the current backup abnormality. This is equivalent to reallocating a secondary data set to each currently normal backup device (the first device and the auxiliary device with normal backup). Alternatively, the data that has not been successfully backed up by the auxiliary device with backup abnormality is allocated to the normal backup device with the fastest current backup progress.

[0180] In addition, in practical applications, Figure 3 Some steps in the illustrated embodiment may also be implemented in other ways.

[0181] As an example, Figure 3 The first device described in step 301 may discover a candidate auxiliary device that has the communication capability with the first device in the following manner:

[0182] The first device transmits communication information of the first device to the third device through the NFC module, where the communication information is used to instruct the third device to establish a communication connection with the first device through the communication information of the first device;

[0183] The first device regards the third device with which the communication connection is successfully established as a candidate auxiliary device of the first device;

[0184] or,

[0185] The first device obtains the communication information of the third device through the NFC module, and the first device establishes a communication connection with the third device through the communication information of the third device;

[0186] The first device uses the third device that has successfully established a communication connection with the first device as a candidate auxiliary device of the first device.

[0187] In an embodiment of the present application, the first device may also determine a candidate auxiliary device of the first device through an NFC module. The NFC module may have an active mode and a passive mode. When the NFC module of an electronic device is in active mode, the NFC module of the electronic device may act as a card reader to identify relevant information of other NFC devices. When the NFC module of an electronic device is in passive mode, the NFC module of the electronic device simulates a card and is read by other NFC devices.

[0188] Based on the above description of the NFC module, an NFC module can be set on the first device, and an NFC module can also be set on the third device. The NFC module of the first device can be simulated as a card to store the communication information of the first device, and the NFC module of the third device is equivalent to a card reader. The first device is close to or close to the third device (or the third device is close to or close to the first device), and the NFC module of the third device can obtain the communication information of the first device. From the perspective of the first device, the first device transmits the communication information of the first device to the NFC module of the first device through the NFC module set on the first device. The communication information of the first device can be Bluetooth, Wi-Fi and other information of the first device. After the third device receives the communication information, the third device can establish a communication connection with the first device. The first device can use the third device that has successfully established a communication connection with the first device as a candidate auxiliary device for the first device.

[0189] Of course, in actual applications, when the first device and the third device establish a communication connection, the NFC module of the third device can also be simulated as a card to store the communication information of the third device, and the NFC module of the first device is equivalent to a card reader. The first device is close to or close to the third device (or the third device is close to or close to the first device), and the NFC module of the first device can obtain the communication information of the third device. The first device establishes a communication connection with the third device through the communication information of the third device. The first device can use the third device that has successfully established a communication connection with the first device as a candidate auxiliary device for the first device.

[0190] Currently, in actual applications, the NFC module of the first device and the NFC module of the third device may also exchange information in other ways to determine a candidate auxiliary device for the first device, which is not limited in this embodiment of the present application.

[0191] As another embodiment of the present application, Figure 3 The first device described in step 301 in the above method may also discover a candidate auxiliary device that has the communication capability with the first device in the following manner:

[0192] The first device is provided with code information carrying the communication information of the first device, and the code information is used to instruct the fourth device that scans the code information to establish a communication connection with the first device by scanning the communication information of the first device obtained;

[0193] The first device regards the fourth device which has successfully established a communication connection with the first device as a candidate auxiliary device of the first device;

[0194] or,

[0195] The first device scans the coding information including the communication information of the fourth device to obtain the communication information of the fourth device;

[0196] The first device establishes a communication connection with the fourth device through the communication information of the fourth device;

[0197] The first device uses the fourth device that has successfully established a communication connection with the first device as a candidate auxiliary device of the first device.

[0198] In an embodiment of the present application, the electronic device may carry the communication information of the electronic device in the coding information, such as a barcode, a QR code, and the like. The coding information may be displayed by the electronic device through a display screen of the electronic device, or the coding information may be affixed to the body of the electronic device. The first device may display the coding information, and the fourth device may scan the coding information of the first device to obtain the device information of the first device. The fourth device establishes a communication connection with the first device through the device information obtained by scanning. In practical applications, the coding information may also be displayed by the fourth device. The first device scans the coding information displayed by the fourth device to obtain the communication information of the fourth device, and the first device establishes a communication connection with the fourth device based on the communication information of the fourth device. Regardless of the method used, the fourth device that can successfully establish a communication connection with the first device is a candidate auxiliary device.

[0199] It can be understood from the above description that the method for the first device to determine the candidate auxiliary device of the first device can be selected according to actual conditions. In addition, the third device, the fourth device, and the second device all represent electronic devices in the surrounding environment of the first device, but different naming methods are used in different embodiments.

[0200] In addition, it should be noted that after the first device determines the candidate auxiliary device, it can obtain the device information of the candidate auxiliary device through the established communication connection to determine the auxiliary device according to the device information of the candidate auxiliary device. For example, the auxiliary device is determined from the candidate auxiliary devices according to the device information of the candidate auxiliary device in the manner shown in Table 1.

[0201] After the first device determines the auxiliary device from the candidate auxiliary devices, the communication connection with the auxiliary device can be maintained, so that the first device can subsequently send the data set assigned to the auxiliary device to the auxiliary device through the communication connection. In practical applications, after the first device determines the auxiliary device from the candidate auxiliary devices, the communication connection with the auxiliary device can also be disconnected. Before the first device sends the data set assigned to the auxiliary device to the auxiliary device, the first device establishes a communication connection with the auxiliary device based on previously acquired communication information or based on communication information recorded in a previous communication connection.

[0202] In addition, it should be noted that in the above examples, the auxiliary devices of the first device are all near-field devices of the first device. In actual applications, the auxiliary devices of the first device can also be far-field devices of the first device. As an example, the first device can obtain the communication information of the second device through the cloud platform, and the communication information can be the account of the second device. Then, data transmission can be achieved between the first device and the second device based on technologies such as virtual local area networks.

[0203] As another embodiment of the present application, Figure 3 The first device described in step 301 in the above process may use the candidate auxiliary device that meets the first preset condition as the auxiliary device of the first device in the following manner:

[0204] Obtaining scores and weights corresponding to each item of device information of the candidate auxiliary device, where the device information of the candidate auxiliary device includes one or more of the following: average charging time, average load of a central processing unit, average uplink bandwidth, and current remaining storage space;

[0205] Calculate the weighted sum of the device information of the candidate auxiliary devices according to the scores and weights corresponding to each item of device information of the candidate auxiliary devices;

[0206] The candidate auxiliary devices whose device information weighted sum is greater than a third preset value are used as auxiliary devices of the first device.

[0207] In an embodiment of the present application, when the device information of the candidate auxiliary device includes the average charging time, the average load of the central processing unit, the average uplink bandwidth and the current remaining storage space, the value corresponding to the average charging time can be set to different ranges, and each range corresponds to a different score. As an example, when the daily average value is calculated, the average charging time is 0-1 hour, the score is 10; the average charging time is 1-3 hours, the score is 30; the average charging time is 3-5 hours, the score is 80 points, and the average charging time is 5-24 hours, The score is 100 points. In actual applications, it is also possible to set a functional relationship between the score and the average charging time, and obtain the score corresponding to the average charging time based on the functional relationship. The method of obtaining the scores of other device parameters in the device information is no longer exemplified one by one.

[0208] The first device can obtain the weighted sum of the device information of the candidate auxiliary devices according to the score of each device parameter in the device information of the candidate auxiliary devices and the weight pre-set for each device parameter. The weighted sum of the candidate auxiliary devices represents the ability of the candidate auxiliary devices to assist the first device in performing data backup. The first device can determine the auxiliary device from the candidate auxiliary devices based on the weighted sum.

[0209] As another embodiment of the present application, Figure 3 The first device described in step 301 uses the candidate auxiliary device that meets the first preset condition as the auxiliary device of the first device in the following manner:

[0210] Obtain historical backup parameters of the candidate auxiliary device and historical device information corresponding to the historical backup parameters, the historical backup parameters including: historical backup speed and historical backup duration, the historical device information including one or more of the following: average charging time corresponding to the historical backup parameters, average load of the central processor, average uplink bandwidth, and remaining storage space;

[0211] Training a preset backup model according to historical backup parameters and historical device information corresponding to the historical backup parameters to obtain a trained backup model;

[0212] Input the device information of the candidate auxiliary device into the trained backup model to obtain the predicted backup parameters of the candidate auxiliary device, the predicted backup parameters including: predicted backup speed and predicted backup duration;

[0213] A score of the candidate auxiliary device is generated according to the predicted backup parameter, and the candidate auxiliary device with a score greater than a fourth preset value is used as an auxiliary device of the first device.

[0214] In an embodiment of the present application, since the data in the first device is constantly being updated, the first device may need to perform a cloud backup every certain period of time (for example, two days, a week, half a month, etc.). Since the device information of the auxiliary device needs to be obtained each time a cloud backup is performed: average charging time, average load of the central processing unit, average uplink bandwidth, and remaining storage space, the backup parameters of the auxiliary device when it assisted the first device in performing cloud backup in the past can be recorded as historical backup parameters. The actual backup parameters of the auxiliary device when each cloud backup is performed can also be obtained: backup speed and backup duration (from receiving the backup subtask to completion of the backup). The actual backup parameters of the auxiliary device when it assisted the first device in performing cloud backup in the past can be recorded as historical backup parameters. Then the historical backup parameters of the auxiliary device and the historical device information corresponding to the historical backup parameters can be obtained.

[0215] The embodiment of the present application can select a suitable auxiliary device from the candidate auxiliary devices through a machine learning method. For example, a backup model can be set, and the backup model can be trained by obtaining historical backup parameters and historical device information corresponding to the historical backup parameters to obtain a trained backup model. The device information of the candidate auxiliary devices obtained during this cloud backup process is input into the trained backup model, and the predicted backup speed and predicted backup duration of the candidate auxiliary devices can be obtained. A score for the candidate auxiliary device is generated based on the predicted backup speed and the predicted backup duration, and a candidate auxiliary device with a score greater than a fourth preset value is used as an auxiliary device of the first device. Of course, a candidate auxiliary device whose predicted backup speed is greater than the preset backup speed and whose predicted backup duration is less than the preset backup duration can also be used as an auxiliary device.

[0216] As another embodiment of the present application, Figure 3 The first device described in step 301 in the above may obtain the auxiliary device of the first device in the following manner:

[0217] The first device broadcasts second information, where the second information carries an identifier of the sub-data in the data to be backed up, and the second information is used to instruct the fifth device that has received the second information to select the sub-data in the data to be backed up based on the device information of the fifth device and the information of the data to be backed up, and to send the identifier of the selected sub-data to the first device;

[0218] The first device uses the fifth device corresponding to the identifier of the received sub-data as an auxiliary device of the first device.

[0219] In an embodiment of the present application, the first device can divide the data to be backed up into multiple sub-data, and the first device broadcasts the unique identifier and data volume of each sub-data via Bluetooth. The fifth device that receives the broadcast can select the sub-data that it can assist the first device in processing based on its own device information. For example, the fifth device can determine the amount of backup data it can afford based on its remaining storage space, average daily charging time, average daily load of the central processor, and average daily uplink bandwidth, and then select the corresponding sub-data based on the amount of backup data it can afford. The fifth device sends the unique identifier of the selected sub-data to the first device.

[0220] Accordingly, Figure 3 The first device described in step 302 divides the data to be backed up into N data sets in the following manner:

[0221] The first device divides the data to be backed up into data sets matching each backup device according to the identifier of the sub-data and the data volume of the sub-data sent by the auxiliary device.

[0222] In an embodiment of the present application, after the first device receives the unique identifier of the sub-data sent by the auxiliary device, the first device can learn the amount of data that each auxiliary device can bear. Of course, the first device can also select the sub-data. In view of the fact that different backup devices may select the same sub-data. Some sub-data may not be selected by any backup device. Therefore, the first device needs to reallocate the sub-data to be backed up by each backup device to each backup device based on the identifier and data volume of the sub-data sent by each auxiliary device, and the identifier and data volume of the sub-data selected by the first device. The sub-data to be backed up by each backup device constitutes the data set to be backed up of the backup device.

[0223] As an example, the following sub-data exist in the data to be backed up: sub-data 1 (5M), sub-data 2 (17M), sub-data 3 (19M), sub-data 4 (32M), sub-data 5 (40M), sub-data 6 (46M), sub-data 7 (50M), sub-data 8 (75M), sub-data 9 (97M), and sub-data 10 (102M).

[0224] The amount of data that auxiliary device 1 can back up is 500M, and the maximum total amount of sub-data that can be selected is: 500M*0.8=400M, and the following sub-data can be selected: sub-data 10, sub-data 9, sub-data 8, sub-data 7, and sub-data 6.

[0225] The amount of data that auxiliary device 2 can back up is 50M, and the maximum total amount of sub-data that can be selected is: 50M*0.8=40M, and sub-data 5 can be selected.

[0226] The amount of data that can be backed up by the first device is 100M, and the maximum total amount of sub-data that can be selected is: 100M*0.8=80M, and you can select: sub-data 8.

[0227] It can be understood from the sub-data selected by the above backup device (first device and auxiliary device) that the backup device first takes a certain proportion (e.g., 30%, 50%, 80%, etc.) of the amount of data that the device can back up as the maximum total amount of sub-data that the device can select. The backup device can select sub-data that is lower than the maximum total amount that the device can back up. When selecting, the sub-data with the largest amount of data can be selected from the sub-data that can be selected.

[0228] Taking auxiliary device 1 as an example, the maximum total amount of sub-data that can be selected by auxiliary device 1 is: 500M*0.8=400M. All sub-data are less than 400M, that is, auxiliary device 1 can select sub-data 1 to sub-data 10. The auxiliary device starts to select from sub-data 10 with the largest data volume:

[0229] Subdata 10, current total data volume: 102M;

[0230] Sub-data 10, sub-data 9, current total data volume: 102M+97M=199M;

[0231] Sub-data 10, sub-data 9, sub-data 8, current total data volume: 102M+97M+75M=274M;

[0232] Sub-data 10, sub-data 9, sub-data 8, sub-data 7, current total data volume: 102M+97M+75M+50M=324M;

[0233] Subdata 10, subdata 9, subdata 8, subdata 7, subdata 6, current total data volume: 102M+97M+75M+50M+46M=370M;

[0234] Subdata 10, subdata 9, subdata 8, subdata 7, subdata 6, subdata 5, the current total data volume is: 102M+97M+75M+50M+46M+40M=410M; obviously, auxiliary device 1 can no longer select subdata 5. Therefore, auxiliary device 1 selects subdata: subdata 10, subdata 9, subdata 8, subdata 7, subdata 6.

[0235] Of course, in actual applications, the backup device may also select sub-data in other ways.

[0236] The first device reallocates sub-data to each backup device according to the unique identifier of the selectable sub-data reported by each auxiliary device and the sub-data selected by the first device.

[0237] For example, sub-data 8 has been selected by auxiliary device 1, and sub-data 8 can be assigned to auxiliary device 1, and sub-data 4, sub-data 3, sub-data 2, and sub-data 1 can be reallocated to the first device.

[0238] It should be noted that the sub-data is not necessarily a single file, but may include multiple files. The multiple sub-data allocated to each auxiliary device constitute a data set allocated to each auxiliary device.

[0239] It should be understood that the writing order of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0240] The embodiment of the present application can divide the functional modules of the first device according to the above method example. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation. The following is an example of dividing each functional module corresponding to each function:

[0241] Reference Figure 7 , the first device 700 includes:

[0242] An auxiliary device acquisition module 710 is used to acquire an auxiliary device of the first device;

[0243] A data splitting module 720, configured to divide the data to be backed up into N data sets, where N is the number of backup devices, and the backup devices include a first device and an auxiliary device of the first device;

[0244] A backup information sending module 730 is used to send backup information to the auxiliary device, where the backup information includes a data set assigned to the auxiliary device, and the backup information is used to instruct the auxiliary device to send the received data set to a preset cloud platform;

[0245] The backup module 740 is used to send the data set allocated to the first device to a preset cloud platform.

[0246] As another embodiment of the present application, the auxiliary device acquisition module 710 is further used to:

[0247] Acquire a candidate auxiliary device capable of communicating with the first device;

[0248] A candidate auxiliary device that meets the first preset condition is used as an auxiliary device of the first device.

[0249] As another embodiment of the present application, the auxiliary device acquisition module 710 is further used to:

[0250] Broadcasting the first information via Bluetooth, where the first information is used to instruct the second device that receives the first information to feed back device information of the second device;

[0251] The second device indicated by the received device information is used as a candidate auxiliary device for the first device.

[0252] As another embodiment of the present application, the auxiliary device acquisition module 710 is further used to:

[0253] Transmitting communication information of the first device to the third device through the NFC module, where the communication information is used to instruct the third device to establish a communication connection with the first device through the communication information of the first device;

[0254] taking a third device which has successfully established a communication connection with the first device as a candidate auxiliary device for the first device;

[0255] or,

[0256] Acquire communication information of a third device through the NFC module, and establish a communication connection with the third device through the communication information of the third device;

[0257] The third device that successfully establishes a communication connection with the first device is used as a candidate auxiliary device of the first device.

[0258] As another embodiment of the present application, the auxiliary device acquisition module 710 is further used to:

[0259] The first device is provided with code information carrying the communication information of the first device, and the code information is used to instruct the fourth device that scans the code information to establish a communication connection with the first device by scanning the communication information of the first device obtained;

[0260] taking a fourth device which has successfully established a communication connection with the first device as a candidate auxiliary device for the first device;

[0261] or,

[0262] Scanning the code information including the communication information of the fourth device to obtain the communication information of the fourth device;

[0263] establishing a communication connection with a fourth device through the communication information of the fourth device;

[0264] The fourth device that successfully establishes a communication connection with the first device is used as a candidate auxiliary device for the first device.

[0265] As another embodiment of the present application, the auxiliary device acquisition module 710 is further used to:

[0266] A candidate auxiliary device having an average charging time greater than a first preset time, an average CPU load less than a first preset ratio, an average uplink bandwidth greater than a first preset value, and a current remaining storage space greater than a second preset value is selected as an auxiliary device of the first device.

[0267] As another embodiment of the present application, the auxiliary device acquisition module 710 is further used to:

[0268] Obtaining scores and weights corresponding to each item of device information of the candidate auxiliary device, where the device information of the candidate auxiliary device includes one or more of the following: average charging time, average load of a central processing unit, average uplink bandwidth, and current remaining storage space;

[0269] Calculate the weighted sum of the device information of the first device according to the score and weight corresponding to each item of device information of the candidate auxiliary device;

[0270] The candidate auxiliary devices whose device information weighted sum is greater than a third preset value are used as auxiliary devices of the first device.

[0271] As another embodiment of the present application, the auxiliary device acquisition module 710 is further used to:

[0272] Obtain historical backup parameters of the candidate auxiliary device and historical device information corresponding to the historical backup parameters, the historical backup parameters including: historical backup speed and historical backup duration, the historical device information including one or more of the following: average charging time corresponding to the historical backup parameters, average load of the central processor, average uplink bandwidth, and remaining storage space;

[0273] Training a preset backup model according to historical backup parameters and historical device information corresponding to the historical backup parameters to obtain a trained backup model;

[0274] Input the device information of the candidate auxiliary device into the trained backup model to obtain the predicted backup parameters of the candidate auxiliary device, the predicted backup parameters including: predicted backup speed and predicted backup duration;

[0275] A score of the candidate auxiliary device is generated according to the predicted backup parameter, and the candidate auxiliary device with a score greater than a fourth preset value is used as an auxiliary device of the first device.

[0276] As another embodiment of the present application, the data splitting module 720 is further used for:

[0277] Obtaining predicted backup parameters of the backup device, the predicted backup parameters including: predicted backup speed and predicted backup duration;

[0278] According to the predicted backup parameters of the backup device and the total amount of data to be backed up, the amount of data allocated to each backup device is obtained;

[0279] According to the data volume allocated to each backup device, the data to be backed up is divided into data sets matching the data volume of each backup device.

[0280] As another embodiment of the present application, the data splitting module 720 is further used for:

[0281] Scan the storage space where the data to be backed up is located to obtain a tree structure directory of the data to be backed up, wherein the tree structure directory information of the data to be backed up includes: a root node of the data to be backed up, the data volume of the root node, a child node, the data volume of the child node, a leaf node, and the data volume of the leaf node;

[0282] According to the tree structure directory of the data to be backed up and the amount of data allocated to each backup device, a leaf node allocated to each backup device is obtained, wherein the set of data represented by the leaf node allocated to each backup device is a data set of each backup device.

[0283] As another embodiment of the present application, the electronic device 700 further includes:

[0284] A progress monitoring module is used to obtain backup progress information of auxiliary devices in a preset time period;

[0285] When there is a backup anomaly in the backup progress information of the auxiliary device, the data that has not been successfully backed up in the data set allocated to the auxiliary device with the backup anomaly is reallocated to the first device and / or the auxiliary device with normal backup.

[0286] As another embodiment of the present application, the auxiliary device acquisition module 710 is further used to:

[0287] broadcasting second information, where the second information carries an identifier of the sub-data in the data to be backed up, and the second information is used to instruct the fifth device that has received the second information to select the sub-data in the data to be backed up based on the device information of the fifth device and the information of the data to be backed up, and to send the identifier of the selected sub-data to the first device;

[0288] The fifth device corresponding to the identifier of the received sub-data is used as an auxiliary device of the first device.

[0289] As another embodiment of the present application, the data splitting module 720 is further used for:

[0290] The data to be backed up is divided into data sets matching each backup device according to the identifier of the sub-data sent by the auxiliary device and the data volume of the sub-data.

[0291] It should be noted that the information interaction, execution process, etc. between the above-mentioned first devices / modules are based on the same concept as the method embodiments of the present application. Their specific functions and technical effects can be found in the method embodiment section and will not be repeated here.

[0292] In addition, the first device provided in the embodiment of the present application and the auxiliary device of the first device can form a data backup system.

[0293] The first device executes any of the above data backup methods.

[0294] The auxiliary device is used to store the data set in the storage space of the auxiliary device after receiving the data set assigned to the auxiliary device, and send the data set stored in the storage space of the auxiliary device to the preset cloud platform when the auxiliary device meets the second preset condition.

[0295] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example for illustration. In actual applications, the above-mentioned function allocation can be completed by different functional modules as needed, that is, the internal structure of the electronic device can be divided into different functional modules to complete all or part of the functions described above. The functional modules in the embodiment can be integrated into a processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. In addition, the specific names of the functional modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the modules in the above-mentioned first device can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0296] The embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0297] The embodiment of the present application also provides a computer program product. When the computer program product is executed on a first device, the first device can implement the steps in the above-mentioned method embodiments.

[0298] If the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device capable of carrying the computer program code to the first device, a recording medium, a computer memory, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), an electric carrier signal, a telecommunication signal, and a software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0299] The embodiment of the present application also provides a chip system, the chip system includes a processor, the processor is coupled to a memory, and the processor executes a computer program stored in the memory to implement the steps of any method embodiment of the present application. The chip system can be a single chip or a chip module composed of multiple chips.

[0300] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0301] Those of ordinary skill in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0302] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A data backup method, characterized in that: include: The first device obtains an auxiliary device of the first device; The first device divides the data to be backed up into N data sets, where N is the number of backup devices, and the backup devices include the first device and an auxiliary device of the first device; The first device sends backup information corresponding to the auxiliary device to the auxiliary device, wherein the backup information corresponding to the auxiliary device includes a data set assigned to the auxiliary device, and the backup information corresponding to the auxiliary device is used to instruct the auxiliary device to send the received data set to a preset cloud platform; The first device sends the data set assigned to the first device to a preset cloud platform.

2. The method according to claim 1, characterized in that The first device acquiring the auxiliary device of the first device includes: The first device acquires a candidate auxiliary device having a communication capability with the first device; The first device uses the candidate auxiliary device that meets the first preset condition as an auxiliary device of the first device.

3. The method according to claim 2, characterized in that The first device acquiring a candidate auxiliary device having a communication capability with the first device includes: The first device broadcasts first information via Bluetooth, where the first information is used to instruct a second device that has received the first information to feed back device information of the second device; The first device uses the second device indicated by the received device information as a candidate auxiliary device of the first device.

4. The method according to claim 2, characterized in that The first device acquiring a candidate auxiliary device having a communication capability with the first device includes: The first device transmits communication information of the first device to a third device through an NFC module, where the communication information is used to instruct the third device to establish a communication connection with the first device through the communication information of the first device; The first device uses a third device with which the first device has successfully established a communication connection as a candidate auxiliary device of the first device; or, The first device obtains communication information of the third device through the NFC module, and the first device establishes a communication connection with the third device through the communication information of the third device; The first device uses a third device that has successfully established a communication connection with the first device as a candidate auxiliary device of the first device.

5. The method according to claim 2, characterized in that The first device acquiring a candidate auxiliary device having a communication capability with the first device includes: The first device is provided with coding information carrying the communication information of the first device, and the coding information is used to instruct a fourth device that scans the coding information to establish a communication connection with the first device by scanning the communication information of the first device obtained; The first device uses a fourth device with which the first device has successfully established a communication connection as a candidate auxiliary device of the first device; or, The first device scans the coding information including the communication information of the fourth device to obtain the communication information of the fourth device; The first device establishes a communication connection with the fourth device through the communication information of the fourth device; The first device uses a fourth device that has successfully established a communication connection with the first device as a candidate auxiliary device of the first device.

6. The method according to any one of claims 2 to 5, characterized in that The first device using the candidate auxiliary device that meets the first preset condition as the auxiliary device of the first device includes: The first device selects candidate auxiliary devices whose average charging time is greater than a first preset time, whose average load of the central processor is less than a first preset ratio, whose average uplink bandwidth is greater than a first preset value, and whose current remaining storage space is greater than a second preset value as auxiliary devices of the first device.

7. The method according to any one of claims 2 to 5, characterized in that The first device using the candidate auxiliary device that meets the first preset condition as the auxiliary device of the first device includes: The first device obtains the score and weight corresponding to each item of device information of the candidate auxiliary device, where the device information of the candidate auxiliary device includes one or more of the following: average charging time, average load of the central processing unit, average uplink bandwidth, and current remaining storage space; The first device calculates a weighted sum of the device information of the first device according to the score and weight respectively corresponding to each item of device information of the candidate auxiliary device; The first device selects, as an auxiliary device of the first device, a candidate auxiliary device whose weighted sum of the device information is greater than a third preset value.

8. The method according to any one of claims 2 to 5, characterized in that The first device using the candidate auxiliary device that meets the first preset condition as the auxiliary device of the first device includes: The first device obtains historical backup parameters of the candidate auxiliary device and historical device information corresponding to the historical backup parameters, wherein the historical backup parameters include: historical backup speed and historical backup duration, and the historical device information includes one or more of the following: average charging time corresponding to the historical backup parameters, average load of the central processor, average uplink bandwidth, and remaining storage space; The first device trains a preset backup model according to the historical backup parameters and historical device information corresponding to the historical backup parameters to obtain a trained backup model; The first device inputs the device information of the candidate auxiliary device into the trained backup model to obtain the predicted backup parameters of the candidate auxiliary device, wherein the predicted backup parameters include: predicted backup speed and predicted backup duration; The first device generates scores for the candidate auxiliary devices according to the predicted backup parameters, and uses candidate auxiliary devices with scores greater than a fourth preset value as auxiliary devices for the first device.

9. The method according to any one of claims 1 to 5, characterized in that The first device divides the data to be backed up into N data sets including: The first device acquires predicted backup parameters of the backup device, where the predicted backup parameters include: predicted backup speed and predicted backup duration; The first device obtains the amount of data allocated to each backup device according to the predicted backup parameters of the backup device and the total amount of data to be backed up; The first device divides the data to be backed up into data sets matching the data amount of each backup device according to the data amount allocated to each backup device.

10. The method according to claim 9, characterized in that The first device divides the data to be backed up into data sets matching the data amount of each backup device according to the data amount allocated to each backup device, including: The first device scans the storage space where the data to be backed up is located to obtain a tree structure directory of the data to be backed up, wherein the tree structure directory information of the data to be backed up includes: a root node of the data to be backed up, a data volume of the root node, a child node, a data volume of the child node, a leaf node, and a data volume of the leaf node; According to the tree structure directory of the data to be backed up and the amount of data allocated to each backup device, a leaf node allocated to each backup device is obtained, wherein the set of data represented by the leaf node allocated to each backup device is a data set for each backup device.

11. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: The first device obtains the backup progress information of the auxiliary device at a preset time period; When there is a backup anomaly in the backup progress information of the auxiliary device, the first device reallocates the unsuccessfully backed-up data in the data set allocated to the auxiliary device with the backup anomaly to the first device and / or the auxiliary device with normal backup.

12. The method according to any one of claims 1 to 5, characterized in that: The first device acquiring the auxiliary device of the first device includes: The first device broadcasts second information, the second information carrying an identifier of the sub-data in the data to be backed up, and the second information is used to instruct a fifth device that has received the second information to select the sub-data in the data to be backed up based on device information of the fifth device and information of the data to be backed up, and to send the identifier of the selected sub-data to the first device; The first device uses the fifth device corresponding to the identifier of the received sub-data as an auxiliary device of the first device.

13. The method according to claim 12, characterized in that The first device divides the data to be backed up into N data sets including: The first device divides the data to be backed up into data sets matching each backup device according to the identifier of the sub-data sent by the auxiliary device and the data volume of the sub-data.

14. An electronic device, characterized in that: The electronic device comprises a processor, and the processor is used to run a computer program stored in a memory to implement the method according to any one of claims 1 to 13.

15. A data backup system, characterized in that: include: The electronic device of claim 14 and at least one auxiliary device; The auxiliary device is used to store the data set in the storage space of the auxiliary device after receiving the data set assigned to the auxiliary device, and send the data set stored in the storage space of the auxiliary device to the preset cloud platform when the auxiliary device meets the second preset condition.

16. A chip system, characterized in that: The chip system includes a processor coupled to a memory, and the processor is used to run a computer program stored in the memory to implement the method according to any one of claims 1 to 13.

Citation Information

Patent Citations

  • Backup method and system for distributed real-time file system

    CN106648979A

  • Backup processing method and server

    CN110597659A