A management method and device for dynamically configuring multiple special versions of software by compiling once

By establishing switch mapping tables of customer and hardware numbers in software development and generating a unified firmware version of software, the multi-version software development problems caused by hardware differences and customer customization needs are solved, and development and production efficiency is improved and costs are reduced.

CN115774571BActive Publication Date: 2025-03-07SHARPVISION CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211548545.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-05
Publication Date
2025-03-07
Estimated Expiration
2042-12-05

AI Technical Summary

Technical Problem

In the same equipment product, due to hardware differences and customer customization needs, multiple special software versions need to be developed, resulting in extended software development cycle, increased testing workload, low production efficiency, and high cost of firmware verification and production preparation.

Method used

Create a switch mapping table through customer numbers and hardware numbers, generate special versions of software based on different customer and hardware information, and generate a unified firmware version of software through one compilation and dynamic configuration, and use the dedicated functions of executing switching variable values ​​to manage different customers and hardware.

Benefits of technology

It has achieved the reduction of firmware verification and production preparation quantity, improved software version development efficiency and product production efficiency, and simplified the control and testing process of equipment production.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115774571B_ABST
    Figure CN115774571B_ABST
Patent Text Reader

Abstract

The present invention discloses a management method for dynamically configuring multiple special version softwares by compiling once, including establishing a switch mapping table through customer number and hardware number, and special function information corresponding to customer number and hardware number, generating special version software according to special function information corresponding to different customer numbers and hardware numbers; and dynamically configuring special version software generated by different special function information to generate a unified firmware version software by compiling once, setting execution switch variable value between the switch mapping table and the special version software, and each execution switch variable value is managed and operated in the firmware version software according to the customer number and hardware number to execute the corresponding special version software. It can improve the efficiency of firmware version testing and distribution and the controllability of equipment production, thereby reducing the firmware verification and production material preparation quantity in the software development process, and improving the software version development efficiency and product production efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software development management, in particular to a software and device capable of dynamically configuring multiple special versions by one compilation. Background Art

[0002] Because some hardware of the same product equipment is different, multiple versions of the software are required. For example, different camera lens parameters require different software features, so multiple versions of the software are required to adapt to different lenses. When customers customize new function requirements, multiple versions of the software are required to adapt to different customer requirements. For example, customer A and customer B customize special function A and special function B respectively and require different default factory parameters. The functions of different customers are not visible to the outside world, resulting in the need for multiple versions of software to adapt to different customer requirements.

[0003] like Figure 1 As shown, customer A customized to add A1 and A2 functions and required the factory default configuration A. R&D added customized functions A1 and A2 based on the existing 50 general function versions of the general version and changed them to factory configuration A to make a separate program version for testing. At the same time, the product builds a dedicated BOM and is bound to the dedicated program number, and the business orders a dedicated BOM based on the dedicated customer.

[0004] According to this calculation, if there are N customer customizations, N special programs need to be issued. If a bug is found in general function 1 or the function logic needs to be changed, R&D needs to make N special programs for testing after modifying the relevant code of function 1. The test group and quality department need to repeat the test of the first 50 general functions 50x(N-1) times. As a result, as the number of customer customizations increases, some impacts will be caused as follows:

[0005] 1. A large number of repeated tests of the same functions will increase the testing workload and lengthen the development cycle of the software version.

[0006] Second, the same hardware product has N dedicated programs in the "in use" state at the same time. After the business order is placed, the factory staff needs to manually select the corresponding dedicated program to be burned / upgraded, which is easy to cause human confusion.

[0007] 3. Dedicated customers can only start burning dedicated program flash and preparing patches after placing an order. They cannot prepare inventory in advance, and the response speed will be reduced.

[0008] The firmware verification and production preparation are large in number, the cost is high, and the software version development efficiency and product production efficiency are low. Therefore, when the same equipment product involves multiple software versions, especially when there are a large number of versions involved, the one-time compilation and dynamic adaptation of multiple versions of software management methods plays a very important role in the development cycle of software products, development costs, and equipment production management. Summary of the invention

