WO2015035777A1 - 一种移动终端的软件升级方法和系统 - Google Patents

一种移动终端的软件升级方法和系统 Download PDF

Info

Publication number
WO2015035777A1
WO2015035777A1 PCT/CN2014/075652 CN2014075652W WO2015035777A1 WO 2015035777 A1 WO2015035777 A1 WO 2015035777A1 CN 2014075652 W CN2014075652 W CN 2014075652W WO 2015035777 A1 WO2015035777 A1 WO 2015035777A1
Authority
WO
WIPO (PCT)
Prior art keywords
partition
file
mobile terminal
backup
software
Prior art date
Application number
PCT/CN2014/075652
Other languages
English (en)
French (fr)
Inventor
邓铁军
Original Assignee
惠州Tcl移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 惠州Tcl移动通信有限公司 filed Critical 惠州Tcl移动通信有限公司
Priority to US14/439,185 priority Critical patent/US9710256B2/en
Priority to EP14844633.9A priority patent/EP3046026A4/en
Publication of WO2015035777A1 publication Critical patent/WO2015035777A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Definitions

  • the present invention relates to the field of mobile terminals, and in particular, to a software upgrade method and system for a mobile terminal.
  • FOTA upgrade Firmware Over-The-Air, air download software upgrade.
  • the FOTA upgrade is a simple and friendly upgrade method that allows the phone software to be upgraded to the latest version with little or no user action.
  • the software version upgrade or software requirements change
  • the existing FOTA mechanism cannot handle such situations.
  • storage media generally has two major categories, one is mobile phone internal memory, usually NAND or EMMC, which is the core storage space of the mobile phone; Expansion memory, usually an SD card.
  • Mobile phone memory partition (the partition mentioned below, especially the memory partition inside the mobile phone, the partition table, especially the memory partition table in the mobile phone) has two types. One is raw data (raw Data) type, that is, read and write data according to the original data stream, such partitions have bootloader, kernel and so on. The other type is the filesystem type.
  • the file mentioned here, the computer file refers to a collection of some data. A file represents a piece of data.
  • a file system (such as EXT4 or FAT) is deployed to manage each file. If we need to read and write a file, we must follow the file system's read and write methods to read and write.
  • both the system partition and the user data partition (userdata) fall into this category.
  • the image says that the file system type partition is like a book with directories. These directories are the metadata about the file list, file attributes, and file size in the partition (META). Data).
  • the original data type partition is like a book without a directory. According to the actual situation of the mobile phone (embedded) field, it can be simply summarized as follows: the original data type partition can store one file, and the file system type partition can store multiple files. As mentioned above, each partition has a convention type, so the partition type generally does not change.
  • the change of the partition table includes the change of the start address of the partition and the change of the size. This change in the start address of the partition and the change in size are fatal for file system type partitioning, as this change is highly likely to corrupt the metadata. Once the metadata is destroyed, some files in the partition will not be readable or writable. Although there is no metadata in the original data type partition, this change still has the potential to corrupt the data in the partition. And the FOTA mechanism is based on the file difference algorithm, and its operations are file operations. In the event of a corrupted file, the FOTA operation will definitely fail.
  • the existing FOTA mechanism does not have a measure for the "change of the memory partition table in the old and new versions of the software machine", so the existing FOTA mechanism cannot handle such situations. Since the existing FOTA upgrade method cannot handle this situation, if you stick to the previous partition table, this will increase the development difficulty and the user will not get the latest and best user experience.
  • the technical problem to be solved by the present invention is to provide a software upgrade method and system for a mobile terminal, aiming at solving the problem of inconvenient software upgrade in the prior art.
  • a software upgrade method for a mobile terminal comprising the following steps:
  • step C Detecting, according to the backup list in the differential upgrade package, the total amount of backup data that needs to be backed up in the mobile terminal, and comparing the total amount of the backup data with the remaining space of the SD card of the mobile terminal, when the backup data is total When the amount is less than the remaining space of the SD card of the mobile terminal, proceed to step D;
  • the backup list store backup data that needs to be backed up in the mobile terminal to the SD card, and repartition the mobile terminal memory according to the new version software partition table of the differential upgrade package, detect the partition type, and set the SD card.
  • E. Decompress the differential upgrade package, obtain a corresponding difference file, generate a corresponding new version file according to the difference file and the old version file in the mobile terminal, and write the mobile terminal to complete the upgrade.
  • step A2 traversing the new version partition table, if the traversal is not completed, proceed to step A3; if the traversal is completed, the end;
  • step A3 take an item in the new partition table, and find in the old partition table whether there is a partition with the same name, and if so, proceed to step A4; if not, skip to step A2;
  • step A4 check whether the size of the new and old partitions and the starting address are the same, if yes, skip to step A2, and if not, proceed to step A5;
  • step A5. Check the type of the partition, add a description item to the backup list, describe the name and type of the partition, and return to step A2.
  • step B specifically includes:
  • step B2 traversing the new version partition table, if the traversal is not completed, proceed to step B3; if the traversal is completed, the new version partition table is added to the differential upgrade package, and ends;
  • step B3 Take an item in the new version file list, and find in the old version file list whether there is a file with the same file name. If not, use the word-by-word method to add the new version file to the differential upgrade package, and skip to step B2. If yes, proceed to step B4;
  • step B4 In the difference package comparison tool, the new and old version files are input as input, the difference file is generated, and the corresponding description item is added to the difference file, and the process returns to step B2.
  • step C specifically includes:
  • step C1. Check whether the mobile terminal has an SD card. If yes, proceed to step C2. If not, report an error and end;
  • step C2 obtain a backup list from the differential upgrade package, read the existing partition table from the mobile terminal memory, traverse the backup list, if the traversal is not completed, proceed to step C3; if the traversal is completed, proceed to step C4;
  • step C3 take an item in the backup list, and find the corresponding partition in the existing partition table, check the partition type, if it is the original data type partition, the partition size is added to the total amount of backup data; if it is a file system type partition, Add the total size of all files in the partition to the total amount of backup data; return to step C2 until the traversal is completed;
  • step C4. Check the remaining space of the SD card of the mobile terminal. If it is larger than the total amount of backup data, go to step D; otherwise, report an error and end.
  • step D specifically includes:
  • step D1 obtain a backup list from the differential upgrade package, read the existing partition table from the mobile terminal memory, traverse the backup list, if the traversal is not completed, proceed to step D2; if the traversal is completed, proceed to step D3;
  • D2 take an item in the backup list, and find the corresponding partition in the existing partition table, check the partition type, if it is the original data type partition, read the data of the entire partition, and store the data as one on the SD card.
  • File if it is a file system type partition, use TAR
  • the file format packs the files in the partition into a file, and stores the file on the SD card; returns to step D1 until the traversal is completed;
  • step D3 obtaining a new partition table from the differential upgrade package, repartitioning the mobile terminal memory according to the new partition table, traversing the backup list, if not completing the traversal, proceeding to step D4; if the traversal is completed, ending;
  • step D4 take an item in the backup list, and find the corresponding partition in the new partition table, check the partition type, if it is the original data type partition, write the corresponding file backed up on the SD card to the partition; if it is a file system Type partition, decompress the corresponding TAR file on the SD card, and TAR Each file in the file is written to the partition and returns to step D3 until the traversal is completed.
  • step E specifically includes:
  • step E1 decompress the differential upgrade package, obtain the corresponding difference file and the difference file list, traverse the difference file list, if the traversal is not completed, proceed to step E2; if the traversal is completed, the process ends;
  • a software upgrade method for a mobile terminal comprising the following steps:
  • step C Detecting, according to the backup list in the differential upgrade package, the total amount of backup data that needs to be backed up in the mobile terminal, and comparing the total amount of the backup data with the remaining space of the SD card of the mobile terminal, when the backup data is total When the amount is less than the remaining space of the SD card of the mobile terminal, proceed to step D;
  • the backup list store backup data that needs to be backed up in the mobile terminal to the SD card, and repartition the mobile terminal memory according to the new version software partition table of the differential upgrade package, detect the partition type, and set the SD card.
  • the partition table has two manifestations: on the PC side, the partition table exists in the form of a partition table description file, and includes a partition name, a partition size, a partition start address, and a partition type; The partition table exists in the form of the memory header data and the partition table data in the memory, and also includes the partition name, the partition size, the partition start address, and the partition type; then the PC compares the difference between the new and old partition tables to generate a corresponding backup list. ;
  • the step E specifically includes:
  • step E1 decompress the differential upgrade package, obtain the corresponding difference file and the difference file list, traverse the difference file list, if the traversal is not completed, proceed to step E2; if the traversal is completed, the process ends;
  • step A2 traversing the new version partition table, if the traversal is not completed, proceed to step A3; if the traversal is completed, the end;
  • step A3 take an item in the new partition table, and find in the old partition table whether there is a partition with the same name, and if so, proceed to step A4; if not, skip to step A2;
  • step A4 check whether the size of the new and old partitions and the starting address are the same, if yes, skip to step A2, and if not, proceed to step A5;
  • step A5. Check the type of the partition, add a description item to the backup list, describe the name and type of the partition, and return to step A2.
  • step B specifically includes:
  • step B2 traversing the new version partition table, if the traversal is not completed, proceed to step B3; if the traversal is completed, the new version partition table is added to the differential upgrade package, and ends;
  • step B3 Take an item in the new version file list, and find in the old version file list whether there is a file with the same file name. If not, use the word-by-word method to add the new version file to the differential upgrade package, and skip to step B2. If yes, proceed to step B4;
  • step B4 In the difference package comparison tool, the new and old version files are input as input, the difference file is generated, and the corresponding description item is added to the difference file, and the process returns to step B2.
  • step C specifically includes:
  • step C1. Check whether the mobile terminal has an SD card. If yes, proceed to step C2. If not, report an error and end;
  • step C2 obtain a backup list from the differential upgrade package, read the existing partition table from the mobile terminal memory, traverse the backup list, if the traversal is not completed, proceed to step C3; if the traversal is completed, proceed to step C4;
  • step C3 take an item in the backup list, and find the corresponding partition in the existing partition table, check the partition type, if it is the original data type partition, the partition size is added to the total amount of backup data; if it is a file system type partition, Add the total size of all files in the partition to the total amount of backup data; return to step C2 until the traversal is completed;
  • step C4. Check the remaining space of the SD card of the mobile terminal. If it is larger than the total amount of backup data, go to step D; otherwise, report an error and end.
  • step D specifically includes:
  • step D1 obtain a backup list from the differential upgrade package, read the existing partition table from the mobile terminal memory, traverse the backup list, if the traversal is not completed, proceed to step D2; if the traversal is completed, proceed to step D3;
  • D2 take an item in the backup list, and find the corresponding partition in the existing partition table, check the partition type, if it is the original data type partition, read the data of the entire partition, and store the data as one on the SD card.
  • File if it is a file system type partition, use TAR
  • the file format packs the files in the partition into a file, and stores the file on the SD card; returns to step D1 until the traversal is completed;
  • step D3 obtaining a new partition table from the differential upgrade package, repartitioning the mobile terminal memory according to the new partition table, traversing the backup list, if not completing the traversal, proceeding to step D4; if the traversal is completed, ending;
  • step D4 take an item in the backup list, and find the corresponding partition in the new partition table, check the partition type, if it is the original data type partition, write the corresponding file backed up on the SD card to the partition; if it is a file system Type partition, decompress the corresponding TAR file on the SD card, and TAR Each file in the file is written to the partition and returns to step D3 until the traversal is completed.
  • step E specifically includes:
  • step E1 decompress the differential upgrade package, obtain the corresponding difference file and the difference file list, traverse the difference file list, if the traversal is not completed, proceed to step E2; if the traversal is completed, the process ends;
  • a software upgrade system for a mobile terminal comprising:
  • the backup list generation module is configured to find a partition table of the new version software and the old version software according to the new version software and the old version software, compare the difference between the new and old partition tables, and generate a corresponding backup list;
  • a differential upgrade package generation module for scanning all files of the new version of the software, and generating a differential upgrade package including the new version of the software partition table and the backup list;
  • a capacity detecting module configured to detect, according to the backup list in the differential upgrade package, a total amount of backup data that needs to be backed up in the mobile terminal, and compare the total amount of the backup data with a remaining space of the SD card of the mobile terminal;
  • a data backup and recovery module configured to store backup data that needs to be backed up in the mobile terminal to the SD card according to the backup list, and repartition the mobile terminal memory according to the new version software partition table of the differential upgrade package, and detect The partition type, corresponding to the backup data on the SD card is written to the partition;
  • the upgrade module is configured to decompress the differential upgrade package, obtain a corresponding difference file, generate a corresponding new version file according to the difference file and the old version file in the mobile terminal, and write the mobile terminal to complete the upgrade.
  • the software upgrade system of the mobile terminal where the backup list generating module specifically includes:
  • a partition table obtaining unit configured to obtain a partition table of the new version software and the old version software respectively according to the new version software and the old version software;
  • partition table traversal unit for traversing a new version partition table
  • the name comparison unit is used to take an item in the new partition table and find in the old partition table whether there is a partition with the same name;
  • the size and start address comparison unit is used to check whether the size and starting address of the old and new partitions are consistent
  • the backup table modification unit is used to check the type of the partition, and a description item is added to the backup list to describe the name and type of the partition.
  • An SD card detecting unit configured to check whether the mobile terminal has an SD card
  • a first backup list traversal unit for obtaining a backup list from the differential upgrade package, reading an existing partition table from the mobile terminal memory, and traversing the backup list;
  • the backup data total calculation unit is configured to take an item in the backup list, and find a corresponding partition in the existing partition table, check the partition type, and if it is a raw data type partition, accumulate the partition size to the total amount of backup data; If it is a file system type partition, the total size of all files in the partition is added to the total amount of backup data;
  • the capacity comparison unit is configured to check the remaining space of the SD card of the mobile terminal, and compare the total amount of the backup data with the remaining space of the SD card of the mobile terminal.
  • a second backup list traversal unit configured to obtain a backup list from the differential upgrade package, read an existing partition table from the mobile terminal memory, and traverse the backup list;
  • the data backup unit is used to take an item in the backup list, and find the corresponding partition in the existing partition table, check the partition type, if it is the original data type partition, read the data of the entire partition, and store the data as SD. a file on the card; if it is a file system type partition, use TAR The file format packs the files in the partition into a file and stores the file on the SD card;
  • a third backup list traversal unit configured to obtain a new partition table from the differential upgrade package, repartition the mobile terminal memory according to the new partition table, and traverse the backup list;
  • the data recovery unit is configured to take an item in the backup list, and find the corresponding partition in the new partition table, check the partition type, and if it is the original data type partition, write the corresponding file backed up on the SD card to the partition; If it is a file system type partition, unzip the corresponding TAR file on the SD card, and TAR Each file in the file is written to the partition.
  • the software upgrade method and system for the mobile terminal effectively solve the problem that the existing FOTA mechanism cannot process the software partition upgrade table in the mobile terminal because the software version upgrade or the software requirement change needs to be modified, thereby causing the software to fail to be upgraded.
  • the method is to find the partition table of the new version software and the old version software according to the new version software and the old version software, compare the difference between the new and old partition table, generate a corresponding backup list; scan all the files of the new version software, generate the inclusion a differential upgrade package of the new version software partition table and the backup list; detecting, according to the backup list in the differential upgrade package, a total amount of backup data that needs to be backed up in the mobile terminal, and the total amount of the backup data and the SD of the mobile terminal The remaining space of the card is compared.
  • the backup data that needs to be backed up in the mobile terminal is stored in the SD card according to the backup list, and according to the The new version of the differential upgrade package software partition table repartitions the mobile terminal memory Detecting the partition type, and writing the backup data on the SD card to the partition; decompressing the differential upgrade package to obtain a corresponding difference file, and generating a corresponding new version according to the difference file and the old version file in the mobile terminal; The file is written to the mobile terminal to complete the upgrade, so that the mobile terminal can be upgraded when the software upgrade needs to change the memory partition table.
  • the implementation method is simple, and the software is implemented, and the cost is low.
  • FIG. 1 is a flowchart of a preferred embodiment of a software upgrade method for a mobile terminal according to the present invention.
  • FIG. 2 is a flowchart of an application embodiment of generating a backup list in a software upgrade method of a mobile terminal provided by the present invention.
  • FIG. 3 is a flowchart of an application embodiment of generating a differential upgrade package in a software upgrade method of a mobile terminal according to the present invention.
  • FIG. 4 is a flowchart of an application embodiment for detecting an SD card space in a software upgrade method of a mobile terminal provided by the present invention.
  • FIG. 5 is a flowchart of an application embodiment of backup data and writing in a software upgrade method of a mobile terminal provided by the present invention.
  • FIG. 6 is a flowchart of an application embodiment of applying a differential upgrade package in a software upgrade method of a mobile terminal according to the present invention.
  • FIG. 7 is a structural block diagram of a preferred embodiment of a software upgrade system for a mobile terminal according to the present invention.
  • the present invention provides a software upgrade method and system for a mobile terminal.
  • the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
  • FIG. 1 is a flowchart of a software upgrade method of a mobile terminal according to a preferred embodiment of the present invention.
  • a software upgrade method for a mobile terminal provided by the present invention includes the following steps:
  • Step S100 Find a partition table of the new version software and the old version software according to the new version software and the old version software, compare the difference between the new and old partition tables, and generate a corresponding backup list;
  • Step S200 Scan all files of the new version software, and generate a differential upgrade package including the new version software partition table and the backup list;
  • Step S300 detecting, according to the backup list in the differential upgrade package, the total amount of backup data that needs to be backed up in the mobile terminal, comparing the total amount of the backup data with the remaining space of the SD card of the mobile terminal, when the backup data If the total amount is less than the remaining space of the SD card of the mobile terminal, proceed to step S400;
  • Step S400 storing backup data that needs to be backed up in the mobile terminal to the SD card according to the backup list, and repartitioning the mobile terminal memory according to the new version software partition table of the differential upgrade package, detecting the partition type, and SD
  • the backup data on the card corresponds to the write partition
  • Step S500 Decompress the differential upgrade package, obtain a corresponding difference file, generate a corresponding new version file according to the difference file and the old version file in the mobile terminal, and write the mobile terminal to complete the upgrade.
  • steps S100 and S200 are performed on the PC side (ie, the server), and steps S300 to S500 are all completed in the mobile phone.
  • the PC sends a corresponding differential upgrade package, which is sent to the mobile phone or mobile phone for download, and then the software is upgraded in the mobile phone.
  • step S100 the PC side separately finds the partition table of the new version software and the old version software according to the new version software and the old version software, compares the difference between the new and old partition tables, and generates a corresponding backup list. Specifically, The PC side obtains the new and old partition table respectively according to the new version software and the old version software.
  • the partition table has two manifestations: on the PC side, the partition table exists in the form of a "partition table description file", which includes a partition name, a partition size, a partition start address, and a partition type; on the mobile terminal, the partition table is The form of "memory header data and in-memory partition table data" exists, including the partition name, partition size, partition start address, and partition type.
  • the backup list is a list generated on the PC side, which describes which partitions need to be backed up.
  • the mobile terminal program will complete the backup action based on this list.
  • the step S100 specifically includes: S110, respectively obtaining a partition table of the new version software and the old version software; S120, traversing the new version partition table, if the traversal is not completed, proceeding to step S130; if the traversal is completed, Ending; S130, taking an item in the new partition table, and searching for the partition with the same name in the old partition table, if yes, proceeding to step S140; if not, skipping to step S120; S140, checking the size of the new and old partitions and Whether the starting addresses are all the same, if yes, go to step S120, if no, go to step S150; S150, check the type of the partition, add a description item in the backup list, describe the name and type of the partition, and return to step S120.
  • FIG. 2 is a flowchart of an application example for generating a backup list in a software upgrade method of a mobile terminal according to the present invention, that is, step S100 of the software upgrade method of the mobile terminal provided by the present invention.
  • the flow chart of the application embodiment as shown in FIG. 2, the PC first obtains the partition table of the new and old version software according to the new and old version software, then traverses the new version partition table, takes an item in the new partition table, and is in the old partition table. Find out if there is a partition with the same name. If yes, go to the next step to check whether the size of the new and old partitions and the starting address are the same. If not, continue the traversal.
  • step S200 the PC side scans all the files of the new version software, and generates a differential upgrade package including the new version software partition table and the backup list.
  • the step S200 specifically includes: S210, scanning all files of the new version and the old version of the software package, respectively obtaining a corresponding file list; S220, traversing the new version partition table, if the traversal is not completed, proceeding to step S230 If the traversal is completed, the new version partition table is added to the differential upgrade package, and the process ends; S230, an item is taken out in the new version file list, and the file with the same file name is found in the old version file list, if not, Then, the new version file is added to the differential upgrade package in a word-by-word manner, and the process goes to step S220; if yes, the process proceeds to step S240; S240, in the difference package comparison tool, the new and old version files are input as input, and a difference file is generated, and The corresponding description item is added to the difference file,
  • FIG. 3 is a flowchart of an application example for generating a differential upgrade package in a software upgrade method of a mobile terminal according to the present invention, that is, a step S200 of a software upgrade method for a mobile terminal provided by the present invention.
  • the PC side scans all files of the new version and the old version, and generates a corresponding file list. Then traverse the new version of the file list, if the new version of the file list is not traversed, then take an item in the new version of the file list, if the new version of the file list has been traversed, then the end.
  • step S300 the mobile terminal detects the total amount of backup data that needs to be backed up in the mobile terminal according to the backup list in the differential upgrade package, and compares the total amount of the backup data with the remaining space of the SD card of the mobile terminal. When the total amount of backup data is smaller than the remaining space of the SD card of the mobile terminal, the process proceeds to step S400.
  • the step S300 specifically includes: S310, checking whether the mobile terminal has an SD card, and if yes, proceeding to step S320; if not, reporting an error, ending; S320, obtaining a backup list from the differential upgrade package, Reading the existing partition table in the mobile terminal memory, traversing the backup list, if the traversal is not completed, proceeding to step S330; if the traversal is completed, proceeding to step S340; S330, taking an item in the backup list, and in the existing partition table Find the corresponding partition, check the partition type, if it is the original data type partition, add the partition size to the total amount of backup data; if it is a file system type partition, add the total size of all files in the partition to the total amount of backup data; return to step S320 Until the traversal is completed; S340, checking the remaining space of the SD card of the mobile terminal, if it is larger than the total amount of backup data, proceeding to step S400; otherwise, reporting an error and ending.
  • FIG. 4 is a flowchart of an application embodiment for detecting an SD card space in a software upgrade method of a mobile terminal according to the present invention, that is, a step S300 of a software upgrade method for a mobile terminal provided by the present invention.
  • a flow chart of an application embodiment as shown in the figure, the mobile terminal first checks if the SD card space is sufficient. In actual application, the mobile terminal checks if there is an SD card, and if so, continues, if not, reports an error and ends. Then get the backup list from the differential upgrade package, read the existing partition table from the phone memory, and initialize the variable "total data backup". Then traverse the backup list and take one item in the backup list.
  • step S400 If the total amount of backup data is larger than the total amount of backup data, the process proceeds to step S400 to perform an upgrade; otherwise, an error is reported and the process ends.
  • the data size calculation method for the original data type partition because the original data type partition has no metadata, we can not know the data size within the partition. So we think that the size of the data within the partition is the partition size.
  • the size of all the files in the partition is counted, and the total is the data size in the partition.
  • step S400 the mobile terminal stores the backup data that needs to be backed up in the mobile terminal to the SD card according to the backup list, and re-partitions the mobile terminal memory according to the new version software partition table of the differential upgrade package, and detects the partition. Type, write the backup data on the SD card to the partition.
  • the step S400 specifically includes: S410, obtaining a backup list from the differential upgrade package, reading the existing partition table from the mobile terminal memory, traversing the backup list, and if the traversal is not completed, proceeding to step S420; Traversing, proceed to step S430; S420, take an item in the backup list, and find the corresponding partition in the existing partition table, check the partition type, if it is the original data type partition, read the data of the entire partition, and put the data Store as a file on the SD card; if it is a file system type partition, use TAR The file format packs the files in the partition into a file, and stores the file on the SD card; returns to step S410 until the traversal is completed; S430, obtains a new partition table from the differential upgrade package, and moves the mobile terminal according to the new partition table.
  • Re-partitioning the memory traversing the backup list, if the traversal is not completed, proceeding to step S440; if the traversal is completed, ending; S440, taking an item in the backup list, and finding the corresponding partition in the new partition table, checking the partition type If it is a raw data type partition, write the corresponding file backed up on the SD card to the partition; if it is a file system type partition, decompress the corresponding TAR file backed up on the SD card, and TAR Each file in the file is written to the partition; that is, the backup data on the SD card is restored to the corresponding partition, and then returns to step S430 until the traversal is completed.
  • FIG. 5 is a flowchart of an application example of backup data and writing in a software upgrade method of a mobile terminal according to the present invention, that is, a software upgrade method of a mobile terminal provided by the present invention.
  • a flowchart of an application embodiment of the S400 as shown in the figure, in a second step S400, the mobile phone backs up the data and restores it.
  • the mobile phone obtains a backup list from the differential upgrade package and reads the existing partition table from the mobile phone memory. Then traverse the backup list, take an item in the backup list, find the corresponding partition in the existing partition table, check the partition type, if it is the original data type partition, read the data of the entire partition, and store the data as an SD card.
  • a file if it is a file system type partition, use TAR
  • the file format packs the files in the partition into a file, and then stores the file on the SD card; until all the items in the backup list are taken out, that is, the traversal is completed, thereby backing up the data that the mobile phone needs to back up to the SD card. . Then, get the new partition table from the differential upgrade package, repartition the phone memory according to the new partition table, and traverse the backup list, take one item in the backup list, find the corresponding partition in the new partition table, check the partition.
  • Type if it is the original data type partition, write the corresponding file backed up on the SD card to the partition; if it is a file system type partition, decompress the corresponding TAR file backed up on the SD card, TAR Each file in the file is written to the partition until all the items in the backup list are taken out, that is, the traversal is completed, so that the backup data in the SD card is rewritten into the new partition.
  • the backup method of the original data type partition as described above, it is only necessary to read the data of the entire partition in the manner of the original data stream, and store the data as a file on the SD card.
  • Use TAR for backup methods for file system type partitions The file format is done.
  • the TAR file format is a file packaging format that is GPL-licensed. We use TAR Package all the files in the partition into one file, and then store the file on the SD card.
  • step S500 the mobile terminal decompresses the differential upgrade package to obtain a corresponding difference file, generates a corresponding new version file according to the difference file and the old version file in the mobile terminal, and writes the mobile terminal to complete the upgrade.
  • the step S500 specifically includes: S510, decompressing the differential upgrade package, obtaining a corresponding difference file and a difference file list, traversing the difference file list, if not completing the traversal, proceeding to step S520; if completing the traversal, ending S520: Extract an item in the difference file list, generate a corresponding new version file according to the difference file and the old version file in the mobile terminal, and write the file to the mobile terminal, and return to step S510 until the traversal is completed.
  • FIG. 6 is a flowchart of an application embodiment of applying a differential upgrade package in a software upgrade method of a mobile terminal according to the present invention, that is, a step S500 of a software upgrade method for a mobile terminal provided by the present invention.
  • the flow chart of the application embodiment is as shown in the figure, the mobile phone decompresses the differential upgrade package, obtains the corresponding difference file and the difference file list, and then traverses the difference file list, and takes out an item in the difference file list, according to the mobile phone There are file and difference files, a new version file is generated, and the new version file is written to the phone until the traversal is completed. In this way, the software upgrade of the mobile phone is completed.
  • the software upgrade method of the mobile terminal provided by the invention is an optimization method for the existing FOTA upgrade method, which effectively overcomes the problem that the software cannot be upgraded due to the change of the memory partition table in the mobile phone, and avoids the failure of the existing FOTA upgrade method. Dealing with this situation, only the previous partition table will be stuck, and the development difficulty will increase and the user will not get the latest and best user experience, so that the mobile terminal needs to change the memory partition table when the software is upgraded. It can be upgraded, its implementation method is simple, it is realized by software, and the cost is low.
  • FIG. 7 is a structural block diagram of a software upgrade system of the mobile terminal according to the present invention. As shown in Figure 7, the system includes:
  • the backup list generating module 10 is configured to respectively find a partition table of the new version software and the old version software according to the new version software and the old version software, compare the difference between the new and old partition tables, and generate a corresponding backup list; specifically, as described in step S100 .
  • the differential upgrade package generating module 20 is configured to scan all the files of the new version software, and generate a differential upgrade package including the new version software partition table and the backup list; specifically, as described in step S200.
  • the capacity detecting module 30 is configured to detect, according to the backup list in the differential upgrade package, the total amount of backup data that needs to be backed up in the mobile terminal, and compare the total amount of the backup data with the remaining space of the SD card of the mobile terminal; Step S300.
  • the data backup and recovery module 40 is configured to store backup data that needs to be backed up in the mobile terminal to the SD card according to the backup list, and repartition the mobile terminal memory according to the new version software partition table of the differential upgrade package.
  • the partition type is detected, and the backup data on the SD card is correspondingly written into the partition; as described in step S400.
  • the upgrade module 50 is configured to decompress the differential upgrade package, obtain a corresponding difference file, generate a corresponding new version file according to the difference file and the old version file in the mobile terminal, and write the mobile terminal to complete the upgrade; As described in step S500.
  • the backup list generating module 10 respectively finds a partition table of the new version software and the old version software according to the new version software and the old version software, compares the difference between the new and old partition tables, and generates a corresponding backup list.
  • the differential upgrade package generation module 20 scans all files of the new version software to generate a differential upgrade package containing the new version software partition table and backup list.
  • the capacity detecting module 30 detects the total amount of backup data that needs to be backed up in the mobile terminal according to the backup list in the differential upgrade package, and compares the total amount of the backup data with the remaining space of the SD card of the mobile terminal.
  • the data backup and recovery module 40 stores the backup data that needs to be backed up in the mobile terminal to the SD card according to the backup list, and upgrades according to the difference.
  • the new version of the package software partition table re-partitions the mobile terminal memory, detects the partition type, and writes the backup data on the SD card to the partition.
  • the upgrade module 50 then decompresses the differential upgrade package to obtain a corresponding difference file, generates a corresponding new version file according to the difference file and the old version file in the mobile terminal, and writes the mobile terminal to complete the upgrade.
  • the backup list generating module 10 and the differential upgrade package generating module 20 are disposed on the PC side, that is, the server side.
  • the capacity detecting module 30, the data backup and recovery module 40, and the upgrading module 50 are disposed on the mobile terminal, and are configured to receive a differential upgrade package of the PC end, and perform corresponding software upgrade.
  • the backup list generating module 10 specifically includes:
  • a partition table obtaining unit configured to obtain a partition table of the new version software and the old version software respectively according to the new version software and the old version software;
  • partition table traversal unit for traversing a new version partition table
  • the name comparison unit is used to take an item in the new partition table and find in the old partition table whether there is a partition with the same name;
  • the size and start address comparison unit is used to check whether the size and starting address of the old and new partitions are consistent
  • the backup table modification unit is used to check the type of the partition, and a description item is added to the backup list to describe the name and type of the partition.
  • the capacity detecting module 30 specifically includes:
  • An SD card detecting unit configured to check whether the mobile terminal has an SD card
  • a first backup list traversal unit for obtaining a backup list from the differential upgrade package, reading an existing partition table from the mobile terminal memory, and traversing the backup list;
  • the backup data total calculation unit is configured to take an item in the backup list, and find a corresponding partition in the existing partition table, check the partition type, and if it is a raw data type partition, accumulate the partition size to the total amount of backup data; If it is a file system type partition, the total size of all files in the partition is added to the total amount of backup data;
  • the capacity comparison unit is configured to check the remaining space of the SD card of the mobile terminal, and compare the total amount of the backup data with the remaining space of the SD card of the mobile terminal.
  • the data backup and recovery module 40 specifically includes:
  • a second backup list traversal unit configured to obtain a backup list from the differential upgrade package, read an existing partition table from the mobile terminal memory, and traverse the backup list;
  • the data backup unit is used to take an item in the backup list, and find the corresponding partition in the existing partition table, check the partition type, if it is the original data type partition, read the data of the entire partition, and store the data as SD. a file on the card; if it is a file system type partition, use TAR The file format packs the files in the partition into a file and stores the file on the SD card;
  • a third backup list traversal unit configured to obtain a new partition table from the differential upgrade package, repartition the mobile terminal memory according to the new partition table, and traverse the backup list;
  • the data recovery unit is configured to take an item in the backup list, and find the corresponding partition in the new partition table, check the partition type, and if it is the original data type partition, write the corresponding file backed up on the SD card to the partition; If it is a file system type partition, unzip the corresponding TAR file on the SD card, and TAR Each file in the file is written to the partition.
  • differential upgrade package generation module 20 and the upgrade module 50 are consistent with the existing FOTA method, they will not be described in detail herein.
  • the present invention provides a software upgrade method and system for a mobile terminal.
  • the method respectively finds a partition table of the new version software and the old version software, and compares the new and old partition table. The difference, generate a corresponding backup list; scan all the files of the new version of the software, generate a differential upgrade package containing the new version of the software partition table and the backup list; detect the mobile terminal according to the backup list in the differential upgrade package.
  • the total amount of backup data to be backed up comparing the total amount of the backup data with the remaining space of the SD card of the mobile terminal, and when the total amount of the backup data is smaller than the remaining space of the SD card of the mobile terminal, according to the backup list
  • the backup data that needs to be backed up in the mobile terminal is stored in the SD card, and the mobile terminal memory is re-partitioned according to the new version software partition table of the differential upgrade package, the partition type is detected, and the backup data on the SD card is correspondingly written.
  • Partitioning decompressing the differential upgrade package to obtain a corresponding difference file, according to the difference file and the mobile terminal
  • the old version file, the corresponding new version file is generated, and written into the mobile terminal, thereby completing the upgrade, so that the mobile terminal can also be upgraded when the software upgrade needs to change the memory partition table, and the implementation method is simple, and is implemented by software. The cost is lower, which brings great convenience to users.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了一种移动终端的软件升级方法和系统,所述方法通过分别找出新版本软件和旧版本软件的分区表,生成相应的备份列表;扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,将SD卡上的备份数据对应写入分区;解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端,从而完成升级,使得移动终端在软件升级时需要改动存储器分区表的情况下也能升级,为用户带来大大的方便。

