Software upgrading method and system, electronic device and storage medium

By integrating the upgrade packages for the operating system, application software, and AI models on the server side, the problem of fragmented upgrades for each component in existing technologies has been solved, achieving synchronous overall upgrades and improving success rate and stability.

CN122331935APending Publication Date: 2026-07-03ZHIYUAN STAR (SHANGHAI) INTELLIGENT TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610434266.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-04-02
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

In existing technologies, the upgrades of terminal operating systems, application software, and AI models lack unified control and version management, resulting in mismatched dependencies during the upgrade process, which affects the success rate of the upgrade and the stability of the system.

Method used

Based on the version dependencies between the operating system, application software, and AI model, the server determines the integrated upgrade package and sends it to the terminal to ensure the synchronous and overall upgrade of the operating system, application software, and AI model.

Benefits of technology

It enables simultaneous overall upgrades of the operating system, application software, and AI models, improving the upgrade success rate and system stability, simplifying terminal operations, and ensuring compatibility and version dependency coordination among components.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122331935A_ABST
    Figure CN122331935A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a software upgrading method, system, electronic device and storage medium. The software upgrading method comprises: adopting a first prediction model to predict an abnormal probability of a cell associated with a first terminal based on first space-time information of the first terminal, wherein the first prediction model is obtained by training a network behavior data collected by a second terminal on a server; and performing a corresponding avoidance operation on an abnormal cell with an abnormal probability greater than a probability threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communications, and in particular to a software upgrade method, system, electronic device, and storage medium. Background Technology

[0002] With the rapid development of smartphones, tablets, AIoT devices, and AI terminals with local large-scale model inference capabilities, terminal manufacturers typically need to continuously upgrade the following three types of software resources: terminal operating system (OS), application (APP), and terminal AI model (Model).

[0003] like Figure 1 As shown, operating system upgrades typically rely on separate on-the-air (OTA) images; application upgrades are usually handled by app stores or individual application update mechanisms; and AI model files are typically downloaded and updated by each business application itself, without being managed through the OTA system.

[0004] System upgrades, application upgrades, and model upgrades are fragmented and lack unified control and version management; they cannot automatically coordinate the dependencies between the three (for example, the model depends on a specific operating system version, and the application depends on a specific model version).

[0005] Therefore, how to achieve overall upgrades of the system, applications, and models while ensuring dependencies, and improve the success rate of upgrades and system stability, is an urgent problem to be solved. Summary of the Invention

[0006] This disclosure provides software upgrade methods, systems, electronic devices, and storage media.

[0007] According to a first aspect of the embodiments of this disclosure, a software upgrade method is proposed, the method being executed by a server, the method comprising: Based on the version dependencies between the operating system, application software and AI model, the first system file package of the operating system to be upgraded, the first application software file package of the application software to be upgraded and the first model file package of the AI ​​model to be upgraded are determined. Based on the first system file package, the first application software file package, and the first model file package, the integrated upgrade file package is determined; The integrated upgrade package is sent to the terminal so that the terminal can perform an overall upgrade of the operating system, the application software, and the AI ​​model.

[0008] In some embodiments, the method further includes: The terminal receives a first version indication information, wherein the first version indication information is used to indicate at least one of the following: the version of the operating system currently being used, the version of the application software currently being used, and the version of the AI ​​model currently being used. Based on the first system file package, the first application software file package, and the first model file, an integrated upgrade file package is determined, including: Based on the first system file package, a system file differential package for upgrading from the currently used operating system to the version of the operating system to be upgraded is determined; Based on the first application software file package, determine the application software file differential package for upgrading from the currently used application software to the application software to be upgraded; Based on the first model file package, determine the model file difference package for upgrading from the currently used AI model to the AI ​​model to be upgraded; Based on the system file differential package, application software file differential package, and model file differential package, an integrated differential upgrade file package is determined, wherein the integrated upgrade file package includes the integrated differential upgrade file package.

[0009] In some embodiments, sending the integrated upgrade file package to the terminal includes: The integrated upgrade file package is divided into at least one encrypted file block; Send the at least one encrypted file block to the terminal.

[0010] In some embodiments, the method further includes: Send update information to the terminal, wherein the update information includes at least one of the following: The second version indication information is used to indicate at least one of the following: the version of the operating system to be upgraded, the version of the application software to be upgraded, and the version of the AI ​​model to be upgraded. Differential baseline information is used to indicate at least one of the following: the minimum version of the operating system, the minimum version of the application software, and the minimum version of the AI ​​model required for upgrading using the integrated upgrade package. Dependency information, used to indicate the version dependencies; Upgrade priority information is used to indicate the upgrade priority order of the operating system version, the application software version, and the AI ​​model version to be upgraded; Integrity verification information, which is used by the terminal to verify the integrity of the at least one encrypted file block.

[0011] In some embodiments, the system file differential package includes the file differential package for the operating system multi-hop upgrade; and / or The application software file differential package includes the application software multi-hop upgrade file differential package; and / or The model file differential package includes the file differential package for the multi-hop upgrade of the AI ​​model.

[0012] According to a second aspect of the embodiments of this disclosure, a software upgrade method is provided, the method being executed by a terminal, the method comprising: Receive the integrated upgrade file package sent by the server; wherein, the integrated upgrade file package is obtained by the server based on the version dependency relationship between the operating system, application software and AI model, by integrating the first system file package of the determined version of the operating system to be upgraded, the first application software file package of the version of the application software to be upgraded and the first model file package of the version of the AI ​​model to be upgraded; The integrated upgrade package is used to perform an overall upgrade of the operating system, the application software, and the AI ​​model.

[0013] In some embodiments, the method further includes: Send the first version indication information of the terminal to the server, wherein the first version indication information is used to indicate at least one of the following of the terminal: the version of the operating system currently being used, the version of the application software currently being used, and the version of the AI ​​model currently being used; The integrated upgrade package includes an integrated differential upgrade package; The integrated differential upgrade file package is obtained by integrating the following: The system file differential package for upgrading from the currently used operating system to the version of the operating system to be upgraded is determined by the server based on the first system file package; The application software file differential package determined by the server based on the first application software file package, which is used to upgrade the application software to the version to be upgraded. The server determines, based on the first model file package, the model file difference package for upgrading the currently used AI model to the version of the AI ​​model to be upgraded.

[0014] In some embodiments, receiving the integrated upgrade file package sent by the server includes: Receive an integrated upgrade package consisting of at least one encrypted file block.

[0015] In some embodiments, the method further includes: Receive update information sent by the server, wherein the update information includes at least one of the following: The second version indication information is used to indicate at least one of the following: the version of the operating system to be upgraded, the version of the application software to be upgraded, and the version of the AI ​​model to be upgraded. Differential baseline information is used to indicate at least one of the following: the minimum version of the operating system, the minimum version of the application software, and the minimum version of the AI ​​model required for upgrading using the integrated upgrade package. Dependency information, used to indicate the version dependencies; Upgrade priority information is used to indicate the upgrade priority order of the operating system version, the application software version, and the AI ​​model version to be upgraded; Integrity verification information, which is used by the terminal to verify the integrity of the at least one encrypted file block.

[0016] In some embodiments, the system file differential package includes the file differential package for the operating system multi-hop upgrade; and / or The application software file differential package includes the application software multi-hop upgrade file differential package; and / or The model file differential package includes the file differential package for the multi-hop upgrade of the AI ​​model.

[0017] According to a third aspect of the embodiments of this disclosure, a software upgrade apparatus is provided, the software upgrade apparatus comprising: a processing module and a transceiver module, wherein, The processing module is used to determine the first system file package of the operating system version to be upgraded, the first application software file package of the application software version to be upgraded, and the first model file package of the AI ​​model version to be upgraded, based on the version dependency relationship between the operating system, application software, and AI model. The processing module is further configured to determine the integrated upgrade file package based on the first system file package, the first application software file package, and the first model file package; The transceiver module is used to send the integrated upgrade file package to the terminal so that the terminal can perform an overall upgrade of the operating system, the application software and the AI ​​model.

[0018] According to a fourth aspect of the embodiments of this disclosure, a software upgrade apparatus is provided, the software upgrade apparatus comprising: a processing module and a transceiver module, wherein, The transceiver module is used to receive the integrated upgrade file package sent by the server; wherein, the integrated upgrade file package is obtained by the server based on the version dependency relationship between the operating system, application software and AI model, by integrating the first system file package of the determined version of the operating system to be upgraded, the first application software file package of the version of the application software to be upgraded and the first model file package of the version of the AI ​​model to be upgraded; The processing module is used to perform an overall upgrade of the operating system, the application software, and the AI ​​model using the integrated upgrade package.

[0019] According to a fifth aspect of the embodiments of this disclosure, an electronic system is provided, comprising: The server-side component is used to implement the software upgrade method described in the first aspect.

[0020] A terminal for implementing the software upgrade method described in the second aspect.

[0021] According to a sixth aspect of the present disclosure, an electronic device is provided, the electronic device comprising: One or more processors; The processor is used to invoke instructions to cause the electronic device to execute the software upgrade method described in the first or second aspect.

[0022] According to a seventh aspect of the present disclosure, a storage medium is provided that stores instructions that, when executed on an electronic device, cause the electronic device to perform the software upgrade method described in the first or second aspect.

[0023] This disclosure provides a software upgrade method, system, electronic device, and storage medium. The software upgrade method includes determining a first system file package for the operating system to be upgraded, a first application software file package for the application software to be upgraded, and a first model file package for the AI ​​model to be upgraded, based on the version dependencies between the operating system, application software, and AI model; determining an integrated upgrade file package based on the first system file package, the first application software file package, and the first model file package; and sending the integrated upgrade file package to a terminal for the terminal to perform a comprehensive upgrade of the operating system, the application software, and the AI ​​model. Thus, by centrally managing the upgrade process of the operating system, application software, and AI model through a server, the problems of fragmented upgrades of individual components, lack of unified control, and version coordination in traditional upgrade methods are solved. By determining the file packages of each component based on version dependencies and integrating them into a unified upgrade file package, compatibility between components during upgrades is ensured, avoiding upgrade failures due to dependency mismatches. Sending the integrated upgrade file package to the terminal simplifies terminal operations and achieves synchronous overall upgrades of the operating system, application software, and AI model, thereby improving the success rate of the upgrade process and system stability. Attached Figure Description

[0024] Figure 1 This is a flowchart illustrating a software upgrade method according to an exemplary embodiment. Figure 1 ; Figure 2This is a flowchart illustrating a software upgrade method according to an exemplary embodiment. Figure 2 ; Figure 3 This is a schematic diagram of a software upgrade system structure according to an exemplary embodiment; Figure 4 This is a flowchart illustrating a software upgrade method according to an exemplary embodiment. Figure 3 ; Figure 5 This is a flowchart illustrating a software upgrade method according to an exemplary embodiment. Figure 4 ; Figure 6 This is a schematic diagram of an OTA packet structure according to an exemplary embodiment; Figure 7 This is a schematic diagram of a software upgrade device structure according to an exemplary embodiment. Figure 1 ; Figure 8 This is a schematic diagram of a software upgrade device structure according to an exemplary embodiment. Figure 2 ; Figure 9 This is a schematic diagram of the structure of an electronic device according to an exemplary embodiment. Detailed Implementation

[0025] To make the technical solution and beneficial effects of the present invention more apparent and understandable, a detailed description is provided below by listing specific embodiments. The accompanying drawings are not necessarily drawn to scale, and local features may be enlarged or reduced to more clearly show the details of the local features; unless otherwise defined, the technical and scientific terms used herein have the same meanings as those in the technical field to which this application pertains.

[0026] This disclosure is not exhaustive, but merely illustrative of some embodiments, and is not intended to limit the scope of protection of this disclosure. Unless otherwise specified, each step in a particular embodiment can be implemented as an independent embodiment, and the steps can be arbitrarily combined. For example, a solution after removing some steps in a particular embodiment can also be implemented as an independent embodiment, and the order of the steps in a particular embodiment can be arbitrarily interchanged. Furthermore, the optional implementation methods in a particular embodiment can be arbitrarily combined; moreover, the embodiments can be arbitrarily combined, for example, some or all steps of different embodiments can be arbitrarily combined, and a particular embodiment can be arbitrarily combined with the optional implementation methods of other embodiments.

[0027] In each of the disclosed embodiments, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of the embodiments are consistent and can be referenced by each other. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.

[0028] The terminology used in the embodiments of this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the scope of this disclosure.

[0029] In this disclosure, unless otherwise stated, elements expressed in the singular form, such as "a," "an," "the," "the," "the," "the," "the," "the," "this," etc., can mean "one and only one," or "one or more," "at least one," etc. For example, when using articles such as "a," "an," "the," etc. in translation, the noun following the article can be understood as either a singular or a plural expression.

[0030] In the embodiments disclosed herein, "multiple" refers to two or more.

[0031] In some embodiments, the terms “at least one of”, “one or more”, “a plurality of”, “multiple”, etc., may be used interchangeably.

[0032] In some embodiments, the notation "at least one of A and B", "A and / or B", "A in one case, B in another", "A in one case, B in another", etc., may include the following technical solutions depending on the situation: in some embodiments, A (A is executed regardless of B); in some embodiments, B (B is executed regardless of A); in some embodiments, execution is selected from A and B (A and B are selectively executed); in some embodiments, both A and B are executed. The same applies when there are more branches such as A, B, C, etc.

[0033] In some embodiments, the notation "A or B" may include the following technical solutions, depending on the situation: in some embodiments, A (execution of A regardless of B); in some embodiments, B (execution of B regardless of A); in some embodiments, selective execution from A and B (A and B are selectively executed). The same applies when there are more branches such as A, B, and C.

[0034] The prefixes "first," "second," etc., used in the embodiments of this disclosure are merely for distinguishing different descriptive objects and do not impose restrictions on the position, order, priority, value, or content of the descriptive objects. The description of the descriptive objects should be found in the claims or the context of the embodiments, and the use of prefixes should not constitute unnecessary restrictions. For example, if the descriptive object is a "field," the ordinal numbers preceding "field" in "first field" and "second field" do not restrict the position or order of the "fields." "First" and "second" do not restrict whether the "fields" they modify are in the same message, nor do they restrict the order of "first field" and "second field." Similarly, if the descriptive object is a "level," the ordinal numbers preceding "level" in "first level" and "second level" do not restrict the priority between "levels." Furthermore, the value of the descriptive object is not limited by ordinal numbers and can be one or more. For example, in "first device," the value of "device" can be one or more. Furthermore, the objects modified by different prefixes can be the same or different. For example, if the object being described is "device", then "first device" and "second device" can be the same device or different devices, and their types can be the same or different. Similarly, if the object being described is "information", then "first information" and "second information" can be the same information or different information, and their content can be the same or different.

[0035] In some embodiments, “including A,” “containing A,” “for indicating A,” and “carrying A” can be interpreted as directly carrying A or indirectly indicating A.

[0036] In some embodiments, terms such as “…”, “determine…”, “in the case of…”, “when…”, “when…”, “if…”, etc. can be used interchangeably.

[0037] In some embodiments, the terms “greater than,” “greater than or equal to,” “not less than,” “more than,” “more than or equal to,” “not less than,” “higher than,” “higher than or equal to,” “not lower than,” and “above” can be used interchangeably, as can the terms “less than,” “less than or equal to,” “not greater than,” “less than,” “less than or equal to,” “not more than,” “lower than,” “lower than or equal to,” “not higher than,” and “below”.

[0038] In some embodiments, devices, etc., can be interpreted as physical or virtual, and their names are not limited to the names recorded in the embodiments. Terms such as “device”, “equipment”, “circuit”, “network element”, “graph node”, “function”, “unit”, “section”, “system”, “network”, “chip”, “chip system”, “entity”, and “subject” can be used interchangeably.

[0039] Furthermore, each element, each row, or each column in the table of this disclosure can be implemented as an independent embodiment, and any combination of any element, any row, or any column can also be implemented as an independent embodiment.

[0040] Example 1

[0041] This disclosure provides a software upgrade method, which is executed by a server, such as... Figure 1 As shown, the method includes: Step 101: Based on the version dependencies between the operating system, application software, and AI model, determine the first system file package of the operating system to be upgraded, the first application software file package of the application software to be upgraded, and the first model file package of the AI ​​model to be upgraded; Step 102: Based on the first system file package, the first application software file package, and the first model file package, determine the integrated upgrade file package; Step 103: Send the integrated upgrade file package to the terminal so that the terminal can perform an overall upgrade of the operating system, the application software and the AI ​​model.

[0042] The server side can include servers or server clusters used to manage and distribute software upgrade resources, with functions including version management, file package acquisition, file package generation, and file distribution. The operating system can include the underlying software running on the terminal device, such as Android and iOS; its upgrades typically involve updating core system components. Application software can include applications running on top of the operating system, such as social applications and utility applications; its upgrades typically involve updating functional modules or fixing bugs. AI models can include artificial intelligence models that perform local inference on the terminal device, such as speech recognition models, image processing models, and large language models; their upgrades typically involve updating model parameters or structure.

[0043] Version dependencies can be compatibility or functional requirements between operating systems, application software, and AI models. For example, an AI model may require a specific version of the operating system to run, or an application software may require a specific version of the AI ​​model to run.

[0044] The first system file package may include: a complete or partial set of update files for the operating system to be upgraded, used to upgrade the operating system to the target version.

[0045] The first application software file package may include: a complete or partial set of update files for the application software to be upgraded, used to upgrade the application software to the target version.

[0046] The first model file package may include: a complete or partial set of updated files for the AI ​​model to be upgraded, used to upgrade the AI ​​model to the target version.

[0047] The integrated upgrade package may include a unified upgrade file set formed by integrating the first system file package, the first application software file package, and the first model file package, which is used for a one-time overall upgrade of the terminal.

[0048] Terminals can include devices that require software upgrades, such as smartphones, tablets, AIoT devices, or devices with local AI inference capabilities.

[0049] Users (such as R&D personnel) can upload a first system file package, a first application software file package, and a first model file package to the server. The server can store different versions of the file packages. The version of the operating system, the version of the application software, and the version of the AI ​​model can be specified by the user, or it can be identified by the server based on the uploaded file packages.

[0050] In one possible implementation, dependencies can be determined by the user or by the server based on predefined rules.

[0051] For example, the server can maintain a dependency database or configuration file that records the compatibility requirements between different component versions. When an upgrade is needed, the server directly retrieves the complete file package of the corresponding version from the file repository based on the target upgrade version, and uses it as the first system file package, the first application software file package, and the first model file package.

[0052] After obtaining the first system file package, the first application software file package, and the first model file package, the server can integrate them in various ways. For example, these three file packages can be simply packaged into a compressed file, such as ZIP or TAR format, to form an integrated upgrade file package. Alternatively, the server can generate a metadata manifest for each file package and package these manifests together with the original file packages.

[0053] The server sends the aforementioned integrated upgrade package to the terminal, enabling the terminal to perform a comprehensive upgrade of the operating system, application software, and AI model. Specifically, the server can send the integrated upgrade package to the terminal via a wired and / or wireless network. After receiving the complete integrated upgrade package, the terminal can launch a local upgrade program. This program is responsible for decompressing the package and installing or updating the operating system, application software, and AI model sequentially according to a preset order or logic.

[0054] In one possible implementation, the server can send the integrated upgrade file package to the terminal via a resume function.

[0055] For situations where the server needs to send integrated upgrade file packages to a large number of terminals, the server can use a multi-region distribution method to send the integrated upgrade file packages.

[0056] The server can distribute integrated upgrade packages according to preset upgrade strategies, such as pushing integrated upgrade packages based on terminal ratio, device model, region, etc.

[0057] In this way, by centrally managing the upgrade process of the operating system, application software, and AI model on the server side, the problems of fragmented upgrades of individual components, lack of unified control, and version coordination in traditional upgrade methods are solved. By determining the file packages of each component based on version dependencies and integrating them into a unified upgrade file package, compatibility between components during upgrades is ensured, avoiding upgrade failures due to dependency mismatches. Sending the integrated upgrade file package to the terminal simplifies terminal operations and enables synchronous overall upgrades of the operating system, application software, and AI model, thereby improving the success rate of the upgrade process and system stability.

[0058] In some embodiments, the method further includes: The terminal receives a first version indication information, wherein the first version indication information is used to indicate at least one of the following: the version of the operating system currently being used, the version of the application software currently being used, and the version of the AI ​​model currently being used. Based on the first system file package, the first application software file package, and the first model file, an integrated upgrade file package is determined, including: Based on the first system file package, a system file differential package for upgrading from the currently used operating system to the version of the operating system to be upgraded is determined; Based on the first application software file package, determine the application software file differential package for upgrading from the currently used application software to the application software to be upgraded; Based on the first model file package, determine the model file difference package for upgrading from the currently used AI model to the AI ​​model to be upgraded; Based on the system file differential package, application software file differential package, and model file differential package, the integrated differential upgrade file package is determined.

[0059] In one possible implementation, the integrated upgrade package includes the integrated differential upgrade package.

[0060] The server sends the complete file package directly without obtaining the current version information of the terminal, which results in the need to transmit a large amount of redundant data, increasing bandwidth consumption and upgrade time. This is especially inefficient for large files such as AI models and cannot adapt to the differentiated needs of different terminal versions.

[0061] The terminal can first determine its current operating system version, application software version, and AI model version. The terminal can then send a first version indication message to the server, indicating the aforementioned versions.

[0062] The server receives the first version indication information from the terminal. This first version indication information enables the server to accurately understand the specific version information of the operating system, application software, and AI model currently running on the terminal, providing precise baseline data for generating customized upgrade plans subsequently.

[0063] After the terminal completes the software (operating system, application software and / or AI model) update, it can send a first version indication message containing the version numbers of all its key software components to the server when requesting a software update or periodically. The server receives, parses and stores the first version indication message.

[0064] A system file differential packet can be a collection containing only the files or data fragments required to upgrade from the current operating system version on the terminal to the target operating system version. Using system file differential packets can significantly reduce the amount of data transferred during an operating system upgrade, thereby improving upgrade efficiency and reducing bandwidth consumption. For example, the server can maintain a version management system that stores file difference information between different operating system versions. Upon receiving the terminal's current operating system version and the target upgrade version, the server calculates the binary differences between these two versions and generates a system file differential packet. Alternatively, the server can pre-calculate and store differential packets for all common operating system version upgrade paths. When the terminal reports its current version, the server directly retrieves and selects the corresponding system file differential packet from the pre-calculated differential packet library.

[0065] An application software file differential package refers to a collection containing only the files or data fragments required to upgrade from the current application software version on the terminal to the target upgrade version. Using application software file differential packages can reduce data transfer volume, especially for frequently updated applications, significantly improving user experience. For example, the server can identify added, modified, or deleted files by comparing the current application software list on the terminal with the target application software list. For modified files, a file-level differential algorithm is used to generate differential data, which is then packaged into an application software file differential package. Alternatively, when releasing a new version, application software developers can provide differential packages between the new version and previous versions. After receiving the current application software version on the terminal, the server can directly obtain or generate the corresponding differential package, which may contain differences in code, resource files, configurations, etc.

[0066] A model file difference package can be a collection of files or data fragments that contain only the changes needed to upgrade from the current AI model version on the terminal to the target AI model version. Given that AI model files are typically large, generating difference packages is crucial for reducing upgrade costs and time. For example, the server can use specialized model structured difference techniques (such as layer-by-layer difference, LoRA parameter difference, and Tokenizer difference) for AI model files (such as weight files, LoRA incremental files, Tokenizers, Prompt templates, etc.) to identify and transmit only the changed layers or weight parameters, rather than the entire model file. Alternatively, during the training and deployment of an AI model, its version management system records the differences between different versions. The server can use this version difference information to generate a compact model file difference package, which may contain incremental updates to model parameters, instructions for adjusting the model structure, etc.

[0067] The server determines the integrated differential upgrade file package based on the system file differential package, application software file differential package, and model file differential package. The integrated differential upgrade file package can be a unified encapsulation of the differential packages generated separately for the operating system, application software, and AI model. This provides a single, structured upgrade package, facilitating the terminal to download and process upgrades of all components at once, while ensuring that version dependencies between components are coordinated, thus simplifying the terminal's upgrade logic.

[0068] Based on the first version indication information, the server no longer needs to send the complete upgrade file package to the terminal. Instead, it can specifically calculate and generate differential packages containing only version differences for system files, application software files, and AI model files. The server integrates these independent differential packages into a unified integrated differential upgrade file package and sends it to the terminal as part of the integrated upgrade file package. This approach significantly reduces network bandwidth consumption, shortens the upgrade time, improves upgrade efficiency, and effectively solves the inefficiency problem caused by transmitting redundant data, making it particularly suitable for upgrading large files such as AI models. Furthermore, since the system file differential package, application software file differential package, and AI model file differential package are also based on dependency relationships, it can correctly maintain the version dependencies between the operating system, application software, and AI model, improving the overall upgrade success rate and system stability. Additionally, based on the first version indication information, the server can use personalized integrated upgrade file packages for different terminal versions, meeting the auditing needs of different terminals.

[0069] In some embodiments, sending the integrated upgrade file package to the terminal includes: dividing the integrated upgrade file package into at least one encrypted file block; and sending the at least one encrypted file block to the terminal.

[0070] Before sending the integrated upgrade package to the terminal, the server can process the integrated upgrade package (including the integrated differential upgrade file). The server can first break down a potentially large integrated upgrade package into multiple smaller, easier-to-manage and transmit file blocks. For example, this can be done based on preset file size thresholds (e.g., each file block not exceeding 100MB), file type, or logical module boundaries. This block-based processing helps reduce the risk of single-transmission failures and provides a foundation for subsequent mechanisms such as resume download.

[0071] The server can also encrypt these file blocks. Encryption can employ various mature encryption algorithms. For example, a symmetric encryption algorithm (such as AES-256) can be used to encrypt each file block, where the encryption key can be pre-negotiated or dynamically distributed to the terminal via a secure channel; alternatively, an asymmetric encryption algorithm (such as RSA) can be used to encrypt the file blocks, ensuring that only a terminal possessing the corresponding private key can decrypt them. Through encryption, even if a file block is illegally intercepted during transmission, its content cannot be read or tampered with by unauthorized entities, thus effectively protecting the confidentiality of the upgrade data.