[0009] The purpose of the present invention is to provide a management method and device for dynamically configuring multiple special versions of software in one compilation, so as to reduce the number of firmware verification and production preparation in the software development process, and improve the efficiency of software version development and product production.

[0010] The present invention provides a management method for dynamically configuring multiple special versions of software by compiling once, comprising the following steps:

[0011] Step 1: Establish a switch mapping table through the customer number and the hardware number, as well as the special function information corresponding to the customer number and the hardware number;

[0012] Step 2: Generate a dedicated version of software according to the dedicated function information corresponding to different customer numbers and hardware numbers; and compile and dynamically configure the dedicated version of software generated by different dedicated function information to generate a unified firmware version of software;

[0013] Step 3: Set the execution switch variable value between the switch mapping table and the dedicated version software. Each execution switch variable value is managed and operated in the firmware version software according to the customer number and the hardware number to execute the corresponding dedicated version software.

[0014] A preferred solution of the present invention also includes in step 3: judging the correspondence between the customer number and the hardware number and the special version software, if one customer number corresponds to one special version software, and one customer number corresponds to multiple hardware numbers, each execution switch variable value is managed in the firmware version software according to the hardware number to execute the corresponding special version software.

[0015] As a preferred solution of the present invention, step 3 also includes: judging the correspondence between the customer number and the hardware number in the special version software. If a customer number corresponds to a hardware number, and the hardware number corresponds to a special version software, then each execution switch variable value is managed in the firmware version software according to the customer number to execute the corresponding special version software.

[0016] As a preferred solution of the present invention, step 3 also includes: shielding other execution switch variable values ​​in the basic program except for the execution switch variable values ​​of the dedicated version software corresponding to the corresponding execution that needs to be managed.

[0017] The present invention provides a management device capable of dynamically configuring multiple special versions of software by compiling once, and the device is characterized by comprising:

[0018] A mapping table generation module, which establishes a switch mapping table through the customer number and the hardware number, and the special function information corresponding to the customer number and the hardware number, and sends the switch mapping table information to the software compilation module;

[0019] The software compiling module receives the switch mapping table information, and generates a dedicated version of software according to the dedicated function information corresponding to different customer numbers and hardware numbers; and compiles the dedicated version of software generated by different dedicated function information once to dynamically configure and generate a unified firmware version of software, and sends the firmware version software information to the software management module;

[0020] The software management module sets the execution switch variable value between the switch mapping table and the special version software. Each execution switch variable value is managed and operated in the firmware version software according to the customer number and the hardware number to execute the corresponding special version software.

[0021] As a preferred solution of the present invention, a judgment module is also provided in the software management module, and the judgment module is used to judge the correspondence between the customer number and the hardware number and the special version software. If a customer number corresponds to a hardware number, and the hardware number corresponds to a special version software, then each execution switch variable value is managed in the firmware version software according to the customer number to execute the corresponding special version software.

[0022] As a preferred solution of the present invention, a judgment module is also provided in the software management module, and the judgment module is used to judge the correspondence between the customer number and the hardware number and the special version software. If a customer number corresponds to a hardware number, and the hardware number corresponds to a special version software, then each execution switch variable value is managed in the firmware version software according to the customer number to execute the corresponding special version software.

[0023] As a preferred solution of the present invention, a shielding module is also provided in the software management module, and the shielding module is used to shield other execution switch variable values ​​in the basic program except for the execution switch variable values ​​of the dedicated version software corresponding to the corresponding execution that needs to be managed.

[0024] Beneficial effects of the present invention:

[0025] The present invention discloses a management method and device for dynamically configuring multiple special version software in one compilation. A switch mapping table is established through customer numbers and hardware numbers, as well as special function information corresponding to the customer numbers and hardware numbers. Special version software is then generated according to the special function information corresponding to different customer numbers and hardware numbers. The special version software generated with different special function information is dynamically configured once compiled to generate a unified firmware version software. Based on the corresponding relationship between the execution switch variable value and the special version software, the execution switch variable value corresponding to any section of the special version software in the unified firmware version software generated by the dynamic configuration once compiled can be conveniently and accurately determined. The special version software customized by multiple customers can be dynamically adapted, thereby improving the efficiency of firmware version testing and distribution and the controllability of equipment production, thereby reducing the firmware verification and production preparation quantity in the software development process, and improving the software version development efficiency and product production efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] Figure 1 A flowchart of a management method for dynamically configuring multiple special versions of software by compiling once according to the present invention;

[0027] Figure 2 The schematic diagram of the management device of the present invention is a one-time compilation and dynamic configuration of multiple special versions of software. DETAILED DESCRIPTION

[0028] The technical solutions in the embodiments of the present invention will be described clearly and completely below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0029] The present invention provides a management method for dynamically configuring multiple special versions of software by compiling once, such as Figure 1 As shown, the following steps are included:

[0030] Step 1: Establish a switch mapping table through the customer number and the hardware number, as well as the special function information corresponding to the customer number and the hardware number;

[0031] Step 2: Generate a dedicated version of software according to the dedicated function information corresponding to different customer numbers and hardware numbers; and compile and dynamically configure the dedicated version of software generated by different dedicated function information to generate a unified firmware version of software;

[0032] Step 3: Set the execution switch variable value between the switch mapping table and the dedicated version software. Each execution switch variable value is managed and operated in the firmware version software according to the customer number and the hardware number to execute the corresponding dedicated version software.

[0033] In practical applications, case statements can be used to complete specific examples as follows:

[0034] Assume that a software product currently has 5 dedicated customer versions with different customized functions, and the customer numbers are: Customer A, Customer B, Customer C, Customer D, Customer E; then add a dynamic execution switch variable value named "Customer Number" in the software design, and use the execution switch variable value corresponding to the dedicated version of the software for branch processing:

[0035] switch (customer number)

[0036] {

[0037] Case Customer A:

[0038] Execute Customer A function

[0039] Case Customer B:

[0040] Execute Client B function

[0041] Case Customer C:

[0042] Execute Client C function

[0043] Case Customer D:

[0044] Execute client D function

[0045] Case Customer E:

[0046] Execute Customer E function

[0047] }

[0048] if (hardware difference 1)

[0049] {

[0050] Execute the function of hardware difference 1

[0051] }

[0052] / / End of script.

[0053] Therefore, in the firmware version software, a section of special version software corresponds to an execution switch variable value, and new customer-customized functions can usually be realized through this section of special version software. Therefore, based on the correspondence between the execution switch variable value and the special version software, it is convenient to accurately determine the execution switch variable value corresponding to any section of special version software in a unified firmware version software generated by a single compilation dynamic configuration. It can dynamically adapt to a variety of customer-customized special version software, improve the efficiency of firmware version testing and issuance and the controllability of equipment production, thereby reducing the number of firmware verification and production preparation in the software development process, and improving the software version development efficiency and product production efficiency.

[0054] Step 3 also includes: judging the correspondence between the customer number and the hardware number and the special version software. If one customer number corresponds to one special version software and one customer number corresponds to multiple hardware numbers, each execution switch variable value is managed in the firmware version software according to the hardware number to execute the corresponding special version software.

[0055] The execution switch variable value can be managed in the firmware version software according to the customer's differentiation and the corresponding special version software can be executed. For example: Customer A needs a camera product that uses lens 1 and lens 2 respectively. Lens 1 and lens 2 correspond to different special version software. When the two different special version software corresponding to lens 1 and lens 2 are compiled and dynamically configured to generate a unified firmware version software, the execution switch variable value can be managed in the firmware version software according to lens 1 or lens 2 to execute the corresponding special version software.

