CN106802814B - Method and device for upgrading software version - Google Patents

Method and device for upgrading software version Download PDF

Info

Publication number
CN106802814B
CN106802814B CN201611153208.2A CN201611153208A CN106802814B CN 106802814 B CN106802814 B CN 106802814B CN 201611153208 A CN201611153208 A CN 201611153208A CN 106802814 B CN106802814 B CN 106802814B
Authority
CN
China
Prior art keywords
source code
compiling
file
server
configuration information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611153208.2A
Other languages
Chinese (zh)
Other versions
CN106802814A (en
Inventor
曹红胜
向浩
佟广力
马荣福
刘瑞祥
刘海明
沈海寅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhicheauto Technology Beijing Co ltd
Original Assignee
Zhicheauto Technology Beijing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhicheauto Technology Beijing Co ltd filed Critical Zhicheauto Technology Beijing Co ltd
Priority to CN201611153208.2A priority Critical patent/CN106802814B/en
Publication of CN106802814A publication Critical patent/CN106802814A/en
Application granted granted Critical
Publication of CN106802814B publication Critical patent/CN106802814B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a method and a device for upgrading software versions, wherein the method comprises the following steps: under the condition that the source code management server is detected to receive the source code file and the source code configuration information submitted by the user, transmitting the source code file and the source code configuration information to the compiling server; when the compiling server is detected to obtain a source code file and source code configuration information from a source code management server, compiling the source code file to form a current compiling file, adding the compiling information to the source code configuration information to form current compiling configuration information, and submitting the current compiling configuration information to an over-the-air OTA management server; and under the condition that the OTA management server determines to generate the software upgrading package according to the current compiling configuration information, generating the software upgrading package according to the current compiling file acquired from the compiling server and the corresponding historical compiling file. The invention effectively reduces the labor cost of software version upgrading and improves the reliability of the software upgrading package.

Description

Method and device for upgrading software version
Technical Field
The invention relates to a network communication technology, in particular to a method and a device for upgrading a software version.
Background
With the popularization of intelligent electronic devices such as intelligent mobile phones, tablet computers, and intelligent driving systems in intelligent vehicles, software such as applications installed in the intelligent electronic devices is becoming more abundant.
Software installed in an intelligent electronic device usually has a version upgrade requirement, for example, because The installed firmware and software such as application in The intelligent electronic device need to eliminate Bug or add new functions, The intelligent electronic device needs to download a new version of firmware or a differential upgrade package or a full upgrade package of a corresponding application from a corresponding server through an Over-The-Air (OTA) technology, and after The intelligent electronic device successfully downloads The new version of The upgrade package, The version upgrade of The firmware or The corresponding application in The intelligent electronic device is realized by executing The installation operation of The upgrade package.
The inventor discovers that in the process of implementing the invention: in the software version upgrading process, it is usually necessary to perform cooperation between the workers in different departments at the network side, such as cooperation between the workers in the software department and the workers in the OTA management server department, which not only increases the labor cost of software version upgrading, but also causes problems such as abnormal upgrade package due to human error.
Disclosure of Invention
In view of the above, the present invention has been made to provide a method and apparatus for software version upgrade that overcomes or at least partially solves the above problems.
According to one aspect of the present invention, there is provided a method for software version upgrade, the method comprising: under the condition that a source code management server is detected to receive a source code file and source code configuration information submitted by a user, transmitting the source code file and the source code configuration information to a compiling server; when the compiling server is detected to obtain the source code file and the source code configuration information from a source code management server, compiling the source code file to form a current compiling file, adding the compiling information to the source code configuration information to form current compiling configuration information after the compiling is successful, and submitting the current compiling configuration information to an over-the-air OTA management server; and under the condition that the OTA management server determines to generate the software upgrading package according to the current compiling configuration information, generating the software upgrading package according to the current compiling file and the corresponding historical compiling file acquired from the compiling server.
Optionally, in the method for upgrading a software version, the step of transmitting the source code file and the source code configuration information to the compiling server includes: sending, by a source code management server, a compilation notification to a compilation server, the compilation notification including: a Uniform Resource Locator (URL) of the source code file and the source code configuration information; and downloading the source code file and the source code configuration information from a source code management server according to the URL in the compiling notification under the condition that the compiling server is detected to receive the compiling notification.
Optionally, in the method for upgrading a software version, the source code configuration information includes: information indicating the component in the vehicle to which the source code file is directed, the software version number corresponding to the source code file, and information indicating that the source code file is a test version/formal version source code file.
Optionally, in the method for upgrading a software version, the compiling information includes: the compiling time, the compiling server information for executing the compiling operation and the compiling sequence number aiming at the source code file corresponding to the element component.
Optionally, in the method for upgrading a software version, the step of generating a software upgrade package according to a current compiled file and a corresponding historical compiled file acquired from the compiling server when detecting that the OTA management server determines to generate the software upgrade package according to the current compiled configuration information includes: acquiring at least one piece of historical compiling configuration information from a configuration information set according to the current compiling configuration information, and displaying the current compiling configuration information and each piece of historical compiling configuration information; and acquiring a current compilation file and a corresponding historical compilation file from a compilation server according to historical compilation configuration information selected by a user based on the displayed information, and generating a differential upgrade package according to the acquired compilation file.
Optionally, in the method for upgrading a software version, the step of generating a software upgrade package according to a current compiled file and a corresponding historical compiled file acquired from the compiling server when detecting that the OTA management server determines to generate the software upgrade package according to the current compiled configuration information further includes: and under the condition that the information of the differential upgrade package is successfully generated, informing a test server to test the differential upgrade package.
Optionally, in the method for upgrading a software version, the step of generating a software upgrade package according to a current compiled file and a corresponding historical compiled file acquired from the compiling server when detecting that the OTA management server determines to generate the software upgrade package according to the current compiled configuration information further includes: and under the condition that the OTA management server is detected to receive the information of the test failure of the differential upgrade package from the test server, displaying prompt information for generating a full upgrade package, and under the condition that a user selects to generate the full upgrade package based on the prompt information, requesting a current compiled file and a historical compiled file for generating the full upgrade package from the compiling server, and generating the full upgrade package according to the current compiled file and the historical compiled file.
In accordance with another aspect of the present invention, there is provided an apparatus for software version upgrade, the apparatus comprising: the source code submitting module is used for transmitting the source code file and the source code configuration information to the compiling server under the condition that the source code management server is detected to receive the source code file and the source code configuration information submitted by a user; the compiling module is used for compiling the source code file to form a current compiling file under the condition that the compiling server is detected to obtain the source code file and the source code configuration information from the source code management server, adding the compiling information to the source code configuration information to form the current compiling configuration information after the compiling is successful, and submitting the current compiling configuration information to the over-the-air OTA management server; and the upgrade package generation module is used for generating a software upgrade package according to the current compiling file and the corresponding historical compiling file acquired from the compiling server under the condition that the OTA management server determines to generate the software upgrade package according to the current compiling configuration information.
Optionally, in the apparatus for upgrading a software version, the source code submitting module specifically includes: a notification submodule: for sending, by a source code management server, a compilation notification to a compilation server, the compilation notification comprising: a Uniform Resource Locator (URL) of the source code file and the source code configuration information; and the downloading submodule is used for downloading the source code file and the source code configuration information from the source code management server according to the URL in the compiling notification under the condition that the compiling server is detected to receive the compiling notification.
Optionally, the apparatus for upgrading a software version, where the source code configuration information includes: information indicating the component in the vehicle to which the source code file is directed, the software version number corresponding to the source code file, and information indicating that the source code file is a test version/formal version source code file.
Optionally, in the apparatus for upgrading a software version, the compiling information includes: the compiling time, the compiling server information for executing the compiling operation and the compiling sequence number aiming at the source code file corresponding to the element component.
Optionally, in the apparatus for upgrading a software version, the module for generating an upgrade package specifically includes: the display sub-module is used for acquiring at least one piece of historical compiling configuration information from the configuration information set according to the current compiling configuration information and displaying the current compiling configuration information and each piece of historical compiling configuration information; and the generation difference upgrading packet submodule is used for acquiring the current compiling file and the corresponding history compiling file from the compiling server according to the history compiling configuration information selected by the user based on the displayed information, and generating a difference upgrading packet according to the acquired compiling file.
Optionally, the apparatus for upgrading a software version described above, wherein the module for generating an upgrade package further includes: and the test request submodule is used for informing a test server to test the differential upgrade package under the condition that the information of the differential upgrade package is successfully generated.
Optionally, the apparatus for upgrading a software version described above, wherein the module for generating an upgrade package further includes: and the generation total upgrade package submodule is used for triggering the display submodule to display prompt information for generating the total upgrade package when detecting that the OTA management server receives information of test failure of the differential upgrade package from the test server, requesting a current compiled file and a historical compiled file for generating the total upgrade package from the compiling server when receiving the condition that a user selects to generate the total upgrade package based on the prompt information, and generating the total upgrade package according to the current compiled file and the historical compiled file.
The method and the device for upgrading the software version provided by the invention at least have the following advantages and beneficial effects: according to the invention, the source code file and the source code configuration information submitted to the source code management server by a user can be automatically discovered through detection, and the source code file and the source code configuration information can be automatically provided to the compiling server by the source code management server; under the condition that the compiling server is detected to acquire the source code file and the source code configuration information from the source code management server, self-compiling operation of the source code file can be realized by running a compiling command in the script and the like; the current compiling configuration information is generated by adding the compiling information in the source code configuration information, and the condition of each compiling file can be fully known in the subsequent software upgrading package generation process, so that a new-version software upgrading package can be generated through the OTA management server in a targeted manner based on the current compiling file and the corresponding historical compiling file; therefore, the invention can effectively avoid the phenomenon that the software version upgrading requires the cooperative matching among workers of different departments, and further can effectively avoid the phenomenon that the upgrading packet is abnormal due to human errors in the software version upgrading process. Therefore, the technical scheme provided by the invention reduces the labor cost of software version upgrading and improves the reliability of the software upgrading package.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings of the present embodiment are only for the purpose of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
FIG. 1 is a flow diagram of a method for software version upgrade according to one embodiment of the invention;
FIG. 2 is a flow diagram of a method of OTA firmware upgrade according to one embodiment of the invention;
fig. 3 is a schematic structural diagram of an apparatus for upgrading software versions according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The following is an embodiment of a method for software version upgrade of the present invention.
The method for upgrading the software version of the embodiment is generally applied to upgrading software in intelligent electronic equipment, and is particularly suitable for upgrading software in mobile intelligent electronic equipment such as intelligent mobile phones, vehicle-mounted electronic systems of intelligent vehicles and tablet computers.
The software of this embodiment may be firmware, or may be applications such as APP installed in the intelligent electronic device. Firmware in this embodiment generally refers to software/program responsible for basic and underlying work in the intelligent electronic device, that is, Firmware is program code that enables a hardware device to operate normally. The firmware of the embodiment may be embodied as an operating system of the smart electronic device, for example, the firmware of the smart mobile phone may be an operating system of the smart mobile phone, and the firmware of the vehicle electronic system may be an operating system of the vehicle electronic system. The firmware of this embodiment may also be a Driver of some hardware in the intelligent electronic device, for example, the firmware of this embodiment may be a Driver of an instrument system, ADAS (Advanced Driver assistance systems) and a central control device in the vehicle. In addition, the firmware of the embodiment is usually written into an EROM (Erasable Read Only Memory) or an EEPROM (Electrically Erasable Programmable Read-Only Memory) of the smart electronic device.
The flow of the method for upgrading the software version of the present embodiment is shown in fig. 1, and the method of the present embodiment mainly includes: step S100, step S110, and step S120. The steps included in the method of this embodiment will be described in detail below.
In fig. 1, S100, when detecting that the source code management server receives the source code file and the source code configuration information submitted by the user, transmits the source code file and the source code configuration information to the compilation server.
As an example, the source code management server in this embodiment is a bridge between the terminal device used by each user and the compilation server, that is, the source code files compiled by each user need to be uniformly submitted to the compilation server through the source code management server; in a specific example, after completing the writing work of the source code file for the driver upgrade of the meta-component in the vehicle and setting the source code configuration information (such as the source code configuration file) for the source code file, the user may actively submit the source code file and the source code configuration file to the source code management server, and the submission process may be specifically a process of uploading the file to the source code management server.
In a specific example, a source code management website is set at a source code management server in advance, and a user may access the source code management website through a terminal device (such as a computer, etc.), and this embodiment pushes a source code management webpage to the terminal device according to the access of the terminal device to the source code management website in the source code management server, and the webpage is provided with a source code submission button; when the source code submitting button is clicked by a user, the present embodiment pushes a source code submitting window from a source code management server to a terminal device, where the source code submitting window includes a file selection button capable of allowing the user to select a file to be submitted, and after the file selection button is clicked by the user, disk directory information and folder information under the disk directory in the terminal device used by the user can be presented, and after the user selects a source code file and a source code configuration file under a corresponding storage path (i.e., a folder) of a corresponding disk in the terminal device and clicks a certain submitting button, the present embodiment can upload the source code file and the source code configuration file under the corresponding storage path in the terminal device to the source code management server, and the source code file and the source code configuration file correspond to corresponding URLs (Uniform resource locators), and the source code file and the source code configuration file are successfully submitted to the source code management server and stored in a corresponding storage path of the source code management server.
As an example, the source configuration information in the source configuration file in this embodiment mainly includes: information indicating the component in the vehicle to which the source code file is directed, a software version number (e.g., V1.0.0) corresponding to the source code file, and information indicating whether the source code file is a test version source code file or a formal version source code file; the information indicating the meta-component of the vehicle to which the source code file is directed may specifically be: information indicating the meter system (e.g., ID or code of the meter system), information indicating the ADAS (e.g., ID or code of the ADAS), or information indicating the central control device (e.g., ID or code of the central control device), etc.; the software version number may be set by the version management server, and of course, the software version number may also be set manually by the user. In addition, in this embodiment, after the source code file and the source code configuration file are successfully submitted to the source code management server, the version management server may be notified, so that the version management server may form a software version number for a next source code file for upgrading. In addition, the source code configuration information in this embodiment may further include: channel information indicating a demander, and the like.
As an example, the present embodiment may determine that the source code management server successfully receives the source code file and the source code configuration file submitted by the user when the submission success information sent by the source code management server to the terminal device of the user is detected.
As an example, when detecting that the source code management server successfully receives the source code file and the source code configuration file submitted by the user, the embodiment may timely and actively push the source code file and the source code configuration file to the compilation server (for example, by calling a push command to execute a corresponding script to push the code file and the source code configuration file to the compilation server), or first send a compilation notification to the compilation server to notify the compilation server to obtain the source code file and the source code configuration file; of course, in this embodiment, after detecting that the source code management server receives the source code file and the source code configuration file submitted by the user, the source code management server may actively push the source code file and the source code configuration information to the compiling server at a predetermined time of a day (for example, at 1 am) or send a compiling notification to the compiling server. In addition, in this embodiment, when it is detected that the source code management server successfully receives the source code files and the source code configuration files submitted by a plurality of users within a predetermined time period (for example, one day), all the source code files and the source code configuration files successfully received within the predetermined time period are actively pushed to the compiling server or a compiling notification is sent to the compiling server, or a compiling notification may be sent to the compiling server for each successfully received source code file and source code configuration file.
As an example, the compilation notification in the present embodiment may include: the manner of obtaining the source code file and the source code configuration file, such as the compilation notification, may include: source code files and source code configuration files are the URLs in the source code management server. In the case where one compilation notification is sent to the compilation server for all source code files and source code configuration files successfully received by the source code management server within a predetermined period of time, the compilation notification may include a list of URLs for all source code files and source code configuration files. By using the URL to enable the compilation server to obtain the source code file and the source code configuration file, the manner in which the compilation server obtains the source code file and the source code configuration file can be made more flexible.
As an example, in the case that it is detected that the compilation server receives the compilation notification, the present embodiment obtains the source code file and the source code configuration file from the source code management server according to the compilation notification, such as downloading the source code file and the source code configuration file from the source code management server according to the URL in the compilation notification.
It should be noted that the source code management server, the compilation server, and the version management server in this embodiment all refer to servers in a logical sense, that is, the source code management server, the compilation server, and the version management server may be located in the same physical device, and the physical device may also be integrated with other servers.
S110, when the compiling server is detected to obtain the source code file and the source code configuration information from the source code management server, compiling the source code file to form a current compiling file, adding the compiling information to the source code configuration information to form the current compiling configuration information after the compiling is successful, and submitting the current compiling configuration information to the OTA management server.
As an example, the present embodiment may determine that the compilation server successfully obtains the source code file and the source code configuration file from the source code management server when detecting response information that downloading is successfully sent to the compilation server by the source code management server. According to the embodiment, when it is determined that the compiling server successfully acquires the source code file and the source code configuration file from the source code management server, the compiling operation can be performed on the source code file in time, or the compiling operation can be performed on the source code file at a preset time of a day (for example, at 1 am).
As an example, the present embodiment may perform a compiling operation on a source code file by calling a corresponding compiling command, and for a specific example, for a QNX system (Quick UNIX system), in the case of compiling a source code file into an IMAGE file, the following compiling command may be called to perform a compiling operation on a source code file:
mksysimage.bat–vvvvvvv-o"%WORKSPACE%\image\%BUILD_NUMBER%"jacinto6evm.external
bat is a name of a compiling command for forming an IMAGE file in the QNX system; -vvvvvvv is a compilation command parameter; % WORKSPACE% \\ IMAGE \representsa storage path of the IMAGE file formed by compilation; % BUILD _ NUMBER% is a compilation sequence NUMBER (e.g., 100 th compilation for an instrumentation system) corresponding to a source code file for a component (e.g., an instrumentation system or a central control system of a vehicle), and the sequence NUMBER is automatically generated by a compilation server; jacinto6evm.external represents parameters related to the CPU.
The IMAGE file generated by using the compiling command may include: img, base, data, img, boot, etc. The embodiment does not limit the concrete representation form of the compiling command and the concrete representation form of the current compiling file generated by calling the compiling command.
As an example, in this embodiment, the present compiling information may be added to the source code configuration file, so that the source code configuration file forms the current compiling configuration file, and the present compiling information may specifically include: the compiling time (for example, the time of calling the compiling command or the time of successful compiling), the compiling server information (for example, the name of the compiling server or the ID of the compiling server) for executing the compiling operation, the compiling sequence number, and the like. In addition, the version number of the software upgrade package finally formed in the present embodiment may be formed by information such as the software version number (e.g., V1.0.1) corresponding to the source code file, information indicating the component in the vehicle to which the source code file is directed (e.g., component ID), and compilation time.
As an example, in the present embodiment, when it is detected that the compiling command is successfully executed (i.e. the current compiling file is successfully generated), the current compiling configuration file formed by the current compiling information and the source code configuration file is generally submitted to the OTA management server; for example, when it is monitored that the compiling command is successfully executed, the present compiling configuration file is submitted to the OTA management server by invoking a push command to execute a corresponding script, where a specific example of the push command for pushing the present compiling configuration file to the OTA management server is as follows:
python push_compile_os_cmd.py"dashboard"1.0.1-0163-D-1610100346;
python is a called push command, push _ component _ os _ cmd _ py is a script for pushing a source code configuration file, the script can perform corresponding processing (such as format adjustment) on 1.0.1-0163-D-1610100346, so that current compiling configuration information (such as software version information) is pushed to the OTA management server, 1.0.1 is a software version number, 0163 is a compiling sequence number (such as 163 th compiling for an instrument system of a vehicle), D represents a debug mode, and 1610100346 represents compiling time.
As an example, the present embodiment may also submit the current compilation file to the OTA management server in other manners, for example, the present embodiment may send a version upgrade notification to the OTA management server in time when detecting that the compilation command is successfully executed, so as to notify the OTA management server to obtain the current compilation configuration file; of course, in this embodiment, after detecting that all the source code files acquired by the compiling server within the predetermined time period are successfully compiled, the version upgrade notification may be sent to the OTA management server at a predetermined time of a day (for example, at 1 am). In addition, the embodiment may send a version upgrade notification to the OTA management server for each current compiled file, or may send a version upgrade notification to the OTA management server for all current compiled files that are successfully compiled within a predetermined time period. The version upgrade notification may include: the manner of obtaining the current compilation configuration file, such as the version upgrade notification, may include: the URL of the current compiled configuration information. In the case that a version upgrade notification is sent to the OTA management server for all current compilation files and current compilation configuration files successfully compiled by the source code management server within a predetermined time period, the version upgrade notification should include URL lists of all current compilation configuration files.
As an example, the present embodiment should store the current compilation file and the current compilation configuration information in a local software version set, and after the method for upgrading the current software version is finished, the current compilation file becomes the historical compilation file, and the current compilation configuration information becomes the historical compilation configuration file.
And S120, generating a software upgrading package according to the current compiling file and the corresponding historical compiling file acquired from the compiling server under the condition that the OTA management server determines to generate the software upgrading package according to the current compiling configuration information.
As an example, the OTA management server in this embodiment may receive a current compilation configuration file actively pushed by the compilation server, and the OTA management server may also receive a version upgrade notification; in the case of receiving the version upgrade notification, the present embodiment may obtain the current compilation configuration file from the compilation server according to the version upgrade notification, for example, download the current compilation configuration file from the compilation server according to the URL in the version upgrade notification.
It should be noted that, the OTA management server in this embodiment refers to a logical server, for example, the OTA management server may be located in the same physical device as the source code management server and/or the compiling server and/or the version management server, and other servers may also be integrated in the physical device.
By way of example, the present embodiment may detect that the OTA management server successfully obtained the current compilation configuration file from the compilation server, analyzing the current compiling configuration file to judge the characteristics of the current compiling file, such as the vehicle element part aimed at by the current compiling file, the compiling time, whether the current compiling file belongs to the testing edition compiling file or the formal edition compiling file, the software version number and the like, and judging whether to execute the operation of generating the differential upgrade package for the current compiled file according to the characteristics of the current compiled file, upon determining that the operation of generating the differential upgrade package needs to be performed on the current compilation file, the corresponding historical configuration file may be obtained from the compilation server and displayed, such as obtaining all historical compilation configuration files for the same component in the vehicle, so that the user can select and determine the compiled file of the differential upgrade package for generating the software upgrade.
As an example, the present embodiment may request, according to a selection of a user, a compiling server to obtain a current compiled file and a historical compiled file that generates a differential upgrade package with the current compiled file, and call a corresponding command for the current compiled file and the historical compiled file that are obtained by the request to generate the differential upgrade package, where a specific example of a command for generating the differential upgrade package is as follows:
Diffimg V1.0.0update.bin old_version_path new_version_path
wherein diffig is a command for generating a differential upgrade package, V1.0.0 is a software version number of a historical compilation file, update is a differential upgrade package generated this time, version _ path is a storage path of the historical compilation file in the OTA management server, and new _ version _ path is a storage path of a current compilation file.
As an example, in this embodiment, when detecting that the information of the differential upgrade package is successfully generated, the test server may be notified to test the currently generated differential upgrade package, and when detecting that the OTA management server receives the information of the differential upgrade package successfully tested from the test server, if the differential upgrade package is a formal differential upgrade package, the embodiment may perform a subsequent operation of issuing version upgrade information to the client, for example, submitting the differential upgrade package to the download server, so as to facilitate the download server to push the differential upgrade information to each client; if the differential upgrade package is the test version differential upgrade package, the embodiment does not need to execute the subsequent operation of issuing the version upgrade information to the client.
As an example, the present embodiment may display prompt information for generating a full upgrade package in a case where it is detected that information for generating a differential upgrade package is not successfully generated, and when a user selects to generate the full upgrade package based on the prompt information, may request the compilation server to obtain a current compilation file and all history compilation files for generating a right upgrade package, and generate the full upgrade package by invoking a corresponding command, such as generating the full upgrade package for the current compilation file and the history compilation files transmitted by the compilation server by invoking the corresponding command. In addition, in this embodiment, when detecting that the information of the full upgrade package is successfully generated, the test server is notified to test the currently generated full upgrade package, and when detecting that the OTA management server receives the information that the test of the full upgrade package from the test server is successful, if the full upgrade package is the full upgrade package of the formal version, the embodiment may perform the subsequent operation of issuing the version upgrade information to the client, for example, submit the full upgrade package to the download server, so that the download server pushes the full upgrade information to each client; if the full upgrade package is the test version full upgrade package, the embodiment does not need to execute the subsequent operation of issuing the version upgrade information to the client.
In one embodiment, the flow of the OTA firmware upgrade method incorporating the method for software version upgrade of the present invention is shown in fig. 2.
In fig. 2, in S200, after receiving a source code file and a source code configuration file submitted by a user, compiling the source code according to the file by calling a corresponding compiling command to form a current compiling file, and adding the present compiling information to the source code configuration file to make the source code configuration file form the current compiling configuration file.
S210, generating new firmware version information, and submitting the new firmware version information to a version management server.
And S220, displaying the current compiling configuration file and the historical compiling configuration information by the network side (such as an OTA management server) so that a user can conveniently select the historical compiling file which generates the firmware differential upgrading package together with the current compiling file.
S230, after the network side (such as an OTA management server) generates the firmware differential upgrade package according to the selection of the user, the network side requests the test server to test the firmware differential upgrade package, and after receiving the information of successful test returned by the test server, the network side submits the firmware differential upgrade package to the download management server, and the download management server respectively pushes firmware version upgrade notifications to each client.
S240, the client downloads the firmware differential upgrade package according to the notification, executes the operation of installing the firmware differential upgrade package, and goes to step S250 if the firmware differential upgrade package is successfully installed; if a download failure or a verification failure or an installation failure occurs during the download and installation, the process goes to step S260.
And S250, returning information of successful OTA firmware upgrade to the download management server.
And S260, returning information of OTA firmware upgrading failure to the download management server.
According to the embodiment, the workload of firmware upgrade is greatly reduced, the automation degree and reliability of OTA firmware upgrade are improved, and the network side management cost of OTA firmware upgrade is reduced.
The following is one embodiment of the apparatus for software version upgrade of the present invention.
The device for upgrading the software version of the embodiment is generally applied to upgrading software in intelligent electronic equipment, and is particularly suitable for upgrading software in mobile intelligent electronic equipment such as intelligent mobile phones, vehicle-mounted electronic systems of intelligent vehicles and tablet computers.
The structure of the device for upgrading the software version of the present embodiment is shown in fig. 3, and the device mainly includes: a source code submission module 300, a compilation module 310 and a generation upgrade package module 320; the source code submission module 300 includes: a notification submodule and a download submodule; the upgrade package generation module 320 includes: the system comprises a display submodule, a differential upgrade generation sub-submodule, a test request submodule and a full upgrade generation sub-submodule. The following describes each module included in the apparatus of the present embodiment in detail.
The source code submission module 300 is mainly configured to transmit a source code file and source code configuration information to a compiling server when detecting that the source code management server receives the source code file and the source code configuration information submitted by a user; the notification sub-module in the source code submission module 300 may be disposed in the source code management server, and is mainly configured to send a compilation notification to the compilation server through the source code management server, where the compilation notification includes: a Uniform Resource Locator (URL) of the source code file and the source code configuration information; the downloading submodule in the source code submission module 300 may be disposed in the compilation server, and is mainly configured to download the source code file and the source code configuration information from the source code management server according to the URL in the compilation notification when detecting that the compilation server receives the compilation notification.
As an example, source code files written by various users may be uniformly submitted to a compilation server via the source code submission module 300; as a specific example, after completing the writing work of the source code file for driver upgrade of the meta-component in the vehicle and setting the source configuration information (such as the source configuration file) for the source code file, the user may actively submit the source code file and the source configuration file to the source code submitting module 300 in the source code management server, and the submitting process may be specifically a process of uploading the file to the source code submitting module 300 in the source code management server.
As a specific example, the source code submitting module 300 at the source code management server of this embodiment is provided with a source code management website, a user can access the source code management website through a terminal device (such as a computer, etc.), the source code submitting module 300 pushes a source code management webpage to the terminal device according to the terminal device accessing the source code management website in the source code management server, and the source code submitting module 300 sets a source code submitting button in the webpage; when the source code submitting button is clicked by a user, the source code submitting module 300 pushes a source code submitting window from a source code management server to the terminal device, the source code submitting module 300 is provided with a file selecting button which can be used by the user to select a file to be submitted, after the file selecting button is clicked by the user, disk directory information in the terminal device used by the user, folder information under the disk directory and the like can be displayed, the source code file and the source code configuration file under the corresponding storage path (namely, a folder) of the corresponding disk in the terminal device are selected by the user, after a determined submitting button is clicked, the source code file and the source code configuration file under the corresponding storage path in the terminal device are uploaded to the source code management server, and the source code file and the source code configuration file correspond to corresponding URLs, so that the source code file and the source code configuration file are successfully submitted to the source code management server, and storing the data in a corresponding storage path of the source code management server.
As an example, the source configuration information in the source configuration file in this embodiment mainly includes: information indicating the component in the vehicle to which the source code file is directed, a software version number (e.g., V1.0.0) corresponding to the source code file, and information indicating whether the source code file is a test version source code file or a formal version source code file; the information indicating the meta-component of the vehicle to which the source code file is directed may specifically be: information indicating the meter system (e.g., ID or code of the meter system), information indicating the ADAS (e.g., ID or code of the ADAS), or information indicating the central control device (e.g., ID or code of the central control device), etc.; the software version number may be set by the version management server, and of course, the software version number may also be set manually by the user. In addition, in this embodiment, after the source code file and the source code configuration file are successfully submitted to the source code management server, the version management server may be notified, so that the version management server may form a software version number for a next source code file for upgrading.
As an example, the source code submission module 300 may determine that the source code management server successfully receives the source code file and the source code configuration file submitted by the user when the submission success information sent by the source code management server to the terminal device of the user is detected.
As an example, the source code submitting module 300 may, when detecting that the source code management server successfully receives the source code file and the source code configuration file submitted by the user, timely and actively push the source code file and the source code configuration file to the compilation server (e.g., by calling a push command to execute a corresponding script to push the code file and the source code configuration file to the compilation server), and the source code submitting module 300 (e.g., a notification sub-module) may also first send a compilation notification to the compilation server to notify the compilation server (e.g., a lower sub-module) to obtain the source code file and the source code configuration file; of course, the source code submitting module 300 (e.g., the notification sub-module) may also actively push the source code file and the source code configuration information to the compiling server or send the compiling notification to the compiling server at a predetermined time of day (e.g., at 1 am) after detecting that the source code management server receives the source code file and the source code configuration file submitted by the user. In addition, the source code submitting module 300 (e.g., the notifying sub-module) may actively push all the source code files and source code configuration files successfully received within a predetermined time period to the compiling server or send a compiling notification to the compiling server when detecting that the source code management server successfully receives the source code files and source code configuration files submitted by multiple users within the predetermined time period (e.g., one day), and the source code submitting module 300 (e.g., the notifying sub-module) may also send a compiling notification to the compiling server respectively for each successfully received source code file and source code configuration file.
As an example, the compilation notification in the present embodiment may include: the manner of obtaining the source code file and the source code configuration file, such as the compilation notification, may include: source code files and source code configuration files are the URLs in the source code management server. In a case where a compiling notification is sent to the compiling server for all source code files and source code configuration files successfully received by the source code management server within a predetermined time period, the compiling notification issued by the source code submitting module 300 (e.g., the notification sub-module) may include URL lists of all source code files and source code configuration files.
As an example, the source code submission module 300 (e.g., a download sub-module) acquires the source code file and the source code configuration file from the source code management server according to the compilation notification when detecting that the compilation server receives the compilation notification, such as the source code submission module 300 (e.g., the download sub-module) downloads the source code file and the source code configuration file from the source code management server according to the URL in the compilation notification.
It should be noted that, although the notification sub-module and the download sub-module are disposed in the source code management server and the compilation server in this embodiment, the notification sub-module and the download sub-module may be disposed in the same physical device, and of course, the notification sub-module and the download sub-module may also be disposed in different physical devices.
The compiling module 310 is mainly configured to compile the source code file to form a current compiling file when detecting that the compiling server obtains the source code file and the source code configuration information from the source code management server, add the compiling information to the source code configuration information to form the current compiling configuration information after the compiling is successful, and submit the current compiling configuration information to the over-the-air OTA management server.
As an example, the compiling module 310 may determine that the compiling server successfully acquires the source code file and the source code configuration file from the source code management server when detecting the response information of successful downloading sent by the source code management server to the compiling server. The compiling module 310 may perform the compiling operation on the source code file in time when it is determined that the compiling server successfully obtains the source code file and the source code configuration file from the source code management server, and the compiling module 310 may also perform the compiling operation on the source code file at a predetermined time of day (for example, at 1 am).
As an example, the compiling module 310 may perform the compiling operation on the source code file by calling a corresponding compiling command, and for a specific example, for a QNX system (Quick UNIX system), in the case of compiling the source code file into an IMAGE file, the compiling module 310 may perform the compiling operation on the source code file by calling the compiling command described in the above method embodiment, and a description thereof is not repeated.
The IMAGE file generated by the compiling module 310 using the compiling command may include: img, base, data, img, boot, etc. The embodiment does not limit the concrete representation of the compiling command called by the compiling module 310 and the concrete representation of the current compiled file generated by calling the compiling command.
As an example, the compiling module 310 may add the compiling information of this time in the source code configuration file, so that the source code configuration file forms a current compiling configuration file, and the compiling information of this time may specifically include: the compiling time (for example, the time of calling the compiling command or the time of successful compiling), the compiling server information (for example, the name of the compiling server or the ID of the compiling server) for executing the compiling operation, the compiling sequence number, and the like.
As an example, when detecting that the compiling command is successfully executed (i.e. successfully generating the current compiling file), the compiling module 310 will generally submit the current compiling configuration file formed by the current compiling information and the source code configuration file to the OTA management server; for example, the compiling module 310 may submit the current compiling configuration file to the OTA management server by calling a push command to execute a corresponding script when it is detected that the compiling command is successfully executed, and a specific example of the push command for pushing the current compiling configuration file to the OTA management server is described in the above embodiment of the method, and will not be described again here.
As an example, the compiling module 310 may submit the current compiling file to the OTA management server in other manners, for example, the compiling module 310 may send a version upgrade notification to the OTA management server in time when detecting that the compiling command is successfully executed, so as to notify the OTA management server to obtain the current compiling configuration file; of course, the compiling module 310 may also send a version upgrade notification to the OTA management server at a predetermined time of a day (for example, at 1 am) after detecting that all the source code files acquired by the compiling server within a predetermined time period are successfully compiled. In addition, the compiling module 310 may send a version-up notification to the OTA management server for each current compiled file, or may send a version-up notification to the OTA management server for all current compiled files that are successfully compiled within a predetermined period of time. The version upgrade notification may include: the manner of obtaining the current compilation configuration file, such as the version upgrade notification, may include: the URL of the current compiled configuration information. In the case that the compiling module 310 sends a version-up notification to the OTA management server for all current compiling files and current compiling configuration files successfully compiled by the source code management server within a predetermined time period, the compiling module 310 should make the version-up notification include URL lists of all current compiling configuration files.
As an example, the compiling module 310 should store the current compiling file and the current compiling configuration information in the local software version set of the compiling server, and after the process of upgrading the current software version is finished, the locally stored current compiling file becomes the historical compiling file, and the current compiling configuration information becomes the historical compiling configuration file.
The update package generation module 320 is mainly configured to generate a software update package according to a current compiled file and a corresponding historical compiled file obtained from the compiling server when it is detected that the OTA management server determines to generate the software update package according to the current compiled configuration information. The display sub-module in the upgrade package generation module 320 is mainly configured to obtain at least one piece of historical compiling configuration information from the configuration information set according to the current compiling configuration information, and display the current compiling configuration information and each piece of historical compiling configuration information. The differential upgrade package generation sub-module in the upgrade package generation module 320 is mainly used for acquiring a current compiled file and a corresponding historical compiled file from the compiling server according to historical compiling configuration information selected by a user based on the displayed information, and generating a differential upgrade package according to the acquired compiled file. The test request submodule in the upgrade package generation module 320 is mainly used to notify the test server to test the differential upgrade package when detecting that the information of the differential upgrade package is successfully generated. The generate total upgrade package submodule in the generate upgrade package module 320 is mainly used for triggering the display submodule to display prompt information of generating the total upgrade package when detecting that the OTA management server receives information of test failure of the differential upgrade package from the test server, requesting a current compiled file and a historical compiled file for generating the total upgrade package from the compiling server when receiving the condition that a user selects to generate the total upgrade package based on the prompt information, and generating the total upgrade package according to the current compiled file and the historical compiled file obtained by the request.
As an example, the upgrade package generation module 320 may detect that the OTA management server receives the current compilation configuration file actively pushed by the compilation server, and the upgrade package generation module 320 may also detect that the OTA management server receives the version upgrade notification, and in the case that it is detected that the OTA management server receives the version upgrade notification, the upgrade package generation module 320 may obtain the current compilation configuration file from the compilation server according to the version upgrade notification, for example, the upgrade package generation module 320 downloads the current compilation configuration file from the compilation server according to the URL in the version upgrade notification.
It should be noted that, although the upgrade package generation module 320 is disposed in the OTA management server, the upgrade package generation module 320 may be disposed in the same physical device as other modules in the apparatus, and of course, the upgrade package generation module 320 may also be disposed in a different physical device from other modules in the apparatus.
As an example, the upgrade package generation module 320 may, upon detecting that the OTA management server successfully obtains the current compilation configuration file from the compilation server, parse the current compilation configuration file to determine characteristics of the current compilation file, such as a component of the vehicle to which the current compilation file is directed, the compilation time of the current time, whether the current compilation file belongs to a testboard compilation file or a formal compilation file, a software version number, and the like, determine whether to perform an operation of generating the differential upgrade package for the current compilation file according to the characteristics of the current compilation file, and upon determining that the operation of generating the differential upgrade package needs to be performed for the current compilation file, the upgrade package generation module 320 may obtain a corresponding historical configuration file from the compilation server and display the historical configuration file by the display sub-module, such as obtaining all historical compilation configuration files for the same component in the vehicle, so that a user can determine and generate the compiled file of the differential upgrade package of the software upgrade based on the content displayed by the display submodule.
As an example, the upgrade package generation module 320 (e.g., differential upgrade package generation sub-module) may request, according to a selection of a user, a compilation server to obtain a current compilation file and a historical compilation file of a differential upgrade package generated from the current compilation file, and call corresponding commands for the current compilation file and the historical compilation file that are requested to be obtained to generate the differential upgrade package, where a specific example of one command for generating the differential upgrade package used by the differential upgrade package generation sub-module is described in the above method embodiments, and a description thereof is not repeated here.
As an example, the upgrade package generation module 320 (e.g., the test request sub-module) may notify the test server to test the currently generated differential upgrade package when detecting that the information of the differential upgrade package is successfully generated, and if detecting that the OTA management server receives the information of the differential upgrade package from the test server that the test is successful, if the differential upgrade package is a formal differential upgrade package, the upgrade package generation module 320 may perform a subsequent operation of issuing version upgrade information to the client, for example, the upgrade package generation module 320 (e.g., the test request sub-module) submits the differential upgrade package to the download server, so as to facilitate the download server to send the differential upgrade information to each client; if the differential upgrade package is a test version differential upgrade package, the upgrade package generation module 320 (e.g., the test request submodule) does not need to perform subsequent operation of issuing version upgrade information to the client.
As an example, the upgrade package generation module 320 (e.g., full upgrade package generation sub-module) may cause the display sub-module to display prompt information for generating the full upgrade package when detecting that the information for generating the differential upgrade package is not successfully generated, and when the user selects to generate the full upgrade package based on the prompt information, the upgrade package generation module 320 (e.g., full upgrade package generation sub-module) may request the compilation server to obtain the current compilation file and all historical compilation files for generating the right upgrade package, and generate the full upgrade package by invoking a corresponding command, e.g., the upgrade package generation module 320 (e.g., full upgrade package generation sub-module) generates the full upgrade package for the current compilation file and the historical compilation files transmitted by the compilation server by invoking the corresponding command. In addition, the upgrade package generation module 320 (e.g., the test request submodule) may notify the test server to test the currently generated full upgrade package when detecting that the information of the full upgrade package is successfully generated, and the upgrade package generation module 320 (e.g., the full upgrade package generation submodule) may execute a subsequent operation of issuing the version upgrade information to the client if the full upgrade package is the full version upgrade package when detecting that the OTA management server receives the information of the full upgrade package from the test server that the test of the full upgrade package is successful, for example, the upgrade package generation module 320 (e.g., the full upgrade package generation submodule) submits the full upgrade package to the download server, so that the download server pushes the full upgrade information to each client, and the like; if the full upgrade package is the test version full upgrade package, the generation upgrade package module 320 (e.g., the generation full upgrade package sub-module) does not need to perform the subsequent operation of issuing the version upgrade information to the client.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the terminal device of an embodiment may be adaptively changed and disposed in one or more devices other than the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that although embodiments described herein include some features included in other embodiments, not other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the claims of the present invention, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions in the method and apparatus for software version upgrade according to embodiments of the present invention. The present invention may also be embodied as apparatus or system programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from a website on the internet, provided on a carrier signal, or provided in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps or the like not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several systems, several of these systems may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.

Claims (8)

1. A method for software version upgrade, the method comprising:
under the condition that a source code management server is detected to receive a source code file and source code configuration information submitted by a user, transmitting the source code file and the source code configuration information to a compiling server;
when the compiling server is detected to obtain the source code file and the source code configuration information from a source code management server, compiling the source code file to form a current compiling file, adding the compiling information to the source code configuration information to form current compiling configuration information after the compiling is successful, and submitting the current compiling configuration information to an over-the-air OTA management server;
under the condition that an OTA management server determines to generate a software upgrading package according to the current compiling configuration information, the software upgrading package is generated according to a current compiling file acquired from a compiling server and a corresponding historical compiling file, wherein at least one piece of historical compiling configuration information is acquired from a configuration information set according to the current compiling configuration information, the current compiling configuration information and each piece of historical compiling configuration information are displayed, the current compiling file and the corresponding historical compiling file are acquired from the compiling server according to the historical compiling configuration information selected by a user based on the displayed information, a differential upgrading package is generated according to the acquired compiling file, the testing server is informed to test the differential upgrading package under the condition that the information of the differential upgrading package is successfully generated is detected, and under the condition that the OTA management server is detected to receive the information of the differential upgrading package test failure from the testing server, and displaying prompt information for generating a full upgrade package, requesting a current compilation file and a historical compilation file for generating the full upgrade package from a compilation server under the condition that a user selects to generate the full upgrade package based on the prompt information, and generating the full upgrade package according to the current compilation file and the historical compilation file.
2. The method for software version upgrade as claimed in claim 1, wherein said step of transmitting said source code file and source code configuration information to a compilation server comprises:
sending, by a source code management server, a compilation notification to a compilation server, the compilation notification including: a Uniform Resource Locator (URL) of the source code file and the source code configuration information;
and downloading the source code file and the source code configuration information from a source code management server according to the URL in the compiling notification under the condition that the compiling server is detected to receive the compiling notification.
3. The method for software version upgrade as claimed in claim 1, wherein said source code configuration information comprises: information indicating the component in the vehicle to which the source code file is directed, the software version number corresponding to the source code file, and information indicating that the source code file is a test version/formal version source code file.
4. The method for upgrading software version according to claim 3, wherein the compiling information comprises: the compiling time, the compiling server information for executing the compiling operation and the compiling sequence number aiming at the source code file corresponding to the element component.
5. An apparatus for software version upgrade, the apparatus comprising:
the source code submitting module is used for transmitting the source code file and the source code configuration information to the compiling server under the condition that the source code management server is detected to receive the source code file and the source code configuration information submitted by a user;
the compiling module is used for compiling the source code file to form a current compiling file under the condition that the compiling server is detected to obtain the source code file and the source code configuration information from the source code management server, adding the compiling information to the source code configuration information to form the current compiling configuration information after the compiling is successful, and submitting the current compiling configuration information to the over-the-air OTA management server;
the generation upgrading package module is used for generating a software upgrading package according to a current compiling file and a corresponding historical compiling file which are acquired from the compiling server under the condition that the OTA management server determines to generate the software upgrading package according to the current compiling configuration information;
wherein the upgrade package generation module comprises:
the display sub-module is used for acquiring at least one piece of historical compiling configuration information from the configuration information set according to the current compiling configuration information and displaying the current compiling configuration information and each piece of historical compiling configuration information;
a differential upgrade package generation sub-module, configured to obtain a current compilation file and a corresponding historical compilation file from a compilation server according to historical compilation configuration information selected by a user based on the displayed information, and generate a differential upgrade package according to the obtained compilation file;
the test request submodule is used for informing a test server to test the differential upgrade package under the condition that the information of the differential upgrade package is successfully generated is detected;
and the generation total upgrade package submodule is used for triggering the display submodule to display prompt information for generating the total upgrade package when detecting that the OTA management server receives information of test failure of the differential upgrade package from the test server, requesting a current compiled file and a historical compiled file for generating the total upgrade package from the compiling server when receiving the condition that a user selects to generate the total upgrade package based on the prompt information, and generating the total upgrade package according to the current compiled file and the historical compiled file.
6. The apparatus for software version upgrade as claimed in claim 5, wherein said source code submission module specifically comprises:
a notification submodule: for sending, by a source code management server, a compilation notification to a compilation server, the compilation notification comprising: a Uniform Resource Locator (URL) of the source code file and the source code configuration information;
and the downloading submodule is used for downloading the source code file and the source code configuration information from the source code management server according to the URL in the compiling notification under the condition that the compiling server is detected to receive the compiling notification.
7. The apparatus for software version upgrade as claimed in claim 5, wherein said source code configuration information comprises: information indicating the component in the vehicle to which the source code file is directed, the software version number corresponding to the source code file, and information indicating that the source code file is a test version/formal version source code file.
8. The apparatus for upgrading a software version according to claim 7, wherein the compiling information includes: the compiling time, the compiling server information for executing the compiling operation and the compiling sequence number aiming at the source code file corresponding to the element component.
CN201611153208.2A 2016-12-14 2016-12-14 Method and device for upgrading software version Active CN106802814B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611153208.2A CN106802814B (en) 2016-12-14 2016-12-14 Method and device for upgrading software version

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611153208.2A CN106802814B (en) 2016-12-14 2016-12-14 Method and device for upgrading software version

Publications (2)

Publication Number Publication Date
CN106802814A CN106802814A (en) 2017-06-06
CN106802814B true CN106802814B (en) 2020-07-07

Family

ID=58984949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611153208.2A Active CN106802814B (en) 2016-12-14 2016-12-14 Method and device for upgrading software version

Country Status (1)

Country Link
CN (1) CN106802814B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271182B (en) * 2017-07-18 2022-09-06 北京京东尚科信息技术有限公司 Method and device for upgrading search engine
CN109062790B (en) * 2018-07-19 2022-04-05 北京首汽智行科技有限公司 Upgrading test method for Bluetooth firmware of vehicle-mounted terminal
CN109032912B (en) * 2018-07-25 2022-04-05 北京首汽智行科技有限公司 Pressure testing method for vehicle-mounted terminal firmware upgrading
CN111325870B (en) * 2018-12-14 2022-01-21 杭州海康威视数字技术股份有限公司 System evaluation method and device, electronic equipment and readable storage medium
CN109766115B (en) * 2019-01-17 2022-06-03 广东小天才科技有限公司 Fool-proof method and system for intelligent equipment upgrading
CN110647330B (en) * 2019-09-10 2023-04-07 北京网聘咨询有限公司 Web-oriented just-in-time compiling method and tool
CN110837393A (en) * 2019-11-14 2020-02-25 北京知道创宇信息技术股份有限公司 Method and device for manufacturing firmware differential upgrade package and readable storage medium
CN111913733A (en) * 2020-06-09 2020-11-10 武汉中科医疗科技工业技术研究院有限公司 Method and device for making automatic upgrade package, computer equipment and storage medium
CN112068870A (en) * 2020-08-11 2020-12-11 广州点云科技有限公司 Method for upgrading program difference increment
CN114637523B (en) * 2022-02-14 2024-10-18 北京鸿合爱学教育科技有限公司 Firmware upgrade file processing method, device, server and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294514A (en) * 2013-06-26 2013-09-11 深圳Tcl新技术有限公司 System software release integrated method, compiling server and system

Also Published As

Publication number Publication date
CN106802814A (en) 2017-06-06

Similar Documents

Publication Publication Date Title
CN106802814B (en) Method and device for upgrading software version
CN108196878B (en) Method and device for generating application program installation package, electronic equipment and storage medium
CN108847950B (en) Electronic device, cloud system software automatic deployment method and storage medium
EP3493057B1 (en) Method and apparatus for awakening application by means of mobile browser
CN107220066B (en) Method and device for releasing application software in application store
CN104066077A (en) OTA downloading and upgrading method and device thereof
CN102541596A (en) Operating system upgrading method and device
CN108540509B (en) Processing method and device of terminal browser, server and intelligent terminal
US10824541B1 (en) System and method for test data fabrication
US11573780B2 (en) Automated generation of status chains for software updates
CN113704110B (en) Automatic testing method and device for user interface
JP5004857B2 (en) Application update information providing system and application update information providing method
CN108121650B (en) Method and device for testing page user interface
CN109271778B (en) Using installation source differentiating method, electronic equipment and computer storage medium
CN113835726A (en) Method for determining upgrade package and server
CN113569551B (en) APP page configuration method, device, system and storage medium
US10193737B2 (en) Method for performing communication between browser and mobile terminal, and browser apparatus
CN108647139B (en) System test method, device, storage medium and electronic device
CN112558982B (en) Code detection method and device and computer equipment
CN104021012B (en) The method for down loading of application program, perform abnormal analysis method and device
CN116931995A (en) System upgrading method and device, electronic equipment and storage medium
CN109446105A (en) Web application test method, device, readable medium and electronic equipment
CN110221880B (en) Application programming interface calling method, device, equipment and medium
CN112328288A (en) Method, system, equipment and storage medium for updating server component
CN106844188A (en) A kind of test agent method, device and test system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant