Remote upgrading method, remote upgrading party system, engineering machinery and storage medium
By combining remote communication technology and security upgrade conditions in construction machinery, the problems of low maintenance efficiency and high cost of construction machinery in remote areas are solved, and the remote upgrade function with excellent performance is realized, which improves maintenance efficiency and system reliability.
Patent Information
- Application Number
- CN202411867486.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-18
- Publication Date
- 2025-04-04
AI Technical Summary
When used in remote areas, construction machinery has low maintenance efficiency, high manual maintenance costs, and lacks remote upgrade functions with excellent performance.
Receive the program upgrade package through remote communication technology, and in response to meeting the security upgrade conditions, the original program data is backed up, and the program upgrade is performed based on the program data in the program upgrade package. The backup data is used to support program rollback when the upgrade fails.
The remote upgrade function is realized, which improves maintenance efficiency, reduces maintenance costs, and improves the reliability of the system.
Smart Images

Figure CN119759390A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of engineering machinery, and in particular to a remote upgrade method, a remote upgrade system, engineering machinery and a computer-readable storage medium. Background Art
[0002] With the rapid development of science and technology, the technological content of construction machinery in intelligent control is getting higher and higher, and the market demand is also increasing. The increasing market demand has led to faster and faster updates and iterations of programs on construction machinery. Therefore, when maintaining equipment, there is an increasing need for program upgrades.
[0003] Since construction machinery is often used in remote areas, it has problems such as low maintenance efficiency and high manual maintenance costs. Therefore, how to introduce a remote upgrade function with excellent performance to improve maintenance efficiency and reduce maintenance costs is a technical problem that needs to be urgently solved in this field. Summary of the invention
[0004] The purpose of this application is to provide a remote upgrade method, a remote upgrade system, an engineering machine and a computer-readable storage medium, which can realize a remote upgrade function with excellent performance to improve maintenance efficiency and reduce maintenance costs.
[0005] To achieve the above objectives: In a first aspect, an embodiment of the present application provides a remote upgrade method, comprising: receiving a program upgrade package through remote communication technology; in response to meeting a security upgrade condition, backing up the original program data to obtain backup program data, and performing a program upgrade based on the program data in the program upgrade package, wherein the backup program data is used to support program rollback when an upgrade failure occurs during the program upgrade process; and controlling a display interface to display visual information during the program upgrade process.
[0006] In one embodiment, the security upgrade condition includes at least one of the following: The device state is detected to be the preset state; The current position is detected as a preset position; It is detected that the upgrade request time is within the preset time range; The current operating user is authenticated and the authentication is passed; Detection of an operation instruction triggered by the current operating user indicates consent to the upgrade.
[0007] In one embodiment, the step of receiving the program upgrade package through remote communication technology includes: receiving download address information of the program upgrade package sent remotely by the server; downloading the program upgrade package according to the download address information, and / or reporting the download progress.
[0008] In one embodiment, the program upgrade package includes encrypted program data.
[0009] In one embodiment, after downloading the program upgrade package according to the download address information, the method includes: performing integrity verification and / or decryption operations on the downloaded program upgrade package to obtain the program data in the program upgrade package, and executing a step of backing up the original program data to obtain backup program data in response to meeting the security upgrade conditions, and performing a program upgrade according to the program data in the program upgrade package.
[0010] In one embodiment, the encryption processing includes: compressing the program data to obtain compressed program data and its corresponding hash summary; encrypting the compressed program data using a symmetric encryption algorithm to obtain a random key and its corresponding ciphertext; using a private key to digitally sign the random key and hash summary corresponding to the program data to generate digital signature data; using a public key to encapsulate the session key to obtain a key encapsulation; and obtaining a program upgrade package based on the ciphertext corresponding to the program data, the digital signature data, and the key encapsulation.
[0011] In one embodiment, integrity verification and / or decryption operations are performed on the downloaded program upgrade package to obtain program data in the program upgrade package, including: using a public key to decrypt the key encapsulation of the program upgrade package to obtain a random key; using digital signature data to digitally verify the program upgrade package; after the digital verification passes, using the random key to decrypt the program upgrade package to obtain the program data.
[0012] In one embodiment, the step of receiving the program upgrade package through the remote communication technology includes: receiving the program upgrade package through a remote communication device using the remote communication technology.
[0013] In one embodiment, original program data is backed up to obtain backup program data, and a program upgrade is performed according to the program data in a program upgrade package, including: requesting a seed from a controller via a remote communication device, so that the controller feeds back a corresponding random code to the remote communication device; calculating an MD5 checksum value based on the random code and sending it to the controller via the remote communication device, so that the controller performs bilateral verification; in response to passing the bilateral verification, backing up the original program data via the controller to obtain backup program data, receiving the program upgrade package transmitted by the remote communication device, and activating the program data in the program upgrade package.
[0014] In one embodiment, the program data in the program upgrade package includes a plurality of data blocks, and the data blocks include CRC check values.
[0015] In one embodiment, the original program data is backed up by a controller to obtain backup program data, and a program upgrade package transmitted by a remote communication device is received, and the program data in the program upgrade package is activated, including: backing up the original program data of the activation partition of the controller to the backup partition to obtain backup program data, and the backup program data is used to restore from the backup partition to the activation partition when the CRC check of the program data input into the activation partition fails; transmitting the data blocks in the program upgrade package to the activation partition of the controller through the remote communication device, so that the controller activates the program data in the activation partition when confirming that the program data in the program upgrade package has been received and the CRC check has passed.
[0016] In a second aspect, an embodiment of the present application provides a remote upgrade system, comprising a server and engineering machinery, and the engineering machinery comprises a remote communication device, a controller and a display device; the remote communication device is used to receive a program upgrade package sent by the server through remote communication technology; the controller is used to back up the original program data to obtain backup program data in response to meeting the security upgrade conditions, and perform a program upgrade according to the program data in the program upgrade package transmitted by the remote communication device, the backup program data being used to support program rollback when an upgrade failure occurs during the program upgrade process; the display device is used to display visual information during the program upgrade process.
[0017] In a third aspect, an embodiment of the present application provides a construction machinery, comprising: a processor and a memory storing a computer program, and when the processor runs the computer program, the steps of the remote upgrade method described in any one of the above items are implemented.
[0018] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of the remote upgrade method described in any one of the above items are implemented.
[0019] The remote upgrade method, remote upgrade system, engineering machinery and computer-readable storage medium provided by the embodiment of the present application include: receiving a program upgrade package through remote communication technology; in response to meeting the safety upgrade conditions, backing up the original program data to obtain backup program data, and performing program upgrade according to the program data in the program upgrade package, the backup program data is used to support program rollback when an upgrade failure occurs during the program upgrade process; controlling the display interface to display visual information during the program upgrade process. In this way, the technical solution of the present application can realize remote reception of program upgrade packages, and when meeting the safety upgrade conditions, the original program data can be backed up first, and then the program is upgraded according to the received program upgrade package to realize the remote upgrade function, and the upgrade process can be intuitively displayed through the display interface during the program upgrade process, and the backup program number can be used to support program rollback when an upgrade failure occurs during the program upgrade process, so as to avoid equipment operation failures and difficulties in timely resumption of work or production in the event of an upgrade failure. In summary, the technical solution of the present application can realize a remote upgrade function with excellent performance to improve maintenance efficiency, reduce maintenance costs, and has high reliability. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application. In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments are briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative labor.
[0021] Figure 1 It is a flowchart of the remote upgrade method provided in an embodiment of the present application.
[0022] Figure 2 It is a first framework diagram of the remote upgrade system provided in an embodiment of the present application.
[0023] Figure 3 1 is a second schematic diagram of a remote upgrade system according to an example embodiment of the present application.
[0024] Figure 4 It is a functional framework diagram of the OTA cloud platform of the embodiment of the present application.
[0025] Figure 5 It is a flowchart of a GPS terminal downloading a program upgrade package according to an example of an embodiment of the present application.
[0026] Figure 6 It is a schematic diagram of the human-computer interaction process of the display screen of the embodiment example of the present application.
[0027] Figure 7 It is a schematic diagram of the transmission process of the program upgrade package of the embodiment example of the present application.
[0028] Figure 8 It is a flowchart of a dual-zone backup upgrade strategy according to an example of an embodiment of the present application.
[0029] Fig. 9 It is a schematic diagram of the structure of the engineering machinery provided in the embodiment of the present application.
[0030] The realization of the purpose, functional features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. The above-mentioned drawings have shown clear embodiments of this application, which will be described in more detail later. These drawings and textual descriptions are not intended to limit the scope of the concept of this application in any way, but to illustrate the concept of this application to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION
[0031] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0032] It should be noted that, in this article, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element. In addition, components, features, and elements with the same name in different embodiments of the present application may have the same meaning or different meanings, and their specific meanings need to be determined by their explanation in the specific embodiment or further combined with the context of the specific embodiment.
[0033] It should be understood that, although the terms first, second, third, etc. may be used to describe various information in this article, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of this article, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein can be interpreted as "at the time of..." or "when..." or "in response to determination". Furthermore, as used in this article, the singular forms "one", "one" and "the" are intended to also include plural forms, unless there is an opposite indication in the context. It should be further understood that the terms "comprising", "including" indicate that there are described features, steps, operations, elements, components, projects, kinds, and / or groups, but do not exclude the existence, occurrence or addition of one or more other features, steps, operations, elements, components, projects, kinds, and / or groups. The terms "or" and "and / or" used herein are interpreted as inclusive, or mean any one or any combination. Thus, “A, B, or C” or “A, B and / or C” means “any of the following: A; B; C; A and B; A and C; B and C; A, B, and C.” An exception to this definition will occur only when a combination of elements, functions, steps, or operations are inherently mutually exclusive in some manner.
[0034] It should be understood that, although the various steps in the flowchart in the embodiment of the present application are displayed in sequence according to the indication of the arrows, these steps are not necessarily performed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and it can be performed in other orders. Moreover, at least a portion of the steps in the figure may include a plurality of sub-steps or a plurality of stages, and these sub-steps or stages are not necessarily performed at the same time, but can be performed at different times, and their execution order is not necessarily performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
[0035] It should be noted that, in this article, step codes such as S11, S12, etc. are used for the purpose of expressing the corresponding content more clearly and concisely, and do not constitute a substantial limitation on the sequence. When implementing it specifically, those skilled in the art may execute S12 first and then S11, etc., but these should all be within the scope of protection of this application.
[0036] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0037] In the subsequent description, the suffixes such as "module", "component" or "unit" used to represent elements are only used to facilitate the description of the present application, and have no specific meanings. Therefore, "module", "component" or "unit" can be used in a mixed manner.
[0038] See also Figure 1 , which is a remote upgrade method provided in an embodiment of the present application. The method can be executed by a computing device provided in an embodiment of the present application, and the computing device can be implemented in software and / or hardware.
[0039] This embodiment provides a remote upgrade method, including the following steps (for example, steps S11 to S13): Step S11: receiving a program upgrade package via remote communication technology.
[0040] In one embodiment, the remote communication technology is, for example, network communication technology, satellite communication technology, etc. Alternatively, the network communication technology is, for example, Internet communication, local area network (LAN) communication, wide area network (WAN) communication, etc.
[0041] In one embodiment, step S1: receiving a program upgrade through a remote communication technology may include: receiving download address information of a program upgrade package sent remotely by a server; downloading the program upgrade package according to the download address information, and / or reporting the download progress. In this way, this embodiment can realize asynchronous download of the program upgrade report, and / or facilitate the personnel corresponding to the server or the personnel corresponding to the computing device to intuitively know the download progress.
[0042] In one implementation, the download address information may be connected to a resource library to download the corresponding program upgrade package from the resource library.
[0043] In one implementation, download progress reporting includes but is not limited to at least one of the following situations: Report the download progress of the program upgrade package to the server; The download progress of the program upgrade package is reported to the display interface so that the display interface displays the download progress of the program upgrade package.
[0044] In one embodiment, the program upgrade package can be used to upgrade the firmware in the computing device or the firmware of the engineering machinery equipped with the computing device. Optionally, the firmware (or internal program) can be a software program embedded in the hardware of the computing device or the software program in the hardware of the engineering machinery equipped with the computing device, which controls the basic functions and operations of the hardware. The firmware is the core software part of the computing device or the engineering machinery equipped with the computing device, and needs to be updated regularly to fix vulnerabilities, add new functions or improve performance.
[0045] In one implementation, the program data in the program upgrade package may be data used to update or iterate the firmware.
[0046] In one implementation, the program upgrade package may include encrypted program data.
[0047] In one embodiment, the encryption process can be any technical means that can protect the program data from unauthorized access or leakage during transmission. In addition, the encryption process can ensure the confidentiality, integrity and non-repudiation of the program data.
[0048] In one embodiment, after downloading the program upgrade package according to the download address information, the method includes: performing integrity verification and / or decryption operations on the downloaded program upgrade package to obtain the program data in the program upgrade package, and executing a step of backing up the original program data to obtain backup program data in response to meeting the security upgrade conditions, and performing a program upgrade according to the program data in the program upgrade package.
[0049] In one implementation, integrity verification is performed using, for example, a digital signature technology.
[0050] In one embodiment, the encryption processing may include: compressing the program data to obtain compressed program data and its corresponding hash summary; encrypting the compressed program data using a symmetric encryption algorithm to obtain a random key and its corresponding ciphertext; digitally signing the random key and hash summary corresponding to the program data using a private key to generate digital signature data; encapsulating the session key using a public key to obtain a key encapsulation; and obtaining a program upgrade package based on the ciphertext corresponding to the program data, the digital signature data, and the key encapsulation.
[0051] In one embodiment, integrity verification and / or decryption operations are performed on the downloaded program upgrade package to obtain program data in the program upgrade package, including: using a public key to decrypt the key encapsulation of the program upgrade package to obtain a random key; using digital signature data to digitally verify the program upgrade package; after the digital verification passes, using the random key to decrypt the program upgrade package to obtain the program data.
[0052] In this way, the technical solution of this embodiment can decrypt the received program upgrade package and verify the data integrity, thereby ensuring the security and integrity of the program data during transmission and storage, and preventing man-in-the-middle attacks, data tampering and unauthorized access.
[0053] Step S12: In response to meeting the security upgrade conditions, backing up the original program data to obtain backup program data, and performing a program upgrade based on the program data in the program upgrade package. The backup program data is used to support program rollback when an upgrade failure occurs during the program upgrade.
[0054] In one embodiment, meeting the security upgrade condition may represent a situation in which security verification is performed and one or more scenarios that ensure that the device can be securely upgraded.
[0055] In one embodiment, the security upgrade condition includes, but is not limited to, at least one of the following: The device state is detected to be the preset state; The current position is detected as a preset position; It is detected that the upgrade request time is within the preset time range; The current operating user is authenticated and the authentication is passed; Detection of an operation instruction triggered by the current operating user indicates consent to the upgrade.
[0056] In one embodiment, when it is detected that the device state is a preset state, it can be directly determined that the security upgrade conditions are met. In this way, the technical solution of this embodiment can ensure that only in a specific device state (such as standby state, idle state, etc.) can the corresponding program upgrade process be triggered based on the program upgrade package, so as to reduce the impact of the execution of work tasks on the computing device or the engineering machinery equipped with the computing device or to ensure the safety of the device or equipment. In addition, after or at the same time when the device state is detected to be a preset state, the technical solution of this embodiment can also combine other security determination factors (such as current location, upgrade request time, identity authentication status, specific operation instructions, etc.) to determine whether the security upgrade conditions are met. In this way, it can ensure that the computing device or the engineering machinery equipped with the computing device can trigger the corresponding program upgrade process based on the program upgrade package in a specific scenario of a specific device state, so as to further improve the equipment safety and personnel safety of the computing device or the engineering machinery equipped with the computing device when the corresponding program upgrade process is triggered.
[0057] In one embodiment, when the current position is detected as a preset position, it can be directly determined that the security upgrade conditions are met. In this way, the technical solution of this embodiment can ensure that only the computing device or the engineering machinery equipped with the computing device can trigger the corresponding program upgrade process based on the program upgrade package at a specific location (for example, a mining vehicle arrives at an open area or a parking lot), so as to reduce the impact on the computing device or the engineering machinery equipped with the computing device to perform work tasks or to ensure the safety of equipment and personnel. In addition, after or at the same time when the current position is detected as a preset position, the technical solution of this embodiment can also combine other security determination factors (such as device status, upgrade request time, identity authentication status, specific operation instructions, etc.) to determine whether the security upgrade conditions are met. In this way, it can ensure that the computing device or the engineering machinery equipped with the computing device can trigger the corresponding program upgrade process based on the program upgrade package in a specific scenario at a specific location, so as to further improve the equipment safety and personnel safety during the program upgrade.
[0058] In one embodiment, when the detected upgrade request time is within a preset time range, it can be directly determined that the security upgrade conditions are met. In this way, the technical solution of this embodiment can ensure that the corresponding program upgrade process can be triggered based on the program upgrade package only within a specific time range, so as to reduce the impact on the execution of work tasks by the computing device or the engineering machinery equipped with the computing device. In addition, after or at the same time as detecting that the upgrade request time is within the preset time range, the technical solution of this embodiment can also combine other security determination factors (such as device status, current location, identity authentication status, specific operation instructions, etc.) to determine whether the security upgrade conditions are met. In this way, it can ensure that the corresponding program upgrade process is triggered based on the program upgrade package only under specific scenarios within a specific time range, so as to further improve the equipment safety and personnel safety during program upgrades.
[0059] In one embodiment, the current operating user is authenticated, and the acquired user authentication information of the current operating user is authenticated. Optionally, the user authentication information includes, but is not limited to, information (such as role information) that can identify the identity of the current operating user, such as a password, a PIN code, and / or biometric information, to prove that the current operating user has the right to use the computing device or the engineering machinery configured with the computing device to perform program upgrades.
[0060] In one embodiment, the current operating user is authenticated, and if the authentication is passed, it can be directly determined that the security upgrade conditions are met. In this way, the technical solution of this embodiment can ensure that only specific personnel have the right to trigger the corresponding program upgrade process based on the program upgrade package to improve the security of the program upgrade. In addition, after or at the same time as the identity authentication of the current operating user is passed, the technical solution of this embodiment can also combine other security determination factors (such as current location, upgrade request time, device status, specific operation instructions, etc.) to determine whether the security upgrade conditions are met. In this way, it can ensure that specific personnel have the right to trigger the corresponding program upgrade process based on the program upgrade package only in specific scenarios. In this way, the authority of specific personnel can be further restricted to further improve the device security and personnel security during program upgrades.
[0061] For example, after the current operating user's identity authentication is passed, if the detected upgrade request time is within the working hours corresponding to the current operating user, it is determined that the security upgrade conditions are met to ensure that the specific user has the right to trigger the corresponding program upgrade process based on the program upgrade package during his working hours.
[0062] For another example, after the current operating user's identity authentication is passed, if the detected upgrade request time is within the idle time period corresponding to the computing device or the engineering machinery equipped with the computing device, it is determined that the security upgrade conditions are met to ensure that the specific user has the right to trigger the corresponding program upgrade process based on the program upgrade package when the equipment is not performing work tasks (such as production work tasks).
[0063] For another example, after the current operating user's identity authentication is passed, if it is detected that the device is in a non-working state after power-on, it is determined that the security upgrade conditions are met to ensure that the specific user will not cause an interruption in the execution of work tasks when triggering a program upgrade later, thereby ensuring the safety of the equipment and personnel.
[0064] For another example, for a movable engineering machinery (such as a mining grid vehicle) equipped with the computing device, after the identity authentication of the current operating user is passed, when it is detected that the current position of the movable engineering machinery is a preset safe parking location, it is determined that the security upgrade conditions are met to ensure that specific users are able to trigger the corresponding program upgrade process based on the program upgrade package in a safe place, thereby ensuring the safety of equipment and personnel.
[0065] For another example, after the identity authentication of the current operating user is passed, when it is detected that the operation instruction triggered by the current operating user corresponds to the user's work skills or the user's functional role, it is determined that the security upgrade conditions are met to ensure that a specific user has specific capabilities or operating permissions and has the right to trigger the corresponding program upgrade process based on the program upgrade package, thereby ensuring the professional match between personnel and program upgrade tasks.
[0066] For example, after the identity authentication of the current operating user is passed, when it is detected that the operation instruction triggered by the current operating user indicates consent to the upgrade, it is determined that the security upgrade conditions are met to ensure that a specific user has the right to trigger the corresponding program upgrade process based on the program upgrade package only when the specific user has triggered a specific instruction, thereby effectively identifying the upgrade needs of the current operating user.
[0067] In one implementation, the operation instruction triggered by the current operating user may be triggered after operating the upgrade reminder displayed in the display interface.
[0068] In one embodiment, the computing device or the engineering machine equipped with the computing device may include a controller, and the program data in the program upgrade package may be used to upgrade the firmware in the controller.
[0069] In one embodiment, step S11: receiving a program upgrade through a remote communication technology may include: receiving a program upgrade package through a remote communication device using a remote communication technology.
[0070] In one embodiment, the remote communication device is, for example, a GPS terminal or a GPS device.
[0071] In one embodiment, backing up the original program data to obtain backup program data, and performing program upgrade according to the program data in the program upgrade package, may include: requesting a seed from the controller through a remote communication device, so that the controller feeds back a corresponding random code to the remote communication device; calculating and sending an MD5 check value to the controller according to the random code through the remote communication device, so that the controller performs bilateral verification; in response to the bilateral verification passing, backing up the original program data through the controller to obtain backup program data, and receiving the program upgrade package transmitted by the remote communication device, and activating the program data in the program upgrade package. In this way, the technical solution of this embodiment enables the controller and the remote communication device to perform bilateral verification through the MD5 check value to ensure that the remote communication device is a trusted end, thereby ensuring the security of the data source of the controller.
[0072] In one embodiment, MD5 (Message Digest Algorithm 5) is a widely used hash function. The MD5 check value may be a 128-bit (16-byte) hash value. The MD5 check value is a fixed-length value obtained by performing an MD5 hash operation on data (such as a file, a message, etc.). This value may be used for identity authentication.
[0073] In one embodiment, bilateral verification can represent a verification process performed between two communicating entities to ensure the security of the identities and data of both parties. For example, in the scenario of a GPS device and a controller, bilateral verification usually involves at least one of the following situations: (1) Identity verification: ensuring that both parties in the communication are the expected participants. This is usually achieved by exchanging keys, certificates, or other identity verification information; (2) Data verification: ensuring that the transmitted data has not been tampered with; this can be achieved by using MD5 or other hash functions, such as the comparison of MD5 checksums described above; (3) Encrypted communication: After verifying the identity and data, the two parties may use encryption algorithms (such as AES) to protect the data in the communication process to prevent the data from being intercepted and interpreted during transmission.
[0074] In one implementation, the program data in the program upgrade package may include multiple data blocks, and the data blocks may include CRC check values.
[0075] In one implementation, the program data in the program upgrade package may be divided into multiple data blocks.
[0076] In one implementation, the CRC check value included in the data block may indicate that during the data block transmission process, a cyclic redundancy check (CRC) check value is appended to the end of the data to ensure the integrity and accuracy of the data block.
[0077] In one embodiment, the original program data is backed up by a controller to obtain backup program data, and a program upgrade package transmitted by a remote communication device is received, and the program data in the program upgrade package is activated, including: backing up the original program data of the activation partition of the controller to the backup partition to obtain backup program data, and the backup program data is used to restore from the backup partition to the activation partition when the CRC check of the program data input into the activation partition fails; transmitting the data blocks in the program upgrade package to the activation partition of the controller through the remote communication device, so that the controller activates the program data in the activation partition when confirming that the program data in the program upgrade package has been received and the CRC check has passed.
[0078] In one embodiment, the CRC check can perform error detection based on the CRC check values of all data blocks in the program data, so as to determine whether an error occurs during the transmission or storage of the data and determine that the CRC check fails.
[0079] Step S13: Control the display interface to display visual information during the program upgrade process.
[0080] In one implementation, the visualization information may include information related to program upgrades, such as upgrade progress and program version.
[0081] A remote upgrade method provided in this embodiment includes: step S11: receiving a program upgrade package through remote communication technology; step S12: in response to meeting the safety upgrade conditions, backing up the original program data to obtain backup program data, and performing program upgrade according to the program data in the program upgrade package, the backup program data is used to support program rollback when an upgrade failure occurs during the program upgrade process; step S13: controlling the display interface to display visual information during the program upgrade process. In this way, the technical solution of this embodiment can realize remote reception of program upgrade packages, and when meeting the safety upgrade conditions, the original program data can be backed up first, and then the program is upgraded according to the received program upgrade package to realize the remote upgrade function, and the upgrade process can be intuitively displayed through the display interface during the program upgrade process, and the backup program number is used to support program rollback when an upgrade failure occurs during the program upgrade process, so as to avoid equipment operation failures and difficulties in timely recovery of work or production in the event of an upgrade failure. In summary, the technical solution of this embodiment can realize a remote upgrade function with excellent performance to improve maintenance efficiency, reduce maintenance costs, and has high reliability.
[0082] See also Figure 2 , an embodiment of the present application also provides a remote upgrade system, including a server and an engineering machine, and the engineering machine includes a remote communication device, a controller and a display device.
[0083] The remote communication device is used to receive a program upgrade package sent or generated by a server through remote communication technology.
[0084] In one embodiment, the remote communication device may also be used to receive download address information of the program upgrade package sent remotely by the server, download the program upgrade package according to the download address information, and / or report the download progress.
[0085] In one implementation, the program upgrade package may include encrypted program data.
[0086] In one embodiment, the remote communication device may also be used to perform integrity verification and / or decryption operations on the downloaded program upgrade package to obtain program data in the program upgrade package.
[0087] In one embodiment, the encryption processing includes: compressing the program data to obtain compressed program data and its corresponding hash summary; encrypting the compressed program data using a symmetric encryption algorithm to obtain a random key and its corresponding ciphertext; using a private key to digitally sign the random key and hash summary corresponding to the program data to generate digital signature data; using a public key to encapsulate the session key to obtain a key encapsulation; and obtaining a program upgrade package based on the ciphertext corresponding to the program data, the digital signature data, and the key encapsulation.
[0088] In one embodiment, the remote communication device can also be used to use the public key to decrypt the key package of the program upgrade package to obtain a random key, and use the digital signature data to digitally verify the program upgrade package, and after the digital verification passes, use the random key to decrypt the program upgrade package to obtain the program data.
[0089] Among them, the controller is used to back up the original program data to obtain backup program data in response to meeting the security upgrade conditions, and to perform program upgrades according to the program data in the program upgrade package transmitted by the remote communication device. The backup program data is used to support program rollback when an upgrade failure occurs during the program upgrade process.
[0090] In one embodiment, the security upgrade condition includes, but is not limited to, at least one of the following: The device state is detected to be the preset state; The current position is detected as a preset position; It is detected that the upgrade request time is within the preset time range; The current operating user is authenticated and the authentication is passed; Detection of an operation instruction triggered by the current operating user indicates consent to the upgrade.
[0091] In one embodiment, the remote communication device can be used to request a seed from the controller so that the controller feeds back a corresponding random code to the remote communication device, and the remote communication device can calculate and send an MD5 check value based on the random code to the controller so that the controller performs bilateral verification.
[0092] In one embodiment, when the bilateral verification passes, the controller can be used to back up the original program data to obtain backup program data, receive a program upgrade package transmitted by a remote communication device, and activate the program data in the program upgrade package.
[0093] In one embodiment, the program data in the program upgrade package includes a plurality of data blocks, and the data blocks include CRC check values.
[0094] In one embodiment, the controller is configured with an active partition and a backup partition.
[0095] In one embodiment, the controller is used to back up the original program data of the active partition to the backup partition to obtain backup program data, and the backup program data is used to restore from the backup partition to the active partition when the CRC check of the program data input into the active partition fails.
[0096] In one embodiment, the controller may be used to activate the program data of the activation partition after the remote communication device transmits the data block in the program upgrade package to the activation partition and confirms that the program data in the program upgrade package has been received and the CRC check has passed.
[0097] The display device is used to display visual information during the program upgrade process.
[0098] In this way, the remote upgrade system provided by this embodiment can realize the remote reception of program upgrade packages through the remote communication device in the engineering machinery, and when the safety upgrade conditions are met, the controller in the engineering machinery can first back up the original program data, and then perform program upgrades according to the received program upgrade package to realize the remote upgrade function, and during the program upgrade process, the display device in the engineering machinery can intuitively display the upgrade process through the display interface, and the controller in the engineering machinery can use the backup program data to support program rollback when an upgrade failure occurs during the program upgrade process, so as to avoid equipment operation failures and difficulties in timely resumption of work or production in the event of an upgrade failure. In summary, the technical solution of this embodiment can realize a remote upgrade function with excellent performance for engineering machinery to improve maintenance efficiency, reduce maintenance costs, and have high reliability.
[0099] Based on the same inventive concept as the above embodiments, the above embodiments are described in detail below by taking a specific example of a remote upgrade system. Figure 3 The remote upgrade system of this example includes an OTA cloud platform (i.e., a server), mining machinery and equipment (i.e., construction machinery), and the mining machinery and equipment includes a GPS terminal with networking function (i.e., a remote communication device), a display screen (i.e., a display device), and a vehicle controller (i.e., a controller).
[0100] Among them, the OTA cloud platform serves as a background server to formulate upgrade strategies, create program upgrade packages and publish upgrade tasks.
[0101] Alternatively, see Figure 4 ,OTA cloud platform can include terminal management, firmware management, upgrade management, authority management and other functions, which can realize the management of program upgrade packages and the formulation of ,upgrade strategies.
[0102] Optionally, terminal management includes functions such as terminal registration of GPS terminals, status query of GPS terminal devices (or terminal query), log query of GPS terminals, remote login of GPS terminals, and remote debugging of GPS terminals.
[0103] Optionally, firmware management includes functions such as firmware upload and download (or upload and download of program upgrade packages), firmware version management, and firmware adaptation.
[0104] Optionally, upgrade management includes upgrade task details (or upgrade strategy), upgrade type, scheduled upgrade, upgrade log query and other functions.
[0105] Optionally, permission management includes functions such as adding and deleting user roles and allocating user permissions.
[0106] Among them, the GPS terminal has Internet communication function (such as 4G, 5G communication function) through the SIM card, receives instructions and program upgrade packages sent by the OTA cloud platform, and transmits the program upgrade packages to the vehicle controller and other electronic control units.
[0107] Optionally, the GPS terminal can be the only communication interface between the entire mining machinery and the OTA cloud platform.
[0108] Optionally, the command communication between the GPS terminal and the OTA cloud platform follows the MQTT protocol, and the GPS terminal downloads the program upgrade package following the HTTPS protocol. Optionally, the URL address sent by the OTA cloud platform to the GPS terminal is the http address for file download (i.e., download address information), and the GPS terminal downloads the corresponding program upgrade package through the http address and reports the download progress. After downloading the program upgrade package, integrity verification will be performed.
[0109] Alternatively, see Figure 5 The process of downloading the program upgrade package of the GPS terminal may include: 1. The GPS terminal reports the current program version of the controller of the mining machinery and equipment to the OTA cloud platform; 2. The OTA cloud platform initiates the upgrade and sends the download URL address of the program upgrade package to the GPS terminal; 3. The GPS terminal downloads the program upgrade package from the OTA cloud platform according to the URL address; 4. The GPS terminal reports the download progress of the program upgrade package; 5. The GPS terminal verifies the integrity of the program upgrade package; 6. After the GPS terminal sends the program upgrade package to the controller and the upgrade is successful, it reports the program version after the successful upgrade to the controller.
[0110] Among them, the display screen can be used as a human-computer interaction interface during the program upgrade process, displaying visual information such as upgrade requests, upgrade progress, and program version.
[0111] Optionally, the display screen displays the human-machine interaction interface during the remote upgrade process. After receiving the upgrade task issued by the OTA cloud platform, the controller will first check the machine status, such as whether the ACC is powered on and the engine speed is 0. If the current machine status is not suitable for upgrading, the display screen will prompt that the upgrade conditions are not met, and the machine will be moved to a safe location and powered on again; if the upgrade conditions are met, it will automatically jump to the upgrade prompt interface and ask the user to choose whether to upgrade. When the user chooses to cancel the upgrade, the user will be prompted to upgrade again at the next power-on; when the user agrees to the upgrade, the GPS terminal will start transmitting the program upgrade package to the vehicle controller, and send the transmission progress and transmission results to the display screen for display.
[0112] Alternatively, see Figure 6 , the human-computer interaction process of the display screen can include: 1. The GPS terminal sends an upgrade request to the display screen; 2. The display screen determines whether the upgrade conditions are met (such as the aforementioned security upgrade conditions); 3. If the conditions are met, the display screen prompts "The vehicle controller has a new upgrade program, do you want to upgrade?"; if not, the display screen prompts "The conditions are not met, please move the vehicle to a safe location and power on again"; 4. If it is upgraded, the display screen will send a response message; if it is not upgraded, the display screen will display the main interface; 5. The display screen determines whether to agree to the upgrade; 6. If yes, the GPS terminal transmits and verifies the program upgrade package, controls the display screen to display the percentage of the transmission progress, detects the upgrade result, and controls the display screen to display the upgrade result and program version; If not, the GPS terminal will send an upgrade request to the display screen again after it is powered on next time.
[0113] Among them, the vehicle controller is responsible for receiving the program upgrade package or the program data in the program upgrade package sent by the GPS terminal, and completing the upgrade of its own program according to the dual-zone backup upgrade strategy.
[0114] Optionally, after confirming the upgrade, the vehicle controller receives the GPS terminal and starts to transmit the data blocks in the program upgrade package. The data transmission follows the UDS protocol. The transmission process of the program upgrade package may include (see Figure 7 ): 1. Enter the programming session, and the GPS terminal establishes a connection based on the physical address of the vehicle controller; 2. The GPS terminal requests a seed (security access) from the vehicle controller so that the vehicle controller responds with a random seed. The GPS terminal calculates the corresponding MD5 checksum (verification key) based on the random seed and sends it to the vehicle controller. After the vehicle controller compares the bilateral checksum values and finds that they are consistent, it starts to receive data transmitted by the GPS terminal.
[0115] Optionally, if the MD5 checksums of the bilateral comparison are inconsistent, the programming session is terminated and the data transmission fails.
[0116] 3. The GPS terminal sends a request to erase the storage area, and the vehicle controller copies the program of the active partition to the backup partition and erases the program of the active partition; 4. The GPS terminal transmits data blocks to the activation partition of the vehicle controller. After each data block is transmitted, the CRC check value of the data block is verified. If they are inconsistent, the upgrade fails, the upgrade is terminated, and the program is restored from the backup partition to the activation partition. 5. After all data transmission is completed, the vehicle controller performs a CRC check on the entire file. If the check is successful, the program for activating the partition is started and the upgrade is reported successfully. If the check is inconsistent, the upgrade is terminated and the program is restored from the backup partition to the activation partition.
[0117] 6. Restart the vehicle controller.
[0118] Optionally, the vehicle controller upgrade adopts a dual-zone backup upgrade strategy, which divides the Flash into two identical areas (active partition and backup partition). Each time the upgrade is performed, the program of the active partition is copied to the backup partition, and then the active partition is flashed and upgraded. If the upgrade fails, the program of the backup partition is rolled back to the active partition, thereby avoiding the program of the original partition being erased after the upgrade fails, causing the system to fail to operate normally. Figure 8 , the upgrade process may include: 1. After receiving the UDS flash command sent by the GPS device, perform the backup operation of the currently activated partition program, that is, copy the program (V1.0) running in the currently activated partition to the backup partition; 2. After the UDS flash upgrade is successfully executed on the active partition and the power is reset, the active partition runs the updated program version V1.1, and the backup partition stores version V1.0; 3. When the flash upgrade fails (communication with the GPS device is interrupted, power is off, etc.) or the flash data verification fails, the vehicle controller executes a program rollback and copies the V1.0 version of the backup partition to the active partition. After the backup program CRC verification is successful, the active partition program (V1.0) is started to complete the program rollback.
[0119] The main framework of the remote upgrade system in this example is data download from the OTA cloud platform to the GPS terminal, human-computer interaction between the GPS terminal and the display screen, data transmission from the GPS terminal to the vehicle controller, dual-zone backup and upgrade of the vehicle controller program, and human-computer interaction between the vehicle controller and the display screen. The remote upgrade system is redesigned, with the addition of OTA cloud platform management, which can formulate a variety of upgrade strategies, add human-computer interaction functions, intuitively display the upgrade process and results, and take dual-zone backup of the upgrade object to achieve restore upgrade, avoiding the risk of equipment operation failure due to upgrade failure.
[0120] Based on the same inventive concept as the above embodiments, the present application embodiment provides a construction machine, such as Figure 4 As shown, the engineering machine includes: a processor 310 and a memory 311 storing a computer program; wherein, Figure 4 The processor 310 shown in the figure is not used to indicate that the number of the processor 310 is one, but is only used to indicate the positional relationship of the processor 310 relative to other devices. In actual applications, the number of the processor 310 may be one or more; similarly, Figure 4 The memory 311 shown in the figure has the same meaning, that is, it is only used to refer to the position relationship of the memory 311 relative to other devices. In practical applications, the number of memories 311 can be one or more. When the processor 310 runs the computer program, the remote upgrade method applied to the above device is implemented.
[0121] The engineering machine may also include: at least one network interface 312. The various components in the engineering machine are coupled together via a bus system 313. It is understood that the bus system 313 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 313 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Figure 4 Various buses are labeled as bus system 313.
[0122] The memory 311 may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory may be a disk memory or a tape memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM, SyncLink Dynamic Random Access Memory), and direct RAMbus random access memory (DRRAM, Direct Rambus Random Access Memory).The memory 311 described in the embodiments of the present application is intended to include but is not limited to these and any other suitable types of memories.
[0123] The memory 311 in the embodiment of the present application is used to store various types of data to support the operation of the engineering machinery. Examples of these data include: any computer program used to operate on the engineering machinery, such as an operating system and an application program. Among them, the operating system includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks. The application program can include various application programs for implementing various application services. Here, the program for implementing the remote upgrade method of the embodiment of the present application can be included in the application program.
[0124] In this embodiment, the processor 310 and the memory 311 storing the computer program can construct a controller of the engineering machine.
[0125] The engineering machinery of this embodiment includes traditional engineering machinery vehicles and also includes new energy vehicles used in the field of engineering machinery, such as new energy mixer trucks, new energy pump trucks, new energy excavators, etc.; in addition, the engineering machinery vehicles of this embodiment also belong to intelligent networked vehicles. The engineering machinery vehicles include sensor / perception systems, communication systems, etc., and collect vehicle operation data and vehicle surrounding environment information through the sensor / perception system in the vehicle. The network connection with other vehicles and the cloud is realized through the communication system, and the collected vehicle operation data, vehicle surrounding environment information, etc. are shared to the cloud and other authorized vehicles to realize data sharing, remote analysis, intelligent driving and other operations.
[0126] Based on the same inventive concept as the above-mentioned embodiment, this embodiment further provides a computer-readable storage medium, in which a computer program is stored. The computer-readable storage medium may be a ferromagnetic random access memory (FRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); it may also be various devices including one or any combination of the above-mentioned memories, such as a mobile phone, a computer, a tablet device, a personal digital assistant, etc. When the computer program stored in the computer-readable storage medium is executed by the processor, the above-mentioned method is implemented. For the specific steps implemented when the computer program is executed by the processor, please refer to Figure 1 The steps of the remote upgrade method shown are not repeated here.
[0127] The technical features of the above-described embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above-described embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0128] In this document, the terms "comprises," "comprising," or any other variations thereof, are intended to cover a non-exclusive inclusion of elements other than those listed and may also include additional elements not expressly listed.
[0129] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A remote upgrade method, characterized in that: include: receiving program upgrade packages via telecommunication technology; In response to meeting the safety upgrade condition, backing up the original program data to obtain backup program data, and performing program upgrade according to the program data in the program upgrade package, wherein the backup program data is used to support program rollback when an upgrade failure occurs during the program upgrade; The control display interface displays visual information during the program upgrade process.
2. The method according to claim 1, characterized in that The security upgrade conditions include at least one of the following: The device state is detected to be the preset state; The current position is detected as a preset position; It is detected that the upgrade request time is within the preset time range; The current operating user is authenticated and the authentication is passed; Detection of an operation instruction triggered by the current operating user indicates consent to the upgrade.
3. The method according to claim 1, characterized in that The step of receiving the program upgrade package through remote communication technology includes: Receiving download address information of the program upgrade package sent remotely by a server; The program upgrade package is downloaded according to the download address information, and / or the download progress is reported.
4. The method according to claim 3, characterized in that The program upgrade package includes encrypted program data; After downloading the program upgrade package according to the download address information, the method includes: The program upgrade package that has been downloaded is subjected to integrity verification and / or decryption operations to obtain the program data in the program upgrade package, and the steps of backing up the original program data to obtain backup program data in response to meeting the security upgrade conditions, and performing a program upgrade based on the program data in the program upgrade package are executed.
5. The method according to claim 4, characterized in that The encryption process comprises: Compress the program data to obtain compressed program data and its corresponding hash digest; encrypt the compressed program data using a symmetric encryption algorithm to obtain a random key and its corresponding ciphertext; digitally sign the random key and hash digest corresponding to the program data using a private key to generate digital signature data; encapsulate the session key using a public key to obtain a key encapsulation; obtain a program upgrade package based on the ciphertext corresponding to the program data, the digital signature data and the key encapsulation; The performing integrity verification and / or decryption operations on the downloaded program upgrade package to obtain program data in the program upgrade package includes: Decrypt the key package of the program upgrade package using the public key to obtain a random key; Digitally verify the program upgrade package using digital signature data; After the digital verification is passed, the program upgrade package is decrypted using the random key to obtain the program data.
6. The method according to claim 1, characterized in that The step of receiving the program upgrade package through remote communication technology includes: Receiving the program upgrade package via a remote communication device using remote communication technology; The backing up of the original program data to obtain the backup program data, and performing program upgrade according to the program data in the program upgrade package, includes: Requesting a seed from a controller via the remote communication device, so that the controller feeds back a corresponding random code to the remote communication device; The remote communication device calculates and sends an MD5 checksum value according to the random code to the controller, so that the controller performs bilateral verification; In response to the bilateral verification being passed, the controller backs up the original program data to obtain backup program data, receives the program upgrade package transmitted by the remote communication device, and activates the program data in the program upgrade package.
7. The method according to claim 6, characterized in that The program data in the program upgrade package includes a plurality of data blocks, and the data blocks include CRC check values; Backing up the original program data through the controller to obtain backup program data, receiving the program upgrade package transmitted by the remote communication device, and activating the program data in the program upgrade package, including: Backing up the original program data of the active partition of the controller to a backup partition to obtain backup program data, wherein the backup program data is used to restore the program data from the backup partition to the active partition when a CRC check of the program data input into the active partition fails; The data blocks in the program upgrade package are transmitted to the activation partition of the controller through the remote communication device, so that the controller activates the program data in the activation partition when confirming that the program data in the program upgrade package has been received and the CRC check has passed.
8. A remote upgrade system, characterized in that: Comprising a server and an engineering machine, wherein the engineering machine comprises a remote communication device, a controller and a display device; The remote communication device is used to receive the program upgrade package sent by the server through the remote communication technology; The controller is used to back up the original program data to obtain backup program data in response to meeting the safety upgrade condition, and perform program upgrade according to the program data in the program upgrade package transmitted by the remote communication device, wherein the backup program data is used to support program rollback when an upgrade failure occurs during the program upgrade; The display device is used to display visual information during the program upgrade process.
9. An engineering machine, characterized in that: include: A processor and a memory storing a computer program, wherein when the processor runs the computer program, the steps of the remote upgrade method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium, characterized in that: A computer program is stored, and when the computer program is executed by a processor, the steps of the remote upgrade method according to any one of claims 1 to 7 are implemented.
Citation Information
Cited By
Upgrading method and system of agricultural machinery auxiliary driving system and agricultural machinery auxiliary driving system
CN120255935A
Instrument communication protocol remote upgrading method and system and medium
CN120321237A
System and method for wirelessly upgrading software program of vehicle-mounted power supply
CN121309574A