Description

一种移动终端的软件升级方法和系统
技术领域
本发明涉及移动终端领域,尤其涉及的是一种移动终端的软件升级方法和系统。
背景技术
现有的智能手机,譬如采用Android系统的手机,经常会有软件升级的需求。一般情况下,都会使用FOTA升级(Firmware Over-The-Air,空中下载软件升级)。FOTA升级是一种简单而友好的升级方法,几乎不需要用户做什么操作,就可以使手机软件升级到最新版本。但是在目前智能手机快速发展的态势下,往往会出现因为软件版本升级(或者软件需求变更)需要修改手机机内存储器分区表的情况。而现有的FOTA机制无法处理这类情况。
具体来说,在移动终端领域以及整个嵌入式领域,以手机为例,存储介质一般有两大类,一是手机机内存储器,通常为NAND或者EMMC,它是手机的核心存储空间;二是扩展存储器,通常为SD卡。手机存储器分区(以下所说分区,特指手机机内存储器分区,所说分区表,特指手机机内存储器分区表)有两种类型。一种是原始数据(raw data)类型,即按照原始数据流的方式读写数据,这类的分区有bootloader,kernel等。另外一种类型是文件系统(filesystem)类型。此处说的文件,即计算机文件,指的是一些数据的集合。一个文件就代表了一份数据。在这类分区里面,会部署一个文件系统(如EXT4或者FAT)来管理各个文件。如果我们需要读写某一个文件,就要遵守文件系统的读写方式来读写。在典型的手机设备上,系统分区(system)和用户数据分区(userdata)都属于这种类型。形象的说,文件系统类型分区就像是一本有目录的书,这些目录就是分区里面的关于文件列表,文件属性,文件大小的元数据(META data)。而原始数据类型分区就像一本没有目录的书。根据手机(嵌入式)领域的实际情况,可以简单的总结为:原始数据类型分区可以存储一个文件,文件系统类型分区可以存储多个文件。如上所述,各个分区都有约定俗成的类型,所以分区类型一般不会改变。
但是在目前智能手机快速发展的态势下,往往会出现因为软件版本升级(或者软件需求变更)需要修改手机机内存储器分区表的情况,分区表的改变包含分区起始地址的改变和大小的改变,这种分区起始地址的改变和大小的改变对于文件系统类型分区是致命的,因为这种改变极有可能破坏元数据。一旦元数据被破坏,分区里面的某一些文件就会不能读写。虽然原始数据类型分区里面没有元数据,但是这种改变仍然有可能破坏分区中的数据。并且FOTA机制是基于文件差分算法的,它的操作都是文件操作。在文件损坏的情况下,FOTA操作肯定会失败。而现有的FOTA机制并没有针对“新旧版本软件机内存储器分区表改变”的相关措施,所以现有的FOTA机制无法处理这类情况。由于现有FOTA升级方法无法处理这种情况,若死守之前的分区表,这样会造成开发难度增加,并且用户得不到最新最好的用户体验。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种移动终端的软件升级方法和系统,旨在解决现有技术中软件升级不便的问题。
本发明解决技术问题所采用的技术方案如下:
一种移动终端的软件升级方法,其中,包括以下步骤:
A、根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表;
B、扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;
C、根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间进行对比,当所述备份数据总量小于移动终端的SD卡的剩余空间时,进入步骤D;
D、根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区;
E、解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级。
所述的移动终端的软件升级方法,其中,所述步骤A具体包括:
A1、根据新版本软件和旧版本软件,分别得到新版本软件和旧版本软件的分区表;
A2、遍历新版本分区表,若没有完成遍历,则进入步骤A3;若完成遍历,则结束;
A3、在新分区表中取出一项,并在旧分区表中查找是否有相同名字的分区,若是,则进入步骤A4;若否,跳至步骤A2;
A4、检查新旧分区的大小和起始地址是否都一致,若是,跳至步骤A2,若否,则进入步骤A5;
A5、检查分区的类型,在备份列表里增加一个描述项,描述该分区的名字和类型,返回步骤A2。
所述的移动终端的软件升级方法,其中,所述步骤B具体包括:
B1、扫描新版本和旧版本软件包的所有文件,分别得到相应的文件列表;
B2、遍历新版本分区表,若没有完成遍历,则进入步骤B3;若完成遍历,则将新版本分区表加入差分升级包,并结束;
B3、在新版本文件列表中取出一项,并在旧版本文件列表中查找是否有文件名相同的文件,若无,则使用逐字方式将新版本文件加入差分升级包,并跳至步骤B2;若有,则继续步骤B4;
B4、在差异包比较工具中,将新旧版本的文件作为输入,生成差别文件,并在差别文件中增加相应的描述项,返回步骤B2。
所述的移动终端的软件升级方法,其中,所述步骤C具体包括:
C1、检查移动终端是否有SD卡,若是,则进入步骤C2,若否,则报告错误,结束;
C2、从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表,若没有完成遍历,则进入步骤C3;若完成遍历,则进入步骤C4;
C3、在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将分区大小累加至备份数据总量;如果是文件系统类型分区,将分区内所有文件总大小累加至备份数据总量;返回步骤C2直至完成遍历;
C4、检查移动终端的SD卡剩余空间大小,如果比备份数据总量大,则进入步骤D;否则报告错误,并结束。
所述的移动终端的软件升级方法,其中,所述步骤D具体包括:
D1、从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表,若没有完成遍历,则进入步骤D2;若完成遍历,则进入步骤D3;
D2、在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,读出整个分区的数据,把这些数据存储为SD卡上的一个文件;如果是文件系统类型分区,使用TAR 文件格式将分区里面的文件打包成一个文件,并将这个文件存储到SD卡上;返回步骤D1直至完成遍历;
D3、从差分升级包里得到新的分区表,按照新的分区表将移动终端存储器重新分区,遍历备份列表,若没有完成遍历,则进入步骤D4;若完成遍历,则结束;
D4、在备份列表中取出一项,并在新的分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将备份在SD卡上的对应文件写入分区;如果是文件系统类型分区,解压备份在SD卡上的对应TAR文件,将TAR 文件里的各个文件写入分区,返回步骤D3直至完成遍历。
所述的移动终端的软件升级方法,其中,所述步骤E具体包括:
E1、解压缩差分升级包,得到相应的差别文件和差别文件列表,遍历差别文件列表,若没有完成遍历,则进入步骤E2;若完成遍历,则结束;
E2、在差别文件列表中取出一项,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端,返回步骤E1直至完成遍历。
一种移动终端的软件升级方法,其中,包括以下步骤:
A、根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表;
B、扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;
C、根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间进行对比,当所述备份数据总量小于移动终端的SD卡的剩余空间时,进入步骤D;
D、根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区;
E、解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级;
其中,在步骤A中所述分区表有两种表现形式:在PC端,分区表以分区表描述文件的形式存在,包含了分区名字,分区大小,分区起始地址及分区类型;在手机端,分区表以存储器头部数据和存储器内分区表数据的形式存在,同样包含了分区名字,分区大小,分区起始地址及分区类型;然后PC端对比新旧分区表的差异,生成相应的备份列表;
所述步骤E具体包括:
E1、解压缩差分升级包,得到相应的差别文件和差别文件列表,遍历差别文件列表,若没有完成遍历,则进入步骤E2;若完成遍历,则结束;
E2、在差别文件列表中取出一项,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端,返回步骤E1直至完成遍历。
所述的移动终端的软件升级方法,其中,所述步骤A具体包括:
A1、根据新版本软件和旧版本软件,分别得到新版本软件和旧版本软件的分区表;
A2、遍历新版本分区表,若没有完成遍历,则进入步骤A3;若完成遍历,则结束;
A3、在新分区表中取出一项,并在旧分区表中查找是否有相同名字的分区,若是,则进入步骤A4;若否,跳至步骤A2;
A4、检查新旧分区的大小和起始地址是否都一致,若是,跳至步骤A2,若否,则进入步骤A5;
A5、检查分区的类型,在备份列表里增加一个描述项,描述该分区的名字和类型,返回步骤A2。
所述的移动终端的软件升级方法,其中,所述步骤B具体包括:
B1、扫描新版本和旧版本软件包的所有文件,分别得到相应的文件列表;
B2、遍历新版本分区表,若没有完成遍历,则进入步骤B3;若完成遍历,则将新版本分区表加入差分升级包,并结束;
B3、在新版本文件列表中取出一项,并在旧版本文件列表中查找是否有文件名相同的文件,若无,则使用逐字方式将新版本文件加入差分升级包,并跳至步骤B2;若有,则继续步骤B4;
B4、在差异包比较工具中,将新旧版本的文件作为输入,生成差别文件,并在差别文件中增加相应的描述项,返回步骤B2。
所述的移动终端的软件升级方法,其中,所述步骤C具体包括:
C1、检查移动终端是否有SD卡,若是,则进入步骤C2,若否,则报告错误,结束;
C2、从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表,若没有完成遍历,则进入步骤C3;若完成遍历,则进入步骤C4;
C3、在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将分区大小累加至备份数据总量;如果是文件系统类型分区,将分区内所有文件总大小累加至备份数据总量;返回步骤C2直至完成遍历;
C4、检查移动终端的SD卡剩余空间大小,如果比备份数据总量大,则进入步骤D;否则报告错误,并结束。
所述的移动终端的软件升级方法,其中,所述步骤D具体包括:
D1、从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表,若没有完成遍历,则进入步骤D2;若完成遍历,则进入步骤D3;
D2、在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,读出整个分区的数据,把这些数据存储为SD卡上的一个文件;如果是文件系统类型分区,使用TAR 文件格式将分区里面的文件打包成一个文件,并将这个文件存储到SD卡上;返回步骤D1直至完成遍历;
D3、从差分升级包里得到新的分区表,按照新的分区表将移动终端存储器重新分区,遍历备份列表,若没有完成遍历,则进入步骤D4;若完成遍历,则结束;
D4、在备份列表中取出一项,并在新的分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将备份在SD卡上的对应文件写入分区;如果是文件系统类型分区,解压备份在SD卡上的对应TAR文件,将TAR 文件里的各个文件写入分区,返回步骤D3直至完成遍历。
所述的移动终端的软件升级方法,其中,所述步骤E具体包括:
E1、解压缩差分升级包,得到相应的差别文件和差别文件列表,遍历差别文件列表,若没有完成遍历,则进入步骤E2;若完成遍历,则结束;
E2、在差别文件列表中取出一项,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端,返回步骤E1直至完成遍历。
一种移动终端的软件升级系统,其中,包括:
备份列表生成模块,用于根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表;
差分升级包生成模块,用于扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;
容量检测模块,用于根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间对比;
数据备份及恢复模块,用于根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区;
升级模块,用于解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级。
所述的移动终端的软件升级系统,其中,所述备份列表生成模块具体包括:
分区表获取单元,用于根据新版本软件和旧版本软件,分别得到新版本软件和旧版本软件的分区表;
分区表遍历单元,用于遍历新版本分区表;
名字对比单元,用于在新分区表中取出一项,并在旧分区表中查找是否有相同名字的分区;
大小和起始地址对比单元,用于检查新旧分区的大小和起始地址是否都一致;
备份表修改单元,用于检查分区的类型,在备份列表里增加一个描述项,描述该分区的名字和类型。
所述的移动终端的软件升级系统,其中,所述容量检测模块具体包括:
SD卡检测单元,用于检查移动终端是否有SD卡;
第一备份列表遍历单元,用于从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表;
备份数据总量计算单元,用于在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将分区大小累加至备份数据总量;如果是文件系统类型分区,将分区内所有文件总大小累加至备份数据总量;
容量对比单元,用于检查移动终端的SD卡剩余空间大小,并将所述备份数据总量与移动终端的SD卡的剩余空间进行对比。
所述的移动终端的软件升级系统,其中,所述数据备份及恢复模块具体包括:
第二备份列表遍历单元,用于从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表;
数据备份单元,用于在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,读出整个分区的数据,把这些数据存储为SD卡上的一个文件;如果是文件系统类型分区,使用TAR 文件格式将分区里面的文件打包成一个文件,并将这个文件存储到SD卡上;
第三备份列表遍历单元,用于从差分升级包里得到新的分区表,按照新的分区表将移动终端存储器重新分区,遍历备份列表;
数据恢复单元,用于在备份列表中取出一项,并在新的分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将备份在SD卡上的对应文件写入分区;如果是文件系统类型分区,解压备份在SD卡上的对应TAR文件,将TAR 文件里的各个文件写入分区。
本发明所提供的移动终端的软件升级方法和系统,有效地解决了现有的FOTA机制无法处理因为软件版本升级或者软件需求变更需要修改移动终端内存储器分区表的情况从而导致软件无法升级的问题,其方法通过根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表;扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间进行对比,当所述备份数据总量小于移动终端的SD卡的剩余空间时,根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区;解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级,从而使得移动终端在软件升级时需要改动存储器分区表的情况下,也能升级,其实现方法简单,通过软件实现,成本较低。
附图说明
图1为本发明提供的移动终端的软件升级方法较佳实施例的流程图。
图2为本发明提供的移动终端的软件升级方法中生成备份列表的应用实施例的流程图。
图3为本发明提供的移动终端的软件升级方法中生成差分升级包的应用实施例的流程图。
图4为本发明提供的移动终端的软件升级方法中检测SD卡空间的应用实施例的流程图。
图5为本发明提供的移动终端的软件升级方法中备份数据及写入的应用实施例的流程图。
图6为本发明提供的移动终端的软件升级方法中应用差分升级包的应用实施例的流程图。
图7为本发明提供的移动终端的软件升级系统较佳实施例的结构框图。
具体实施方式
本发明提供一种移动终端的软件升级方法和系统,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明提供的移动终端的软件升级方法较佳实施例的流程图,如图1所示,本发明提供的移动终端的软件升级方法,包括以下步骤:
步骤S100、根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表;
步骤S200、扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;
步骤S300、根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间进行对比,当所述备份数据总量小于移动终端的SD卡的剩余空间时,进入步骤S400;
步骤S400、根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区;
步骤S500、解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级。
以下以移动终端为手机为例,并结合具体的实施例对上述步骤进行详细的描述。
在实际应用是,步骤S100及S200是在PC端(也就是服务器)完成,而步骤S300至S500都是在手机中完成。简单来说,就是PC端生成相应的差分升级包,发送至手机或者手机下载,然后再在手机中进行软件升级。
在步骤S100中,PC端根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表。具体来说, PC端根据新版本软件和旧版本软件,分别得到新旧分区表。所述分区表有两种表现形式:在PC端,分区表以“分区表描述文件”的形式存在,包含了分区名字,分区大小,分区起始地址及分区类型;在手机端,分区表以“存储器头部数据和存储器内分区表数据”的形式存在,同样包含了分区名字,分区大小,分区起始地址及分区类型。然后PC端对比新旧分区表的差异,生成相应的备份列表。所述备份列表为在PC端生成的一个列表,它描述了:哪些分区需要备份。手机端程序将根据这个列表,完成备份动作。
在实际应用时,所述步骤S100具体包括:S110、分别得到新版本软件和旧版本软件的分区表;S120、遍历新版本分区表,若没有完成遍历,则进入步骤S130;若完成遍历,则结束;S130、在新分区表中取出一项,并在旧分区表中查找是否有相同名字的分区,若是,则进入步骤S140;若否,跳至步骤S120;S140、检查新旧分区的大小和起始地址是否都一致,若是,跳至步骤S120,若否,则进入步骤S150;S150、检查分区的类型,在备份列表里增加一个描述项,描述该分区的名字和类型,返回步骤S120。
具体来说,请参阅图2,图2为本发明提供的移动终端的软件升级方法中生成备份列表的应用实施例的流程图,也就是本发明提供的移动终端的软件升级方法中步骤S100的应用实施例的流程图,如图2所示,PC端先根据新旧版本软件分别得到新旧版本软件的分区表,然后遍历新版本分区表,在新分区表中取出一项,并在旧分区表中查找是否有相同名字的分区,若是,则进入下一步检查新旧分区的大小和起始地址是否都一致,若否,则继续遍历。检查新旧分区的大小和起始地址是否都一致,若是,则继续遍历,若否,则继续检查分区的类型,在备份列表里增加一个描述项,描述分区的名字和类型。在增加描述项之后继续遍历,直到将新版本分区表的全部项取出,也就是完成遍历,才结束。
在步骤S200中,PC端扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包。在实际应用时,所述步骤S200具体包括:S210、扫描新版本和旧版本软件包的所有文件,分别得到相应的文件列表;S220、遍历新版本分区表,若没有完成遍历,则进入步骤S230;若完成遍历,则将新版本分区表加入差分升级包,并结束;S230、在新版本文件列表中取出一项,并在旧版本文件列表中查找是否有文件名相同的文件,若无,则使用逐字方式将新版本文件加入差分升级包,并跳至步骤S220;若有,则继续步骤S240;S240、在差异包比较工具中,将新旧版本的文件作为输入,生成差别文件,并在差别文件中增加相应的描述项,返回步骤S220。
具体来说,请参阅图3,图3为本发明提供的移动终端的软件升级方法中生成差分升级包的应用实施例的流程图,也就是本发明提供的移动终端的软件升级方法的步骤S200的应用实施例的流程图,如图3所示,PC端扫描新版本和旧版本的所有文件,生成相应的文件列表。然后遍历新版本文件列表,若新版本文件列表没有遍历完成,则在新版本文件列表中取出一项,若新版本文件列表已经遍历完成,则结束。在旧版本中查找与新版本文件列表中取出的文件的文件名相同的文件,若无,则使用逐字方式将新版本文件加入差分升级包,更新差分升级包并继续遍历,若有,则使用 bsdiff (差异包比较工具)作为工具,将新旧版本的文件作为输入,生成差别文件,并在差别文件列表中写入相应的信息,如文件名及校验码等。继续遍历,直到完成遍历新版本文件列表,再将新版本文件列表加入差分升级包。
在步骤S300中,移动终端根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间进行对比,当所述备份数据总量小于移动终端的SD卡的剩余空间时,进入步骤S400。在实际应用时,所述步骤S300具体包括:S310、检查移动终端是否有SD卡,若是,则进入步骤S320,若否,则报告错误,结束;S320、从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表,若没有完成遍历,则进入步骤S330;若完成遍历,则进入步骤S340;S330、在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将分区大小累加至备份数据总量;如果是文件系统类型分区,将分区内所有文件总大小累加至备份数据总量;返回步骤S320直至完成遍历;S340、检查移动终端的SD卡剩余空间大小,如果比备份数据总量大,则进入步骤S400;否则报告错误,并结束。
具体来说,请参阅图4,图4为本发明提供的移动终端的软件升级方法中检测SD卡空间的应用实施例的流程图,也就是本发明提供的移动终端的软件升级方法的步骤S300的应用实施例的流程图,如图所示,移动终端先检查SD卡空间是否足够。在实际应用时,移动终端检查是否有SD卡,若是,则继续,若否,报告错误,并结束。然后从差分升级包里得到备份列表,从手机存储器里读出现有分区表,初始化变量“备份数据总量”。然后遍历备份列表,在备份列表中取出一项,若没有遍历完成,则进入下一步;如果已经将全部项取出,也就是遍历完成,则检查SD卡剩余空间大小。然后根据在备份列表取出的一项,在现有分区表中找到对应的分区,并检查分区类型,如果是原始数据类型分区,将分区大小累加至备份数据总量;如果是文件系统类型分区,将分区内所有文件总大小累加至备份数据总量,直到完成遍历,得到移动终端需要备份的备份数据总量。然后检查SD卡剩余空间大小,如果比备份数据总量大,则进入步骤S400,进行升级;反之,则报告错误,结束。针对原始数据类型分区的数据大小计算方法,因为原始数据类型分区没有元数据,我们无法得知分区内数据大小。所以我们认为分区内数据大小即是分区大小。针对文件系统类型分区的数据大小计算方法,统计分区内所有文件的大小,加总为分区内数据大小。
在步骤S400中,移动终端根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区。在实际应用时,所述步骤S400具体包括:S410、从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表,若没有完成遍历,则进入步骤S420;若完成遍历,则进入步骤S430;S420、在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,读出整个分区的数据,把这些数据存储为SD卡上的一个文件;如果是文件系统类型分区,使用TAR 文件格式将分区里面的文件打包成一个文件,并将这个文件存储到SD卡上;返回步骤S410直至完成遍历;S430、从差分升级包里得到新的分区表,按照新的分区表将移动终端存储器重新分区,遍历备份列表,若没有完成遍历,则进入步骤S440;若完成遍历,则结束;S440、在备份列表中取出一项,并在新的分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将备份在SD卡上的对应文件写入分区;如果是文件系统类型分区,解压备份在SD卡上的对应TAR文件,将TAR 文件里的各个文件写入分区;也就是将SD卡上的备份数据恢复到对应的分区,然后返回步骤S430直至完成遍历。
具体来说,请参阅图5,图5为本发明提供的移动终端的软件升级方法中备份数据及写入的应用实施例的流程图,也就是本发明提供的移动终端的软件升级方法的步骤S400的应用实施例的流程图,如图所示,在次步骤S400中,手机备份数据并恢复。手机从差分升级包里得到备份列表,从手机存储器里读出现有分区表。然后遍历备份列表,在备份列表中取出一项,在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,读出整个分区的数据,把这些数据存储为SD卡上的一个文件;如果是文件系统类型分区,使用TAR 文件格式将分区里面的文件打包成一个文件,然后将这个文件存储到SD卡上;直到将备份列表中的全部项取出,也就是遍历完成,从而将手机需要备份的数据都备份到SD卡上。然后,从差分升级包里得到新的分区表,按照新的分区表将手机存储器重新分区,并遍历备份列表,在备份列表中取出一项,在新的分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将备份在SD卡上的对应文件写入分区;如果是文件系统类型分区,解压备份在SD卡上的对应TAR文件,将TAR 文件里的各个文件写入分区,直到将备份列表中的全部项取出,也就是遍历完成,从而将SD卡中的备份数据重新写入新分区中。针对原始数据类型分区的备份方法,如上所述,只需按照原始数据流的方式读出整个分区的数据,把这些数据存储为SD卡上的一个文件即可。针对文件系统类型分区的备份方法,使用TAR 文件格式来完成。TAR 文件格式是一种遵循GPL许可证的文件打包格式。我们使用TAR 将分区里面的所有文件打包成一个文件,然后将这个文件存储到SD卡上。
在步骤S500中,移动终端解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级。具体来说,所述步骤S500具体包括:S510、解压缩差分升级包,得到相应的差别文件和差别文件列表,遍历差别文件列表,若没有完成遍历,则进入步骤S520;若完成遍历,则结束;S520、在差别文件列表中取出一项,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端,返回步骤S510直至完成遍历。
具体来说,请参阅图6,图6为本发明提供的移动终端的软件升级方法中应用差分升级包的应用实施例的流程图,也就是本发明提供的移动终端的软件升级方法的步骤S500的应用实施例的流程图,如图所示,手机端解压缩差分升级包,得到相应的差别文件和差别文件列表,然后遍历差别文件列表,在差别文件列表中取出一项,根据手机里已有文件和差别文件,生成新版本文件,并将新版本文件写入手机,直到完成遍历。这样,完成了手机的软件升级。
本发明提供的移动终端的软件升级方法,是对现有FOTA升级方法的一个优化方法,有效的克服了因手机机内存储器分区表改变造成软件无法升级的问题,避免因现有FOTA升级方法无法处理这种情况,只能死守之前的分区表而会造成的开发难度增加以及用户得不到最新最好的用户体验的问题,使得移动终端在软件升级时需要改动存储器分区表的情况下,也能升级,其实现方法简单,通过软件实现,成本较低。
基于上述移动终端的软件升级方法,本发明还提供了一种移动终端的软件升级系统,请参阅图7,图7为本发明提供的移动终端的软件升级系统较佳实施例的结构框图,如图7所示,所述系统包括:
备份列表生成模块10,用于根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表;具体如步骤S100所述。
差分升级包生成模块20,用于扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;具体如步骤S200所述。
容量检测模块30,用于根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间对比;具体如步骤S300所述。
数据备份及恢复模块40,用于根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区;具体如步骤S400所述。
升级模块50,用于解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级;具体如步骤S500所述。
具体来说,所述备份列表生成模块10根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表。所述差分升级包生成模块20扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包。所述容量检测模块30根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间对比,当所述备份数据总量小于移动终端的SD卡的剩余空间时,所述数据备份及恢复模块40根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区。然后所述升级模块50解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级。在实际应用是,所述备份列表生成模块10和差分升级包生成模块20设置在PC端,也就是服务器端。所述容量检测模块30、数据备份及恢复模块40和升级模块50设置在移动终端上,用于接收PC端的差分升级包,并进行相应的软件升级。
具体来说,所述备份列表生成模块10具体包括:
分区表获取单元,用于根据新版本软件和旧版本软件,分别得到新版本软件和旧版本软件的分区表;
分区表遍历单元,用于遍历新版本分区表;
名字对比单元,用于在新分区表中取出一项,并在旧分区表中查找是否有相同名字的分区;
大小和起始地址对比单元,用于检查新旧分区的大小和起始地址是否都一致;
备份表修改单元,用于检查分区的类型,在备份列表里增加一个描述项,描述该分区的名字和类型。
所述容量检测模块30具体包括:
SD卡检测单元,用于检查移动终端是否有SD卡;
第一备份列表遍历单元,用于从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表;
备份数据总量计算单元,用于在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将分区大小累加至备份数据总量;如果是文件系统类型分区,将分区内所有文件总大小累加至备份数据总量;
容量对比单元,用于检查移动终端的SD卡剩余空间大小,并将所述备份数据总量与移动终端的SD卡的剩余空间进行对比。
所述数据备份及恢复模块40具体包括:
第二备份列表遍历单元,用于从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表;
数据备份单元,用于在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,读出整个分区的数据,把这些数据存储为SD卡上的一个文件;如果是文件系统类型分区,使用TAR 文件格式将分区里面的文件打包成一个文件,并将这个文件存储到SD卡上;
第三备份列表遍历单元,用于从差分升级包里得到新的分区表,按照新的分区表将移动终端存储器重新分区,遍历备份列表;
数据恢复单元,用于在备份列表中取出一项,并在新的分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将备份在SD卡上的对应文件写入分区;如果是文件系统类型分区,解压备份在SD卡上的对应TAR文件,将TAR 文件里的各个文件写入分区。
由于所述差分升级包生成模块20和所述升级模块50与现有的FOTA方法一致,此处不再详细描述。
综上所述,本发明提供的一种移动终端的软件升级方法和系统,所述方法根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表;再扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间进行对比,当所述备份数据总量小于移动终端的SD卡的剩余空间时,根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区;解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端,从而完成升级,使得移动终端在软件升级时需要改动存储器分区表的情况下也能升级,其实现方法简单,通过软件实现,成本较低,为用户带来大大的方便。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (16)

  1. 一种移动终端的软件升级方法,其特征在于,包括以下步骤:
    A、根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表;
    B、扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;
    C、根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间进行对比,当所述备份数据总量小于移动终端的SD卡的剩余空间时,进入步骤D;
    D、根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区;
    E、解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级。
  2. 根据权利要求1所述的移动终端的软件升级方法,其特征在于,所述步骤A具体包括:
    A1、根据新版本软件和旧版本软件,分别得到新版本软件和旧版本软件的分区表;
    A2、遍历新版本分区表,若没有完成遍历,则进入步骤A3;若完成遍历,则结束;
    A3、在新分区表中取出一项,并在旧分区表中查找是否有相同名字的分区,若是,则进入步骤A4;若否,跳至步骤A2;
    A4、检查新旧分区的大小和起始地址是否都一致,若是,跳至步骤A2,若否,则进入步骤A5;
    A5、检查分区的类型,在备份列表里增加一个描述项,描述该分区的名字和类型,返回步骤A2。
  3. 根据权利要求1所述的移动终端的软件升级方法,其特征在于,所述步骤B具体包括:
    B1、扫描新版本和旧版本软件包的所有文件,分别得到相应的文件列表;
    B2、遍历新版本分区表,若没有完成遍历,则进入步骤B3;若完成遍历,则将新版本分区表加入差分升级包,并结束;
    B3、在新版本文件列表中取出一项,并在旧版本文件列表中查找是否有文件名相同的文件,若无,则使用逐字方式将新版本文件加入差分升级包,并跳至步骤B2;若有,则继续步骤B4;
    B4、在差异包比较工具中,将新旧版本的文件作为输入,生成差别文件,并在差别文件中增加相应的描述项,返回步骤B2。
  4. 根据权利要求1所述的移动终端的软件升级方法,其特征在于,所述步骤C具体包括:
    C1、检查移动终端是否有SD卡,若是,则进入步骤C2,若否,则报告错误,结束;
    C2、从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表,若没有完成遍历,则进入步骤C3;若完成遍历,则进入步骤C4;
    C3、在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将分区大小累加至备份数据总量;如果是文件系统类型分区,将分区内所有文件总大小累加至备份数据总量;返回步骤C2直至完成遍历;
    C4、检查移动终端的SD卡剩余空间大小,如果比备份数据总量大,则进入步骤D;否则报告错误,并结束。
  5. 根据权利要求1所述的移动终端的软件升级方法,其特征在于,所述步骤D具体包括:
    D1、从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表,若没有完成遍历,则进入步骤D2;若完成遍历,则进入步骤D3;
    D2、在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,读出整个分区的数据,把这些数据存储为SD卡上的一个文件;如果是文件系统类型分区,使用TAR 文件格式将分区里面的文件打包成一个文件,并将这个文件存储到SD卡上;返回步骤D1直至完成遍历;
    D3、从差分升级包里得到新的分区表,按照新的分区表将移动终端存储器重新分区,遍历备份列表,若没有完成遍历,则进入步骤D4;若完成遍历,则结束;
    D4、在备份列表中取出一项,并在新的分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将备份在SD卡上的对应文件写入分区;如果是文件系统类型分区,解压备份在SD卡上的对应TAR文件,将TAR 文件里的各个文件写入分区,返回步骤D3直至完成遍历。
  6. 根据权利要求1所述的移动终端的软件升级方法,其特征在于,所述步骤E具体包括:
    E1、解压缩差分升级包,得到相应的差别文件和差别文件列表,遍历差别文件列表,若没有完成遍历,则进入步骤E2;若完成遍历,则结束;
    E2、在差别文件列表中取出一项,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端,返回步骤E1直至完成遍历。
  7. 一种移动终端的软件升级方法,其特征在于,包括以下步骤:
    A、根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表;
    B、扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;
    C、根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间进行对比,当所述备份数据总量小于移动终端的SD卡的剩余空间时,进入步骤D;
    D、根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区;
    E、解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级;
    其中,在步骤A中所述分区表有两种表现形式:在PC端,分区表以分区表描述文件的形式存在,包含了分区名字,分区大小,分区起始地址及分区类型;在手机端,分区表以存储器头部数据和存储器内分区表数据的形式存在,同样包含了分区名字,分区大小,分区起始地址及分区类型;然后PC端对比新旧分区表的差异,生成相应的备份列表;
    所述步骤E具体包括:
    E1、解压缩差分升级包,得到相应的差别文件和差别文件列表,遍历差别文件列表,若没有完成遍历,则进入步骤E2;若完成遍历,则结束;
    E2、在差别文件列表中取出一项,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端,返回步骤E1直至完成遍历。
  8. 根据权利要求7所述的移动终端的软件升级方法,其特征在于,所述步骤A具体包括:
    A1、根据新版本软件和旧版本软件,分别得到新版本软件和旧版本软件的分区表;
    A2、遍历新版本分区表,若没有完成遍历,则进入步骤A3;若完成遍历,则结束;
    A3、在新分区表中取出一项,并在旧分区表中查找是否有相同名字的分区,若是,则进入步骤A4;若否,跳至步骤A2;
    A4、检查新旧分区的大小和起始地址是否都一致,若是,跳至步骤A2,若否,则进入步骤A5;
    A5、检查分区的类型,在备份列表里增加一个描述项,描述该分区的名字和类型,返回步骤A2。
  9. 根据权利要求7所述的移动终端的软件升级方法,其特征在于,所述步骤B具体包括:
    B1、扫描新版本和旧版本软件包的所有文件,分别得到相应的文件列表;
    B2、遍历新版本分区表,若没有完成遍历,则进入步骤B3;若完成遍历,则将新版本分区表加入差分升级包,并结束;
    B3、在新版本文件列表中取出一项,并在旧版本文件列表中查找是否有文件名相同的文件,若无,则使用逐字方式将新版本文件加入差分升级包,并跳至步骤B2;若有,则继续步骤B4;
    B4、在差异包比较工具中,将新旧版本的文件作为输入,生成差别文件,并在差别文件中增加相应的描述项,返回步骤B2。
  10. 根据权利要求7所述的移动终端的软件升级方法,其特征在于,所述步骤C具体包括:
    C1、检查移动终端是否有SD卡,若是,则进入步骤C2,若否,则报告错误,结束;
    C2、从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表,若没有完成遍历,则进入步骤C3;若完成遍历,则进入步骤C4;
    C3、在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将分区大小累加至备份数据总量;如果是文件系统类型分区,将分区内所有文件总大小累加至备份数据总量;返回步骤C2直至完成遍历;
    C4、检查移动终端的SD卡剩余空间大小,如果比备份数据总量大,则进入步骤D;否则报告错误,并结束。
  11. 根据权利要求7所述的移动终端的软件升级方法,其特征在于,所述步骤D具体包括:
    D1、从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表,若没有完成遍历,则进入步骤D2;若完成遍历,则进入步骤D3;
    D2、在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,读出整个分区的数据,把这些数据存储为SD卡上的一个文件;如果是文件系统类型分区,使用TAR 文件格式将分区里面的文件打包成一个文件,并将这个文件存储到SD卡上;返回步骤D1直至完成遍历;
    D3、从差分升级包里得到新的分区表,按照新的分区表将移动终端存储器重新分区,遍历备份列表,若没有完成遍历,则进入步骤D4;若完成遍历,则结束;
    D4、在备份列表中取出一项,并在新的分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将备份在SD卡上的对应文件写入分区;如果是文件系统类型分区,解压备份在SD卡上的对应TAR文件,将TAR 文件里的各个文件写入分区,返回步骤D3直至完成遍历。
  12. 根据权利要求7所述的移动终端的软件升级方法,其特征在于,所述步骤E具体包括:
    E1、解压缩差分升级包,得到相应的差别文件和差别文件列表,遍历差别文件列表,若没有完成遍历,则进入步骤E2;若完成遍历,则结束;
    E2、在差别文件列表中取出一项,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端,返回步骤E1直至完成遍历。
  13. 一种移动终端的软件升级系统,其特征在于,包括:
    备份列表生成模块,用于根据新版本软件和旧版本软件,分别找出新版本软件和旧版本软件的分区表,对比新旧分区表的差异,生成相应的备份列表;
    差分升级包生成模块,用于扫描新版本软件的所有文件,生成包含所述新版本软件分区表和备份列表的差分升级包;
    容量检测模块,用于根据所述差分升级包内的备份列表,检测移动终端内需要备份的备份数据总量,将所述备份数据总量与移动终端的SD卡的剩余空间对比;
    数据备份及恢复模块,用于根据所述备份列表,将移动终端内需要备份的备份数据存储到SD卡中,并根据所述差分升级包的新版本软件分区表将移动终端存储器重新分区,检测分区类型,将SD卡上的备份数据对应写入分区;
    升级模块,用于解压缩所述差分升级包,得到相应的差别文件,根据所述差别文件和移动终端内的旧版本文件,生成相应的新版本文件,并写入移动终端完成升级。
  14. 根据权利要求13所述的移动终端的软件升级系统,其特征在于,所述备份列表生成模块具体包括:
    分区表获取单元,用于根据新版本软件和旧版本软件,分别得到新版本软件和旧版本软件的分区表;
    分区表遍历单元,用于遍历新版本分区表;
    名字对比单元,用于在新分区表中取出一项,并在旧分区表中查找是否有相同名字的分区;
    大小和起始地址对比单元,用于检查新旧分区的大小和起始地址是否都一致;
    备份表修改单元,用于检查分区的类型,在备份列表里增加一个描述项,描述该分区的名字和类型。
  15. 根据权利要求13所述的移动终端的软件升级系统,其特征在于,所述容量检测模块具体包括:
    SD卡检测单元,用于检查移动终端是否有SD卡;
    第一备份列表遍历单元,用于从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表;
    备份数据总量计算单元,用于在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将分区大小累加至备份数据总量;如果是文件系统类型分区,将分区内所有文件总大小累加至备份数据总量;
    容量对比单元,用于检查移动终端的SD卡剩余空间大小,并将所述备份数据总量与移动终端的SD卡的剩余空间进行对比。
  16. 根据权利要求13所述的移动终端的软件升级系统,其特征在于,所述数据备份及恢复模块具体包括:
    第二备份列表遍历单元,用于从差分升级包里得到备份列表,从移动终端存储器里读出现有分区表,遍历备份列表;
    数据备份单元,用于在备份列表中取出一项,并在现有分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,读出整个分区的数据,把这些数据存储为SD卡上的一个文件;如果是文件系统类型分区,使用TAR 文件格式将分区里面的文件打包成一个文件,并将这个文件存储到SD卡上;
    第三备份列表遍历单元,用于从差分升级包里得到新的分区表,按照新的分区表将移动终端存储器重新分区,遍历备份列表;
    数据恢复单元,用于在备份列表中取出一项,并在新的分区表中找到对应的分区,检查分区类型,如果是原始数据类型分区,将备份在SD卡上的对应文件写入分区;如果是文件系统类型分区,解压备份在SD卡上的对应TAR文件,将TAR 文件里的各个文件写入分区。
PCT/CN2014/075652 2013-09-13 2014-04-18 一种移动终端的软件升级方法和系统 WO2015035777A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/439,185 US9710256B2 (en) 2013-09-13 2014-04-18 Software upgrade method and system for mobile terminal
EP14844633.9A EP3046026A4 (en) 2013-09-13 2014-04-18 Software upgrade method and system for mobile terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310417037.XA CN103473099B (zh) 2013-09-13 2013-09-13 一种移动终端的软件升级方法和系统
CN201310417037.X 2013-09-13

Publications (1)

Publication Number Publication Date
WO2015035777A1 true WO2015035777A1 (zh) 2015-03-19

Family

ID=49797968

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/075652 WO2015035777A1 (zh) 2013-09-13 2014-04-18 一种移动终端的软件升级方法和系统

Country Status (4)

Country Link
US (1) US9710256B2 (zh)
EP (1) EP3046026A4 (zh)
CN (1) CN103473099B (zh)
WO (1) WO2015035777A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750465A (zh) * 2019-09-30 2020-02-04 华为终端有限公司 系统升级的方法、数据处理方法及装置、设备
CN111176665A (zh) * 2019-12-26 2020-05-19 晶晨半导体(深圳)有限公司 大容量emmc镜像制作方法和装置
CN112463199A (zh) * 2019-09-09 2021-03-09 青岛海信移动通信技术股份有限公司 一种系统升级方法及终端

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473099B (zh) 2013-09-13 2017-02-01 惠州Tcl移动通信有限公司 一种移动终端的软件升级方法和系统
CN103677940B (zh) * 2013-12-27 2018-02-13 上海斐讯数据通信技术有限公司 T卡跨分区升级操作系统的方法及系统
CN104881604B (zh) * 2014-02-27 2019-07-16 中兴通讯股份有限公司 版本文件的运行方法及装置
CN104216736A (zh) * 2014-08-14 2014-12-17 小米科技有限责任公司 增量升级方法、装置及终端设备
CN105589706B (zh) * 2014-10-29 2019-04-16 Tcl集团股份有限公司 一种升级包生成方法和装置
CN106293782A (zh) * 2015-05-15 2017-01-04 中兴通讯股份有限公司 一种系统升级方法及终端
CN104991796B (zh) * 2015-06-19 2018-05-25 青岛海信移动通信技术股份有限公司 一种连续升级的方法及装置
CN105357031A (zh) * 2015-09-30 2016-02-24 青岛海信移动通信技术股份有限公司 一种ota升级方法和设备
CN105183525A (zh) * 2015-10-09 2015-12-23 深圳市网心科技有限公司 一种系统软件的升级方法及实现该升级方法的电子设备
CN106610840A (zh) * 2015-10-22 2017-05-03 深圳市中兴微电子技术有限公司 一种无线固件升级方法及系统
CN105740009B (zh) * 2016-01-26 2019-09-17 青岛海信移动通信技术股份有限公司 版本升级方法及终端设备
CN105893084B (zh) * 2016-03-29 2019-04-30 青岛海信移动通信技术股份有限公司 版本升级方法及终端设备
CN105955851B (zh) * 2016-05-25 2018-11-27 广东欧珀移动通信有限公司 应用于移动终端的系统文件烧录方法及装置
JP6772652B2 (ja) * 2016-08-12 2020-10-21 オムロン株式会社 プログラマブル表示器、更新処理装置、更新方法、情報処理方法およびプログラム
CN106462430B (zh) * 2016-08-29 2020-06-02 北京小米移动软件有限公司 应用升级包获取方法及装置
CN106445737B (zh) * 2016-09-12 2023-03-10 恒为科技(上海)股份有限公司 一种多备份启动方法
EP3513282A1 (en) * 2016-09-14 2019-07-24 u-blox AG Software update system, firmware over the air updating system and method of updating a client device
CN108574588B (zh) * 2017-03-10 2023-09-15 中兴通讯股份有限公司 客户端、服务端及差异化升级方法
CN107484003B (zh) * 2017-07-01 2019-11-15 武汉斗鱼网络科技有限公司 电视列表数据局部刷新方法、存储介质、电子设备及系统
CN107436783B (zh) * 2017-07-14 2021-04-20 惠州Tcl移动通信有限公司 一种用于移动终端的差分升级方法、存储介质及移动终端
CN109298873B (zh) * 2017-07-18 2023-05-09 中兴通讯股份有限公司 一种系统升级方法及装置
CN107301078B (zh) * 2017-07-25 2023-08-01 欣旺达电动汽车电池有限公司 自动更新储能系统参数的方法和装置
CN109308163A (zh) * 2017-07-26 2019-02-05 英业达科技有限公司 非挥发性记忆体磁区规划方法
CN109032649B (zh) * 2018-07-23 2022-03-29 青岛海信移动通信技术股份有限公司 Ota升级方法、装置、设备及存储介质
CN109189435A (zh) * 2018-09-21 2019-01-11 英业达科技有限公司 复杂可编程逻辑器件的固件更新方法
CN109491683A (zh) * 2018-10-25 2019-03-19 陕西航空电气有限责任公司 一种用于航空电源系统发电机控制器软件在线加载方法
CN111104149A (zh) * 2018-10-25 2020-05-05 华为技术有限公司 一种固件升级方法、装置及终端
CN109710286B (zh) * 2018-11-30 2022-11-15 歌尔光学科技有限公司 系统升级方法、装置、设备和存储介质
CN111367557B (zh) * 2018-12-25 2023-09-19 深圳Tcl新技术有限公司 一种基于块方式增量升级包的校验方法、装置及存储介质
KR102088167B1 (ko) * 2019-08-27 2020-03-12 루나 주식회사 소프트웨어 업데이트 에이전트 장치 및 이를 통한 패치방법
KR102088164B1 (ko) * 2019-08-27 2020-03-12 루나 주식회사 소프트웨어 업데이트를 위한 신구 데이터간의 차분 생성 방법 및 그 장치
US11256816B2 (en) * 2019-10-04 2022-02-22 Zettaset, Inc. Dynamic provisioning of encrypted container storage
US11079944B2 (en) * 2019-10-04 2021-08-03 Zettaset, Inc. Dynamic provisioning of container storage
US11340797B2 (en) * 2019-10-04 2022-05-24 Zettaset, Inc. Dedicated encrypted container storage
CN113094077B (zh) * 2019-12-23 2023-08-01 深圳Tcl数字技术有限公司 一种系统差分升级方法、装置、智能终端及存储介质
CN111158719B (zh) * 2019-12-26 2023-06-16 湖南快乐阳光互动娱乐传媒有限公司 应用软件升级方法及装置
CN111209141B (zh) * 2019-12-30 2023-10-20 晶晨半导体(深圳)有限公司 运用于系统迭代的双系统切换方法和装置
CN113495806A (zh) * 2020-03-20 2021-10-12 宇龙计算机通信科技(深圳)有限公司 恢复用户数据的方法、装置、存储介质及终端
CN111679848A (zh) * 2020-04-16 2020-09-18 福建星网物联信息系统有限公司 一种软件更新方法及终端
CN111506269B (zh) * 2020-04-22 2021-09-07 腾讯科技(深圳)有限公司 一种磁盘存储空间分配方法、装置、设备及存储介质
CN113741221A (zh) * 2020-05-27 2021-12-03 广州汽车集团股份有限公司 一种整车功能配置参数化的方法及计算机可读存储介质
CN112579350A (zh) * 2020-11-10 2021-03-30 福建联迪商用设备有限公司 一种支持nv参数备份还原的方法及系统
CN112328287B (zh) * 2020-11-24 2024-05-03 杭州海康威视数字技术股份有限公司 嵌入式设备系统更新方法、装置、设备及存储介质
CN112559012B (zh) * 2020-12-23 2024-05-10 平安银行股份有限公司 系统升级及测试方法、装置、计算机设备及可读存储介质
CN112799698A (zh) * 2021-01-14 2021-05-14 陕西建工安装集团(河南)有限公司 一种U-boot下基于SD卡自动升级方法
CN112988204B (zh) * 2021-05-19 2021-08-31 西安羚控电子科技有限公司 一种无人机软件远程升级及回滚的方法
CN113900699B (zh) * 2021-05-26 2022-09-27 荣耀终端有限公司 一种系统升级方法和电子设备
CN113495746B (zh) * 2021-05-31 2024-02-02 杭州华橙软件技术有限公司 一种程序升级方法、装置、介质和电子设备
CN113419771B (zh) * 2021-05-31 2023-01-24 济南浪潮数据技术有限公司 一种应用软件的升级包制作方法、系统及升级方法、系统
KR20230113066A (ko) * 2022-01-21 2023-07-28 엘지전자 주식회사 업그레이드 가능한 전자 기기 및 전자 기기를 업그레이드하는 방법
CN114675866B (zh) * 2022-03-11 2023-05-12 无锡蓝天电子股份有限公司 一种远程升级的方法
CN116737195A (zh) * 2022-03-11 2023-09-12 荣耀终端有限公司 操作系统的升级方法、电子设备及存储介质
CN114780120B (zh) * 2022-04-02 2023-06-09 荣耀终端有限公司 升级方法、设备及存储介质
CN117270902B (zh) * 2023-08-09 2024-05-10 大拓(山东)物联网科技有限公司 Ota升级包生成方法和装置、ota升级方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207878A (zh) * 2011-05-24 2011-10-05 康佳集团股份有限公司 互联网电视差分升级方法
US8225134B2 (en) * 2007-04-06 2012-07-17 Cisco Technology, Inc. Logical partitioning of a physical device
CN103176824A (zh) * 2013-03-15 2013-06-26 青岛海信移动通信技术股份有限公司 一种系统升级的方法及装置
CN103473099A (zh) * 2013-09-13 2013-12-25 惠州Tcl移动通信有限公司 一种移动终端的软件升级方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698698B2 (en) * 2004-09-30 2010-04-13 Smith Micro Software, Inc. Method for over-the-air firmware update of NAND flash memory based mobile devices
CN101102219B (zh) * 2007-07-30 2010-06-23 华为技术有限公司 软件升级系统以及软件升级方法
CN101923473B (zh) * 2009-06-11 2014-05-28 英华达(南京)科技有限公司 嵌入式电子装置及更新其固件的方法
CN101695162A (zh) * 2009-10-22 2010-04-14 中兴通讯股份有限公司 一种移动终端空中固件升级方法及装置
WO2011088022A2 (en) * 2010-01-12 2011-07-21 Google Inc. Operating system auto-update procedure
CN102693135A (zh) * 2011-03-21 2012-09-26 国基电子(上海)有限公司 具系统升级文件传送功能的计算机及方法
US8612967B1 (en) * 2011-05-31 2013-12-17 Sprint Communications Company L.P. Loading branded media outside system partition
CN102880495A (zh) * 2012-10-15 2013-01-16 华为终端有限公司 移动终端及其软件升级方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225134B2 (en) * 2007-04-06 2012-07-17 Cisco Technology, Inc. Logical partitioning of a physical device
CN102207878A (zh) * 2011-05-24 2011-10-05 康佳集团股份有限公司 互联网电视差分升级方法
CN103176824A (zh) * 2013-03-15 2013-06-26 青岛海信移动通信技术股份有限公司 一种系统升级的方法及装置
CN103473099A (zh) * 2013-09-13 2013-12-25 惠州Tcl移动通信有限公司 一种移动终端的软件升级方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3046026A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463199A (zh) * 2019-09-09 2021-03-09 青岛海信移动通信技术股份有限公司 一种系统升级方法及终端
CN110750465A (zh) * 2019-09-30 2020-02-04 华为终端有限公司 系统升级的方法、数据处理方法及装置、设备
CN110750465B (zh) * 2019-09-30 2023-11-03 华为终端有限公司 系统升级的方法、数据处理方法及装置、设备
CN111176665A (zh) * 2019-12-26 2020-05-19 晶晨半导体(深圳)有限公司 大容量emmc镜像制作方法和装置
CN111176665B (zh) * 2019-12-26 2024-02-09 晶晨半导体(深圳)有限公司 大容量emmc镜像制作方法和装置