[0072] The server sends encrypted file blocks to the terminal. The server can then transmit the segmented and encrypted file blocks to the target terminal over the network. To improve transmission reliability, a breakpoint resumption mechanism can be employed. This means that if the transmission of a file block is interrupted due to network fluctuations or other reasons, the terminal or server can resume transmission from the point of interruption without restarting the transmission of the entire file block. Alternatively, multi-threaded parallel transmission technology can be used to send multiple file blocks simultaneously, thereby shortening the overall transmission time of the upgrade file.

[0073] After receiving at least one encrypted file block, the terminal can decrypt the file block and merge the decrypted file blocks to restore the integrated upgrade file package.

[0074] By processing large file packages in chunks, the risk of the entire upgrade failing due to network instability or transmission interruption is significantly reduced. Encrypting file chunks prevents unauthorized access and data leakage, ensuring the confidentiality of the upgrade content.

[0075] In some embodiments, the method further includes: Send update information to the terminal, wherein the update information includes at least one of the following: The second version indication information is used to indicate at least one of the following: the version of the operating system to be upgraded, the version of the application software to be upgraded, and the version of the AI ​​model to be upgraded. Differential baseline information is used to indicate at least one of the following: the minimum version of the operating system, the minimum version of the application software, and the minimum version of the AI ​​model required for upgrading using the integrated upgrade package. Dependency information, used to indicate the version dependencies; Upgrade priority information is used to indicate the upgrade priority order of the operating system version, the application software version, and the AI ​​model version to be upgraded; Integrity verification information, which is used by the terminal to verify the integrity of the at least one encrypted file block.

[0076] In one possible implementation, the network end can send the update information to the terminal along with the integration and upgrade package. For example, the update information can be included in the integration and upgrade package and sent to the terminal together.

[0077] Version control information (PSI) clearly indicates the target version status that each component will reach after the terminal device upgrade, avoiding incorrect upgrade direction due to unclear targets. For example, PSSI can be in a structured data format, such as JSON or XML, containing specific version numbers for the operating system, application software, and AI model, such as "OS: 8.0, APP: 8.0, AI Model: 8.0". Alternatively, it can be provided as a version string or hash value, which the terminal compares to confirm the target version.

[0078] Differential baseline information can improve the compatibility of differential upgrades. Because differential upgrade packages are generated based on the differences between a specific older version and a newer version, the terminal must be on or above that minimum version to successfully apply the differential package. For example, differential baseline information can explicitly list the minimum compatible version numbers for the operating system, application software, and AI model, such as "OS: 2.0, APP: 20, AI Model: 2.0". Alternatively, a version range or a list of compatible baseline versions can be provided, allowing the terminal to match its current version.

[0079] In one possible implementation, if the terminal determines that it does not meet the minimum version requirements in the differential baseline information, a software upgrade can be performed without using the integrated upgrade package. The terminal can send an update request, carrying its own version information, and the server can then provide a new integrated upgrade package that meets the terminal's current version requirements.

[0080] Differential baseline information ensures that the terminal meets the minimum version requirements when performing differential upgrades, thereby effectively preventing upgrade failures caused by outdated versions.

[0081] Dependency information can be used to coordinate the upgrade order of components during the terminal upgrade process, avoiding compatibility issues or functional abnormalities caused by unmet dependencies. Dependency information can be represented in the form of a dependency graph or list, such as "AI Model: A depends on OS: B", "APP: C depends on AI Model: D", etc. Alternatively, complex dependency logic can be described through a rule engine or scripting language, which the terminal parses and follows. By clearly defining the version dependencies between components, dependency information coordinates the upgrade order of the operating system, application software, and AI model, avoiding conflicts caused by missing dependencies.

[0082] To ensure system stability or avoid compatibility issues in intermediate states, component upgrades may need to be performed in a specific order. For example, upgrade priority information could indicate that the operating system should be upgraded first, followed by the AI ​​model, and finally the application software. Upgrade priority information can provide an ordered list clearly indicating the upgrade order of each component, such as "OS > AIModel > APP". Alternatively, priority values ​​or labels can be used to identify the importance of each component's upgrade, with the terminal upgrading according to priority from highest to lowest. Upgrade priority information guides the terminal to prioritize the upgrade of critical components based on preset priorities, reducing the risks caused by disordered order.

[0083] Integrity verification information is used by the terminal to verify the integrity of at least one encrypted file block. This information verifies that the integrated upgrade package (including file blocks) has not been tampered with or corrupted during transmission, enhancing security. For example, the integrity verification information can use hash values ​​(such as MD5 or SHA256) as verification data. After receiving the file block, the terminal calculates its hash value and compares it with the received verification information. Alternatively, digital signature technology can be used, where the server signs the file block, and the terminal verifies the validity of the signature using the server's public key. Furthermore, Cyclic Redundancy Check (CRC) codes can be used; the terminal calculates the CRC value of the received data and checks it against the verification information. The integrity verification information utilizes a verification mechanism to allow the terminal to verify the integrity of the received encrypted file blocks, preventing file corruption during transmission from affecting upgrade security.

[0084] In some embodiments, the system file differential package includes the file differential package for the operating system multi-hop upgrade; and / or Application software file differential packages include file differential packages for multi-hop upgrades of the application software; and / or The model file differential package includes the file differential package for the multi-hop upgrade of the AI ​​model.

[0085] The file differential package for multi-hop operating system upgrades can be used when there are multiple intermediate versions between the current operating system version and the target version to be upgraded during the operating system version upgrade process. The system file differential package is not a single differential from the current version to the target version, but contains a series of differential files from one intermediate version to the next intermediate version, or can support differential logic to complete the upgrade through a series of intermediate steps.

[0086] Specifically, when generating system file differential packages, the server can pre-calculate and package multiple consecutive, small-range differential files based on the version chain between the terminal's current operating system version and the version to be upgraded. For example, when upgrading from version 2.0 to version 8.0, if there is version 5.0 in between, the differential package may contain differential packages from version 2.0 to version 5.0, and differential packages from version 5.0 to version 8.0. The terminal applies these differentials sequentially during the upgrade. For example, a terminal with operating system version 2.0 might first use the differential packages from version 2.0 to version 5.0 for the upgrade, and then use the differential packages from version 5.0 to version 8.0 for the upgrade.

[0087] The server can also generate a smart differential packet, which embeds multi-hop upgrade logic or metadata. After receiving this differential packet, the terminal can dynamically select or generate a suitable intermediate upgrade path based on its current version and apply the corresponding differential update.

[0088] The file differential packages for multi-hop upgrades of application software and AI models are similar to those for multi-hop upgrades of operating systems, and can all achieve multi-hop upgrades, so they will not be elaborated further here.

[0089] Example 2

[0090] This disclosure provides a software upgrade method, which is executed by a terminal, such as... Figure 2 As shown, the method includes: Step 201: Receive the integrated upgrade file package sent by the server. The integrated upgrade file package is obtained by the server based on the version dependency relationship between the operating system, application software and AI model, by integrating the first system file package of the determined version of the operating system to be upgraded, the first application software file package of the version of the application software to be upgraded and the first model file package of the version of the AI ​​model to be upgraded. Step 202: Use the integrated upgrade package to perform an overall upgrade of the operating system, the application software, and the AI ​​model.

[0091] The server side can include servers or server clusters used to manage and distribute software upgrade resources, with functions including version management, file package acquisition, file package generation, and file distribution. The operating system can include the underlying software running on the terminal device, such as Android and iOS; its upgrades typically involve updating core system components. Application software can include applications running on top of the operating system, such as social applications and utility applications; its upgrades typically involve updating functional modules or fixing bugs. AI models can include artificial intelligence models that perform local inference on the terminal device, such as speech recognition models, image processing models, and large language models; their upgrades typically involve updating model parameters or structure.

[0092] Version dependencies can be compatibility or functional requirements between operating systems, application software, and AI models. For example, an AI model may require a specific version of the operating system to run, or an application software may require a specific version of the AI ​​model to run.

[0093] The first system file package may include: a complete or partial set of update files for the operating system to be upgraded, used to upgrade the operating system to the target version.

[0094] The first application software file package may include: a complete or partial set of update files for the application software to be upgraded, used to upgrade the application software to the target version.

[0095] The first model file package may include: a complete or partial set of updated files for the AI ​​model to be upgraded, used to upgrade the AI ​​model to the target version.

[0096] The integrated upgrade package may include a unified upgrade file set formed by integrating the first system file package, the first application software file package, and the first model file package, which is used for a one-time overall upgrade of the terminal.

[0097] Terminals can include devices that require software upgrades, such as smartphones, tablets, AIoT devices, or devices with local AI inference capabilities.

[0098] Users (such as R&D personnel) can upload a first system file package, a first application software file package, and a first model file package to the server. The server can store different versions of the file packages. The version of the operating system, the version of the application software, and the version of the AI ​​model can be specified by the user, or it can be identified by the server based on the uploaded file packages.

[0099] In one possible implementation, dependencies can be determined by the user or by the server based on predefined rules.

[0100] For example, the server can maintain a dependency database or configuration file that records the compatibility requirements between different component versions. When an upgrade is needed, the server directly retrieves the complete file package of the corresponding version from the file repository based on the target upgrade version, and uses it as the first system file package, the first application software file package, and the first model file package.

[0101] After obtaining the first system file package, the first application software file package, and the first model file package, the server can integrate them in various ways. For example, these three file packages can be simply packaged into a compressed file, such as ZIP or TAR format, to form an integrated upgrade file package. Alternatively, the server can generate a metadata manifest for each file package and package these manifests together with the original file packages.

[0102] The server sends the aforementioned integrated upgrade package to the terminal, enabling the terminal to perform a comprehensive upgrade of the operating system, application software, and AI model. Specifically, the server can send the integrated upgrade package to the terminal via a wired and / or wireless network. After receiving the complete integrated upgrade package, the terminal can launch a local upgrade program. This program is responsible for decompressing the package and installing or updating the operating system, application software, and AI model sequentially according to a preset order or logic.

[0103] In one possible implementation, the server can send the integrated upgrade file package to the terminal via a resume function.

[0104] For situations where the server needs to send integrated upgrade file packages to a large number of terminals, the server can use a multi-region distribution method to send the integrated upgrade file packages.

[0105] The server can distribute integrated upgrade packages according to preset upgrade strategies, such as pushing integrated upgrade packages based on terminal ratio, device model, region, etc.

[0106] By centrally managing the upgrade process of the operating system, application software, and AI models on the server side, this approach solves the problems of fragmented upgrades, lack of unified control, and version coordination among components in traditional upgrade methods. By identifying and integrating the file packages of each component based on version dependencies into a unified upgrade file package, compatibility between components during upgrades is ensured, avoiding upgrade failures due to dependency mismatches. Sending the integrated upgrade file package to the terminal simplifies terminal operations and enables synchronous, overall upgrades of the operating system, application software, and AI models, thereby improving the success rate of the upgrade process and system stability.

[0107] In some embodiments, the method further includes: Send the first version indication information of the terminal to the server, wherein the first version indication information is used to indicate at least one of the following of the terminal: the version of the operating system currently being used, the version of the application software currently being used, and the version of the AI ​​model currently being used; The integrated upgrade package includes an integrated differential upgrade package; The integrated differential upgrade file package is obtained by integrating the following: The system file differential package for upgrading from the currently used operating system to the version of the operating system to be upgraded is determined by the server based on the first system file package; The application software file differential package determined by the server based on the first application software file package, which is used to upgrade the application software to the version to be upgraded. The server determines, based on the first model file package, the model file difference package for upgrading the currently used AI model to the version of the AI ​​model to be upgraded.

[0108] In one possible implementation, the integrated upgrade package includes the integrated differential upgrade package.

[0109] The server sends the complete file package directly without obtaining the current version information of the terminal, which results in the need to transmit a large amount of redundant data, increasing bandwidth consumption and upgrade time. This is especially inefficient for large files such as AI models and cannot adapt to the differentiated needs of different terminal versions.

[0110] The terminal can first determine its current operating system version, application software version, and AI model version. The terminal can then send a first version indication message to the server, indicating the aforementioned versions.

[0111] The server receives the first version indication information from the terminal. This first version indication information enables the server to accurately understand the specific version information of the operating system, application software, and AI model currently running on the terminal, providing precise baseline data for generating customized upgrade plans subsequently.

[0112] After the terminal completes the software (operating system, application software and / or AI model) update, it can send a first version indication message containing the version numbers of all its key software components to the server when requesting a software update or periodically. The server receives, parses and stores the first version indication message.

[0113] A system file differential packet can be a collection containing only the files or data fragments required to upgrade from the current operating system version on the terminal to the target operating system version. Using system file differential packets can significantly reduce the amount of data transferred during an operating system upgrade, thereby improving upgrade efficiency and reducing bandwidth consumption. For example, the server can maintain a version management system that stores file difference information between different operating system versions. Upon receiving the terminal's current operating system version and the target upgrade version, the server calculates the binary differences between these two versions and generates a system file differential packet. Alternatively, the server can pre-calculate and store differential packets for all common operating system version upgrade paths. When the terminal reports its current version, the server directly retrieves and selects the corresponding system file differential packet from the pre-calculated differential packet library.

[0114] An application software file differential package refers to a collection containing only the files or data fragments required to upgrade from the current application software version on the terminal to the target upgrade version. Using application software file differential packages can reduce data transfer volume, especially for frequently updated applications, significantly improving user experience. For example, the server can identify added, modified, or deleted files by comparing the current application software list on the terminal with the target application software list. For modified files, a file-level differential algorithm is used to generate differential data, which is then packaged into an application software file differential package. Alternatively, when releasing a new version, application software developers can provide differential packages between the new version and previous versions. After receiving the current application software version on the terminal, the server can directly obtain or generate the corresponding differential package, which may contain differences in code, resource files, configurations, etc.

[0115] A model file difference package can be a collection of files or data fragments that contain only the changes needed to upgrade from the current AI model version on the terminal to the target AI model version. Given that AI model files are typically large, generating difference packages is crucial for reducing upgrade costs and time. For example, the server can use specialized model structured difference techniques (such as layer-by-layer difference, LoRA parameter difference, and Tokenizer difference) for AI model files (such as weight files, LoRA incremental files, Tokenizers, Prompt templates, etc.) to identify and transmit only the changed layers or weight parameters, rather than the entire model file. Alternatively, during the training and deployment of an AI model, its version management system records the differences between different versions. The server can use this version difference information to generate a compact model file difference package, which may contain incremental updates to model parameters, instructions for adjusting the model structure, etc.

[0116] The server determines the integrated differential upgrade file package based on the system file differential package, application software file differential package, and model file differential package. The integrated differential upgrade file package can be a unified encapsulation of the differential packages generated separately for the operating system, application software, and AI model. This provides a single, structured upgrade package, facilitating the terminal to download and process upgrades of all components at once, while ensuring that version dependencies between components are coordinated, thus simplifying the terminal's upgrade logic.

[0117] Based on the first version indication information, the server no longer needs to send the complete upgrade file package to the terminal. Instead, it can specifically calculate and generate differential packages containing only version differences for system files, application software files, and AI model files. The server integrates these independent differential packages into a unified integrated differential upgrade file package and sends it to the terminal as part of the integrated upgrade file package. This approach significantly reduces network bandwidth consumption, shortens the upgrade time, improves upgrade efficiency, and effectively solves the inefficiency problem caused by transmitting redundant data, making it particularly suitable for upgrading large files such as AI models. Furthermore, since the system file differential package, application software file differential package, and AI model file differential package are also based on dependency relationships, it can correctly maintain the version dependencies between the operating system, application software, and AI model, improving the overall upgrade success rate and system stability. Additionally, based on the first version indication information, the server can use personalized integrated upgrade file packages for different terminal versions, meeting the auditing needs of different terminals.

[0118] In some embodiments, receiving the integrated upgrade file package sent by the server includes: Receive an integrated upgrade package consisting of at least one encrypted file block.

[0119] Before sending the integrated upgrade package to the terminal, the server can process the integrated upgrade package (including the integrated differential upgrade file). The server can first break down a potentially large integrated upgrade package into multiple smaller, easier-to-manage and transmit file blocks. For example, this can be done based on preset file size thresholds (e.g., each file block not exceeding 100MB), file type, or logical module boundaries. This block-based processing helps reduce the risk of single-transmission failures and provides a foundation for subsequent mechanisms such as resume download.

[0120] The server can also encrypt these file blocks. Encryption can employ various mature encryption algorithms. For example, a symmetric encryption algorithm (such as AES-256) can be used to encrypt each file block, where the encryption key can be pre-negotiated or dynamically distributed to the terminal via a secure channel; alternatively, an asymmetric encryption algorithm (such as RSA) can be used to encrypt the file blocks, ensuring that only a terminal possessing the corresponding private key can decrypt them. Through encryption, even if a file block is illegally intercepted during transmission, its content cannot be read or tampered with by unauthorized entities, thus effectively protecting the confidentiality of the upgrade data.

[0121] The server sends encrypted file blocks to the terminal. The server can then transmit the segmented and encrypted file blocks to the target terminal over the network. To improve transmission reliability, a breakpoint resumption mechanism can be employed. This means that if the transmission of a file block is interrupted due to network fluctuations or other reasons, the terminal or server can resume transmission from the point of interruption without restarting the transmission of the entire file block. Alternatively, multi-threaded parallel transmission technology can be used to send multiple file blocks simultaneously, thereby shortening the overall transmission time of the upgrade file.

[0122] After receiving at least one encrypted file block, the terminal can decrypt the file block and merge the decrypted file blocks to restore the integrated upgrade file package.