[0056] Step 3 also includes: judging the correspondence between the customer number and the hardware number in the special version software. If a customer number corresponds to a hardware number, and the hardware number corresponds to a special version software, then each execution switch variable value is managed in the firmware version software according to the customer number to execute the corresponding special version software.

[0057] The execution switch variable value can be managed in the firmware version software according to the differentiation of some hardware and the corresponding special version software can be executed. For example: Customer A requires the special function of lens 1 in a camera product, and Customer B requires the special function of lens 2. The two different special version software corresponding to Customer A and Customer B can be compiled and dynamically configured at one time to generate a unified firmware version software. The execution switch variable value can be managed in the firmware version software according to Customer A and Customer B and the corresponding special version software can be executed.

[0058] Through the above-mentioned multi-level management, the efficiency of software version development and product production can be effectively improved.

[0059] Step 3 also includes: shielding other execution switch variable values ​​in the basic program except for the execution switch variable values ​​of the dedicated version software corresponding to the corresponding execution that needs to be managed.

[0060] After the above-mentioned multi-level management, there may be other execution switch variable values ​​besides the corresponding execution corresponding to the special version software execution switch variable values ​​that need to be managed. Therefore, other corresponding programs except all the above-mentioned special version software execution switch variable values ​​can be shielded in the program of the software product, and then, check whether there are version restriction conditions set in the shielded program. If there are version restriction conditions, check whether the corresponding version that needs to be managed meets the version restriction conditions, and retain the programs that meet the version restriction conditions, shield the programs that do not meet the version restriction conditions, and realize the control of shielding management, which can further effectively improve the software version development efficiency and product production efficiency.

[0061] The present invention provides a management device capable of compiling and dynamically configuring multiple special versions of software at one time, characterized in that: Figure 2 As shown, it includes: a mapping table generation module, which establishes a switch mapping table through the customer number and hardware number, and the special function information corresponding to the customer number and the hardware number, and sends the switch mapping table information to the software compilation module; a software compilation module, which receives the switch mapping table information, and generates a special version software according to the special function information corresponding to different customer numbers and hardware numbers; and compiles the special version software generated by different special function information once to dynamically configure and generate a unified firmware version software, and sends the firmware version software information to the software management module; a software management module, which sets an execution switch variable value between the switch mapping table and the special version software, and each execution switch variable value is managed and operated in the firmware version software according to the customer number and the hardware number to execute the corresponding special version software.

[0062] The management device that can dynamically configure multiple special version software in one compilation can conveniently and accurately determine the execution switch variable value corresponding to any section of special version software in the unified firmware version software generated by one compilation dynamic configuration based on the correspondence between the execution switch variable value and the special version software. It can dynamically adapt to a variety of customer-customized special version software, improve the efficiency of firmware version testing and issuance and the controllability of equipment production, thereby reducing the number of firmware verification and production preparation in the software development process, and improving the software version development efficiency and product production efficiency.

[0063] A judgment module is also provided in the software management module, and the judgment module is used to judge the correspondence between the customer number and the hardware number and the special version software. If a customer number corresponds to a hardware number, and the hardware number corresponds to a special version software, then each execution switch variable value is managed in the firmware version software according to the customer number to execute the corresponding special version software.

[0064] A judgment module is also provided in the software management module, and the judgment module is used to judge the correspondence between the customer number and the hardware number and the special version software. If a customer number corresponds to a hardware number, and the hardware number corresponds to a special version software, then each execution switch variable value is managed in the firmware version software according to the customer number to execute the corresponding special version software.

