Software flashing system and method, computer equipment and program product
By independently testing and verifying the target flushing program in a laboratory environment, and verifying and transmitting permissions through a virtual machine, the program transmission security problem between the laboratory environment and the factory environment is solved, ensuring program security in the factory environment 性和可用性。
Patent Information
- Application Number
- CN202411427031.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-12
- Publication Date
- 2025-02-11
AI Technical Summary
A flash table program tested in a laboratory environment may not be safely transferred to the factory environment, resulting in a flash failure or a program exception.
Ensure the security and availability of the program in the factory environment by independently testing the target flash program in the laboratory environment and verifying permissions through the virtual machine and transmitting it to the factory flash server if the program exception is determined not to exist. .
It achieves that while taking into account the security of the target flashing program, the programs released to the factory environment are safe and available, and ensure the consistency between the laboratory and factory environment to the greatest extent.
Smart Images

Figure CN119415107A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of vehicle engineering technology, and in particular to a software flashing system, method, computer device and program product. Background Art
[0002] As cars develop towards intelligence and automation, various functions on cars can be defined by software, and the software is deployed in the vehicle domain controller to implement the corresponding functions. However, as the intelligence of vehicles continues to increase, the scale and complexity of software are also increasing. The software functions that domain controllers need to iterate are becoming more and more powerful, and the software files that need to be iterated are also getting larger and larger, resulting in an increasingly high time cost for manually flashing software to domain controllers.
[0003] In order to save flashing costs and improve flashing efficiency, introducing a flashing station for software flashing has become an inevitable trend. However, before using the flashing station deployed in the factory for software flashing, it is necessary to flash test the software and the flashing station program in a laboratory environment (ie, a test environment) to ensure that the software and the flashing station program deployed to the factory environment can run normally.
[0004] However, since the factory environment and the laboratory environment are two independent environments, there is currently a problem that the flashing station program tested in the laboratory environment may not be safely transferred to the factory environment for application, and the disadvantages are quite obvious. Summary of the invention
[0005] The embodiments of the present disclosure at least provide a software flashing system, method, computer device and program product.
[0006] In a first aspect, an embodiment of the present disclosure provides a software flashing system, including a program development computer and a laboratory flashing station deployed in a laboratory environment, and a virtual machine, a factory flashing station, and a factory flashing station server deployed in a factory environment, wherein:
[0007] The program development computer is used to develop a target flashing program for the factory flashing station and transmit it to the laboratory flashing station, wherein the target flashing program is used to detect an update software package for a domain controller in a vehicle and flash the update software package to the domain controller; and, when a target test result fed back by the laboratory flashing station indicates that the target flashing program has no program anomaly, send the target flashing program to the virtual machine;
[0008] The laboratory flash writing station is used to receive and install the target flash writing program, generate a target test result indicating whether the target flash writing program has a program anomaly, and feed back the target test result to the program development computer;
[0009] The virtual machine is used to receive the target flashing program and send the target flashing program to the factory flashing station by using the factory flashing station server when it is determined that the program development computer has the program transmission authority;
[0010] The factory flashing station is used to receive and install the target flashing program, and generate a target installation result and a target installation log for indicating whether there is any installation abnormality in the target flashing program.
[0011] This implementation method uses a development computer and a virtual machine to connect the laboratory environment and the factory environment, and can maximize the consistency of the two environments on the basis of the two environments being independent of each other, thereby ensuring that the target flashing program verified in advance in the laboratory environment can adapt to the factory environment. By independently testing the target flashing program in the laboratory environment, and after determining that there are no program anomalies, performing permission verification through a virtual machine and sending it to the factory flashing station server if the verification passes, and then using the factory flashing station server to flash the verified target flashing program to the factory flashing station, it can be achieved while taking into account the security of the target flashing program transmission, and ensuring that the program released to the factory environment is safe and available.
[0012] In a possible implementation, the program development computer is configured with a first software development platform having software development authority and software sending authority; the virtual machine is configured with a second software development platform having software sending authority;
[0013] The program development computer is used to develop a target flashing program for the factory flashing station using the first software development platform and transmit the target flashing program to the laboratory flashing station after obtaining the use right for the first software development platform;
[0014] The virtual machine is used to obtain the use right for the second software development platform, and after receiving the target flashing program, use the second software development platform to send the target flashing program to the factory flashing station server.
[0015] This implementation method, by limiting the software development permissions of the second software development platform on the virtual machine in the factory environment, can prevent the target flashing program packaged on the virtual machine from being modified by non-developers in the factory, thereby improving the security of the target flashing program.
[0016] In a possible implementation, the software flashing system further includes a laboratory server deployed in the laboratory environment;
[0017] The program development computer is used to transmit the target flash program to the laboratory server;
[0018] The laboratory server is used to receive the target flashing program and store the target flashing program, and send the target flashing program to the laboratory flashing station;
[0019] The laboratory flashing station is used to receive and install the target flashing program, and to generate a test installation result and a test installation log indicating whether there is a test anomaly in the target flashing program, and, based on the test installation result and the test installation log, to generate the target test result and feed it back to the program development computer through the laboratory server.
[0020] This implementation method utilizes a laboratory server to flash the target flash program from a program development computer to a laboratory flash station, and can manage the program version of the laboratory flash station using the laboratory server, as well as the test installation results and test installation logs corresponding to the target flash program.
[0021] In a possible implementation manner, the software flashing system further includes a first server and a first user computer deployed in the laboratory environment;
[0022] The laboratory server is further configured to filter a first installation result and a first installation log from the test installation result and the test installation log according to a data upload requirement indicated by the target flashing program, and send the first installation result and the first installation log to the first server;
[0023] The first server is used to configure environmental parameters in the laboratory environment, and receive and store the first installation result and the first installation log;
[0024] The first user computer is used to use the program development computer to query the first installation result and the first installation log from the first server, and / or to query the test installation result and the test installation log from the laboratory server, so that an operator who logs into the first user computer can perform anomaly detection on the target flashing program based on the first installation result and the first installation log, and / or the test installation result and the test installation log.
[0025] In this implementation, the first server is used to configure environmental parameters, which can achieve the unification of the laboratory environment and the factory environment. By sending the first installation result and the first installation log that match the data upload requirements to the first server, the long-term independent storage of the test conditions related to the target flashing program can be achieved. By allowing the first user computer to query the first installation result and the first installation log in the first server, it is convenient for operators to check and modify the target flashing program anytime and anywhere.
[0026] In a possible implementation manner, the laboratory flashing station is further used to receive an update software package to be verified for any domain controller, and use the target flashing program to perform a flashing test of flashing the update software package to be verified to the corresponding domain controller, obtain a first test result and a first test log, and send the first test result and the first test log to the laboratory server;
[0027] The laboratory server is further configured to receive and store the first test result and the first test log, and to select a second test result and a second test log from the first test result and the first test log according to the data upload requirement and send the second test result and the second test log to the first server;
[0028] The first server is used to receive and store the second test result and the second test log;
[0029] The first user computer is used to use the program development computer to query the second test result and the second test log from the first server, and / or to query the first test result and the first test log from the laboratory server, so that the operator can determine whether the update software package to be verified can be released based on the second test result and the second test log, and / or the first test result and the first test log.
[0030] This implementation method can realize timely verification of the update package by receiving the update package to be verified for any domain controller and testing the update package using the target flashing program, thereby determining whether the update package can be released to the factory environment for use.
[0031] In a possible implementation manner, the software flashing system further includes a second server and a second user computer deployed in the factory environment;
[0032] The factory flash writing station is also used to send the target installation result and the target installation log to the factory flash writing station server;
[0033] The factory flash station server is further used to receive and store the target installation result and the target installation log, and according to the data upload requirement indicated by the target flash program, filter the second installation result and the second installation log from the target installation result and the target installation log and send them to the second server;
[0034] The second server is used to configure environmental parameters in the factory environment, and receive and store the second installation result and the second installation log;
[0035] The second user computer is used to use the program development computer to query the second installation result and the second installation log from the second server, and / or to query the target installation result and the target installation log from the factory flashing station server, so that the operator who logs into the second user computer can perform anomaly detection on the target flashing program based on the second installation result and the second installation log, and / or the target installation result and the target installation log.
[0036] In this implementation, the second server is used to configure the environmental parameters, which can achieve the unification of the laboratory environment and the factory environment. By sending the second installation result and the second installation log that match the data upload requirements to the second server, the long-term independent storage of the installation status related to the target flashing program can be achieved. By allowing the second user computer to query the second installation result and the second installation log in the second server, it is convenient for operators to perform abnormal detection on the target flashing program anytime and anywhere.
[0037] In a possible implementation, the software flashing system further includes a software package server;
[0038] The software package server is used to send a new version update software package for any domain controller to the factory flash station server; the new version update software package is the update software package for the domain controller that is most recently released to the software package server;
[0039] The factory flash writing station server is used to receive the new version update software package and send it to the factory flash writing station;
[0040] The factory flash station is used to receive the new version update software package and use the target flash program to perform a flash operation of flashing the new version update software package to the domain controller, obtain a first flash result and a first flash log, and send the first flash result and the first flash log to the factory flash station server;
[0041] The factory flash station server is further used to receive and store the first flash result and the first flash log, and select the second flash result and the second flash log from the first flash result and the first flash log according to the data upload requirement and send them to the second server;
[0042] The second server is used to receive and store the second flashing result and the second flashing log;
[0043] The second user computer is used to use the program development computer to query the second flash result and the second flash log from the second server, and / or to query the first flash result and the first flash log from the factory flash station server, so that the operator can determine whether the new version update software package is successfully flashed based on the second flash result and the second flash log, and / or the first flash result and the first flash log.
[0044] In this implementation, the software package server can be used to send the update software package for the domain controller to the factory environment for flashing. The second user computer can query the second flashing result and the second flashing log from the second server to timely grasp the flashing result of the update software package in the factory environment.
[0045] In a possible implementation manner, the factory flash station server is further configured to determine whether the new version update software package is successfully flashed according to the first flash result and the first flash log, and if not, resend the previous version of the new version update software package to the factory flash station;
[0046] The factory flash station is used to receive the previous version of the software package and use the target flash program to perform a flash operation of flashing the previous version of the software package to the domain controller to obtain a third flash result and a third flash log.
[0047] In this implementation, when the new version update software package fails to be flashed, the previous version software package is flashed to ensure that the domain controller can continue to use the old version in the event of a new version update failure, thereby ensuring the availability of the domain controller.
[0048] In a possible implementation, the software flashing system further includes a bastion host;
[0049] The program development computer is also used to send the target flashing program to the virtual machine through the bastion host when there is no abnormality in the target flashing program.
[0050] This implementation method uses the bastion host to log in to the virtual machine to transfer the target flash program, which can facilitate the management and control of login records and program modification records.
[0051] In a possible implementation, the virtual machine is used to determine whether the program development computer has program transmission authority based on the Internet Protocol address and the media access control address of the program development computer.
[0052] This implementation method uses the Internet Protocol address and the Media Access Control address to accurately determine whether there is a program transmission permission.
[0053] In a second aspect, the embodiments of the present disclosure further provide a software flashing method, which is applied to a program development computer deployed in a laboratory environment, comprising:
[0054] The developed target flashing program for the factory flashing station deployed in the factory environment is transmitted to the laboratory flashing station deployed in the laboratory environment; the target flashing program is used to detect the update software package for the domain controller in the vehicle and flash the update software package to the domain controller;
[0055] receiving a target test result fed back by the laboratory flash writing station; the target test result is generated by the laboratory flash writing station in the process of receiving and installing the target flash writing program;
[0056] When the target test result indicates that the target flash program has no program exception, the target flash program is sent to a virtual machine deployed in a factory environment; the virtual machine is used to receive the target flash program and send the target flash program to the factory flash station using a factory flash station server deployed in the factory environment; the factory flash station is used to receive and install the target flash program, and generate a target installation result and a target installation log for indicating whether the target flash program has any installation exception.
[0057] In a third aspect, an optional implementation of the present disclosure further provides a computer device, a processor, and a memory, wherein the memory stores machine-readable instructions executable by the processor, and the processor is used to execute the machine-readable instructions stored in the memory, and when the machine-readable instructions are executed by the processor, the steps in the above-mentioned second aspect are performed.
[0058] In a fourth aspect, an optional implementation of the present disclosure further provides a computer program product, which, when run, executes the steps in the second aspect.
[0059] For a description of the effects of the above-mentioned software flashing method, computer device, and computer program product, please refer to the description of the above-mentioned software flashing system, which will not be repeated here.
[0060] In order to make the above-mentioned objectives, features and advantages of the present disclosure more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following is a brief introduction to the drawings required for use in the embodiments. The drawings herein are incorporated into the specification and constitute a part of the specification. These drawings illustrate embodiments consistent with the present disclosure and are used together with the specification to illustrate the technical solutions of the present disclosure. It should be understood that the following drawings only illustrate certain embodiments of the present disclosure and should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can also be obtained based on these drawings without creative work.
[0062] Figure 1 A system schematic diagram of a software flashing system provided by an embodiment of the present disclosure is shown;
[0063] Figure 2 A specific structural schematic diagram of a software flashing system provided by an embodiment of the present disclosure is shown;
[0064] Figure 3 A flowchart of a software flashing method applied to a program development computer provided by an embodiment of the present disclosure is shown;
[0065] Figure 4 A schematic diagram of the structure of a computer device provided by an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0066] In order to make the purpose, technical scheme and advantages of the embodiments of the present disclosure clearer, the technical scheme in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all of the embodiments. The components of the embodiments of the present disclosure generally described and shown here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present disclosure is not intended to limit the scope of the present disclosure claimed for protection, but merely represents the selected embodiments of the present disclosure. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present disclosure.
[0067] In addition, the terms "first", "second", etc. in the description and claims of the embodiments of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein.
[0068] The "multiple or several" mentioned in this article refers to two or more. "And / or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.
[0069] After research, it was found that the laboratory environment and the factory environment are two independent environments that are not connected to each other. The flashing station program developed for the factory flashing station needs to be able to be released to the laboratory flashing station for testing, and also needs to be able to be released to the factory flashing station for timely flashing, so as to ensure that the factory flashing station can operate the flashing function normally. In the prior art, after the development is completed in the development environment, a personal computer is often used to send the program compressed package to the laboratory flashing station for flashing test. After the test passes, a personal computer is used to send the program compressed package to the factory flashing station for flashing. However, such a test and transmission method may cause security problems in the program compressed package, resulting in security problems in the program flashed on the factory flashing station, affecting the transmission security of the flashing program and the update effect of the flashing program. Therefore, how to achieve the independent testing of the flashing station program in the laboratory environment on the basis of connecting the two environments, and to synchronize the successfully tested flashing station program from the laboratory environment to the factory environment safely, so as to ensure that the factory flashing station in the factory environment can operate the flashing function normally, has become a technical problem worthy of attention.
[0070] Based on the above research, the present disclosure provides a software flashing system, method, computer device and program product, which utilizes a development computer and a virtual machine to connect the laboratory environment and the factory environment, and can maximize the consistency of the two environments on the basis of the two environments being independent of each other, thereby ensuring that the target flashing program verified in advance in the laboratory environment can adapt to the factory environment. By independently testing the target flashing program in the laboratory environment, and when it is determined that there are no program anomalies, performing permission verification through a virtual machine and sending it to the factory flashing station server when the verification is passed, and then using the factory flashing station server to flash the verified target flashing program to the factory flashing station, it is possible to ensure that the program released to the factory environment is safe and available while taking into account the security of the target flashing program transmission.
[0071] The defects existing in the above solutions are the results obtained by the inventor after practice and careful research. Therefore, the discovery process of the above problems and the solutions proposed by the present disclosure for the above problems below should be the contributions made by the inventor to the present disclosure during the disclosure process.
[0072] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, further definition and explanation thereof is not required in subsequent drawings.
[0073] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0074] It should be noted that the specific terms mentioned in the embodiments of the present disclosure include:
[0075] Domain controller: integrates multiple functional domains and is used to control and manage the layer drive logic of multiple actuators on the vehicle;
[0076] Flashing station program: installed on the factory flashing station, used to flash the update package to the domain controller, and can verify the process of receiving the update package (i.e., pre-flash verification), flash verification during the process of flashing the update package to the domain controller (i.e., flash verification), and verify the flash result after the flash is completed (i.e., post-flash verification);
[0077] Factory flash station: A flash station deployed in a factory environment can flash and verify update packages for domain controllers using a verified flash station program.
[0078] Laboratory flash station: A flash station deployed in a laboratory can be used to perform advance flash verification of the flash station program released to the factory flash station or the update package for the domain controller.
[0079] To facilitate understanding of this embodiment, a software flashing system disclosed in the embodiment of the present disclosure is first introduced in detail.
[0080] like Figure 1 FIG. 1 is a system schematic diagram of a software flashing system provided by an embodiment of the present disclosure, comprising a program development computer 1 and a laboratory flashing station 2 deployed in a laboratory environment, and a virtual machine 3, a factory flashing station 4 and a factory flashing station server 5 deployed in a factory environment, wherein:
[0081] A program development computer 1 is used to develop a target flashing program for a factory flashing station 4 and transmit it to a laboratory flashing station 2, wherein the target flashing program is used to detect an update software package for a domain controller in a vehicle and flash the update software package to the domain controller; and, when a target test result fed back by the laboratory flashing station 2 indicates that the target flashing program has no program anomaly, the target flashing program is sent to a virtual machine 3;
[0082] The laboratory flash writing station 2 is used to receive and install the target flash writing program, generate a target test result indicating whether the target flash writing program has a program anomaly, and feed back the target test result to the program development computer 1.
[0083] Here, the laboratory environment is the environment used to verify the flashing station program or update software package, and the factory environment is the actual production environment. The target flashing program is the flashing station program for the factory flashing station 4, which can be a newly written flashing station program or a flashing station program used to update the old version of the flashing station program running on the factory flashing station 4. The target flashing program is used to flash on the factory flashing station 4, and is used to detect the update software package for the domain controller in the vehicle and flash the update software package to the domain controller. The detection here can include detection before, during and after flashing.
[0084] The program development computer 1 is used to develop a flash package program for the factory flash station 4 and / or an update package for any domain controller. The update package may specifically be a software update program for the domain controller.
[0085] The factory flash station server 5 is used to manage the flash station program or update software package in the factory environment. Compared with the factory flash station 4, the laboratory flash station 2 can be a flash station with a higher degree of integration, and the factory flash station 4 can include multiple. The laboratory flash station 2 can integrate various domain controllers for flashing and testing the update software package of various domain controllers; and a factory flash station 4 can be set with a domain controller dedicated to flashing and testing the update software package of this domain controller.
[0086] The target test result is the flashing result obtained after verifying the target flashing program before, during and after flashing when the target flashing program is flashed on the laboratory flashing station 2. The flashing result can indicate whether the target flashing program has program anomalies, installation anomalies, flashing anomalies, etc. If there are no anomalies, it means that the target flashing program has passed the test and can be applied to the factory flashing station 4.
[0087] Exemplarily, a developer can develop a target flashing program in a development environment using a program development computer 1. After the development is completed, the target flashing program can be transferred to the laboratory flashing station 2 for flashing test using the program development computer 1. In the process of receiving the target flashing program, the laboratory flashing station 2 can perform pre-flash verification on the target flashing program, specifically verifying whether the target flashing program is successfully received and complete, etc., to obtain pre-flash data. If the verification is passed, it can be said that the target flashing program is successfully received. Then, the laboratory flashing station 2 can install and detect the target flashing program according to a pre-set fixed flashing process. That is, according to the fixed flashing process, the target flashing program is flashed on the laboratory flashing station 2 and tested. During the flashing process, verification can be performed during the flashing process to verify whether the target flashing program can be successfully installed, whether the update software package can be flashed and verified, etc., to obtain the flashing data. When the flashing is completed, the flashing data can be analyzed and processed to obtain the post-flashing data, for example, to verify whether the feedback of the domain controller is normal. Then, the laboratory flash writing station 2 can generate target test results according to the data before flash writing, the data during flash writing and the data after flash writing, and feed the result back to the program development computer 1 .
[0088] After receiving the target test result, the developer of the program development computer 1 can determine whether the target test program has a program anomaly based on the analysis of the result. If so, the target test program can be modified, and then the modified target test program can be resent to the laboratory flash writing station 2 for retesting until a target test program without program anomalies is obtained. If the target test program does not have anomalies, it means that the program can be applied to the factory flash writing station, so the program development computer 1 can send the target test program without program anomalies to the virtual machine 3.
[0089] The virtual machine 3 is used to receive the target flashing program and send the target flashing program to the factory flashing station 4 by using the factory flashing station server 5 when it is determined that the program development computer 1 has the program transmission authority.
[0090] In order to prevent unauthorized external devices from arbitrarily accessing production equipment in a factory environment, permission management can be performed through a virtual machine 3. Specifically, permission information that matches the program transmission permission can be pre-set in the virtual machine. When the program development computer 1 sends the target flashing program to the virtual machine 3, the virtual machine 3 can use the pre-set permission information and the permission information of the program development computer 1 to verify the program transmission permission of the program development computer 1, and receive the target flashing program if the verification passes. Then, the virtual machine 3 can send the target flashing program to the factory flashing station server 5, and the factory flashing station server 5 can determine the factory flashing station 4 (i.e., the factory flashing station 4 that matches the target flashing program) targeted by the target flashing program from multiple factory flashing stations 4, and then send the target flashing program to the matching factory flashing station 4. Among them, after receiving the target flashing program, the factory flashing station server 5 can record the version information of the target flashing program and the factory flashing station 4 targeted, and store the target flashing program, so as to facilitate the subsequent acquisition of relevant information in the factory flashing station server 5, and realize the program version management of each factory flashing station 4.
[0091] The factory flashing station 4 is used to receive and install the target flashing program, and generate a target installation result and a target installation log for indicating whether there is any installation abnormality in the target flashing program.
[0092] Here, the target installation result is the flashing result obtained after verifying the target flashing program before, during and after flashing when the target flashing program is flashed on the factory flashing station 4. The flashing result can indicate whether the target flashing program has installation anomalies, flashing anomalies, program anomalies, etc. The target installation log is used to record all log information generated by the factory flashing station 4 during the process of receiving, flashing and verifying the target flashing program.
[0093] Exemplarily, after the factory flash station server 5 sends the target flash program to the factory flash station 4, the factory flash station 4 can perform a pre-flash verification on the target flash program during the process of receiving the target flash program, specifically verifying whether the target flash program is successfully received and complete, etc., to obtain pre-flash data. If the verification passes, it can be said that the target flash program is successfully received. Then, the factory flash station 4 can install the target flash program, that is, flash the target flash program on the factory flash station 4. During the flashing process, the flashing verification can be performed to verify whether the target flash program can be successfully installed, whether the update software package can be flashed and verified, etc., to obtain the flashing data. When the flashing is completed, the flashing data can be analyzed and processed to obtain the post-flashing data. Then, the factory flash station 4 can generate the target installation result and the target installation log based on the pre-flashing data, the flashing data, and the post-flashing data.
[0094] The target installation result and the target installation log can be obtained and analyzed by the developer through the program development computer 1 to determine whether the target flashing program is successfully installed and whether it meets the flashing target.
[0095] In one embodiment, in order to prevent production personnel in a factory environment from modifying the target flashing program received by the virtual machine 3, thereby causing errors in the flashing program, different permission restrictions can also be imposed on the virtual machine 3 and the program development computer 1. Specifically, the program development computer 1 is configured with a first software development platform with software development permission and software sending permission; the virtual machine is configured with a second software development platform with software sending permission. That is, software development platforms are deployed in both the program development computer 1 and the virtual machine, but the software development platform in the virtual machine 3 only supports sending programs, not developing programs, while the software development platform in the program development computer 1 supports both sending programs and developing programs. Compared with the first software development platform and the second software development platform, there is only a difference in permissions.
[0096] When a software development platform is deployed, the program development computer 1 can be used to develop a target flashing program for the factory flashing station 4 using the first software development platform and transmit it to the laboratory flashing station 2 after obtaining the use right for the first software development platform.
[0097] Exemplarily, the right to use the first software development platform can be represented by a license pre-deployed in the program development computer 1. In a specific implementation, when the license is deployed to the program development computer 1, the program development computer 1 can obtain the right to use the first software development platform, thereby obtaining the software development permission and software sending permission of the software development platform. Then, the developer can use the software development permission of the first software development platform on the program development computer 1 to develop a target flashing program for the factory flashing station 4 according to the update requirements of the flashing station program. After the development is completed, the software sending permission of the first software development platform can be used to perform a flashing test on the laboratory flashing station 2.
[0098] The virtual machine 3 is used to obtain the use right for the second software development platform, and after receiving the target flashing program, send the target flashing program to the factory flashing station server 5 by using the second software development platform.
[0099] Exemplarily, the program development computer 1 is connected to the virtual machine 3 through a network, and the software sending permission of the license in the program development computer 1 can be used by the virtual machine 3, but the software development permission will not be shared. In this way, the virtual machine 3 can obtain the use permission and software sending permission for the second software development platform. Further, after the virtual machine 3 receives the target flashing program sent by the program development computer 1, it can use the software sending permission of the second software development platform to send the target flashing program to the factory flashing station server 5.
[0100] In one embodiment, in order to better manage the flash results of the laboratory flash station, the software flash system provided by the embodiment of the present disclosure may also include a laboratory server 6 deployed in the laboratory environment. The laboratory server 6 can be specifically used to manage the flash station program or update the software package in the laboratory environment.
[0101] In the case where a laboratory server 6 is provided, the program development computer 1 can send the target flashing program to the laboratory flashing station 2 based on the laboratory server 6. Specifically, the program development computer 1, in the process of transmitting the target flashing program to the laboratory flashing station 2, is specifically used to transmit the target flashing program to the laboratory server 6. The laboratory server 6 can be used to receive the target flashing program and store the target flashing program, and send the target flashing program to the laboratory flashing station 2. Since the laboratory environment only includes one laboratory flashing station 2, the laboratory server 6 can directly send the target flashing program to the laboratory flashing station 2. At the same time, in order to facilitate the management of various versions of the flashing package program in the laboratory environment, the laboratory server 6 can store the target flashing program sent by the program development computer each time, and record the version information of the target flashing program.
[0102] The laboratory flashing station 2 can be specifically used to receive and install the target flashing program, and to generate a test installation result and a test installation log for indicating whether there are test anomalies in the target flashing program, and, based on the test installation result and the test installation log, to generate the target test result and feed it back to the program development computer 1 through the laboratory server 6.
[0103] Here, the test installation result is the flashing result obtained after verifying the target flashing program before, during and after flashing when the target flashing program is flashed on the laboratory flashing station 2. The flashing result can indicate whether the target flashing program has installation anomalies, flashing anomalies, program anomalies, and various feedback information of the installation process. The test installation log is used to record all log information generated by the laboratory flashing station 2 in the process of receiving, flashing and verifying the target flashing program. It can be understood that the difference between the target installation result and the test installation result is that the results are obtained from different places, one from the factory flashing station 4 and the other from the laboratory flashing station 2.
[0104] Exemplarily, the test installation result may include instructions and feedback of important program steps, content and results defined by the target flashing program that need to be displayed on the laboratory server 6, etc. Specifically, the test installation result may be key information extracted and aggregated from the test installation log according to the information that needs to be uploaded as defined by the target flashing program, and such information may be displayed on the laboratory server 6. Similarly, for the information included in the target installation result above, reference may be made to the description of the test installation result, which will not be repeated here.
[0105] In specific implementation, the laboratory flashing station 2 can perform pre-flash verification on the target flashing program during the process of receiving it. After successful reception, the target program is flashed and tested according to the fixed flashing process to obtain a flashing log, which is used as a test installation log, and the test installation result is determined based on the test installation log and the information that needs to be uploaded defined by the target flashing program. Then, the test installation log and the test installation result can be combined into a target test result and fed back to the laboratory server 6. In this way, the laboratory flashing station 2 can be used to identify problems existing in the target flashing program in advance, and then generate a test installation log and a test installation result based on the identification result.
[0106] The lab server 6 may export the target test result to the program development computer 1 . Afterwards, the developer may obtain the target test result on the program development computer 1 .
[0107] In one embodiment, the software flashing system further includes a first server 7 and a first user computer 8 deployed in a laboratory environment. Here, the first server 7 may be a product end-of-life (EOL) server, which is used to configure environmental parameters corresponding to the laboratory environment and store information such as flashing results and logs from the laboratory server 6. The first user computer 8 may be a personal computer used by any developer, and may be used to remotely log in to the program development computer 1 to implement remote development and modification of the program.
[0108] The laboratory server 6 is further used to filter the first installation result and the first installation log from the test installation result and the test installation log according to the data upload requirement indicated by the target flashing program, and send the first installation result and the first installation log to the first server 7.
[0109] Here, the data upload requirement is used to indicate the requirements that the data to be uploaded to the first server 7 must meet. For example, the data upload requirement may indicate the data format, data type, data size of the result data to be uploaded to the first server 7, the data format, data type, data size of the log data, etc. The data upload requirement may be specified in the target flashing program when the developer codes the target flashing program.
[0110] Exemplarily, after receiving the test installation result and the test installation log, the laboratory server 6 can determine the data upload requirement from the target flashing program, and then filter the test installation result according to the data upload requirement to obtain the first installation result that meets the requirement, and filter the test installation log according to the data upload requirement to obtain the first installation log that meets the requirement. Then, the first installation result and the first installation log can be sent to the first server 7 for storage.
[0111] Optionally, when generating the first installation result and the first installation log, the transmission restriction between the laboratory server 6 and the first server 7 needs to be considered to prevent the first installation result and the first installation log from being too large to be transmitted to the first server 7 .
[0112] The first server 7 may be used to configure environmental parameters in a laboratory environment, and to receive and store a first installation result and a first installation log.
[0113] Here, the environmental parameters can be used to indicate the environmental requirements, parameter storage path and format, etc. in the laboratory environment. Exemplarily, the environmental parameters of the laboratory environment can be configured in advance using the first server 7. After the configuration is completed, the laboratory environment can be put into use.
[0114] During the process of testing the target flashing program in the laboratory environment, the first server 7 can receive and store the first installation result and the first installation log sent by the laboratory server 6, so as to independently store the data generated during the test target flashing program in the first server 7.
[0115] The first user computer 8 is used to use the program development computer 1 to query the first installation result and the first installation log from the first server 7, and / or to query the test installation result and the test installation log from the laboratory server 6, so that the operator who logs into the first user computer can perform anomaly detection on the target flashing program according to the first installation result and the first installation log, and / or the test installation result and the test installation log.
[0116] Here, the operator may specifically be a developer who uses the first user computer 8 to log in to the program development computer 1 to develop a program.
[0117] In specific implementation, the operator can use the first user computer 8 to remotely log in to the program development computer 1, and use the communication between the program development computer 1 and the first server 7 to obtain the first installation result and the first installation log stored in the first server 7, and / or use the communication between the program development computer 1 and the laboratory server 6 to obtain the test installation result and the test installation log stored in the laboratory server 6. Among them, whether to obtain the installation result and the installation log from the first server 7 or from the laboratory server 6 can be independently selected by the operator, and the embodiment of the present disclosure does not specifically limit it.
[0118] Then, the operator can perform anomaly detection and analysis on the obtained first installation result and the first installation log, and / or the test installation result and the test installation log, so as to determine whether the target flashing program has a program anomaly. If so, the target test program can be modified.
[0119] In one embodiment, the laboratory flashing station 2 is also used to receive an update software package to be verified for any domain controller, and use a target flashing program to perform a flashing test to flash the update software package to be verified to the corresponding domain controller, obtain a first test result and a first test log, and send the first test result and the first test log to the laboratory server 6.
[0120] Here, the update software package is a software package used to update the functions of a certain domain controller, which may specifically include an update program for the domain controller. Before releasing the update software package to the factory environment for application, it is necessary to flash and verify the update software package in a laboratory environment. The first test result is the flash test result obtained after verifying the update software package before, during and after flashing when the update software package is flashed to the domain controller using the laboratory flash station 2, which can be specifically used to indicate whether the update software package has program anomalies, whether it can be applied to the domain controller, etc. The first test log is used to record all log information generated by the laboratory flash station 2 in the process of receiving, flashing and verifying the update software package.
[0121] The update software package can be developed by the software package developer using the program development computer 1 and sent to the laboratory flash writing station 2 through the laboratory server 6. Alternatively, the update software package can also be developed by the software package developer on a personal computer and sent directly to the laboratory flash writing station 2 using the personal computer.
[0122] During specific implementation, the laboratory flashing station 2 can receive the update software package to be verified for any domain controller, and use the installed target flashing program to perform flashing verification before, during and after flashing on the update software to be verified, so as to test whether the update software package can be flashed to the corresponding domain controller on the laboratory flashing station 2, and whether the domain controller can be used normally after the flashing is completed. At the same time, in the process of using the target flashing program to perform the flashing test of flashing the update software package to be verified to the corresponding domain controller, the first test result and the first test log corresponding to the update software package can be generated according to the logs and flashing results generated in the process before, during and after the flashing. In this way, the laboratory flashing station 2 can be used to identify the problems existing in the target flashing program in advance, and then generate the first test result and the first test log according to the identification result. After completing the flashing test of the update software package, the laboratory flashing station 2 can send the generated first test result and the first test log to the laboratory server 6.
[0123] The laboratory server 6 is further configured to receive and store the first test result and the first test log, and to select the second test result and the second test log from the first test result and the first test log according to the data upload requirement and send them to the first server.
[0124] Exemplarily, after receiving the first test result and the first test log sent by the laboratory flashing station 2, the laboratory server 6 can store them. In addition, according to the data upload requirements indicated by the target flashing program, the first test result and the first test log can be screened respectively, and the second test result and the second test log that meet the requirements can be obtained and sent to the first server 7.
[0125] The first server 7 may be configured to receive and store the second test result and the second test log sent by the laboratory server 6 .
[0126] The first user computer 8 is used to use the program development computer 1 to query the second test result and the second test log from the first server 7, and / or to query the first test result and the first test log from the laboratory server 6, so that the operator can determine whether the update software package to be verified can be released based on the second test result and the second test log, and / or the first test result and the first test log.
[0127] Here, the operator may be a software developer who develops the software update package, or may be other personnel, and the embodiment of the present disclosure does not specifically limit this.
[0128] Exemplarily, the operator can remotely log in to the program development computer 1 through the first user computer 8, and utilize the communication between the program development computer 1 and the first server 7 to obtain the second test result and the second test log stored in the first server 7, and / or utilize the communication between the program development computer 1 and the laboratory server 6 to obtain the first test result and the first test log stored in the laboratory server 6. Then, the operator can perform anomaly detection and analysis on the obtained second test result and the second test log, and / or the first test result and the first test log, so as to determine whether there is a program anomaly in the update package for the domain controller. If so, it can be determined that the update package cannot be released at present, and the update package can be modified, or relevant personnel can be notified to modify it. If not, it is determined that the update package can be released at present.
[0129] In this way, the laboratory flash writing station 2 can be used to implement advance verification of the update software package in the laboratory environment, thereby ensuring that the update software packages released into the factory environment are safe and available.
[0130] In one embodiment, the software flashing system further includes a second server 9 and a second user computer 10 deployed in the factory environment. Here, the second server 9 may be a product end-of-life (EOL) server, which is used to configure environmental parameters corresponding to the factory environment and store information such as flashing results and logs from the factory flashing station server 5. The second user computer 10 may be a personal computer used by any developer, and may be used to remotely log in to the program development computer 1 to implement remote development and modification of the program.
[0131] It is understandable that, compared with the first server 7, the environment parameters configured by the second server 9 can be consistent, thereby ensuring the consistency of the two environments. The difference between the two servers is only that the configured file storage paths are inconsistent, thereby achieving differentiated storage of data from the two environments. The first user computer 8 and the second user computer 10 can be the same user computer or different user computers. For any user computer, when it is used in a laboratory environment, it can be used as the first user computer 8, but when it is used in a factory environment, it can be used as the second user computer 10.
[0132] The factory flash station 4 is also used to send the target installation result and the target installation log to the factory flash station server 5. Here, the factory flash station 4 can identify the problems existing in the target flash program in advance, and then generate the target installation result and the target installation log according to the identification result and send them to the factory flash station server 5.
[0133] The factory flash station server 5 is also used to receive and store the target installation result and the target installation log, and according to the data upload requirements indicated by the target flash program, filter the second installation result and the second installation log from the target installation result and the target installation log and send them to the second server 9.
[0134] Here, the data upload requirement is used to indicate the requirements that the data to be uploaded to the second server 9 must meet. For example, the data upload requirement may indicate the data format, data type, data size of the result data to be uploaded to the second server 9, the data format, data type, data size of the log data, etc. The data upload requirement may be specified in the target flash program when the developer codes the target flash program. Optionally, the data upload requirement for the second server 9 may be consistent with the data upload requirement for the first server 7.
[0135] Exemplarily, after receiving the target installation result and the target installation log, the factory flash station server 5 can determine the corresponding data upload requirements from the target flash program, and then filter the target installation result according to the data upload requirements to obtain a second installation result that meets the requirements, and filter the target installation log according to the data upload requirements to obtain a second installation log that meets the requirements. Then, the factory flash station server 5 can send the second installation result and the second installation log to the second server 9 for storage.
[0136] The second server 9 may be used to configure environmental parameters in the factory environment, and receive and store the second installation result and the second installation log.
[0137] Here, the environmental parameters can be used to indicate the environmental requirements, parameter storage path and format, etc. of the factory environment. For example, the environmental parameters of the factory environment can be configured in advance using the second server 9. After the configuration is completed, the factory environment can be put into use.
[0138] During the process of flashing the target flash program in the factory environment, the second server 9 can receive and store the second installation result and the second installation log sent by the factory flash station server 5, thereby realizing the independent storage of the data generated during the application of the target flash program in the second server 9.
[0139] Furthermore, the second user computer 10 is used to use the program development computer 1 to query the second installation result and the second installation log from the second server 9, and / or to query the target installation result and the target installation log from the factory flashing station server 5, so that the operator who logs into the second user computer 10 can perform anomaly detection on the target flashing program according to the second installation result and the second installation log, and / or the target installation result and the target installation log.
[0140] Regarding the step of using the second user computer 10 to perform anomaly detection on the target flashing program, reference may be made to the above step of using the first user computer 8 to perform anomaly detection on the target flashing program, which will not be repeated here.
[0141] In one embodiment, the software flashing system may further include a software package server 11, wherein the software package server 11 is used to manage software packages for the controller.
[0142] The software package server 11 can be used to send a new version update software package for any domain controller to the factory flash station server 5; the new version update software package is the update software package for the domain controller that is newly released to the software package server.
[0143] Here, the update software packages stored in the software package server are all update software packages that have been tested and determined to be able to be released to the factory environment. The new version update software package can be the latest version of the software package for the domain controller, which is also the latest software package released to the software package server 11 and used to update the version of the domain controller.
[0144] In specific implementation, when the update software package for any domain controller has passed the test in the laboratory environment, the developer can publish the update software package to the software package server 11. The software package server 11 can receive and store the update software package, and perform version file management on the domain controller according to the version of the update software package and the domain controller it targets. At the same time, the software package server 11 can send the new version update software package received from any domain controller to the factory flash station server 5. The factory flash station server 5 can be used to receive the new version update software package, and according to the domain controller targeted by the new version update software package, send the new version update software package to the factory flash station 4 where the domain controller is deployed. The factory flash station 4 can be used to receive the new version update software package and use the target flash program to perform a flash operation of flashing the new version update software package to the domain controller, obtain a first flash result and a first flash log, and send the first flash result and the first flash log to the factory flash station server.
[0145] Here, the first flashing result is a flashing test result obtained after verifying the update software package before, during and after flashing when the update software package is flashed to the domain controller using the factory flashing station 4, which can be used to indicate whether the update software package has a program anomaly, whether it can be installed to the domain controller, etc. The first flashing log is used to record all log information generated by the factory flashing station 4 in the process of receiving, flashing and verifying the update software package.
[0146] Exemplarily, the factory flash station 4 can receive a new version update software package for any domain controller, and use the installed target flash program to perform pre-flash, flash, and post-flash on the new version update software package to determine whether the new version update software package can be flashed to the corresponding domain controller, and whether the domain controller can be used normally after the flash is completed. At the same time, in the process of using the target flash program to perform the flash of the new version update software package to the corresponding domain controller, the first flash result and the first flash log corresponding to the new version update software package can be generated and sent to the factory flash station server 5 according to the logs and flash results generated in the process before, during, and after the flash. In this way, the factory flash station 4 can identify the problems existing in the new version update software package in advance, and then generate the first flash result and the first flash log according to the identification result and send them to the factory flash station server 5.
[0147] The factory flash station server 5 is also used to receive and store the first flash result and the first flash log, and according to the data upload requirements, select the second flash result and the second flash log that meet the requirements from the first flash result and the first flash log, and send them to the second server 9. The second server 9 can be used to receive and store the second flash result and the second flash log.
[0148] The second user computer 10 can be used to use the program development computer 1 to query the second flash result and the second flash log from the second server 9, and / or to query the first flash result and the first flash log from the factory flash station server 5, so that the operator can determine whether the new version update software package is successfully flashed based on the second flash result and the second flash log, and / or the first flash result and the first flash log.
[0149] Exemplarily, the operator can remotely log in to the program development computer 1 through the second user computer 10, and use the communication between the program development computer 1 and the second server 9 to obtain the second flashing result and the second flashing log stored in the second server 9, and / or use the communication between the program development computer 1 and the factory flashing station server 5 to obtain the first flashing result and the first flashing log stored in the factory flashing station server 5. Then, the operator can perform abnormal detection and analysis on the obtained second flashing result and the second flashing log, and / or the first flashing result and the first flashing log, so as to determine whether the update software package for the domain controller has been successfully flashed to the corresponding domain controller. If so, it can be determined that the version update for the domain controller is successful.
[0150] In another embodiment, the factory flash station server 5 is further used to determine whether the new version update software package is flashed successfully based on the first flash result and the first flash log, and if not, resend the previous version of the new version update software package to the factory flash station.
[0151] Here, the previous version of the software package is the software package that can be successfully applied to the domain controller.
[0152] In specific implementation, after receiving the first flash result and the first flash log, the factory flash station server 5 can parse the first flash result and the first flash log to determine whether the new version update software package is successfully flashed. If not, the previous version of the software package can be obtained from the local according to the version of the new version software package, or the previous version of the software package can be obtained from the software package server 11 according to the version of the new version software package. Then, the previous version of the software package is resent to the factory flash station 4.
[0153] The factory flash station 4 can be used to receive the previous version of the software package and use the target flash program to perform a flash operation of re-flashing the previous version of the software package to the domain controller to obtain a third flash result and a third flash log.
[0154] Here, the third flashing result is a flashing test result obtained after verifying the update software package before, during and after flashing when the previous version of the software package is flashed to the domain controller using the factory flashing station 4, which can be used to indicate whether the previous version of the software package has a program anomaly, whether it can be installed to the domain controller, etc. The third flashing log is used to record all log information generated by the factory flashing station 4 in the process of receiving, flashing and verifying the previous version of the software package.
[0155] After obtaining the third flash result and the third flash log, they can be sent to the factory flash station server 5, and then forwarded by the factory flash station server 5 to the second server 9 for storage, so that the operator can obtain the corresponding log information from the factory flash station server 5 or the second server 9 to analyze the flash of the previous version of the software package.
[0156] In this way, in the case that the flashing of the new version software update package fails, by sending the previous version of the software package to the factory flashing station 4, the previously successfully applied software package can be flashed to the domain controller, thereby ensuring the normal use of the domain controller.
[0157] In one embodiment, the software flashing system may further include a bastion host 12; the program development computer 1 is also used to send the target flashing program to the virtual machine 3 through the bastion host 12 when there is no abnormality in the target flashing program.
[0158] Here, in order to facilitate the management of the login records, modification records, etc. of the virtual machine 3, the software flashing system provided by the embodiment of the present disclosure may also include a bastion host 12. The program development computer 1 can log in to the virtual machine 3 through the bastion host 12 and send the verified target flashing program to the virtual machine 3.
[0159] In one embodiment, the virtual machine 3 can be used to determine whether the program development computer 1 has program transmission permission based on the Internet Protocol Address (IP address) and Media Access Control Address (MAC address) of the program development computer 1.
[0160] For example, to achieve communication between the program development computer 1 and the virtual machine 3, the program development computer 1 needs to be bound to a fixed IP address and MAC address. When the program development computer 1 logs in to the virtual machine 3 through the bastion host 12, the virtual machine 3 can determine the target IP address and target MAC address indicated by the permission information, and then determine whether the program development computer 1 has the program transmission permission based on whether the IP address and MAC address of the program development computer 1 match the target IP address and target MAC address.
[0161] like Figure 2 As shown, it is a specific structural diagram of a software flashing system provided by an embodiment of the present disclosure, which includes a program development computer 1, a laboratory flashing station 2, a laboratory server 6, and a first server 7 (i.e., EOL server (stage) 7) deployed in a laboratory environment, and a virtual machine 3, a factory flashing station 4, a factory flashing station server 5, a second server 9 (i.e., EOL server (prod) 9), a software package server 11 and a license 13, and a user computer 8 deployed in a factory environment. Among them, the user computer 8 may include a first user computer deployed in a laboratory environment and a second user computer deployed in a factory environment. The license 13 is the key to the software development platform, and it is used to open and modify the program normally. Among them, the license 13 is installed on the program development computer 1, and the network where the program development computer 1 and the virtual machine 3 are located is connected, so that the customer use rights of the license 13 can be shared, so that the program development computer 1 obtains the software development right and the software sending right, and the virtual machine 3 obtains the software sending right.
[0162] The software package server 11 is used to release the update software package to be flashed to the factory flash station server 5. The factory flash station server 5 can serve as a data interaction window with the external system, for example, to obtain the update software package sent by the software package server 11, and use the factory flash station 4 to flash the update software package to the corresponding domain controller.
[0163] In specific implementation, the flash writing station program development can be carried out on the program development computer 1. At the same time, in order to meet the user's requirement of remotely logging into the program development computer 1 to develop or modify the program, the program development computer 1 supports the user to use the user computer 8 for remote login.
[0164] The program development computer 1 sends the developed target flashing program to the laboratory flashing station 2 for testing. After the test verification is OK, it is released to the factory flashing station 4 for production work. First, the target flashing program is released to the laboratory server 6, and the program is sent to the laboratory flashing station 2 through the laboratory server 6. The laboratory flashing station 2 uploads the flashing results and logs of the flashing station to the laboratory server 6, and the laboratory server 6 then uploads the flashing results and logs to the EOL server (stage). Among them, the flashing results and flashing logs can be the test installation results and test installation logs mentioned above. Developers can view the laboratory flashing results and flashing logs on the EOL server (stage) 7 through the program development computer 1, modify the program according to the flashing results and flashing logs, and then test until the test is OK, and then release it to the factory flashing station 4. Fully verifying the program in advance can greatly avoid the impact of program modifications on factory production.
[0165] After the program is verified, the target flash program developed by the program development computer 1 is published to the factory flash station 4. The virtual machine 3 under the factory network is needed as a bridge. On the one hand, the virtual machine 3 needs to install a software development platform with only software sending permissions to publish the program. On the other hand, the factory network has security requirements and does not allow external devices to directly access production equipment at will. Permission management is required through the virtual machine 3. The program development computer 1 must be connected to the virtual machine 3 under the factory network. The program development computer 1 needs to be bound to a fixed IP address and MAC address to prevent other devices from connecting to the virtual machine 3. After the program development computer 1 develops the target flash program, the program is packaged as a file and transferred to the virtual machine 3 through the bastion host. In order to prevent the program packaged on the virtual machine 3 from being arbitrarily changed by other unrelated personnel, the permissions of the software development platform on the virtual machine 3 are restricted. The software development platform on the virtual machine 3 does not have the permission to edit and modify, but only the permission to publish the program. The program is published on the virtual machine 3 to the factory flash station server 5. The factory flash station server 5 stores the published program data independently, and distributes the stored program to the factory flash station 4 that needs to be updated as needed. The factory flash station 4 updates the program, and after the update, the latest program can be used for flashing. After the flashing work is completed, the factory flash station 4 will automatically upload the flashing results and flashing logs to the factory flash station server 5. The flashing results and flashing logs here can be the target installation results and target installation logs mentioned above. The factory flash station server 5 automatically transmits the flashing results and flashing logs to the EOL server (prod) 9. Developers can view the flashing results and flashing logs on the EOL server (prod) 9 through the program development computer 1, monitor the flashing status of the factory flash station 4, and can directly remotely view the status of each factory flash station 4 through the bastion host.
[0166] exist Figure 2 In the example, the production environment and the laboratory environment are two independent systems that do not affect each other. The laboratory server 6 can publish programs to the laboratory flash station 2 and receive the flash results and logs uploaded by the laboratory flash station 2. The laboratory flash station 2 can perform flash tests on the domain controller and identify flash-related problems in advance.
[0167] based on Figure 2The system shown can be used to build a flash writing station software development environment. A program development computer is used to connect the data transmission between the factory environment, laboratory environment, and development environment, while taking into account the requirements of information security. At the same time, it ensures that the laboratory environment is consistent with the factory environment to the greatest extent, verifies the problems related to flash writing in advance, and achieves the verification purpose before the software package and development program are released to the factory, which greatly improves the test quality and reduces the impact on production. In addition, using a program development computer, it has the ability to remotely control the factory flash writing station and the laboratory flash writing station, and can remotely send the development program to the factory flash writing station and the laboratory flash writing station. It can also remotely analyze the problems encountered in the factory and laboratory flash writing, and can solve the on-site problems in the shortest time, greatly improving work efficiency. In addition, the flash writing station software environment provided by the embodiment of the present disclosure can be compatible with different development platforms of different suppliers and standardize the flash writing station software development plan.
[0168] In addition, the present disclosure also provides Figure 3 The flowchart of a software flashing method applied to a program development computer shown in FIG. 1 includes:
[0169] S301: Transmitting a target flashing program developed for a factory flashing station deployed in a factory environment to a laboratory flashing station deployed in a laboratory environment; the target flashing program is used to detect an update software package for a domain controller in a vehicle and flash the update software package to the domain controller.
[0170] S302: Receive the target test result fed back by the laboratory flash writing station; the target test result is generated by the laboratory flash writing station in the process of receiving and installing the target flash writing program.
[0171] S303: When the target test result indicates that the target flashing program has no program exception, the target flashing program is sent to a virtual machine deployed in a factory environment; the virtual machine is used to receive the target flashing program and send the target flashing program to the factory flashing station by using a factory flashing station server deployed in the factory environment; the factory flashing station is used to receive and install the target flashing program, and generate a target installation result and a target installation log for indicating whether the target flashing program has any installation exception.
[0172] Regarding the specific implementation steps of S301 to S303 above, reference may be made to the introduction of the above embodiments, which will not be repeated here.
[0173] Those skilled in the art will appreciate that, in the above method of specific implementation, the order in which the steps are written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of the steps should be determined by their functions and possible internal logic.
[0174] Based on the same technical concept, the embodiment of the present application also provides a computer device. Figure 4 FIG. 1 is a schematic diagram of a computer device provided in an embodiment of the present application, including:
[0175] Processor 401, memory 402 and bus 403. The memory 402 stores machine-readable instructions executable by the processor 401, and the processor 401 is used to execute the machine-readable instructions stored in the memory 402. When the machine-readable instructions are executed by the processor 401, the processor 401 performs the following steps: S301: transmitting the developed target flashing program for the factory flashing station deployed in the factory environment to the laboratory flashing station deployed in the laboratory environment; the target flashing program is used to detect the update software package for the domain controller in the vehicle and flash the update software package to the domain controller; S302: receiving the target test result fed back by the laboratory flashing station; the target The test result is generated by the laboratory flashing station in the process of receiving and installing the target flashing program; and S303: when the target test result indicates that the target flashing program has no program abnormality, the target flashing program is sent to a virtual machine deployed in a factory environment; the virtual machine is used to receive the target flashing program and send the target flashing program to the factory flashing station using a factory flashing station server deployed in the factory environment; the factory flashing station is used to receive and install the target flashing program, and generate a target installation result and a target installation log for indicating whether the target flashing program has an installation abnormality.
[0176] The above-mentioned memory 402 includes internal memory 4021 and external memory 4022; the memory 4021 here is also called internal memory, which is used to temporarily store the calculation data in the processor 401, as well as the data exchanged with the external memory 4022 such as the hard disk. The processor 401 exchanges data with the external memory 4022 through the internal memory 4021. When the computer device is running, the processor 401 communicates with the memory 402 through the bus 403, so that the processor 401 executes the execution instructions mentioned in the above-mentioned method embodiment.
[0177] The embodiment of the present disclosure also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the software flashing method described in the above method embodiment are executed. The storage medium can be a volatile or non-volatile computer-readable storage medium.
[0178] The computer program product of the software flashing method provided in the embodiments of the present disclosure includes a computer-readable storage medium storing program code, and the instructions included in the program code can be used to execute the steps of the software flashing method described in the above method embodiments. For details, please refer to the above method embodiments, which will not be repeated here.
[0179] The computer program product may be implemented in hardware, software or a combination thereof. In one optional embodiment, the computer program product is embodied as a computer storage medium, and in another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (SDK) and the like.
[0180] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, the specific working process of the system and device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here. In the several embodiments provided in the present disclosure, it should be understood that the disclosed system, device and method can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, and the indirect coupling or communication connection of the device or unit can be electrical, mechanical or other forms.
[0181] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0182] In addition, each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0183] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present disclosure, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0184] If the technical solution of this application involves personal information, the product using the technical solution of this application has clearly informed the personal information processing rules and obtained the individual's voluntary consent before processing the personal information. If the technical solution of this application involves sensitive personal information, the product using the technical solution of this application has obtained the individual's separate consent before processing the sensitive personal information, and at the same time meets the "explicit consent" requirement. For example, on personal information collection devices such as cameras, clear and prominent signs are set to inform that the personal information collection scope has been entered and personal information will be collected. If the individual voluntarily enters the collection scope, it is deemed that he or she agrees to the collection of his or her personal information; or on the device that processes personal information, the personal information processing rules are notified by obvious signs / information, and the individual's authorization is obtained through pop-up information or by asking the individual to upload his or her personal information; among them, the personal information processing rules may include information such as the personal information processor, the purpose of personal information processing, the processing method, and the type of personal information processed.
[0185] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present disclosure, which are used to illustrate the technical solutions of the present disclosure, rather than to limit them. The protection scope of the present disclosure is not limited thereto. Although the present disclosure is described in detail with reference to the above-described embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-described embodiments within the technical scope disclosed in the present disclosure, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present disclosure, and should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be based on the protection scope of the claims.
Claims
1. A software flashing system, characterized in that: It includes program development computers and laboratory flash writing stations deployed in a laboratory environment, and virtual machines, factory flash writing stations, and factory flash writing station servers deployed in a factory environment, including: The program development computer is used to develop a target flashing program for the factory flashing station and transmit it to the laboratory flashing station, wherein the target flashing program is used to detect an update software package for a domain controller in a vehicle and flash the update software package to the domain controller; and, when a target test result fed back by the laboratory flashing station indicates that the target flashing program has no program anomaly, send the target flashing program to the virtual machine; The laboratory flash writing station is used to receive and install the target flash writing program, generate a target test result indicating whether the target flash writing program has a program anomaly, and feed back the target test result to the program development computer; The virtual machine is used to receive the target flashing program and send the target flashing program to the factory flashing station by using the factory flashing station server when it is determined that the program development computer has the program transmission authority; The factory flashing station is used to receive and install the target flashing program, and generate a target installation result and a target installation log for indicating whether there is any installation abnormality in the target flashing program.
2. The system according to claim 1, characterized in that The program development computer is configured with a first software development platform having software development authority and software sending authority; the virtual machine is configured with a second software development platform having software sending authority; The program development computer is used to develop a target flashing program for the factory flashing station using the first software development platform and transmit the target flashing program to the laboratory flashing station after obtaining the use right for the first software development platform; The virtual machine is used to obtain the use right for the second software development platform, and after receiving the target flashing program, use the second software development platform to send the target flashing program to the factory flashing station server.
3. The system according to claim 1, characterized in that The software flashing system also includes a laboratory server deployed in the laboratory environment; The program development computer is used to transmit the target flash program to the laboratory server; The laboratory server is used to receive the target flashing program and store the target flashing program, and send the target flashing program to the laboratory flashing station; The laboratory flashing station is used to receive and install the target flashing program, and to generate a test installation result and a test installation log indicating whether there is a test anomaly in the target flashing program, and, based on the test installation result and the test installation log, to generate the target test result and feed it back to the program development computer through the laboratory server.
4. The system according to claim 3, characterized in that The software flashing system also includes a first server and a first user computer deployed in the laboratory environment; The laboratory server is further configured to filter a first installation result and a first installation log from the test installation result and the test installation log according to a data upload requirement indicated by the target flashing program, and send the first installation result and the first installation log to the first server; The first server is used to configure environmental parameters in the laboratory environment, and receive and store the first installation result and the first installation log; The first user computer is used to use the program development computer to query the first installation result and the first installation log from the first server, and / or to query the test installation result and the test installation log from the laboratory server, so that an operator who logs into the first user computer can perform anomaly detection on the target flashing program based on the first installation result and the first installation log, and / or the test installation result and the test installation log.
5. The system according to claim 4, characterized in that The laboratory flashing station is further used to receive an update software package to be verified for any domain controller, and use the target flashing program to perform a flashing test of flashing the update software package to be verified to the corresponding domain controller, obtain a first test result and a first test log, and send the first test result and the first test log to the laboratory server; The laboratory server is further configured to receive and store the first test result and the first test log, and to select a second test result and a second test log from the first test result and the first test log according to the data upload requirement and send the second test result and the second test log to the first server; The first server is used to receive and store the second test result and the second test log; The first user computer is used to use the program development computer to query the second test result and the second test log from the first server, and / or to query the first test result and the first test log from the laboratory server, so that the operator can determine whether the update software package to be verified can be released based on the second test result and the second test log, and / or the first test result and the first test log.
6. The system according to claim 1, characterized in that The software flashing system also includes a second server and a second user computer deployed in the factory environment; The factory flash writing station is also used to send the target installation result and the target installation log to the factory flash writing station server; The factory flash station server is further used to receive and store the target installation result and the target installation log, and according to the data upload requirement indicated by the target flash program, filter the second installation result and the second installation log from the target installation result and the target installation log and send them to the second server; The second server is used to configure environmental parameters in the factory environment, and receive and store the second installation result and the second installation log; The second user computer is used to use the program development computer to query the second installation result and the second installation log from the second server, and / or to query the target installation result and the target installation log from the factory flashing station server, so that the operator who logs into the second user computer can perform anomaly detection on the target flashing program based on the second installation result and the second installation log, and / or the target installation result and the target installation log.
7. The system according to claim 6, characterized in that The software flashing system also includes a software package server; The software package server is used to send a new version update software package for any domain controller to the factory flash station server; the new version update software package is the update software package for the domain controller that is most recently released to the software package server; The factory flash writing station server is used to receive the new version update software package and send it to the factory flash writing station; The factory flash station is used to receive the new version update software package and use the target flash program to perform a flash operation of flashing the new version update software package to the domain controller, obtain a first flash result and a first flash log, and send the first flash result and the first flash log to the factory flash station server; The factory flash station server is further used to receive and store the first flash result and the first flash log, and select the second flash result and the second flash log from the first flash result and the first flash log according to the data upload requirement and send them to the second server; The second server is used to receive and store the second flashing result and the second flashing log; The second user computer is used to use the program development computer to query the second flash result and the second flash log from the second server, and / or to query the first flash result and the first flash log from the factory flash station server, so that the operator can determine whether the new version update software package is successfully flashed based on the second flash result and the second flash log, and / or the first flash result and the first flash log.
8. The system according to claim 7, characterized in that The factory flash station server is further used to determine whether the new version update software package is successfully flashed according to the first flash result and the first flash log, and if not, resend the previous version of the new version update software package to the factory flash station; The factory flash station is used to receive the previous version of the software package and use the target flash program to perform a flash operation of flashing the previous version of the software package to the domain controller to obtain a third flash result and a third flash log.
9. The system according to claim 1, characterized in that The software flashing system also includes a bastion host; The program development computer is also used to send the target flashing program to the virtual machine through the bastion host when there is no abnormality in the target flashing program.
10. The system according to claim 1, characterized in that The virtual machine is used to determine whether the program development computer has program transmission authority according to the Internet protocol address and the media access control address of the program development computer.
11. A software flashing method, characterized in that: Applicable to program development computers deployed in a laboratory environment, including: The developed target flashing program for the factory flashing station deployed in the factory environment is transmitted to the laboratory flashing station deployed in the laboratory environment; the target flashing program is used to detect the update software package for the domain controller in the vehicle and flash the update software package to the domain controller; receiving a target test result fed back by the laboratory flash writing station; the target test result is generated by the laboratory flash writing station in the process of receiving and installing the target flash writing program; When the target test result indicates that the target flash program has no program exception, the target flash program is sent to a virtual machine deployed in a factory environment; the virtual machine is used to receive the target flash program and send the target flash program to the factory flash station using a factory flash station server deployed in the factory environment; the factory flash station is used to receive and install the target flash program, and generate a target installation result and a target installation log for indicating whether the target flash program has any installation exception.
12. A computer device, characterized in that: include: A processor and a memory, wherein the memory stores machine-readable instructions executable by the processor, and the processor is used to execute the machine-readable instructions stored in the memory. When the machine-readable instructions are executed by the processor, the processor executes the steps of the software flashing method as described in claim 11.
13. A computer program product, characterized in that When the computer program is executed by a computer device, the computer device executes the steps of the software flashing method according to claim 11.