[0123] By processing large file packages in chunks, the risk of the entire upgrade failing due to network instability or transmission interruption is significantly reduced. Encrypting file chunks prevents unauthorized access and data leakage, ensuring the confidentiality of the upgrade content.

[0124] In some embodiments, the method further includes: Receive update information sent by the server, wherein the update information includes at least one of the following: The second version indication information is used to indicate at least one of the following: the version of the operating system to be upgraded, the version of the application software to be upgraded, and the version of the AI ​​model to be upgraded. Differential baseline information is used to indicate at least one of the following: the minimum version of the operating system, the minimum version of the application software, and the minimum version of the AI ​​model required for upgrading using the integrated upgrade package. Dependency information, used to indicate the version dependencies; Upgrade priority information is used to indicate the upgrade priority order of the operating system version, the application software version, and the AI ​​model version to be upgraded; Integrity verification information, which is used by the terminal to verify the integrity of the at least one encrypted file block.

[0125] In one possible implementation, the network end can send the update information to the terminal along with the integration and upgrade package. For example, the update information can be included in the integration and upgrade package and sent to the terminal together.

[0126] Version control information (PSI) clearly indicates the target version status that each component will reach after the terminal device upgrade, avoiding incorrect upgrade direction due to unclear targets. For example, PSSI can be in a structured data format, such as JSON or XML, containing specific version numbers for the operating system, application software, and AI model, such as "OS: 8.0, APP: 8.0, AI Model: 8.0". Alternatively, it can be provided as a version string or hash value, which the terminal compares to confirm the target version.

[0127] Differential baseline information can improve the compatibility of differential upgrades. Because differential upgrade packages are generated based on the differences between a specific older version and a newer version, the terminal must be on or above that minimum version to successfully apply the differential package. For example, differential baseline information can explicitly list the minimum compatible version numbers for the operating system, application software, and AI model, such as "OS: 2.0, APP: 20, AI Model: 2.0". Alternatively, a version range or a list of compatible baseline versions can be provided, allowing the terminal to match its current version.

[0128] In one possible implementation, if the terminal determines that it does not meet the minimum version requirements in the differential baseline information, a software upgrade can be performed without using the integrated upgrade package. The terminal can send an update request, carrying its own version information, and the server can then provide a new integrated upgrade package that meets the terminal's current version requirements.

[0129] Differential baseline information ensures that the terminal meets the minimum version requirements when performing differential upgrades, thereby effectively preventing upgrade failures caused by outdated versions.

[0130] Dependency information can be used to coordinate the upgrade order of components during the terminal upgrade process, avoiding compatibility issues or functional abnormalities caused by unmet dependencies. Dependency information can be represented in the form of a dependency graph or list, such as "AI Model: A depends on OS: B", "APP: C depends on AI Model: D", etc. Alternatively, complex dependency logic can be described through a rule engine or scripting language, which the terminal parses and follows. By clearly defining the version dependencies between components, dependency information coordinates the upgrade order of the operating system, application software, and AI model, avoiding conflicts caused by missing dependencies.

[0131] To ensure system stability or avoid compatibility issues in intermediate states, component upgrades may need to be performed in a specific order. For example, upgrade priority information could indicate that the operating system should be upgraded first, followed by the AI ​​model, and finally the application software. Upgrade priority information can provide an ordered list clearly indicating the upgrade order of each component, such as "OS > AIModel > APP". Alternatively, priority values ​​or labels can be used to identify the importance of each component's upgrade, with the terminal upgrading according to priority from highest to lowest. Upgrade priority information guides the terminal to prioritize the upgrade of critical components based on preset priorities, reducing the risks caused by disordered order.

[0132] Integrity verification information is used by the terminal to verify the integrity of at least one encrypted file block. This information verifies that the integrated upgrade package (including file blocks) has not been tampered with or corrupted during transmission, enhancing security. For example, the integrity verification information can use hash values ​​(such as MD5 or SHA256) as verification data. After receiving the file block, the terminal calculates its hash value and compares it with the received verification information. Alternatively, digital signature technology can be used, where the server signs the file block, and the terminal verifies the validity of the signature using the server's public key. Furthermore, Cyclic Redundancy Check (CRC) codes can be used; the terminal calculates the CRC value of the received data and checks it against the verification information. The integrity verification information utilizes a verification mechanism to allow the terminal to verify the integrity of the received encrypted file blocks, preventing file corruption during transmission from affecting upgrade security.

[0133] In some embodiments, the system file differential package includes the file differential package for the operating system multi-hop upgrade; and / or The application software file differential package includes the application software multi-hop upgrade file differential package; and / or The model file differential package includes the file differential package for the multi-hop upgrade of the AI ​​model.

[0134] The file differential package for multi-hop operating system upgrades can be used when there are multiple intermediate versions between the current operating system version and the target version to be upgraded during the operating system version upgrade process. The system file differential package is not a single differential from the current version to the target version, but contains a series of differential files from one intermediate version to the next intermediate version, or can support differential logic to complete the upgrade through a series of intermediate steps.

[0135] Specifically, when generating system file differential packages, the server can pre-calculate and package multiple consecutive, small-range differential files based on the version chain between the terminal's current operating system version and the version to be upgraded. For example, when upgrading from version 2.0 to version 8.0, if there is version 5.0 in between, the differential package may contain differential packages from version 2.0 to version 5.0, and differential packages from version 5.0 to version 8.0. The terminal applies these differentials sequentially during the upgrade. For example, a terminal with operating system version 2.0 might first use the differential packages from version 2.0 to version 5.0 for the upgrade, and then use the differential packages from version 5.0 to version 8.0 for the upgrade.

[0136] The server can also generate a smart differential packet, which embeds multi-hop upgrade logic or metadata. After receiving this differential packet, the terminal can dynamically select or generate a suitable intermediate upgrade path based on its current version and apply the corresponding differential update.

[0137] The file differential packages for multi-hop upgrades of application software and AI models are similar to those for multi-hop upgrades of operating systems, and can all achieve multi-hop upgrades, so they will not be elaborated further here.

[0138] A specific example is provided in conjunction with the above embodiments for illustration.

[0139] I. System Overall Structure Diagram

[0140] The OTA software auditing system consists of two main parts: the cloud (i.e., the server) and the client (i.e., the terminal). The overall structure is shown in Figure 3.

[0141] The cloud-based system includes: an upgrade orchestration center, a system file package management module, an application file package management module, a model file package management module, a differential and encryption module, and a file distribution module; among which, 1. Upgrade the orchestration center for: Receive system file packages, application file packages, and model file packages synchronized from the R&D system or uploaded by R&D personnel; Identify version changes and generate version relationship records; Based on the pre-configured strategy and dependency information, upgrade tasks and upgrade plans are generated.

[0142] 2. System File Package Management Module: Used to manage system-related image files (such as system.img, vendor.img, boot.img, etc.); Used to record version information and compatible device information; The system file package generated by the system file package management module can support the generation of system differential packages (integrated differential upgrade file packages).

[0143] 3. Application file package management module: Used for managing application installation packages, resource packages, etc.; The application file package management module supports multiple formats such as APK / Bundle; The application file package management module can generate application differential packages.

[0144] 4. Model file package management module: Used to manage AI model weight files, LoRA increment files, Tokenizers, Prompt templates, etc. The model file package management module can support structured model differencing, such as layer-by-layer differencing, LoRA parameter differencing, and Tokenizer differencing.

[0145] 5. Differential and Encryption Module: Used to perform differential calculations on system files, application files, and model files to generate differential files; Used to split differential packets into blocks and perform encryption, generating encrypted blocks and integrity verification information.

[0146] 6. File distribution module: Used to distribute OTA packages (including integrated differential upgrade file packages) to terminal devices, supporting breakpoint resume and multi-region distribution; Supports configuration of canary upgrade strategies (e.g., batch rollout by proportion, device type, or region).

[0147] The client includes: an upgrade strategy and dependency coordination module, a system upgrade module, an application upgrade module, and a model upgrade module. Among them, 1. The upgrade strategy and dependency coordination module is used for: The current OS version, application version, and model version of the data acquisition terminal; Parse the dependency fields and differential baselines in the update manifest; Automatically generate the upgrade order (e.g., OS→Model→App) and determine whether multiple upgrade hops are needed;

[0148] The system combines information such as battery level, network connectivity, and temperature to generate upgrade decisions.

[0149] 2. The system upgrade module is used for: Synthesize a new system image based on the difference results; Write to partition A / B or a specified partition; Perform a restart and startup verification.

[0150] 3. The application upgrade module is used for: Differential synthesis is performed on the application installation package to install and verify the new version of the application.

[0151] 4. The model upgrade module is used for: Differential synthesis is performed on model weights, LoRA, Tokenizer, etc. Responsible for replacing and loading model files locally; Verify whether the model's inference is working correctly.

[0152] The overall OTA upgrade process for the client, such as Figure 4 As shown, it includes: Step 401: The client reports the current version information.