[0065] A shielding module is also provided in the software management module, and the shielding module is used to shield other execution switch variable values ​​in the basic program except for the execution switch variable values ​​of the corresponding special version software that needs to be managed. Other corresponding programs except for all the above-mentioned special version software execution switch variable values ​​can be shielded in the program of the software product, and then, it is checked whether the shielded program has version restriction conditions set. If the version restriction conditions are set, it is checked whether the corresponding version to be managed meets the version restriction conditions, and the programs that meet the version restriction conditions are retained, and the programs that do not meet the version restriction conditions are shielded, so as to realize the control of shielding management.

[0066] As a preferred embodiment of the present invention, in the description of this specification, the description with reference to the term "preferred" or the like means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.

[0067] The above embodiments are only used to illustrate the detailed scheme of the present invention, and the present invention is not limited to the above detailed scheme, that is, it does not mean that the present invention must rely on the above detailed scheme to be implemented. Those skilled in the art should understand that any improvement of the present invention, equivalent replacement of various raw materials of the product of the present invention, addition of auxiliary components, selection of specific methods, etc., all fall within the protection scope and disclosure scope of the present invention.

Claims

1. A management method for dynamically configuring multiple special versions of software by compiling once, characterized in that: The following steps are involved: Step 1: Establish a switch mapping table through the customer number and the hardware number, as well as the special function information corresponding to the customer number and the hardware number; Step 2: Generate a dedicated version of software according to the dedicated function information corresponding to different customer numbers and hardware numbers; and compile and dynamically configure the dedicated version of software generated by different dedicated function information to generate a unified firmware version of software; Step 3: Set the execution switch variable value between the switch mapping table and the dedicated version software. Each execution switch variable value is managed and operated in the firmware version software according to the customer number and the hardware number to execute the corresponding dedicated version software. Step 3 also includes: judging the correspondence between the customer number and the hardware number and the dedicated version software, if one customer number corresponds to one dedicated version software, and one customer number corresponds to multiple hardware numbers, each execution switch variable value is managed in the firmware version software according to the hardware number to execute the corresponding dedicated version software; Step 3 also includes: judging the correspondence between the customer number and the hardware number and the special version software, if a customer number corresponds to a hardware number, and the hardware number corresponds to a special version software, then each execution switch variable value is managed in the firmware version software according to the customer number to execute the corresponding special version software; The execution switch variable values ​​of the basic program other than the execution switch variable values ​​of the dedicated version software corresponding to the corresponding executions that need to be managed are shielded.

2. A management device that can dynamically configure multiple special versions of software by compiling once, characterized in that: include: A mapping table generation module, which establishes a switch mapping table through the customer number and the hardware number, and the special function information corresponding to the customer number and the hardware number, and sends the switch mapping table information to the software compilation module; The software compiling module receives the switch mapping table information, and generates a dedicated version of software according to the dedicated function information corresponding to different customer numbers and hardware numbers; and compiles the dedicated version of software generated by different dedicated function information once to dynamically configure and generate a unified firmware version of software, and sends the firmware version software information to the software management module; The software management module sets the execution switch variable value between the switch mapping table and the special version software, and each execution switch variable value is managed and operated in the firmware version software according to the customer number and the hardware number to execute the corresponding special version software; A judgment module is also provided in the software management module, and the judgment module is used to judge the correspondence between the customer number and the hardware number and the special version software. If a customer number corresponds to a hardware number, and the hardware number corresponds to a special version software, then each execution switch variable value is managed in the firmware version software according to the customer number to execute the corresponding special version software; The judgment module is further used to judge the correspondence between the customer number and the hardware number and the special version software. If one customer number corresponds to one special version software, and one customer number corresponds to multiple hardware numbers, each execution switch variable value is managed in the firmware version software according to the hardware number to execute the corresponding special version software; A shielding module is also provided in the software management module, and the shielding module is used to shield other execution switch variable values ​​in the basic program except for the execution switch variable values ​​of the corresponding dedicated version software that need to be managed.

Citation Information

Patent Citations

  • Method and device for multi-version management of software product and computer equipment

    CN104573526A

  • Software version management and use methods and systems

    CN108710503A