Also Published As

Publication number Publication date
EP3046026A1 (en) 2016-07-20
US20150277897A1 (en) 2015-10-01
EP3046026A4 (en) 2017-05-17
CN103473099A (zh) 2013-12-25
CN103473099B (zh) 2017-02-01
US9710256B2 (en) 2017-07-18

Similar Documents

Publication Publication Date Title
WO2015035777A1 (zh) 一种移动终端的软件升级方法和系统
WO2019061612A1 (zh) 贷款产品推广方法、装置及计算机可读存储介质
WO2018120429A1 (zh) 一种资源更新的方法、终端、计算机可读存储介质及资源更新设备
WO2019100638A1 (zh) 数据同步方法、装置、设备及存储介质
WO2018188196A1 (zh) 一种数据版本控制方法、数据版本控制器、设备及计算机可读存储介质
WO2017084302A1 (zh) 显示终端开机播放视频的方法及显示终端
WO2019000801A1 (zh) 数据同步方法、装置、设备及计算机可读存储介质
WO2019019378A1 (zh) 业务处理方法、装置、适配器及计算机可读存储介质
WO2019037396A1 (zh) 账户清结算方法、装置、设备及存储介质
WO2012122718A1 (zh) 一种浏览器预读方法及其系统
WO2018120457A1 (zh) 数据处理方法、装置、设备及计算机可读存储介质
WO2015093870A1 (en) Method and device for managing data
WO2017107388A1 (zh) Hdmi版本切换方法及显示设备
WO2019080247A1 (zh) 产生保单批文的方法、装置、设备及计算机可读存储介质
WO2019000800A1 (zh) 制证方法、装置、设备及计算机可读存储介质
WO2019024219A1 (zh) 文档自动生成方法、装置、文档自动生成器及介质
WO2018076569A1 (zh) 基于行车电脑的程序刷写方法及装置
WO2018058919A1 (zh) 标识信息生成方法、装置、设备和计算机可读存储介质
WO2018188342A1 (zh) 脚本文件生成方法、装置、设备和计算机可读存储介质
WO2018201697A1 (zh) 文件生成方法、装置、设备以及计算机可读存储介质
WO2018014567A1 (zh) 一种提高虚拟机性能的方法、终端、设备及计算机可读存储介质
WO2015103864A1 (zh) 内存管理的方法及Linux终端
WO2017032122A1 (zh) 数字电视机检测方法及装置
WO2018018827A1 (zh) 数据存储控制方法及数据服务器
WO2019071771A1 (zh) 无线信号指纹信息的校准方法、系统、服务器和介质

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14439185

Country of ref document: US

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

Ref document number: 14844633

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014844633

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014844633

Country of ref document: EP