[0153] Step 402: The client downloads the OTA package (i.e., the integrated differential upgrade file package) and the Manifest (i.e., update information) for verification.

[0154] Step 403: The client resolves dependencies and determines the upgrade order of each file package.

[0155] Step 404: Client-side differential decryption and synthesis. Decrypt the file blocks and synthesize the differential upgrade file package.

[0156] Step 405: Upgrade OS / Model / App in sequence.

[0157] Step 406: Restart the operating system / load the AI ​​model / verify the App's operation.

[0158] Step 407: Consistency check.

[0159] Step 408: Report the upgrade results.

[0160] The entire OTA upgrade process is generated in the cloud, such as... Figure 5 As shown, it includes: Step 501: Detect resource changes. That is, determine the changes to the file package.

[0161] Step 502: Record the new version information and dependency attributes.

[0162] Step 503: Calculate the differential baseline.

[0163] Step 504: File package differencing. Contains structured differencing of the AI ​​model.

[0164] Step 505: Build the Manifest (i.e. update information).

[0165] Step 506: Block encryption and integrity marking.

[0166] Step 507: Establish a unified OTA file package directory structure.

[0167] Step 508: Perform OTA package signing.

[0168] Step 509: Push the OTA package to the distribution system The structure of the OTA package (integrated differential upgrade file package) generated in the cloud is as follows: Figure 6 As shown; including: OTA package unique identifier: used to uniquely identify OTA packages.

[0169] Target version number: target version number of the operating system, target version number of the application, target version number of the AI ​​model.

[0170] Differential Basic Version: also known as Differential Baseline.

[0171] Dependencies: Upgrade strategies (order, conditions, etc.): Signature and verification information: Used for integrity verification.

[0172] The disclosed embodiments also propose an electronic system, including: a server for implementing the software upgrade method described in any of the above embodiments, and a terminal for implementing the software upgrade method described in any of the above embodiments.

[0173] The software upgrade method is as described in any of the above embodiments, and will not be repeated here.

[0174] This disclosure also proposes a software upgrade device, such as... Figure 7 As shown, the software upgrade device 100 includes: a processing module 110 and a transceiver module 120, wherein, The processing module is used to determine the first system file package of the operating system version to be upgraded, the first application software file package of the application software version to be upgraded, and the first model file package of the AI ​​model version to be upgraded, based on the version dependency relationship between the operating system, application software, and AI model. The processing module is further configured to determine the integrated upgrade file package based on the first system file package, the first application software file package, and the first model file package; The transceiver module is used to send the integrated upgrade file package to the terminal so that the terminal can perform an overall upgrade of the operating system, the application software and the AI ​​model.

[0175] In some embodiments, the transceiver module is further configured to receive first version indication information of the terminal, wherein the first version indication information is used to indicate at least one of the following of the terminal: the version of the operating system currently being used, the version of the application software currently being used, and the version of the AI ​​model currently being used; The processing module is specifically used for, including: Based on the first system file package, a system file differential package for upgrading from the currently used operating system to the version of the operating system to be upgraded is determined; Based on the first application software file package, determine the application software file differential package for upgrading from the currently used application software to the application software to be upgraded; Based on the first model file package, determine the model file difference package for upgrading from the currently used AI model to the AI ​​model to be upgraded; Based on the system file differential package, application software file differential package, and model file differential package, an integrated differential upgrade file package is determined, wherein the integrated upgrade file package includes the integrated differential upgrade file package.

[0176] In some embodiments, the transceiver module is specifically used for: The integrated upgrade file package is divided into at least one encrypted file block; Send the at least one encrypted file block to the terminal.

[0177] In some embodiments, the transceiver module is further configured to: Send update information to the terminal, wherein the update information includes at least one of the following: The second version indication information is used to indicate at least one of the following: the version of the operating system to be upgraded, the version of the application software to be upgraded, and the version of the AI ​​model to be upgraded. Differential baseline information is used to indicate at least one of the following: the minimum version of the operating system, the minimum version of the application software, and the minimum version of the AI ​​model required for upgrading using the integrated upgrade package. Dependency information, used to indicate the version dependencies; Upgrade priority information is used to indicate the upgrade priority order of the operating system version, the application software version, and the AI ​​model version to be upgraded; Integrity verification information, which is used by the terminal to verify the integrity of the at least one encrypted file block.

[0178] In some embodiments, the system file differential package includes the file differential package for the operating system multi-hop upgrade; and / or The application software file differential package includes the application software multi-hop upgrade file differential package; and / or The model file differential package includes the file differential package for the multi-hop upgrade of the AI ​​model.

[0179] This disclosure also proposes a software upgrade device, such as... Figure 8 As shown, the software upgrade device 200 includes: a processing module 210 and a transceiver module 220, wherein, The transceiver module is used to receive the integrated upgrade file package sent by the server; wherein, the integrated upgrade file package is obtained by the server based on the version dependency relationship between the operating system, application software and AI model, by integrating the first system file package of the determined version of the operating system to be upgraded, the first application software file package of the version of the application software to be upgraded and the first model file package of the version of the AI ​​model to be upgraded; The processing module is used to perform an overall upgrade of the operating system, the application software, and the AI ​​model using the integrated upgrade package.

[0180] In some embodiments, the transceiver module is further configured to: Send the first version indication information of the terminal to the server, wherein the first version indication information is used to indicate at least one of the following of the terminal: the version of the operating system currently being used, the version of the application software currently being used, and the version of the AI ​​model currently being used; The integrated upgrade package includes an integrated differential upgrade package; The integrated differential upgrade file package is obtained by integrating the following: The system file differential package for upgrading from the currently used operating system to the version of the operating system to be upgraded is determined by the server based on the first system file package; The application software file differential package determined by the server based on the first application software file package, which is used to upgrade the application software to the version to be upgraded. The server determines, based on the first model file package, the model file difference package for upgrading the currently used AI model to the version of the AI ​​model to be upgraded.

[0181] In some embodiments, the transceiver module is further configured to: Receive an integrated upgrade package consisting of at least one encrypted file block.

[0182] In some embodiments, the transceiver module is further configured to: Receive update information sent by the server, wherein the update information includes at least one of the following: The second version indication information is used to indicate at least one of the following: the version of the operating system to be upgraded, the version of the application software to be upgraded, and the version of the AI ​​model to be upgraded. Differential baseline information is used to indicate at least one of the following: the minimum version of the operating system, the minimum version of the application software, and the minimum version of the AI ​​model required for upgrading using the integrated upgrade package. Dependency information, used to indicate the version dependencies; Upgrade priority information is used to indicate the upgrade priority order of the operating system version, the application software version, and the AI ​​model version to be upgraded; Integrity verification information, which is used by the terminal to verify the integrity of the at least one encrypted file block.

[0183] In some embodiments, the system file differential package includes the file differential package for the operating system multi-hop upgrade; and / or The application software file differential package includes the application software multi-hop upgrade file differential package; and / or The model file differential package includes the file differential package for the multi-hop upgrade of the AI ​​model.

[0184] It should be understood that the division of units or modules in the above device is only a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, the units or modules in the device can be implemented by a processor calling software: for example, the device includes a processor connected to a memory containing instructions. The processor calls the instructions stored in the memory to implement any of the above methods or to implement the functions of the units or modules in the above device. The processor can be, for example, a general-purpose processor, such as a Central Processing Unit (CPU) or a microprocessor, and the memory can be internal or external to the device. Alternatively, the units or modules in the device can be implemented in the form of hardware circuits. The functionality of some or all of the units or modules can be achieved through the design of these hardware circuits, which can be understood as one or more processors. For example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC), and the functionality of some or all of the units or modules is achieved through the design of the logical relationships between the components within the circuit. In another implementation, the hardware circuit can be implemented using a programmable logic device (PLD), such as a field-programmable gate array (FPGA), which can include a large number of logic gates. The connection relationships between the logic gates are configured through configuration files, thereby achieving the functionality of some or all of the units or modules. All units or modules of the above device can be implemented entirely through processor-called software, entirely through hardware circuits, or partially through processor-called software with the remaining parts implemented through hardware circuits.

[0185] In this disclosure, the processor is a circuit with signal processing capabilities. In one implementation, the processor can be a circuit with instruction read and execute capabilities, such as a Central Processing Unit (CPU), a microprocessor, a graphics processing unit (GPU) (which can be understood as a type of microprocessor), or a digital signal processor (DSP). In another implementation, the processor can implement certain functions through the logical relationships of hardware circuits. The logical relationships of the aforementioned hardware circuits are fixed or reconfigurable. For example, the processor is a hardware circuit implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document and configuring the hardware circuit can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units or modules. In addition, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a Neural Network Processing Unit (NPU), a Tensor Processing Unit (TPU), a Deep Learning Processing Unit (DPU), etc.

