Vehicle version integration method, device, equipment, medium and program product
通过在车辆版本集成中采用'老带新'模式,利用老员工的工作经验确定软件模块的目标模块版本,解决了现有技术中车辆版本集成编译效率和准确度低的问题,实现了高效、 Accurate integration operations and reduced labor costs.
Patent Information
- Application Number
- CN202411373252.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-01-24
AI Technical Summary
The efficiency and accuracy of the integrated compilation of vehicle versions in the prior art is low, mainly due to the differences in hardware configuration and software requirements of different models, which leads to the integration personnel need to align versions between different models, which increases labor costs and complexity.
Adopting the "old and new" model, by identifying new employees (target integrators) and the old employees who lead their work (similar integrators), the target module version of the software module is determined based on the work experience of the old employees, and then the integration operation is performed. This method uses the historical usage records of old employees to identify old employees who are similar to new employees, saves new employees time in selecting module versions, and improves the efficiency and accuracy of integrated compilation.
Effectively improve the efficiency and accuracy of the integrated compilation of the vehicle version, reduce the time of the new employee selection module version, reduce the cost of labor, and increase the adaptation speed of integrated personnel to different models.
Smart Images

Figure CN119356727A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of vehicle technology, and in particular to a vehicle version integration method, device, equipment, medium and program product. Background Art
[0002] In order to meet consumer demand, adapt to the ever-changing market and technological environment, and improve product competitiveness, OEMs usually continuously improve vehicle functions and fix known problems through version updates to ensure their position in the market.
[0003] Version integration is a key step in version updates, which involves integrating different software modules and components into a unified system to meet the needs of specific models. Currently, since different models may have different hardware configurations and software requirements, the software needs to be adapted and customized. Integrators also need to align versions between different models to ensure that the software can run stably on each model.
[0004] However, the efficiency and accuracy of the integrated compilation of vehicle versions in the prior art are low. Summary of the invention
[0005] One of the objects of the present invention is to provide a vehicle version integration method to solve the problem of low efficiency and accuracy in the integration compilation of vehicle versions in the prior art; the second object is to provide a vehicle version integration device; the third object is to provide an electronic device; the fourth object is to provide a computer-readable storage medium; and the fifth object is to provide a computer program product.
[0006] In order to achieve the above object, the technical solution adopted by the present invention is as follows:
[0007] A vehicle version integration method, comprising:
[0008] For any vehicle model, determine the working hours of each integrator on the vehicle model;
[0009] If there is a target integrator whose working hours are less than the preset working hours, then for each software module, based on the historical usage records of each integrator for each module version of the software module, determine similar integrators who are similar to the target integrator;
[0010] Determining a target module version of the software module according to the historical usage records of the similar integrators for each module version of the software module;
[0011] The determined target module version of each software module is integrated to generate a vehicle version.
[0012] According to the above technical means, the "old with new" model is considered. First, for any vehicle model, a new employee (target integrator) for the vehicle model is determined, and then the old employee (similar integrator) who leads the new employee is determined. Then, based on the work experience of the old employee, the target module version of each software module is determined for subsequent integration operations. In this way, the time of new employees to select module versions by themselves can be effectively saved, and the problem of selecting the wrong module version due to unfamiliarity with the business can be avoided, which effectively improves the efficiency and accuracy of the integrated compilation of the vehicle version.
[0013] Furthermore, for each software module, according to the historical usage records of each integrator for each module version of the software module, determining similar integrators who are similar to the target integrator includes:
[0014] For each software module, generating a first interest vector for each integrator for the software module according to the historical usage records of each integrator for each module version of the software module, wherein the first interest vector is used to indicate the interest of the integrator for each module version in the software module;
[0015] Calculate the similarity between the target integrator and each other integrator according to the first interest vector of the target integrator and the first interest vectors of other integrators;
[0016] The other integration personnel with the greatest similarity are determined as the similar integration personnel.
[0017] According to the above technical means, considering that the target integrator is led by the old employees, the target integrator's work will have a high degree of repetition with the old employees. Therefore, for each software module, similar integrators similar to the target integrator can be determined based on the historical usage records of each integrator for each module version of the software module, which can effectively ensure the accuracy of the determination of similar integrators.
[0018] Further, the calculating the similarity between the target integrator and each other integrator according to the first interest vector of the target integrator and the first interest vectors of other integrators includes:
[0019] For any other integration personnel, calculating a first product of the first interest vector of the target integration personnel and the first interest vector of the other integration personnel;
[0020] Calculate the second product of the modulus of the first interest vector of the target integrator and the modulus of the first interest vector of the other integrators;
[0021] The quotient of the first product divided by the second product is determined as the similarity between the target integration personnel and the other integration personnel.
[0022] According to the above technical means, since the first interest vector can indicate the module version that the integrator is interested in and concerned about, the similarity between different integrators can be determined based on their first interest vectors. The higher the similarity, the higher the overlap of their previous work, which effectively ensures the accuracy of subsequent determination of similar integrators based on similarity.
[0023] Further, the calculating of the second product of the modulus of the first interest vector of the target integrator and the modulus of the first interest vector of the other integrators includes:
[0024] Normalizing the first interest vector of the target integrator and the first interest vectors of the other integrators respectively to generate the second interest vector of the target integrator and the second interest vectors of the other integrators;
[0025] Setting the component of the second interest vector of the target integration personnel that is smaller than a preset threshold value to a preset value, and generating a third interest vector of the target integration personnel;
[0026] Setting the component of the second interest vector of the other integrator that is smaller than the preset threshold value to the preset value, and generating a third interest vector of the other integrator;
[0027] Calculate the second product of the modulus of the third interest vector of the target integrator and the modulus of the third interest vector of the other integrators.
[0028] According to the above technical means, by normalizing the first interest vector, the purpose of data cleaning is achieved, so that data of different dimensions have the same importance and weight, avoiding excessive impact on similarity calculation due to large values of some dimensions, thereby improving the accuracy of determining similar integrators. In addition, when the number of module versions continues to increase, such as when it expands to more than 20, the difference between module versions will be very small. Therefore, a preset threshold can be used to filter the data, for example, the component below the preset threshold can be directly set to 0. In this way, the data coupling rate can be further amplified, and the processing efficiency and accuracy can be improved.
[0029] Furthermore, the method further comprises:
[0030] Multiplying the preset weight vector by the third interest vector of the target integrator to generate a fourth interest vector of the target integrator;
[0031] Multiplying the preset weight vector by the third interest vector of the other integrator to generate a fourth interest vector of the other integrator;
[0032] Correspondingly, the calculating of the second product of the modulus of the third interest vector of the target integrator and the modulus of the third interest vector of the other integrators includes:
[0033] Calculate a second product of the modulus of the fourth interest vector of the target integrator and the modulus of the fourth interest vector of the other integrators.
[0034] According to the above technical means, a weight vector is pre-set according to the importance of each module version, so that when calculating the similarity, the module versions with high importance are focused on, which can effectively improve the accuracy of the similarity calculation.
[0035] Furthermore, for each software module, generating a first interest vector of each integrator for the software module according to the historical usage records of each integrator for each module version of the software module includes:
[0036] For each software module, according to the historical usage records of each integrator for each module version of the software module, determine the number of times each integrator has used each module version;
[0037] According to the number of times each integrator uses each module version, a first interest vector of each integrator is determined.
[0038] According to the above technical means, since the more times the module version is used, the more interested the integrator is in it, for any software module, the number of times the integrator uses each module version can be used to accurately determine the first interest vector of each integrator.
[0039] Further, determining the target module version of the software module according to the historical usage records of the similar integrators for each module version of the software module includes:
[0040] Determine the number of times each module version is used by the similar integrator according to the similar integrator;
[0041] The module version with the largest number of uses is determined as the target module version.
[0042] According to the above technical means, after the old employees (similar integrators) are identified, since the module versions frequently used by the old employees are the module versions recognized by them, the module versions most frequently used by the old employees can be determined as the target module versions based on the number of times the old employees use each module version.
[0043] Further, determining the other integration personnel with the greatest similarity as the similar integration personnel includes:
[0044] Determine the greatest similarity from multiple similarities;
[0045] If the maximum similarity is greater than a preset similarity, other integration personnel corresponding to the maximum similarity are determined as the similar integration personnel.
[0046] According to the above technical means, since the more times the module version is used, the more interested the integrator is in it, for any software module, the number of times the integrator uses each module version can be used to accurately determine the first interest vector of each integrator.
[0047] A vehicle version integration device, comprising:
[0048] A first determination module is used to determine, for any vehicle model, the working hours of each integrator for the vehicle model;
[0049] A second determination module is used to determine similar integrators who are similar to the target integrators according to the historical usage records of each integrator for each module version of the software module for each software module if there is a target integrator whose working hours are less than the preset working hours;
[0050] A third determination module is used to determine the target module version of the software module according to the historical usage records of the similar integrators for each module version of the software module;
[0051] The integration module is used to integrate the determined target module version of each software module to generate a vehicle version.
[0052] Further, the second determining module is specifically used to:
[0053] For each software module, generating a first interest vector for each integrator for the software module according to the historical usage records of each integrator for each module version of the software module, wherein the first interest vector is used to indicate the interest of the integrator for each module version in the software module;
[0054] Calculate the similarity between the target integrator and each other integrator according to the first interest vector of the target integrator and the first interest vectors of other integrators;
[0055] The other integration personnel with the greatest similarity are determined as the similar integration personnel.
[0056] Further, the second determining module is specifically used to:
[0057] For any other integration personnel, calculating a first product of the first interest vector of the target integration personnel and the first interest vector of the other integration personnel;
[0058] Calculate the second product of the modulus of the first interest vector of the target integrator and the modulus of the first interest vector of the other integrators;
[0059] The quotient of the first product divided by the second product is determined as the similarity between the target integration personnel and the other integration personnel.
[0060] Further, the second determining module is specifically used to:
[0061] Normalizing the first interest vector of the target integrator and the first interest vectors of the other integrators respectively to generate the second interest vector of the target integrator and the second interest vectors of the other integrators;
[0062] Setting the component of the second interest vector of the target integration personnel that is smaller than a preset threshold value to a preset value, and generating a third interest vector of the target integration personnel;
[0063] Setting the component of the second interest vector of the other integrator that is smaller than the preset threshold value to the preset value, and generating a third interest vector of the other integrator;
[0064] Calculate the second product of the modulus of the third interest vector of the target integrator and the modulus of the third interest vector of the other integrators.
[0065] Furthermore, the vehicle version integration device further includes a generating module, which is used to:
[0066] Multiplying the preset weight vector by the third interest vector of the target integrator to generate a fourth interest vector of the target integrator;
[0067] Multiplying the preset weight vector by the third interest vector of the other integrator to generate a fourth interest vector of the other integrator;
[0068] The second determining module is specifically used to:
[0069] Calculate a second product of the modulus of the fourth interest vector of the target integrator and the modulus of the fourth interest vector of the other integrators.
[0070] Further, the second determining module is specifically used to:
[0071] For each software module, according to the historical usage records of each integrator for each module version of the software module, determine the number of times each integrator has used each module version;
[0072] According to the number of times each integrator uses each module version, a first interest vector of each integrator is determined.
[0073] Further, the third determination module is specifically used to:
[0074] Determine the number of times each module version is used by the similar integrator according to the similar integrator;
[0075] The module version with the largest number of uses is determined as the target module version.
[0076] Further, the second determining module is specifically used to:
[0077] Determine the greatest similarity from multiple similarities;
[0078] If the maximum similarity is greater than a preset similarity, other integration personnel corresponding to the maximum similarity are determined as the similar integration personnel.
[0079] An electronic device comprises: a processor, a memory and computer-executable instructions stored in the memory and executable on the processor, wherein the processor is used to implement the above-mentioned vehicle version integration method when executing the computer-executable instructions.
[0080] A computer-readable storage medium is characterized in that the computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the above-mentioned vehicle version integration method.
[0081] A computer program product includes a computer program, wherein the computer program is used to implement the above-mentioned vehicle version integration method when executed by a processor.
[0082] Beneficial effects of the present invention:
[0083] (1) Consider the "old with new" model. First, for any vehicle model, identify the new employee (target integrator) for that vehicle model, then identify the old employee (similar integrator) who will lead the new employee, and then determine the target module version of each software module based on the old employee's work experience for subsequent integration operations. This method can effectively save the time of new employees in selecting module versions by themselves, avoid the problem of selecting the wrong module version due to unfamiliarity with the business, and effectively improve the efficiency and accuracy of vehicle version integration compilation.
[0084] (2) Improve the speed at which integrators can adapt to different vehicle models and reduce their dependence on vehicle models, so that one integrator can integrate multiple vehicle versions at the same time, reducing the manpower cost of integration operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0085] Figure 1 A schematic diagram of the structure of an integrated platform provided by an embodiment of the present invention;
[0086] Figure 2 A schematic diagram of the process of integrating a version package provided by an embodiment of the present invention;
[0087] Figure 3 A schematic diagram of a process flow of a first embodiment of a vehicle version integration method provided by an embodiment of the present invention;
[0088] Figure 4 A schematic diagram of a flow chart of a second embodiment of a vehicle version integration method provided by an embodiment of the present invention;
[0089] Figure 5 A schematic diagram of a process flow of a third embodiment of a vehicle version integration method provided by an embodiment of the present invention;
[0090] Figure 6 A flowchart of a fourth embodiment of a vehicle version integration method provided by an embodiment of the present invention;
[0091] Figure 7 A schematic diagram of a scenario of a vehicle version integration method provided by an embodiment of the present invention;
[0092] Figure 8 A flowchart of a fifth embodiment of a vehicle version integration method provided by an embodiment of the present invention;
[0093] Fig. 9 A schematic diagram of the structure of a vehicle version integration device provided by an embodiment of the present invention;
[0094] Fig.10 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0095] The following will describe the embodiments of the present invention with reference to the accompanying drawings and preferred embodiments. Those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. It should be understood that the preferred embodiments are only for illustrating the present invention, not for limiting the scope of protection of the present invention.
[0096] It should be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present invention, and thus the drawings only show components related to the present invention rather than being drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component may be changed arbitrarily, and the component layout may also be more complicated.
[0097] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the present invention are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards, and corresponding operation entrances shall be provided for users to choose to authorize or refuse.
[0098] First, the background involved in the embodiments of the present invention is explained.
[0099] In the automotive industry, OEMs usually produce a variety of models, which may include sedans, sport utility vehicles (SUVs), trucks, electric vehicles, etc. Each model has its own unique market positioning and customer base, so they may differ in functions, performance, and user experience. In order to meet these diverse needs, OEMs will design different software architectures to support the specific functions of each model.
[0100] Software architecture refers to the structural design of a software system, which defines the components, modules, interfaces and the relationships between them. In automotive software development, software architecture is the basis for ensuring that the vehicle's electronic systems can operate and scale effectively. Different software architectures may include different control units, sensors, actuators and software modules, which work together to realize various vehicle functions, such as powertrain control, driver assistance, infotainment, and connected car services.
[0101] In order to meet consumer demand, adapt to the ever-changing market and technological environment, and improve product competitiveness, OEMs usually continuously improve vehicle functions and fix known problems through version updates to ensure their position in the market.
[0102] In practical applications, a version update usually refers to a new iteration or release of a software or hardware system, which includes a series of improvements, fixes or new features of the previous version. Each vehicle version contains multiple software modules, which are provided by different suppliers. Specifically, the OEM can sign an agreement with multiple suppliers, and the OEM is responsible for the design, development and production of the entire vehicle. The supplier provides the OEM with various parts, software modules and systems in accordance with the requirements and standards of the OEM.
[0103] When the supplier develops a new software module version package, it will be provided to the OEM. After receiving these new software module version packages, the OEM will conduct a series of evaluation and verification work to ensure that these new software module version packages can be seamlessly integrated with the existing vehicle software architecture and other system components, and can meet the technical and functional requirements of specific models. Finally, the software module version package that each software module wants to use is determined, and the software module version packages of these software modules are integrated to generate a new vehicle version.
[0104] However, with the continuous development of automotive electronics, the electrical architecture components of automotive software have changed from simple electronic control units (ECU) controllers to powerful system-on-chip (SOC) domain controllers, and the intuitive feeling is that the control functions have become very complex. Especially in a large OEM project, which consists of dozens of software module codes, the software development code integration of the entire domain controller is becoming more and more challenging.
[0105] Version integration is a critical step that involves integrating different software modules and components into a unified system to meet the needs of specific vehicle models. This process requires a high degree of coordination and technical capabilities, as it requires integrators to understand the dependencies between different modules and ensure that they can work together correctly in the target environment.
[0106] For replication projects, although the core functions are the same, different models may have different hardware configurations and software requirements, so the software needs to be adapted and customized. Integrators also need to align versions between different models to ensure that the software can run stably on each model, which requires a lot of manpower.
[0107] Especially in large OEMs, integration becomes particularly complex when faced with multiple different software architectures but sharing the same intelligent driving solution. Due to limited hardware resources and human resources, integrators need to quickly switch between different models while ensuring the consistency and compatibility of the underlying software and application layer codes. In this case, the integration system is prone to a huge amount of pipeline establishment for large-scale replication projects, and the version alignment of dozens of models is a huge challenge for the limited integration manpower.
[0108] Therefore, when integrating vehicle versions of different models, integrators not only need to understand the specific requirements of each model, but also need to deal with the differences between different versions to ensure the stability and performance of the software. This requires integrators to have high professional skills and project management capabilities to cope with these complex integration challenges.
[0109] In other words, when faced with multiple vehicle models, a large number of personnel are required to carry out integrated compilation processing such as module configuration, function item confirmation, integrated error prediction alarm, integrated version multi-modality, etc., resulting in low efficiency and accuracy in integrated compilation of vehicle versions.
[0110] Based on the above technical problems, the technical concept of the embodiment of the present invention is as follows: The main reason for the low efficiency and accuracy of the integration compilation of vehicle versions in the prior art is that there are differences between different models, which leads to most integration personnel being able to focus on only one model or a small number of models. If an integration personnel wants to handle a large number of models, when the integration personnel faces a new model, it takes a lot of time to determine the version corresponding to each software module in the model, and the efficiency and accuracy of the whole process are low, which in turn affects the efficiency and accuracy of the integration compilation. Considering that in actual applications, when the integration personnel are exposed to new vehicle model projects, they are generally led by old employees. Therefore, according to the degree of interest of the integration personnel in each module version in each software module, the old employee who leads the integration personnel can be determined, and then the module version of each software module frequently used by the old employee can be recommended to the integration personnel, which can effectively reduce the time for the integration personnel to determine the module version, improve the accuracy of determining the module version, and achieve the purpose of integrating the vehicle versions of as many models as possible by as few integration personnel as possible, thereby improving the efficiency and accuracy of the integration compilation of the vehicle version.
[0111] Before introducing the vehicle version integration method involved in the present invention, the integration platform on which the vehicle version integration method relies is first explained in detail.
[0112] Figure 1 The schematic diagram of the structure of the integrated platform provided by the embodiment of the present invention is as follows. Figure 1 As shown in the figure, from the top-level design, the integration platform is compatible with multiple software architectures. In this integration platform, only one integration main line is needed, and each software architecture can quickly arrange the version train, so that other models can quickly update and iterate while keeping a very short version gap with the main line. In other words, all models can be arranged in a unified structure at the integration front end, which is generally planned as difference items and common items.
[0113] Among them, version train arrangement refers to a control method for version integration. A main line that never changes is determined at the integration front end, and all updates are based on this main line, such as resource optimization measures, some performance optimization items, and some defect (English: bug) repair items reported by duplicate models. All of them are integrated and maintained by dedicated integration personnel. All versions are replicable, highly compatible with each other, and can jump between different models.
[0114] At the same time, from the perspective of module integration design, in large OEM projects, since each supplier has its own independent module development mechanism, what they provide to the OEM is usually a combination package containing multi-source heterogeneous information. Faced with this combination package of multi-source heterogeneous information provided by multiple suppliers, we need to integrate these independent version packages into an overall module version package based on the above top-level design.
[0115] Figure 2 The following is a flow chart of the version package integration process provided by the embodiment of the present invention. Figure 2 As shown, the structure of multi-source heterogeneous information includes but is not limited to tar.gz, zip, image, and sh. The version integration process of the multi-source heterogeneous information includes:
[0116] Step 1. Split the board support package (BSP).imp into boot.img, system.imgh, and disk.img (excluding application (app)).
[0117] Step 2: Package boot.img, system.imgh, app.zip, zros.tar.ga, and cx.app.img into app.img using the packaging script.
[0118] Step 3. Integrate app.img into disk.img (including app) through the integration (English: merge) script.
[0119] Through the above Figure 2 The process shown can integrate the four types of multi-source heterogeneous information into a pack package (module version package). In the subsequent integration process, the integrator can pull the code from the pack package according to the determined module version and perform integrated compilation.
[0120] Furthermore, for different configuration requirements caused by different models of vehicles with the same software architecture, traditional technicians need to write software codes that adapt to different parameters and write underlying software codes for multiple models at the same time. In order to reduce the compilation time, the present invention solves the compilation problem of multi-modal integrated packages in advance at the integrated compilation front end, which greatly improves the integration efficiency and platform capabilities of the software.
[0121] Specifically, the configuration parameters of each vehicle model are classified and stored in the form of folders as difference items. In a possible implementation, each vehicle model identifier can be used as the name of a vehicle model folder, and the configuration parameters of the vehicle model are stored in the vehicle model folder.
[0122] Furthermore, the vehicle model information (configuration parameters for each vehicle model) is abstracted and a unified vehicle model information interface is extracted. After the kernel is started, the application node is started through the vehicle model information interface provided by the BSP, and the application node parses the corresponding vehicle model folder. In this way, during the integration process, the configuration parameters corresponding to the vehicle model can be determined according to the vehicle model to be integrated, and the configuration parameters can be returned to the corresponding startup function. In this way, different vehicle models can use the same set of version codes to implement customized driver content based on their respective vehicle model entries.
[0123] It should be understood that in this integrated platform, the functional differences of all software modules are controlled only by configuration parameters, not by code level. Through the definition of rules and tools, for transplantation projects and replication projects, temporary versions can be produced for verification. For example, major functional verification can be done through Figure 1 The feedback line shows that the next version of the product will be launched as soon as possible. At the same time, through the existing compilation server, it is possible to accurately trace which application layer modules of the collaborating parties make up the target vehicle version of each model, and the corresponding module versions are integrated and compiled.
[0124] In actual applications, integrators can modify the required integration files through the interface of a distributed version control system (such as Git). The Git interface can synchronize the version information of the vehicle version to the integrated version interface, and the synchronization of version information can be converted into version compilation and combination control of the built intranet server.
[0125] Next, the process of version integration based on the integration platform is explained through a specific example.
[0126] For SOC, SOC is divided into four software modules, namely software module 1, software module 2, software module 3, and software module 4. The integrator needs to determine the module version of each software module separately to integrate the SOC version package. For MCU, MCU is divided into five software modules, namely software module 5, software module 6, software module 7, software module 8, and software module 9. Similarly, the integrator needs to determine the module version of each software module separately, and then combine the determined module version with the basic software layer (Basic Software, BSW) (BSW-a, BSW-b, BSW-c, BSW-d) of different software architectures (software architecture a, software architecture b, software architecture c, software architecture d) to generate MCU version packages (MCU-a version package, MCU-b version package, MCU-c version package, MCU-d version package) corresponding to different software architectures. Among them, the module version packages corresponding to the module versions of each module are integrated and generated based on the combination packages of multi-source heterogeneous information.
[0127] Furthermore, for each vehicle model corresponding to the software architecture, the vehicle model identification (differentiation parameters) is matched with each vehicle model folder stored in the parameter warehouse to determine the configuration parameters corresponding to the vehicle model. After that, the vehicle version is integrated according to the configuration parameters and the SOC version package and the MCU version package to generate the vehicle version of the vehicle model.
[0128] based on Figure 1 The integration platform is shown, and the vehicle version integration method is explained next.
[0129] The technical solution of the present invention is described in detail below through specific embodiments.
[0130] It should be noted that the following specific embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0131] Figure 3 The flowchart of the vehicle version integration method embodiment 1 provided by the embodiment of the present invention is as follows. Figure 3 As shown, the vehicle version integration method may include the following steps:
[0132] S31. For any vehicle model, determine the working hours of each integrator for the vehicle model.
[0133] The execution subject of the embodiment of the present invention may be a terminal device, such as a laptop, a tablet computer, a desktop computer, etc., or a server, such as, Figure 1 Therefore, in this embodiment, the terminal device and the server are collectively referred to as electronic devices for explanation. Whether the electronic device is specifically a terminal device or a server can be determined according to actual conditions.
[0134] In actual applications, integrators need to Figure 1 The integration platform shown integrates vehicle versions. Specifically, the integrator needs to log in to his account on the integration platform, select the vehicle model to be processed, determine the module version of each software module required for the vehicle model, and then integrate the module version packages corresponding to these module versions to generate the vehicle version corresponding to the vehicle model. When the integrator uses the integration platform to work, the integration platform will store the work data related to the integrator, such as the historical usage records of each module version of each software module when the integrator integrates the vehicle version of each vehicle model, the working hours for each vehicle model, the vehicles that are followed or collected, etc. These work data will be associated with the integrator's account, and then the working hours of each integrator for each vehicle model can be determined based on the account of each integrator logged in on the integration platform.
[0135] Exemplarily, the vehicle model may be a sedan, SUV, truck, electric vehicle, etc. It should be understood that the vehicle model may also be a specific vehicle model code, which is not specifically limited in the embodiment of the present invention.
[0136] S32. If there is a target integrator whose working hours are less than the preset working hours, then for each software module, based on the historical usage records of each integrator for each module version of the software module, determine similar integrators who are similar to the target integrator.
[0137] Exemplarily, the preset duration may be 1 day, 5 days, 10 days, etc., which may be specifically limited according to actual conditions, and the embodiment of the present invention does not impose any specific limitation on this.
[0138] In actual applications, considering that the target integrators whose working hours are less than the preset working hours have little experience in handling the model, most of the time, the model version integration work is led by senior employees. Therefore, the senior employees (i.e. similar integrators) who lead the target integrators can be identified, and then the module versions recognized by the senior employees can be recommended to the target integrators, which saves the time of employees' own selection and ensures the accuracy of the determined module versions.
[0139] In addition, considering that the target integrator is led by senior employees, the target integrator's work will have a higher degree of repetition with the senior employees. For example, in the early stage of work, for software module A, the senior employees will inform the target integrator of the advantages and disadvantages of each module version in software module A, and recommend the most suitable module version to the target integrator. In this way, the target integrator will perform integration operations based on the module version recommended by the senior employees in the subsequent work process. Therefore, for each software module, similar integrators similar to the target integrator can be determined based on the historical usage records of each integrator for each module version of the software module.
[0140] In a possible implementation, S32 may be implemented by the following steps a to c:
[0141] Step a: for each software module, generate a first interest vector of each integrator for the software module according to the historical usage record of each integrator for each module version of the software module.
[0142] The first interest vector is used to indicate the interest of the integrator in each module version in the software module. That is, the higher the interest, the more likely the integrator is to select the module version for subsequent version integration.
[0143] In step a, for each software module, the number of times each integrator has used each module version can be determined based on the historical usage records of each integrator for each module version of the software module. Then, the first interest vector of each integrator is determined based on the number of times each integrator has used each module version.
[0144] It should be understood that the historical usage records of each integrator for each module version of the software module can be obtained from the work data associated with the integrator's account. That is, the historical usage records of the integrator for each module version of the software module in the integration platform can be determined based on the integrator's account, and then the number of times the integrator uses each module version can be counted. The more times it is used, the more interested the integrator is in the module version. Therefore, for any software module, the number of times the integrator uses each module version can be used to accurately determine the first interest vector of each integrator.
[0145] Optionally, for each integrator, in each software module, the number of times the integrator uses each module version can be determined as the integrator's interest in the module version, thereby determining the integrator's first interest vector for the software module.
[0146] Optionally, if the integrator has just joined the company and has not used the software module, the first interest vector of the integrator for the software module can be set manually (for example, by the project chief engineer). As the integrator's tenure gradually increases, the first interest vector of the integrator for the software module can be updated based on the integrator's historical usage records of each version of the software module.
[0147] In the above method, the artificially set first interest vector is equivalent to the prior information. Since there may be complicated personnel changes for a large locomotive project, the prior information can be calibrated through the a posteriori information, that is, the pre-set first interest vector can be updated and adjusted through the historical usage records of each module version of the software module by the integrator.
[0148] Through the first interest vector, the participation of the integrators in each module version can be intuitively known.
[0149] Step b: Calculate the similarity between the target integrator and each other integrator based on the first interest vector of the target integrator and the first interest vectors of other integrators.
[0150] It should be understood that the other integrators may be integrators other than the target integrator among all integrators, or may be integrators other than the target integrator in the department where the target integrator is located. It should be understood that the specific integrators that the other integrators are may be determined based on the personnel scope of similar integrators, and the embodiments of the present invention do not specifically implement this.
[0151] It should be understood that the specific implementation principle and process of step b will be Figure 4 The illustrated embodiment is specifically explained and illustrated and will not be described in detail here.
[0152] Step c: Determine other integration personnel with the greatest similarity as similar integration personnel.
[0153] In step c, the higher the similarity, the greater the overlap of the work of the two integration personnel. Therefore, in a possible implementation, the other integration personnel with the greatest similarity to the target integration personnel can be determined as the old employees who lead the target integration personnel.
[0154] In another possible manner, a maximum similarity may be determined from multiple similarities. If the maximum similarity is greater than a preset similarity, other integration personnel corresponding to the maximum similarity are determined as similar integration personnel.
[0155] Exemplarily, the preset similarity may be 80%, 85%, 90%, etc., which may be determined according to actual conditions, and the embodiment of the present invention does not impose any specific limitation on this.
[0156] In the above implementation, the preset similarity factor can help filter out other integrators who have high similarity but are not enough to be considered as similar integrators, thereby improving the accuracy of determining similar integrators and the accuracy of subsequent target module version determination.
[0157] S33. Determine the target module version of the software module based on similar integrators.
[0158] In a possible implementation, the number of times similar integrators use each module version can be determined based on the historical usage records of similar integrators for each module version of the software module, and then the module version with the largest number of usages is determined as the target module version.
[0159] In the above implementation method, after the old employees (similar integrators) are determined, since the module versions frequently used by the old employees are the module versions they recognize, the module versions most frequently used by the old employees can be determined as the target module versions based on the number of times the old employees use each module version.
[0160] In another possible implementation, the module version collected by similar integrators may be determined as the target module version.
[0161] It should be understood that if a similar integrator has collected multiple module versions in a software module, the module version that is used most times among the multiple module versions can be determined as the target module version.
[0162] In yet another possible implementation, similar integrators may set a target module version for each module version in advance based on experience, and then after determining similar integrators, the target module version for each software module may be obtained.
[0163] Optionally, after the target module version is determined, it can also be recommended to the target integrator.
[0164] Optionally, in addition to recommending the target version module to the target integrator, the historical usage records of the target version module by similar integrators, the version information of the target version module, the module information of the software module, etc. may also be recommended to the target integrator.
[0165] S34, integrating the determined target module versions of each software module to generate a vehicle version.
[0166] In a possible implementation, the above S32 and S33 are repeatedly executed for each software module in the vehicle model, so as to obtain the target module version of each software module, and recommend the determined target module version of each software module to the target integrator. The target integrator can view the target module version of each software module through the terminal device, and then click the integration control on the front page of the integration platform displayed by the terminal device. The terminal device sends an integration request to the electronic device in response to the target integrator's click operation on the integration control. After receiving the integration request sent by the terminal device, the electronic device integrates the target module version of each software module to generate the vehicle version of the vehicle model.
[0167] It should be understood that by traversing all software modules and determining the target module version of each software, the maximum possible module version integration combination can be quickly recommended to the target integrator. Similarly, by traversing all vehicle models, the maximum possible module version integration combination for each vehicle model can be quickly recommended to the target integrator.
[0168] The vehicle version integration method provided by the embodiment of the present invention determines the working hours of each integration personnel for the vehicle model for any vehicle model. If there is a target integration personnel whose working hours are less than the preset working hours, for each software module, according to the historical use records of each module version of the software module by each integration personnel, a similar integration personnel similar to the target integration personnel is determined. After that, according to the similar integration personnel, the target module version of the software module is determined. Finally, the target module version of each determined software module is integrated to generate a vehicle version. In this technical solution, the "old with new" mode is considered. First, for any vehicle model, a new employee (target integration personnel) for the vehicle model is determined, and then the old employee (similar integration personnel) who leads the new employee to work is determined, and then the target module version of each software module is determined according to the work experience of the old employee to perform subsequent integration operations. In this way, the time of new employees to select module versions by themselves can be effectively saved, and the problem of selecting the wrong module version due to unfamiliarity with the business can be avoided, which effectively improves the efficiency and accuracy of the integrated compilation of the vehicle version.
[0169] It should be understood that this technical solution can improve the adaptation speed of integrators to different vehicle models, reduce the dependence on vehicle models, and enable an integrator to integrate versions of multiple vehicle models at the same time.
[0170] Optionally, in some embodiments, for any integrator, if the integrator's working time in any vehicle model is greater than or equal to the preset working time, the target module version of each software module can be recommended to the integrator based on the integrator's first interest vector for each software module in the vehicle model.
[0171] In a possible implementation manner, the module version with the highest interest in the first interest vector may be determined as the target module version.
[0172] Optionally, in some embodiments, for any integrator, the interest of the integrator for each vehicle model may also be calculated. If it is determined that the interest of the integrator for the first vehicle model gradually decreases, and the interest of the integrator for the second vehicle model gradually increases to a preset interest, then the module version integration combination of the second vehicle model is recommended to the integrator.
[0173] The interest of the integrator in each model can be determined based on the integrator's work data. For example, the interest of the integrator in each model can be determined based on the frequency of viewing each model information, the working hours for each model, the favorite models, etc.
[0174] In a possible implementation, based on the interest level of the integrator for each model, the model with the highest interest level and exceeding the preset interest level is determined as the model to be recommended. Then, based on the working time of the integrator for the model to be recommended, the recommendation method is determined. That is, if the working time is less than the preset working time, then Figure 3 The method shown determines the module version integration combination of the vehicle model to be recommended; if the working time is greater than or equal to the preset working time, the module version integration combination of the vehicle model to be recommended is recommended to the integrator based on the first interest vector of the integrator for each software module in the vehicle model to be recommended.
[0175] Next, through Figure 4 The implementation process and principle of step b in S32 are explained in detail.
[0176] Figure 4 The flowchart of the second embodiment of the vehicle version integration method provided by the embodiment of the present invention is as follows. Figure 4 As shown, step b in S32 can be implemented by the following steps:
[0177] S41. For any other integrator, calculate the first product of the first interest vector of the target integrator and the first interest vector of the other integrator.
[0178] S42, calculating the second product of the modulus of the first interest vector of the target integration personnel and the modulus of the first interest vectors of other integration personnel.
[0179] In a possible implementation, the first interest vector of the target integrator and the first interest vectors of other integrators can be normalized respectively to generate the second interest vector of the target integrator and the second interest vectors of other integrators. Afterwards, the component of the second interest vector of the target integrator that is less than a preset threshold is set to a preset value to generate the third interest vector of the target integrator, and the component of the second interest vector of other integrators that is less than a preset threshold is set to a preset value to generate the third interest vector of other integrators. Finally, the modulus of the third interest vector of the target integrator and the second product of the modulus of the third interest vectors of other integrators are calculated.
[0180] Exemplarily, the preset threshold value may be 0.2, 0.3, 0.4, etc., which may be determined according to actual conditions and will not be specifically explained in the embodiments of the present invention.
[0181] Exemplarily, the preset value may be 0, 0.01, 0.02, etc. In practical applications, the preset value may be a value close to 0 to achieve the purpose of data screening, and the preset value is not specifically explained in the embodiment of the present invention.
[0182] In the above implementation, the purpose of data cleaning is achieved by normalizing the first interest vector, so that data of different dimensions have the same importance and weight, avoiding excessive impact on similarity calculation due to large values of some dimensions, thereby improving the accuracy of determining similar integration personnel.
[0183] Moreover, when the number of module versions increases, such as when the number of module versions reaches more than 20, the differences between module versions will be very small. Therefore, a preset threshold can be used to filter the data, for example, the components below the preset threshold can be directly set to 0. In this way, the data coupling rate can be further amplified, and the processing efficiency and accuracy can be improved.
[0184] In another possible implementation, after obtaining the third interest vector of the target integrator and the third interest vectors of other integrators, the preset weight vector may be multiplied by the third interest vector of the target integrator to generate the fourth interest vector of the target integrator, and the preset weight vector may be multiplied by the third interest vectors of other integrators to generate the fourth interest vectors of other integrators, thereby calculating the modulus of the fourth interest vector of the target integrator and the second product of the modulus of the fourth interest vectors of other integrators.
[0185] In the above implementation, since different module versions have different importances, for example, when the bsp tag is updated, the version number is likely to change; when the sota tag is updated, the car model is likely to change. Therefore, a weight vector can be pre-set according to the importance of each module version, so that when calculating the similarity, the module versions with high importance are focused on, which can effectively improve the accuracy of the similarity calculation.
[0186] It should be understood that the bsp tag and the sota tag are both software modules of the same software module.
[0187] S43. Divide the quotient of the first product by the second product to determine the similarity between the target integration personnel and other integration personnel.
[0188] The vehicle version integration method provided in the embodiment of the present invention calculates the first product of the first interest vector of the target integrator and the first interest vector of the other integrators for any other integrators. Afterwards, the modulus of the first interest vector of the target integrator and the second product of the modulus of the first interest vector of the other integrators are calculated. Finally, the quotient of the first product divided by the second product is determined as the similarity between the target integrator and the other integrators. In the present technical solution, since the first interest vector can indicate the module version that the integrator is interested in and concerned about, the similarity between different integrators can be determined based on the first interest vectors of different integrators. The higher the similarity, the higher the overlap of the previous work of the two, which effectively ensures the accuracy of the subsequent determination of similar integrators based on the similarity.
[0189] In order to explain the process of determining the similarity between different integrators more clearly, a specific example is given below to explain it.
[0190] Assume that for software module A, there are 5 module versions, namely: zros tag, pcs tag, apahmi tag, bsp tag, sota tag. The number of times integrator A uses these 5 module versions is 5, 4, 3, 2, 1 respectively; the number of times integrator B uses these 5 module versions is 4, 3, 2, 3, 2 respectively. Then the first interest vector of integrator A for software module A is The first interest vector of integrator B for software module A is
[0191] Furthermore, the first product of the first interest vector of integrator A and the first interest vector of integrator B is calculated as:
[0192] The modulus of the first interest vector of integrated person A: The modulus of the first interest vector of integrated person B:
[0193] Afterwards, the first interest vector of integrator A is normalized according to the modulus of the first interest vector of integrator A to obtain the second interest vector of integrator A: The first interest vector of integrator B is normalized according to the modulus of the first interest vector of integrator B to obtain the second interest vector of integrator B:
[0194] Next, assuming that the preset threshold is 0.3 and the preset value is 0, the components less than 0.3 in the second interest vector are set to 0, and the third interest vector of integrator A is obtained: And the third interest vector of integrator B:
[0195] Furthermore, assuming that the preset weight vector is The preset weight vector is multiplied by the third interest vector to obtain the fourth interest vector of integrator A: The fourth interest vector of integrated person B:
[0196] The modulus of the fourth interest vector of integrator A is multiplied by the modulus of the fourth interest vector of integrator B to obtain a second product, and the quotient of the first product divided by the second product is determined as the similarity between integrator A and integrator B:
[0197]
[0198] Among them, sin(A,B) is the similarity between integration personnel A and integration personnel B.
[0199] Next, in combination with the vehicle version integration methods shown in the above embodiments, the vehicle version integration process is explained through several specific examples.
[0200] Figure 5 The flowchart of the vehicle version integration method embodiment 3 provided by the embodiment of the present invention is as follows. Figure 5 As shown, the vehicle version integration method can be implemented by the following steps:
[0201] S51. Obtain the module version integration combination of the vehicle model.
[0202] S52: Obtain a configuration file for the vehicle model.
[0203] The configuration file stores the configuration parameters of the vehicle model.
[0204] S53. Obtain the corresponding project.
[0205] S54. Determine the target compilation environment for the vehicle model based on the module version integration combination, configuration files, and projects.
[0206] S55. Integrate and compile the application layer software code corresponding to the configuration file and the module version integration combination in the target compilation environment to obtain configurable items.
[0207] S56. Integrate the configurable items and the corresponding firmware into a vehicle version package corresponding to the vehicle model.
[0208] S57. Generate a differential version according to the vehicle version package, and upload the differential version to the corresponding branch in the integration platform, thereby completing the integration of the copied vehicle.
[0209] Figure 6 The flowchart of the fourth embodiment of the vehicle version integration method provided by the embodiment of the present invention is as follows. Figure 6 As shown in the figure, the processing of multi-source heterogeneous information in the vehicle version integration method can be achieved through the following steps:
[0210] S61. Import multi-source heterogeneous information.
[0211] S62. Perform data cleaning on multi-source heterogeneous information.
[0212] S63. Organize the cleaned multi-source heterogeneous information and request relevant integrators to confirm the organized combination package containing the multi-source heterogeneous information.
[0213] S64. After confirmation by relevant integration personnel, the organized combination package containing multi-source heterogeneous information is uploaded to the parameter warehouse and locked for the second time.
[0214] S65. Perform functional debugging and verification on the organized combination package containing multi-source heterogeneous information.
[0215] If the verification is successful, S63 is repeated; if the verification is not successful, S62 is repeated.
[0216] Figure 7 A schematic diagram of a scenario of a vehicle version integration method provided by an embodiment of the present invention. Figure 7 As shown, in this scenario,
[0217] For a specific vehicle model, the behavior of the integrator is estimated based on the integrator's historical data (integration information and historical usage records of each module version). Then, when integrating the version, the integrator is recommended version tags, module tags, and parameter tags, and the vehicle version integration processing for the model is triggered.
[0218] Among them, the version tag is the vehicle version, the module tag is the module version, and the parameter tag is the configuration parameters required when integrating the vehicle version.
[0219] Figure 8 The flowchart of the fifth embodiment of the vehicle version integration method provided by the embodiment of the present invention is as follows. Figure 8 As shown, the vehicle version integration method can be implemented by the following steps:
[0220] S81. Determine the label of the integrator who joins the vehicle model project based on the division of responsibilities of the integrator.
[0221] S82. Determine the interest level of each vehicle model item according to each vehicle model item.
[0222] S83. Determine the target interest level for each vehicle model item based on the interest level and the historical interest level.
[0223] S84. Determine the vehicle model to be recommended and the recommendation method according to the target interest level.
[0224] S85. Determine the module version integration combination of the vehicle model to be recommended according to the recommendation method.
[0225] S86, integrated publishing.
[0226] The following are embodiments of the device of the present invention, which can be used to implement the method embodiments of the present invention. For details not disclosed in the device embodiments of the present invention, please refer to the method embodiments of the present invention.
[0227] Fig. 9 This is a schematic diagram of the structure of the vehicle version integration device provided by an embodiment of the present invention. Fig. 9 As shown, the vehicle version integration device 90 includes:
[0228] The first determination module 91 is used to determine the working hours of each integrator for any vehicle model.
[0229] The second determination module 92 is used to determine similar integrators who are similar to the target integrator based on the historical usage records of each integrator for each module version of the software module for each software module if there is a target integrator whose working hours are less than the preset working hours.
[0230] A third determination module 93 is used to determine a target module version of the software module based on the historical usage records of each module version of the software module by similar integrators;
[0231] The integration module 94 is used to integrate the determined target module version of each software module to generate a vehicle version.
[0232] In a possible implementation, the second determining module 92 is specifically configured to:
[0233] For each software module, a first interest vector for each integrator for the software module is generated based on the historical usage records of each integrator for each module version of the software module. The first interest vector is used to indicate the integrator's interest in each module version in the software module.
[0234] According to the first interest vector of the target integrator and the first interest vectors of other integrators, the similarity between the target integrator and each other integrator is calculated.
[0235] Other integration personnel with the greatest similarity are identified as similar integration personnel.
[0236] In a possible implementation, the second determining module 92 is specifically configured to:
[0237] For any other integration personnel, a first product of the first interest vector of the target integration personnel and the first interest vectors of the other integration personnel is calculated.
[0238] Calculate the second product of the modulus of the first interest vector of the target integrator and the modulus of the first interest vectors of other integrators.
[0239] The quotient of the first product divided by the second product is determined as the similarity between the target integrator and other integrators.
[0240] In a possible implementation, the second determining module 92 is specifically configured to:
[0241] The first interest vector of the target integrator and the first interest vectors of other integrators are normalized respectively to generate the second interest vector of the target integrator and the second interest vectors of other integrators.
[0242] The component of the second interest vector of the target integrator that is smaller than a preset threshold is set as a preset value to generate a third interest vector of the target integrator.
[0243] The components of the second interest vectors of other integrated personnel that are smaller than a preset threshold are set as preset values, and the third interest vectors of other integrated personnel are generated.
[0244] Calculate the second product of the modulus of the third interest vector of the target integrator and the modulus of the third interest vectors of other integrators.
[0245] In a possible implementation, the vehicle version integration device 90 further includes a generation module, which is used to:
[0246] The preset weight vector is multiplied by the third interest vector of the target integrator to generate a fourth interest vector of the target integrator.
[0247] The preset weight vector is multiplied by the third interest vector of other integrators to generate the fourth interest vector of other integrators.
[0248] The second determining module 92 is specifically configured to:
[0249] Calculate the second product of the modulus of the fourth interest vector of the target integrator and the modulus of the fourth interest vectors of the other integrators.
[0250] In a possible implementation, the second determining module 92 is specifically configured to:
[0251] For each software module, the number of times each integrator has used each module version is determined based on the historical usage records of each integrator for each module version of the software module.
[0252] According to the number of times each integrator uses each module version, a first interest vector of each integrator is determined.
[0253] In a possible implementation, the third determining module 9393 is specifically configured to:
[0254] Based on the historical usage records of similar integrators for each module version of the software module, the number of times similar integrators have used each module version is determined.
[0255] The module version with the largest number of uses is determined as the target module version.
[0256] In a possible implementation, the second determining module 92 is specifically configured to:
[0257] The maximum similarity is determined from multiple similarities.
[0258] If the maximum similarity is greater than the preset similarity, other integration personnel corresponding to the maximum similarity are determined as similar integration personnel.
[0259] The vehicle version integration device provided in an embodiment of the present invention can be used to execute the vehicle version integration method in any of the above embodiments. Its implementation principle and technical effects are similar and will not be repeated here.
[0260] It should be noted that it should be understood that the division of the various modules of the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. And these modules can all be implemented in the form of software calling through processing elements; they can also be all implemented in the form of hardware; some modules can also be implemented in the form of software calling through processing elements, and some modules can be implemented in the form of hardware. In addition, all or part of these modules can be integrated together, or they can be implemented independently. The processing element described here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each module above can be completed by an integrated logic circuit of hardware in the processor element or instructions in the form of software.
[0261] Fig.10 Schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. Fig.10As shown, the electronic device 100 may include: a processor 101, a memory 102, and computer execution instructions stored in the memory 102 and executable on the processor 101. When the processor 101 executes the computer execution instructions, the vehicle version integration method provided in any of the aforementioned embodiments is implemented.
[0262] Optionally, the above-mentioned components of the electronic device 100 may be connected via a system bus.
[0263] The memory 102 may be a separate storage unit or a storage unit integrated in a processor. The number of processors may be one or more.
[0264] Optionally, the electronic device 100 may also include a communication interface for interacting with other devices.
[0265] It should be understood that the processor 101 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the present invention may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0266] The system bus may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus. The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage.
[0267] All or part of the steps of the above-mentioned method embodiments can be completed by hardware related to program instructions. The above-mentioned program can be stored in a readable memory. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the above-mentioned memory (storage medium) includes: read-only memory (ROM), RAM, flash memory, hard disk, solid state drive, magnetic tape, floppy disk, optical disc and any combination thereof.
[0268] The electronic device provided in an embodiment of the present invention can be used to execute the vehicle version integration method provided in any of the above method embodiments. Its implementation principles and technical effects are similar and will not be repeated here.
[0269] An embodiment of the present invention provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed on a computer, the computer executes the above-mentioned vehicle version integration method.
[0270] The computer-readable storage medium mentioned above can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory, electrically erasable programmable read-only memory, erasable programmable read-only memory, programmable read-only memory, read-only memory, magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0271] Optionally, a readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.
[0272] An embodiment of the present invention also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. At least one processor can read the computer program from the computer-readable storage medium, and the at least one processor can implement the above-mentioned vehicle version integration method when executing the computer program.
[0273] The above embodiments are only preferred embodiments for fully illustrating the present invention, and the protection scope of the present invention is not limited thereto. Any equivalent substitution or change made by a person skilled in the art based on the present invention is within the protection scope of the present invention.
Claims
1. A vehicle version integration method, characterized in that: include: For any vehicle model, determine the working hours of each integrator on the vehicle model; If there is a target integrator whose working hours are less than the preset working hours, then for each software module, based on the historical usage records of each integrator for each module version of the software module, determine similar integrators who are similar to the target integrator; Determining a target module version of the software module according to the historical usage records of the similar integrators for each module version of the software module; The determined target module version of each software module is integrated to generate a vehicle version.
2. The method according to claim 1, characterized in that For each software module, determining similar integrators who are similar to the target integrator according to the historical usage records of each integrator for each module version of the software module includes: For each software module, generating a first interest vector for each integrator for the software module according to the historical usage records of each integrator for each module version of the software module, wherein the first interest vector is used to indicate the interest of the integrator for each module version in the software module; Calculate the similarity between the target integrator and each other integrator according to the first interest vector of the target integrator and the first interest vectors of other integrators; The other integration personnel with the greatest similarity are determined as the similar integration personnel.
3. The method according to claim 2, characterized in that The calculating the similarity between the target integrator and each other integrator according to the first interest vector of the target integrator and the first interest vectors of other integrators includes: For any other integration personnel, calculating a first product of the first interest vector of the target integration personnel and the first interest vector of the other integration personnel; Calculate the second product of the modulus of the first interest vector of the target integrator and the modulus of the first interest vector of the other integrators; The quotient of the first product divided by the second product is determined as the similarity between the target integration personnel and the other integration personnel.
4. The method according to claim 3, characterized in that The calculating of the second product of the modulus of the first interest vector of the target integrator and the modulus of the first interest vector of the other integrators includes: Normalizing the first interest vector of the target integrator and the first interest vectors of the other integrators respectively to generate the second interest vector of the target integrator and the second interest vectors of the other integrators; Setting the component of the second interest vector of the target integration personnel that is smaller than a preset threshold value to a preset value, and generating a third interest vector of the target integration personnel; Setting the component of the second interest vector of the other integrator that is smaller than the preset threshold value to the preset value, and generating a third interest vector of the other integrator; Calculate the second product of the modulus of the third interest vector of the target integrator and the modulus of the third interest vector of the other integrators.
5. The method according to claim 4, characterized in that The method further comprises: Multiplying the preset weight vector by the third interest vector of the target integrator to generate a fourth interest vector of the target integrator; Multiplying the preset weight vector by the third interest vector of the other integrator to generate a fourth interest vector of the other integrator; Correspondingly, the calculating of the second product of the modulus of the third interest vector of the target integrator and the modulus of the third interest vector of the other integrators includes: Calculate a second product of the modulus of the fourth interest vector of the target integrator and the modulus of the fourth interest vector of the other integrators.
6. The method according to any one of claims 2 to 5, characterized in that: The step of generating, for each software module, a first interest vector of each integrator for the software module according to the historical usage records of each integrator for each module version of the software module, comprises: For each software module, according to the historical usage records of each integrator for each module version of the software module, determine the number of times each integrator has used each module version; According to the number of times each integrator uses each module version, a first interest vector of each integrator is determined.
7. The method according to any one of claims 1 to 5, characterized in that: Determining the target module version of the software module according to the historical usage records of the similar integrators for each module version of the software module includes: Determine the number of times each module version is used by the similar integrator according to the similar integrator; The module version with the largest number of uses is determined as the target module version.
8. The method according to any one of claims 2 to 5, characterized in that: Determining the other integration personnel with the greatest similarity as the similar integration personnel includes: Determine the greatest similarity from multiple similarities; If the maximum similarity is greater than a preset similarity, other integration personnel corresponding to the maximum similarity are determined as the similar integration personnel.
9. A vehicle version integration device, characterized in that: include: A first determination module is used to determine, for any vehicle model, the working hours of each integrator for the vehicle model; A second determination module is used to determine similar integrators who are similar to the target integrators according to the historical usage records of each integrator for each module version of the software module for each software module if there is a target integrator whose working hours are less than the preset working hours; A third determination module is used to determine the target module version of the software module according to the historical usage records of the similar integrators for each module version of the software module; The integration module is used to integrate the determined target module version of each software module to generate a vehicle version.
10. An electronic device comprising: A processor, a memory, and computer-executable instructions stored in the memory and executable on the processor, wherein the processor is used to implement the vehicle version integration method as described in any one of claims 1 to 8 when executing the computer-executable instructions.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the vehicle version integration method as described in any one of claims 1 to 8.
12. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, it is used to implement the vehicle version integration method according to any one of claims 1 to 8.