[0186] Figure 9 This is a schematic diagram of the structure of the electronic device 9100 provided in this embodiment. The electronic device 9100 can be a computer terminal, a server, a chip, chip system, or processor that supports the implementation of any of the above methods, or a chip, chip system, or processor that supports the implementation of any of the above information transmission methods in the terminal. The electronic device 9100 can be used to implement the document processing methods described in the above method embodiments; for details, please refer to the descriptions in the above method embodiments.

[0187] like Figure 9 As shown, the electronic device 9100 includes one or more processors 9101. The processor 9101 can be a general-purpose processor or a special-purpose processor, etc. The processor 9101 is used to invoke instructions to cause the electronic device 9100 to execute any of the above-mentioned document processing methods.

[0188] In some embodiments, the electronic device 9100 further includes one or more memories 9102 for storing instructions. Optionally, all or part of the memories 9102 may also be located outside the electronic device 9100.

[0189] In some embodiments, the electronic device 9100 further includes one or more transceivers 9103. When the electronic device 9100 includes one or more transceivers 9103, the steps of sending, receiving and / or acquiring in the above method are performed by the transceivers 9103, and the other steps are performed by the processor 9101.

[0190] In some embodiments, the acquisition steps in the above method can also be performed by the processor 9101, for example, acquiring information from the memory 9102.

[0191] Optionally, the electronic device 9100 further includes one or more interface circuits 9104 connected to the memory 9102. The interface circuits 9104 can be used to receive signals from the memory 9102 or other devices, and can be used to send signals to the memory 9102 or other devices. For example, the interface circuits 9104 can read instructions stored in the memory 9102 and send the instructions to the processor 9101.

[0192] The electronic device 9100 described in the above embodiments may be a network device or a terminal, but the scope of the electronic device 9100 described in this disclosure is not limited thereto, and the structure of the electronic device 9100 may vary. Figure 9 There are limitations. Electronic devices can be standalone devices or part of a larger device.

[0193] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program commands. The aforementioned program can be stored in a storage medium, including various media capable of storing program code such as mobile storage devices, read-only memory (ROM), random access memory (RAM), magnetic disks or optical disks.

[0194] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several commands to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.

[0195] It should be understood that the above embodiments are exemplary and are not intended to encompass all possible implementations included in the claims. Various modifications and changes can be made to the above embodiments without departing from the scope of this disclosure. Similarly, the various technical features of the above embodiments can be arbitrarily combined to form other embodiments of the present invention that may not be explicitly described. Therefore, the above embodiments only illustrate several implementations of the present invention and do not limit the scope of protection of this patent.

Claims

1. A software upgrade method characterized by comprising: The method is executed by the server, and the method includes: Based on the version dependencies between the operating system, application software and AI model, the first system file package of the operating system to be upgraded, the first application software file package of the application software to be upgraded and the first model file package of the AI ​​model to be upgraded are determined. Based on the first system file package, the first application software file package, and the first model file package, the integrated upgrade file package is determined; The integrated upgrade package is sent to the terminal so that the terminal can perform an overall upgrade of the operating system, the application software, and the AI ​​model.

2. The method of claim 1, wherein, The method further includes: The terminal receives a first version indication information, wherein the first version indication information is used to indicate at least one of the following: the version of the operating system currently being used, the version of the application software currently being used, and the version of the AI ​​model currently being used. Based on the first system file package, the first application software file package, and the first model file, an integrated upgrade file package is determined, including: Based on the first system file package, a system file differential package for upgrading from the currently used operating system to the version of the operating system to be upgraded is determined; Based on the first application software file package, determine the application software file differential package for upgrading from the currently used application software to the application software to be upgraded; Based on the first model file package, determine the model file difference package for upgrading from the currently used AI model to the AI ​​model to be upgraded; Based on the system file differential package, application software file differential package, and model file differential package, an integrated differential upgrade file package is determined, wherein the integrated upgrade file package includes the integrated differential upgrade file package.

3. The method according to claim 2, characterized in that, Sending the integrated upgrade file package to the terminal includes: The integrated upgrade file package is divided into at least one encrypted file block; Send the at least one encrypted file block to the terminal.

4. The method according to claim 2, characterized in that, The method further includes: Send update information to the terminal, wherein the update information includes at least one of the following: The second version indication information is used to indicate at least one of the following: the version of the operating system to be upgraded, the version of the application software to be upgraded, and the version of the AI ​​model to be upgraded. Differential baseline information is used to indicate at least one of the following: the minimum version of the operating system, the minimum version of the application software, and the minimum version of the AI ​​model required for upgrading using the integrated upgrade package. Dependency information, used to indicate the version dependencies; Upgrade priority information is used to indicate the upgrade priority order of the operating system version, the application software version, and the AI ​​model version to be upgraded; Integrity verification information, which is used by the terminal to verify the integrity of the at least one encrypted file block.

5. The method according to claim 2, characterized in that, The system file differential package includes the file differential package for the operating system multi-hop upgrade; and / or The application software file differential package includes the application software multi-hop upgrade file differential package; and / or The model file differential package includes the file differential package for the multi-hop upgrade of the AI ​​model.

6. A software upgrade method, characterized in that, The method is executed by a terminal, and the method includes: Receive the integrated upgrade file package sent by the server; wherein, the integrated upgrade file package is obtained by the server based on the version dependency relationship between the operating system, application software and AI model, by integrating the first system file package of the determined version of the operating system to be upgraded, the first application software file package of the version of the application software to be upgraded and the first model file package of the version of the AI ​​model to be upgraded; The integrated upgrade package is used to perform an overall upgrade of the operating system, the application software, and the AI ​​model.

7. The method according to claim 6, characterized in that, The method further includes: Send the first version indication information of the terminal to the server, wherein the first version indication information is used to indicate at least one of the following of the terminal: the version of the operating system currently being used, the version of the application software currently being used, and the version of the AI ​​model currently being used; The integrated upgrade package includes an integrated differential upgrade package; The integrated differential upgrade file package is obtained by integrating the following: The system file differential package for upgrading from the currently used operating system to the version of the operating system to be upgraded is determined by the server based on the first system file package; The application software file differential package determined by the server based on the first application software file package, which is used to upgrade the application software to the version to be upgraded. The server determines, based on the first model file package, the model file difference package for upgrading the currently used AI model to the version of the AI ​​model to be upgraded.

8. The method according to claim 7, characterized in that, The integrated upgrade file package sent by the receiving server includes: Receive an integrated upgrade package consisting of at least one encrypted file block.

9. The method according to claim 7, characterized in that, The method further includes: Receive update information sent by the server, wherein the update information includes at least one of the following: The second version indication information is used to indicate at least one of the following: the version of the operating system to be upgraded, the version of the application software to be upgraded, and the version of the AI ​​model to be upgraded. Differential baseline information is used to indicate at least one of the following: the minimum version of the operating system, the minimum version of the application software, and the minimum version of the AI ​​model required for upgrading using the integrated upgrade package. Dependency information, used to indicate the version dependencies; Upgrade priority information is used to indicate the upgrade priority order of the operating system version, the application software version, and the AI ​​model version to be upgraded; Integrity verification information, which is used by the terminal to verify the integrity of the at least one encrypted file block.

10. The method according to claim 7, characterized in that, The system file differential package includes the file differential package for the operating system multi-hop upgrade; and / or The application software file differential package includes the application software multi-hop upgrade file differential package; and / or The model file differential package includes the file differential package for the multi-hop upgrade of the AI ​​model.

11. A software upgrade device, characterized in that, The software upgrade device includes: a processing module and a transceiver module, wherein... The processing module is used to determine the first system file package of the operating system to be upgraded, the first application software file package of the application software to be upgraded, and the first model file package of the AI ​​model to be upgraded, based on the version dependency relationship between the operating system, application software, and AI model. The processing module is further configured to determine the integrated upgrade file package based on the first system file package, the first application software file package, and the first model file package; The transceiver module is used to send the integrated upgrade file package to the terminal so that the terminal can perform an overall upgrade of the operating system, the application software and the AI ​​model.

12. A software upgrade device, characterized in that, The software upgrade device includes: a processing module and a transceiver module, wherein... The transceiver module is used to receive the integrated upgrade file package sent by the server; wherein, the integrated upgrade file package is obtained by the server based on the version dependency relationship between the operating system, application software and AI model, by integrating the first system file package of the determined version of the operating system to be upgraded, the first application software file package of the version of the application software to be upgraded and the first model file package of the version of the AI ​​model to be upgraded; The processing module is used to perform an overall upgrade of the operating system, the application software, and the AI ​​model using the integrated upgrade package.

13. An electronic system comprising: The server-side component is used to implement the software upgrade method according to any one of claims 1 to 5. A terminal for implementing the software upgrade method according to any one of claims 6 to 10.

14. An electronic device, characterized in that, The electronic device includes: One or more processors; The processor is used to invoke instructions to cause the electronic device to execute the software upgrade method according to any one of claims 1 to 10.

15. A storage medium, characterized in that, The storage medium stores instructions that, when executed on an electronic device, cause the electronic device to perform the software upgrade method according to any one of claims 1 to 10.